forked from blockfrost/blockfrost-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaddresses.py
More file actions
172 lines (148 loc) · 5.87 KB
/
addresses.py
File metadata and controls
172 lines (148 loc) · 5.87 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
import requests
from blockfrost.utils import request_wrapper, list_request_wrapper
@request_wrapper
def address(self, address: str, **kwargs):
"""
Obtain information about a specific address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}
:param address: Bech32 address.
:type address: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:returns object.
:rtype: Namespace
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}",
headers=self.default_headers
)
@request_wrapper
def address_extended(self, address: str, **kwargs):
"""
Obtain information about a specific address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}/extended
:param address: Bech32 address.
:type address: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:returns object.
:rtype: Namespace
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}/extended",
headers=self.default_headers
)
@request_wrapper
def address_total(self, address: str, **kwargs):
"""
Obtain details about an address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}/total
:param address: Bech32 address.
:type address: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:returns object.
:rtype: Namespace
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}/total",
headers=self.default_headers
)
@list_request_wrapper
def address_utxos(self, address: str, **kwargs):
"""
UTXOs of the address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}/utxos
:param address: Bech32 address.
:type address: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:param gather_pages: Optional. Default: false. Will collect all pages into one return
:type gather_pages: bool
:param count: Optional. Default: 100. The number of results displayed on one page.
:type count: int
:param page: Optional. The page number for listing the results.
:type page: int
:param order: Optional. "asc" or "desc". Default: "asc".
:type order: str
:returns A list of objects.
:rtype [Namespace]
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}/utxos",
params=self.query_parameters(kwargs),
headers=self.default_headers
)
@list_request_wrapper
def address_utxos_asset(self, address: str, asset: str, **kwargs):
"""
UTXOs of the address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}/utxos/{asset}
:param address: Bech32 address.
:type address: str
:param asset: Concatenation of the policy_id and hex-encoded asset_name.
:type asset: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:param gather_pages: Optional. Default: false. Will collect all pages into one return
:type gather_pages: bool
:param count: Optional. Default: 100. The number of results displayed on one page.
:type count: int
:param page: Optional. The page number for listing the results.
:type page: int
:param order: Optional. "asc" or "desc". Default: "asc".
:type order: str
:returns A list of objects.
:rtype [Namespace]
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}/utxos/{asset}",
params=self.query_parameters(kwargs),
headers=self.default_headers
)
@list_request_wrapper
def address_transactions(self, address: str, from_block: str = None, to_block: str = None,
**kwargs):
"""
Transactions on the address.
https://docs.blockfrost.io/#tag/cardano--addresses/GET/addresses/{address}/transactions
:param address: Bech32 address.
:type address: str
:param from: The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. Has to be lower than or equal to to parameter.
:type from: str
:param to: The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. Has to be higher than or equal to from parameter.
:type to: str
:param return_type: Optional. "object", "json" or "pandas". Default: "object".
:type return_type: str
:param gather_pages: Optional. Default: false. Will collect all pages into one return
:type gather_pages: bool
:param count: Optional. Default: 100. The number of results displayed on one page.
:type count: int
:param page: Optional. The page number for listing the results.
:type page: int
:param order: Optional. "asc" or "desc". Default: "asc".
:type order: str
:returns A list of objects.
:rtype [Namespace]
:raises ApiError: If API fails
:raises Exception: If the API response is somehow malformed.
"""
return requests.get(
url=f"{self.url}/addresses/{address}/transactions",
params={
'from': from_block,
'to': to_block,
**self.query_parameters(kwargs)
},
headers=self.default_headers
)