Skip to content

Commit 66f0f32

Browse files
flopez7portuu3
andauthored
[CORE][SDK] Remove allocation from Staking contract (#2651)
* Remove allocation from Staking contract and update SDK * Updated subgraph tests * Added withdrawFees to staking events * enable staking events as main trx * Update SDKs with the new transaction format * Update Makefile * Update docker-compose.yml * Remove event tests for the events that have been removed * Contracts upgrade * Contracts upgrade * Refactor Job Launcher to remove allocation * Improve Staking and Escrow contracts * Fix failing tests in python SDK --------- Co-authored-by: portuu3 <[email protected]>
1 parent d3e94b3 commit 66f0f32

File tree

141 files changed

+2277
-6372
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+2277
-6372
lines changed

docs/sdk/python/human_protocol_sdk.escrow.escrow_client.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Adds an array of addresses to the trusted handlers list.
119119
)
120120
```
121121

122-
#### bulk_payout(escrow_address, recipients, amounts, final_results_url, final_results_hash, txId, tx_options=None)
122+
#### bulk_payout(escrow_address, recipients, amounts, final_results_url, final_results_hash, txId, force_complete=False, tx_options=None)
123123

124124
Pays out the amounts specified to the workers and sets the URL of the final results file.
125125

@@ -130,6 +130,7 @@ Pays out the amounts specified to the workers and sets the URL of the final resu
130130
* **final_results_url** (`str`) – Final results file url
131131
* **final_results_hash** (`str`) – Final results file hash
132132
* **txId** (`Decimal`) – Serial number of the bulks
133+
* **force_complete** (`Optional`[`bool`]) – (Optional) Indicates if remaining balance should be transferred to the escrow creator
133134
* **tx_options** (`Optional`[`TxParams`]) – (Optional) Additional transaction parameters
134135
* **Return type:**
135136
`None`

docs/sdk/python/human_protocol_sdk.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,11 @@
5454
* [Module](human_protocol_sdk.kvstore.kvstore_client.md#module)
5555
* [`KVStoreClient`](human_protocol_sdk.kvstore.kvstore_client.md#human_protocol_sdk.kvstore.kvstore_client.KVStoreClient)
5656
* [`KVStoreClientError`](human_protocol_sdk.kvstore.kvstore_client.md#human_protocol_sdk.kvstore.kvstore_client.KVStoreClientError)
57-
<<<<<<< HEAD
5857
* [human_protocol_sdk.kvstore.kvstore_utils module](human_protocol_sdk.kvstore.kvstore_utils.md)
5958
* [Code Example](human_protocol_sdk.kvstore.kvstore_utils.md#code-example)
6059
* [Module](human_protocol_sdk.kvstore.kvstore_utils.md#module)
6160
* [`KVStoreData`](human_protocol_sdk.kvstore.kvstore_utils.md#human_protocol_sdk.kvstore.kvstore_utils.KVStoreData)
6261
* [`KVStoreUtils`](human_protocol_sdk.kvstore.kvstore_utils.md#human_protocol_sdk.kvstore.kvstore_utils.KVStoreUtils)
63-
=======
6462
* [human_protocol_sdk.kvstore.kvstore_utils module](human_protocol_sdk.kvstore.kvstore_utils.md)
6563
* [Code Example](human_protocol_sdk.kvstore.kvstore_utils.md#code-example)
6664
* [Module](human_protocol_sdk.kvstore.kvstore_utils.md#module)
@@ -71,7 +69,6 @@
7169
* [`KVStoreUtils.get_file_url_and_verify_hash()`](human_protocol_sdk.kvstore.kvstore_utils.md#human_protocol_sdk.kvstore.kvstore_utils.KVStoreUtils.get_file_url_and_verify_hash)
7270
* [`KVStoreUtils.get_kvstore_data()`](human_protocol_sdk.kvstore.kvstore_utils.md#human_protocol_sdk.kvstore.kvstore_utils.KVStoreUtils.get_kvstore_data)
7371
* [`KVStoreUtils.get_public_key()`](human_protocol_sdk.kvstore.kvstore_utils.md#human_protocol_sdk.kvstore.kvstore_utils.KVStoreUtils.get_public_key)
74-
>>>>>>> develop
7572
* [human_protocol_sdk.operator package](human_protocol_sdk.operator.md)
7673
* [Submodules](human_protocol_sdk.operator.md#submodules)
7774
* [human_protocol_sdk.operator.operator_utils module](human_protocol_sdk.operator.operator_utils.md)
@@ -88,7 +85,6 @@
8885
* [human_protocol_sdk.staking.staking_client module](human_protocol_sdk.staking.staking_client.md)
8986
* [Code Example](human_protocol_sdk.staking.staking_client.md#code-example)
9087
* [Module](human_protocol_sdk.staking.staking_client.md#module)
91-
* [`AllocationData`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.AllocationData)
9288
* [`StakingClient`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient)
9389
* [`StakingClientError`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClientError)
9490
* [human_protocol_sdk.statistics package](human_protocol_sdk.statistics.md)
@@ -124,13 +120,10 @@
124120
* [human_protocol_sdk.transaction.transaction_utils module](human_protocol_sdk.transaction.transaction_utils.md)
125121
* [Code Example](human_protocol_sdk.transaction.transaction_utils.md#code-example)
126122
* [Module](human_protocol_sdk.transaction.transaction_utils.md#module)
123+
* [`InternalTransaction`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.InternalTransaction)
127124
* [`TransactionData`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionData)
128125
* [`TransactionUtils`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtils)
129126
* [`TransactionUtilsError`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtilsError)
130-
<<<<<<< HEAD
131-
* [`Transfer`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.Transfer)
132-
=======
133-
>>>>>>> develop
134127

135128
## Submodules
136129

@@ -211,7 +204,6 @@
211204
* [`get_factory_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_factory_interface)
212205
* [`get_hmt_balance()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_hmt_balance)
213206
* [`get_kvstore_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_kvstore_interface)
214-
* [`get_reward_pool_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_reward_pool_interface)
215207
* [`get_staking_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_staking_interface)
216208
* [`handle_transaction()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.handle_transaction)
217209
* [`parse_transfer_transaction()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.parse_transfer_transaction)

docs/sdk/python/human_protocol_sdk.operator.operator_utils.md

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,11 @@ print(
1717

1818
## Module
1919

20-
<<<<<<< HEAD
21-
<<<<<<< HEAD
2220
### *class* human_protocol_sdk.operator.operator_utils.LeaderData(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None, registration_needed=None, registration_instructions=None, reputation_networks=None)
2321

2422
Bases: `object`
2523

2624
#### \_\_init_\_(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None, registration_needed=None, registration_instructions=None, reputation_networks=None)
27-
=======
28-
### *class* human_protocol_sdk.operator.operator_utils.LeaderData(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None)
29-
30-
Bases: `object`
31-
32-
#### \_\_init_\_(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None)
33-
>>>>>>> parent of cc79357b2 ([Subgraph][SDK] Add registration data to leaders entity (#2451))
34-
=======
35-
### *class* human_protocol_sdk.operator.operator_utils.LeaderData(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reputation, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None, registration_needed=None, registration_instructions=None)
36-
37-
Bases: `object`
38-
39-
#### \_\_init_\_(chain_id, id, address, amount_staked, amount_allocated, amount_locked, locked_until_timestamp, amount_withdrawn, amount_slashed, reputation, reward, amount_jobs_processed, role=None, fee=None, public_key=None, webhook_url=None, url=None, job_types=None, registration_needed=None, registration_instructions=None)
40-
>>>>>>> develop
4125

4226
Initializes an LeaderData instance.
4327

@@ -59,17 +43,9 @@ Initializes an LeaderData instance.
5943
* **webhook_url** (`Optional`[`str`]) – Webhook url
6044
* **url** (`Optional`[`str`]) – Url
6145
* **job_types** (`Optional`[`List`[`str`]]) – Job types
62-
<<<<<<< HEAD
63-
<<<<<<< HEAD
46+
* **registration_needed** (`Optional`[`bool`]) – True
47+
* **registration_instructions** (`Optional`[`str`]) – Instructions url
6448
* **reputation_networks** (`Optional`[`List`[`str`]]) – List of reputation networks
65-
* **registration_needed** (`Optional`[`bool`]) – True,
66-
* **registration_instructions** (`Optional`[`str`]) – Instructions url,
67-
=======
68-
>>>>>>> parent of cc79357b2 ([Subgraph][SDK] Add registration data to leaders entity (#2451))
69-
=======
70-
* **registration_needed** (`Optional`[`bool`]) – True,
71-
* **registration_instructions** (`Optional`[`str`]) – Instructions url,
72-
>>>>>>> develop
7349

7450
### *class* human_protocol_sdk.operator.operator_utils.LeaderFilter(chain_id, role=None)
7551

docs/sdk/python/human_protocol_sdk.staking.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,9 @@ obtain staking information from both the contracts and subgraph.
88
* [human_protocol_sdk.staking.staking_client module](human_protocol_sdk.staking.staking_client.md)
99
* [Code Example](human_protocol_sdk.staking.staking_client.md#code-example)
1010
* [Module](human_protocol_sdk.staking.staking_client.md#module)
11-
* [`AllocationData`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.AllocationData)
12-
* [`AllocationData.__init__()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.AllocationData.__init__)
1311
* [`StakingClient`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient)
1412
* [`StakingClient.__init__()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.__init__)
15-
* [`StakingClient.allocate()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.allocate)
1613
* [`StakingClient.approve_stake()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.approve_stake)
17-
* [`StakingClient.close_allocation()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.close_allocation)
18-
* [`StakingClient.distribute_reward()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.distribute_reward)
19-
* [`StakingClient.get_allocation()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.get_allocation)
2014
* [`StakingClient.slash()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.slash)
2115
* [`StakingClient.stake()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.stake)
2216
* [`StakingClient.unstake()`](human_protocol_sdk.staking.staking_client.md#human_protocol_sdk.staking.staking_client.StakingClient.unstake)

docs/sdk/python/human_protocol_sdk.staking.staking_client.md

Lines changed: 1 addition & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -48,26 +48,11 @@ staking_client = StakingClient(w3)
4848

4949
## Module
5050

51-
### *class* human_protocol_sdk.staking.staking_client.AllocationData(escrow_address, staker, tokens, created_at, closed_at)
52-
53-
Bases: `object`
54-
55-
#### \_\_init_\_(escrow_address, staker, tokens, created_at, closed_at)
56-
57-
Initializes an AllocationData instance.
58-
59-
* **Parameters:**
60-
* **escrow_address** (`str`) – Escrow address
61-
* **staker** (`str`) – Staker address
62-
* **tokens** (`str`) – Amount allocated
63-
* **created_at** (`str`) – Creation date
64-
* **closed_at** (`str`) – Closing date
65-
6651
### *class* human_protocol_sdk.staking.staking_client.StakingClient(w3)
6752

6853
Bases: `object`
6954

70-
A class used to manage staking, and allocation on the HUMAN network.
55+
A class used to manage staking on the HUMAN network.
7156

7257
#### \_\_init_\_(w3)
7358

@@ -76,48 +61,6 @@ Initializes a Staking instance
7661
* **Parameters:**
7762
**w3** (`Web3`) – Web3 instance
7863

79-
#### allocate(escrow_address, amount, tx_options=None)
80-
81-
Allocates HMT token to the escrow.
82-
83-
* **Parameters:**
84-
* **escrow_address** (`str`) – Address of the escrow
85-
* **amount** (`Decimal`) – Amount to allocate
86-
* **tx_options** (`Optional`[`TxParams`]) – (Optional) Additional transaction parameters
87-
* **Return type:**
88-
`None`
89-
* **Returns:**
90-
None
91-
* **Validate:**
92-
- Amount must be greater than 0
93-
- Escrow address must be valid
94-
- Amount must be less than or equal to the staked amount (on-chain)
95-
* **Example:**
96-
```python
97-
from eth_typing import URI
98-
from web3 import Web3
99-
from web3.middleware import construct_sign_and_send_raw_middleware
100-
from web3.providers.auto import load_provider_from_uri
101-
102-
from human_protocol_sdk.staking import StakingClient
103-
104-
def get_w3_with_priv_key(priv_key: str):
105-
w3 = Web3(load_provider_from_uri(URI("http://localhost:8545")))
106-
gas_payer = w3.eth.account.from_key(priv_key)
107-
w3.eth.default_account = gas_payer.address
108-
w3.middleware_onion.add(
109-
construct_sign_and_send_raw_middleware(gas_payer),
110-
"construct_sign_and_send_raw_middleware",
111-
)
112-
return (w3, gas_payer)
113-
114-
(w3, gas_payer) = get_w3_with_priv_key('YOUR_PRIVATE_KEY')
115-
staking_client = StakingClient(w3)
116-
117-
amount = Web3.to_wei(5, 'ether') # convert from ETH to WEI
118-
staking_client.allocate('0x62dD51230A30401C455c8398d06F85e4EaB6309f', amount)
119-
```
120-
12164
#### approve_stake(amount, tx_options=None)
12265

12366
Approves HMT token for Staking.
@@ -157,109 +100,6 @@ Approves HMT token for Staking.
157100
staking_client.approve_stake(amount)
158101
```
159102

160-
#### close_allocation(escrow_address, tx_options=None)
161-
162-
Closes allocated HMT token from the escrow.
163-
164-
* **Parameters:**
165-
* **escrow_address** (`str`) – Address of the escrow
166-
* **tx_options** (`Optional`[`TxParams`]) – (Optional) Additional transaction parameters
167-
* **Return type:**
168-
`None`
169-
* **Returns:**
170-
None
171-
* **Validate:**
172-
- Escrow address must be valid
173-
- Escrow should be cancelled / completed (on-chain)
174-
* **Example:**
175-
```python
176-
from eth_typing import URI
177-
from web3 import Web3
178-
from web3.middleware import construct_sign_and_send_raw_middleware
179-
from web3.providers.auto import load_provider_from_uri
180-
181-
from human_protocol_sdk.staking import StakingClient
182-
183-
def get_w3_with_priv_key(priv_key: str):
184-
w3 = Web3(load_provider_from_uri(URI("http://localhost:8545")))
185-
gas_payer = w3.eth.account.from_key(priv_key)
186-
w3.eth.default_account = gas_payer.address
187-
w3.middleware_onion.add(
188-
construct_sign_and_send_raw_middleware(gas_payer),
189-
"construct_sign_and_send_raw_middleware",
190-
)
191-
return (w3, gas_payer)
192-
193-
(w3, gas_payer) = get_w3_with_priv_key('YOUR_PRIVATE_KEY')
194-
staking_client = StakingClient(w3)
195-
196-
staking_client.close_allocation('0x62dD51230A30401C455c8398d06F85e4EaB6309f')
197-
```
198-
199-
#### distribute_reward(escrow_address, tx_options=None)
200-
201-
Pays out rewards to the slashers for the specified escrow address.
202-
203-
* **Parameters:**
204-
* **escrow_address** (`str`) – Address of the escrow
205-
* **tx_options** (`Optional`[`TxParams`]) – (Optional) Additional transaction parameters
206-
* **Return type:**
207-
`None`
208-
* **Returns:**
209-
None
210-
* **Validate:**
211-
- Escrow address must be valid
212-
* **Example:**
213-
```python
214-
from eth_typing import URI
215-
from web3 import Web3
216-
from web3.middleware import construct_sign_and_send_raw_middleware
217-
from web3.providers.auto import load_provider_from_uri
218-
219-
from human_protocol_sdk.staking import StakingClient
220-
221-
def get_w3_with_priv_key(priv_key: str):
222-
w3 = Web3(load_provider_from_uri(URI("http://localhost:8545")))
223-
gas_payer = w3.eth.account.from_key(priv_key)
224-
w3.eth.default_account = gas_payer.address
225-
w3.middleware_onion.add(
226-
construct_sign_and_send_raw_middleware(gas_payer),
227-
"construct_sign_and_send_raw_middleware",
228-
)
229-
return (w3, gas_payer)
230-
231-
(w3, gas_payer) = get_w3_with_priv_key('YOUR_PRIVATE_KEY')
232-
staking_client = StakingClient(w3)
233-
234-
staking_client.distribute_reward('0x62dD51230A30401C455c8398d06F85e4EaB6309f')
235-
```
236-
237-
#### get_allocation(escrow_address)
238-
239-
Gets the allocation info for the specified escrow.
240-
241-
* **Parameters:**
242-
**escrow_address** (`str`) – Address of the escrow
243-
* **Return type:**
244-
`Optional`[[`AllocationData`](#human_protocol_sdk.staking.staking_client.AllocationData)]
245-
* **Returns:**
246-
Allocation info if escrow exists, otherwise None
247-
* **Example:**
248-
```python
249-
from eth_typing import URI
250-
from web3 import Web3
251-
from web3.providers.auto import load_provider_from_uri
252-
253-
from human_protocol_sdk.staking import StakingClient
254-
255-
w3 = Web3(load_provider_from_uri(URI("http://localhost:8545")))
256-
staking_client = StakingClient(w3)
257-
258-
allocation = staking_client.get_allocation(
259-
'0x62dD51230A30401C455c8398d06F85e4EaB6309f'
260-
)
261-
```
262-
263103
#### slash(slasher, staker, escrow_address, amount, tx_options=None)
264104

265105
Slashes HMT token.

docs/sdk/python/human_protocol_sdk.transaction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ both the contracts and subgraph.
88
* [human_protocol_sdk.transaction.transaction_utils module](human_protocol_sdk.transaction.transaction_utils.md)
99
* [Code Example](human_protocol_sdk.transaction.transaction_utils.md#code-example)
1010
* [Module](human_protocol_sdk.transaction.transaction_utils.md#module)
11+
* [`InternalTransaction`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.InternalTransaction)
12+
* [`InternalTransaction.__init__()`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.InternalTransaction.__init__)
1113
* [`TransactionData`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionData)
1214
* [`TransactionData.__init__()`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionData.__init__)
1315
* [`TransactionUtils`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtils)
1416
* [`TransactionUtils.get_transaction()`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtils.get_transaction)
1517
* [`TransactionUtils.get_transactions()`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtils.get_transactions)
1618
* [`TransactionUtilsError`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.TransactionUtilsError)
17-
* [`Transfer`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.Transfer)
18-
* [`Transfer.__init__()`](human_protocol_sdk.transaction.transaction_utils.md#human_protocol_sdk.transaction.transaction_utils.Transfer.__init__)

docs/sdk/python/human_protocol_sdk.transaction.transaction_utils.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,17 @@ print(
2323

2424
## Module
2525

26-
### *class* human_protocol_sdk.transaction.transaction_utils.TransactionData(chain_id, block, tx_hash, from_address, to_address, timestamp, value, method, transfers)
26+
### *class* human_protocol_sdk.transaction.transaction_utils.InternalTransaction(from_address, to_address, value, method, receiver, escrow, token)
2727

2828
Bases: `object`
2929

30-
#### \_\_init_\_(chain_id, block, tx_hash, from_address, to_address, timestamp, value, method, transfers)
30+
#### \_\_init_\_(from_address, to_address, value, method, receiver, escrow, token)
31+
32+
### *class* human_protocol_sdk.transaction.transaction_utils.TransactionData(chain_id, block, tx_hash, from_address, to_address, timestamp, value, method, receiver, escrow, token, internal_transactions)
33+
34+
Bases: `object`
35+
36+
#### \_\_init_\_(chain_id, block, tx_hash, from_address, to_address, timestamp, value, method, receiver, escrow, token, internal_transactions)
3137

3238
### *class* human_protocol_sdk.transaction.transaction_utils.TransactionUtils
3339

@@ -92,9 +98,3 @@ Get an array of transactions based on the specified filter parameters.
9298
Bases: `Exception`
9399

94100
Raises when some error happens when getting data from subgraph.
95-
96-
### *class* human_protocol_sdk.transaction.transaction_utils.Transfer(from_address, to_address, value)
97-
98-
Bases: `object`
99-
100-
#### \_\_init_\_(from_address, to_address, value)

0 commit comments

Comments
 (0)