-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathvalidators.py
More file actions
37 lines (30 loc) · 1.22 KB
/
validators.py
File metadata and controls
37 lines (30 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from typing import Optional
from client.resource import Resource
from client.types import PaginatedResponse, Response
from client.types.blocks import BlocksQuery
from client.types.transactions import TransactionResponse
from client.types.validators import ValidatorsQuery
from client.types.wallets import WalletResponse, WalletsQuery
class Validators(Resource):
def all(self, query: Optional[ValidatorsQuery] = None) -> PaginatedResponse[WalletResponse]:
return self.with_endpoint('api').request_get('validators', query)
def get(self, validator_id: str) -> Response[WalletResponse]:
return self.with_endpoint('api').request_get(
f'validators/{validator_id}'
)
def blocks(
self,
validator_id: str,
query: Optional[BlocksQuery] = None,
) -> PaginatedResponse[TransactionResponse]:
return self.with_endpoint('api').request_get(
f'validators/{validator_id}/blocks', query
)
def voters(
self,
validator_id: str,
query: Optional[WalletsQuery] = None,
) -> PaginatedResponse[WalletResponse]:
return self.with_endpoint('api').request_get(
f'validators/{validator_id}/voters', query
)