algosdk 2.2.0 → 2.3.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 (93) hide show
  1. package/README.md +5 -7
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/client/v2/algod/algod.js +201 -25
  5. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  6. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +1 -1
  7. package/dist/cjs/client/v2/algod/getApplicationBoxes.js +1 -1
  8. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js +19 -0
  9. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -0
  10. package/dist/cjs/client/v2/algod/getSyncRound.js +19 -0
  11. package/dist/cjs/client/v2/algod/getSyncRound.js.map +1 -0
  12. package/dist/cjs/client/v2/algod/models/types.js +257 -23
  13. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  14. package/dist/cjs/client/v2/algod/ready.js +14 -0
  15. package/dist/cjs/client/v2/algod/ready.js.map +1 -0
  16. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js +22 -0
  17. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -0
  18. package/dist/cjs/client/v2/algod/setSyncRound.js +22 -0
  19. package/dist/cjs/client/v2/algod/setSyncRound.js.map +1 -0
  20. package/dist/cjs/client/v2/algod/simulateTransaction.js +4 -19
  21. package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -1
  22. package/dist/cjs/client/v2/algod/suggestedParams.js +1 -0
  23. package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -1
  24. package/dist/cjs/client/v2/algod/unsetSyncRound.js +18 -0
  25. package/dist/cjs/client/v2/algod/unsetSyncRound.js.map +1 -0
  26. package/dist/cjs/composer.js +39 -2
  27. package/dist/cjs/composer.js.map +1 -1
  28. package/dist/cjs/main.js.map +1 -1
  29. package/dist/cjs/makeTxn.js.map +1 -1
  30. package/dist/cjs/transaction.js +1 -2
  31. package/dist/cjs/transaction.js.map +1 -1
  32. package/dist/esm/client/v2/algod/algod.js +178 -25
  33. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  34. package/dist/esm/client/v2/algod/getApplicationBoxByName.js +1 -1
  35. package/dist/esm/client/v2/algod/getApplicationBoxes.js +1 -1
  36. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js +13 -0
  37. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -0
  38. package/dist/esm/client/v2/algod/getSyncRound.js +13 -0
  39. package/dist/esm/client/v2/algod/getSyncRound.js.map +1 -0
  40. package/dist/esm/client/v2/algod/models/types.js +250 -22
  41. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  42. package/dist/esm/client/v2/algod/ready.js +8 -0
  43. package/dist/esm/client/v2/algod/ready.js.map +1 -0
  44. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js +16 -0
  45. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -0
  46. package/dist/esm/client/v2/algod/setSyncRound.js +16 -0
  47. package/dist/esm/client/v2/algod/setSyncRound.js.map +1 -0
  48. package/dist/esm/client/v2/algod/simulateTransaction.js +4 -19
  49. package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -1
  50. package/dist/esm/client/v2/algod/suggestedParams.js +1 -0
  51. package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -1
  52. package/dist/esm/client/v2/algod/unsetSyncRound.js +12 -0
  53. package/dist/esm/client/v2/algod/unsetSyncRound.js.map +1 -0
  54. package/dist/esm/composer.js +16 -2
  55. package/dist/esm/composer.js.map +1 -1
  56. package/dist/esm/main.js.map +1 -1
  57. package/dist/esm/makeTxn.js.map +1 -1
  58. package/dist/esm/transaction.js +1 -2
  59. package/dist/esm/transaction.js.map +1 -1
  60. package/dist/types/client/v2/algod/algod.d.ts +145 -24
  61. package/dist/types/client/v2/algod/getApplicationBoxByName.d.ts +1 -1
  62. package/dist/types/client/v2/algod/getApplicationBoxes.d.ts +1 -1
  63. package/dist/types/client/v2/algod/getBlockOffsetTimestamp.d.ts +6 -0
  64. package/dist/types/client/v2/algod/getSyncRound.d.ts +6 -0
  65. package/dist/types/client/v2/algod/models/types.d.ts +236 -29
  66. package/dist/types/client/v2/algod/ready.d.ts +4 -0
  67. package/dist/types/client/v2/algod/setBlockOffsetTimestamp.d.ts +9 -0
  68. package/dist/types/client/v2/algod/setSyncRound.d.ts +9 -0
  69. package/dist/types/client/v2/algod/simulateTransaction.d.ts +3 -3
  70. package/dist/types/client/v2/algod/suggestedParams.d.ts +3 -3
  71. package/dist/types/client/v2/algod/unsetSyncRound.d.ts +5 -0
  72. package/dist/types/composer.d.ts +5 -2
  73. package/dist/types/main.d.ts +1 -0
  74. package/dist/types/makeTxn.d.ts +1 -3
  75. package/dist/types/types/transactions/base.d.ts +6 -0
  76. package/package.json +2 -2
  77. package/src/client/v2/algod/algod.ts +184 -25
  78. package/src/client/v2/algod/getApplicationBoxByName.ts +1 -1
  79. package/src/client/v2/algod/getApplicationBoxes.ts +1 -1
  80. package/src/client/v2/algod/getBlockOffsetTimestamp.ts +17 -0
  81. package/src/client/v2/algod/getSyncRound.ts +17 -0
  82. package/src/client/v2/algod/models/types.ts +454 -36
  83. package/src/client/v2/algod/ready.ts +8 -0
  84. package/src/client/v2/algod/setBlockOffsetTimestamp.ts +20 -0
  85. package/src/client/v2/algod/setSyncRound.ts +20 -0
  86. package/src/client/v2/algod/simulateTransaction.ts +6 -22
  87. package/src/client/v2/algod/suggestedParams.ts +4 -3
  88. package/src/client/v2/algod/unsetSyncRound.ts +13 -0
  89. package/src/composer.ts +27 -3
  90. package/src/main.ts +7 -0
  91. package/src/makeTxn.ts +2 -4
  92. package/src/transaction.ts +1 -2
  93. package/src/types/transactions/base.ts +7 -0
@@ -1052,10 +1052,9 @@ export class Transaction {
1052
1052
  */
1053
1053
  export function encodeUnsignedSimulateTransaction(transactionObject) {
1054
1054
  const objToEncode = {
1055
- sig: null,
1056
1055
  txn: transactionObject.get_obj_for_encoding(),
1057
1056
  };
1058
- return encoding.rawEncode(objToEncode);
1057
+ return encoding.encode(objToEncode);
1059
1058
  }
1060
1059
  /**
1061
1060
  * encodeUnsignedTransaction takes a completed txnBuilder.Transaction object, such as from the makeFoo
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,14 @@ import { BaseHTTPClient } from '../../baseHTTPClient';
27
27
  import { AlgodTokenHeader, CustomTokenHeader } from '../../urlTokenBaseHTTPClient';
28
28
  import LightBlockHeaderProof from './lightBlockHeaderProof';
29
29
  import StateProof from './stateproof';
30
+ import SetSyncRound from './setSyncRound';
31
+ import GetSyncRound from './getSyncRound';
32
+ import SetBlockOffsetTimestamp from './setBlockOffsetTimestamp';
33
+ import GetBlockOffsetTimestamp from './getBlockOffsetTimestamp';
30
34
  import Disassemble from './disassemble';
31
35
  import SimulateRawTransactions from './simulateTransaction';
36
+ import Ready from './ready';
37
+ import UnsetSyncRound from './unsetSyncRound';
32
38
  /**
33
39
  * 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.
34
40
  *
@@ -70,7 +76,7 @@ export default class AlgodClient extends ServiceClient {
70
76
  * const health = await algodClient.healthCheck().do();
71
77
  * ```
72
78
  *
73
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-health)
79
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-health)
74
80
  * @category GET
75
81
  */
76
82
  healthCheck(): HealthCheck;
@@ -82,7 +88,7 @@ export default class AlgodClient extends ServiceClient {
82
88
  * const versionsDetails = await algodClient.versionsCheck().do();
83
89
  * ```
84
90
  *
85
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-versions)
91
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-versions)
86
92
  * @category GET
87
93
  */
88
94
  versionsCheck(): Versions;
@@ -95,7 +101,7 @@ export default class AlgodClient extends ServiceClient {
95
101
  * const result = await waitForConfirmation(algodClient, txid, 3);
96
102
  * ```
97
103
  *
98
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactions)
104
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2transactions)
99
105
  *
100
106
  * @remarks
101
107
  * Often used with {@linkcode waitForConfirmation}
@@ -112,7 +118,7 @@ export default class AlgodClient extends ServiceClient {
112
118
  * const accountInfo = await algodClient.accountInformation(address).do();
113
119
  * ```
114
120
  *
115
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)
121
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2accountsaddress)
116
122
  * @param account - The address of the account to look up.
117
123
  * @category GET
118
124
  */
@@ -127,7 +133,7 @@ export default class AlgodClient extends ServiceClient {
127
133
  * const accountAssetInfo = await algodClient.accountAssetInformation(address, index).do();
128
134
  * ```
129
135
  *
130
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)
136
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2accountsaddress)
131
137
  * @param account - The address of the account to look up.
132
138
  * @param index - The asset ID to look up.
133
139
  * @category GET
@@ -143,7 +149,7 @@ export default class AlgodClient extends ServiceClient {
143
149
  * const accountInfo = await algodClient.accountApplicationInformation(address, index).do();
144
150
  * ```
145
151
  *
146
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)
152
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2accountsaddress)
147
153
  * @param account - The address of the account to look up.
148
154
  * @param index - The application ID to look up.
149
155
  * @category GET
@@ -158,7 +164,7 @@ export default class AlgodClient extends ServiceClient {
158
164
  * const block = await algodClient.block(roundNumber).do();
159
165
  * ```
160
166
  *
161
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksround)
167
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2blocksround)
162
168
  * @param roundNumber - The round number of the block to get.
163
169
  * @category GET
164
170
  */
@@ -172,7 +178,7 @@ export default class AlgodClient extends ServiceClient {
172
178
  * const block = await algodClient.getBlockHash(roundNumber).do();
173
179
  * ```
174
180
  *
175
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksroundhash)
181
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2blocksroundhash)
176
182
  * @param roundNumber - The round number of the block to get.
177
183
  * @category GET
178
184
  */
@@ -186,7 +192,7 @@ export default class AlgodClient extends ServiceClient {
186
192
  * const pending = await algodClient.pendingTransactionInformation(txId).do();
187
193
  * ```
188
194
  *
189
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspendingtxid)
195
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2transactionspendingtxid)
190
196
  *
191
197
  * @remarks
192
198
  * <br><br>
@@ -219,7 +225,7 @@ export default class AlgodClient extends ServiceClient {
219
225
  * .do();
220
226
  * ```
221
227
  *
222
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspending)
228
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2transactionspending)
223
229
  * @category GET
224
230
  */
225
231
  pendingTransactionsInformation(): PendingTransactions;
@@ -243,7 +249,7 @@ export default class AlgodClient extends ServiceClient {
243
249
  * .do();
244
250
  * ```
245
251
  *
246
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddresstransactionspending)
252
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2accountsaddresstransactionspending)
247
253
  * @param address - The address of the sender.
248
254
  * @category GET
249
255
  */
@@ -256,7 +262,7 @@ export default class AlgodClient extends ServiceClient {
256
262
  * const status = await algodClient.status().do();
257
263
  * ```
258
264
  *
259
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2status)
265
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2status)
260
266
  * @category GET
261
267
  */
262
268
  status(): Status;
@@ -269,7 +275,7 @@ export default class AlgodClient extends ServiceClient {
269
275
  * const statusAfterBlock = await algodClient.statusAfterBlock(round).do();
270
276
  * ```
271
277
  *
272
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2statuswait-for-block-afterround)
278
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2statuswait-for-block-afterround)
273
279
  * @param round - The number of the round to wait for.
274
280
  * @category GET
275
281
  */
@@ -289,7 +295,7 @@ export default class AlgodClient extends ServiceClient {
289
295
  * });
290
296
  * ```
291
297
  *
292
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionsparams)
298
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2transactionsparams)
293
299
  *
294
300
  * @remarks
295
301
  * Often used with
@@ -305,7 +311,7 @@ export default class AlgodClient extends ServiceClient {
305
311
  * const supplyDetails = await algodClient.supply().do();
306
312
  * ```
307
313
  *
308
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2ledgersupply)
314
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2ledgersupply)
309
315
  * @category GET
310
316
  */
311
317
  supply(): Supply;
@@ -318,7 +324,7 @@ export default class AlgodClient extends ServiceClient {
318
324
  * const compiledSmartContract = await algodClient.compile(source).do();
319
325
  * ```
320
326
  *
321
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealcompile)
327
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2tealcompile)
322
328
  * @remarks
323
329
  * This endpoint is only enabled when a node's configuration file sets `EnableDeveloperAPI` to true.
324
330
  * @param source
@@ -348,7 +354,7 @@ export default class AlgodClient extends ServiceClient {
348
354
  * const dryRunResult = await algodClient.dryrun(dr).do();
349
355
  * ```
350
356
  *
351
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun)
357
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2tealdryrun)
352
358
  * @param dr
353
359
  * @category POST
354
360
  */
@@ -363,7 +369,7 @@ export default class AlgodClient extends ServiceClient {
363
369
  * const asset = await algodClient.getAssetByID(asset_id).do();
364
370
  * ```
365
371
  *
366
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2assetsasset-id)
372
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2assetsasset-id)
367
373
  * @param index - The asset ID to look up.
368
374
  * @category GET
369
375
  */
@@ -378,7 +384,7 @@ export default class AlgodClient extends ServiceClient {
378
384
  * const app = await algodClient.getApplicationByID(index).do();
379
385
  * ```
380
386
  *
381
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-id)
387
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2applicationsapplication-id)
382
388
  * @param index - The application ID to look up.
383
389
  * @category GET
384
390
  */
@@ -394,7 +400,7 @@ export default class AlgodClient extends ServiceClient {
394
400
  * const boxValue = boxResponse.value;
395
401
  * ```
396
402
  *
397
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idbox)
403
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2applicationsapplication-idbox)
398
404
  * @param index - The application ID to look up.
399
405
  * @category GET
400
406
  */
@@ -409,7 +415,7 @@ export default class AlgodClient extends ServiceClient {
409
415
  * const boxNames = boxesResponse.boxes.map(box => box.name);
410
416
  * ```
411
417
  *
412
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idboxes)
418
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2applicationsapplication-idboxes)
413
419
  * @param index - The application ID to look up.
414
420
  * @category GET
415
421
  */
@@ -422,7 +428,7 @@ export default class AlgodClient extends ServiceClient {
422
428
  * const genesis = await algodClient.genesis().do();
423
429
  * ```
424
430
  *
425
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-genesis)
431
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-genesis)
426
432
  * @category GET
427
433
  */
428
434
  genesis(): Genesis;
@@ -436,7 +442,7 @@ export default class AlgodClient extends ServiceClient {
436
442
  * const proof = await algodClient.getTransactionProof(round, txId).do();
437
443
  * ```
438
444
  *
439
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksroundtransactionstxidproof)
445
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2blocksroundtransactionstxidproof)
440
446
  * @param round - The round in which the transaction appears.
441
447
  * @param txID - The transaction ID for which to generate a proof.
442
448
  * @category GET
@@ -473,12 +479,127 @@ export default class AlgodClient extends ServiceClient {
473
479
  *
474
480
  * #### Example
475
481
  * ```typescript
482
+ * const txn1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject(txn1Params);
483
+ * const txn2 = algosdk.makePaymentTxnWithSuggestedParamsFromObject(txn2Params);
484
+ * const txgroup = algosdk.assignGroupID([txn1, txn2]);
485
+ *
486
+ * // Actually sign the first transaction
487
+ * const signedTxn1 = txgroup[0].signTxn(senderSk).blob;
488
+ * // Simulate does not require signed transactions -- use this method to encode an unsigned transaction
489
+ * const signedTxn2 = algosdk.encodeUnsignedSimulateTransaction(txgroup[1]);
490
+ *
476
491
  * const resp = await client.simulateRawTransactions([signedTxn1, signedTxn2]).do();
477
492
  * ```
478
493
  *
479
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactionssimulate)
494
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2transactionssimulate)
480
495
  * @param stxOrStxs
481
496
  * @category POST
482
497
  */
483
498
  simulateRawTransactions(stxOrStxs: Uint8Array | Uint8Array[]): SimulateRawTransactions;
499
+ /**
500
+ * Simulate transactions being sent to the network.
501
+ *
502
+ * #### Example
503
+ * ```typescript
504
+ * const txn1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject(txn1Params);
505
+ * const txn2 = algosdk.makePaymentTxnWithSuggestedParamsFromObject(txn2Params);
506
+ * const txgroup = algosdk.assignGroupID([txn1, txn2]);
507
+ *
508
+ * // Actually sign the first transaction
509
+ * const signedTxn1 = txgroup[0].signTxn(senderSk).blob;
510
+ * // Simulate does not require signed transactions -- use this method to encode an unsigned transaction
511
+ * const signedTxn2 = algosdk.encodeUnsignedSimulateTransaction(txgroup[1]);
512
+ *
513
+ * const request = new modelsv2.SimulateRequest({
514
+ * txnGroups: [
515
+ * new modelsv2.SimulateRequestTransactionGroup({
516
+ * // Must decode the signed txn bytes into an object
517
+ * txns: [algosdk.decodeObj(signedTxn1), algosdk.decodeObj(signedTxn2)]
518
+ * }),
519
+ * ],
520
+ * });
521
+ * const resp = await client.simulateRawTransactions(request).do();
522
+ * ```
523
+ *
524
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2transactionssimulate)
525
+ * @param request
526
+ * @category POST
527
+ */
528
+ simulateTransactions(request: modelsv2.SimulateRequest): SimulateRawTransactions;
529
+ /**
530
+ * Set the offset (in seconds) applied to the block timestamp when creating new blocks in devmode.
531
+ *
532
+ * #### Example
533
+ * ```typesecript
534
+ * const offset = 60
535
+ * await client.setBlockOffsetTimestamp(offset).do();
536
+ * ```
537
+ *
538
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2devmodeblocksoffsetoffset)
539
+ * @param offset
540
+ * @category POST
541
+ */
542
+ setBlockOffsetTimestamp(offset: number): SetBlockOffsetTimestamp;
543
+ /**
544
+ * Get the offset (in seconds) applied to the block timestamp when creating new blocks in devmode.
545
+ *
546
+ * #### Example
547
+ * ```typesecript
548
+ * const currentOffset = await client.getBlockOffsetTimestamp().do();
549
+ * ```
550
+ *
551
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2devmodeblocksoffset)
552
+ * @category GET
553
+ */
554
+ getBlockOffsetTimestamp(): GetBlockOffsetTimestamp;
555
+ /**
556
+ * Set the sync round on the ledger (algod must have EnableFollowMode: true), restricting catchup.
557
+ *
558
+ * #### Example
559
+ * ```typesecript
560
+ * const round = 10000
561
+ * await client.setSyncRound(round).do();
562
+ * ```
563
+ *
564
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2ledgersyncround)
565
+ * @param round
566
+ * @category POST
567
+ */
568
+ setSyncRound(round: number): SetSyncRound;
569
+ /**
570
+ * Un-Set the sync round on the ledger (algod must have EnableFollowMode: true), removing the restriction on catchup.
571
+ *
572
+ * #### Example
573
+ * ```typesecript
574
+ * await client.unsetSyncRound().do();
575
+ * ```
576
+ *
577
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#delete-v2ledgersync)
578
+ * @category DELETE
579
+ */
580
+ unsetSyncRound(): UnsetSyncRound;
581
+ /**
582
+ * Get the current sync round on the ledger (algod must have EnableFollowMode: true).
583
+ *
584
+ * #### Example
585
+ * ```typesecript
586
+ * const currentSyncRound = await client.getSyncRound().do();
587
+ * ```
588
+ *
589
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2ledgersync)
590
+ * @category GET
591
+ */
592
+ getSyncRound(): GetSyncRound;
593
+ /**
594
+ * Ready check which returns 200 OK if algod is healthy and caught up
595
+ *
596
+ * #### Example
597
+ * ```typesecript
598
+ * await client.ready().do();
599
+ * ```
600
+ *
601
+ [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-ready)
602
+ * @category GET
603
+ */
604
+ ready(): Ready;
484
605
  }
@@ -13,7 +13,7 @@ import { Box } from './models/types';
13
13
  * const boxValue = boxResponse.value;
14
14
  * ```
15
15
  *
16
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idbox)
16
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2applicationsapplication-idbox)
17
17
  * @param index - The application ID to look up.
18
18
  * @category GET
19
19
  */
@@ -12,7 +12,7 @@ import { BoxesResponse } from './models/types';
12
12
  * const boxNames = boxesResponse.boxes.map(box => box.name);
13
13
  * ```
14
14
  *
15
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idboxes)
15
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#get-v2applicationsapplication-idboxes)
16
16
  * @param index - The application ID to look up.
17
17
  * @category GET
18
18
  */
@@ -0,0 +1,6 @@
1
+ import JSONRequest from '../jsonrequest';
2
+ import { GetBlockTimeStampOffsetResponse } from './models/types';
3
+ export default class GetBlockOffsetTimestamp extends JSONRequest<GetBlockTimeStampOffsetResponse, Record<string, any>> {
4
+ path(): string;
5
+ prepare(body: Record<string, any>): GetBlockTimeStampOffsetResponse;
6
+ }
@@ -0,0 +1,6 @@
1
+ import JSONRequest from '../jsonrequest';
2
+ import { GetSyncRoundResponse } from './models/types';
3
+ export default class GetSyncRound extends JSONRequest<GetSyncRoundResponse, Record<string, any>> {
4
+ path(): string;
5
+ prepare(body: Record<string, any>): GetSyncRoundResponse;
6
+ }