algosdk 3.3.1 → 3.5.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 (64) hide show
  1. package/README.md +5 -5
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/appAccess.js +261 -0
  5. package/dist/cjs/appAccess.js.map +1 -0
  6. package/dist/cjs/client/v2/algod/getTransactionProof.js +1 -1
  7. package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -1
  8. package/dist/cjs/client/v2/algod/models/types.js +8 -8
  9. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  10. package/dist/cjs/client/v2/indexer/models/types.js +338 -8
  11. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  12. package/dist/cjs/client/v2/indexer/searchForTransactions.js +19 -0
  13. package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
  14. package/dist/cjs/encoding/schema/bytearray.js +3 -0
  15. package/dist/cjs/encoding/schema/bytearray.js.map +1 -1
  16. package/dist/cjs/logicsig.js +54 -17
  17. package/dist/cjs/logicsig.js.map +1 -1
  18. package/dist/cjs/makeTxn.js +66 -12
  19. package/dist/cjs/makeTxn.js.map +1 -1
  20. package/dist/cjs/signing.js +4 -4
  21. package/dist/cjs/signing.js.map +1 -1
  22. package/dist/cjs/transaction.js +107 -0
  23. package/dist/cjs/transaction.js.map +1 -1
  24. package/dist/esm/appAccess.js +255 -0
  25. package/dist/esm/appAccess.js.map +1 -0
  26. package/dist/esm/client/v2/algod/getTransactionProof.js +2 -2
  27. package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -1
  28. package/dist/esm/client/v2/algod/models/types.js +6 -6
  29. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  30. package/dist/esm/client/v2/indexer/models/types.js +332 -6
  31. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  32. package/dist/esm/client/v2/indexer/searchForTransactions.js +19 -0
  33. package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
  34. package/dist/esm/encoding/schema/bytearray.js +3 -0
  35. package/dist/esm/encoding/schema/bytearray.js.map +1 -1
  36. package/dist/esm/logicsig.js +54 -17
  37. package/dist/esm/logicsig.js.map +1 -1
  38. package/dist/esm/makeTxn.js +66 -12
  39. package/dist/esm/makeTxn.js.map +1 -1
  40. package/dist/esm/signing.js +4 -4
  41. package/dist/esm/signing.js.map +1 -1
  42. package/dist/esm/transaction.js +107 -0
  43. package/dist/esm/transaction.js.map +1 -1
  44. package/dist/types/appAccess.d.ts +28 -0
  45. package/dist/types/client/v2/algod/getTransactionProof.d.ts +3 -3
  46. package/dist/types/client/v2/algod/models/types.d.ts +4 -4
  47. package/dist/types/client/v2/indexer/models/types.d.ts +202 -8
  48. package/dist/types/client/v2/indexer/searchForTransactions.d.ts +16 -0
  49. package/dist/types/logicsig.d.ts +2 -0
  50. package/dist/types/makeTxn.d.ts +9 -9
  51. package/dist/types/transaction.d.ts +17 -0
  52. package/dist/types/types/transactions/base.d.ts +71 -0
  53. package/package.json +2 -2
  54. package/src/appAccess.ts +298 -0
  55. package/src/client/v2/algod/getTransactionProof.ts +4 -4
  56. package/src/client/v2/algod/models/types.ts +7 -7
  57. package/src/client/v2/indexer/models/types.ts +542 -5
  58. package/src/client/v2/indexer/searchForTransactions.ts +20 -0
  59. package/src/encoding/schema/bytearray.ts +3 -0
  60. package/src/logicsig.ts +68 -17
  61. package/src/makeTxn.ts +110 -12
  62. package/src/signing.ts +4 -4
  63. package/src/transaction.ts +162 -0
  64. package/src/types/transactions/base.ts +85 -0
@@ -1,5 +1,6 @@
1
1
  import base32 from 'hi-base32';
2
2
  import { boxReferencesToEncodingData } from './boxStorage.js';
3
+ import { resourceReferencesToEncodingData, convertIndicesToResourceReferences, } from './appAccess.js';
3
4
  import { Address } from './encoding/address.js';
4
5
  import * as encoding from './encoding/encoding.js';
5
6
  import { AddressSchema, Uint64Schema, ByteArraySchema, FixedLengthByteArraySchema, StringSchema, ArraySchema, NamedMapSchema, BooleanSchema, OptionalSchema, allOmitEmpty, } from './encoding/schema/index.js';
@@ -121,6 +122,50 @@ function ensureBoxReference(input) {
121
122
  }
122
123
  throw new Error(`Not a box reference: ${input}`);
123
124
  }
125
+ function ensureHoldingReference(input) {
126
+ if (input != null && typeof input === 'object') {
127
+ const { assetIndex, address } = input;
128
+ return {
129
+ assetIndex: utils.ensureUint64(assetIndex),
130
+ address: ensureAddress(address),
131
+ };
132
+ }
133
+ throw new Error(`Not a holding reference: ${input}`);
134
+ }
135
+ function ensureLocalsReference(input) {
136
+ if (input != null && typeof input === 'object') {
137
+ const { appIndex, address } = input;
138
+ return {
139
+ appIndex: utils.ensureUint64(appIndex),
140
+ address: ensureAddress(address),
141
+ };
142
+ }
143
+ throw new Error(`Not a locals reference: ${input}`);
144
+ }
145
+ function ensureResourceReference(input) {
146
+ if (input != null && typeof input === 'object') {
147
+ const { address, appIndex, assetIndex, holding, locals, box } = input;
148
+ if (address !== undefined) {
149
+ return { address: ensureAddress(address) };
150
+ }
151
+ if (appIndex !== undefined) {
152
+ return { appIndex: utils.ensureUint64(appIndex) };
153
+ }
154
+ if (assetIndex !== undefined) {
155
+ return { assetIndex: utils.ensureUint64(assetIndex) };
156
+ }
157
+ if (holding !== undefined) {
158
+ return { holding: ensureHoldingReference(holding) };
159
+ }
160
+ if (locals !== undefined) {
161
+ return { locals: ensureLocalsReference(locals) };
162
+ }
163
+ if (box !== undefined) {
164
+ return { box: ensureBoxReference(box) };
165
+ }
166
+ }
167
+ throw new Error(`Not a resource reference: ${input}`);
168
+ }
124
169
  const TX_TAG = new TextEncoder().encode('TX');
125
170
  /**
126
171
  * Transaction enables construction of Algorand transactions
@@ -275,6 +320,7 @@ export class Transaction {
275
320
  foreignApps: ensureArray(params.appCallParams.foreignApps ?? []).map(utils.ensureUint64),
276
321
  foreignAssets: ensureArray(params.appCallParams.foreignAssets ?? []).map(utils.ensureUint64),
277
322
  boxes: ensureArray(params.appCallParams.boxes ?? []).map(ensureBoxReference),
323
+ access: ensureArray(params.appCallParams.access ?? []).map(ensureResourceReference),
278
324
  };
279
325
  }
280
326
  if (params.stateProofParams) {
@@ -379,6 +425,7 @@ export class Transaction {
379
425
  data.set('apas', this.applicationCall.foreignAssets);
380
426
  data.set('apfa', this.applicationCall.foreignApps);
381
427
  data.set('apbx', boxReferencesToEncodingData(this.applicationCall.boxes, this.applicationCall.foreignApps, this.applicationCall.appIndex));
428
+ data.set('al', resourceReferencesToEncodingData(this.applicationCall.appIndex, this.applicationCall.access));
382
429
  data.set('apap', this.applicationCall.approvalProgram);
383
430
  data.set('apsu', this.applicationCall.clearProgram);
384
431
  data.set('apls', new Map([
@@ -561,6 +608,10 @@ export class Transaction {
561
608
  };
562
609
  });
563
610
  }
611
+ const references = data.get('al');
612
+ if (references) {
613
+ appCallParams.access = convertIndicesToResourceReferences(references);
614
+ }
564
615
  params.appCallParams = appCallParams;
565
616
  }
566
617
  else if (params.type === TransactionType.stpf) {
@@ -793,6 +844,62 @@ Transaction.encodingSchema = new NamedMapSchema(allOmitEmpty([
793
844
  },
794
845
  ])))),
795
846
  },
847
+ {
848
+ key: 'al',
849
+ valueSchema: new OptionalSchema(new ArraySchema(new NamedMapSchema(allOmitEmpty([
850
+ {
851
+ key: 'd',
852
+ valueSchema: new OptionalSchema(new AddressSchema()),
853
+ },
854
+ {
855
+ key: 's',
856
+ valueSchema: new OptionalSchema(new Uint64Schema()),
857
+ },
858
+ {
859
+ key: 'p',
860
+ valueSchema: new OptionalSchema(new Uint64Schema()),
861
+ },
862
+ {
863
+ key: 'h',
864
+ valueSchema: new OptionalSchema(new NamedMapSchema(allOmitEmpty([
865
+ {
866
+ key: 'd',
867
+ valueSchema: new Uint64Schema(),
868
+ },
869
+ {
870
+ key: 's',
871
+ valueSchema: new Uint64Schema(),
872
+ },
873
+ ]))),
874
+ },
875
+ {
876
+ key: 'l',
877
+ valueSchema: new OptionalSchema(new NamedMapSchema(allOmitEmpty([
878
+ {
879
+ key: 'd',
880
+ valueSchema: new Uint64Schema(),
881
+ },
882
+ {
883
+ key: 'p',
884
+ valueSchema: new Uint64Schema(),
885
+ },
886
+ ]))),
887
+ },
888
+ {
889
+ key: 'b',
890
+ valueSchema: new OptionalSchema(new NamedMapSchema(allOmitEmpty([
891
+ {
892
+ key: 'i',
893
+ valueSchema: new Uint64Schema(),
894
+ },
895
+ {
896
+ key: 'n',
897
+ valueSchema: new ByteArraySchema(),
898
+ },
899
+ ]))),
900
+ },
901
+ ])))),
902
+ },
796
903
  { key: 'apap', valueSchema: new OptionalSchema(new ByteArraySchema()) },
797
904
  { key: 'apsu', valueSchema: new OptionalSchema(new ByteArraySchema()) },
798
905
  {
@@ -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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"}
@@ -0,0 +1,28 @@
1
+ import { Address } from './encoding/address.js';
2
+ import { BoxReference, HoldingReference, LocalsReference, ResourceReference } from './types/transactions/base.js';
3
+ /**
4
+ * resourceReferencesToEncodingData translates an array of ResourceReferences into an array of encoding data
5
+ * maps.
6
+ */
7
+ export declare function resourceReferencesToEncodingData(appIndex: bigint, references: ReadonlyArray<ResourceReference>): Array<Map<string, unknown>>;
8
+ export declare function convertIndicesToResourceReferences(accessList: Array<Map<string, unknown>>): Array<ResourceReference>;
9
+ /**
10
+ * foreignArraysToResourceReferences makes a single array of ResourceReferences from various foreign resource arrays.
11
+ * Note, runtime representation of ResourceReference uses addresses, app and asset identifiers, not indexes.
12
+ *
13
+ * @param accounts - optional array of accounts
14
+ * @param foreignAssets - optional array of foreign assets
15
+ * @param foreignApps - optional array of foreign apps
16
+ * @param holdings - optional array of holdings
17
+ * @param locals - optional array of locals
18
+ * @param boxes - optional array of boxes
19
+ */
20
+ export declare function foreignArraysToResourceReferences({ appIndex, accounts, foreignAssets, foreignApps, holdings, locals, boxes, }: {
21
+ appIndex: bigint | number;
22
+ accounts?: ReadonlyArray<string | Address>;
23
+ foreignAssets?: ReadonlyArray<number | bigint>;
24
+ foreignApps?: ReadonlyArray<number | bigint>;
25
+ holdings?: ReadonlyArray<HoldingReference>;
26
+ locals?: ReadonlyArray<LocalsReference>;
27
+ boxes?: ReadonlyArray<BoxReference>;
28
+ }): Array<ResourceReference>;
@@ -1,7 +1,7 @@
1
1
  import JSONRequest from '../jsonrequest.js';
2
2
  import { HTTPClient, HTTPClientResponse } from '../../client.js';
3
- import { TransactionProofResponse } from './models/types.js';
4
- export default class GetTransactionProof extends JSONRequest<TransactionProofResponse> {
3
+ import { TransactionProof } from './models/types.js';
4
+ export default class GetTransactionProof extends JSONRequest<TransactionProof> {
5
5
  private txID;
6
6
  private round;
7
7
  constructor(c: HTTPClient, round: number | bigint, txID: string);
@@ -24,5 +24,5 @@ export default class GetTransactionProof extends JSONRequest<TransactionProofRes
24
24
  * @category query
25
25
  */
26
26
  hashType(hashType: string): this;
27
- prepare(response: HTTPClientResponse): TransactionProofResponse;
27
+ prepare(response: HTTPClientResponse): TransactionProof;
28
28
  }
@@ -1249,7 +1249,7 @@ export declare class BoxReference implements Encodable {
1249
1249
  static fromEncodingData(data: unknown): BoxReference;
1250
1250
  }
1251
1251
  /**
1252
- * * Box names of an application
1252
+ * Box names of an application
1253
1253
  */
1254
1254
  export declare class BoxesResponse implements Encodable {
1255
1255
  private static encodingSchemaValue;
@@ -3060,7 +3060,7 @@ export declare class TransactionParametersResponse implements Encodable {
3060
3060
  /**
3061
3061
  * Proof of transaction in a block.
3062
3062
  */
3063
- export declare class TransactionProofResponse implements Encodable {
3063
+ export declare class TransactionProof implements Encodable {
3064
3064
  private static encodingSchemaValue;
3065
3065
  static get encodingSchema(): Schema;
3066
3066
  /**
@@ -3087,7 +3087,7 @@ export declare class TransactionProofResponse implements Encodable {
3087
3087
  */
3088
3088
  hashtype?: string;
3089
3089
  /**
3090
- * Creates a new `TransactionProofResponse` object.
3090
+ * Creates a new `TransactionProof` object.
3091
3091
  * @param idx - Index of the transaction in the block's payset.
3092
3092
  * @param proof - Proof of transaction membership.
3093
3093
  * @param stibhash - Hash of SignedTxnInBlock for verifying proof.
@@ -3106,7 +3106,7 @@ export declare class TransactionProofResponse implements Encodable {
3106
3106
  });
3107
3107
  getEncodingSchema(): Schema;
3108
3108
  toEncodingData(): Map<string, unknown>;
3109
- static fromEncodingData(data: unknown): TransactionProofResponse;
3109
+ static fromEncodingData(data: unknown): TransactionProof;
3110
3110
  }
3111
3111
  /**
3112
3112
  * algod version information.