Skip to content

Commit 7081d52

Browse files
committed
Merge branch 'develop' into feat/sdk/remove-aurora
2 parents 61aec7f + 4a5f2d5 commit 7081d52

File tree

122 files changed

+2043
-1142
lines changed

Some content is hidden

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

122 files changed

+2043
-1142
lines changed

docs/sdk/changelog.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
# Changelog
22

33
### Added
4+
- new optional config for querying subgraph with retries when failuers are due to bad indexers errors
45

56
### Changed
67

7-
- Relaxed several SDK return types (EscrowUtils, OperatorUtils, TransactionUtils, WorkerUtils) to allow `null` when a subgraph entity does not exist.
8-
- EscrowUtils.getEscrow now includes `chainId` in the returned object.
9-
108
### Deprecated
119

1210
### Removed

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

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,14 @@ Bases: `object`
8080

8181
A utility class that provides additional escrow-related functionalities.
8282

83-
#### *static* get_cancellation_refund(chain_id, escrow_address)
83+
#### *static* get_cancellation_refund(chain_id, escrow_address, options=None)
8484

8585
Returns the cancellation refund for a given escrow address.
8686

8787
* **Parameters:**
8888
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the escrow has been deployed
8989
* **escrow_address** (`str`) – Address of the escrow
90+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
9091
* **Return type:**
9192
[`CancellationRefund`](#human_protocol_sdk.escrow.escrow_utils.CancellationRefund)
9293
* **Returns:**
@@ -104,26 +105,28 @@ Returns the cancellation refund for a given escrow address.
104105
)
105106
```
106107

107-
#### *static* get_cancellation_refunds(filter)
108+
#### *static* get_cancellation_refunds(filter, options=None)
108109

109110
Fetch cancellation refunds from the subgraph based on the provided filter.
110111

111112
* **Parameters:**
112-
**filter** ([`CancellationRefundFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.CancellationRefundFilter)) – Object containing all the necessary parameters to filter cancellation refunds.
113+
* **filter** ([`CancellationRefundFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.CancellationRefundFilter)) – Object containing all the necessary parameters to filter cancellation refunds.
114+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
113115
* **Return List[CancellationRefund]:**
114116
List of cancellation refunds matching the query parameters.
115117
* **Raises:**
116118
[**EscrowClientError**](human_protocol_sdk.escrow.escrow_client.md#human_protocol_sdk.escrow.escrow_client.EscrowClientError) – If an unsupported chain ID or invalid addresses are provided.
117119
* **Return type:**
118120
`List`[[`CancellationRefund`](#human_protocol_sdk.escrow.escrow_utils.CancellationRefund)]
119121

120-
#### *static* get_escrow(chain_id, escrow_address)
122+
#### *static* get_escrow(chain_id, escrow_address, options=None)
121123

122124
Returns the escrow for a given address.
123125

124126
* **Parameters:**
125127
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the escrow has been deployed
126128
* **escrow_address** (`str`) – Address of the escrow
129+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
127130
* **Return type:**
128131
`Optional`[[`EscrowData`](#human_protocol_sdk.escrow.escrow_utils.EscrowData)]
129132
* **Returns:**
@@ -141,12 +144,13 @@ Returns the escrow for a given address.
141144
)
142145
```
143146

144-
#### *static* get_escrows(filter)
147+
#### *static* get_escrows(filter, options=None)
145148

146149
Get an array of escrow addresses based on the specified filter parameters.
147150

148151
* **Parameters:**
149-
**filter** ([`EscrowFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.EscrowFilter)) – Object containing all the necessary parameters to filter
152+
* **filter** ([`EscrowFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.EscrowFilter)) – Object containing all the necessary parameters to filter
153+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
150154
* **Return type:**
151155
`List`[[`EscrowData`](#human_protocol_sdk.escrow.escrow_utils.EscrowData)]
152156
* **Returns:**
@@ -168,25 +172,27 @@ Get an array of escrow addresses based on the specified filter parameters.
168172
)
169173
```
170174

171-
#### *static* get_payouts(filter)
175+
#### *static* get_payouts(filter, options=None)
172176

173177
Fetch payouts from the subgraph based on the provided filter.
174178

175179
* **Parameters:**
176-
**filter** ([`PayoutFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.PayoutFilter)) – Object containing all the necessary parameters to filter payouts.
180+
* **filter** ([`PayoutFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.PayoutFilter)) – Object containing all the necessary parameters to filter payouts.
181+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
177182
* **Return List[Payout]:**
178183
List of payouts matching the query parameters.
179184
* **Raises:**
180185
[**EscrowClientError**](human_protocol_sdk.escrow.escrow_client.md#human_protocol_sdk.escrow.escrow_client.EscrowClientError) – If an unsupported chain ID or invalid addresses are provided.
181186
* **Return type:**
182187
`List`[[`Payout`](#human_protocol_sdk.escrow.escrow_utils.Payout)]
183188

184-
#### *static* get_status_events(filter)
189+
#### *static* get_status_events(filter, options=None)
185190

186191
Retrieve status events for specified networks and statuses within a date range.
187192

188193
* **Parameters:**
189-
**filter** ([`StatusEventFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatusEventFilter)) – Object containing all the necessary parameters to filter status events.
194+
* **filter** ([`StatusEventFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatusEventFilter)) – Object containing all the necessary parameters to filter status events.
195+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
190196
* **Return List[StatusEvent]:**
191197
List of status events matching the query parameters.
192198
* **Raises:**

docs/sdk/python/human_protocol_sdk.kvstore.kvstore_utils.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,15 @@ Bases: `object`
3636

3737
A utility class that provides additional KVStore-related functionalities.
3838

39-
#### *static* get(chain_id, address, key)
39+
#### *static* get(chain_id, address, key, options=None)
4040

4141
Gets the value of a key-value pair in the contract.
4242

4343
* **Parameters:**
4444
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the KVStore data has been deployed
4545
* **address** (`str`) – The Ethereum address associated with the key-value pair
4646
* **key** (`str`) – The key of the key-value pair to get
47+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
4748
* **Return type:**
4849
`str`
4950
* **Returns:**
@@ -61,14 +62,15 @@ Gets the value of a key-value pair in the contract.
6162
print(result)
6263
```
6364

64-
#### *static* get_file_url_and_verify_hash(chain_id, address, key='url')
65+
#### *static* get_file_url_and_verify_hash(chain_id, address, key='url', options=None)
6566

6667
Gets the URL value of the given entity, and verify its hash.
6768

6869
* **Parameters:**
6970
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the KVStore data has been deployed
7071
* **address** (`str`) – Address from which to get the URL value.
7172
* **key** (`Optional`[`str`]) – Configurable URL key. url by default.
73+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
7274
* **Return url:**
7375
The URL value of the given address if exists, and the content is valid
7476
* **Example:**
@@ -85,13 +87,14 @@ Gets the URL value of the given entity, and verify its hash.
8587
* **Return type:**
8688
`str`
8789

88-
#### *static* get_kvstore_data(chain_id, address)
90+
#### *static* get_kvstore_data(chain_id, address, options=None)
8991

9092
Returns the KVStore data for a given address.
9193

9294
* **Parameters:**
9395
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the KVStore data has been deployed
9496
* **address** (`str`) – Address of the KVStore
97+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
9598
* **Return type:**
9699
`Optional`[`List`[[`KVStoreData`](#human_protocol_sdk.kvstore.kvstore_utils.KVStoreData)]]
97100
* **Returns:**

docs/sdk/python/human_protocol_sdk.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,16 +204,20 @@
204204
* [`Encryption.is_encrypted()`](human_protocol_sdk.legacy_encryption.md#human_protocol_sdk.legacy_encryption.Encryption.is_encrypted)
205205
* [`InvalidPublicKey`](human_protocol_sdk.legacy_encryption.md#human_protocol_sdk.legacy_encryption.InvalidPublicKey)
206206
* [human_protocol_sdk.utils module](human_protocol_sdk.utils.md)
207+
* [`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)
208+
* [`SubgraphOptions.__init__()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions.__init__)
209+
* [`SubgraphOptions.base_delay`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions.base_delay)
210+
* [`SubgraphOptions.max_retries`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions.max_retries)
211+
* [`custom_gql_fetch()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.custom_gql_fetch)
207212
* [`get_contract_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_contract_interface)
208-
* [`get_data_from_subgraph()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_data_from_subgraph)
209213
* [`get_erc20_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_erc20_interface)
210214
* [`get_escrow_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_escrow_interface)
211215
* [`get_factory_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_factory_interface)
212216
* [`get_hmt_balance()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_hmt_balance)
213217
* [`get_kvstore_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_kvstore_interface)
214218
* [`get_staking_interface()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.get_staking_interface)
215219
* [`handle_error()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.handle_error)
220+
* [`is_indexer_error()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.is_indexer_error)
216221
* [`parse_transfer_transaction()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.parse_transfer_transaction)
217222
* [`validate_json()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.validate_json)
218223
* [`validate_url()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.validate_url)
219-
* [`with_retry()`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.with_retry)

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,14 @@ Bases: `object`
7373

7474
A utility class that provides additional operator-related functionalities.
7575

76-
#### *static* get_operator(chain_id, operator_address)
76+
#### *static* get_operator(chain_id, operator_address, options=None)
7777

7878
Gets the operator details.
7979

8080
* **Parameters:**
8181
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the operator exists
8282
* **operator_address** (`str`) – Address of the operator
83+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
8384
* **Return type:**
8485
`Optional`[[`OperatorData`](#human_protocol_sdk.operator.operator_utils.OperatorData)]
8586
* **Returns:**
@@ -96,12 +97,13 @@ Gets the operator details.
9697
print(operator_data)
9798
```
9899

99-
#### *static* get_operators(filter)
100+
#### *static* get_operators(filter, options=None)
100101

101102
Get operators data of the protocol.
102103

103104
* **Parameters:**
104-
**filter** ([`OperatorFilter`](#human_protocol_sdk.operator.operator_utils.OperatorFilter)) – Operator filter
105+
* **filter** ([`OperatorFilter`](#human_protocol_sdk.operator.operator_utils.OperatorFilter)) – Operator filter
106+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
105107
* **Return type:**
106108
`List`[[`OperatorData`](#human_protocol_sdk.operator.operator_utils.OperatorData)]
107109
* **Returns:**
@@ -118,14 +120,15 @@ Get operators data of the protocol.
118120
)
119121
```
120122

121-
#### *static* get_reputation_network_operators(chain_id, address, role=None)
123+
#### *static* get_reputation_network_operators(chain_id, address, role=None, options=None)
122124

123125
Get the reputation network operators of the specified address.
124126

125127
* **Parameters:**
126128
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the reputation network exists
127129
* **address** (`str`) – Address of the reputation oracle
128130
* **role** (`Optional`[`str`]) – (Optional) Role of the operator
131+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
129132
* **Return type:**
130133
`List`[[`OperatorData`](#human_protocol_sdk.operator.operator_utils.OperatorData)]
131134
* **Returns:**
@@ -142,13 +145,14 @@ Get the reputation network operators of the specified address.
142145
print(operators)
143146
```
144147

145-
#### *static* get_rewards_info(chain_id, slasher)
148+
#### *static* get_rewards_info(chain_id, slasher, options=None)
146149

147150
Get rewards of the given slasher.
148151

149152
* **Parameters:**
150153
* **chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Network in which the slasher exists
151154
* **slasher** (`str`) – Address of the slasher
155+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
152156
* **Return type:**
153157
`List`[[`RewardData`](#human_protocol_sdk.operator.operator_utils.RewardData)]
154158
* **Returns:**

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ Bases: `object`
3434

3535
Bases: `object`
3636

37-
#### *static* get_staker(chain_id, address)
37+
#### *static* get_staker(chain_id, address, options=None)
3838

3939
* **Return type:**
4040
`Optional`[[`StakerData`](#human_protocol_sdk.staking.staking_utils.StakerData)]
4141

42-
#### *static* get_stakers(filter)
42+
#### *static* get_stakers(filter, options=None)
4343

4444
* **Return type:**
4545
`List`[[`StakerData`](#human_protocol_sdk.staking.staking_utils.StakerData)]

docs/sdk/python/human_protocol_sdk.statistics.statistics_client.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,13 @@ Initializes a Statistics instance
161161
* **Parameters:**
162162
**chain_id** ([`ChainId`](human_protocol_sdk.constants.md#human_protocol_sdk.constants.ChainId)) – Chain ID to get statistical data from
163163

164-
#### get_escrow_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>)
164+
#### get_escrow_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>, options=None)
165165

166166
Get escrow statistics data for the given date range.
167167

168168
* **Parameters:**
169-
**filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
169+
* **filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
170+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
170171
* **Return type:**
171172
[`EscrowStatistics`](#human_protocol_sdk.statistics.statistics_client.EscrowStatistics)
172173
* **Returns:**
@@ -190,12 +191,13 @@ Get escrow statistics data for the given date range.
190191
)
191192
```
192193

193-
#### get_hmt_daily_data(filter=<human_protocol_sdk.filter.StatisticsFilter object>)
194+
#### get_hmt_daily_data(filter=<human_protocol_sdk.filter.StatisticsFilter object>, options=None)
194195

195196
Get HMT daily statistics data for the given date range.
196197

197198
* **Parameters:**
198-
**filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
199+
* **filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
200+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
199201
* **Return type:**
200202
`List`[[`DailyHMTData`](#human_protocol_sdk.statistics.statistics_client.DailyHMTData)]
201203
* **Returns:**
@@ -218,12 +220,13 @@ Get HMT daily statistics data for the given date range.
218220
)
219221
```
220222

221-
#### get_hmt_holders(param=<human_protocol_sdk.statistics.statistics_client.HMTHoldersParam object>)
223+
#### get_hmt_holders(param=<human_protocol_sdk.statistics.statistics_client.HMTHoldersParam object>, options=None)
222224

223225
Get HMT holders data with optional filters and ordering.
224226

225227
* **Parameters:**
226-
**param** ([`HMTHoldersParam`](#human_protocol_sdk.statistics.statistics_client.HMTHoldersParam)) – Object containing filter and order parameters
228+
* **param** ([`HMTHoldersParam`](#human_protocol_sdk.statistics.statistics_client.HMTHoldersParam)) – Object containing filter and order parameters
229+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
227230
* **Return type:**
228231
`List`[[`HMTHolder`](#human_protocol_sdk.statistics.statistics_client.HMTHolder)]
229232
* **Returns:**
@@ -246,10 +249,12 @@ Get HMT holders data with optional filters and ordering.
246249
)
247250
```
248251

249-
#### get_hmt_statistics()
252+
#### get_hmt_statistics(options=None)
250253

251254
Get HMT statistics data.
252255

256+
* **Parameters:**
257+
**options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
253258
* **Return type:**
254259
[`HMTStatistics`](#human_protocol_sdk.statistics.statistics_client.HMTStatistics)
255260
* **Returns:**
@@ -264,12 +269,13 @@ Get HMT statistics data.
264269
print(statistics_client.get_hmt_statistics())
265270
```
266271

267-
#### get_payment_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>)
272+
#### get_payment_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>, options=None)
268273

269274
Get payment statistics data for the given date range.
270275

271276
* **Parameters:**
272-
**filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
277+
* **filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
278+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
273279
* **Return type:**
274280
[`PaymentStatistics`](#human_protocol_sdk.statistics.statistics_client.PaymentStatistics)
275281
* **Returns:**
@@ -293,12 +299,13 @@ Get payment statistics data for the given date range.
293299
)
294300
```
295301

296-
#### get_worker_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>)
302+
#### get_worker_statistics(filter=<human_protocol_sdk.filter.StatisticsFilter object>, options=None)
297303

298304
Get worker statistics data for the given date range.
299305

300306
* **Parameters:**
301-
**filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
307+
* **filter** ([`StatisticsFilter`](human_protocol_sdk.filter.md#human_protocol_sdk.filter.StatisticsFilter)) – Object containing the date range
308+
* **options** (`Optional`[[`SubgraphOptions`](human_protocol_sdk.utils.md#human_protocol_sdk.utils.SubgraphOptions)]) – Optional config for subgraph requests
302309
* **Return type:**
303310
[`WorkerStatistics`](#human_protocol_sdk.statistics.statistics_client.WorkerStatistics)
304311
* **Returns:**

0 commit comments

Comments
 (0)