Skip to content

Commit d8e527e

Browse files
committed
refactor: method response typehints
1 parent 4e2c2d9 commit d8e527e

30 files changed

+673
-205
lines changed

client/api/api_nodes.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types.api_nodes import ApiNodesQuery
4+
from client.types import PaginatedResponse
5+
from client.types.api_nodes import ApiNodeResponse, ApiNodesQuery
56

67

78
class ApiNodes(Resource):
89

9-
def all(self, query: Optional[ApiNodesQuery] = None):
10+
def all(self, query: Optional[ApiNodesQuery] = None) -> PaginatedResponse[ApiNodeResponse]:
1011
return self.with_endpoint('api').request_get('api-nodes', query)

client/api/blockchain.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from client.resource import Resource
2+
from client.types import Response
3+
from client.types.blockchain import BlockchainResponse
24

35

46
class Blockchain(Resource):
57

6-
def blockchain(self):
8+
def blockchain(self) -> Response[BlockchainResponse]:
79
return self.with_endpoint('api').request_get('blockchain')

client/api/blocks.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types.blocks import BlockTransactionsQuery, BlocksQuery
4+
from client.types import PaginatedResponse, Response
5+
from client.types.blocks import BlockResponse, BlockTransactionsQuery, BlocksQuery
6+
from client.types.transactions import TransactionResponse
57

68

79
class Blocks(Resource):
810

9-
def all(self, query: Optional[BlocksQuery] = None):
11+
def all(self, query: Optional[BlocksQuery] = None) -> PaginatedResponse[BlockResponse]:
1012
return self.with_endpoint('api').request_get('blocks', query)
1113

12-
def get(self, block_hash: str):
14+
def get(self, block_hash: str) -> Response[BlockResponse]:
1315
return self.with_endpoint('api').request_get(f'blocks/{block_hash}')
1416

15-
def first(self):
17+
def first(self) -> Response[BlockResponse]:
1618
return self.with_endpoint('api').request_get('blocks/first')
1719

18-
def last(self):
20+
def last(self) -> Response[BlockResponse]:
1921
return self.with_endpoint('api').request_get('blocks/last')
2022

2123
def transactions(
2224
self,
2325
block_hash: str,
2426
query: Optional[BlockTransactionsQuery] = None,
25-
):
27+
) -> PaginatedResponse[TransactionResponse]:
2628
return self.with_endpoint('api').request_get(
2729
f'blocks/{block_hash}/transactions', query
2830
)

client/api/commits.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from client.resource import Resource
2+
from client.types import Response
3+
from client.types.commits import CommitResponse
24

35

46
class Commits(Resource):
57

6-
def get(self, height: int):
8+
def get(self, height: int) -> Response[CommitResponse]:
79
return self.with_endpoint('api').request_get(f'commits/{height}')

client/api/contracts.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from client.resource import Resource
2+
from client.types import Response
3+
from client.types.contracts import ContractAbiResponse, ContractResponse
24

35

46
class Contracts(Resource):
57

6-
def all(self):
8+
def all(self) -> Response[ContractResponse]:
79
return self.with_endpoint('api').request_get('contracts')
810

9-
def abi(self, name: str, implementation: str):
11+
def abi(self, name: str, implementation: str) -> Response[ContractAbiResponse]:
1012
return self.with_endpoint('api').request_get(f'contracts/{name}/{implementation}/abi')

client/api/node.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types.node import NodeFeesQuery
4+
from client.types import Response
5+
from client.types.node import (
6+
NodeConfigurationResponse,
7+
NodeCryptoResponse,
8+
NodeFeesQuery,
9+
NodeFeesResponse,
10+
NodeStatusResponse,
11+
NodeSyncingResponse,
12+
)
513

614

715
class Node(Resource):
816

9-
def status(self):
17+
def status(self) -> Response[NodeStatusResponse]:
1018
return self.with_endpoint('api').request_get('node/status')
1119

12-
def syncing(self):
20+
def syncing(self) -> Response[NodeSyncingResponse]:
1321
return self.with_endpoint('api').request_get('node/syncing')
1422

15-
def configuration(self):
16-
return self.with_endpoint('api').request_get(
17-
'node/configuration'
18-
)
23+
def configuration(self) -> Response[NodeConfigurationResponse]:
24+
return self.with_endpoint('api').request_get('node/configuration')
1925

20-
def crypto(self):
21-
return self.with_endpoint('api').request_get(
22-
'node/configuration/crypto'
23-
)
26+
def crypto(self) -> Response[NodeCryptoResponse]:
27+
return self.with_endpoint('api').request_get('node/configuration/crypto')
2428

25-
def fees(self, query: Optional[NodeFeesQuery] = None):
29+
def fees(self, query: Optional[NodeFeesQuery] = None) -> Response[NodeFeesResponse]:
2630
return self.with_endpoint('api').request_get('node/fees', query)

client/api/peers.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types.peers import PeersQuery
4+
from client.types import PaginatedResponse, Response
5+
from client.types.peers import PeerResponse, PeersQuery
56

67

78
class Peers(Resource):
89

9-
def all(self, query: Optional[PeersQuery] = None):
10+
def all(self, query: Optional[PeersQuery] = None) -> PaginatedResponse[PeerResponse]:
1011
return self.with_endpoint('api').request_get('peers', query)
1112

12-
def get(self, ip: str):
13+
def get(self, ip: str) -> Response[PeerResponse]:
1314
return self.with_endpoint('api').request_get(f'peers/{ip}')

client/api/receipts.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types.receipts import ReceiptContractsQuery, ReceiptQuery, ReceiptsQuery
4+
from client.types import PaginatedResponse, Response
5+
from client.types.receipts import ReceiptContractsQuery, ReceiptQuery, ReceiptResponse, ReceiptsQuery
56

67

78
class Receipts(Resource):
8-
def all(self, query: Optional[ReceiptsQuery] = None):
9+
10+
def all(self, query: Optional[ReceiptsQuery] = None) -> PaginatedResponse[ReceiptResponse]:
911
return self.with_endpoint('api').request_get('receipts', query)
1012

1113
def get(
1214
self,
1315
transaction_hash: str,
1416
query: Optional[ReceiptQuery] = None,
15-
):
17+
) -> Response[ReceiptResponse]:
1618
return self.with_endpoint('api').request_get(
1719
f'receipts/{transaction_hash}', query
1820
)
1921

20-
def contracts(self, query: Optional[ReceiptContractsQuery] = None):
22+
def contracts(self, query: Optional[ReceiptContractsQuery] = None) -> PaginatedResponse[ReceiptResponse]:
2123
return self.with_endpoint('api').request_get(
2224
'receipts/contracts', query
2325
)

client/api/rounds.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types import PaginatedQuery
4+
from client.types import PaginatedQuery, PaginatedResponse, Response
5+
from client.types.rounds import RoundResponse
56

67

78
class Rounds(Resource):
89

9-
def all(self, query: Optional[PaginatedQuery] = None):
10+
def all(self, query: Optional[PaginatedQuery] = None) -> PaginatedResponse[RoundResponse]:
1011
return self.with_endpoint('api').request_get('rounds', query)
1112

12-
def show(self, round_id: str):
13+
def show(self, round_id: str) -> Response[RoundResponse]:
1314
return self.with_endpoint('api').request_get(f'rounds/{round_id}')
1415

15-
def validators(self, round_id: str):
16+
def validators(self, round_id: str) -> Response[RoundResponse]:
1617
return self.with_endpoint('api').request_get(
1718
f'rounds/{round_id}/validators'
1819
)

client/api/tokens.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,42 @@
11
from typing import Optional
22

33
from client.resource import Resource
4-
from client.types import PaginatedQuery
5-
from client.types.tokens import TokenApprovalsQuery, TokenLookupQuery, TokenTransfersQuery, TokensQuery
4+
from client.types import PaginatedQuery, PaginatedResponse, Response
5+
from client.types.tokens import (
6+
TokenActionsResponse,
7+
TokenAddressHoldersResponse,
8+
TokenAddressesResponse,
9+
TokenApprovalsQuery,
10+
TokenLookupQuery,
11+
TokenPaginatedResponseResults,
12+
TokenResponse,
13+
TokenTransfersQuery,
14+
TokenWhitelistResponse,
15+
TokensQuery,
16+
)
617

718

819
class Tokens(Resource):
920

10-
def all(self, query: Optional[TokensQuery] = None):
21+
def all(self, query: Optional[TokensQuery] = None) -> PaginatedResponse[TokenResponse]:
1122
return self.with_endpoint('api').request_get('tokens', query)
1223

13-
def transfers(self, query: Optional[TokenTransfersQuery] = None):
24+
def transfers(self, query: Optional[TokenTransfersQuery] = None) -> TokenPaginatedResponseResults[TokenActionsResponse]:
1425
return self.with_endpoint('api').request_get(
1526
'tokens/transfers', query
1627
)
1728

18-
def approvals(self, query: Optional[TokenApprovalsQuery] = None):
29+
def approvals(self, query: Optional[TokenApprovalsQuery] = None) -> TokenPaginatedResponseResults[TokenActionsResponse]:
1930
return self.with_endpoint('api').request_get(
2031
'tokens/approvals', query
2132
)
2233

23-
def whitelist(self, query: Optional[PaginatedQuery] = None):
34+
def whitelist(self, query: Optional[PaginatedQuery] = None) -> PaginatedResponse[TokenWhitelistResponse]:
2435
return self.with_endpoint('api').request_get(
2536
'tokens/whitelist', query
2637
)
2738

28-
def get(self, address: str):
39+
def get(self, address: str) -> Response[TokenAddressesResponse]:
2940
return self.with_endpoint('api').request_get(
3041
f'tokens/{address}'
3142
)
@@ -34,7 +45,7 @@ def transfers_for(
3445
self,
3546
address: str,
3647
query: Optional[TokenLookupQuery] = None,
37-
):
48+
) -> TokenPaginatedResponseResults[TokenActionsResponse]:
3849
return self.with_endpoint('api').request_get(
3950
f'tokens/{address}/transfers', query
4051
)
@@ -43,12 +54,12 @@ def approvals_for(
4354
self,
4455
address: str,
4556
query: Optional[TokenLookupQuery] = None,
46-
):
57+
) -> TokenPaginatedResponseResults[TokenActionsResponse]:
4758
return self.with_endpoint('api').request_get(
4859
f'tokens/{address}/approvals', query
4960
)
5061

51-
def holders_for(self, address: str):
62+
def holders_for(self, address: str) -> PaginatedResponse[TokenAddressHoldersResponse]:
5263
return self.with_endpoint('api').request_get(
5364
f'tokens/{address}/holders'
5465
)

0 commit comments

Comments
 (0)