algosdk 3.0.0 → 3.2.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 (52) 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/abi/abi_type.js +9 -7
  5. package/dist/cjs/abi/abi_type.js.map +1 -1
  6. package/dist/cjs/client/v2/algod/block.js +21 -0
  7. package/dist/cjs/client/v2/algod/block.js.map +1 -1
  8. package/dist/cjs/client/v2/indexer/indexer.js +15 -0
  9. package/dist/cjs/client/v2/indexer/indexer.js.map +1 -1
  10. package/dist/cjs/client/v2/indexer/models/types.js +227 -3
  11. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  12. package/dist/cjs/client/v2/indexer/searchForBlockHeaders.js +217 -0
  13. package/dist/cjs/client/v2/indexer/searchForBlockHeaders.js.map +1 -0
  14. package/dist/cjs/heartbeat.js +119 -0
  15. package/dist/cjs/heartbeat.js.map +1 -0
  16. package/dist/cjs/transaction.js +36 -0
  17. package/dist/cjs/transaction.js.map +1 -1
  18. package/dist/cjs/types/transactions/base.js +6 -1
  19. package/dist/cjs/types/transactions/base.js.map +1 -1
  20. package/dist/esm/abi/abi_type.js +10 -8
  21. package/dist/esm/abi/abi_type.js.map +1 -1
  22. package/dist/esm/client/v2/algod/block.js +21 -0
  23. package/dist/esm/client/v2/algod/block.js.map +1 -1
  24. package/dist/esm/client/v2/indexer/indexer.js +15 -0
  25. package/dist/esm/client/v2/indexer/indexer.js.map +1 -1
  26. package/dist/esm/client/v2/indexer/models/types.js +222 -1
  27. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  28. package/dist/esm/client/v2/indexer/searchForBlockHeaders.js +211 -0
  29. package/dist/esm/client/v2/indexer/searchForBlockHeaders.js.map +1 -0
  30. package/dist/esm/heartbeat.js +114 -0
  31. package/dist/esm/heartbeat.js.map +1 -0
  32. package/dist/esm/transaction.js +36 -0
  33. package/dist/esm/transaction.js.map +1 -1
  34. package/dist/esm/types/transactions/base.js +6 -1
  35. package/dist/esm/types/transactions/base.js.map +1 -1
  36. package/dist/types/abi/abi_type.d.ts +13 -1
  37. package/dist/types/client/v2/algod/block.d.ts +18 -0
  38. package/dist/types/client/v2/indexer/indexer.d.ts +13 -0
  39. package/dist/types/client/v2/indexer/models/types.d.ts +146 -1
  40. package/dist/types/client/v2/indexer/searchForBlockHeaders.d.ts +176 -0
  41. package/dist/types/heartbeat.d.ts +39 -0
  42. package/dist/types/transaction.d.ts +9 -0
  43. package/dist/types/types/transactions/base.d.ts +32 -1
  44. package/package.json +2 -2
  45. package/src/abi/abi_type.ts +16 -9
  46. package/src/client/v2/algod/block.ts +22 -0
  47. package/src/client/v2/indexer/indexer.ts +16 -0
  48. package/src/client/v2/indexer/models/types.ts +375 -0
  49. package/src/client/v2/indexer/searchForBlockHeaders.ts +223 -0
  50. package/src/heartbeat.ts +168 -0
  51. package/src/transaction.ts +46 -0
  52. package/src/types/transactions/base.ts +43 -1
@@ -0,0 +1,211 @@
1
+ import JSONRequest from '../jsonrequest.js';
2
+ import { decodeJSON } from '../../../encoding/encoding.js';
3
+ import { BlockHeadersResponse } from './models/types.js';
4
+ /**
5
+ * Returns information about indexed block headers.
6
+ *
7
+ * #### Example
8
+ * ```typescript
9
+ * const bhs = await indexerClient.searchForBlockHeaders().do();
10
+ * ```
11
+ *
12
+ * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2block-headers)
13
+ * @category GET
14
+ */
15
+ export default class SearchForBlockHeaders extends JSONRequest {
16
+ /**
17
+ * @returns `/v2/block-headers`
18
+ */
19
+ // eslint-disable-next-line class-methods-use-this
20
+ path() {
21
+ return '/v2/block-headers';
22
+ }
23
+ /**
24
+ * Accounts marked as absent in the block header's participation updates.
25
+ *
26
+ * #### Example
27
+ * ```typescript
28
+ * const address1 = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
29
+ * const address2 = "4H5UNRBJ2Q6JENAXQ6HNTGKLKINP4J4VTQBEPK5F3I6RDICMZBPGNH6KD4";
30
+ * const bhs = await indexerClient
31
+ * .searchForBlockHeaders()
32
+ * .absent([address1,address2])
33
+ * .do();
34
+ * ```
35
+ *
36
+ * @param absent - a comma separated list of addresses
37
+ * @category query
38
+ */
39
+ absent(absent) {
40
+ this.query.absent = absent;
41
+ return this;
42
+ }
43
+ /**
44
+ * Include results after the given time.
45
+ *
46
+ * #### Example
47
+ * ```typescript
48
+ * const afterTime = "2022-10-21T00:00:11.55Z";
49
+ * const bhs = await indexerClient
50
+ * .searchForBlockHeaders()
51
+ * .afterTime(afterTime)
52
+ * .do();
53
+ * ```
54
+ *
55
+ * @param after - rfc3339 string or Date object
56
+ * @category query
57
+ */
58
+ afterTime(after) {
59
+ this.query['after-time'] =
60
+ after instanceof Date ? after.toISOString() : after;
61
+ return this;
62
+ }
63
+ /**
64
+ * Include results before the given time.
65
+ *
66
+ * #### Example
67
+ * ```typescript
68
+ * const beforeTime = "2022-02-02T20:20:22.02Z";
69
+ * const bhs = await indexerClient
70
+ * .searchForBlockHeaders()
71
+ * .beforeTime(beforeTime)
72
+ * .do();
73
+ * ```
74
+ *
75
+ * @param before - rfc3339 string or Date object
76
+ * @category query
77
+ */
78
+ beforeTime(before) {
79
+ this.query['before-time'] =
80
+ before instanceof Date ? before.toISOString() : before;
81
+ return this;
82
+ }
83
+ /**
84
+ * Accounts marked as expired in the block header's participation updates.
85
+ *
86
+ * #### Example
87
+ * ```typescript
88
+ * const address1 = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
89
+ * const address2 = "4H5UNRBJ2Q6JENAXQ6HNTGKLKINP4J4VTQBEPK5F3I6RDICMZBPGNH6KD4";
90
+ * const bhs = await indexerClient
91
+ * .searchForBlockHeaders()
92
+ * .expired([address1,address2])
93
+ * .do();
94
+ * ```
95
+ *
96
+ * @param expired - - a comma separated list of addresses
97
+ * @category query
98
+ */
99
+ expired(expired) {
100
+ this.query.expired = expired;
101
+ return this;
102
+ }
103
+ /**
104
+ * Maximum number of results to return.
105
+ *
106
+ * #### Example
107
+ * ```typescript
108
+ * const maxResults = 25;
109
+ * const bhs = await indexerClient
110
+ * .searchForBlockHeaders()
111
+ * .limit(maxResults)
112
+ * .do();
113
+ * ```
114
+ *
115
+ * @param limit
116
+ * @category query
117
+ */
118
+ limit(limit) {
119
+ this.query.limit = limit;
120
+ return this;
121
+ }
122
+ /**
123
+ * Include results at or before the specified max-round.
124
+ *
125
+ * #### Example
126
+ * ```typescript
127
+ * const maxRound = 18309917;
128
+ * const bhs = await indexerClient
129
+ * .searchForBlockHeaders()
130
+ * .maxRound(maxRound)
131
+ * .do();
132
+ * ```
133
+ *
134
+ * @param round
135
+ * @category query
136
+ */
137
+ maxRound(round) {
138
+ this.query['max-round'] = round;
139
+ return this;
140
+ }
141
+ /**
142
+ * Include results at or after the specified min-round.
143
+ *
144
+ * #### Example
145
+ * ```typescript
146
+ * const minRound = 18309917;
147
+ * const bhs = await indexerClient
148
+ * .searchForBlockHeaders()
149
+ * .minRound(minRound)
150
+ * .do();
151
+ * ```
152
+ *
153
+ * @param round
154
+ * @category query
155
+ */
156
+ minRound(round) {
157
+ this.query['min-round'] = round;
158
+ return this;
159
+ }
160
+ /**
161
+ * The next page of results.
162
+ *
163
+ * #### Example
164
+ * ```typescript
165
+ * const maxResults = 25;
166
+ *
167
+ * const bh1 = await indexerClient
168
+ * .searchForBlockHeaders()
169
+ * .limit(maxResults)
170
+ * .do();
171
+ *
172
+ * const bh2 = await indexerClient
173
+ * .searchForBlockHeaders()
174
+ * .limit(maxResults)
175
+ * .nextToken(bh1["next-token"])
176
+ * .do();
177
+ * ```
178
+ *
179
+ * @param nextToken - provided by the previous results
180
+ * @category query
181
+ */
182
+ nextToken(nextToken) {
183
+ this.query.next = nextToken;
184
+ return this;
185
+ }
186
+ /**
187
+ * Accounts marked as proposer in the block header's participation updates.
188
+ *
189
+ * #### Example
190
+ * ```typescript
191
+ * const address1 = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
192
+ * const address2 = "4H5UNRBJ2Q6JENAXQ6HNTGKLKINP4J4VTQBEPK5F3I6RDICMZBPGNH6KD4";
193
+ * const bhs = await indexerClient
194
+ * .searchForBlockHeaders()
195
+ * .proposers([address1,address2])
196
+ * .do();
197
+ * ```
198
+ *
199
+ * @param proposers - a comma separated list of addresses
200
+ * @category query
201
+ */
202
+ proposers(proposers) {
203
+ this.query.proposers = proposers;
204
+ return this;
205
+ }
206
+ // eslint-disable-next-line class-methods-use-this
207
+ prepare(response) {
208
+ return decodeJSON(response.getJSONText(), BlockHeadersResponse);
209
+ }
210
+ }
211
+ //# sourceMappingURL=searchForBlockHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchForBlockHeaders.js","sourceRoot":"","sources":["../../../../../src/client/v2/indexer/searchForBlockHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAiC;IAClF;;OAEG;IACH,kDAAkD;IAClD,IAAI;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAA4B;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,KAAoB;QAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACtB,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,MAAqB;QAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvB,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,OAA6B;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,KAAsB;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,KAAsB;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,SAA+B;QACvC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,QAA4B;QAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,114 @@
1
+ import { AddressSchema, Uint64Schema, ByteArraySchema, FixedLengthByteArraySchema, NamedMapSchema, allOmitEmpty, } from './encoding/schema/index.js';
2
+ export class HeartbeatProof {
3
+ constructor(params) {
4
+ this.sig = params.sig;
5
+ this.pk = params.pk;
6
+ this.pk2 = params.pk2;
7
+ this.pk1Sig = params.pk1Sig;
8
+ this.pk2Sig = params.pk2Sig;
9
+ }
10
+ // eslint-disable-next-line class-methods-use-this
11
+ getEncodingSchema() {
12
+ return HeartbeatProof.encodingSchema;
13
+ }
14
+ toEncodingData() {
15
+ return new Map([
16
+ ['s', this.sig],
17
+ ['p', this.pk],
18
+ ['p2', this.pk2],
19
+ ['p1s', this.pk1Sig],
20
+ ['p2s', this.pk2Sig],
21
+ ]);
22
+ }
23
+ static fromEncodingData(data) {
24
+ if (!(data instanceof Map)) {
25
+ throw new Error(`Invalid decoded HeartbeatProof: ${data}`);
26
+ }
27
+ return new HeartbeatProof({
28
+ sig: data.get('s'),
29
+ pk: data.get('p'),
30
+ pk2: data.get('p2'),
31
+ pk1Sig: data.get('p1s'),
32
+ pk2Sig: data.get('p2s'),
33
+ });
34
+ }
35
+ }
36
+ HeartbeatProof.encodingSchema = new NamedMapSchema(allOmitEmpty([
37
+ {
38
+ key: 's', // Sig
39
+ valueSchema: new FixedLengthByteArraySchema(64),
40
+ },
41
+ {
42
+ key: 'p', // PK
43
+ valueSchema: new FixedLengthByteArraySchema(32),
44
+ },
45
+ {
46
+ key: 'p2', // PK2
47
+ valueSchema: new FixedLengthByteArraySchema(32),
48
+ },
49
+ {
50
+ key: 'p1s', // PK1Sig
51
+ valueSchema: new FixedLengthByteArraySchema(64),
52
+ },
53
+ {
54
+ key: 'p2s', // PK2Sig
55
+ valueSchema: new FixedLengthByteArraySchema(64),
56
+ },
57
+ ]));
58
+ export class Heartbeat {
59
+ constructor(params) {
60
+ this.address = params.address;
61
+ this.proof = params.proof;
62
+ this.seed = params.seed;
63
+ this.voteID = params.voteID;
64
+ this.keyDilution = params.keyDilution;
65
+ }
66
+ // eslint-disable-next-line class-methods-use-this
67
+ getEncodingSchema() {
68
+ return Heartbeat.encodingSchema;
69
+ }
70
+ toEncodingData() {
71
+ return new Map([
72
+ ['a', this.address],
73
+ ['prf', this.proof.toEncodingData()],
74
+ ['sd', this.seed],
75
+ ['vid', this.voteID],
76
+ ['kd', this.keyDilution],
77
+ ]);
78
+ }
79
+ static fromEncodingData(data) {
80
+ if (!(data instanceof Map)) {
81
+ throw new Error(`Invalid decoded Heartbeat: ${data}`);
82
+ }
83
+ return new Heartbeat({
84
+ address: data.get('a'),
85
+ proof: HeartbeatProof.fromEncodingData(data.get('prf')),
86
+ seed: data.get('sd'),
87
+ voteID: data.get('vid'),
88
+ keyDilution: data.get('kd'),
89
+ });
90
+ }
91
+ }
92
+ Heartbeat.encodingSchema = new NamedMapSchema(allOmitEmpty([
93
+ {
94
+ key: 'a', // HbAddress
95
+ valueSchema: new AddressSchema(),
96
+ },
97
+ {
98
+ key: 'prf', // HbProof
99
+ valueSchema: HeartbeatProof.encodingSchema,
100
+ },
101
+ {
102
+ key: 'sd', // HbSeed
103
+ valueSchema: new ByteArraySchema(),
104
+ },
105
+ {
106
+ key: 'vid', // HbVoteID
107
+ valueSchema: new FixedLengthByteArraySchema(32),
108
+ },
109
+ {
110
+ key: 'kd', // HbKeyDilution
111
+ valueSchema: new Uint64Schema(),
112
+ },
113
+ ]));
114
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { AddressSchema, Uint64Schema, ByteArraySchema, FixedLengthByteArraySchem
6
6
  import * as nacl from './nacl/naclWrappers.js';
7
7
  import { isOnApplicationComplete, TransactionType, isTransactionType, } from './types/transactions/base.js';
8
8
  import { StateProof, StateProofMessage } from './stateproof.js';
9
+ import { Heartbeat } from './heartbeat.js';
9
10
  import * as utils from './utils/utils.js';
10
11
  const ALGORAND_TRANSACTION_LENGTH = 52;
11
12
  const ALGORAND_TRANSACTION_LEASE_LENGTH = 32;
@@ -163,6 +164,8 @@ export class Transaction {
163
164
  fieldsPresent.push(TransactionType.appl);
164
165
  if (params.stateProofParams)
165
166
  fieldsPresent.push(TransactionType.stpf);
167
+ if (params.heartbeatParams)
168
+ fieldsPresent.push(TransactionType.hb);
166
169
  if (fieldsPresent.length !== 1) {
167
170
  throw new Error(`Transaction has wrong number of type fields present (${fieldsPresent.length}): ${fieldsPresent}`);
168
171
  }
@@ -281,6 +284,15 @@ export class Transaction {
281
284
  message: params.stateProofParams.message,
282
285
  };
283
286
  }
287
+ if (params.heartbeatParams) {
288
+ this.heartbeat = new Heartbeat({
289
+ address: params.heartbeatParams.address,
290
+ proof: params.heartbeatParams.proof,
291
+ seed: params.heartbeatParams.seed,
292
+ voteID: params.heartbeatParams.voteID,
293
+ keyDilution: params.heartbeatParams.keyDilution,
294
+ });
295
+ }
284
296
  // Determine fee
285
297
  this.fee = utils.ensureUint64(params.suggestedParams.fee);
286
298
  const feeDependsOnSize = !ensureBoolean(params.suggestedParams.flatFee ?? false);
@@ -390,6 +402,17 @@ export class Transaction {
390
402
  : undefined);
391
403
  return data;
392
404
  }
405
+ if (this.heartbeat) {
406
+ const heartbeat = new Heartbeat({
407
+ address: this.heartbeat.address,
408
+ proof: this.heartbeat.proof,
409
+ seed: this.heartbeat.seed,
410
+ voteID: this.heartbeat.voteID,
411
+ keyDilution: this.heartbeat.keyDilution,
412
+ });
413
+ data.set('hb', heartbeat.toEncodingData());
414
+ return data;
415
+ }
393
416
  throw new Error(`Unexpected transaction type: ${this.type}`);
394
417
  }
395
418
  static fromEncodingData(data) {
@@ -552,6 +575,17 @@ export class Transaction {
552
575
  };
553
576
  params.stateProofParams = stateProofParams;
554
577
  }
578
+ else if (params.type === TransactionType.hb) {
579
+ const heartbeat = Heartbeat.fromEncodingData(data.get('hb'));
580
+ const heartbeatParams = {
581
+ address: heartbeat.address,
582
+ proof: heartbeat.proof,
583
+ seed: heartbeat.seed,
584
+ voteID: heartbeat.voteID,
585
+ keyDilution: heartbeat.keyDilution,
586
+ };
587
+ params.heartbeatParams = heartbeatParams;
588
+ }
555
589
  else {
556
590
  const exhaustiveCheck = params.type;
557
591
  throw new Error(`Unexpected transaction type: ${exhaustiveCheck}`);
@@ -795,6 +829,8 @@ Transaction.encodingSchema = new NamedMapSchema(allOmitEmpty([
795
829
  key: 'spmsg',
796
830
  valueSchema: new OptionalSchema(StateProofMessage.encodingSchema),
797
831
  },
832
+ // Heartbeat
833
+ { key: 'hb', valueSchema: new OptionalSchema(Heartbeat.encodingSchema) },
798
834
  ]));
799
835
  /**
800
836
  * 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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"}
@@ -31,6 +31,10 @@ export var TransactionType;
31
31
  * State proof transaction
32
32
  */
33
33
  TransactionType["stpf"] = "stpf";
34
+ /**
35
+ * Heartbeat transaction
36
+ */
37
+ TransactionType["hb"] = "hb";
34
38
  })(TransactionType || (TransactionType = {}));
35
39
  /**
36
40
  * Check if a string is a valid transaction type
@@ -44,7 +48,8 @@ export function isTransactionType(s) {
44
48
  s === TransactionType.axfer ||
45
49
  s === TransactionType.afrz ||
46
50
  s === TransactionType.appl ||
47
- s === TransactionType.stpf);
51
+ s === TransactionType.stpf ||
52
+ s === TransactionType.hb);
48
53
  }
49
54
  /**
50
55
  * Enums for application transactions on-transaction-complete behavior
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/types/transactions/base.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAN,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,KAAf,eAAe,QAkC1B;AAED;;;;GAIG;AACH,MAAM,UAAU,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;AAED;;GAEG;AACH,MAAM,CAAN,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,KAArB,qBAAqB,QAsChC;AAED;;;;GAIG;AACH,MAAM,UAAU,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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/types/transactions/base.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAN,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,KAAf,eAAe,QAuC1B;AAED;;;;GAIG;AACH,MAAM,UAAU,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;AAED;;GAEG;AACH,MAAM,CAAN,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,KAArB,qBAAqB,QAsChC;AAED;;;;GAIG;AACH,MAAM,UAAU,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"}
@@ -1,9 +1,21 @@
1
+ /**
2
+ //ABI-Types: uint<N>: An N-bit unsigned integer (8 <= N <= 512 and N % 8 = 0).
3
+ // | byte (alias for uint8)
4
+ // | ufixed <N> x <M> (8 <= N <= 512, N % 8 = 0, and 0 < M <= 160)
5
+ // | bool
6
+ // | address (alias for byte[32])
7
+ // | <type> [<N>]
8
+ // | <type> []
9
+ // | string
10
+ // | (T1, ..., Tn)
11
+ */
12
+ import { Address } from '../encoding/address.js';
1
13
  export declare const MAX_LEN: number;
2
14
  export declare const ADDR_BYTE_SIZE = 32;
3
15
  export declare const SINGLE_BYTE_SIZE = 1;
4
16
  export declare const SINGLE_BOOL_SIZE = 1;
5
17
  export declare const LENGTH_ENCODE_BYTE_SIZE = 2;
6
- export type ABIValue = boolean | number | bigint | string | Uint8Array | ABIValue[];
18
+ export type ABIValue = boolean | number | bigint | string | Uint8Array | ABIValue[] | Address;
7
19
  export declare abstract class ABIType {
8
20
  abstract toString(): string;
9
21
  abstract equals(other: ABIType): boolean;
@@ -8,5 +8,23 @@ export default class Block extends JSONRequest<BlockResponse> {
8
8
  private round;
9
9
  constructor(c: HTTPClient, roundNumber: number | bigint);
10
10
  path(): string;
11
+ /**
12
+ * If true, only the block header (exclusive of payset or certificate) may be included in response.
13
+ *
14
+ * #### Example
15
+ * ```typescript
16
+ *
17
+ * const roundNumber = 41000000;
18
+ *
19
+ * const blockResponse = await algodClient
20
+ * .block(roundNumber)
21
+ * .headerOnly(true)
22
+ * .do();
23
+ * ```
24
+ *
25
+ * @param headerOnly - the flag indicating whether exclusively return header in response
26
+ * @category query
27
+ */
28
+ headerOnly(headerOnly: boolean): this;
11
29
  prepare(response: HTTPClientResponse): BlockResponse;
12
30
  }