algosdk 2.4.0 → 2.6.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 (71) 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/urlTokenBaseHTTPClient.js +0 -3
  5. package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
  6. package/dist/cjs/client/v2/algod/algod.js +17 -0
  7. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  8. package/dist/cjs/client/v2/algod/getBlockTxids.js +19 -0
  9. package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -0
  10. package/dist/cjs/client/v2/algod/models/types.js +716 -18
  11. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  12. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +2 -3
  13. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  14. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +2 -1
  15. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  16. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +2 -4
  17. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  18. package/dist/cjs/client/v2/indexer/searchAccounts.js +2 -1
  19. package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -1
  20. package/dist/cjs/client/v2/indexer/searchForTransactions.js +61 -62
  21. package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
  22. package/dist/cjs/nacl/naclWrappers.js +4 -0
  23. package/dist/cjs/nacl/naclWrappers.js.map +1 -1
  24. package/dist/cjs/signer.js +6 -1
  25. package/dist/cjs/signer.js.map +1 -1
  26. package/dist/cjs/utils/utils.js +13 -1
  27. package/dist/cjs/utils/utils.js.map +1 -1
  28. package/dist/esm/client/urlTokenBaseHTTPClient.js +0 -3
  29. package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
  30. package/dist/esm/client/v2/algod/algod.js +17 -0
  31. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  32. package/dist/esm/client/v2/algod/getBlockTxids.js +13 -0
  33. package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -0
  34. package/dist/esm/client/v2/algod/models/types.js +699 -16
  35. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  36. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +2 -3
  37. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  38. package/dist/esm/client/v2/indexer/lookupAssetBalances.js +2 -1
  39. package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  40. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +2 -4
  41. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  42. package/dist/esm/client/v2/indexer/searchAccounts.js +2 -1
  43. package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -1
  44. package/dist/esm/client/v2/indexer/searchForTransactions.js +61 -62
  45. package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
  46. package/dist/esm/nacl/naclWrappers.js +4 -0
  47. package/dist/esm/nacl/naclWrappers.js.map +1 -1
  48. package/dist/esm/signer.js +6 -1
  49. package/dist/esm/signer.js.map +1 -1
  50. package/dist/esm/utils/utils.js +11 -0
  51. package/dist/esm/utils/utils.js.map +1 -1
  52. package/dist/types/client/v2/algod/algod.d.ts +15 -0
  53. package/dist/types/client/v2/algod/getBlockTxids.d.ts +8 -0
  54. package/dist/types/client/v2/algod/models/types.d.ts +606 -10
  55. package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +0 -2
  56. package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +0 -3
  57. package/dist/types/client/v2/indexer/searchForTransactions.d.ts +54 -56
  58. package/dist/types/utils/utils.d.ts +5 -0
  59. package/package.json +5 -5
  60. package/src/client/urlTokenBaseHTTPClient.ts +0 -3
  61. package/src/client/v2/algod/algod.ts +18 -0
  62. package/src/client/v2/algod/getBlockTxids.ts +18 -0
  63. package/src/client/v2/algod/models/types.ts +1263 -13
  64. package/src/client/v2/indexer/lookupAccountTransactions.ts +2 -3
  65. package/src/client/v2/indexer/lookupAssetBalances.ts +2 -1
  66. package/src/client/v2/indexer/lookupAssetTransactions.ts +2 -4
  67. package/src/client/v2/indexer/searchAccounts.ts +2 -1
  68. package/src/client/v2/indexer/searchForTransactions.ts +63 -64
  69. package/src/nacl/naclWrappers.ts +6 -0
  70. package/src/signer.ts +5 -1
  71. package/src/utils/utils.ts +12 -0
@@ -375,6 +375,88 @@ export declare class Application extends BaseModel {
375
375
  });
376
376
  static from_obj_for_encoding(data: Record<string, any>): Application;
377
377
  }
378
+ /**
379
+ * An application's initial global/local/box states that were accessed during
380
+ * simulation.
381
+ */
382
+ export declare class ApplicationInitialStates extends BaseModel {
383
+ /**
384
+ * Application index.
385
+ */
386
+ id: number | bigint;
387
+ /**
388
+ * An application's global/local/box state.
389
+ */
390
+ appBoxes?: ApplicationKVStorage;
391
+ /**
392
+ * An application's global/local/box state.
393
+ */
394
+ appGlobals?: ApplicationKVStorage;
395
+ /**
396
+ * An application's initial local states tied to different accounts.
397
+ */
398
+ appLocals?: ApplicationKVStorage[];
399
+ /**
400
+ * Creates a new `ApplicationInitialStates` object.
401
+ * @param id - Application index.
402
+ * @param appBoxes - An application's global/local/box state.
403
+ * @param appGlobals - An application's global/local/box state.
404
+ * @param appLocals - An application's initial local states tied to different accounts.
405
+ */
406
+ constructor({ id, appBoxes, appGlobals, appLocals, }: {
407
+ id: number | bigint;
408
+ appBoxes?: ApplicationKVStorage;
409
+ appGlobals?: ApplicationKVStorage;
410
+ appLocals?: ApplicationKVStorage[];
411
+ });
412
+ static from_obj_for_encoding(data: Record<string, any>): ApplicationInitialStates;
413
+ }
414
+ /**
415
+ * An application's global/local/box state.
416
+ */
417
+ export declare class ApplicationKVStorage extends BaseModel {
418
+ /**
419
+ * Key-Value pairs representing application states.
420
+ */
421
+ kvs: AvmKeyValue[];
422
+ /**
423
+ * The address of the account associated with the local state.
424
+ */
425
+ account?: string;
426
+ /**
427
+ * Creates a new `ApplicationKVStorage` object.
428
+ * @param kvs - Key-Value pairs representing application states.
429
+ * @param account - The address of the account associated with the local state.
430
+ */
431
+ constructor({ kvs, account }: {
432
+ kvs: AvmKeyValue[];
433
+ account?: string;
434
+ });
435
+ static from_obj_for_encoding(data: Record<string, any>): ApplicationKVStorage;
436
+ }
437
+ /**
438
+ * References an account's local state for an application.
439
+ */
440
+ export declare class ApplicationLocalReference extends BaseModel {
441
+ /**
442
+ * Address of the account with the local state.
443
+ */
444
+ account: string;
445
+ /**
446
+ * Application ID of the local state application.
447
+ */
448
+ app: number | bigint;
449
+ /**
450
+ * Creates a new `ApplicationLocalReference` object.
451
+ * @param account - Address of the account with the local state.
452
+ * @param app - Application ID of the local state application.
453
+ */
454
+ constructor({ account, app }: {
455
+ account: string;
456
+ app: number | bigint;
457
+ });
458
+ static from_obj_for_encoding(data: Record<string, any>): ApplicationLocalReference;
459
+ }
378
460
  /**
379
461
  * Stores local state associated with an application.
380
462
  */
@@ -459,6 +541,51 @@ export declare class ApplicationParams extends BaseModel {
459
541
  });
460
542
  static from_obj_for_encoding(data: Record<string, any>): ApplicationParams;
461
543
  }
544
+ /**
545
+ * An operation against an application's global/local/box state.
546
+ */
547
+ export declare class ApplicationStateOperation extends BaseModel {
548
+ /**
549
+ * Type of application state. Value `g` is **global state**, `l` is **local
550
+ * state**, `b` is **boxes**.
551
+ */
552
+ appStateType: string;
553
+ /**
554
+ * The key (name) of the global/local/box state.
555
+ */
556
+ key: Uint8Array;
557
+ /**
558
+ * Operation type. Value `w` is **write**, `d` is **delete**.
559
+ */
560
+ operation: string;
561
+ /**
562
+ * For local state changes, the address of the account associated with the local
563
+ * state.
564
+ */
565
+ account?: string;
566
+ /**
567
+ * Represents an AVM value.
568
+ */
569
+ newValue?: AvmValue;
570
+ /**
571
+ * Creates a new `ApplicationStateOperation` object.
572
+ * @param appStateType - Type of application state. Value `g` is **global state**, `l` is **local
573
+ * state**, `b` is **boxes**.
574
+ * @param key - The key (name) of the global/local/box state.
575
+ * @param operation - Operation type. Value `w` is **write**, `d` is **delete**.
576
+ * @param account - For local state changes, the address of the account associated with the local
577
+ * state.
578
+ * @param newValue - Represents an AVM value.
579
+ */
580
+ constructor({ appStateType, key, operation, account, newValue, }: {
581
+ appStateType: string;
582
+ key: string | Uint8Array;
583
+ operation: string;
584
+ account?: string;
585
+ newValue?: AvmValue;
586
+ });
587
+ static from_obj_for_encoding(data: Record<string, any>): ApplicationStateOperation;
588
+ }
462
589
  /**
463
590
  * Specifies maximums on the number of each type that may be stored.
464
591
  */
@@ -542,6 +669,29 @@ export declare class AssetHolding extends BaseModel {
542
669
  });
543
670
  static from_obj_for_encoding(data: Record<string, any>): AssetHolding;
544
671
  }
672
+ /**
673
+ * References an asset held by an account.
674
+ */
675
+ export declare class AssetHoldingReference extends BaseModel {
676
+ /**
677
+ * Address of the account holding the asset.
678
+ */
679
+ account: string;
680
+ /**
681
+ * Asset ID of the holding.
682
+ */
683
+ asset: number | bigint;
684
+ /**
685
+ * Creates a new `AssetHoldingReference` object.
686
+ * @param account - Address of the account holding the asset.
687
+ * @param asset - Asset ID of the holding.
688
+ */
689
+ constructor({ account, asset }: {
690
+ account: string;
691
+ asset: number | bigint;
692
+ });
693
+ static from_obj_for_encoding(data: Record<string, any>): AssetHoldingReference;
694
+ }
545
695
  /**
546
696
  * AssetParams specifies the parameters for an asset.
547
697
  * (apar) when part of an AssetConfig transaction.
@@ -668,6 +818,55 @@ export declare class AssetParams extends BaseModel {
668
818
  });
669
819
  static from_obj_for_encoding(data: Record<string, any>): AssetParams;
670
820
  }
821
+ /**
822
+ * Represents an AVM key-value pair in an application store.
823
+ */
824
+ export declare class AvmKeyValue extends BaseModel {
825
+ key: Uint8Array;
826
+ /**
827
+ * Represents an AVM value.
828
+ */
829
+ value: AvmValue;
830
+ /**
831
+ * Creates a new `AvmKeyValue` object.
832
+ * @param key -
833
+ * @param value - Represents an AVM value.
834
+ */
835
+ constructor({ key, value }: {
836
+ key: string | Uint8Array;
837
+ value: AvmValue;
838
+ });
839
+ static from_obj_for_encoding(data: Record<string, any>): AvmKeyValue;
840
+ }
841
+ /**
842
+ * Represents an AVM value.
843
+ */
844
+ export declare class AvmValue extends BaseModel {
845
+ /**
846
+ * value type. Value `1` refers to **bytes**, value `2` refers to **uint64**
847
+ */
848
+ type: number | bigint;
849
+ /**
850
+ * bytes value.
851
+ */
852
+ bytes?: Uint8Array;
853
+ /**
854
+ * uint value.
855
+ */
856
+ uint?: number | bigint;
857
+ /**
858
+ * Creates a new `AvmValue` object.
859
+ * @param type - value type. Value `1` refers to **bytes**, value `2` refers to **uint64**
860
+ * @param bytes - bytes value.
861
+ * @param uint - uint value.
862
+ */
863
+ constructor({ type, bytes, uint, }: {
864
+ type: number | bigint;
865
+ bytes?: string | Uint8Array;
866
+ uint?: number | bigint;
867
+ });
868
+ static from_obj_for_encoding(data: Record<string, any>): AvmValue;
869
+ }
671
870
  /**
672
871
  * Hash of a block header.
673
872
  */
@@ -710,6 +909,23 @@ export declare class BlockResponse extends BaseModel {
710
909
  });
711
910
  static from_obj_for_encoding(data: Record<string, any>): BlockResponse;
712
911
  }
912
+ /**
913
+ * Top level transaction IDs in a block.
914
+ */
915
+ export declare class BlockTxidsResponse extends BaseModel {
916
+ /**
917
+ * Block transaction IDs.
918
+ */
919
+ blocktxids: string[];
920
+ /**
921
+ * Creates a new `BlockTxidsResponse` object.
922
+ * @param blocktxids - Block transaction IDs.
923
+ */
924
+ constructor({ blocktxids }: {
925
+ blocktxids: string[];
926
+ });
927
+ static from_obj_for_encoding(data: Record<string, any>): BlockTxidsResponse;
928
+ }
713
929
  /**
714
930
  * Box name and its content.
715
931
  */
@@ -718,6 +934,10 @@ export declare class Box extends BaseModel {
718
934
  * (name) box name, base64 encoded
719
935
  */
720
936
  name: Uint8Array;
937
+ /**
938
+ * The round for which this information is relevant
939
+ */
940
+ round: number | bigint;
721
941
  /**
722
942
  * (value) box value, base64 encoded.
723
943
  */
@@ -725,10 +945,12 @@ export declare class Box extends BaseModel {
725
945
  /**
726
946
  * Creates a new `Box` object.
727
947
  * @param name - (name) box name, base64 encoded
948
+ * @param round - The round for which this information is relevant
728
949
  * @param value - (value) box value, base64 encoded.
729
950
  */
730
- constructor({ name, value, }: {
951
+ constructor({ name, round, value, }: {
731
952
  name: string | Uint8Array;
953
+ round: number | bigint;
732
954
  value: string | Uint8Array;
733
955
  });
734
956
  static from_obj_for_encoding(data: Record<string, any>): Box;
@@ -750,6 +972,29 @@ export declare class BoxDescriptor extends BaseModel {
750
972
  });
751
973
  static from_obj_for_encoding(data: Record<string, any>): BoxDescriptor;
752
974
  }
975
+ /**
976
+ * References a box of an application.
977
+ */
978
+ export declare class BoxReference extends BaseModel {
979
+ /**
980
+ * Application ID which this box belongs to
981
+ */
982
+ app: number | bigint;
983
+ /**
984
+ * Base64 encoded box name
985
+ */
986
+ name: Uint8Array;
987
+ /**
988
+ * Creates a new `BoxReference` object.
989
+ * @param app - Application ID which this box belongs to
990
+ * @param name - Base64 encoded box name
991
+ */
992
+ constructor({ app, name, }: {
993
+ app: number | bigint;
994
+ name: string | Uint8Array;
995
+ });
996
+ static from_obj_for_encoding(data: Record<string, any>): BoxReference;
997
+ }
753
998
  /**
754
999
  * Box names of an application
755
1000
  */
@@ -1539,6 +1784,48 @@ export declare class PostTransactionsResponse extends BaseModel {
1539
1784
  });
1540
1785
  static from_obj_for_encoding(data: Record<string, any>): PostTransactionsResponse;
1541
1786
  }
1787
+ /**
1788
+ * A write operation into a scratch slot.
1789
+ */
1790
+ export declare class ScratchChange extends BaseModel {
1791
+ /**
1792
+ * Represents an AVM value.
1793
+ */
1794
+ newValue: AvmValue;
1795
+ /**
1796
+ * The scratch slot written.
1797
+ */
1798
+ slot: number | bigint;
1799
+ /**
1800
+ * Creates a new `ScratchChange` object.
1801
+ * @param newValue - Represents an AVM value.
1802
+ * @param slot - The scratch slot written.
1803
+ */
1804
+ constructor({ newValue, slot, }: {
1805
+ newValue: AvmValue;
1806
+ slot: number | bigint;
1807
+ });
1808
+ static from_obj_for_encoding(data: Record<string, any>): ScratchChange;
1809
+ }
1810
+ /**
1811
+ * Initial states of resources that were accessed during simulation.
1812
+ */
1813
+ export declare class SimulateInitialStates extends BaseModel {
1814
+ /**
1815
+ * The initial states of accessed application before simulation. The order of this
1816
+ * array is arbitrary.
1817
+ */
1818
+ appInitialStates?: ApplicationInitialStates[];
1819
+ /**
1820
+ * Creates a new `SimulateInitialStates` object.
1821
+ * @param appInitialStates - The initial states of accessed application before simulation. The order of this
1822
+ * array is arbitrary.
1823
+ */
1824
+ constructor({ appInitialStates, }: {
1825
+ appInitialStates?: ApplicationInitialStates[];
1826
+ });
1827
+ static from_obj_for_encoding(data: Record<string, any>): SimulateInitialStates;
1828
+ }
1542
1829
  /**
1543
1830
  * Request type for simulation endpoint.
1544
1831
  */
@@ -1548,7 +1835,7 @@ export declare class SimulateRequest extends BaseModel {
1548
1835
  */
1549
1836
  txnGroups: SimulateRequestTransactionGroup[];
1550
1837
  /**
1551
- * Allow transactions without signatures to be simulated as if they had correct
1838
+ * Allows transactions without signatures to be simulated as if they had correct
1552
1839
  * signatures.
1553
1840
  */
1554
1841
  allowEmptySignatures?: boolean;
@@ -1556,23 +1843,47 @@ export declare class SimulateRequest extends BaseModel {
1556
1843
  * Lifts limits on log opcode usage during simulation.
1557
1844
  */
1558
1845
  allowMoreLogging?: boolean;
1846
+ /**
1847
+ * Allows access to unnamed resources during simulation.
1848
+ */
1849
+ allowUnnamedResources?: boolean;
1850
+ /**
1851
+ * An object that configures simulation execution trace.
1852
+ */
1853
+ execTraceConfig?: SimulateTraceConfig;
1559
1854
  /**
1560
1855
  * Applies extra opcode budget during simulation for each transaction group.
1561
1856
  */
1562
1857
  extraOpcodeBudget?: number | bigint;
1858
+ /**
1859
+ * If provided, specifies the round preceding the simulation. State changes through
1860
+ * this round will be used to run this simulation. Usually only the 4 most recent
1861
+ * rounds will be available (controlled by the node config value MaxAcctLookback).
1862
+ * If not specified, defaults to the latest available round.
1863
+ */
1864
+ round?: number | bigint;
1563
1865
  /**
1564
1866
  * Creates a new `SimulateRequest` object.
1565
1867
  * @param txnGroups - The transaction groups to simulate.
1566
- * @param allowEmptySignatures - Allow transactions without signatures to be simulated as if they had correct
1868
+ * @param allowEmptySignatures - Allows transactions without signatures to be simulated as if they had correct
1567
1869
  * signatures.
1568
1870
  * @param allowMoreLogging - Lifts limits on log opcode usage during simulation.
1871
+ * @param allowUnnamedResources - Allows access to unnamed resources during simulation.
1872
+ * @param execTraceConfig - An object that configures simulation execution trace.
1569
1873
  * @param extraOpcodeBudget - Applies extra opcode budget during simulation for each transaction group.
1874
+ * @param round - If provided, specifies the round preceding the simulation. State changes through
1875
+ * this round will be used to run this simulation. Usually only the 4 most recent
1876
+ * rounds will be available (controlled by the node config value MaxAcctLookback).
1877
+ * If not specified, defaults to the latest available round.
1570
1878
  */
1571
- constructor({ txnGroups, allowEmptySignatures, allowMoreLogging, extraOpcodeBudget, }: {
1879
+ constructor({ txnGroups, allowEmptySignatures, allowMoreLogging, allowUnnamedResources, execTraceConfig, extraOpcodeBudget, round, }: {
1572
1880
  txnGroups: SimulateRequestTransactionGroup[];
1573
1881
  allowEmptySignatures?: boolean;
1574
1882
  allowMoreLogging?: boolean;
1883
+ allowUnnamedResources?: boolean;
1884
+ execTraceConfig?: SimulateTraceConfig;
1575
1885
  extraOpcodeBudget?: number | bigint;
1886
+ round?: number | bigint;
1576
1887
  });
1577
1888
  static from_obj_for_encoding(data: Record<string, any>): SimulateRequest;
1578
1889
  }
@@ -1616,6 +1927,14 @@ export declare class SimulateResponse extends BaseModel {
1616
1927
  * evaluation in certain ways.
1617
1928
  */
1618
1929
  evalOverrides?: SimulationEvalOverrides;
1930
+ /**
1931
+ * An object that configures simulation execution trace.
1932
+ */
1933
+ execTraceConfig?: SimulateTraceConfig;
1934
+ /**
1935
+ * Initial states of resources that were accessed during simulation.
1936
+ */
1937
+ initialStates?: SimulateInitialStates;
1619
1938
  /**
1620
1939
  * Creates a new `SimulateResponse` object.
1621
1940
  * @param lastRound - The round immediately preceding this simulation. State changes through this
@@ -1625,15 +1944,60 @@ export declare class SimulateResponse extends BaseModel {
1625
1944
  * @param evalOverrides - The set of parameters and limits override during simulation. If this set of
1626
1945
  * parameters is present, then evaluation parameters may differ from standard
1627
1946
  * evaluation in certain ways.
1947
+ * @param execTraceConfig - An object that configures simulation execution trace.
1948
+ * @param initialStates - Initial states of resources that were accessed during simulation.
1628
1949
  */
1629
- constructor({ lastRound, txnGroups, version, evalOverrides, }: {
1950
+ constructor({ lastRound, txnGroups, version, evalOverrides, execTraceConfig, initialStates, }: {
1630
1951
  lastRound: number | bigint;
1631
1952
  txnGroups: SimulateTransactionGroupResult[];
1632
1953
  version: number | bigint;
1633
1954
  evalOverrides?: SimulationEvalOverrides;
1955
+ execTraceConfig?: SimulateTraceConfig;
1956
+ initialStates?: SimulateInitialStates;
1634
1957
  });
1635
1958
  static from_obj_for_encoding(data: Record<string, any>): SimulateResponse;
1636
1959
  }
1960
+ /**
1961
+ * An object that configures simulation execution trace.
1962
+ */
1963
+ export declare class SimulateTraceConfig extends BaseModel {
1964
+ /**
1965
+ * A boolean option for opting in execution trace features simulation endpoint.
1966
+ */
1967
+ enable?: boolean;
1968
+ /**
1969
+ * A boolean option enabling returning scratch slot changes together with execution
1970
+ * trace during simulation.
1971
+ */
1972
+ scratchChange?: boolean;
1973
+ /**
1974
+ * A boolean option enabling returning stack changes together with execution trace
1975
+ * during simulation.
1976
+ */
1977
+ stackChange?: boolean;
1978
+ /**
1979
+ * A boolean option enabling returning application state changes (global, local,
1980
+ * and box changes) with the execution trace during simulation.
1981
+ */
1982
+ stateChange?: boolean;
1983
+ /**
1984
+ * Creates a new `SimulateTraceConfig` object.
1985
+ * @param enable - A boolean option for opting in execution trace features simulation endpoint.
1986
+ * @param scratchChange - A boolean option enabling returning scratch slot changes together with execution
1987
+ * trace during simulation.
1988
+ * @param stackChange - A boolean option enabling returning stack changes together with execution trace
1989
+ * during simulation.
1990
+ * @param stateChange - A boolean option enabling returning application state changes (global, local,
1991
+ * and box changes) with the execution trace during simulation.
1992
+ */
1993
+ constructor({ enable, scratchChange, stackChange, stateChange, }: {
1994
+ enable?: boolean;
1995
+ scratchChange?: boolean;
1996
+ stackChange?: boolean;
1997
+ stateChange?: boolean;
1998
+ });
1999
+ static from_obj_for_encoding(data: Record<string, any>): SimulateTraceConfig;
2000
+ }
1637
2001
  /**
1638
2002
  * Simulation result for an atomic transaction group
1639
2003
  */
@@ -1662,6 +2026,18 @@ export declare class SimulateTransactionGroupResult extends BaseModel {
1662
2026
  * happened
1663
2027
  */
1664
2028
  failureMessage?: string;
2029
+ /**
2030
+ * These are resources that were accessed by this group that would normally have
2031
+ * caused failure, but were allowed in simulation. Depending on where this object
2032
+ * is in the response, the unnamed resources it contains may or may not qualify for
2033
+ * group resource sharing. If this is a field in SimulateTransactionGroupResult,
2034
+ * the resources do qualify, but if this is a field in SimulateTransactionResult,
2035
+ * they do not qualify. In order to make this group valid for actual submission,
2036
+ * resources that qualify for group sharing can be made available by any
2037
+ * transaction of the group; otherwise, resources must be placed in the same
2038
+ * transaction which accessed them.
2039
+ */
2040
+ unnamedResourcesAccessed?: SimulateUnnamedResourcesAccessed;
1665
2041
  /**
1666
2042
  * Creates a new `SimulateTransactionGroupResult` object.
1667
2043
  * @param txnResults - Simulation result for individual transactions
@@ -1673,13 +2049,23 @@ export declare class SimulateTransactionGroupResult extends BaseModel {
1673
2049
  * indicate deeper inner transactions.
1674
2050
  * @param failureMessage - If present, indicates that the transaction group failed and specifies why that
1675
2051
  * happened
1676
- */
1677
- constructor({ txnResults, appBudgetAdded, appBudgetConsumed, failedAt, failureMessage, }: {
2052
+ * @param unnamedResourcesAccessed - These are resources that were accessed by this group that would normally have
2053
+ * caused failure, but were allowed in simulation. Depending on where this object
2054
+ * is in the response, the unnamed resources it contains may or may not qualify for
2055
+ * group resource sharing. If this is a field in SimulateTransactionGroupResult,
2056
+ * the resources do qualify, but if this is a field in SimulateTransactionResult,
2057
+ * they do not qualify. In order to make this group valid for actual submission,
2058
+ * resources that qualify for group sharing can be made available by any
2059
+ * transaction of the group; otherwise, resources must be placed in the same
2060
+ * transaction which accessed them.
2061
+ */
2062
+ constructor({ txnResults, appBudgetAdded, appBudgetConsumed, failedAt, failureMessage, unnamedResourcesAccessed, }: {
1678
2063
  txnResults: SimulateTransactionResult[];
1679
2064
  appBudgetAdded?: number | bigint;
1680
2065
  appBudgetConsumed?: number | bigint;
1681
2066
  failedAt?: (number | bigint)[];
1682
2067
  failureMessage?: string;
2068
+ unnamedResourcesAccessed?: SimulateUnnamedResourcesAccessed;
1683
2069
  });
1684
2070
  static from_obj_for_encoding(data: Record<string, any>): SimulateTransactionGroupResult;
1685
2071
  }
@@ -1697,25 +2083,126 @@ export declare class SimulateTransactionResult extends BaseModel {
1697
2083
  * budged used by inner app calls spawned by this transaction.
1698
2084
  */
1699
2085
  appBudgetConsumed?: number | bigint;
2086
+ /**
2087
+ * The execution trace of calling an app or a logic sig, containing the inner app
2088
+ * call trace in a recursive way.
2089
+ */
2090
+ execTrace?: SimulationTransactionExecTrace;
1700
2091
  /**
1701
2092
  * Budget used during execution of a logic sig transaction.
1702
2093
  */
1703
2094
  logicSigBudgetConsumed?: number | bigint;
2095
+ /**
2096
+ * These are resources that were accessed by this group that would normally have
2097
+ * caused failure, but were allowed in simulation. Depending on where this object
2098
+ * is in the response, the unnamed resources it contains may or may not qualify for
2099
+ * group resource sharing. If this is a field in SimulateTransactionGroupResult,
2100
+ * the resources do qualify, but if this is a field in SimulateTransactionResult,
2101
+ * they do not qualify. In order to make this group valid for actual submission,
2102
+ * resources that qualify for group sharing can be made available by any
2103
+ * transaction of the group; otherwise, resources must be placed in the same
2104
+ * transaction which accessed them.
2105
+ */
2106
+ unnamedResourcesAccessed?: SimulateUnnamedResourcesAccessed;
1704
2107
  /**
1705
2108
  * Creates a new `SimulateTransactionResult` object.
1706
2109
  * @param txnResult - Details about a pending transaction. If the transaction was recently confirmed,
1707
2110
  * includes confirmation details like the round and reward details.
1708
2111
  * @param appBudgetConsumed - Budget used during execution of an app call transaction. This value includes
1709
2112
  * budged used by inner app calls spawned by this transaction.
2113
+ * @param execTrace - The execution trace of calling an app or a logic sig, containing the inner app
2114
+ * call trace in a recursive way.
1710
2115
  * @param logicSigBudgetConsumed - Budget used during execution of a logic sig transaction.
1711
- */
1712
- constructor({ txnResult, appBudgetConsumed, logicSigBudgetConsumed, }: {
2116
+ * @param unnamedResourcesAccessed - These are resources that were accessed by this group that would normally have
2117
+ * caused failure, but were allowed in simulation. Depending on where this object
2118
+ * is in the response, the unnamed resources it contains may or may not qualify for
2119
+ * group resource sharing. If this is a field in SimulateTransactionGroupResult,
2120
+ * the resources do qualify, but if this is a field in SimulateTransactionResult,
2121
+ * they do not qualify. In order to make this group valid for actual submission,
2122
+ * resources that qualify for group sharing can be made available by any
2123
+ * transaction of the group; otherwise, resources must be placed in the same
2124
+ * transaction which accessed them.
2125
+ */
2126
+ constructor({ txnResult, appBudgetConsumed, execTrace, logicSigBudgetConsumed, unnamedResourcesAccessed, }: {
1713
2127
  txnResult: PendingTransactionResponse;
1714
2128
  appBudgetConsumed?: number | bigint;
2129
+ execTrace?: SimulationTransactionExecTrace;
1715
2130
  logicSigBudgetConsumed?: number | bigint;
2131
+ unnamedResourcesAccessed?: SimulateUnnamedResourcesAccessed;
1716
2132
  });
1717
2133
  static from_obj_for_encoding(data: Record<string, any>): SimulateTransactionResult;
1718
2134
  }
2135
+ /**
2136
+ * These are resources that were accessed by this group that would normally have
2137
+ * caused failure, but were allowed in simulation. Depending on where this object
2138
+ * is in the response, the unnamed resources it contains may or may not qualify for
2139
+ * group resource sharing. If this is a field in SimulateTransactionGroupResult,
2140
+ * the resources do qualify, but if this is a field in SimulateTransactionResult,
2141
+ * they do not qualify. In order to make this group valid for actual submission,
2142
+ * resources that qualify for group sharing can be made available by any
2143
+ * transaction of the group; otherwise, resources must be placed in the same
2144
+ * transaction which accessed them.
2145
+ */
2146
+ export declare class SimulateUnnamedResourcesAccessed extends BaseModel {
2147
+ /**
2148
+ * The unnamed accounts that were referenced. The order of this array is arbitrary.
2149
+ */
2150
+ accounts?: string[];
2151
+ /**
2152
+ * The unnamed application local states that were referenced. The order of this
2153
+ * array is arbitrary.
2154
+ */
2155
+ appLocals?: ApplicationLocalReference[];
2156
+ /**
2157
+ * The unnamed applications that were referenced. The order of this array is
2158
+ * arbitrary.
2159
+ */
2160
+ apps?: (number | bigint)[];
2161
+ /**
2162
+ * The unnamed asset holdings that were referenced. The order of this array is
2163
+ * arbitrary.
2164
+ */
2165
+ assetHoldings?: AssetHoldingReference[];
2166
+ /**
2167
+ * The unnamed assets that were referenced. The order of this array is arbitrary.
2168
+ */
2169
+ assets?: (number | bigint)[];
2170
+ /**
2171
+ * The unnamed boxes that were referenced. The order of this array is arbitrary.
2172
+ */
2173
+ boxes?: BoxReference[];
2174
+ /**
2175
+ * The number of extra box references used to increase the IO budget. This is in
2176
+ * addition to the references defined in the input transaction group and any
2177
+ * referenced to unnamed boxes.
2178
+ */
2179
+ extraBoxRefs?: number | bigint;
2180
+ /**
2181
+ * Creates a new `SimulateUnnamedResourcesAccessed` object.
2182
+ * @param accounts - The unnamed accounts that were referenced. The order of this array is arbitrary.
2183
+ * @param appLocals - The unnamed application local states that were referenced. The order of this
2184
+ * array is arbitrary.
2185
+ * @param apps - The unnamed applications that were referenced. The order of this array is
2186
+ * arbitrary.
2187
+ * @param assetHoldings - The unnamed asset holdings that were referenced. The order of this array is
2188
+ * arbitrary.
2189
+ * @param assets - The unnamed assets that were referenced. The order of this array is arbitrary.
2190
+ * @param boxes - The unnamed boxes that were referenced. The order of this array is arbitrary.
2191
+ * @param extraBoxRefs - The number of extra box references used to increase the IO budget. This is in
2192
+ * addition to the references defined in the input transaction group and any
2193
+ * referenced to unnamed boxes.
2194
+ */
2195
+ constructor({ accounts, appLocals, apps, assetHoldings, assets, boxes, extraBoxRefs, }: {
2196
+ accounts?: string[];
2197
+ appLocals?: ApplicationLocalReference[];
2198
+ apps?: (number | bigint)[];
2199
+ assetHoldings?: AssetHoldingReference[];
2200
+ assets?: (number | bigint)[];
2201
+ boxes?: BoxReference[];
2202
+ extraBoxRefs?: number | bigint;
2203
+ });
2204
+ static from_obj_for_encoding(data: Record<string, any>): SimulateUnnamedResourcesAccessed;
2205
+ }
1719
2206
  /**
1720
2207
  * The set of parameters and limits override during simulation. If this set of
1721
2208
  * parameters is present, then evaluation parameters may differ from standard
@@ -1727,6 +2214,10 @@ export declare class SimulationEvalOverrides extends BaseModel {
1727
2214
  * were properly signed.
1728
2215
  */
1729
2216
  allowEmptySignatures?: boolean;
2217
+ /**
2218
+ * If true, allows access to unnamed resources during simulation.
2219
+ */
2220
+ allowUnnamedResources?: boolean;
1730
2221
  /**
1731
2222
  * The extra opcode budget added to each transaction group during simulation
1732
2223
  */
@@ -1743,18 +2234,123 @@ export declare class SimulationEvalOverrides extends BaseModel {
1743
2234
  * Creates a new `SimulationEvalOverrides` object.
1744
2235
  * @param allowEmptySignatures - If true, transactions without signatures are allowed and simulated as if they
1745
2236
  * were properly signed.
2237
+ * @param allowUnnamedResources - If true, allows access to unnamed resources during simulation.
1746
2238
  * @param extraOpcodeBudget - The extra opcode budget added to each transaction group during simulation
1747
2239
  * @param maxLogCalls - The maximum log calls one can make during simulation
1748
2240
  * @param maxLogSize - The maximum byte number to log during simulation
1749
2241
  */
1750
- constructor({ allowEmptySignatures, extraOpcodeBudget, maxLogCalls, maxLogSize, }: {
2242
+ constructor({ allowEmptySignatures, allowUnnamedResources, extraOpcodeBudget, maxLogCalls, maxLogSize, }: {
1751
2243
  allowEmptySignatures?: boolean;
2244
+ allowUnnamedResources?: boolean;
1752
2245
  extraOpcodeBudget?: number | bigint;
1753
2246
  maxLogCalls?: number | bigint;
1754
2247
  maxLogSize?: number | bigint;
1755
2248
  });
1756
2249
  static from_obj_for_encoding(data: Record<string, any>): SimulationEvalOverrides;
1757
2250
  }
2251
+ /**
2252
+ * The set of trace information and effect from evaluating a single opcode.
2253
+ */
2254
+ export declare class SimulationOpcodeTraceUnit extends BaseModel {
2255
+ /**
2256
+ * The program counter of the current opcode being evaluated.
2257
+ */
2258
+ pc: number | bigint;
2259
+ /**
2260
+ * The writes into scratch slots.
2261
+ */
2262
+ scratchChanges?: ScratchChange[];
2263
+ /**
2264
+ * The indexes of the traces for inner transactions spawned by this opcode, if any.
2265
+ */
2266
+ spawnedInners?: (number | bigint)[];
2267
+ /**
2268
+ * The values added by this opcode to the stack.
2269
+ */
2270
+ stackAdditions?: AvmValue[];
2271
+ /**
2272
+ * The number of deleted stack values by this opcode.
2273
+ */
2274
+ stackPopCount?: number | bigint;
2275
+ /**
2276
+ * The operations against the current application's states.
2277
+ */
2278
+ stateChanges?: ApplicationStateOperation[];
2279
+ /**
2280
+ * Creates a new `SimulationOpcodeTraceUnit` object.
2281
+ * @param pc - The program counter of the current opcode being evaluated.
2282
+ * @param scratchChanges - The writes into scratch slots.
2283
+ * @param spawnedInners - The indexes of the traces for inner transactions spawned by this opcode, if any.
2284
+ * @param stackAdditions - The values added by this opcode to the stack.
2285
+ * @param stackPopCount - The number of deleted stack values by this opcode.
2286
+ * @param stateChanges - The operations against the current application's states.
2287
+ */
2288
+ constructor({ pc, scratchChanges, spawnedInners, stackAdditions, stackPopCount, stateChanges, }: {
2289
+ pc: number | bigint;
2290
+ scratchChanges?: ScratchChange[];
2291
+ spawnedInners?: (number | bigint)[];
2292
+ stackAdditions?: AvmValue[];
2293
+ stackPopCount?: number | bigint;
2294
+ stateChanges?: ApplicationStateOperation[];
2295
+ });
2296
+ static from_obj_for_encoding(data: Record<string, any>): SimulationOpcodeTraceUnit;
2297
+ }
2298
+ /**
2299
+ * The execution trace of calling an app or a logic sig, containing the inner app
2300
+ * call trace in a recursive way.
2301
+ */
2302
+ export declare class SimulationTransactionExecTrace extends BaseModel {
2303
+ /**
2304
+ * SHA512_256 hash digest of the approval program executed in transaction.
2305
+ */
2306
+ approvalProgramHash?: Uint8Array;
2307
+ /**
2308
+ * Program trace that contains a trace of opcode effects in an approval program.
2309
+ */
2310
+ approvalProgramTrace?: SimulationOpcodeTraceUnit[];
2311
+ /**
2312
+ * SHA512_256 hash digest of the clear state program executed in transaction.
2313
+ */
2314
+ clearStateProgramHash?: Uint8Array;
2315
+ /**
2316
+ * Program trace that contains a trace of opcode effects in a clear state program.
2317
+ */
2318
+ clearStateProgramTrace?: SimulationOpcodeTraceUnit[];
2319
+ /**
2320
+ * An array of SimulationTransactionExecTrace representing the execution trace of
2321
+ * any inner transactions executed.
2322
+ */
2323
+ innerTrace?: SimulationTransactionExecTrace[];
2324
+ /**
2325
+ * SHA512_256 hash digest of the logic sig executed in transaction.
2326
+ */
2327
+ logicSigHash?: Uint8Array;
2328
+ /**
2329
+ * Program trace that contains a trace of opcode effects in a logic sig.
2330
+ */
2331
+ logicSigTrace?: SimulationOpcodeTraceUnit[];
2332
+ /**
2333
+ * Creates a new `SimulationTransactionExecTrace` object.
2334
+ * @param approvalProgramHash - SHA512_256 hash digest of the approval program executed in transaction.
2335
+ * @param approvalProgramTrace - Program trace that contains a trace of opcode effects in an approval program.
2336
+ * @param clearStateProgramHash - SHA512_256 hash digest of the clear state program executed in transaction.
2337
+ * @param clearStateProgramTrace - Program trace that contains a trace of opcode effects in a clear state program.
2338
+ * @param innerTrace - An array of SimulationTransactionExecTrace representing the execution trace of
2339
+ * any inner transactions executed.
2340
+ * @param logicSigHash - SHA512_256 hash digest of the logic sig executed in transaction.
2341
+ * @param logicSigTrace - Program trace that contains a trace of opcode effects in a logic sig.
2342
+ */
2343
+ constructor({ approvalProgramHash, approvalProgramTrace, clearStateProgramHash, clearStateProgramTrace, innerTrace, logicSigHash, logicSigTrace, }: {
2344
+ approvalProgramHash?: string | Uint8Array;
2345
+ approvalProgramTrace?: SimulationOpcodeTraceUnit[];
2346
+ clearStateProgramHash?: string | Uint8Array;
2347
+ clearStateProgramTrace?: SimulationOpcodeTraceUnit[];
2348
+ innerTrace?: SimulationTransactionExecTrace[];
2349
+ logicSigHash?: string | Uint8Array;
2350
+ logicSigTrace?: SimulationOpcodeTraceUnit[];
2351
+ });
2352
+ static from_obj_for_encoding(data: Record<string, any>): SimulationTransactionExecTrace;
2353
+ }
1758
2354
  /**
1759
2355
  * Represents a state proof and its corresponding message
1760
2356
  */