- [Contract](#contract)
- [`get_events(start_block_num, to_block_num, event_id)`](#get_eventsstart_block_num-to_block_num-event_id)
- [FunctionCoder](#functioncoder)
- [`encode_function(function_name, *args)`](#encode_functionfunction_name-args)
- [`decode_result(self, function_name, data)`](#decode_resultself-function_name-data)
- [EventDecoder](#eventdecoder)
- [`decode_event(log)`](#decode_eventlog)
# Contract
```py
from vecha import Contract
contract = Contract(endpoint, address, abi_list)
```
**Parameters**:
- **endpoint**: `str`, thor restful server
- **address**: `str`, contract address
- **abi_list**: `List[Dict]`, contract abi
Then you can call the function directly on the contract instance via the function name in abi.
The `get_events` function names are built in, so the same name function in the smart contract will not be called.
In a smart contract, the function can be a call or a transaction. A transaction must provide private key.
```py
contract.you_name(*args, caller=None, value=0) # a call
contract.you_name(*args, pk, value) # a transaction
```
You can display the transaction as a call, this may help you debug smart contract.
```py
contract.you_name.call(*args, caller=None, value=0)
```
## `get_events(start_block_num, to_block_num, event_id)`
**Parameters**:
- **start_block_num** (optional): `int`, default is from genesis block
- **to_block_num** (optional): `int`, default is to best block
- **event_id** (optional): `str`, the signature of the event you want to filter out, default is all events of this contract
**Returns**:
- `List[Event]`, A list of Events. Event is a `namedtuple`, and it has three fields:
- event.name: `str`
- event.args: `Dict`, actual parameters when the event is emited
- event.block: `int`, the block number when the event is emited
> If you want to parse a log directly, please use [`EventDecoder.decode_event`](#decode_eventlog).<br>
> If you want to get an unsigned transaction data, you can use [`FunctionCoder.encode_function`](#encode_functionfunction_name-args).
# FunctionCoder
```py
from vecha import FunctionCoder
fn_coder = FunctionCoder(*fn_abi_list)
```
## `encode_function(function_name, *args)`
**Parameters**:
- **function_name**: `str`
- **args**: variable-length argument list of actual parameters
**Returns**:
- `str`, the data of a transaction that has not been signed
## `decode_result(self, function_name, data)`
# EventDecoder
```py
from vecha import EventDecoder
ev_decoder = EventDecoder(*event_abi_list)
```
## `decode_event(log)`
**Parameters**:
- **log**: `Dict`, the result of thor restful api `/logs/event`
**Returns**:
- `Event`, Event is a `namedtuple`, and it has three fields:
- event.name: `str`
- event.args: `Dict`, actual parameters when the event is emited
- event.block: `int`, the block number when the event is emited
- [`get_events(start_block_num, to_block_num, event_id)`](#get_eventsstart_block_num-to_block_num-event_id)
- [FunctionCoder](#functioncoder)
- [`encode_function(function_name, *args)`](#encode_functionfunction_name-args)
- [`decode_result(self, function_name, data)`](#decode_resultself-function_name-data)
- [EventDecoder](#eventdecoder)
- [`decode_event(log)`](#decode_eventlog)
# Contract
```py
from vecha import Contract
contract = Contract(endpoint, address, abi_list)
```
**Parameters**:
- **endpoint**: `str`, thor restful server
- **address**: `str`, contract address
- **abi_list**: `List[Dict]`, contract abi
Then you can call the function directly on the contract instance via the function name in abi.
The `get_events` function names are built in, so the same name function in the smart contract will not be called.
In a smart contract, the function can be a call or a transaction. A transaction must provide private key.
```py
contract.you_name(*args, caller=None, value=0) # a call
contract.you_name(*args, pk, value) # a transaction
```
You can display the transaction as a call, this may help you debug smart contract.
```py
contract.you_name.call(*args, caller=None, value=0)
```
## `get_events(start_block_num, to_block_num, event_id)`
**Parameters**:
- **start_block_num** (optional): `int`, default is from genesis block
- **to_block_num** (optional): `int`, default is to best block
- **event_id** (optional): `str`, the signature of the event you want to filter out, default is all events of this contract
**Returns**:
- `List[Event]`, A list of Events. Event is a `namedtuple`, and it has three fields:
- event.name: `str`
- event.args: `Dict`, actual parameters when the event is emited
- event.block: `int`, the block number when the event is emited
> If you want to parse a log directly, please use [`EventDecoder.decode_event`](#decode_eventlog).<br>
> If you want to get an unsigned transaction data, you can use [`FunctionCoder.encode_function`](#encode_functionfunction_name-args).
# FunctionCoder
```py
from vecha import FunctionCoder
fn_coder = FunctionCoder(*fn_abi_list)
```
## `encode_function(function_name, *args)`
**Parameters**:
- **function_name**: `str`
- **args**: variable-length argument list of actual parameters
**Returns**:
- `str`, the data of a transaction that has not been signed
## `decode_result(self, function_name, data)`
# EventDecoder
```py
from vecha import EventDecoder
ev_decoder = EventDecoder(*event_abi_list)
```
## `decode_event(log)`
**Parameters**:
- **log**: `Dict`, the result of thor restful api `/logs/event`
**Returns**:
- `Event`, Event is a `namedtuple`, and it has three fields:
- event.name: `str`
- event.args: `Dict`, actual parameters when the event is emited
- event.block: `int`, the block number when the event is emited
Metadata
Release files for vecha 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vecha-0.0.1.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vecha-0.0.1-py36-none-any.whl | Python 3.6 | none | any | Details |
Total release size: 33.3 kB
Release files / vecha-0.0.1.tar.gz
| Download URL | vecha-0.0.1.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5afc2cebe03096136942f7599153d014163d1c3b84ba37e73b216f0bcffd7a1a
|
|
BLAKE2b-256 checksum How to use checksums |
f56323131b3ac31bc2c1c53cae6202568f5d0dc6767793270cdfd047ee39d8c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
|
Release files / vecha-0.0.1-py36-none-any.whl
| Download URL | vecha-0.0.1-py36-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3.6 |
|
SHA-256 checksum How to use checksums |
8bd2db8eb9023de976dff7f71a66977c59492f0bd09ef64bd573063746e12f61
|
|
BLAKE2b-256 checksum How to use checksums |
023988923a4f159156fd59152fe5595e519116b7809cc4c4ba3a908f55aca897
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
|