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
@@ -303,11 +303,17 @@ function makeApplicationCreateTxnFromObject({ sender, onComplete, appArgs, accou
303
303
  }
304
304
  exports.makeApplicationCreateTxnFromObject = makeApplicationCreateTxnFromObject;
305
305
  /**
306
- * Make a transaction that changes an application's approval and clear programs
306
+ * Make a transaction that changes an application's approval and clear programs.
307
+ *
308
+ * The application's global state schema and extra program pages may also be changed during an
309
+ * update by providing numGlobalInts, numGlobalByteSlices, and/or extraPages. The local state schema
310
+ * cannot be changed after application creation. If the pages or global schema increases in size, the entire
311
+ * MBR for the application will move to the sender of the update and that account will become the `sizeSponsor`
312
+ * in the application's parameters. A decrease in schema or pages does not affect MBR or `sizeSponsor`.
307
313
  *
308
314
  * @param options - Application update transaction parameters
309
315
  */
310
- function makeApplicationUpdateTxnFromObject({ sender, appIndex, appArgs, accounts, foreignApps, foreignAssets, boxes, convertToAccess, holdings, locals, access, approvalProgram, clearProgram, note, lease, rekeyTo, suggestedParams, }) {
316
+ function makeApplicationUpdateTxnFromObject({ sender, appIndex, appArgs, accounts, foreignApps, foreignAssets, boxes, convertToAccess, holdings, locals, access, approvalProgram, clearProgram, numGlobalInts, numGlobalByteSlices, extraPages, note, lease, rekeyTo, suggestedParams, }) {
311
317
  if (!appIndex) {
312
318
  throw Error('appIndex must be provided');
313
319
  }
@@ -329,6 +335,9 @@ function makeApplicationUpdateTxnFromObject({ sender, appIndex, appArgs, account
329
335
  access,
330
336
  approvalProgram,
331
337
  clearProgram,
338
+ numGlobalInts,
339
+ numGlobalByteSlices,
340
+ extraPages,
332
341
  note,
333
342
  lease,
334
343
  rekeyTo,
@@ -1 +1 @@
1
- {"version":3,"file":"makeTxn.js","sourceRoot":"","sources":["../../src/makeTxn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeTxn.js","sourceRoot":"","sources":["../../src/makeTxn.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.masterDerivationKeyToMnemonic = exports.mnemonicToMasterDerivationKey = exports.secretKeyToMnemonic = exports.mnemonicToSecretKey = exports.seedFromMnemonic = exports.mnemonicFromSeed = exports.NOT_IN_WORDS_LIST_ERROR_MSG = exports.FAIL_TO_DECODE_MNEMONIC_ERROR_MSG = void 0;
29
+ exports.pq25WordMnemonicToSeed = exports.masterDerivationKeyToMnemonic = exports.mnemonicToMasterDerivationKey = exports.secretKeyToMnemonic = exports.mnemonicToSecretKey = exports.seedFromMnemonic = exports.mnemonicFromSeed = exports.NOT_IN_WORDS_LIST_ERROR_MSG = exports.FAIL_TO_DECODE_MNEMONIC_ERROR_MSG = void 0;
30
30
  /* eslint-disable no-bitwise */
31
31
  const english_js_1 = __importDefault(require("./wordlists/english.js"));
32
32
  const nacl = __importStar(require("../nacl/naclWrappers.js"));
33
33
  const address_js_1 = require("../encoding/address.js");
34
+ const utils_js_1 = require("../utils/utils.js");
34
35
  exports.FAIL_TO_DECODE_MNEMONIC_ERROR_MSG = 'failed to decode mnemonic';
35
36
  exports.NOT_IN_WORDS_LIST_ERROR_MSG = 'the mnemonic contains a word that is not in the wordlist';
36
37
  // https://stackoverflow.com/a/51452614
@@ -188,4 +189,28 @@ function masterDerivationKeyToMnemonic(mdk) {
188
189
  return mnemonicFromSeed(mdk);
189
190
  }
190
191
  exports.masterDerivationKeyToMnemonic = masterDerivationKeyToMnemonic;
192
+ /**
193
+ * The domain-separation prefix prepended to a post-quantum key seed preimage
194
+ * before hashing. Matches go-algorand's protocol.PostQuantumKey HashID.
195
+ */
196
+ const PQ_KEY_PREFIX = new TextEncoder().encode('PQK');
197
+ /**
198
+ * pq25WordMnemonicToSeed derives a post-quantum key seed from a standard 25-word
199
+ * Algorand mnemonic.
200
+ *
201
+ * The seed is domain-separated by the PQ scheme, so the same mnemonic yields a
202
+ * different key for each scheme, and a different key again from the ed25519
203
+ * account that `mnemonicToSecretKey` derives from it.
204
+ *
205
+ * @param mn - A 25-word Algorand mnemonic
206
+ * @param scheme - The 2-byte ASCII PQ scheme identifier (e.g. "f1" for Falcon-1024)
207
+ * @returns The 32-byte seed to hand to the scheme's key generator
208
+ */
209
+ function pq25WordMnemonicToSeed(mn, scheme) {
210
+ if (scheme.length !== address_js_1.PQ_SCHEME_SIZE) {
211
+ throw new Error(`invalid PQ scheme length: expected ${address_js_1.PQ_SCHEME_SIZE} bytes, got ${scheme.length}`);
212
+ }
213
+ return new Uint8Array(nacl.genericHash((0, utils_js_1.concatArrays)(PQ_KEY_PREFIX, scheme, seedFromMnemonic(mn))));
214
+ }
215
+ exports.pq25WordMnemonicToSeed = pq25WordMnemonicToSeed;
191
216
  //# sourceMappingURL=mnemonic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../src/mnemonic/mnemonic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../src/mnemonic/mnemonic.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.appendSignRawMultisigSignature = exports.appendSignMultisigTransaction = exports.signMultisigTransaction = exports.mergeMultisigTransactions = exports.createMultisigTransaction = exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = exports.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = exports.MULTISIG_NO_MUTATE_ERROR_MSG = exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = void 0;
26
+ exports.appendSignRawMultisigSignature = exports.appendSignMultisigTransactionWithSigner = exports.appendSignMultisigTransaction = exports.signMultisigTransactionWithSigner = exports.signMultisigTransaction = exports.mergeMultisigTransactions = exports.createMultisigTransaction = exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = exports.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = exports.MULTISIG_NO_MUTATE_ERROR_MSG = exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = void 0;
27
27
  const nacl = __importStar(require("./nacl/naclWrappers.js"));
28
28
  const address_js_1 = require("./encoding/address.js");
29
29
  const encoding = __importStar(require("./encoding/encoding.js"));
30
30
  const utils = __importStar(require("./utils/utils.js"));
31
31
  const signedTransaction_js_1 = require("./signedTransaction.js");
32
32
  const multisig_js_1 = require("./multisig.js");
33
+ const signing_js_1 = require("./signing.js");
33
34
  exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = 'Not enough multisig transactions to merge. Need at least two';
34
35
  exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = 'Cannot merge txs. txIDs differ';
35
36
  exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = 'Cannot merge txs. Auth addrs differ';
@@ -122,6 +123,22 @@ function partialSignTxn(transaction, { version, threshold, pks }, sk) {
122
123
  const myPk = nacl.keyPairFromSecretKey(sk).publicKey;
123
124
  return createMultisigTransactionWithSignature(transaction, { rawSig: transaction.rawSignTxn(sk), myPk }, { version, threshold, pks });
124
125
  }
126
+ async function partialSignTxnWithSigner(transaction, { version, threshold, pks }, txnSigner) {
127
+ const { stxn } = await (0, signing_js_1.signTransactionWithSigner)(transaction, txnSigner);
128
+ const rawSig = stxn.sig;
129
+ if (rawSig === undefined) {
130
+ throw Error(`Expected TransactionSigner to return a signed transaction with a sig, but sig was empty`);
131
+ }
132
+ // A signer reports which key it signed with in `sgnr`, but omits it when that
133
+ // key is the transaction sender, so fall back to the sender. If neither is a
134
+ // member of the multisig, createMultisigTransactionWithSignature rejects it
135
+ // rather than attaching the signature to the wrong subsig.
136
+ const myPk = (stxn.sgnr ?? transaction.sender).publicKey;
137
+ return createMultisigTransactionWithSignature(transaction, {
138
+ rawSig,
139
+ myPk,
140
+ }, { version, threshold, pks });
141
+ }
125
142
  /**
126
143
  * partialSignWithMultisigSignature partially signs this transaction with an external raw multisig signature and returns
127
144
  * a partially-signed multisig transaction, encoded with msgpack as a typed array.
@@ -217,6 +234,8 @@ function mergeMultisigTransactions(multisigTxnBlobs) {
217
234
  }
218
235
  exports.mergeMultisigTransactions = mergeMultisigTransactions;
219
236
  /**
237
+ * @deprecated Use {@link signMultisigTransactionWithSigner} instead
238
+ *
220
239
  * signMultisigTransaction takes a raw transaction (see signTransaction), a multisig preimage, a secret key, and returns
221
240
  * a multisig transaction, which is a blob representing a transaction and multisignature account preimage. The returned
222
241
  * multisig txn can accumulate additional signatures through mergeMultisigTransactions or appendSignMultisigTransaction.
@@ -239,6 +258,36 @@ function signMultisigTransaction(txn, { version, threshold, addrs }, sk) {
239
258
  }
240
259
  exports.signMultisigTransaction = signMultisigTransaction;
241
260
  /**
261
+ * signMultisigTransactionWithSigner takes a raw transaction, a multisig preimage and a signer, and
262
+ * returns a multisig transaction: a blob representing a transaction and multisignature account
263
+ * preimage. The returned multisig txn can accumulate additional signatures through
264
+ * mergeMultisigTransactions or appendSignMultisigTransactionWithSigner.
265
+ *
266
+ * The signer must hold a key belonging to the multisig. That key is taken from the `sgnr` field of
267
+ * the transaction the signer returns, falling back to the transaction sender when `sgnr` is absent
268
+ * — which is the same convention signers use when writing it. Every signer this SDK provides
269
+ * follows it. Note that `AddressWithTransactionSigner.address` cannot be used for this: it is the
270
+ * address the signer sends transactions from, which for a rekeyed account is not the signing key.
271
+ *
272
+ * @param txn - the transaction to sign
273
+ * @param version - multisig version
274
+ * @param threshold - multisig threshold
275
+ * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
276
+ * @param txnSigner - the signer to sign with
277
+ * @returns an object with txID and blob properties
278
+ */
279
+ async function signMultisigTransactionWithSigner(txn, { version, threshold, addrs }, txnSigner) {
280
+ const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
281
+ const blob = await partialSignTxnWithSigner(txn, { version, threshold, pks }, txnSigner);
282
+ return {
283
+ txID: txn.txID(),
284
+ blob,
285
+ };
286
+ }
287
+ exports.signMultisigTransactionWithSigner = signMultisigTransactionWithSigner;
288
+ /**
289
+ * @deprecated Use {@link appendSignMultisigTransactionWithSigner} instead
290
+ *
242
291
  * appendSignMultisigTransaction takes a multisig transaction blob, and appends our signature to it.
243
292
  * While we could derive public key preimagery from the partially-signed multisig transaction,
244
293
  * we ask the caller to pass it back in, to ensure they know what they are signing.
@@ -260,6 +309,34 @@ function appendSignMultisigTransaction(multisigTxnBlob, { version, threshold, ad
260
309
  };
261
310
  }
262
311
  exports.appendSignMultisigTransaction = appendSignMultisigTransaction;
312
+ /**
313
+ * appendSignMultisigTransactionWithSigner takes a multisig transaction blob, and appends the given
314
+ * signer's signature to it. While we could derive public key preimagery from the partially-signed
315
+ * multisig transaction, we ask the caller to pass it back in, to ensure they know what they are
316
+ * signing.
317
+ *
318
+ * As with {@link signMultisigTransactionWithSigner}, the signer's key is taken from the `sgnr`
319
+ * field of the transaction it returns, falling back to the transaction sender when `sgnr` is
320
+ * absent.
321
+ *
322
+ * @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.
323
+ * @param version - multisig version
324
+ * @param threshold - multisig threshold
325
+ * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
326
+ * @param txnSigner - the signer to sign with
327
+ * @returns an object with txID and blob properties
328
+ */
329
+ async function appendSignMultisigTransactionWithSigner(multisigTxnBlob, { version, threshold, addrs }, txnSigner) {
330
+ const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
331
+ // obtain underlying txn, sign it, and merge it
332
+ const multisigTxObj = encoding.decodeMsgpack(multisigTxnBlob, signedTransaction_js_1.SignedTransaction);
333
+ const partialSignedBlob = await partialSignTxnWithSigner(multisigTxObj.txn, { version, threshold, pks }, txnSigner);
334
+ return {
335
+ txID: multisigTxObj.txn.txID(),
336
+ blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),
337
+ };
338
+ }
339
+ exports.appendSignMultisigTransactionWithSigner = appendSignMultisigTransactionWithSigner;
263
340
  /**
264
341
  * appendMultisigTransactionSignature takes a multisig transaction blob, and appends a given raw signature to it.
265
342
  * This makes it possible to compile a multisig signature using only raw signatures from external methods.
@@ -1 +1 @@
1
- {"version":3,"file":"multisigSigning.js","sourceRoot":"","sources":["../../src/multisigSigning.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,sDAAgD;AAChD,iEAAmD;AAEnD,wDAA0C;AAE1C,iEAA2D;AAC3D,+CAIuB;AAEV,QAAA,oCAAoC,GAC/C,8DAA8D,CAAC;AACpD,QAAA,iCAAiC,GAC5C,gCAAgC,CAAC;AACtB,QAAA,qCAAqC,GAChD,qCAAqC,CAAC;AAC3B,QAAA,uCAAuC,GAClD,6CAA6C,CAAC;AACnC,QAAA,qCAAqC,GAChD,2CAA2C,CAAC;AACjC,QAAA,4BAA4B,GACvC,gFAAgF,CAAC;AACtE,QAAA,mCAAmC,GAC9C,mFAAmF,CAAC;AACzE,QAAA,mCAAmC,GAC9C,wEAAwE,CAAC;AAC3E,MAAM,gCAAgC,GAAG,oBAAoB,CAAC;AAE9D;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,GAAgB,EAChB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB;IAE/C,0DAA0D;IAC1D,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAoB;QAC5B,CAAC,EAAE,OAAO;QACV,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,OAAO;KAChB,CAAC;IAEF,4EAA4E;IAC5E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,IAAA,uCAAyB,EAAC;QACzC,OAAO;QACP,SAAS;QACT,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,wCAAiB,CAAC;QACtC,GAAG;QACH,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAjCD,8DAiCC;AAWD;;;;;;;;;GASG;AACH,SAAS,sCAAsC,CAC7C,GAAgB,EAChB,EAAE,MAAM,EAAE,IAAI,EAAmB,EACjC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAA2B;IAEpD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,EAAE;QACjD,OAAO;QACP,SAAS;QACT,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC;KACxC,CAAC,CAAC;IACH,oDAAoD;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,wCAAiB,CAAC,CAAC;IAEzE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,qFAAqF;IACrF,SAAS,CAAC,IAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CACrB,WAAwB,EACxB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAA2B,EACpD,EAAc;IAEd,yBAAyB;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACrD,OAAO,sCAAsC,CAC3C,WAAW,EACX,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAC5C,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gCAAgC,CACvC,WAAwB,EACxB,QAAiC,EACjC,UAA4B,EAC5B,SAAqB;IAErB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,2CAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,gBAAgB,GACpB,OAAO,UAAU,KAAK,QAAQ;QAC5B,CAAC,CAAC,oBAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,UAAU,CAAC;IACjB,OAAO,sCAAsC,CAC3C,WAAW,EACX;QACE,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,gBAAgB,CAAC,SAAS;KACjC,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,gBAA8B;IACtE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4CAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CACrC,gBAAgB,CAAC,CAAC,CAAC,EACnB,wCAAiB,CAClB,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;QAC5B,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KACrD,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,uCAAyB,EAAC,WAAW,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CACnC,gBAAgB,CAAC,CAAC,CAAC,EACnB,wCAAiB,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,qEAAqE,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6CAAqC,CAAC,CAAC;QACzD,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,+CAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAA4B;YACtC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YAC1B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACnD,CAAC;QACF,MAAM,SAAS,GAAG,IAAA,uCAAyB,EAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,+CAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,oBAAoB;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAE,OAAO;YACzB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,WAAW;gBACX,MAAM,IAAI,KAAK,CAAC,6CAAqC,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAoB;QAC5B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;QACtB,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,MAAM,OAAO,GACX,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,wCAAiB,CAAC;QACtC,IAAI;QACJ,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAjFD,8DAiFC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CACrC,GAAgB,EAChB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,EAC/C,EAAc;IAEd,4BAA4B;IAC5B,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;QAChB,IAAI;KACL,CAAC;AACJ,CAAC;AAZD,0DAYC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,6BAA6B,CAC3C,eAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,EAC/C,EAAc;IAEd,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;IACpC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAC1C,eAAe,EACf,wCAAiB,CAClB,CAAC;IACF,MAAM,iBAAiB,GAAG,cAAc,CACtC,aAAa,CAAC,GAAG,EACjB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC3B,EAAE,CACH,CAAC;IACF,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,yBAAyB,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AApBD,sEAoBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,8BAA8B,CAC5C,eAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,EAC/C,UAA4B,EAC5B,SAAqB;IAErB,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;IACpC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAC1C,eAAe,EACf,wCAAiB,CAClB,CAAC;IACF,MAAM,iBAAiB,GAAG,gCAAgC,CACxD,aAAa,CAAC,GAAG,EACjB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC3B,UAAU,EACV,SAAS,CACV,CAAC;IACF,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,yBAAyB,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAtBD,wEAsBC"}
1
+ {"version":3,"file":"multisigSigning.js","sourceRoot":"","sources":["../../src/multisigSigning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addressWithSignersFromRawPQSigner = void 0;
4
+ const address_js_1 = require("./encoding/address.js");
5
+ const encoding_js_1 = require("./encoding/encoding.js");
6
+ const logicsig_js_1 = require("./logicsig.js");
7
+ const signedTransaction_js_1 = require("./signedTransaction.js");
8
+ const utils_js_1 = require("./utils/utils.js");
9
+ function addressWithSignersFromRawPQSigner(signingKey, sendingAddress) {
10
+ const { pqPublicKey, pqSigner: rawSigner, pqScheme } = signingKey;
11
+ const { address: authAddress, salt } = (0, address_js_1.addressFromPQKey)(pqScheme, pqPublicKey);
12
+ const txnSigner = async (txnGroup, indexesToSign) => {
13
+ const stxns = [];
14
+ for (const index of indexesToSign) {
15
+ const txn = txnGroup[index];
16
+ // eslint-disable-next-line no-await-in-loop
17
+ const sig = await rawSigner(txn.bytesToSign());
18
+ const pqsig = {
19
+ sch: pqScheme,
20
+ slt: salt,
21
+ pk: pqPublicKey,
22
+ sig,
23
+ };
24
+ const stxn = new signedTransaction_js_1.SignedTransaction({
25
+ txn,
26
+ pqsig,
27
+ sgnr: txn.sender.equals(authAddress) ? undefined : authAddress,
28
+ });
29
+ stxns.push(stxn);
30
+ }
31
+ return stxns.map((stxn) => (0, encoding_js_1.encodeMsgpack)(stxn));
32
+ };
33
+ // A TransactionSigner that attaches a placeholder PQ envelope rather than a
34
+ // real signature. The scheme, salt, and public key are populated but the
35
+ // signature bytes are left empty. When simulated with `allowEmptySignatures`,
36
+ // algod derives the authorizer from this envelope and charges the post-quantum
37
+ // fee surcharge, so the reported fee usage matches a genuinely signed group -
38
+ // all without paying the cost of producing a (large, slow) Falcon signature.
39
+ const emptyTxnSigner = (txnGroup, indexesToSign) => {
40
+ const stxns = [];
41
+ for (const index of indexesToSign) {
42
+ const txn = txnGroup[index];
43
+ const pqsig = {
44
+ sch: pqScheme,
45
+ slt: salt,
46
+ pk: pqPublicKey,
47
+ sig: new Uint8Array(),
48
+ };
49
+ const stxn = new signedTransaction_js_1.SignedTransaction({
50
+ txn,
51
+ pqsig,
52
+ sgnr: txn.sender.equals(authAddress) ? undefined : authAddress,
53
+ });
54
+ stxns.push((0, encoding_js_1.encodeMsgpack)(stxn));
55
+ }
56
+ return Promise.resolve(stxns);
57
+ };
58
+ const delegatedLsigSigner = async (lsig, msig) => {
59
+ if (msig) {
60
+ throw Error(`post-quantum scheme ${new TextDecoder().decode(pqScheme)} does not support multisig signing`);
61
+ }
62
+ const toBeSigned = new Uint8Array((0, utils_js_1.concatArrays)(logicsig_js_1.PQ_PROGRAM_TAG, authAddress.publicKey, lsig.logic));
63
+ const sig = await rawSigner(toBeSigned);
64
+ const pqsig = {
65
+ sch: pqScheme,
66
+ slt: salt,
67
+ pk: pqPublicKey,
68
+ sig,
69
+ };
70
+ return { address: authAddress, pqsig };
71
+ };
72
+ return {
73
+ address: sendingAddress ?? authAddress,
74
+ txnSigner,
75
+ emptyTxnSigner,
76
+ delegatedLsigSigner,
77
+ };
78
+ }
79
+ exports.addressWithSignersFromRawPQSigner = addressWithSignersFromRawPQSigner;
80
+ //# sourceMappingURL=pq-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pq-signer.js","sourceRoot":"","sources":["../../src/pq-signer.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@ const logicsig_js_1 = require("./logicsig.js");
7
7
  const index_js_1 = require("./types/transactions/index.js");
8
8
  const index_js_2 = require("./encoding/schema/index.js");
9
9
  class SignedTransaction {
10
- constructor({ txn, sig, msig, lsig, sgnr, }) {
10
+ constructor({ txn, sig, msig, lsig, pqsig, sgnr, }) {
11
11
  this.txn = txn;
12
12
  this.sig = sig;
13
13
  this.msig = msig;
14
14
  this.lsig = lsig;
15
+ this.pqsig = pqsig;
15
16
  this.sgnr = sgnr;
16
17
  let numberOfSigs = 0;
17
18
  if (sig)
@@ -20,6 +21,8 @@ class SignedTransaction {
20
21
  numberOfSigs += 1;
21
22
  if (lsig)
22
23
  numberOfSigs += 1;
24
+ if (pqsig)
25
+ numberOfSigs += 1;
23
26
  if (numberOfSigs > 1) {
24
27
  throw new Error(`SignedTransaction must not have more than 1 signature. Got ${numberOfSigs}`);
25
28
  }
@@ -37,6 +40,10 @@ class SignedTransaction {
37
40
  this.msig ? (0, index_js_1.encodedMultiSigToEncodingData)(this.msig) : undefined,
38
41
  ],
39
42
  ['lsig', this.lsig ? this.lsig.toEncodingData() : undefined],
43
+ [
44
+ 'pqsig',
45
+ this.pqsig ? (0, index_js_1.encodedPQSigToEncodingData)(this.pqsig) : undefined,
46
+ ],
40
47
  ['sgnr', this.sgnr],
41
48
  ]);
42
49
  }
@@ -53,6 +60,9 @@ class SignedTransaction {
53
60
  lsig: data.get('lsig')
54
61
  ? logicsig_js_1.LogicSig.fromEncodingData(data.get('lsig'))
55
62
  : undefined,
63
+ pqsig: data.get('pqsig')
64
+ ? (0, index_js_1.encodedPQSigFromEncodingData)(data.get('pqsig'))
65
+ : undefined,
56
66
  sgnr: data.get('sgnr'),
57
67
  });
58
68
  }
@@ -75,6 +85,10 @@ SignedTransaction.encodingSchema = new index_js_2.NamedMapSchema((0, index_js_2.
75
85
  key: 'lsig',
76
86
  valueSchema: new index_js_2.OptionalSchema(logicsig_js_1.LogicSig.encodingSchema),
77
87
  },
88
+ {
89
+ key: 'pqsig',
90
+ valueSchema: new index_js_2.OptionalSchema(index_js_1.ENCODED_PQSIG_SCHEMA),
91
+ },
78
92
  {
79
93
  key: 'sgnr',
80
94
  valueSchema: new index_js_2.OptionalSchema(new index_js_2.AddressSchema()),
@@ -1 +1 @@
1
- {"version":3,"file":"signedTransaction.js","sourceRoot":"","sources":["../../src/signedTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signedTransaction.js","sourceRoot":"","sources":["../../src/signedTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
@@ -23,15 +23,95 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.signLogicSigTransaction = exports.signLogicSigTransactionObject = void 0;
26
+ exports.signLogicSigTransaction = exports.signLogicSigTransactionObject = exports.verifyBytes = exports.signBytes = exports.signTransactionWithSigner = exports.signTransaction = exports.SIGN_BYTES_PREFIX = void 0;
27
27
  const nacl = __importStar(require("./nacl/naclWrappers.js"));
28
28
  const address_js_1 = require("./encoding/address.js");
29
29
  const encoding = __importStar(require("./encoding/encoding.js"));
30
+ const utils = __importStar(require("./utils/utils.js"));
30
31
  const signedTransaction_js_1 = require("./signedTransaction.js");
31
32
  const logicsig_js_1 = require("./logicsig.js");
32
33
  const multisig_js_1 = require("./multisig.js");
34
+ exports.SIGN_BYTES_PREFIX = Uint8Array.from([77, 88]); // "MX"
35
+ /**
36
+ * @deprecated Use signTransactionWithSigner
37
+ *
38
+ * signTransaction takes an object with either payment or key registration fields and
39
+ * a secret key and returns a signed blob.
40
+ *
41
+ * Payment transaction fields: from, to, amount, fee, firstValid, lastValid, genesisHash,
42
+ * note(optional), GenesisID(optional), closeRemainderTo(optional)
43
+ *
44
+ * Key registration fields: fee, firstValid, lastValid, voteKey, selectionKey, voteFirst,
45
+ * voteLast, voteKeyDilution, genesisHash, note(optional), GenesisID(optional)
46
+ *
47
+ * If flatFee is not set and the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
48
+ * @param txn - object with either payment or key registration fields
49
+ * @param sk - Algorand Secret Key
50
+ * @returns object contains the binary signed transaction and its txID
51
+ */
52
+ function signTransaction(txn, sk) {
53
+ return {
54
+ txID: txn.txID(),
55
+ blob: txn.signTxn(sk),
56
+ };
57
+ }
58
+ exports.signTransaction = signTransaction;
59
+ async function signTransactionWithSigner(txn, signer) {
60
+ const [blob] = await signer([txn], [0]);
61
+ return {
62
+ blob,
63
+ txID: txn.txID(),
64
+ stxn: encoding.decodeMsgpack(blob, signedTransaction_js_1.SignedTransaction),
65
+ };
66
+ }
67
+ exports.signTransactionWithSigner = signTransactionWithSigner;
68
+ /**
69
+ * signBytes takes arbitrary bytes and a secret key, prepends the bytes with "MX" for domain separation, signs the bytes
70
+ * with the private key, and returns the signature.
71
+ * @param bytes - Uint8array
72
+ * @param sk - Algorand secret key
73
+ * @returns binary signature
74
+ */
75
+ function signBytes(bytes, sk) {
76
+ const toBeSigned = utils.concatArrays(exports.SIGN_BYTES_PREFIX, bytes);
77
+ const sig = nacl.sign(toBeSigned, sk);
78
+ return sig;
79
+ }
80
+ exports.signBytes = signBytes;
81
+ /**
82
+ * verifyBytes takes array of bytes, an address, and a signature and verifies if the signature is correct for the public
83
+ * key and the bytes (the bytes should have been signed with "MX" prepended for domain separation).
84
+ * @param bytes - Uint8Array
85
+ * @param signature - binary signature
86
+ * @param addr - string address
87
+ * @returns bool
88
+ */
89
+ function verifyBytes(bytes, signature, addr) {
90
+ const toBeVerified = utils.concatArrays(exports.SIGN_BYTES_PREFIX, bytes);
91
+ const addrObj = typeof addr === 'string' ? address_js_1.Address.fromString(addr) : addr;
92
+ return nacl.verify(toBeVerified, signature, addrObj.publicKey);
93
+ }
94
+ exports.verifyBytes = verifyBytes;
33
95
  function signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {
34
- if (!lsig.verify(lsigAddress.publicKey)) {
96
+ // `lsig.verify` enforces this for the non-PQ paths, but the PQ path below
97
+ // skips it, so check it up front for every path.
98
+ const sigCount = [lsig.sig, lsig.msig, lsig.lmsig, lsig.pqsig].filter(Boolean).length;
99
+ if (sigCount > 1) {
100
+ throw new Error('LogicSig has too many signatures. At most one of sig, msig, lmsig, or pqsig may be present');
101
+ }
102
+ if (lsig.pqsig) {
103
+ // This SDK cannot validate the post-quantum signature itself, so it checks
104
+ // what it can and leaves the signature to the network: the program must be
105
+ // well-formed, and the signature's scheme, salt and public key must derive
106
+ // the delegating address.
107
+ try {
108
+ (0, logicsig_js_1.sanityCheckProgram)(lsig.logic);
109
+ }
110
+ catch (e) {
111
+ throw new Error(`Logic signature verification failed. Ensure the program is valid: ${e.message}`);
112
+ }
113
+ }
114
+ else if (!lsig.verify(lsigAddress.publicKey)) {
35
115
  throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');
36
116
  }
37
117
  let sgnr;
@@ -66,11 +146,18 @@ function signLogicSigTransactionObject(txn, lsigObject) {
66
146
  }
67
147
  else {
68
148
  lsig = lsigObject;
69
- if (lsig.sig) {
70
- // For a LogicSig with a non-multisig delegating account, we cannot derive
71
- // the address of that account from only its signature, so assume the
72
- // delegating account is the sender. If that's not the case, the signing
73
- // will fail.
149
+ if (lsig.pqsig) {
150
+ // A PQ signature carries the scheme, salt and public key of the
151
+ // delegating account, so its address is derivable. This is what lets a
152
+ // bare PQ-delegated LogicSig authorize a transaction whose sender was
153
+ // rekeyed to the delegating account.
154
+ lsigAddress = (0, address_js_1.addressFromPQSig)(lsig.pqsig);
155
+ }
156
+ else if (lsig.sig) {
157
+ // For an ed25519 LogicSig with a non-multisig delegating account, we
158
+ // cannot derive the address of that account from only its signature, so
159
+ // assume the delegating account is the sender. If that's not the case,
160
+ // the signing will fail.
74
161
  lsigAddress = new address_js_1.Address(txn.sender.publicKey);
75
162
  }
76
163
  else if (lsig.lmsig) {
@@ -1 +1 @@
1
- {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/signing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,sDAAgD;AAChD,iEAAmD;AACnD,iEAA2D;AAE3D,+CAA0D;AAC1D,+CAA0D;AAE1D,SAAS,kCAAkC,CACzC,GAAgB,EAChB,IAAc,EACd,WAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,IAAI,GAAG,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,wCAAiB,CAAC;QACtC,IAAI;QACJ,GAAG;QACH,IAAI;KACL,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,GAAgB,EAChB,UAAsC;IAEtC,IAAI,IAAc,CAAC;IACnB,IAAI,WAAoB,CAAC;IAEzB,IAAI,UAAU,YAAY,6BAAe,EAAE,CAAC;QAC1C,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;QAElB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,qEAAqE;YACrE,wEAAwE;YACxE,aAAa;YACb,WAAW,GAAG,IAAI,oBAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;gBACzB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aAClD,CAAC;YACF,WAAW,GAAG,IAAA,uCAAyB,EAAC,YAAY,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,kCAAkC,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAhCD,sEAgCC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACrC,GAAgB,EAChB,UAAsC;IAEtC,OAAO,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AALD,0DAKC"}
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/signing.ts"],"names":[],"mappings":"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"}