algosdk 3.6.0 → 3.7.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 (109) hide show
  1. package/dist/browser/algosdk.min.js +1 -1
  2. package/dist/browser/algosdk.min.js.map +1 -1
  3. package/dist/cjs/client/v2/algod/algod.js +0 -18
  4. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  5. package/dist/cjs/client/v2/algod/models/types.js +2 -434
  6. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  7. package/dist/cjs/ed25519-signer.js +76 -0
  8. package/dist/cjs/ed25519-signer.js.map +1 -0
  9. package/dist/cjs/encoding/address.js +61 -1
  10. package/dist/cjs/encoding/address.js.map +1 -1
  11. package/dist/cjs/falcon-signer.js +17 -0
  12. package/dist/cjs/falcon-signer.js.map +1 -0
  13. package/dist/cjs/logicsig.js +201 -16
  14. package/dist/cjs/logicsig.js.map +1 -1
  15. package/dist/cjs/main.js +32 -63
  16. package/dist/cjs/main.js.map +1 -1
  17. package/dist/cjs/mnemonic/mnemonic.js +26 -1
  18. package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
  19. package/dist/cjs/multisigSigning.js +78 -1
  20. package/dist/cjs/multisigSigning.js.map +1 -1
  21. package/dist/cjs/pq-signer.js +54 -0
  22. package/dist/cjs/pq-signer.js.map +1 -0
  23. package/dist/cjs/signedTransaction.js +15 -1
  24. package/dist/cjs/signedTransaction.js.map +1 -1
  25. package/dist/cjs/signer.js.map +1 -1
  26. package/dist/cjs/signing.js +94 -7
  27. package/dist/cjs/signing.js.map +1 -1
  28. package/dist/cjs/transaction.js +9 -1
  29. package/dist/cjs/transaction.js.map +1 -1
  30. package/dist/cjs/types/transactions/encoded.js +51 -1
  31. package/dist/cjs/types/transactions/encoded.js.map +1 -1
  32. package/dist/cjs/utils/ed25519-check.js +69 -0
  33. package/dist/cjs/utils/ed25519-check.js.map +1 -0
  34. package/dist/esm/client/v2/algod/algod.js +0 -18
  35. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  36. package/dist/esm/client/v2/algod/models/types.js +0 -427
  37. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  38. package/dist/esm/ed25519-signer.js +72 -0
  39. package/dist/esm/ed25519-signer.js.map +1 -0
  40. package/dist/esm/encoding/address.js +58 -0
  41. package/dist/esm/encoding/address.js.map +1 -1
  42. package/dist/esm/falcon-signer.js +13 -0
  43. package/dist/esm/falcon-signer.js.map +1 -0
  44. package/dist/esm/logicsig.js +200 -15
  45. package/dist/esm/logicsig.js.map +1 -1
  46. package/dist/esm/main.js +8 -56
  47. package/dist/esm/main.js.map +1 -1
  48. package/dist/esm/mnemonic/mnemonic.js +25 -1
  49. package/dist/esm/mnemonic/mnemonic.js.map +1 -1
  50. package/dist/esm/multisigSigning.js +75 -0
  51. package/dist/esm/multisigSigning.js.map +1 -1
  52. package/dist/esm/pq-signer.js +50 -0
  53. package/dist/esm/pq-signer.js.map +1 -0
  54. package/dist/esm/signedTransaction.js +16 -2
  55. package/dist/esm/signedTransaction.js.map +1 -1
  56. package/dist/esm/signer.js.map +1 -1
  57. package/dist/esm/signing.js +91 -8
  58. package/dist/esm/signing.js.map +1 -1
  59. package/dist/esm/transaction.js +9 -1
  60. package/dist/esm/transaction.js.map +1 -1
  61. package/dist/esm/types/transactions/encoded.js +49 -1
  62. package/dist/esm/types/transactions/encoded.js.map +1 -1
  63. package/dist/esm/utils/ed25519-check.js +65 -0
  64. package/dist/esm/utils/ed25519-check.js.map +1 -0
  65. package/dist/types/client/v2/algod/algod.d.ts +0 -16
  66. package/dist/types/client/v2/algod/models/types.d.ts +0 -217
  67. package/dist/types/ed25519-signer.d.ts +7 -0
  68. package/dist/types/encoding/address.d.ts +37 -0
  69. package/dist/types/falcon-signer.d.ts +11 -0
  70. package/dist/types/logicsig.d.ts +72 -1
  71. package/dist/types/main.d.ts +8 -44
  72. package/dist/types/mnemonic/mnemonic.d.ts +13 -0
  73. package/dist/types/multisigSigning.d.ts +49 -0
  74. package/dist/types/pq-signer.d.ts +8 -0
  75. package/dist/types/signedTransaction.d.ts +7 -2
  76. package/dist/types/signer.d.ts +38 -0
  77. package/dist/types/signing.d.ts +45 -0
  78. package/dist/types/transaction.d.ts +9 -0
  79. package/dist/types/types/transactions/encoded.d.ts +27 -0
  80. package/dist/types/utils/ed25519-check.d.ts +10 -0
  81. package/package.json +2 -1
  82. package/src/client/v2/algod/algod.ts +0 -19
  83. package/src/client/v2/algod/models/types.ts +0 -700
  84. package/src/ed25519-signer.ts +125 -0
  85. package/src/encoding/address.ts +80 -0
  86. package/src/falcon-signer.ts +30 -0
  87. package/src/logicsig.ts +258 -16
  88. package/src/main.ts +30 -60
  89. package/src/mnemonic/mnemonic.ts +34 -1
  90. package/src/multisigSigning.ts +111 -0
  91. package/src/pq-signer.ts +90 -0
  92. package/src/signedTransaction.ts +24 -0
  93. package/src/signer.ts +53 -0
  94. package/src/signing.ts +109 -8
  95. package/src/transaction.ts +9 -1
  96. package/src/types/transactions/encoded.ts +88 -0
  97. package/src/utils/ed25519-check.ts +67 -0
  98. package/dist/cjs/client/v2/algod/dryrun.js +0 -34
  99. package/dist/cjs/client/v2/algod/dryrun.js.map +0 -1
  100. package/dist/cjs/dryrun.js +0 -214
  101. package/dist/cjs/dryrun.js.map +0 -1
  102. package/dist/esm/client/v2/algod/dryrun.js +0 -28
  103. package/dist/esm/client/v2/algod/dryrun.js.map +0 -1
  104. package/dist/esm/dryrun.js +0 -208
  105. package/dist/esm/dryrun.js.map +0 -1
  106. package/dist/types/client/v2/algod/dryrun.d.ts +0 -11
  107. package/dist/types/dryrun.d.ts +0 -28
  108. package/src/client/v2/algod/dryrun.ts +0 -38
  109. package/src/dryrun.ts +0 -292
@@ -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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"}
@@ -1,5 +1,6 @@
1
- import { NamedMapSchema, FixedLengthByteArraySchema, Uint64Schema, ArraySchema, OptionalSchema, allOmitEmpty, } from '../../encoding/schema/index.js';
1
+ import { NamedMapSchema, FixedLengthByteArraySchema, ByteArraySchema, Uint64Schema, ArraySchema, OptionalSchema, allOmitEmpty, } from '../../encoding/schema/index.js';
2
2
  import { ensureSafeUnsignedInteger } from '../../utils/utils.js';
3
+ import { PQ_SALT_MAX, PQ_SCHEME_SIZE } from '../../encoding/address.js';
3
4
  export const ENCODED_SUBSIG_SCHEMA = new NamedMapSchema(allOmitEmpty([
4
5
  {
5
6
  key: 'pk',
@@ -60,4 +61,51 @@ export function encodedMultiSigToEncodingData(msig) {
60
61
  ['subsig', msig.subsig.map(encodedSubsigToEncodingData)],
61
62
  ]);
62
63
  }
64
+ export const ENCODED_PQSIG_SCHEMA = new NamedMapSchema(allOmitEmpty([
65
+ {
66
+ key: 'sch',
67
+ valueSchema: new ByteArraySchema(),
68
+ },
69
+ {
70
+ key: 'slt',
71
+ valueSchema: new Uint64Schema(),
72
+ },
73
+ {
74
+ key: 'pk',
75
+ valueSchema: new ByteArraySchema(),
76
+ },
77
+ {
78
+ key: 'sig',
79
+ valueSchema: new ByteArraySchema(),
80
+ },
81
+ ]));
82
+ export function encodedPQSigFromEncodingData(data) {
83
+ if (!(data instanceof Map)) {
84
+ throw new Error(`Invalid decoded EncodedPQSig: ${data}`);
85
+ }
86
+ const sch = data.get('sch');
87
+ if (sch.length !== PQ_SCHEME_SIZE) {
88
+ throw new Error(`Invalid decoded EncodedPQSig: expected a ${PQ_SCHEME_SIZE}-byte scheme, got ${sch.length} bytes`);
89
+ }
90
+ // The salt occupies a single byte of the address preimage, so anything wider
91
+ // could never have produced a valid address.
92
+ const slt = ensureSafeUnsignedInteger(data.get('slt'));
93
+ if (slt > PQ_SALT_MAX) {
94
+ throw new Error(`Invalid decoded EncodedPQSig: salt ${slt} exceeds the maximum of ${PQ_SALT_MAX}`);
95
+ }
96
+ return {
97
+ sch,
98
+ slt,
99
+ pk: data.get('pk'),
100
+ sig: data.get('sig'),
101
+ };
102
+ }
103
+ export function encodedPQSigToEncodingData(pqsig) {
104
+ return new Map([
105
+ ['sch', pqsig.sch],
106
+ ['slt', pqsig.slt],
107
+ ['pk', pqsig.pk],
108
+ ['sig', pqsig.sig],
109
+ ]);
110
+ }
63
111
  //# sourceMappingURL=encoded.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoded.js","sourceRoot":"","sources":["../../../../src/types/transactions/encoded.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAcjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,cAAc,CACrD,YAAY,CAAC;IACX;QACE,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,IAAI,0BAA0B,CAAC,EAAE,CAAC;KAChD;IACD;QACE,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,IAAI,cAAc,CAAC,IAAI,0BAA0B,CAAC,EAAE,CAAC,CAAC;KACpE;CACF,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,IAAa;IACzD,IAAI,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAkB;QAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;KACnB,CAAC;IACF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAqB;IAErB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAkB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAuBD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,cAAc,CACvD,YAAY,CAAC;IACX;QACE,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,IAAI,YAAY,EAAE;KAChC;IACD;QACE,GAAG,EAAE,KAAK;QACV,WAAW,EAAE,IAAI,YAAY,EAAE;KAChC;IACD;QACE,GAAG,EAAE,QAAQ;QACb,WAAW,EAAE,IAAI,WAAW,CAAC,qBAAqB,CAAC;KACpD;CACF,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAC7C,IAAa;IAEb,IAAI,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,CAAC,EAAE,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,GAAG,EAAE,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAqB;IAErB,OAAO,IAAI,GAAG,CAAkB;QAC9B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACb,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"encoded.js","sourceRoot":"","sources":["../../../../src/types/transactions/encoded.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /* eslint-disable no-bitwise */
2
+ const p = (1n << 255n) - 19n;
3
+ const ED25519_PUBLIC_KEY_LENGTH = 32;
4
+ function powMod(base, exp) {
5
+ let res = 1n;
6
+ let currentExp = exp;
7
+ let currentBase = ((base % p) + p) % p;
8
+ while (currentExp > 0n) {
9
+ if (currentExp & 1n)
10
+ res = (res * currentBase) % p;
11
+ currentBase = (currentBase * currentBase) % p;
12
+ currentExp >>= 1n;
13
+ }
14
+ return res;
15
+ }
16
+ const d = (((-121665n * powMod(121666n, p - 2n)) % p) + p) % p;
17
+ const I = powMod(2n, (p - 1n) / 4n);
18
+ /**
19
+ * Decode the little-endian y coordinate of an Ed25519 point encoding, dropping
20
+ * the sign-of-x bit. The result is not reduced mod p; `hasValidX` reduces it.
21
+ */
22
+ function decodeY(keyBytes) {
23
+ const bytes = keyBytes.slice();
24
+ bytes[31] &= 0x7f;
25
+ let y = 0n;
26
+ for (let i = 31; i >= 0; i--)
27
+ y = (y << 8n) | BigInt(bytes[i]);
28
+ return y;
29
+ }
30
+ function hasValidX(y) {
31
+ // Reducing here is what makes this the broad predicate: non-canonical
32
+ // encodings with y >= p are accepted if their reduced value is on the curve.
33
+ const yr = ((y % p) + p) % p;
34
+ const y2 = (yr * yr) % p;
35
+ const u = (y2 - 1n + p) % p;
36
+ const v = (d * y2 + 1n) % p;
37
+ if (v === 0n)
38
+ return false; // no x exists for this y
39
+ const vInv = powMod(v, p - 2n);
40
+ const x2 = (u * vInv) % p;
41
+ const x1 = powMod(x2, (p + 3n) / 8n);
42
+ if ((x1 * x1) % p === x2)
43
+ return true;
44
+ const x1b = (x1 * I) % p;
45
+ if ((x1b * x1b) % p === x2)
46
+ return true;
47
+ return false;
48
+ }
49
+ /**
50
+ * Report whether the given bytes decode to an Edwards25519 curve point.
51
+ *
52
+ * This over-approximates whatever the verifier's decoder accepts: small-order
53
+ * points and non-canonical encodings (such as y == p) count as curve points,
54
+ * matching decoders like filippo.io/edwards25519. Over-approximating is the
55
+ * safe direction here, because the only caller uses this to *reject* candidate
56
+ * post-quantum addresses that an Ed25519 key could also occupy.
57
+ */
58
+ export function couldBeCurvePoint(keyBytes) {
59
+ // An Ed25519 public key is always exactly 32 bytes, so nothing else can
60
+ // collide with one.
61
+ if (keyBytes.length !== ED25519_PUBLIC_KEY_LENGTH)
62
+ return false;
63
+ return hasValidX(decodeY(keyBytes));
64
+ }
65
+ //# sourceMappingURL=ed25519-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ed25519-check.js","sourceRoot":"","sources":["../../../src/utils/ed25519-check.ts"],"names":[],"mappings":"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"}
@@ -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';
@@ -379,21 +378,6 @@ export declare class AlgodClient extends ServiceClient {
379
378
  * @param source
380
379
  */
381
380
  disassemble(source: string | Uint8Array): Disassemble;
382
- /**
383
- * Provides debugging information for a transaction (or group).
384
- *
385
- * 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.
386
- *
387
- * #### Example
388
- * ```typescript
389
- * const dryRunResult = await algodClient.dryrun(dr).do();
390
- * ```
391
- *
392
- * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/#post-v2tealdryrun)
393
- * @param dr
394
- * @category POST
395
- */
396
- dryrun(dr: modelsv2.DryrunRequest): Dryrun;
397
381
  /**
398
382
  * Given an asset ID, return asset information including creator, name, total supply and
399
383
  * special addresses.
@@ -1469,223 +1469,6 @@ export declare class DisassembleResponse implements Encodable {
1469
1469
  toEncodingData(): Map<string, unknown>;
1470
1470
  static fromEncodingData(data: unknown): DisassembleResponse;
1471
1471
  }
1472
- /**
1473
- * Request data type for dryrun endpoint. Given the Transactions and simulated
1474
- * ledger state upload, run TEAL scripts and return debugging information.
1475
- */
1476
- export declare class DryrunRequest implements Encodable {
1477
- private static encodingSchemaValue;
1478
- static get encodingSchema(): Schema;
1479
- accounts: Account[];
1480
- apps: Application[];
1481
- /**
1482
- * LatestTimestamp is available to some TEAL scripts. Defaults to the latest
1483
- * confirmed timestamp this algod is attached to.
1484
- */
1485
- latestTimestamp: number;
1486
- /**
1487
- * ProtocolVersion specifies a specific version string to operate under, otherwise
1488
- * whatever the current protocol of the network this algod is running in.
1489
- */
1490
- protocolVersion: string;
1491
- /**
1492
- * Round is available to some TEAL scripts. Defaults to the current round on the
1493
- * network this algod is attached to.
1494
- */
1495
- round: bigint;
1496
- sources: DryrunSource[];
1497
- txns: SignedTransaction[];
1498
- /**
1499
- * Creates a new `DryrunRequest` object.
1500
- * @param accounts -
1501
- * @param apps -
1502
- * @param latestTimestamp - LatestTimestamp is available to some TEAL scripts. Defaults to the latest
1503
- * confirmed timestamp this algod is attached to.
1504
- * @param protocolVersion - ProtocolVersion specifies a specific version string to operate under, otherwise
1505
- * whatever the current protocol of the network this algod is running in.
1506
- * @param round - Round is available to some TEAL scripts. Defaults to the current round on the
1507
- * network this algod is attached to.
1508
- * @param sources -
1509
- * @param txns -
1510
- */
1511
- constructor({ accounts, apps, latestTimestamp, protocolVersion, round, sources, txns, }: {
1512
- accounts: Account[];
1513
- apps: Application[];
1514
- latestTimestamp: number | bigint;
1515
- protocolVersion: string;
1516
- round: number | bigint;
1517
- sources: DryrunSource[];
1518
- txns: SignedTransaction[];
1519
- });
1520
- getEncodingSchema(): Schema;
1521
- toEncodingData(): Map<string, unknown>;
1522
- static fromEncodingData(data: unknown): DryrunRequest;
1523
- }
1524
- /**
1525
- * DryrunResponse contains per-txn debug information from a dryrun.
1526
- */
1527
- export declare class DryrunResponse implements Encodable {
1528
- private static encodingSchemaValue;
1529
- static get encodingSchema(): Schema;
1530
- error: string;
1531
- /**
1532
- * Protocol version is the protocol version Dryrun was operated under.
1533
- */
1534
- protocolVersion: string;
1535
- txns: DryrunTxnResult[];
1536
- /**
1537
- * Creates a new `DryrunResponse` object.
1538
- * @param error -
1539
- * @param protocolVersion - Protocol version is the protocol version Dryrun was operated under.
1540
- * @param txns -
1541
- */
1542
- constructor({ error, protocolVersion, txns, }: {
1543
- error: string;
1544
- protocolVersion: string;
1545
- txns: DryrunTxnResult[];
1546
- });
1547
- getEncodingSchema(): Schema;
1548
- toEncodingData(): Map<string, unknown>;
1549
- static fromEncodingData(data: unknown): DryrunResponse;
1550
- }
1551
- /**
1552
- * DryrunSource is TEAL source text that gets uploaded, compiled, and inserted into
1553
- * transactions or application state.
1554
- */
1555
- export declare class DryrunSource implements Encodable {
1556
- private static encodingSchemaValue;
1557
- static get encodingSchema(): Schema;
1558
- appIndex: bigint;
1559
- /**
1560
- * FieldName is what kind of sources this is. If lsig then it goes into the
1561
- * transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the
1562
- * Approval Program or Clear State Program of application[this.AppIndex].
1563
- */
1564
- fieldName: string;
1565
- source: string;
1566
- txnIndex: number;
1567
- /**
1568
- * Creates a new `DryrunSource` object.
1569
- * @param appIndex -
1570
- * @param fieldName - FieldName is what kind of sources this is. If lsig then it goes into the
1571
- * transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the
1572
- * Approval Program or Clear State Program of application[this.AppIndex].
1573
- * @param source -
1574
- * @param txnIndex -
1575
- */
1576
- constructor({ appIndex, fieldName, source, txnIndex, }: {
1577
- appIndex: number | bigint;
1578
- fieldName: string;
1579
- source: string;
1580
- txnIndex: number | bigint;
1581
- });
1582
- getEncodingSchema(): Schema;
1583
- toEncodingData(): Map<string, unknown>;
1584
- static fromEncodingData(data: unknown): DryrunSource;
1585
- }
1586
- /**
1587
- * Stores the TEAL eval step data
1588
- */
1589
- export declare class DryrunState implements Encodable {
1590
- private static encodingSchemaValue;
1591
- static get encodingSchema(): Schema;
1592
- /**
1593
- * Line number
1594
- */
1595
- line: number;
1596
- /**
1597
- * Program counter
1598
- */
1599
- pc: number;
1600
- stack: TealValue[];
1601
- /**
1602
- * Evaluation error if any
1603
- */
1604
- error?: string;
1605
- scratch?: TealValue[];
1606
- /**
1607
- * Creates a new `DryrunState` object.
1608
- * @param line - Line number
1609
- * @param pc - Program counter
1610
- * @param stack -
1611
- * @param error - Evaluation error if any
1612
- * @param scratch -
1613
- */
1614
- constructor({ line, pc, stack, error, scratch, }: {
1615
- line: number | bigint;
1616
- pc: number | bigint;
1617
- stack: TealValue[];
1618
- error?: string;
1619
- scratch?: TealValue[];
1620
- });
1621
- getEncodingSchema(): Schema;
1622
- toEncodingData(): Map<string, unknown>;
1623
- static fromEncodingData(data: unknown): DryrunState;
1624
- }
1625
- /**
1626
- * DryrunTxnResult contains any LogicSig or ApplicationCall program debug
1627
- * information and state updates from a dryrun.
1628
- */
1629
- export declare class DryrunTxnResult implements Encodable {
1630
- private static encodingSchemaValue;
1631
- static get encodingSchema(): Schema;
1632
- /**
1633
- * Disassembled program line by line.
1634
- */
1635
- disassembly: string[];
1636
- appCallMessages?: string[];
1637
- appCallTrace?: DryrunState[];
1638
- /**
1639
- * Budget added during execution of app call transaction.
1640
- */
1641
- budgetAdded?: number;
1642
- /**
1643
- * Budget consumed during execution of app call transaction.
1644
- */
1645
- budgetConsumed?: number;
1646
- /**
1647
- * Application state delta.
1648
- */
1649
- globalDelta?: EvalDeltaKeyValue[];
1650
- localDeltas?: AccountStateDelta[];
1651
- /**
1652
- * Disassembled lsig program line by line.
1653
- */
1654
- logicSigDisassembly?: string[];
1655
- logicSigMessages?: string[];
1656
- logicSigTrace?: DryrunState[];
1657
- logs?: Uint8Array[];
1658
- /**
1659
- * Creates a new `DryrunTxnResult` object.
1660
- * @param disassembly - Disassembled program line by line.
1661
- * @param appCallMessages -
1662
- * @param appCallTrace -
1663
- * @param budgetAdded - Budget added during execution of app call transaction.
1664
- * @param budgetConsumed - Budget consumed during execution of app call transaction.
1665
- * @param globalDelta - Application state delta.
1666
- * @param localDeltas -
1667
- * @param logicSigDisassembly - Disassembled lsig program line by line.
1668
- * @param logicSigMessages -
1669
- * @param logicSigTrace -
1670
- * @param logs -
1671
- */
1672
- constructor({ disassembly, appCallMessages, appCallTrace, budgetAdded, budgetConsumed, globalDelta, localDeltas, logicSigDisassembly, logicSigMessages, logicSigTrace, logs, }: {
1673
- disassembly: string[];
1674
- appCallMessages?: string[];
1675
- appCallTrace?: DryrunState[];
1676
- budgetAdded?: number | bigint;
1677
- budgetConsumed?: number | bigint;
1678
- globalDelta?: EvalDeltaKeyValue[];
1679
- localDeltas?: AccountStateDelta[];
1680
- logicSigDisassembly?: string[];
1681
- logicSigMessages?: string[];
1682
- logicSigTrace?: DryrunState[];
1683
- logs?: Uint8Array[];
1684
- });
1685
- getEncodingSchema(): Schema;
1686
- toEncodingData(): Map<string, unknown>;
1687
- static fromEncodingData(data: unknown): DryrunTxnResult;
1688
- }
1689
1472
  /**
1690
1473
  * An error response with optional data field.
1691
1474
  */
@@ -0,0 +1,7 @@
1
+ import { Address } from './encoding/address.js';
2
+ import { AddressWithDelegatedLsigSigner, AddressWithMxBytesSigner, AddressWithProgramDataSigner, AddressWithTransactionSigner } from './signer.js';
3
+ export interface Ed25519SigningKey {
4
+ ed25519PublicKey: Uint8Array;
5
+ ed25519Signer: (bytesToSign: Uint8Array) => Promise<Uint8Array>;
6
+ }
7
+ export declare function addressWithSignersFromRawEd25519Signer(ed25519SigningKey: Ed25519SigningKey, sendingAddress?: Address): AddressWithTransactionSigner & AddressWithDelegatedLsigSigner & AddressWithMxBytesSigner & AddressWithProgramDataSigner;
@@ -1,9 +1,19 @@
1
+ import type { EncodedPQSig } from '../types/transactions/encoded.js';
1
2
  export declare const ALGORAND_ADDRESS_BYTE_LENGTH = 36;
2
3
  export declare const ALGORAND_CHECKSUM_BYTE_LENGTH = 4;
3
4
  export declare const ALGORAND_ADDRESS_LENGTH = 58;
4
5
  export declare const ALGORAND_ZERO_ADDRESS_STRING = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ";
5
6
  export declare const MALFORMED_ADDRESS_ERROR_MSG = "address seems to be malformed";
6
7
  export declare const CHECKSUM_ADDRESS_ERROR_MSG = "wrong checksum for address";
8
+ /**
9
+ * The required byte length of a post-quantum signature scheme identifier.
10
+ */
11
+ export declare const PQ_SCHEME_SIZE = 2;
12
+ /**
13
+ * The largest value a post-quantum address salt may take. The salt occupies a
14
+ * single byte of the address preimage.
15
+ */
16
+ export declare const PQ_SALT_MAX = 255;
7
17
  /**
8
18
  * Represents an Algorand address
9
19
  */
@@ -64,3 +74,30 @@ export declare function encodeAddress(address: Uint8Array): string;
64
74
  * @returns The address corresponding to that application's escrow account.
65
75
  */
66
76
  export declare function getApplicationAddress(appID: number | bigint): Address;
77
+ /**
78
+ * Derive a post-quantum (PQ) account address together with the canonical salt
79
+ * used to derive it.
80
+ *
81
+ * @param schemeBytes - The 2-byte ASCII PQ scheme identifier (e.g. "f1" for Falcon-1024).
82
+ * @param key - The scheme's canonical public key.
83
+ * @returns The derived Address and the canonical 1-byte salt.
84
+ */
85
+ export declare function addressFromPQKey(schemeBytes: Uint8Array, key: Uint8Array): {
86
+ address: Address;
87
+ salt: number;
88
+ };
89
+ /**
90
+ * Derive the account address that a post-quantum signature authorizes.
91
+ *
92
+ * Unlike an Ed25519 signature, a PQ signature carries the scheme, salt and
93
+ * public key of the signing account, so the address it authorizes is fully
94
+ * determined by the signature and does not have to be supplied out of band.
95
+ *
96
+ * This also validates the signature's self-consistency: the salt must be the
97
+ * canonical one for the given scheme and public key, which is what the network
98
+ * requires.
99
+ *
100
+ * @param pqsig - The post-quantum signature to derive the address from.
101
+ * @returns The address of the account the signature authorizes.
102
+ */
103
+ export declare function addressFromPQSig(pqsig: EncodedPQSig): Address;
@@ -0,0 +1,11 @@
1
+ import { Address } from './encoding/address.js';
2
+ import { AddressWithDelegatedLsigSigner, AddressWithTransactionSigner } from './signer.js';
3
+ /**
4
+ * The 2-byte ASCII identifier of the Falcon-1024 post-quantum signature scheme.
5
+ */
6
+ export declare const FALCON_1024_SCHEME: Uint8Array;
7
+ export interface Falcon1024SigningKey {
8
+ falcon1024PublicKey: Uint8Array;
9
+ falcon1024Signer: (bytesToSign: Uint8Array) => Promise<Uint8Array>;
10
+ }
11
+ export declare function addressWithSignersFromRawFalcon1024Signer(falconSigningKey: Falcon1024SigningKey, sendingAddress?: Address): AddressWithTransactionSigner & AddressWithDelegatedLsigSigner;