algosdk 1.13.0-beta.2 → 1.13.0

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.
Files changed (32) hide show
  1. package/README.md +4 -4
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/src/client/v2/algod/algod.js +255 -7
  5. package/dist/cjs/src/client/v2/algod/algod.js.map +1 -1
  6. package/dist/cjs/src/client/v2/indexer/indexer.js +153 -1
  7. package/dist/cjs/src/client/v2/indexer/indexer.js.map +1 -1
  8. package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js +98 -6
  9. package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  10. package/dist/cjs/src/client/v2/serviceClient.js.map +1 -1
  11. package/dist/cjs/src/dryrun.js +103 -0
  12. package/dist/cjs/src/dryrun.js.map +1 -0
  13. package/dist/cjs/src/main.js +1 -0
  14. package/dist/cjs/src/main.js.map +1 -1
  15. package/dist/esm/src/client/v2/algod/algod.js +255 -7
  16. package/dist/esm/src/client/v2/algod/algod.js.map +1 -1
  17. package/dist/esm/src/client/v2/indexer/indexer.js +153 -1
  18. package/dist/esm/src/client/v2/indexer/indexer.js.map +1 -1
  19. package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js +98 -6
  20. package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  21. package/dist/esm/src/client/v2/serviceClient.js.map +1 -1
  22. package/dist/esm/src/dryrun.js +99 -0
  23. package/dist/esm/src/dryrun.js.map +1 -0
  24. package/dist/esm/src/main.js +1 -0
  25. package/dist/esm/src/main.js.map +1 -1
  26. package/dist/types/src/client/v2/algod/algod.d.ts +255 -7
  27. package/dist/types/src/client/v2/indexer/indexer.d.ts +153 -1
  28. package/dist/types/src/client/v2/indexer/lookupAssetBalances.d.ts +98 -0
  29. package/dist/types/src/client/v2/serviceClient.d.ts +2 -0
  30. package/dist/types/src/dryrun.d.ts +20 -0
  31. package/dist/types/src/main.d.ts +1 -0
  32. package/package.json +2 -2
@@ -22,115 +22,363 @@ const supply_1 = __importDefault(require("./supply"));
22
22
  const versions_1 = __importDefault(require("./versions"));
23
23
  const genesis_1 = __importDefault(require("./genesis"));
24
24
  const proof_1 = __importDefault(require("./proof"));
25
+ /**
26
+ * Algod client connects an application to the Algorand blockchain. The algod client requires a valid algod REST endpoint IP address and algod token from an Algorand node that is connected to the network you plan to interact with.
27
+ *
28
+ * Algod is the main Algorand process for handling the blockchain. Messages between nodes are processed, the protocol steps are executed, and the blocks are written to disk. The algod process also exposes a REST API server that developers can use to communicate with the node and the network. Algod uses the data directory for storage and configuration information.
29
+ *
30
+ * #### Relevant Information
31
+ * [How do I obtain an algod address and token?](https://developer.algorand.org/docs/archive/build-apps/setup/?from_query=algod#how-do-i-obtain-an-algod-address-and-token)
32
+ *
33
+ * [Run Algod in Postman OAS3](https://developer.algorand.org/docs/rest-apis/restendpoints/?from_query=algod#algod-indexer-and-kmd-rest-endpoints)
34
+ */
25
35
  class AlgodClient extends serviceClient_1.default {
26
36
  /**
27
37
  * Create an AlgodClient from
28
38
  * * either a token, baseServer, port, and optional headers
29
39
  * * or a base client server for interoperability with external dApp wallets
40
+ *
41
+ * #### Example
42
+ * ```typescript
43
+ * const token = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
44
+ * const server = "http://localhost";
45
+ * const port = 4001;
46
+ * const algodClient = new algosdk.Algodv2(token, server, port);
47
+ * ```
48
+ * @remarks
49
+ * The above configuration is for a sandbox private network.
50
+ * For applications on production, you are encouraged to run your own node, or use an Algorand REST API provider with a dedicated API key.
51
+ *
52
+ * @param tokenOrBaseClient - The algod token from the Algorand node you are interacting with
53
+ * @param baseServer - REST endpoint
54
+ * @param port - Port number if specifically configured by the server
55
+ * @param headers - Optional headers
30
56
  */
31
57
  constructor(tokenOrBaseClient, baseServer = 'http://r2.algorand.network', port = 4180, headers = {}) {
32
58
  super('X-Algo-API-Token', tokenOrBaseClient, baseServer, port, headers);
33
59
  }
60
+ /**
61
+ * Returns OK if healthy.
62
+ *
63
+ * #### Example
64
+ * ```typescript
65
+ * const health = await algodClient.healthCheck().do();
66
+ * ```
67
+ *
68
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-health)
69
+ * @category GET
70
+ */
34
71
  healthCheck() {
35
72
  return new healthCheck_1.default(this.c);
36
73
  }
74
+ /**
75
+ * Retrieves the supported API versions, binary build versions, and genesis information.
76
+ *
77
+ * #### Example
78
+ * ```typescript
79
+ * const versionsDetails = await algodClient.versionsCheck().do();
80
+ * ```
81
+ *
82
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-versions)
83
+ * @category GET
84
+ */
37
85
  versionsCheck() {
38
86
  return new versions_1.default(this.c);
39
87
  }
88
+ /**
89
+ * Broadcasts a raw transaction to the network.
90
+ *
91
+ * #### Example
92
+ * ```typescript
93
+ * const { txId } = await algodClient.sendRawTransaction(signedTxns).do();
94
+ * const result = await waitForConfirmation(algodClient, txid, 3);
95
+ * ```
96
+ *
97
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactions)
98
+ *
99
+ * @remarks
100
+ * Often used with {@linkcode waitForConfirmation}
101
+ * @param stxOrStxs - Signed transactions
102
+ * @category POST
103
+ */
40
104
  sendRawTransaction(stxOrStxs) {
41
105
  return new sendRawTransaction_1.default(this.c, stxOrStxs);
42
106
  }
43
107
  /**
44
- * Returns the given account's information.
108
+ * Returns the given account's status, balance and spendable amounts.
109
+ *
110
+ * #### Example
111
+ * ```typescript
112
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
113
+ * const accountInfo = await algodClient.accountInformation(address).do();
114
+ * ```
115
+ *
116
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)
45
117
  * @param account - The address of the account to look up.
118
+ * @category GET
46
119
  */
47
120
  accountInformation(account) {
48
121
  return new accountInformation_1.default(this.c, this.intDecoding, account);
49
122
  }
50
123
  /**
51
124
  * Gets the block info for the given round.
125
+ *
126
+ * #### Example
127
+ * ```typescript
128
+ * const roundNumber = 18038133;
129
+ * const block = await algodClient.block(roundNumber).do();
130
+ * ```
131
+ *
132
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksround)
52
133
  * @param roundNumber - The round number of the block to get.
134
+ * @category GET
53
135
  */
54
136
  block(roundNumber) {
55
137
  return new block_1.default(this.c, roundNumber);
56
138
  }
57
139
  /**
58
140
  * Returns the transaction information for a specific pending transaction.
141
+ *
142
+ * #### Example
143
+ * ```typescript
144
+ * const txId = "DRJS6R745A7GFVMXEXWP4TGVDGKW7VILFTA7HC2BR2GRLHNY5CTA";
145
+ * const pending = await algodClient.pendingTransactionInformation(txId).do();
146
+ * ```
147
+ *
148
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspendingtxid)
149
+ *
150
+ * @remarks
151
+ * <br><br>
152
+ * There are several cases when this might succeed:
153
+ * - transaction committed (committed round > 0)
154
+ * - transaction still in the pool (committed round = 0, pool error = "")
155
+ * - transaction removed from pool due to error (committed round = 0, pool error != "")
156
+ *
157
+ * Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.
158
+ *
59
159
  * @param txid - The TxID string of the pending transaction to look up.
160
+ * @category GET
60
161
  */
61
162
  pendingTransactionInformation(txid) {
62
163
  return new pendingTransactionInformation_1.default(this.c, txid);
63
164
  }
64
165
  /**
65
- * Returns transactions that are pending in the pool.
166
+ * Returns the list of pending transactions in the pool, sorted by priority, in decreasing order, truncated at the end at MAX.
167
+ * If MAX = 0, returns all pending transactions.
168
+ *
169
+ * #### Example 1
170
+ * ```typescript
171
+ * const pendingTxns = await algodClient.pendingTransactionsInformation().do();
172
+ * ```
173
+ *
174
+ * #### Example 2
175
+ * ```typescript
176
+ * const maxTxns = 5;
177
+ * const pendingTxns = await algodClient
178
+ * .pendingTransactionsInformation()
179
+ * .max(maxTxns)
180
+ * .do();
181
+ * ```
182
+ *
183
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspending)
184
+ * @category GET
66
185
  */
67
186
  pendingTransactionsInformation() {
68
187
  return new pendingTransactions_1.default(this.c);
69
188
  }
70
189
  /**
71
- * Returns transactions that are pending in the pool sent by a specific sender.
190
+ * Returns the list of pending transactions sent by the address, sorted by priority, in decreasing order, truncated at the end at MAX.
191
+ * If MAX = 0, returns all pending transactions.
192
+ *
193
+ * #### Example 1
194
+ * ```typescript
195
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
196
+ * const pendingTxnsByAddr = await algodClient.pendingTransactionByAddress(address).do();
197
+ * ```
198
+ *
199
+ * #### Example 2
200
+ * ```typescript
201
+ * const maxTxns = 5;
202
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
203
+ * const pendingTxns = await algodClient
204
+ * .pendingTransactionByAddress(address)
205
+ * .max(maxTxns)
206
+ * .do();
207
+ * ```
208
+ *
209
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddresstransactionspending)
72
210
  * @param address - The address of the sender.
211
+ * @category GET
73
212
  */
74
213
  pendingTransactionByAddress(address) {
75
214
  return new pendingTransactionsByAddress_1.default(this.c, address);
76
215
  }
77
216
  /**
78
217
  * Retrieves the StatusResponse from the running node.
218
+ *
219
+ * #### Example
220
+ * ```typescript
221
+ * const status = await algodClient.status().do();
222
+ * ```
223
+ *
224
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2status)
225
+ * @category GET
79
226
  */
80
227
  status() {
81
228
  return new status_1.default(this.c, this.intDecoding);
82
229
  }
83
230
  /**
84
- * Waits for a specific round to occur then returns the StatusResponse for that round.
231
+ * Waits for a specific round to occur then returns the `StatusResponse` for that round.
232
+ *
233
+ * #### Example
234
+ * ```typescript
235
+ * const round = 18038133;
236
+ * const statusAfterBlock = await algodClient.statusAfterBlock(round).do();
237
+ * ```
238
+ *
239
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2statuswait-for-block-afterround)
85
240
  * @param round - The number of the round to wait for.
241
+ * @category GET
86
242
  */
87
243
  statusAfterBlock(round) {
88
244
  return new statusAfterBlock_1.default(this.c, this.intDecoding, round);
89
245
  }
90
246
  /**
91
247
  * Returns the common needed parameters for a new transaction.
248
+ *
249
+ * #### Example
250
+ * ```typescript
251
+ * const suggestedParams = await algodClient.getTransactionParams().do();
252
+ * const amountInMicroAlgos = algosdk.algosToMicroalgos(2); // 2 Algos
253
+ * const unsignedTxn = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
254
+ * from: senderAddress,
255
+ * to: receiverAddress,
256
+ * amount: amountInMicroAlgos,
257
+ * suggestedParams: suggestedParams,
258
+ * });
259
+ * ```
260
+ *
261
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionsparams)
262
+ *
263
+ * @remarks
264
+ * Often used with
265
+ * {@linkcode makePaymentTxnWithSuggestedParamsFromObject}, {@linkcode algosToMicroalgos}
266
+ * @category GET
92
267
  */
93
268
  getTransactionParams() {
94
269
  return new suggestedParams_1.default(this.c);
95
270
  }
96
271
  /**
97
- * Gets the supply details for the specified node's ledger.
272
+ * Returns the supply details for the specified node's ledger.
273
+ *
274
+ * #### Example
275
+ * ```typescript
276
+ * const supplyDetails = await algodClient.supply().do();
277
+ * ```
278
+ *
279
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2ledgersupply)
280
+ * @category GET
98
281
  */
99
282
  supply() {
100
283
  return new supply_1.default(this.c, this.intDecoding);
101
284
  }
285
+ /**
286
+ * Compiles TEAL source code to binary, returns base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style).
287
+ *
288
+ * #### Example
289
+ * ```typescript
290
+ * const source = "TEAL SOURCE CODE";
291
+ * const compiledSmartContract = await algodClient.compile(source).do();
292
+ * ```
293
+ *
294
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealcompile)
295
+ * @remarks
296
+ * This endpoint is only enabled when a node's configuration file sets `EnableDeveloperAPI` to true.
297
+ * @param source
298
+ * @category POST
299
+ */
102
300
  compile(source) {
103
301
  return new compile_1.default(this.c, source);
104
302
  }
303
+ /**
304
+ * Provides debugging information for a transaction (or group).
305
+ *
306
+ * Executes TEAL program(s) in context and returns debugging information about the execution. This endpoint is only enabled when a node's configureation file sets `EnableDeveloperAPI` to true.
307
+ *
308
+ * #### Example
309
+ * ```typescript
310
+ * const dryRunResult = await algodClient.dryrun(dr).do();
311
+ * ```
312
+ *
313
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun)
314
+ * @param dr
315
+ * @category POST
316
+ */
105
317
  dryrun(dr) {
106
318
  return new dryrun_1.default(this.c, dr);
107
319
  }
108
320
  /**
109
321
  * Given an asset ID, return asset information including creator, name, total supply and
110
322
  * special addresses.
323
+ *
324
+ * #### Example
325
+ * ```typescript
326
+ * const asset_id = 163650;
327
+ * const asset = await algodClient.getAssetByID(asset_id).do();
328
+ * ```
329
+ *
330
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2assetsasset-id)
111
331
  * @param index - The asset ID to look up.
332
+ * @category GET
112
333
  */
113
334
  getAssetByID(index) {
114
335
  return new getAssetByID_1.default(this.c, this.intDecoding, index);
115
336
  }
116
337
  /**
117
- * Given an application ID, it returns application information including creator, approval
338
+ * Given an application ID, return the application information including creator, approval
118
339
  * and clear programs, global and local schemas, and global state.
340
+ *
341
+ * #### Example
342
+ * ```typescript
343
+ * const index = 60553466;
344
+ * const app = await algodClient.getApplicationByID(index).do();
345
+ * ```
346
+ *
347
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-id)
119
348
  * @param index - The application ID to look up.
349
+ * @category GET
120
350
  */
121
351
  getApplicationByID(index) {
122
352
  return new getApplicationByID_1.default(this.c, this.intDecoding, index);
123
353
  }
124
354
  /**
125
355
  * Returns the entire genesis file.
356
+ *
357
+ * #### Example
358
+ * ```typescript
359
+ * const genesis = await algodClient.genesis().do();
360
+ * ```
361
+ *
362
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-genesis)
363
+ * @category GET
126
364
  */
127
365
  genesis() {
128
366
  return new genesis_1.default(this.c, this.intDecoding);
129
367
  }
130
368
  /**
131
- * Get the proof for a given transaction in a round.
369
+ * Returns a Merkle proof for a given transaction in a block.
370
+ *
371
+ * #### Example
372
+ * ```typescript
373
+ * const round = 18038133;
374
+ * const txId = "MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA";
375
+ * const proof = await algodClient.getProof(round, txId).do();
376
+ * ```
377
+ *
378
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksroundtransactionstxidproof)
132
379
  * @param round - The round in which the transaction appears.
133
380
  * @param txID - The transaction ID for which to generate a proof.
381
+ * @category GET
134
382
  */
135
383
  getProof(round, txID) {
136
384
  return new proof_1.default(this.c, this.intDecoding, round, txID);
@@ -1 +1 @@
1
- {"version":3,"file":"algod.js","sourceRoot":"","sources":["../../../../../../src/client/v2/algod/algod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algod.js","sourceRoot":"","sources":["../../../../../../src/client/v2/algod/algod.ts"],"names":[],"mappings":"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"}
@@ -18,104 +18,256 @@ const searchAccounts_1 = __importDefault(require("./searchAccounts"));
18
18
  const searchForTransactions_1 = __importDefault(require("./searchForTransactions"));
19
19
  const searchForAssets_1 = __importDefault(require("./searchForAssets"));
20
20
  const searchForApplications_1 = __importDefault(require("./searchForApplications"));
21
+ /**
22
+ * The Indexer provides a REST API interface of API calls to support searching the Algorand Blockchain.
23
+ *
24
+ * The Indexer REST APIs retrieve the blockchain data from a PostgreSQL compatible database that must be populated.
25
+ *
26
+ * 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.
27
+ *
28
+ * This node must also be an Archival node to make searching the entire blockchain possible.
29
+ *
30
+ * #### Relevant Information
31
+ * [Learn more about Indexer](https://developer.algorand.org/docs/get-details/indexer/)
32
+ *
33
+ * [Run Indexer in Postman OAS3](https://developer.algorand.org/docs/rest-apis/restendpoints/#algod-indexer-and-kmd-rest-endpoints)
34
+ */
21
35
  class IndexerClient extends serviceClient_1.default {
22
36
  /**
23
37
  * Create an IndexerClient from
24
38
  * * either a token, baseServer, port, and optional headers
25
39
  * * or a base client server for interoperability with external dApp wallets
40
+ *
41
+ * #### Example
42
+ * ```typescript
43
+ * const token = "";
44
+ * const server = "http://localhost";
45
+ * const port = 8980;
46
+ * const indexerClient = new algosdk.Indexer(token, server, port);
47
+ * ```
48
+ * @remarks
49
+ * The above configuration is for a sandbox private network.
50
+ * 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.
51
+ *
52
+ * @param tokenOrBaseClient - The API token for the Indexer API
53
+ * @param baseServer - REST endpoint
54
+ * @param port - Port number if specifically configured by the server
55
+ * @param headers - Optional headers
26
56
  */
27
57
  constructor(tokenOrBaseClient, baseServer = 'http://127.0.0.1', port = 8080, headers = {}) {
28
58
  super('X-Indexer-API-Token', tokenOrBaseClient, baseServer, port, headers);
29
59
  }
30
60
  /**
31
61
  * Returns the health object for the service.
62
+ * Returns 200 if healthy.
63
+ *
64
+ * #### Example
65
+ * ```typescript
66
+ * const health = await indexerClient.makeHealthCheck().do();
67
+ * ```
68
+ *
69
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-health)
70
+ * @category GET
32
71
  */
33
72
  makeHealthCheck() {
34
73
  return new makeHealthCheck_1.default(this.c, this.intDecoding);
35
74
  }
36
75
  /**
37
- * Returns holder balances for the given asset.
76
+ * Returns the list of accounts who hold the given asset and their balance.
77
+ *
78
+ * #### Example
79
+ * ```typescript
80
+ * const assetId = 163650;
81
+ * const assetBalances = await indexerClient.lookupAssetBalances(assetId).do();
82
+ * ```
83
+ *
84
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idbalances)
38
85
  * @param index - The asset ID to look up.
86
+ * @category GET
39
87
  */
40
88
  lookupAssetBalances(index) {
41
89
  return new lookupAssetBalances_1.default(this.c, this.intDecoding, index);
42
90
  }
43
91
  /**
44
92
  * Returns transactions relating to the given asset.
93
+ *
94
+ * #### Example
95
+ * ```typescript
96
+ * const assetId = 163650;
97
+ * const assetTxns = await indexerClient.lookupAssetTransactions(assetId).do();
98
+ * ```
99
+ *
100
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idtransactions)
45
101
  * @param index - The asset ID to look up.
102
+ * @category GET
46
103
  */
47
104
  lookupAssetTransactions(index) {
48
105
  return new lookupAssetTransactions_1.default(this.c, this.intDecoding, index);
49
106
  }
50
107
  /**
51
108
  * Returns transactions relating to the given account.
109
+ *
110
+ * #### Example
111
+ * ```typescript
112
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
113
+ * const accountTxns = await indexerClient.lookupAccountTransactions(address).do();
114
+ * ```
115
+ *
116
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idtransactions)
52
117
  * @param account - The address of the account.
118
+ * @category GET
53
119
  */
54
120
  lookupAccountTransactions(account) {
55
121
  return new lookupAccountTransactions_1.default(this.c, this.intDecoding, account);
56
122
  }
57
123
  /**
58
124
  * Returns the block for the passed round.
125
+ *
126
+ * #### Example
127
+ * ```typescript
128
+ * const targetBlock = 18309917;
129
+ * const blockInfo = await indexerClient.lookupBlock(targetBlock).do();
130
+ * ```
131
+ *
132
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2blocksround-number)
59
133
  * @param round - The number of the round to look up.
134
+ * @category GET
60
135
  */
61
136
  lookupBlock(round) {
62
137
  return new lookupBlock_1.default(this.c, this.intDecoding, round);
63
138
  }
64
139
  /**
65
140
  * Returns information about the given transaction.
141
+ *
142
+ * #### Example
143
+ * ```typescript
144
+ * const txnId = "MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA";
145
+ * const txnInfo = await indexerClient.lookupTransactionByID(txnId).do();
146
+ * ```
147
+ *
148
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid)
66
149
  * @param txID - The ID of the transaction to look up.
150
+ * @category GET
67
151
  */
68
152
  lookupTransactionByID(txID) {
69
153
  return new lookupTransactionByID_1.default(this.c, this.intDecoding, txID);
70
154
  }
71
155
  /**
72
156
  * Returns information about the given account.
157
+ *
158
+ * #### Example
159
+ * ```typescript
160
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
161
+ * const accountInfo = await indexerClient.lookupAccountByID(address).do();
162
+ * ```
163
+ *
164
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-id)
73
165
  * @param account - The address of the account to look up.
166
+ * @category GET
74
167
  */
75
168
  lookupAccountByID(account) {
76
169
  return new lookupAccountByID_1.default(this.c, this.intDecoding, account);
77
170
  }
78
171
  /**
79
172
  * Returns information about the passed asset.
173
+ *
174
+ * #### Example
175
+ * ```typescript
176
+ * const assetId = 163650;
177
+ * const assetInfo = await indexerClient.lookupAssetByID(assetId).do();
178
+ * ```
179
+ *
180
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-id)
80
181
  * @param index - The ID of the asset ot look up.
182
+ * @category GET
81
183
  */
82
184
  lookupAssetByID(index) {
83
185
  return new lookupAssetByID_1.default(this.c, this.intDecoding, index);
84
186
  }
85
187
  /**
86
188
  * Returns information about the passed application.
189
+ *
190
+ * #### Example
191
+ * ```typescript
192
+ * const appId = 60553466;
193
+ * const appInfo = await indexerClient.lookupApplications(appId).do();
194
+ * ```
195
+ *
196
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-id)
87
197
  * @param index - The ID of the application to look up.
198
+ * @category GET
88
199
  */
89
200
  lookupApplications(index) {
90
201
  return new lookupApplications_1.default(this.c, this.intDecoding, index);
91
202
  }
92
203
  /**
93
204
  * Returns log messages generated by the passed in application.
205
+ *
206
+ * #### Example
207
+ * ```typescript
208
+ * const appId = 60553466;
209
+ * const appLogs = await indexerClient.lookupApplicationLogs(appId).do();
210
+ * ```
211
+ *
212
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idlogs)
94
213
  * @param appID - The ID of the application which generated the logs.
214
+ * @category GET
95
215
  */
96
216
  lookupApplicationLogs(appID) {
97
217
  return new lookupApplicationLogs_1.default(this.c, this.intDecoding, appID);
98
218
  }
99
219
  /**
100
220
  * Returns information about indexed accounts.
221
+ *
222
+ * #### Example
223
+ * ```typescript
224
+ * const accounts = await indexerClient.searchAccounts().do();
225
+ * ```
226
+ *
227
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accounts)
228
+ * @category GET
101
229
  */
102
230
  searchAccounts() {
103
231
  return new searchAccounts_1.default(this.c, this.intDecoding);
104
232
  }
105
233
  /**
106
234
  * Returns information about indexed transactions.
235
+ *
236
+ * #### Example
237
+ * ```typescript
238
+ * const txns = await indexerClient.searchForTransactions().do();
239
+ * ```
240
+ *
241
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactions)
242
+ * @category GET
107
243
  */
108
244
  searchForTransactions() {
109
245
  return new searchForTransactions_1.default(this.c, this.intDecoding);
110
246
  }
111
247
  /**
112
248
  * Returns information about indexed assets.
249
+ *
250
+ * #### Example
251
+ * ```typescript
252
+ * const assets = await indexerClient.searchForAssets().do();
253
+ * ```
254
+ *
255
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assets)
256
+ * @category GET
113
257
  */
114
258
  searchForAssets() {
115
259
  return new searchForAssets_1.default(this.c, this.intDecoding);
116
260
  }
117
261
  /**
118
262
  * Returns information about indexed applications.
263
+ *
264
+ * #### Example
265
+ * ```typescript
266
+ * const apps = await indexerClient.searchForApplications().do();
267
+ * ```
268
+ *
269
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applications)
270
+ * @category GET
119
271
  */
120
272
  searchForApplications() {
121
273
  return new searchForApplications_1.default(this.c, this.intDecoding);
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"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"}