algosdk 3.6.0 → 3.7.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 (153) 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/appAccess.js +4 -0
  5. package/dist/cjs/appAccess.js.map +1 -1
  6. package/dist/cjs/client/v2/algod/algod.js +0 -18
  7. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  8. package/dist/cjs/client/v2/algod/models/types.js +153 -437
  9. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  10. package/dist/cjs/client/v2/indexer/models/types.js +163 -12
  11. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  12. package/dist/cjs/composer.js +4 -6
  13. package/dist/cjs/composer.js.map +1 -1
  14. package/dist/cjs/ed25519-signer.js +76 -0
  15. package/dist/cjs/ed25519-signer.js.map +1 -0
  16. package/dist/cjs/encoding/address.js +61 -1
  17. package/dist/cjs/encoding/address.js.map +1 -1
  18. package/dist/cjs/falcon-signer.js +17 -0
  19. package/dist/cjs/falcon-signer.js.map +1 -0
  20. package/dist/cjs/heartbeat.js +7 -0
  21. package/dist/cjs/heartbeat.js.map +1 -1
  22. package/dist/cjs/logicsig.js +201 -16
  23. package/dist/cjs/logicsig.js.map +1 -1
  24. package/dist/cjs/main.js +32 -63
  25. package/dist/cjs/main.js.map +1 -1
  26. package/dist/cjs/makeTxn.js +11 -2
  27. package/dist/cjs/makeTxn.js.map +1 -1
  28. package/dist/cjs/mnemonic/mnemonic.js +26 -1
  29. package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
  30. package/dist/cjs/multisigSigning.js +78 -1
  31. package/dist/cjs/multisigSigning.js.map +1 -1
  32. package/dist/cjs/pq-signer.js +80 -0
  33. package/dist/cjs/pq-signer.js.map +1 -0
  34. package/dist/cjs/signedTransaction.js +15 -1
  35. package/dist/cjs/signedTransaction.js.map +1 -1
  36. package/dist/cjs/signer.js.map +1 -1
  37. package/dist/cjs/signing.js +94 -7
  38. package/dist/cjs/signing.js.map +1 -1
  39. package/dist/cjs/transaction.js +17 -1
  40. package/dist/cjs/transaction.js.map +1 -1
  41. package/dist/cjs/types/statedelta.js +17 -0
  42. package/dist/cjs/types/statedelta.js.map +1 -1
  43. package/dist/cjs/types/transactions/encoded.js +51 -1
  44. package/dist/cjs/types/transactions/encoded.js.map +1 -1
  45. package/dist/cjs/utils/ed25519-check.js +69 -0
  46. package/dist/cjs/utils/ed25519-check.js.map +1 -0
  47. package/dist/cjs/utils/utils.js +14 -1
  48. package/dist/cjs/utils/utils.js.map +1 -1
  49. package/dist/esm/appAccess.js +4 -0
  50. package/dist/esm/appAccess.js.map +1 -1
  51. package/dist/esm/client/v2/algod/algod.js +0 -18
  52. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  53. package/dist/esm/client/v2/algod/models/types.js +149 -430
  54. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  55. package/dist/esm/client/v2/indexer/models/types.js +161 -11
  56. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  57. package/dist/esm/composer.js +4 -6
  58. package/dist/esm/composer.js.map +1 -1
  59. package/dist/esm/ed25519-signer.js +72 -0
  60. package/dist/esm/ed25519-signer.js.map +1 -0
  61. package/dist/esm/encoding/address.js +58 -0
  62. package/dist/esm/encoding/address.js.map +1 -1
  63. package/dist/esm/falcon-signer.js +13 -0
  64. package/dist/esm/falcon-signer.js.map +1 -0
  65. package/dist/esm/heartbeat.js +8 -1
  66. package/dist/esm/heartbeat.js.map +1 -1
  67. package/dist/esm/logicsig.js +200 -15
  68. package/dist/esm/logicsig.js.map +1 -1
  69. package/dist/esm/main.js +8 -56
  70. package/dist/esm/main.js.map +1 -1
  71. package/dist/esm/makeTxn.js +11 -2
  72. package/dist/esm/makeTxn.js.map +1 -1
  73. package/dist/esm/mnemonic/mnemonic.js +25 -1
  74. package/dist/esm/mnemonic/mnemonic.js.map +1 -1
  75. package/dist/esm/multisigSigning.js +75 -0
  76. package/dist/esm/multisigSigning.js.map +1 -1
  77. package/dist/esm/pq-signer.js +76 -0
  78. package/dist/esm/pq-signer.js.map +1 -0
  79. package/dist/esm/signedTransaction.js +16 -2
  80. package/dist/esm/signedTransaction.js.map +1 -1
  81. package/dist/esm/signer.js.map +1 -1
  82. package/dist/esm/signing.js +91 -8
  83. package/dist/esm/signing.js.map +1 -1
  84. package/dist/esm/transaction.js +17 -1
  85. package/dist/esm/transaction.js.map +1 -1
  86. package/dist/esm/types/statedelta.js +17 -0
  87. package/dist/esm/types/statedelta.js.map +1 -1
  88. package/dist/esm/types/transactions/encoded.js +49 -1
  89. package/dist/esm/types/transactions/encoded.js.map +1 -1
  90. package/dist/esm/utils/ed25519-check.js +65 -0
  91. package/dist/esm/utils/ed25519-check.js.map +1 -0
  92. package/dist/esm/utils/utils.js +12 -0
  93. package/dist/esm/utils/utils.js.map +1 -1
  94. package/dist/types/client/v2/algod/algod.d.ts +0 -16
  95. package/dist/types/client/v2/algod/models/types.d.ts +90 -220
  96. package/dist/types/client/v2/indexer/models/types.d.ts +114 -7
  97. package/dist/types/composer.d.ts +3 -3
  98. package/dist/types/ed25519-signer.d.ts +7 -0
  99. package/dist/types/encoding/address.d.ts +37 -0
  100. package/dist/types/falcon-signer.d.ts +11 -0
  101. package/dist/types/heartbeat.d.ts +2 -0
  102. package/dist/types/logicsig.d.ts +72 -1
  103. package/dist/types/main.d.ts +8 -44
  104. package/dist/types/makeTxn.d.ts +8 -2
  105. package/dist/types/mnemonic/mnemonic.d.ts +13 -0
  106. package/dist/types/multisigSigning.d.ts +49 -0
  107. package/dist/types/pq-signer.d.ts +8 -0
  108. package/dist/types/signedTransaction.d.ts +7 -2
  109. package/dist/types/signer.d.ts +46 -0
  110. package/dist/types/signing.d.ts +45 -0
  111. package/dist/types/transaction.d.ts +10 -0
  112. package/dist/types/types/statedelta.d.ts +18 -0
  113. package/dist/types/types/transactions/base.d.ts +10 -0
  114. package/dist/types/types/transactions/encoded.d.ts +27 -0
  115. package/dist/types/utils/ed25519-check.d.ts +10 -0
  116. package/dist/types/utils/utils.d.ts +1 -0
  117. package/package.json +2 -1
  118. package/src/appAccess.ts +5 -0
  119. package/src/client/v2/algod/algod.ts +0 -19
  120. package/src/client/v2/algod/models/types.ts +324 -790
  121. package/src/client/v2/indexer/models/types.ts +280 -8
  122. package/src/composer.ts +7 -11
  123. package/src/ed25519-signer.ts +125 -0
  124. package/src/encoding/address.ts +80 -0
  125. package/src/falcon-signer.ts +33 -0
  126. package/src/heartbeat.ts +11 -0
  127. package/src/logicsig.ts +258 -16
  128. package/src/main.ts +30 -60
  129. package/src/makeTxn.ts +13 -4
  130. package/src/mnemonic/mnemonic.ts +34 -1
  131. package/src/multisigSigning.ts +111 -0
  132. package/src/pq-signer.ts +123 -0
  133. package/src/signedTransaction.ts +24 -0
  134. package/src/signer.ts +62 -0
  135. package/src/signing.ts +109 -8
  136. package/src/transaction.ts +19 -1
  137. package/src/types/statedelta.ts +34 -0
  138. package/src/types/transactions/base.ts +11 -0
  139. package/src/types/transactions/encoded.ts +88 -0
  140. package/src/utils/ed25519-check.ts +67 -0
  141. package/src/utils/utils.ts +13 -0
  142. package/dist/cjs/client/v2/algod/dryrun.js +0 -34
  143. package/dist/cjs/client/v2/algod/dryrun.js.map +0 -1
  144. package/dist/cjs/dryrun.js +0 -214
  145. package/dist/cjs/dryrun.js.map +0 -1
  146. package/dist/esm/client/v2/algod/dryrun.js +0 -28
  147. package/dist/esm/client/v2/algod/dryrun.js.map +0 -1
  148. package/dist/esm/dryrun.js +0 -208
  149. package/dist/esm/dryrun.js.map +0 -1
  150. package/dist/types/client/v2/algod/dryrun.d.ts +0 -11
  151. package/dist/types/dryrun.d.ts +0 -28
  152. package/src/client/v2/algod/dryrun.ts +0 -38
  153. package/src/dryrun.ts +0 -292
@@ -473,6 +473,16 @@ export interface HeartbeatTransactionParams {
473
473
  * Must match hbAddress account's current KeyDilution.
474
474
  */
475
475
  keyDilution: bigint;
476
+ /**
477
+ * Requests the challenge fee discount: when set, the required fee is reduced
478
+ * by one min fee. The network verifies that hbAddress is actually under
479
+ * challenge before granting it, and a heartbeat claiming the discount may not
480
+ * carry any extra fields (note, lease, group, etc.).
481
+ *
482
+ * Only allowed once transaction size pricing is enabled. Before that, the
483
+ * discount was inferred from an underpaid singleton heartbeat instead.
484
+ */
485
+ challengeDiscount?: boolean;
476
486
  }
477
487
  /**
478
488
  * A full list of all available transaction parameters
@@ -33,3 +33,30 @@ export interface EncodedMultisig {
33
33
  export declare const ENCODED_MULTISIG_SCHEMA: NamedMapSchema;
34
34
  export declare function encodedMultiSigFromEncodingData(data: unknown): EncodedMultisig;
35
35
  export declare function encodedMultiSigToEncodingData(msig: EncodedMultisig): Map<string, unknown>;
36
+ /**
37
+ * A structure for the encoded post-quantum signature transaction authorization
38
+ * proof. Mirrors the `PQSig` struct from go-algorand.
39
+ */
40
+ export interface EncodedPQSig {
41
+ /**
42
+ * The 2-byte identifier of the post-quantum signature scheme (e.g. "f1"
43
+ * for Falcon-1024).
44
+ */
45
+ sch: Uint8Array;
46
+ /**
47
+ * The 1-byte salt used when deriving the post-quantum account address from the
48
+ * public key.
49
+ */
50
+ slt: number;
51
+ /**
52
+ * The post-quantum public key.
53
+ */
54
+ pk: Uint8Array;
55
+ /**
56
+ * The post-quantum signature over the transaction.
57
+ */
58
+ sig: Uint8Array;
59
+ }
60
+ export declare const ENCODED_PQSIG_SCHEMA: NamedMapSchema;
61
+ export declare function encodedPQSigFromEncodingData(data: unknown): EncodedPQSig;
62
+ export declare function encodedPQSigToEncodingData(pqsig: EncodedPQSig): Map<string, unknown>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Report whether the given bytes decode to an Edwards25519 curve point.
3
+ *
4
+ * This over-approximates whatever the verifier's decoder accepts: small-order
5
+ * points and non-canonical encodings (such as y == p) count as curve points,
6
+ * matching decoders like filippo.io/edwards25519. Over-approximating is the
7
+ * safe direction here, because the only caller uses this to *reject* candidate
8
+ * post-quantum addresses that an Ed25519 key could also occupy.
9
+ */
10
+ export declare function couldBeCurvePoint(keyBytes: Uint8Array): boolean;
@@ -55,3 +55,4 @@ export declare function ensureSafeInteger(value: unknown): number;
55
55
  export declare function ensureSafeUnsignedInteger(value: unknown): number;
56
56
  export declare function ensureBigInt(value: unknown): bigint;
57
57
  export declare function ensureUint64(value: unknown): bigint;
58
+ export declare function isEmptyObject(obj: any): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "algosdk",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "The official JavaScript SDK for Algorand",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -75,6 +75,7 @@
75
75
  "eslint-plugin-import": "^2.25.2",
76
76
  "eslint-plugin-tsdoc": "^0.2.11",
77
77
  "express": "^4.19.2",
78
+ "@algorandfoundation/falcon-wasm": "1.0.0",
78
79
  "geckodriver": "^4.3.0",
79
80
  "husky": "^4.3.8",
80
81
  "lint-staged": "^10.5.4",
package/src/appAccess.ts CHANGED
@@ -113,7 +113,12 @@ export function resourceReferencesToEncodingData(
113
113
  ],
114
114
  ])
115
115
  );
116
+ continue;
116
117
  }
118
+
119
+ // A reference that names no resource encodes as an empty ResourceRef, which
120
+ // the network reads as a request for a box I/O quota bump.
121
+ accessList.push(new Map<string, unknown>());
117
122
  }
118
123
  return accessList;
119
124
  }
@@ -7,7 +7,6 @@ import AccountApplicationsInformation from './accountApplicationsInformation.js'
7
7
  import AccountApplicationInformation from './accountApplicationInformation.js';
8
8
  import Block from './block.js';
9
9
  import Compile from './compile.js';
10
- import Dryrun from './dryrun.js';
11
10
  import Genesis from './genesis.js';
12
11
  import GetAssetByID from './getAssetByID.js';
13
12
  import GetApplicationByID from './getApplicationByID.js';
@@ -460,24 +459,6 @@ export class AlgodClient extends ServiceClient {
460
459
  return new Disassemble(this.c, source);
461
460
  }
462
461
 
463
- /**
464
- * Provides debugging information for a transaction (or group).
465
- *
466
- * 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.
467
- *
468
- * #### Example
469
- * ```typescript
470
- * const dryRunResult = await algodClient.dryrun(dr).do();
471
- * ```
472
- *
473
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2tealdryrun)
474
- * @param dr
475
- * @category POST
476
- */
477
- dryrun(dr: modelsv2.DryrunRequest) {
478
- return new Dryrun(this.c, dr);
479
- }
480
-
481
462
  /**
482
463
  * Given an asset ID, return asset information including creator, name, total supply and
483
464
  * special addresses.