algosdk 1.10.1 → 1.13.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +17 -6
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/src/abi/abi_type.js +665 -0
  5. package/dist/cjs/src/abi/abi_type.js.map +1 -0
  6. package/dist/cjs/src/abi/contract.js +25 -0
  7. package/dist/cjs/src/abi/contract.js.map +1 -0
  8. package/dist/cjs/src/abi/index.js +17 -0
  9. package/dist/cjs/src/abi/index.js.map +1 -0
  10. package/dist/cjs/src/abi/interface.js +21 -0
  11. package/dist/cjs/src/abi/interface.js.map +1 -0
  12. package/dist/cjs/src/abi/method.js +117 -0
  13. package/dist/cjs/src/abi/method.js.map +1 -0
  14. package/dist/cjs/src/client/v2/algod/models/types.js +18 -12
  15. package/dist/cjs/src/client/v2/algod/models/types.js.map +1 -1
  16. package/dist/cjs/src/client/v2/indexer/indexer.js +8 -0
  17. package/dist/cjs/src/client/v2/indexer/indexer.js.map +1 -1
  18. package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js +48 -0
  19. package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
  20. package/dist/cjs/src/composer.js +319 -0
  21. package/dist/cjs/src/composer.js.map +1 -0
  22. package/dist/cjs/src/encoding/address.js +14 -1
  23. package/dist/cjs/src/encoding/address.js.map +1 -1
  24. package/dist/cjs/src/encoding/bigint.js +38 -0
  25. package/dist/cjs/src/encoding/bigint.js.map +1 -0
  26. package/dist/cjs/src/logic/langspec.json +392 -77
  27. package/dist/cjs/src/logic/logic.js.map +1 -1
  28. package/dist/cjs/src/logicsig.js +207 -49
  29. package/dist/cjs/src/logicsig.js.map +1 -1
  30. package/dist/cjs/src/main.js +18 -99
  31. package/dist/cjs/src/main.js.map +1 -1
  32. package/dist/cjs/src/makeTxn.js +29 -1
  33. package/dist/cjs/src/makeTxn.js.map +1 -1
  34. package/dist/cjs/src/multisig.js +115 -21
  35. package/dist/cjs/src/multisig.js.map +1 -1
  36. package/dist/cjs/src/signer.js +66 -0
  37. package/dist/cjs/src/signer.js.map +1 -0
  38. package/dist/cjs/src/transaction.js +49 -8
  39. package/dist/cjs/src/transaction.js.map +1 -1
  40. package/dist/cjs/src/types/intDecoding.js +0 -2
  41. package/dist/cjs/src/types/intDecoding.js.map +1 -1
  42. package/dist/cjs/src/types/transactions/base.js +0 -1
  43. package/dist/cjs/src/types/transactions/base.js.map +1 -1
  44. package/dist/cjs/src/wait.js +40 -0
  45. package/dist/cjs/src/wait.js.map +1 -0
  46. package/dist/esm/src/abi/abi_type.js +652 -0
  47. package/dist/esm/src/abi/abi_type.js.map +1 -0
  48. package/dist/esm/src/abi/contract.js +21 -0
  49. package/dist/esm/src/abi/contract.js.map +1 -0
  50. package/dist/esm/src/abi/index.js +5 -0
  51. package/dist/esm/src/abi/index.js.map +1 -0
  52. package/dist/esm/src/abi/interface.js +17 -0
  53. package/dist/esm/src/abi/interface.js.map +1 -0
  54. package/dist/esm/src/abi/method.js +112 -0
  55. package/dist/esm/src/abi/method.js.map +1 -0
  56. package/dist/esm/src/client/v2/algod/models/types.js +18 -12
  57. package/dist/esm/src/client/v2/algod/models/types.js.map +1 -1
  58. package/dist/esm/src/client/v2/indexer/indexer.js +8 -0
  59. package/dist/esm/src/client/v2/indexer/indexer.js.map +1 -1
  60. package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js +42 -0
  61. package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
  62. package/dist/esm/src/composer.js +315 -0
  63. package/dist/esm/src/composer.js.map +1 -0
  64. package/dist/esm/src/encoding/address.js +12 -0
  65. package/dist/esm/src/encoding/address.js.map +1 -1
  66. package/dist/esm/src/encoding/bigint.js +33 -0
  67. package/dist/esm/src/encoding/bigint.js.map +1 -0
  68. package/dist/esm/src/logic/langspec.json +392 -77
  69. package/dist/esm/src/logic/logic.js.map +1 -1
  70. package/dist/esm/src/logicsig.js +205 -48
  71. package/dist/esm/src/logicsig.js.map +1 -1
  72. package/dist/esm/src/main.js +8 -94
  73. package/dist/esm/src/main.js.map +1 -1
  74. package/dist/esm/src/makeTxn.js +27 -0
  75. package/dist/esm/src/makeTxn.js.map +1 -1
  76. package/dist/esm/src/multisig.js +111 -20
  77. package/dist/esm/src/multisig.js.map +1 -1
  78. package/dist/esm/src/signer.js +59 -0
  79. package/dist/esm/src/signer.js.map +1 -0
  80. package/dist/esm/src/transaction.js +49 -8
  81. package/dist/esm/src/transaction.js.map +1 -1
  82. package/dist/esm/src/types/intDecoding.js +0 -2
  83. package/dist/esm/src/types/intDecoding.js.map +1 -1
  84. package/dist/esm/src/types/transactions/base.js +0 -1
  85. package/dist/esm/src/types/transactions/base.js.map +1 -1
  86. package/dist/esm/src/wait.js +36 -0
  87. package/dist/esm/src/wait.js.map +1 -0
  88. package/dist/types/src/abi/abi_type.d.ts +102 -0
  89. package/dist/types/src/abi/contract.d.ts +13 -0
  90. package/dist/types/src/abi/index.d.ts +4 -0
  91. package/dist/types/src/abi/interface.d.ts +11 -0
  92. package/dist/types/src/abi/method.d.ts +37 -0
  93. package/dist/types/src/client/v2/algod/models/types.d.ts +29 -14
  94. package/dist/types/src/client/v2/indexer/indexer.d.ts +6 -0
  95. package/dist/types/src/client/v2/indexer/lookupApplicationLogs.d.ts +20 -0
  96. package/dist/types/src/composer.d.ts +146 -0
  97. package/dist/types/src/encoding/address.d.ts +6 -0
  98. package/dist/types/src/encoding/bigint.d.ts +14 -0
  99. package/dist/types/src/logic/logic.d.ts +1 -1
  100. package/dist/types/src/logicsig.d.ts +100 -14
  101. package/dist/types/src/main.d.ts +8 -49
  102. package/dist/types/src/makeTxn.d.ts +18 -1
  103. package/dist/types/src/multisig.d.ts +40 -1
  104. package/dist/types/src/signer.d.ts +40 -0
  105. package/dist/types/src/types/transactions/encoded.d.ts +12 -0
  106. package/dist/types/src/wait.d.ts +11 -0
  107. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/logic/logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/logic/logic.ts"],"names":[],"mappings":"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"}
@@ -2,33 +2,30 @@ import * as nacl from './nacl/naclWrappers';
2
2
  import * as address from './encoding/address';
3
3
  import * as encoding from './encoding/encoding';
4
4
  import * as logic from './logic/logic';
5
- import * as multisig from './multisig';
5
+ import { verifyMultisig } from './multisig';
6
6
  import * as utils from './utils/utils';
7
7
  import * as txnBuilder from './transaction';
8
8
  /**
9
9
  LogicSig implementation
10
10
  */
11
11
  export class LogicSig {
12
- constructor(program, bufferOrUint8ArrArgs) {
12
+ constructor(program, programArgs) {
13
13
  this.tag = Buffer.from('Program');
14
+ if (programArgs &&
15
+ (!Array.isArray(programArgs) ||
16
+ !programArgs.every((arg) => arg.constructor === Uint8Array || Buffer.isBuffer(arg)))) {
17
+ throw new TypeError('Invalid arguments');
18
+ }
14
19
  let args;
15
- if (typeof bufferOrUint8ArrArgs !== 'undefined')
16
- args = bufferOrUint8ArrArgs.map((arg) => new Uint8Array(arg));
20
+ if (programArgs != null)
21
+ args = programArgs.map((arg) => new Uint8Array(arg));
17
22
  if (!logic.checkProgram(program, args)) {
18
23
  throw new Error('Invalid program');
19
24
  }
20
- function checkType(arg) {
21
- return arg.constructor === Uint8Array || Buffer.isBuffer(arg);
22
- }
23
- if (args && (!Array.isArray(args) || !args.every(checkType))) {
24
- throw new TypeError('Invalid arguments');
25
- }
26
- Object.assign(this, {
27
- logic: program,
28
- args,
29
- sig: undefined,
30
- msig: undefined,
31
- });
25
+ this.logic = program;
26
+ this.args = args;
27
+ this.sig = undefined;
28
+ this.msig = undefined;
32
29
  }
33
30
  // eslint-disable-next-line camelcase
34
31
  get_obj_for_encoding() {
@@ -75,7 +72,7 @@ export class LogicSig {
75
72
  if (this.sig) {
76
73
  return nacl.verify(toBeSigned, this.sig, publicKey);
77
74
  }
78
- return multisig.verifyMultisig(toBeSigned, this.msig, publicKey);
75
+ return verifyMultisig(toBeSigned, this.msig, publicKey);
79
76
  }
80
77
  /**
81
78
  * Compute hash of the logic sig program (that is the same as escrow account address) as string address
@@ -92,7 +89,7 @@ export class LogicSig {
92
89
  * @param msig - Multisig account as \{version, threshold, addrs\}
93
90
  */
94
91
  sign(secretKey, msig) {
95
- if (msig === undefined) {
92
+ if (msig == null) {
96
93
  this.sig = this.signProgram(secretKey);
97
94
  }
98
95
  else {
@@ -148,9 +145,143 @@ export class LogicSig {
148
145
  return LogicSig.from_obj_for_encoding(decodedObj);
149
146
  }
150
147
  }
148
+ /**
149
+ * Represents an account that can sign with a LogicSig program.
150
+ */
151
+ export class LogicSigAccount {
152
+ /**
153
+ * Create a new LogicSigAccount. By default this will create an escrow
154
+ * LogicSig account. Call `sign` or `signMultisig` on the newly created
155
+ * LogicSigAccount to make it a delegated account.
156
+ *
157
+ * @param program - The compiled TEAL program which contains the logic for
158
+ * this LogicSig.
159
+ * @param args - An optional array of arguments for the program.
160
+ */
161
+ constructor(program, args) {
162
+ this.lsig = new LogicSig(program, args);
163
+ this.sigkey = undefined;
164
+ }
165
+ // eslint-disable-next-line camelcase
166
+ get_obj_for_encoding() {
167
+ const obj = {
168
+ lsig: this.lsig.get_obj_for_encoding(),
169
+ };
170
+ if (this.sigkey) {
171
+ obj.sigkey = this.sigkey;
172
+ }
173
+ return obj;
174
+ }
175
+ // eslint-disable-next-line camelcase
176
+ static from_obj_for_encoding(encoded) {
177
+ const lsigAccount = new LogicSigAccount(encoded.lsig.l, encoded.lsig.arg);
178
+ lsigAccount.lsig = LogicSig.from_obj_for_encoding(encoded.lsig);
179
+ lsigAccount.sigkey = encoded.sigkey;
180
+ return lsigAccount;
181
+ }
182
+ /**
183
+ * Encode this object into msgpack.
184
+ */
185
+ toByte() {
186
+ return encoding.encode(this.get_obj_for_encoding());
187
+ }
188
+ /**
189
+ * Decode a msgpack object into a LogicSigAccount.
190
+ * @param encoded - The encoded LogicSigAccount.
191
+ */
192
+ static fromByte(encoded) {
193
+ const decodedObj = encoding.decode(encoded);
194
+ return LogicSigAccount.from_obj_for_encoding(decodedObj);
195
+ }
196
+ /**
197
+ * Check if this LogicSigAccount has been delegated to another account with a
198
+ * signature.
199
+ *
200
+ * Note this function only checks for the presence of a delegation signature.
201
+ * To verify the delegation signature, use `verify`.
202
+ */
203
+ isDelegated() {
204
+ return !!(this.lsig.sig || this.lsig.msig);
205
+ }
206
+ /**
207
+ * Verifies this LogicSig's program and signatures.
208
+ * @returns true if and only if the LogicSig program and signatures are valid.
209
+ */
210
+ verify() {
211
+ const addr = this.address();
212
+ return this.lsig.verify(address.decodeAddress(addr).publicKey);
213
+ }
214
+ /**
215
+ * Get the address of this LogicSigAccount.
216
+ *
217
+ * If the LogicSig is delegated to another account, this will return the
218
+ * address of that account.
219
+ *
220
+ * If the LogicSig is not delegated to another account, this will return an
221
+ * escrow address that is the hash of the LogicSig's program code.
222
+ */
223
+ address() {
224
+ if (this.lsig.sig && this.lsig.msig) {
225
+ throw new Error('LogicSig has too many signatures. At most one of sig or msig may be present');
226
+ }
227
+ if (this.lsig.sig) {
228
+ if (!this.sigkey) {
229
+ throw new Error('Signing key for delegated account is missing');
230
+ }
231
+ return address.encodeAddress(this.sigkey);
232
+ }
233
+ if (this.lsig.msig) {
234
+ const msigMetadata = {
235
+ version: this.lsig.msig.v,
236
+ threshold: this.lsig.msig.thr,
237
+ pks: this.lsig.msig.subsig.map((subsig) => subsig.pk),
238
+ };
239
+ return address.encodeAddress(address.fromMultisigPreImg(msigMetadata));
240
+ }
241
+ return this.lsig.address();
242
+ }
243
+ /**
244
+ * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
245
+ * has the authority to sign transactions on behalf of another account, called
246
+ * the delegating account. Use this function if the delegating account is a
247
+ * multisig account.
248
+ *
249
+ * @param msig - The multisig delegating account
250
+ * @param secretKey - The secret key of one of the members of the delegating
251
+ * multisig account. Use `appendToMultisig` to add additional signatures
252
+ * from other members.
253
+ */
254
+ signMultisig(msig, secretKey) {
255
+ this.lsig.sign(secretKey, msig);
256
+ }
257
+ /**
258
+ * Adds an additional signature from a member of the delegating multisig
259
+ * account.
260
+ *
261
+ * @param secretKey - The secret key of one of the members of the delegating
262
+ * multisig account.
263
+ */
264
+ appendToMultisig(secretKey) {
265
+ this.lsig.appendToMultisig(secretKey);
266
+ }
267
+ /**
268
+ * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
269
+ * has the authority to sign transactions on behalf of another account, called
270
+ * the delegating account. If the delegating account is a multisig account,
271
+ * use `signMultisig` instead.
272
+ *
273
+ * @param secretKey - The secret key of the delegating account.
274
+ */
275
+ sign(secretKey) {
276
+ this.lsig.sign(secretKey);
277
+ this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;
278
+ }
279
+ }
151
280
  /**
152
281
  * makeLogicSig creates LogicSig object from program and arguments
153
282
  *
283
+ * @deprecated Use new LogicSigAccount(...) instead
284
+ *
154
285
  * @param program - Program to make LogicSig from
155
286
  * @param args - Arguments as array of Uint8Array
156
287
  * @returns LogicSig object
@@ -158,47 +289,74 @@ export class LogicSig {
158
289
  export function makeLogicSig(program, args) {
159
290
  return new LogicSig(program, args);
160
291
  }
161
- /**
162
- * signLogicSigTransactionObject takes transaction.Transaction and a LogicSig object and returns a logicsig
163
- * transaction which is a blob representing a transaction and logicsig object.
164
- * @param txn - transaction.Transaction
165
- * @param lsig - logicsig object
166
- * @returns Object containing txID and blob representing signed transaction.
167
- */
168
- export function signLogicSigTransactionObject(txn, lsig) {
169
- const lstx = {
292
+ function signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {
293
+ if (!lsig.verify(lsigAddress)) {
294
+ throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');
295
+ }
296
+ const signedTxn = {
170
297
  lsig: lsig.get_obj_for_encoding(),
171
298
  txn: txn.get_obj_for_encoding(),
172
299
  };
173
- const isDelegated = lsig.sig || lsig.msig;
174
- if (isDelegated) {
175
- if (!lsig.verify(txn.from.publicKey)) {
176
- throw new Error("Logic signature verification failed. Ensure the program is valid and the transaction sender is the program's delegated address.");
177
- }
178
- }
179
- else {
180
- // add AuthAddr if signing with a different program than From indicates for non-delegated LogicSig
181
- const programAddr = lsig.address();
182
- if (programAddr !== address.encodeAddress(txn.from.publicKey)) {
183
- lstx.sgnr = Buffer.from(address.decodeAddress(programAddr).publicKey);
184
- }
300
+ if (!nacl.bytesEqual(lsigAddress, txn.from.publicKey)) {
301
+ signedTxn.sgnr = Buffer.from(lsigAddress);
185
302
  }
186
303
  return {
187
304
  txID: txn.txID().toString(),
188
- blob: encoding.encode(lstx),
305
+ blob: encoding.encode(signedTxn),
189
306
  };
190
307
  }
191
308
  /**
192
- * signLogicSigTransaction takes a raw transaction and a LogicSig object and returns a logicsig
193
- * transaction which is a blob representing a transaction and logicsig object.
194
- * @param txn - containing constructor arguments for a transaction
195
- * @param lsig - logicsig object
309
+ * signLogicSigTransactionObject takes a transaction and a LogicSig object and
310
+ * returns a signed transaction.
311
+ *
312
+ * @param txn - The transaction to sign.
313
+ * @param lsigObject - The LogicSig object that will sign the transaction.
314
+ *
315
+ * @returns Object containing txID and blob representing signed transaction.
316
+ */
317
+ export function signLogicSigTransactionObject(txn, lsigObject) {
318
+ let lsig;
319
+ let lsigAddress;
320
+ if (lsigObject instanceof LogicSigAccount) {
321
+ lsig = lsigObject.lsig;
322
+ lsigAddress = address.decodeAddress(lsigObject.address()).publicKey;
323
+ }
324
+ else {
325
+ lsig = lsigObject;
326
+ if (lsig.sig) {
327
+ // For a LogicSig with a non-multisig delegating account, we cannot derive
328
+ // the address of that account from only its signature, so assume the
329
+ // delegating account is the sender. If that's not the case, the signing
330
+ // will fail.
331
+ lsigAddress = txn.from.publicKey;
332
+ }
333
+ else if (lsig.msig) {
334
+ const msigMetadata = {
335
+ version: lsig.msig.v,
336
+ threshold: lsig.msig.thr,
337
+ pks: lsig.msig.subsig.map((subsig) => subsig.pk),
338
+ };
339
+ lsigAddress = address.fromMultisigPreImg(msigMetadata);
340
+ }
341
+ else {
342
+ lsigAddress = address.decodeAddress(lsig.address()).publicKey;
343
+ }
344
+ }
345
+ return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);
346
+ }
347
+ /**
348
+ * signLogicSigTransaction takes a transaction and a LogicSig object and returns
349
+ * a signed transaction.
350
+ *
351
+ * @param txn - The transaction to sign.
352
+ * @param lsigObject - The LogicSig object that will sign the transaction.
353
+ *
196
354
  * @returns Object containing txID and blob representing signed transaction.
197
355
  * @throws error on failure
198
356
  */
199
- export function signLogicSigTransaction(txn, lsig) {
357
+ export function signLogicSigTransaction(txn, lsigObject) {
200
358
  const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
201
- return signLogicSigTransactionObject(algoTxn, lsig);
359
+ return signLogicSigTransactionObject(algoTxn, lsigObject);
202
360
  }
203
361
  /**
204
362
  * logicSigFromByte accepts encoded logic sig bytes and attempts to call logicsig.fromByte on it,
@@ -226,9 +384,8 @@ export function tealSign(sk, data, contractAddress) {
226
384
  * @param program - buffer with teal program
227
385
  */
228
386
  export function tealSignFromProgram(sk, data, program) {
229
- const lsig = makeLogicSig(program);
387
+ const lsig = new LogicSig(program);
230
388
  const contractAddress = lsig.address();
231
389
  return tealSign(sk, data, contractAddress);
232
390
  }
233
- export default LogicSig;
234
391
  //# sourceMappingURL=logicsig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../../src/logicsig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../../src/logicsig.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import * as nacl from './nacl/naclWrappers';
2
2
  import * as address from './encoding/address';
3
3
  import * as encoding from './encoding/encoding';
4
4
  import * as txnBuilder from './transaction';
5
- import * as multisig from './multisig';
6
5
  import * as LogicTemplatesCommonJSExport from './logicTemplates';
7
6
  import Bid from './bid';
8
7
  import * as convert from './convert';
@@ -74,95 +73,6 @@ export function verifyBytes(bytes, signature, addr) {
74
73
  const pk = address.decodeAddress(addr).publicKey;
75
74
  return nacl.verify(toBeVerified, signature, pk);
76
75
  }
77
- /**
78
- * signMultisigTransaction takes a raw transaction (see signTransaction), a multisig preimage, a secret key, and returns
79
- * a multisig transaction, which is a blob representing a transaction and multisignature account preimage. The returned
80
- * multisig txn can accumulate additional signatures through mergeMultisigTransactions or appendMultisigTransaction.
81
- * @param txn - object with either payment or key registration fields
82
- * @param version - multisig version
83
- * @param threshold - multisig threshold
84
- * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
85
- * @param sk - Algorand secret key. The corresponding pk should be in the pre image.
86
- * @returns object containing txID, and blob of partially signed multisig transaction (with multisig preimage information)
87
- * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
88
- */
89
- export function signMultisigTransaction(txn, { version, threshold, addrs }, sk) {
90
- // check that the from field matches the mSigPreImage. If from field is not populated, fill it in.
91
- const expectedFromRaw = address.fromMultisigPreImgAddrs({
92
- version,
93
- threshold,
94
- addrs,
95
- });
96
- if (Object.prototype.hasOwnProperty.call(txn, 'from')) {
97
- const actualSender = typeof txn.from === 'string'
98
- ? txn.from
99
- : address.encodeAddress(txn.from.publicKey);
100
- if (actualSender !== expectedFromRaw) {
101
- throw new Error(MULTISIG_BAD_SENDER_ERROR_MSG);
102
- }
103
- }
104
- else {
105
- // eslint-disable-next-line no-param-reassign
106
- txn.from = expectedFromRaw;
107
- }
108
- // build pks for partialSign
109
- const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);
110
- // `txn` needs to be handled differently if it's a constructed `Transaction` vs a dict of constructor args
111
- const txnAlreadyBuilt = txn instanceof txnBuilder.Transaction;
112
- let algoTxn;
113
- let blob;
114
- if (txnAlreadyBuilt) {
115
- algoTxn = txn;
116
- blob = multisig.MultisigTransaction.prototype.partialSignTxn.call(algoTxn, { version, threshold, pks }, sk);
117
- }
118
- else {
119
- algoTxn = new multisig.MultisigTransaction(txn);
120
- blob = algoTxn.partialSignTxn({ version, threshold, pks }, sk);
121
- }
122
- return {
123
- txID: algoTxn.txID().toString(),
124
- blob,
125
- };
126
- }
127
- /**
128
- * mergeMultisigTransactions takes a list of multisig transaction blobs, and merges them.
129
- * @param multisigTxnBlobs - a list of blobs representing encoded multisig txns
130
- * @returns blob representing encoded multisig txn
131
- */
132
- export function mergeMultisigTransactions(multisigTxnBlobs) {
133
- return multisig.mergeMultisigTransactions(multisigTxnBlobs);
134
- }
135
- /**
136
- * appendSignMultisigTransaction takes a multisig transaction blob, and appends our signature to it.
137
- * While we could derive public key preimagery from the partially-signed multisig transaction,
138
- * we ask the caller to pass it back in, to ensure they know what they are signing.
139
- * @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.
140
- * @param version - multisig version
141
- * @param threshold - multisig threshold
142
- * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
143
- * @param sk - Algorand secret key
144
- * @returns object containing txID, and blob representing encoded multisig txn
145
- */
146
- export function appendSignMultisigTransaction(multisigTxnBlob, { version, threshold, addrs }, sk) {
147
- const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);
148
- // obtain underlying txn, sign it, and merge it
149
- const multisigTxObj = encoding.decode(multisigTxnBlob);
150
- const msigTxn = multisig.MultisigTransaction.from_obj_for_encoding(multisigTxObj.txn);
151
- const partialSignedBlob = msigTxn.partialSignTxn({ version, threshold, pks }, sk);
152
- return {
153
- txID: msigTxn.txID().toString(),
154
- blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),
155
- };
156
- }
157
- /**
158
- * multisigAddress takes multisig metadata (preimage) and returns the corresponding human readable Algorand address.
159
- * @param version - mutlisig version
160
- * @param threshold - multisig threshold
161
- * @param addrs - list of Algorand addresses
162
- */
163
- export function multisigAddress({ version, threshold, addrs, }) {
164
- return address.fromMultisigPreImgAddrs({ version, threshold, addrs });
165
- }
166
76
  /**
167
77
  * encodeObj takes a javascript object and returns its msgpack encoding
168
78
  * Note that the encoding sorts the fields alphabetically
@@ -187,18 +97,22 @@ export { default as Algodv2 } from './client/v2/algod/algod';
187
97
  export { default as Kmd } from './client/kmd';
188
98
  export { default as IntDecoding } from './types/intDecoding';
189
99
  export { default as Indexer } from './client/v2/indexer/indexer';
190
- export { isValidAddress, encodeAddress, decodeAddress, } from './encoding/address';
100
+ export { waitForConfirmation } from './wait';
101
+ export { isValidAddress, encodeAddress, decodeAddress, getApplicationAddress, } from './encoding/address';
191
102
  export { encodeUint64, decodeUint64 } from './encoding/uint64';
192
103
  export { default as generateAccount } from './account';
193
- export { secretKeyToMnemonic, mnemonicToSecretKey } from './mnemonic/mnemonic';
194
104
  import * as modelsv2_1 from './client/v2/algod/models/types';
195
105
  export { modelsv2_1 as modelsv2 };
196
- export { mnemonicToMasterDerivationKey, masterDerivationKeyToMnemonic, } from './mnemonic/mnemonic';
106
+ export { mnemonicToMasterDerivationKey, masterDerivationKeyToMnemonic, secretKeyToMnemonic, mnemonicToSecretKey, seedFromMnemonic, mnemonicFromSeed, } from './mnemonic/mnemonic';
197
107
  export { microalgosToAlgos, algosToMicroalgos, INVALID_MICROALGOS_ERROR_MSG, } from './convert';
198
108
  export { computeGroupID, assignGroupID } from './group';
199
- export { makeLogicSig, signLogicSigTransaction, signLogicSigTransactionObject, logicSigFromByte, tealSign, tealSignFromProgram, } from './logicsig';
109
+ export { LogicSigAccount, makeLogicSig, signLogicSigTransaction, signLogicSigTransactionObject, logicSigFromByte, tealSign, tealSignFromProgram, } from './logicsig';
110
+ export { signMultisigTransaction, mergeMultisigTransactions, appendSignMultisigTransaction, multisigAddress, } from './multisig';
200
111
  export const LogicTemplates = LogicTemplatesCommonJSExport.default;
201
112
  export * from './makeTxn';
202
113
  export * from './transaction';
114
+ export * from './signer';
115
+ export * from './composer';
203
116
  export * from './types';
117
+ export * from './abi';
204
118
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,4BAA4B,MAAM,kBAAkB,CAAC;AACjE,OAAO,GAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAIvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;AAExD,SAAS;AACT,MAAM,CAAC,MAAM,6BAA6B,GACxC,oEAAoE,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,GAA+B,EAC/B,EAAc;IAEd,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;QACnC,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC1C,6CAA6C;QAC7C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACjD;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO;QACL,IAAI,EAAG,OAAkC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC3D,IAAI,EAAG,OAAkC,CAAC,OAAO,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,GAAe,EAAE,EAAc;IACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,EAAc;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB,EACjB,SAAqB,EACrB,IAAY;IAEZ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAC7C,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;IACjD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAA+B,EAC/B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,EAC/C,EAAc;IAEd,kGAAkG;IAClG,MAAM,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;QACtD,OAAO;QACP,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;QACrD,MAAM,YAAY,GAChB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,CAAC,GAAG,CAAC,IAAI;YACV,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAAY,KAAK,eAAe,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;KACF;SAAM;QACL,6CAA6C;QAC7C,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC;KAC5B;IACD,4BAA4B;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,0GAA0G;IAC1G,MAAM,eAAe,GAAG,GAAG,YAAY,UAAU,CAAC,WAAW,CAAC;IAC9D,IAAI,OAAqC,CAAC;IAC1C,IAAI,IAAgB,CAAC;IACrB,IAAI,eAAe,EAAE;QACnB,OAAO,GAAI,GAA+C,CAAC;QAC3D,IAAI,GAAG,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAC/D,OAAO,EACP,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC3B,EAAE,CACH,CAAC;KACH;SAAM;QACL,OAAO,GAAG,IAAI,QAAQ,CAAC,mBAAmB,CAAC,GAAqB,CAAC,CAAC;QAClE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;KAChE;IACD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,gBAA8B;IACtE,OAAO,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAC3C,eAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAoB,EAC/C,EAAc;IAEd,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,+CAA+C;IAC/C,MAAM,aAAa,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAChE,aAAa,CAAC,GAAG,CAClB,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAC9C,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC3B,EAAE,CACH,CAAC;IACF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,yBAAyB,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,SAAS,EACT,KAAK,GACY;IACjB,OAAO,OAAO,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAwC;IAChE,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAoB;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAChD,6BAA6B,CAC9B,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,KAAK,CAC/C,OAAO,CAAC,4BAA4B,CACrC,CAAC;AAEF,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;4BACrD,gCAAgC;uBAA9C,QAAQ;AACpB,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,MAAM,CAAC,MAAM,cAAc,GAAG,4BAA4B,CAAC,OAAO,CAAC;AAEnE,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"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"}
@@ -755,4 +755,31 @@ export function makeApplicationNoOpTxnFromObject(o) {
755
755
  return makeApplicationNoOpTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo);
756
756
  }
757
757
  export { OnApplicationComplete } from './types/transactions/base';
758
+ /**
759
+ * Generic function for creating any application call transaction.
760
+ */
761
+ export function makeApplicationCallTxnFromObject(options) {
762
+ const o = {
763
+ type: TransactionType.appl,
764
+ from: options.from,
765
+ suggestedParams: options.suggestedParams,
766
+ appIndex: options.appIndex,
767
+ appOnComplete: options.onComplete,
768
+ appLocalInts: options.numLocalInts,
769
+ appLocalByteSlices: options.numLocalByteSlices,
770
+ appGlobalInts: options.numGlobalInts,
771
+ appGlobalByteSlices: options.numGlobalByteSlices,
772
+ appApprovalProgram: options.approvalProgram,
773
+ appClearProgram: options.clearProgram,
774
+ appArgs: options.appArgs,
775
+ appAccounts: options.accounts,
776
+ appForeignApps: options.foreignApps,
777
+ appForeignAssets: options.foreignAssets,
778
+ note: options.note,
779
+ lease: options.lease,
780
+ reKeyTo: options.rekeyTo,
781
+ extraPages: options.extraPages,
782
+ };
783
+ return new txnBuilder.Transaction(o);
784
+ }
758
785
  //# sourceMappingURL=makeTxn.js.map