algosdk 1.12.0 → 1.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/src/abi/abi_type.js +693 -0
- package/dist/cjs/src/abi/abi_type.js.map +1 -0
- package/dist/cjs/src/abi/contract.js +27 -0
- package/dist/cjs/src/abi/contract.js.map +1 -0
- package/dist/cjs/src/abi/index.js +19 -0
- package/dist/cjs/src/abi/index.js.map +1 -0
- package/dist/cjs/src/abi/interface.js +23 -0
- package/dist/cjs/src/abi/interface.js.map +1 -0
- package/dist/cjs/src/abi/method.js +114 -0
- package/dist/cjs/src/abi/method.js.map +1 -0
- package/dist/cjs/src/abi/reference.js +25 -0
- package/dist/cjs/src/abi/reference.js.map +1 -0
- package/dist/cjs/src/abi/transaction.js +52 -0
- package/dist/cjs/src/abi/transaction.js.map +1 -0
- package/dist/cjs/src/client/baseHTTPClient.js +3 -0
- package/dist/cjs/src/client/baseHTTPClient.js.map +1 -0
- package/dist/cjs/src/client/client.js +164 -104
- package/dist/cjs/src/client/client.js.map +1 -1
- package/dist/cjs/src/client/urlTokenBaseHTTPClient.js +138 -0
- package/dist/cjs/src/client/urlTokenBaseHTTPClient.js.map +1 -0
- package/dist/cjs/src/client/v2/algod/algod.js +262 -9
- package/dist/cjs/src/client/v2/algod/algod.js.map +1 -1
- package/dist/cjs/src/client/v2/algod/models/types.js +2 -2
- package/dist/cjs/src/client/v2/indexer/indexer.js +160 -3
- package/dist/cjs/src/client/v2/indexer/indexer.js.map +1 -1
- package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js +98 -6
- package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/cjs/src/client/v2/serviceClient.js +17 -8
- package/dist/cjs/src/client/v2/serviceClient.js.map +1 -1
- package/dist/cjs/src/composer.js +439 -0
- package/dist/cjs/src/composer.js.map +1 -0
- package/dist/cjs/src/dryrun.js +105 -0
- package/dist/cjs/src/dryrun.js.map +1 -0
- package/dist/cjs/src/encoding/bigint.js +38 -0
- package/dist/cjs/src/encoding/bigint.js.map +1 -0
- package/dist/cjs/src/logicsig.js +2 -2
- package/dist/cjs/src/logicsig.js.map +1 -1
- package/dist/cjs/src/main.js +12 -87
- package/dist/cjs/src/main.js.map +1 -1
- package/dist/cjs/src/makeTxn.js +29 -1
- package/dist/cjs/src/makeTxn.js.map +1 -1
- package/dist/cjs/src/multisig.js +77 -2
- package/dist/cjs/src/multisig.js.map +1 -1
- package/dist/cjs/src/signer.js +66 -0
- package/dist/cjs/src/signer.js.map +1 -0
- package/dist/cjs/src/transaction.js +8 -4
- package/dist/cjs/src/transaction.js.map +1 -1
- package/dist/cjs/src/types/intDecoding.js +0 -2
- package/dist/cjs/src/types/intDecoding.js.map +1 -1
- package/dist/cjs/src/types/transactions/base.js +0 -1
- package/dist/cjs/src/types/transactions/base.js.map +1 -1
- package/dist/cjs/src/wait.js +53 -0
- package/dist/cjs/src/wait.js.map +1 -0
- package/dist/esm/src/abi/abi_type.js +680 -0
- package/dist/esm/src/abi/abi_type.js.map +1 -0
- package/dist/esm/src/abi/contract.js +23 -0
- package/dist/esm/src/abi/contract.js.map +1 -0
- package/dist/esm/src/abi/index.js +7 -0
- package/dist/esm/src/abi/index.js.map +1 -0
- package/dist/esm/src/abi/interface.js +19 -0
- package/dist/esm/src/abi/interface.js.map +1 -0
- package/dist/esm/src/abi/method.js +110 -0
- package/dist/esm/src/abi/method.js.map +1 -0
- package/dist/esm/src/abi/reference.js +21 -0
- package/dist/esm/src/abi/reference.js.map +1 -0
- package/dist/esm/src/abi/transaction.js +47 -0
- package/dist/esm/src/abi/transaction.js.map +1 -0
- package/dist/esm/src/client/baseHTTPClient.js +2 -0
- package/dist/esm/src/client/baseHTTPClient.js.map +1 -0
- package/dist/esm/src/client/client.js +164 -101
- package/dist/esm/src/client/client.js.map +1 -1
- package/dist/esm/src/client/urlTokenBaseHTTPClient.js +112 -0
- package/dist/esm/src/client/urlTokenBaseHTTPClient.js.map +1 -0
- package/dist/esm/src/client/v2/algod/algod.js +262 -9
- package/dist/esm/src/client/v2/algod/algod.js.map +1 -1
- package/dist/esm/src/client/v2/algod/models/types.js +2 -2
- package/dist/esm/src/client/v2/indexer/indexer.js +160 -3
- package/dist/esm/src/client/v2/indexer/indexer.js.map +1 -1
- package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js +98 -6
- package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/esm/src/client/v2/serviceClient.js +17 -8
- package/dist/esm/src/client/v2/serviceClient.js.map +1 -1
- package/dist/esm/src/composer.js +435 -0
- package/dist/esm/src/composer.js.map +1 -0
- package/dist/esm/src/dryrun.js +101 -0
- package/dist/esm/src/dryrun.js.map +1 -0
- package/dist/esm/src/encoding/bigint.js +33 -0
- package/dist/esm/src/encoding/bigint.js.map +1 -0
- package/dist/esm/src/logicsig.js +2 -2
- package/dist/esm/src/logicsig.js.map +1 -1
- package/dist/esm/src/main.js +6 -82
- package/dist/esm/src/main.js.map +1 -1
- package/dist/esm/src/makeTxn.js +27 -0
- package/dist/esm/src/makeTxn.js.map +1 -1
- package/dist/esm/src/multisig.js +73 -1
- package/dist/esm/src/multisig.js.map +1 -1
- package/dist/esm/src/signer.js +59 -0
- package/dist/esm/src/signer.js.map +1 -0
- package/dist/esm/src/transaction.js +8 -4
- package/dist/esm/src/transaction.js.map +1 -1
- package/dist/esm/src/types/intDecoding.js +0 -2
- package/dist/esm/src/types/intDecoding.js.map +1 -1
- package/dist/esm/src/types/transactions/base.js +0 -1
- package/dist/esm/src/types/transactions/base.js.map +1 -1
- package/dist/esm/src/wait.js +49 -0
- package/dist/esm/src/wait.js.map +1 -0
- package/dist/types/src/abi/abi_type.d.ts +102 -0
- package/dist/types/src/abi/contract.d.ts +21 -0
- package/dist/types/src/abi/index.d.ts +6 -0
- package/dist/types/src/abi/interface.d.ts +13 -0
- package/dist/types/src/abi/method.d.ts +39 -0
- package/dist/types/src/abi/reference.d.ts +15 -0
- package/dist/types/src/abi/transaction.d.ts +33 -0
- package/dist/types/src/client/baseHTTPClient.d.ts +41 -0
- package/dist/types/src/client/client.d.ts +66 -31
- package/dist/types/src/client/kmd.d.ts +1 -1
- package/dist/types/src/client/urlTokenBaseHTTPClient.d.ts +44 -0
- package/dist/types/src/client/v2/algod/algod.d.ts +263 -9
- package/dist/types/src/client/v2/algod/models/types.d.ts +4 -4
- package/dist/types/src/client/v2/indexer/indexer.d.ts +161 -3
- package/dist/types/src/client/v2/indexer/lookupAssetBalances.d.ts +98 -0
- package/dist/types/src/client/v2/serviceClient.d.ts +6 -2
- package/dist/types/src/composer.d.ts +160 -0
- package/dist/types/src/dryrun.d.ts +20 -0
- package/dist/types/src/encoding/bigint.d.ts +14 -0
- package/dist/types/src/main.d.ts +7 -45
- package/dist/types/src/makeTxn.d.ts +18 -1
- package/dist/types/src/multisig.d.ts +39 -1
- package/dist/types/src/signer.d.ts +40 -0
- package/dist/types/src/wait.d.ts +11 -0
- package/package.json +6 -4
|
@@ -13,99 +13,256 @@ import SearchAccounts from './searchAccounts';
|
|
|
13
13
|
import SearchForTransactions from './searchForTransactions';
|
|
14
14
|
import SearchForAssets from './searchForAssets';
|
|
15
15
|
import SearchForApplications from './searchForApplications';
|
|
16
|
+
/**
|
|
17
|
+
* The Indexer provides a REST API interface of API calls to support searching the Algorand Blockchain.
|
|
18
|
+
*
|
|
19
|
+
* The Indexer REST APIs retrieve the blockchain data from a PostgreSQL compatible database that must be populated.
|
|
20
|
+
*
|
|
21
|
+
* This database is populated using the same indexer instance or a separate instance of the indexer which must connect to the algod process of a running Algorand node to read block data.
|
|
22
|
+
*
|
|
23
|
+
* This node must also be an Archival node to make searching the entire blockchain possible.
|
|
24
|
+
*
|
|
25
|
+
* #### Relevant Information
|
|
26
|
+
* [Learn more about Indexer](https://developer.algorand.org/docs/get-details/indexer/)
|
|
27
|
+
*
|
|
28
|
+
* [Run Indexer in Postman OAS3](https://developer.algorand.org/docs/rest-apis/restendpoints/#algod-indexer-and-kmd-rest-endpoints)
|
|
29
|
+
*/
|
|
16
30
|
export default class IndexerClient extends ServiceClient {
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Create an IndexerClient from
|
|
33
|
+
* * either a token, baseServer, port, and optional headers
|
|
34
|
+
* * or a base client server for interoperability with external dApp wallets
|
|
35
|
+
*
|
|
36
|
+
* #### Example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const token = "";
|
|
39
|
+
* const server = "http://localhost";
|
|
40
|
+
* const port = 8980;
|
|
41
|
+
* const indexerClient = new algosdk.Indexer(token, server, port);
|
|
42
|
+
* ```
|
|
43
|
+
* @remarks
|
|
44
|
+
* The above configuration is for a sandbox private network.
|
|
45
|
+
* For applications on production, you are encouraged to run your own node with indexer, or use an Algorand REST API provider with a dedicated API key.
|
|
46
|
+
*
|
|
47
|
+
* @param tokenOrBaseClient - The API token for the Indexer API
|
|
48
|
+
* @param baseServer - REST endpoint
|
|
49
|
+
* @param port - Port number if specifically configured by the server
|
|
50
|
+
* @param headers - Optional headers
|
|
51
|
+
*/
|
|
52
|
+
constructor(tokenOrBaseClient, baseServer = 'http://127.0.0.1', port = 8080, headers = {}) {
|
|
53
|
+
super('X-Indexer-API-Token', tokenOrBaseClient, baseServer, port, headers);
|
|
19
54
|
}
|
|
20
55
|
/**
|
|
21
56
|
* Returns the health object for the service.
|
|
57
|
+
* Returns 200 if healthy.
|
|
58
|
+
*
|
|
59
|
+
* #### Example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const health = await indexerClient.makeHealthCheck().do();
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-health)
|
|
65
|
+
* @category GET
|
|
22
66
|
*/
|
|
23
67
|
makeHealthCheck() {
|
|
24
68
|
return new MakeHealthCheck(this.c, this.intDecoding);
|
|
25
69
|
}
|
|
26
70
|
/**
|
|
27
|
-
* Returns
|
|
71
|
+
* Returns the list of accounts who hold the given asset and their balance.
|
|
72
|
+
*
|
|
73
|
+
* #### Example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const assetId = 163650;
|
|
76
|
+
* const assetBalances = await indexerClient.lookupAssetBalances(assetId).do();
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idbalances)
|
|
28
80
|
* @param index - The asset ID to look up.
|
|
81
|
+
* @category GET
|
|
29
82
|
*/
|
|
30
83
|
lookupAssetBalances(index) {
|
|
31
84
|
return new LookupAssetBalances(this.c, this.intDecoding, index);
|
|
32
85
|
}
|
|
33
86
|
/**
|
|
34
87
|
* Returns transactions relating to the given asset.
|
|
88
|
+
*
|
|
89
|
+
* #### Example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const assetId = 163650;
|
|
92
|
+
* const assetTxns = await indexerClient.lookupAssetTransactions(assetId).do();
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idtransactions)
|
|
35
96
|
* @param index - The asset ID to look up.
|
|
97
|
+
* @category GET
|
|
36
98
|
*/
|
|
37
99
|
lookupAssetTransactions(index) {
|
|
38
100
|
return new LookupAssetTransactions(this.c, this.intDecoding, index);
|
|
39
101
|
}
|
|
40
102
|
/**
|
|
41
103
|
* Returns transactions relating to the given account.
|
|
104
|
+
*
|
|
105
|
+
* #### Example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
|
|
108
|
+
* const accountTxns = await indexerClient.lookupAccountTransactions(address).do();
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idtransactions)
|
|
42
112
|
* @param account - The address of the account.
|
|
113
|
+
* @category GET
|
|
43
114
|
*/
|
|
44
115
|
lookupAccountTransactions(account) {
|
|
45
116
|
return new LookupAccountTransactions(this.c, this.intDecoding, account);
|
|
46
117
|
}
|
|
47
118
|
/**
|
|
48
119
|
* Returns the block for the passed round.
|
|
120
|
+
*
|
|
121
|
+
* #### Example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const targetBlock = 18309917;
|
|
124
|
+
* const blockInfo = await indexerClient.lookupBlock(targetBlock).do();
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2blocksround-number)
|
|
49
128
|
* @param round - The number of the round to look up.
|
|
129
|
+
* @category GET
|
|
50
130
|
*/
|
|
51
131
|
lookupBlock(round) {
|
|
52
132
|
return new LookupBlock(this.c, this.intDecoding, round);
|
|
53
133
|
}
|
|
54
134
|
/**
|
|
55
135
|
* Returns information about the given transaction.
|
|
136
|
+
*
|
|
137
|
+
* #### Example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const txnId = "MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA";
|
|
140
|
+
* const txnInfo = await indexerClient.lookupTransactionByID(txnId).do();
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid)
|
|
56
144
|
* @param txID - The ID of the transaction to look up.
|
|
145
|
+
* @category GET
|
|
57
146
|
*/
|
|
58
147
|
lookupTransactionByID(txID) {
|
|
59
148
|
return new LookupTransactionByID(this.c, this.intDecoding, txID);
|
|
60
149
|
}
|
|
61
150
|
/**
|
|
62
151
|
* Returns information about the given account.
|
|
152
|
+
*
|
|
153
|
+
* #### Example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
|
|
156
|
+
* const accountInfo = await indexerClient.lookupAccountByID(address).do();
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-id)
|
|
63
160
|
* @param account - The address of the account to look up.
|
|
161
|
+
* @category GET
|
|
64
162
|
*/
|
|
65
163
|
lookupAccountByID(account) {
|
|
66
164
|
return new LookupAccountByID(this.c, this.intDecoding, account);
|
|
67
165
|
}
|
|
68
166
|
/**
|
|
69
167
|
* Returns information about the passed asset.
|
|
168
|
+
*
|
|
169
|
+
* #### Example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const assetId = 163650;
|
|
172
|
+
* const assetInfo = await indexerClient.lookupAssetByID(assetId).do();
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-id)
|
|
70
176
|
* @param index - The ID of the asset ot look up.
|
|
177
|
+
* @category GET
|
|
71
178
|
*/
|
|
72
179
|
lookupAssetByID(index) {
|
|
73
180
|
return new LookupAssetByID(this.c, this.intDecoding, index);
|
|
74
181
|
}
|
|
75
182
|
/**
|
|
76
183
|
* Returns information about the passed application.
|
|
184
|
+
*
|
|
185
|
+
* #### Example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const appId = 60553466;
|
|
188
|
+
* const appInfo = await indexerClient.lookupApplications(appId).do();
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-id)
|
|
77
192
|
* @param index - The ID of the application to look up.
|
|
193
|
+
* @category GET
|
|
78
194
|
*/
|
|
79
195
|
lookupApplications(index) {
|
|
80
196
|
return new LookupApplications(this.c, this.intDecoding, index);
|
|
81
197
|
}
|
|
82
198
|
/**
|
|
83
199
|
* Returns log messages generated by the passed in application.
|
|
200
|
+
*
|
|
201
|
+
* #### Example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* const appId = 60553466;
|
|
204
|
+
* const appLogs = await indexerClient.lookupApplicationLogs(appId).do();
|
|
205
|
+
* ```
|
|
206
|
+
*
|
|
207
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idlogs)
|
|
84
208
|
* @param appID - The ID of the application which generated the logs.
|
|
209
|
+
* @category GET
|
|
85
210
|
*/
|
|
86
211
|
lookupApplicationLogs(appID) {
|
|
87
212
|
return new LookupApplicationLogs(this.c, this.intDecoding, appID);
|
|
88
213
|
}
|
|
89
214
|
/**
|
|
90
215
|
* Returns information about indexed accounts.
|
|
216
|
+
*
|
|
217
|
+
* #### Example
|
|
218
|
+
* ```typescript
|
|
219
|
+
* const accounts = await indexerClient.searchAccounts().do();
|
|
220
|
+
* ```
|
|
221
|
+
*
|
|
222
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accounts)
|
|
223
|
+
* @category GET
|
|
91
224
|
*/
|
|
92
225
|
searchAccounts() {
|
|
93
226
|
return new SearchAccounts(this.c, this.intDecoding);
|
|
94
227
|
}
|
|
95
228
|
/**
|
|
96
229
|
* Returns information about indexed transactions.
|
|
230
|
+
*
|
|
231
|
+
* #### Example
|
|
232
|
+
* ```typescript
|
|
233
|
+
* const txns = await indexerClient.searchForTransactions().do();
|
|
234
|
+
* ```
|
|
235
|
+
*
|
|
236
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactions)
|
|
237
|
+
* @category GET
|
|
97
238
|
*/
|
|
98
239
|
searchForTransactions() {
|
|
99
240
|
return new SearchForTransactions(this.c, this.intDecoding);
|
|
100
241
|
}
|
|
101
242
|
/**
|
|
102
243
|
* Returns information about indexed assets.
|
|
244
|
+
*
|
|
245
|
+
* #### Example
|
|
246
|
+
* ```typescript
|
|
247
|
+
* const assets = await indexerClient.searchForAssets().do();
|
|
248
|
+
* ```
|
|
249
|
+
*
|
|
250
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assets)
|
|
251
|
+
* @category GET
|
|
103
252
|
*/
|
|
104
253
|
searchForAssets() {
|
|
105
254
|
return new SearchForAssets(this.c, this.intDecoding);
|
|
106
255
|
}
|
|
107
256
|
/**
|
|
108
257
|
* Returns information about indexed applications.
|
|
258
|
+
*
|
|
259
|
+
* #### Example
|
|
260
|
+
* ```typescript
|
|
261
|
+
* const apps = await indexerClient.searchForApplications().do();
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applications)
|
|
265
|
+
* @category GET
|
|
109
266
|
*/
|
|
110
267
|
searchForApplications() {
|
|
111
268
|
return new SearchForApplications(this.c, this.intDecoding);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import JSONRequest from '../jsonrequest';
|
|
2
2
|
export default class LookupAssetBalances extends JSONRequest {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the list of accounts which hold the given asset and their balance.
|
|
5
|
+
*
|
|
6
|
+
* #### Example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const assetId = 163650;
|
|
9
|
+
* const assetBalances = await indexerClient.lookupAssetBalances(assetId).do();
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idbalances)
|
|
13
|
+
* @param index - The asset ID to look up.
|
|
14
|
+
*/
|
|
3
15
|
constructor(c, intDecoding, index) {
|
|
4
16
|
super(c, intDecoding);
|
|
5
17
|
this.index = index;
|
|
@@ -8,32 +20,112 @@ export default class LookupAssetBalances extends JSONRequest {
|
|
|
8
20
|
path() {
|
|
9
21
|
return `/v2/assets/${this.index}/balances`;
|
|
10
22
|
}
|
|
11
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Add a limit for filter.
|
|
25
|
+
*
|
|
26
|
+
* #### Example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const assetId = 163650;
|
|
29
|
+
* const maxResults = 20;
|
|
30
|
+
* const assetBalances = await indexerClient
|
|
31
|
+
* .lookupAssetBalances(assetId)
|
|
32
|
+
* .limit(maxResults)
|
|
33
|
+
* .do();
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @param limit - maximum number of results to return.
|
|
37
|
+
*/
|
|
12
38
|
limit(limit) {
|
|
13
39
|
this.query.limit = limit;
|
|
14
40
|
return this;
|
|
15
41
|
}
|
|
16
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Specify round to filter with.
|
|
44
|
+
*
|
|
45
|
+
* #### Example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const assetId = 163650;
|
|
48
|
+
* const targetBlock = 18309917;
|
|
49
|
+
* const assetBalances = await indexerClient
|
|
50
|
+
* .lookupAssetBalances(assetId)
|
|
51
|
+
* .round(targetBlock)
|
|
52
|
+
* .do();
|
|
53
|
+
* ```
|
|
54
|
+
* @param round
|
|
55
|
+
*/
|
|
17
56
|
round(round) {
|
|
18
57
|
this.query.round = round;
|
|
19
58
|
return this;
|
|
20
59
|
}
|
|
21
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Filtered results should have an asset balance greater than this value.
|
|
62
|
+
*
|
|
63
|
+
* #### Example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const assetId = 163650;
|
|
66
|
+
* const minBalance = 1000000;
|
|
67
|
+
* const assetBalances = await indexerClient
|
|
68
|
+
* .lookupAssetBalances(assetId)
|
|
69
|
+
* .currencyGreaterThan(minBalance)
|
|
70
|
+
* .do();
|
|
71
|
+
* ```
|
|
72
|
+
* @param greater
|
|
73
|
+
*/
|
|
22
74
|
currencyGreaterThan(greater) {
|
|
23
75
|
this.query['currency-greater-than'] = greater;
|
|
24
76
|
return this;
|
|
25
77
|
}
|
|
26
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Filtered results should have an asset balance less than this value.
|
|
80
|
+
*
|
|
81
|
+
* #### Example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const assetId = 163650;
|
|
84
|
+
* const maxBalance = 2000000;
|
|
85
|
+
* const assetBalances = await indexerClient
|
|
86
|
+
* .lookupAssetBalances(assetId)
|
|
87
|
+
* .currencyLessThan(maxBalance)
|
|
88
|
+
* .do();
|
|
89
|
+
* ```
|
|
90
|
+
* @param lesser
|
|
91
|
+
*/
|
|
27
92
|
currencyLessThan(lesser) {
|
|
28
93
|
this.query['currency-less-than'] = lesser;
|
|
29
94
|
return this;
|
|
30
95
|
}
|
|
31
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Specify the next page of results.
|
|
98
|
+
*
|
|
99
|
+
* #### Example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const assetId = 163650;
|
|
102
|
+
* const maxResults = 20;
|
|
103
|
+
* const nextToken = "APA6C7C3NCANRPIBUWQOF7WSKLJMK6RPQUVFLLDV4U5WCQE4DEF26D4E3E";
|
|
104
|
+
* const assetBalances = await indexerClient
|
|
105
|
+
* .lookupAssetBalances(assetId)
|
|
106
|
+
* .limit(maxResults)
|
|
107
|
+
* .next(nextToken)
|
|
108
|
+
* .do();
|
|
109
|
+
* ```
|
|
110
|
+
* @param nextToken - provided by the previous results.
|
|
111
|
+
*/
|
|
32
112
|
nextToken(nextToken) {
|
|
33
113
|
this.query.next = nextToken;
|
|
34
114
|
return this;
|
|
35
115
|
}
|
|
36
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates
|
|
118
|
+
*
|
|
119
|
+
* #### Example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const assetId = 163650;
|
|
122
|
+
* const assetBalances = await indexerClient
|
|
123
|
+
* .lookupAssetBalances(assetId)
|
|
124
|
+
* .includeAll(false)
|
|
125
|
+
* .do();
|
|
126
|
+
* ```
|
|
127
|
+
* @param value
|
|
128
|
+
*/
|
|
37
129
|
includeAll(value = true) {
|
|
38
130
|
this.query['include-all'] = value;
|
|
39
131
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookupAssetBalances.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/lookupAssetBalances.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAIzC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IAC1D,YAAY,CAAa,EAAE,WAAwB,EAAU,KAAa;QACxE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QADqC,UAAK,GAAL,KAAK,CAAQ;QAExE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,cAAc,IAAI,CAAC,KAAK,WAAW,CAAC;IAC7C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"lookupAssetBalances.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/lookupAssetBalances.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAIzC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IAC1D;;;;;;;;;;;OAWG;IACH,YAAY,CAAa,EAAE,WAAwB,EAAU,KAAa;QACxE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QADqC,UAAK,GAAL,KAAK,CAAQ;QAExE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,cAAc,IAAI,CAAC,KAAK,WAAW,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,MAAc;QAC7B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,KAAK,GAAG,IAAI;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -10,21 +10,30 @@ function convertTokenStringToTokenHeader(token = '', headerIdentifier) {
|
|
|
10
10
|
tokenHeader[headerIdentifier] = token;
|
|
11
11
|
return tokenHeader;
|
|
12
12
|
}
|
|
13
|
+
function isBaseHTTPClient(tbc) {
|
|
14
|
+
return typeof tbc.get === 'function';
|
|
15
|
+
}
|
|
13
16
|
/**
|
|
14
17
|
* Abstract service client to encapsulate shared AlgodClient and IndexerClient logic
|
|
15
18
|
*/
|
|
16
19
|
export default class ServiceClient {
|
|
17
|
-
constructor(tokenHeaderIdentifier,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (typeof tokenHeaderOrStr === 'string') {
|
|
22
|
-
tokenHeader = convertTokenStringToTokenHeader(tokenHeaderOrStr, tokenHeaderIdentifier);
|
|
20
|
+
constructor(tokenHeaderIdentifier, tokenHeaderOrStrOrBaseClient, baseServer, port, defaultHeaders = {}) {
|
|
21
|
+
if (isBaseHTTPClient(tokenHeaderOrStrOrBaseClient)) {
|
|
22
|
+
// we are using a base client
|
|
23
|
+
this.c = new HTTPClient(tokenHeaderOrStrOrBaseClient);
|
|
23
24
|
}
|
|
24
25
|
else {
|
|
25
|
-
|
|
26
|
+
// Accept token header as string or object
|
|
27
|
+
// - workaround to allow backwards compatibility for multiple headers
|
|
28
|
+
let tokenHeader;
|
|
29
|
+
if (typeof tokenHeaderOrStrOrBaseClient === 'string') {
|
|
30
|
+
tokenHeader = convertTokenStringToTokenHeader(tokenHeaderOrStrOrBaseClient, tokenHeaderIdentifier);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
tokenHeader = tokenHeaderOrStrOrBaseClient;
|
|
34
|
+
}
|
|
35
|
+
this.c = new HTTPClient(tokenHeader, baseServer, port, defaultHeaders);
|
|
26
36
|
}
|
|
27
|
-
this.c = new HTTPClient(tokenHeader, baseServer, port, defaultHeaders);
|
|
28
37
|
this.intDecoding = IntDecoding.DEFAULT;
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceClient.js","sourceRoot":"","sources":["../../../../../src/client/v2/serviceClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"serviceClient.js","sourceRoot":"","sources":["../../../../../src/client/v2/serviceClient.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAUlD;;;;GAIG;AACH,SAAS,+BAA+B,CACtC,QAAgB,EAAE,EAClB,gBAAuC;IAEvC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,WAAW,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACtC,OAAO,WAA0B,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CACvB,GAA0C;IAE1C,OAAO,OAAQ,GAAsB,CAAC,GAAG,KAAK,UAAU,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,aAAa;IAMzC,YACE,qBAA4C,EAC5C,4BAAmE,EACnE,UAAkB,EAClB,IAAsB,EACtB,iBAAsC,EAAE;QAExC,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,EAAE;YAClD,6BAA6B;YAC7B,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;SACvD;aAAM;YACL,0CAA0C;YAC1C,qEAAqE;YACrE,IAAI,WAAwB,CAAC;YAC7B,IAAI,OAAO,4BAA4B,KAAK,QAAQ,EAAE;gBACpD,WAAW,GAAG,+BAA+B,CAC3C,4BAA4B,EAC5B,qBAAqB,CACtB,CAAC;aACH;iBAAM;gBACL,WAAW,GAAG,4BAA4B,CAAC;aAC5C;YAED,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;SACxE;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
|