algosdk 3.0.0 → 3.1.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 (34) 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/client/v2/algod/models/types.js +43 -2
  5. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  6. package/dist/cjs/client/v2/indexer/models/types.js +227 -3
  7. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  8. package/dist/cjs/heartbeat.js +119 -0
  9. package/dist/cjs/heartbeat.js.map +1 -0
  10. package/dist/cjs/transaction.js +36 -0
  11. package/dist/cjs/transaction.js.map +1 -1
  12. package/dist/cjs/types/transactions/base.js +6 -1
  13. package/dist/cjs/types/transactions/base.js.map +1 -1
  14. package/dist/esm/client/v2/algod/models/types.js +40 -0
  15. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  16. package/dist/esm/client/v2/indexer/models/types.js +222 -1
  17. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  18. package/dist/esm/heartbeat.js +114 -0
  19. package/dist/esm/heartbeat.js.map +1 -0
  20. package/dist/esm/transaction.js +36 -0
  21. package/dist/esm/transaction.js.map +1 -1
  22. package/dist/esm/types/transactions/base.js +6 -1
  23. package/dist/esm/types/transactions/base.js.map +1 -1
  24. package/dist/types/client/v2/algod/models/types.d.ts +21 -0
  25. package/dist/types/client/v2/indexer/models/types.d.ts +146 -1
  26. package/dist/types/heartbeat.d.ts +39 -0
  27. package/dist/types/transaction.d.ts +9 -0
  28. package/dist/types/types/transactions/base.d.ts +32 -1
  29. package/package.json +1 -1
  30. package/src/client/v2/algod/models/types.ts +52 -0
  31. package/src/client/v2/indexer/models/types.ts +375 -0
  32. package/src/heartbeat.ts +168 -0
  33. package/src/transaction.ts +46 -0
  34. package/src/types/transactions/base.ts +43 -1
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Heartbeat = exports.HeartbeatProof = void 0;
4
+ const index_js_1 = require("./encoding/schema/index.js");
5
+ class HeartbeatProof {
6
+ constructor(params) {
7
+ this.sig = params.sig;
8
+ this.pk = params.pk;
9
+ this.pk2 = params.pk2;
10
+ this.pk1Sig = params.pk1Sig;
11
+ this.pk2Sig = params.pk2Sig;
12
+ }
13
+ // eslint-disable-next-line class-methods-use-this
14
+ getEncodingSchema() {
15
+ return HeartbeatProof.encodingSchema;
16
+ }
17
+ toEncodingData() {
18
+ return new Map([
19
+ ['s', this.sig],
20
+ ['p', this.pk],
21
+ ['p2', this.pk2],
22
+ ['p1s', this.pk1Sig],
23
+ ['p2s', this.pk2Sig],
24
+ ]);
25
+ }
26
+ static fromEncodingData(data) {
27
+ if (!(data instanceof Map)) {
28
+ throw new Error(`Invalid decoded HeartbeatProof: ${data}`);
29
+ }
30
+ return new HeartbeatProof({
31
+ sig: data.get('s'),
32
+ pk: data.get('p'),
33
+ pk2: data.get('p2'),
34
+ pk1Sig: data.get('p1s'),
35
+ pk2Sig: data.get('p2s'),
36
+ });
37
+ }
38
+ }
39
+ exports.HeartbeatProof = HeartbeatProof;
40
+ HeartbeatProof.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmitEmpty)([
41
+ {
42
+ key: 's', // Sig
43
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(64),
44
+ },
45
+ {
46
+ key: 'p', // PK
47
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(32),
48
+ },
49
+ {
50
+ key: 'p2', // PK2
51
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(32),
52
+ },
53
+ {
54
+ key: 'p1s', // PK1Sig
55
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(64),
56
+ },
57
+ {
58
+ key: 'p2s', // PK2Sig
59
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(64),
60
+ },
61
+ ]));
62
+ class Heartbeat {
63
+ constructor(params) {
64
+ this.address = params.address;
65
+ this.proof = params.proof;
66
+ this.seed = params.seed;
67
+ this.voteID = params.voteID;
68
+ this.keyDilution = params.keyDilution;
69
+ }
70
+ // eslint-disable-next-line class-methods-use-this
71
+ getEncodingSchema() {
72
+ return Heartbeat.encodingSchema;
73
+ }
74
+ toEncodingData() {
75
+ return new Map([
76
+ ['a', this.address],
77
+ ['prf', this.proof.toEncodingData()],
78
+ ['sd', this.seed],
79
+ ['vid', this.voteID],
80
+ ['kd', this.keyDilution],
81
+ ]);
82
+ }
83
+ static fromEncodingData(data) {
84
+ if (!(data instanceof Map)) {
85
+ throw new Error(`Invalid decoded Heartbeat: ${data}`);
86
+ }
87
+ return new Heartbeat({
88
+ address: data.get('a'),
89
+ proof: HeartbeatProof.fromEncodingData(data.get('prf')),
90
+ seed: data.get('sd'),
91
+ voteID: data.get('vid'),
92
+ keyDilution: data.get('kd'),
93
+ });
94
+ }
95
+ }
96
+ exports.Heartbeat = Heartbeat;
97
+ Heartbeat.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmitEmpty)([
98
+ {
99
+ key: 'a', // HbAddress
100
+ valueSchema: new index_js_1.AddressSchema(),
101
+ },
102
+ {
103
+ key: 'prf', // HbProof
104
+ valueSchema: HeartbeatProof.encodingSchema,
105
+ },
106
+ {
107
+ key: 'sd', // HbSeed
108
+ valueSchema: new index_js_1.ByteArraySchema(),
109
+ },
110
+ {
111
+ key: 'vid', // HbVoteID
112
+ valueSchema: new index_js_1.FixedLengthByteArraySchema(32),
113
+ },
114
+ {
115
+ key: 'kd', // HbKeyDilution
116
+ valueSchema: new index_js_1.Uint64Schema(),
117
+ },
118
+ ]));
119
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ const index_js_1 = require("./encoding/schema/index.js");
35
35
  const nacl = __importStar(require("./nacl/naclWrappers.js"));
36
36
  const base_js_1 = require("./types/transactions/base.js");
37
37
  const stateproof_js_1 = require("./stateproof.js");
38
+ const heartbeat_js_1 = require("./heartbeat.js");
38
39
  const utils = __importStar(require("./utils/utils.js"));
39
40
  const ALGORAND_TRANSACTION_LENGTH = 52;
40
41
  const ALGORAND_TRANSACTION_LEASE_LENGTH = 32;
@@ -192,6 +193,8 @@ class Transaction {
192
193
  fieldsPresent.push(base_js_1.TransactionType.appl);
193
194
  if (params.stateProofParams)
194
195
  fieldsPresent.push(base_js_1.TransactionType.stpf);
196
+ if (params.heartbeatParams)
197
+ fieldsPresent.push(base_js_1.TransactionType.hb);
195
198
  if (fieldsPresent.length !== 1) {
196
199
  throw new Error(`Transaction has wrong number of type fields present (${fieldsPresent.length}): ${fieldsPresent}`);
197
200
  }
@@ -310,6 +313,15 @@ class Transaction {
310
313
  message: params.stateProofParams.message,
311
314
  };
312
315
  }
316
+ if (params.heartbeatParams) {
317
+ this.heartbeat = new heartbeat_js_1.Heartbeat({
318
+ address: params.heartbeatParams.address,
319
+ proof: params.heartbeatParams.proof,
320
+ seed: params.heartbeatParams.seed,
321
+ voteID: params.heartbeatParams.voteID,
322
+ keyDilution: params.heartbeatParams.keyDilution,
323
+ });
324
+ }
313
325
  // Determine fee
314
326
  this.fee = utils.ensureUint64(params.suggestedParams.fee);
315
327
  const feeDependsOnSize = !ensureBoolean(params.suggestedParams.flatFee ?? false);
@@ -419,6 +431,17 @@ class Transaction {
419
431
  : undefined);
420
432
  return data;
421
433
  }
434
+ if (this.heartbeat) {
435
+ const heartbeat = new heartbeat_js_1.Heartbeat({
436
+ address: this.heartbeat.address,
437
+ proof: this.heartbeat.proof,
438
+ seed: this.heartbeat.seed,
439
+ voteID: this.heartbeat.voteID,
440
+ keyDilution: this.heartbeat.keyDilution,
441
+ });
442
+ data.set('hb', heartbeat.toEncodingData());
443
+ return data;
444
+ }
422
445
  throw new Error(`Unexpected transaction type: ${this.type}`);
423
446
  }
424
447
  static fromEncodingData(data) {
@@ -581,6 +604,17 @@ class Transaction {
581
604
  };
582
605
  params.stateProofParams = stateProofParams;
583
606
  }
607
+ else if (params.type === base_js_1.TransactionType.hb) {
608
+ const heartbeat = heartbeat_js_1.Heartbeat.fromEncodingData(data.get('hb'));
609
+ const heartbeatParams = {
610
+ address: heartbeat.address,
611
+ proof: heartbeat.proof,
612
+ seed: heartbeat.seed,
613
+ voteID: heartbeat.voteID,
614
+ keyDilution: heartbeat.keyDilution,
615
+ };
616
+ params.heartbeatParams = heartbeatParams;
617
+ }
584
618
  else {
585
619
  const exhaustiveCheck = params.type;
586
620
  throw new Error(`Unexpected transaction type: ${exhaustiveCheck}`);
@@ -825,6 +859,8 @@ Transaction.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmi
825
859
  key: 'spmsg',
826
860
  valueSchema: new index_js_1.OptionalSchema(stateproof_js_1.StateProofMessage.encodingSchema),
827
861
  },
862
+ // Heartbeat
863
+ { key: 'hb', valueSchema: new index_js_1.OptionalSchema(heartbeat_js_1.Heartbeat.encodingSchema) },
828
864
  ]));
829
865
  /**
830
866
  * encodeUnsignedTransaction takes a completed txnBuilder.Transaction object, such as from the makeFoo
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@ var TransactionType;
34
34
  * State proof transaction
35
35
  */
36
36
  TransactionType["stpf"] = "stpf";
37
+ /**
38
+ * Heartbeat transaction
39
+ */
40
+ TransactionType["hb"] = "hb";
37
41
  })(TransactionType || (exports.TransactionType = TransactionType = {}));
38
42
  /**
39
43
  * Check if a string is a valid transaction type
@@ -47,7 +51,8 @@ function isTransactionType(s) {
47
51
  s === TransactionType.axfer ||
48
52
  s === TransactionType.afrz ||
49
53
  s === TransactionType.appl ||
50
- s === TransactionType.stpf);
54
+ s === TransactionType.stpf ||
55
+ s === TransactionType.hb);
51
56
  }
52
57
  exports.isTransactionType = isTransactionType;
53
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/types/transactions/base.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,IAAY,eAkCX;AAlCD,WAAY,eAAe;IACzB;;OAEG;IACH,8BAAW,CAAA;IAEX;;OAEG;IACH,oCAAiB,CAAA;IAEjB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,gCAAa,CAAA;IACb;;OAEG;IACH,gCAAa,CAAA;AACf,CAAC,EAlCW,eAAe,+BAAf,eAAe,QAkC1B;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,CAAS;IACzC,OAAO,CACL,CAAC,KAAK,eAAe,CAAC,GAAG;QACzB,CAAC,KAAK,eAAe,CAAC,MAAM;QAC5B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,KAAK;QAC3B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,IAAI,CAC3B,CAAC;AACJ,CAAC;AAVD,8CAUC;AAED;;GAEG;AACH,IAAY,qBAsCX;AAtCD,WAAY,qBAAqB;IAC/B;;;OAGG;IACH,qEAAM,CAAA;IAEN;;;OAGG;IACH,uEAAO,CAAA;IAEP;;;OAGG;IACH,6EAAU,CAAA;IAEV;;;;OAIG;IACH,iFAAY,CAAA;IAEZ;;;OAGG;IACH,+FAAmB,CAAA;IAEnB;;;;OAIG;IACH,+FAAmB,CAAA;AACrB,CAAC,EAtCW,qBAAqB,qCAArB,qBAAqB,QAsChC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,CAAU;IAEV,OAAO,CACL,CAAC,KAAK,qBAAqB,CAAC,MAAM;QAClC,CAAC,KAAK,qBAAqB,CAAC,OAAO;QACnC,CAAC,KAAK,qBAAqB,CAAC,UAAU;QACtC,CAAC,KAAK,qBAAqB,CAAC,YAAY;QACxC,CAAC,KAAK,qBAAqB,CAAC,mBAAmB;QAC/C,CAAC,KAAK,qBAAqB,CAAC,mBAAmB,CAChD,CAAC;AACJ,CAAC;AAXD,0DAWC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/types/transactions/base.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,IAAY,eAuCX;AAvCD,WAAY,eAAe;IACzB;;OAEG;IACH,8BAAW,CAAA;IAEX;;OAEG;IACH,oCAAiB,CAAA;IAEjB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,gCAAa,CAAA;IACb;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,4BAAS,CAAA;AACX,CAAC,EAvCW,eAAe,+BAAf,eAAe,QAuC1B;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,CAAS;IACzC,OAAO,CACL,CAAC,KAAK,eAAe,CAAC,GAAG;QACzB,CAAC,KAAK,eAAe,CAAC,MAAM;QAC5B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,KAAK;QAC3B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,IAAI;QAC1B,CAAC,KAAK,eAAe,CAAC,EAAE,CACzB,CAAC;AACJ,CAAC;AAXD,8CAWC;AAED;;GAEG;AACH,IAAY,qBAsCX;AAtCD,WAAY,qBAAqB;IAC/B;;;OAGG;IACH,qEAAM,CAAA;IAEN;;;OAGG;IACH,uEAAO,CAAA;IAEP;;;OAGG;IACH,6EAAU,CAAA;IAEV;;;;OAIG;IACH,iFAAY,CAAA;IAEZ;;;OAGG;IACH,+FAAmB,CAAA;IAEnB;;;;OAIG;IACH,+FAAmB,CAAA;AACrB,CAAC,EAtCW,qBAAqB,qCAArB,qBAAqB,QAsChC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,CAAU;IAEV,OAAO,CACL,CAAC,KAAK,qBAAqB,CAAC,MAAM;QAClC,CAAC,KAAK,qBAAqB,CAAC,OAAO;QACnC,CAAC,KAAK,qBAAqB,CAAC,UAAU;QACtC,CAAC,KAAK,qBAAqB,CAAC,YAAY;QACxC,CAAC,KAAK,qBAAqB,CAAC,mBAAmB;QAC/C,CAAC,KAAK,qBAAqB,CAAC,mBAAmB,CAChD,CAAC;AACJ,CAAC;AAXD,0DAWC"}
@@ -1738,6 +1738,46 @@ export class BlockHashResponse {
1738
1738
  });
1739
1739
  }
1740
1740
  }
1741
+ /**
1742
+ * Block header.
1743
+ */
1744
+ export class BlockHeaderResponse {
1745
+ static get encodingSchema() {
1746
+ if (!this.encodingSchemaValue) {
1747
+ this.encodingSchemaValue = new NamedMapSchema([]);
1748
+ this.encodingSchemaValue.pushEntries({
1749
+ key: 'blockHeader',
1750
+ valueSchema: Block.encodingSchema,
1751
+ omitEmpty: true,
1752
+ });
1753
+ }
1754
+ return this.encodingSchemaValue;
1755
+ }
1756
+ /**
1757
+ * Creates a new `BlockHeaderResponse` object.
1758
+ * @param blockheader - Block header data.
1759
+ */
1760
+ constructor({ blockheader }) {
1761
+ this.blockheader = blockheader;
1762
+ }
1763
+ // eslint-disable-next-line class-methods-use-this
1764
+ getEncodingSchema() {
1765
+ return BlockHeaderResponse.encodingSchema;
1766
+ }
1767
+ toEncodingData() {
1768
+ return new Map([
1769
+ ['blockHeader', this.blockheader.toEncodingData()],
1770
+ ]);
1771
+ }
1772
+ static fromEncodingData(data) {
1773
+ if (!(data instanceof Map)) {
1774
+ throw new Error(`Invalid decoded BlockHeaderResponse: ${data}`);
1775
+ }
1776
+ return new BlockHeaderResponse({
1777
+ blockheader: Block.fromEncodingData(data.get('blockHeader') ?? new Map()),
1778
+ });
1779
+ }
1780
+ }
1741
1781
  /**
1742
1782
  * All logs emitted in the given round. Each app call, whether top-level or inner,
1743
1783
  * that contains logs results in a separate AppCallLogs object. Therefore there may