algosdk 2.7.0 → 2.9.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 (40) 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/contract.js +2 -0
  5. package/dist/cjs/abi/contract.js.map +1 -1
  6. package/dist/cjs/abi/event.js +3 -0
  7. package/dist/cjs/abi/event.js.map +1 -0
  8. package/dist/cjs/abi/method.js +4 -0
  9. package/dist/cjs/abi/method.js.map +1 -1
  10. package/dist/cjs/client/v2/algod/models/types.js +194 -7
  11. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  12. package/dist/cjs/client/v2/indexer/models/types.js +110 -67
  13. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  14. package/dist/cjs/makeTxn.js +26 -0
  15. package/dist/cjs/makeTxn.js.map +1 -1
  16. package/dist/esm/abi/contract.js +2 -0
  17. package/dist/esm/abi/contract.js.map +1 -1
  18. package/dist/esm/abi/event.js +2 -0
  19. package/dist/esm/abi/event.js.map +1 -0
  20. package/dist/esm/abi/method.js +4 -0
  21. package/dist/esm/abi/method.js.map +1 -1
  22. package/dist/esm/client/v2/algod/models/types.js +188 -5
  23. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  24. package/dist/esm/client/v2/indexer/models/types.js +110 -67
  25. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  26. package/dist/esm/makeTxn.js +26 -0
  27. package/dist/esm/makeTxn.js.map +1 -1
  28. package/dist/types/abi/contract.d.ts +4 -0
  29. package/dist/types/abi/event.d.ts +16 -0
  30. package/dist/types/abi/method.d.ts +7 -0
  31. package/dist/types/client/v2/algod/models/types.d.ts +175 -5
  32. package/dist/types/client/v2/indexer/models/types.d.ts +189 -131
  33. package/dist/types/makeTxn.d.ts +29 -1
  34. package/package.json +2 -2
  35. package/src/abi/contract.ts +6 -0
  36. package/src/abi/event.ts +16 -0
  37. package/src/abi/method.ts +12 -0
  38. package/src/client/v2/algod/models/types.ts +337 -0
  39. package/src/client/v2/indexer/models/types.ts +241 -127
  40. package/src/makeTxn.ts +29 -1
@@ -127,6 +127,23 @@ export class Account extends BaseModel {
127
127
  */
128
128
  public createdAssets?: Asset[];
129
129
 
130
+ /**
131
+ * Whether or not the account can receive block incentives if its balance is in
132
+ * range at proposal time.
133
+ */
134
+ public incentiveEligible?: boolean;
135
+
136
+ /**
137
+ * The round in which this account last went online, or explicitly renewed their
138
+ * online status.
139
+ */
140
+ public lastHeartbeat?: number | bigint;
141
+
142
+ /**
143
+ * The round in which this account last proposed the block.
144
+ */
145
+ public lastProposed?: number | bigint;
146
+
130
147
  /**
131
148
  * AccountParticipation describes the parameters used by this account in consensus
132
149
  * protocol.
@@ -197,6 +214,11 @@ export class Account extends BaseModel {
197
214
  * Note: the raw account uses `map[int] -> AppParams` for this type.
198
215
  * @param createdAssets - (apar) parameters of assets created by this account.
199
216
  * Note: the raw account uses `map[int] -> Asset` for this type.
217
+ * @param incentiveEligible - Whether or not the account can receive block incentives if its balance is in
218
+ * range at proposal time.
219
+ * @param lastHeartbeat - The round in which this account last went online, or explicitly renewed their
220
+ * online status.
221
+ * @param lastProposed - The round in which this account last proposed the block.
200
222
  * @param participation - AccountParticipation describes the parameters used by this account in consensus
201
223
  * protocol.
202
224
  * @param rewardBase - (ebase) used as part of the rewards computation. Only applicable to accounts
@@ -229,6 +251,9 @@ export class Account extends BaseModel {
229
251
  authAddr,
230
252
  createdApps,
231
253
  createdAssets,
254
+ incentiveEligible,
255
+ lastHeartbeat,
256
+ lastProposed,
232
257
  participation,
233
258
  rewardBase,
234
259
  sigType,
@@ -254,6 +279,9 @@ export class Account extends BaseModel {
254
279
  authAddr?: string;
255
280
  createdApps?: Application[];
256
281
  createdAssets?: Asset[];
282
+ incentiveEligible?: boolean;
283
+ lastHeartbeat?: number | bigint;
284
+ lastProposed?: number | bigint;
257
285
  participation?: AccountParticipation;
258
286
  rewardBase?: number | bigint;
259
287
  sigType?: string;
@@ -280,6 +308,9 @@ export class Account extends BaseModel {
280
308
  this.authAddr = authAddr;
281
309
  this.createdApps = createdApps;
282
310
  this.createdAssets = createdAssets;
311
+ this.incentiveEligible = incentiveEligible;
312
+ this.lastHeartbeat = lastHeartbeat;
313
+ this.lastProposed = lastProposed;
283
314
  this.participation = participation;
284
315
  this.rewardBase = rewardBase;
285
316
  this.sigType = sigType;
@@ -306,6 +337,9 @@ export class Account extends BaseModel {
306
337
  authAddr: 'auth-addr',
307
338
  createdApps: 'created-apps',
308
339
  createdAssets: 'created-assets',
340
+ incentiveEligible: 'incentive-eligible',
341
+ lastHeartbeat: 'last-heartbeat',
342
+ lastProposed: 'last-proposed',
309
343
  participation: 'participation',
310
344
  rewardBase: 'reward-base',
311
345
  sigType: 'sig-type',
@@ -394,6 +428,9 @@ export class Account extends BaseModel {
394
428
  typeof data['created-assets'] !== 'undefined'
395
429
  ? data['created-assets'].map(Asset.from_obj_for_encoding)
396
430
  : undefined,
431
+ incentiveEligible: data['incentive-eligible'],
432
+ lastHeartbeat: data['last-heartbeat'],
433
+ lastProposed: data['last-proposed'],
397
434
  participation:
398
435
  typeof data['participation'] !== 'undefined'
399
436
  ? AccountParticipation.from_obj_for_encoding(data['participation'])
@@ -484,6 +521,65 @@ export class AccountApplicationResponse extends BaseModel {
484
521
  }
485
522
  }
486
523
 
524
+ /**
525
+ * AccountAssetHolding describes the account's asset holding and asset parameters
526
+ * (if either exist) for a specific asset ID.
527
+ */
528
+ export class AccountAssetHolding extends BaseModel {
529
+ /**
530
+ * (asset) Details about the asset held by this account.
531
+ * The raw account uses `AssetHolding` for this type.
532
+ */
533
+ public assetHolding: AssetHolding;
534
+
535
+ /**
536
+ * (apar) parameters of the asset held by this account.
537
+ * The raw account uses `AssetParams` for this type.
538
+ */
539
+ public assetParams?: AssetParams;
540
+
541
+ /**
542
+ * Creates a new `AccountAssetHolding` object.
543
+ * @param assetHolding - (asset) Details about the asset held by this account.
544
+ * The raw account uses `AssetHolding` for this type.
545
+ * @param assetParams - (apar) parameters of the asset held by this account.
546
+ * The raw account uses `AssetParams` for this type.
547
+ */
548
+ constructor({
549
+ assetHolding,
550
+ assetParams,
551
+ }: {
552
+ assetHolding: AssetHolding;
553
+ assetParams?: AssetParams;
554
+ }) {
555
+ super();
556
+ this.assetHolding = assetHolding;
557
+ this.assetParams = assetParams;
558
+
559
+ this.attribute_map = {
560
+ assetHolding: 'asset-holding',
561
+ assetParams: 'asset-params',
562
+ };
563
+ }
564
+
565
+ // eslint-disable-next-line camelcase
566
+ static from_obj_for_encoding(data: Record<string, any>): AccountAssetHolding {
567
+ /* eslint-disable dot-notation */
568
+ if (typeof data['asset-holding'] === 'undefined')
569
+ throw new Error(
570
+ `Response is missing required field 'asset-holding': ${data}`
571
+ );
572
+ return new AccountAssetHolding({
573
+ assetHolding: AssetHolding.from_obj_for_encoding(data['asset-holding']),
574
+ assetParams:
575
+ typeof data['asset-params'] !== 'undefined'
576
+ ? AssetParams.from_obj_for_encoding(data['asset-params'])
577
+ : undefined,
578
+ });
579
+ /* eslint-enable dot-notation */
580
+ }
581
+ }
582
+
487
583
  /**
488
584
  * AccountAssetResponse describes the account's asset holding and asset parameters
489
585
  * (if either exist) for a specific asset ID. Asset parameters will only be
@@ -558,6 +654,72 @@ export class AccountAssetResponse extends BaseModel {
558
654
  }
559
655
  }
560
656
 
657
+ /**
658
+ * AccountAssetsInformationResponse contains a list of assets held by an account.
659
+ */
660
+ export class AccountAssetsInformationResponse extends BaseModel {
661
+ /**
662
+ * The round for which this information is relevant.
663
+ */
664
+ public round: number | bigint;
665
+
666
+ public assetHoldings?: AccountAssetHolding[];
667
+
668
+ /**
669
+ * Used for pagination, when making another request provide this token with the
670
+ * next parameter.
671
+ */
672
+ public nextToken?: string;
673
+
674
+ /**
675
+ * Creates a new `AccountAssetsInformationResponse` object.
676
+ * @param round - The round for which this information is relevant.
677
+ * @param assetHoldings -
678
+ * @param nextToken - Used for pagination, when making another request provide this token with the
679
+ * next parameter.
680
+ */
681
+ constructor({
682
+ round,
683
+ assetHoldings,
684
+ nextToken,
685
+ }: {
686
+ round: number | bigint;
687
+ assetHoldings?: AccountAssetHolding[];
688
+ nextToken?: string;
689
+ }) {
690
+ super();
691
+ this.round = round;
692
+ this.assetHoldings = assetHoldings;
693
+ this.nextToken = nextToken;
694
+
695
+ this.attribute_map = {
696
+ round: 'round',
697
+ assetHoldings: 'asset-holdings',
698
+ nextToken: 'next-token',
699
+ };
700
+ }
701
+
702
+ // eslint-disable-next-line camelcase
703
+ static from_obj_for_encoding(
704
+ data: Record<string, any>
705
+ ): AccountAssetsInformationResponse {
706
+ /* eslint-disable dot-notation */
707
+ if (typeof data['round'] === 'undefined')
708
+ throw new Error(`Response is missing required field 'round': ${data}`);
709
+ return new AccountAssetsInformationResponse({
710
+ round: data['round'],
711
+ assetHoldings:
712
+ typeof data['asset-holdings'] !== 'undefined'
713
+ ? data['asset-holdings'].map(
714
+ AccountAssetHolding.from_obj_for_encoding
715
+ )
716
+ : undefined,
717
+ nextToken: data['next-token'],
718
+ });
719
+ /* eslint-enable dot-notation */
720
+ }
721
+ }
722
+
561
723
  /**
562
724
  * AccountParticipation describes the parameters used by this account in consensus
563
725
  * protocol.
@@ -733,6 +895,75 @@ export class AccountStateDelta extends BaseModel {
733
895
  }
734
896
  }
735
897
 
898
+ /**
899
+ * The logged messages from an app call along with the app ID and outer transaction
900
+ * ID. Logs appear in the same order that they were emitted.
901
+ */
902
+ export class AppCallLogs extends BaseModel {
903
+ /**
904
+ * The application from which the logs were generated
905
+ */
906
+ public applicationIndex: number | bigint;
907
+
908
+ /**
909
+ * An array of logs
910
+ */
911
+ public logs: Uint8Array[];
912
+
913
+ /**
914
+ * The transaction ID of the outer app call that lead to these logs
915
+ */
916
+ public txid: string;
917
+
918
+ /**
919
+ * Creates a new `AppCallLogs` object.
920
+ * @param applicationIndex - The application from which the logs were generated
921
+ * @param logs - An array of logs
922
+ * @param txid - The transaction ID of the outer app call that lead to these logs
923
+ */
924
+ constructor({
925
+ applicationIndex,
926
+ logs,
927
+ txid,
928
+ }: {
929
+ applicationIndex: number | bigint;
930
+ logs: Uint8Array[];
931
+ txid: string;
932
+ }) {
933
+ super();
934
+ this.applicationIndex = applicationIndex;
935
+ this.logs = logs;
936
+ this.txid = txid;
937
+
938
+ this.attribute_map = {
939
+ applicationIndex: 'application-index',
940
+ logs: 'logs',
941
+ txid: 'txId',
942
+ };
943
+ }
944
+
945
+ // eslint-disable-next-line camelcase
946
+ static from_obj_for_encoding(data: Record<string, any>): AppCallLogs {
947
+ /* eslint-disable dot-notation */
948
+ if (typeof data['application-index'] === 'undefined')
949
+ throw new Error(
950
+ `Response is missing required field 'application-index': ${data}`
951
+ );
952
+ if (!Array.isArray(data['logs']))
953
+ throw new Error(
954
+ `Response is missing required array field 'logs': ${data}`
955
+ );
956
+ if (typeof data['txId'] === 'undefined')
957
+ throw new Error(`Response is missing required field 'txId': ${data}`);
958
+ return new AppCallLogs({
959
+ applicationIndex: data['application-index'],
960
+ logs: data['logs'],
961
+ txid: data['txId'],
962
+ });
963
+ /* eslint-enable dot-notation */
964
+ }
965
+ }
966
+
736
967
  /**
737
968
  * Application index and its parameters
738
969
  */
@@ -1867,6 +2098,45 @@ export class BlockHashResponse extends BaseModel {
1867
2098
  }
1868
2099
  }
1869
2100
 
2101
+ /**
2102
+ * All logs emitted in the given round. Each app call, whether top-level or inner,
2103
+ * that contains logs results in a separate AppCallLogs object. Therefore there may
2104
+ * be multiple AppCallLogs with the same application ID and outer transaction ID in
2105
+ * the event of multiple inner app calls to the same app. App calls with no logs
2106
+ * are not included in the response. AppCallLogs are returned in the same order
2107
+ * that their corresponding app call appeared in the block (pre-order traversal of
2108
+ * inner app calls)
2109
+ */
2110
+ export class BlockLogsResponse extends BaseModel {
2111
+ public logs: AppCallLogs[];
2112
+
2113
+ /**
2114
+ * Creates a new `BlockLogsResponse` object.
2115
+ * @param logs -
2116
+ */
2117
+ constructor({ logs }: { logs: AppCallLogs[] }) {
2118
+ super();
2119
+ this.logs = logs;
2120
+
2121
+ this.attribute_map = {
2122
+ logs: 'logs',
2123
+ };
2124
+ }
2125
+
2126
+ // eslint-disable-next-line camelcase
2127
+ static from_obj_for_encoding(data: Record<string, any>): BlockLogsResponse {
2128
+ /* eslint-disable dot-notation */
2129
+ if (!Array.isArray(data['logs']))
2130
+ throw new Error(
2131
+ `Response is missing required array field 'logs': ${data}`
2132
+ );
2133
+ return new BlockLogsResponse({
2134
+ logs: data['logs'].map(AppCallLogs.from_obj_for_encoding),
2135
+ });
2136
+ /* eslint-enable dot-notation */
2137
+ }
2138
+ }
2139
+
1870
2140
  /**
1871
2141
  * Encoded block object.
1872
2142
  */
@@ -4014,6 +4284,12 @@ export class SimulateRequest extends BaseModel {
4014
4284
  */
4015
4285
  public extraOpcodeBudget?: number | bigint;
4016
4286
 
4287
+ /**
4288
+ * If true, signers for transactions that are missing signatures will be fixed
4289
+ * during evaluation.
4290
+ */
4291
+ public fixSigners?: boolean;
4292
+
4017
4293
  /**
4018
4294
  * If provided, specifies the round preceding the simulation. State changes through
4019
4295
  * this round will be used to run this simulation. Usually only the 4 most recent
@@ -4031,6 +4307,8 @@ export class SimulateRequest extends BaseModel {
4031
4307
  * @param allowUnnamedResources - Allows access to unnamed resources during simulation.
4032
4308
  * @param execTraceConfig - An object that configures simulation execution trace.
4033
4309
  * @param extraOpcodeBudget - Applies extra opcode budget during simulation for each transaction group.
4310
+ * @param fixSigners - If true, signers for transactions that are missing signatures will be fixed
4311
+ * during evaluation.
4034
4312
  * @param round - If provided, specifies the round preceding the simulation. State changes through
4035
4313
  * this round will be used to run this simulation. Usually only the 4 most recent
4036
4314
  * rounds will be available (controlled by the node config value MaxAcctLookback).
@@ -4043,6 +4321,7 @@ export class SimulateRequest extends BaseModel {
4043
4321
  allowUnnamedResources,
4044
4322
  execTraceConfig,
4045
4323
  extraOpcodeBudget,
4324
+ fixSigners,
4046
4325
  round,
4047
4326
  }: {
4048
4327
  txnGroups: SimulateRequestTransactionGroup[];
@@ -4051,6 +4330,7 @@ export class SimulateRequest extends BaseModel {
4051
4330
  allowUnnamedResources?: boolean;
4052
4331
  execTraceConfig?: SimulateTraceConfig;
4053
4332
  extraOpcodeBudget?: number | bigint;
4333
+ fixSigners?: boolean;
4054
4334
  round?: number | bigint;
4055
4335
  }) {
4056
4336
  super();
@@ -4060,6 +4340,7 @@ export class SimulateRequest extends BaseModel {
4060
4340
  this.allowUnnamedResources = allowUnnamedResources;
4061
4341
  this.execTraceConfig = execTraceConfig;
4062
4342
  this.extraOpcodeBudget = extraOpcodeBudget;
4343
+ this.fixSigners = fixSigners;
4063
4344
  this.round = round;
4064
4345
 
4065
4346
  this.attribute_map = {
@@ -4069,6 +4350,7 @@ export class SimulateRequest extends BaseModel {
4069
4350
  allowUnnamedResources: 'allow-unnamed-resources',
4070
4351
  execTraceConfig: 'exec-trace-config',
4071
4352
  extraOpcodeBudget: 'extra-opcode-budget',
4353
+ fixSigners: 'fix-signers',
4072
4354
  round: 'round',
4073
4355
  };
4074
4356
  }
@@ -4092,6 +4374,7 @@ export class SimulateRequest extends BaseModel {
4092
4374
  ? SimulateTraceConfig.from_obj_for_encoding(data['exec-trace-config'])
4093
4375
  : undefined,
4094
4376
  extraOpcodeBudget: data['extra-opcode-budget'],
4377
+ fixSigners: data['fix-signers'],
4095
4378
  round: data['round'],
4096
4379
  });
4097
4380
  /* eslint-enable dot-notation */
@@ -4481,6 +4764,12 @@ export class SimulateTransactionResult extends BaseModel {
4481
4764
  */
4482
4765
  public execTrace?: SimulationTransactionExecTrace;
4483
4766
 
4767
+ /**
4768
+ * The account that needed to sign this transaction when no signature was provided
4769
+ * and the provided signer was incorrect.
4770
+ */
4771
+ public fixedSigner?: string;
4772
+
4484
4773
  /**
4485
4774
  * Budget used during execution of a logic sig transaction.
4486
4775
  */
@@ -4507,6 +4796,8 @@ export class SimulateTransactionResult extends BaseModel {
4507
4796
  * budged used by inner app calls spawned by this transaction.
4508
4797
  * @param execTrace - The execution trace of calling an app or a logic sig, containing the inner app
4509
4798
  * call trace in a recursive way.
4799
+ * @param fixedSigner - The account that needed to sign this transaction when no signature was provided
4800
+ * and the provided signer was incorrect.
4510
4801
  * @param logicSigBudgetConsumed - Budget used during execution of a logic sig transaction.
4511
4802
  * @param unnamedResourcesAccessed - These are resources that were accessed by this group that would normally have
4512
4803
  * caused failure, but were allowed in simulation. Depending on where this object
@@ -4522,12 +4813,14 @@ export class SimulateTransactionResult extends BaseModel {
4522
4813
  txnResult,
4523
4814
  appBudgetConsumed,
4524
4815
  execTrace,
4816
+ fixedSigner,
4525
4817
  logicSigBudgetConsumed,
4526
4818
  unnamedResourcesAccessed,
4527
4819
  }: {
4528
4820
  txnResult: PendingTransactionResponse;
4529
4821
  appBudgetConsumed?: number | bigint;
4530
4822
  execTrace?: SimulationTransactionExecTrace;
4823
+ fixedSigner?: string;
4531
4824
  logicSigBudgetConsumed?: number | bigint;
4532
4825
  unnamedResourcesAccessed?: SimulateUnnamedResourcesAccessed;
4533
4826
  }) {
@@ -4535,6 +4828,7 @@ export class SimulateTransactionResult extends BaseModel {
4535
4828
  this.txnResult = txnResult;
4536
4829
  this.appBudgetConsumed = appBudgetConsumed;
4537
4830
  this.execTrace = execTrace;
4831
+ this.fixedSigner = fixedSigner;
4538
4832
  this.logicSigBudgetConsumed = logicSigBudgetConsumed;
4539
4833
  this.unnamedResourcesAccessed = unnamedResourcesAccessed;
4540
4834
 
@@ -4542,6 +4836,7 @@ export class SimulateTransactionResult extends BaseModel {
4542
4836
  txnResult: 'txn-result',
4543
4837
  appBudgetConsumed: 'app-budget-consumed',
4544
4838
  execTrace: 'exec-trace',
4839
+ fixedSigner: 'fixed-signer',
4545
4840
  logicSigBudgetConsumed: 'logic-sig-budget-consumed',
4546
4841
  unnamedResourcesAccessed: 'unnamed-resources-accessed',
4547
4842
  };
@@ -4567,6 +4862,7 @@ export class SimulateTransactionResult extends BaseModel {
4567
4862
  data['exec-trace']
4568
4863
  )
4569
4864
  : undefined,
4865
+ fixedSigner: data['fixed-signer'],
4570
4866
  logicSigBudgetConsumed: data['logic-sig-budget-consumed'],
4571
4867
  unnamedResourcesAccessed:
4572
4868
  typeof data['unnamed-resources-accessed'] !== 'undefined'
@@ -4736,6 +5032,12 @@ export class SimulationEvalOverrides extends BaseModel {
4736
5032
  */
4737
5033
  public extraOpcodeBudget?: number | bigint;
4738
5034
 
5035
+ /**
5036
+ * If true, signers for transactions that are missing signatures will be fixed
5037
+ * during evaluation.
5038
+ */
5039
+ public fixSigners?: boolean;
5040
+
4739
5041
  /**
4740
5042
  * The maximum log calls one can make during simulation
4741
5043
  */
@@ -4752,6 +5054,8 @@ export class SimulationEvalOverrides extends BaseModel {
4752
5054
  * were properly signed.
4753
5055
  * @param allowUnnamedResources - If true, allows access to unnamed resources during simulation.
4754
5056
  * @param extraOpcodeBudget - The extra opcode budget added to each transaction group during simulation
5057
+ * @param fixSigners - If true, signers for transactions that are missing signatures will be fixed
5058
+ * during evaluation.
4755
5059
  * @param maxLogCalls - The maximum log calls one can make during simulation
4756
5060
  * @param maxLogSize - The maximum byte number to log during simulation
4757
5061
  */
@@ -4759,12 +5063,14 @@ export class SimulationEvalOverrides extends BaseModel {
4759
5063
  allowEmptySignatures,
4760
5064
  allowUnnamedResources,
4761
5065
  extraOpcodeBudget,
5066
+ fixSigners,
4762
5067
  maxLogCalls,
4763
5068
  maxLogSize,
4764
5069
  }: {
4765
5070
  allowEmptySignatures?: boolean;
4766
5071
  allowUnnamedResources?: boolean;
4767
5072
  extraOpcodeBudget?: number | bigint;
5073
+ fixSigners?: boolean;
4768
5074
  maxLogCalls?: number | bigint;
4769
5075
  maxLogSize?: number | bigint;
4770
5076
  }) {
@@ -4772,6 +5078,7 @@ export class SimulationEvalOverrides extends BaseModel {
4772
5078
  this.allowEmptySignatures = allowEmptySignatures;
4773
5079
  this.allowUnnamedResources = allowUnnamedResources;
4774
5080
  this.extraOpcodeBudget = extraOpcodeBudget;
5081
+ this.fixSigners = fixSigners;
4775
5082
  this.maxLogCalls = maxLogCalls;
4776
5083
  this.maxLogSize = maxLogSize;
4777
5084
 
@@ -4779,6 +5086,7 @@ export class SimulationEvalOverrides extends BaseModel {
4779
5086
  allowEmptySignatures: 'allow-empty-signatures',
4780
5087
  allowUnnamedResources: 'allow-unnamed-resources',
4781
5088
  extraOpcodeBudget: 'extra-opcode-budget',
5089
+ fixSigners: 'fix-signers',
4782
5090
  maxLogCalls: 'max-log-calls',
4783
5091
  maxLogSize: 'max-log-size',
4784
5092
  };
@@ -4793,6 +5101,7 @@ export class SimulationEvalOverrides extends BaseModel {
4793
5101
  allowEmptySignatures: data['allow-empty-signatures'],
4794
5102
  allowUnnamedResources: data['allow-unnamed-resources'],
4795
5103
  extraOpcodeBudget: data['extra-opcode-budget'],
5104
+ fixSigners: data['fix-signers'],
4796
5105
  maxLogCalls: data['max-log-calls'],
4797
5106
  maxLogSize: data['max-log-size'],
4798
5107
  });
@@ -4931,6 +5240,19 @@ export class SimulationTransactionExecTrace extends BaseModel {
4931
5240
  */
4932
5241
  public clearStateProgramTrace?: SimulationOpcodeTraceUnit[];
4933
5242
 
5243
+ /**
5244
+ * If true, indicates that the clear state program failed and any persistent state
5245
+ * changes it produced should be reverted once the program exits.
5246
+ */
5247
+ public clearStateRollback?: boolean;
5248
+
5249
+ /**
5250
+ * The error message explaining why the clear state program failed. This field will
5251
+ * only be populated if clear-state-rollback is true and the failure was due to an
5252
+ * execution error.
5253
+ */
5254
+ public clearStateRollbackError?: string;
5255
+
4934
5256
  /**
4935
5257
  * An array of SimulationTransactionExecTrace representing the execution trace of
4936
5258
  * any inner transactions executed.
@@ -4953,6 +5275,11 @@ export class SimulationTransactionExecTrace extends BaseModel {
4953
5275
  * @param approvalProgramTrace - Program trace that contains a trace of opcode effects in an approval program.
4954
5276
  * @param clearStateProgramHash - SHA512_256 hash digest of the clear state program executed in transaction.
4955
5277
  * @param clearStateProgramTrace - Program trace that contains a trace of opcode effects in a clear state program.
5278
+ * @param clearStateRollback - If true, indicates that the clear state program failed and any persistent state
5279
+ * changes it produced should be reverted once the program exits.
5280
+ * @param clearStateRollbackError - The error message explaining why the clear state program failed. This field will
5281
+ * only be populated if clear-state-rollback is true and the failure was due to an
5282
+ * execution error.
4956
5283
  * @param innerTrace - An array of SimulationTransactionExecTrace representing the execution trace of
4957
5284
  * any inner transactions executed.
4958
5285
  * @param logicSigHash - SHA512_256 hash digest of the logic sig executed in transaction.
@@ -4963,6 +5290,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
4963
5290
  approvalProgramTrace,
4964
5291
  clearStateProgramHash,
4965
5292
  clearStateProgramTrace,
5293
+ clearStateRollback,
5294
+ clearStateRollbackError,
4966
5295
  innerTrace,
4967
5296
  logicSigHash,
4968
5297
  logicSigTrace,
@@ -4971,6 +5300,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
4971
5300
  approvalProgramTrace?: SimulationOpcodeTraceUnit[];
4972
5301
  clearStateProgramHash?: string | Uint8Array;
4973
5302
  clearStateProgramTrace?: SimulationOpcodeTraceUnit[];
5303
+ clearStateRollback?: boolean;
5304
+ clearStateRollbackError?: string;
4974
5305
  innerTrace?: SimulationTransactionExecTrace[];
4975
5306
  logicSigHash?: string | Uint8Array;
4976
5307
  logicSigTrace?: SimulationOpcodeTraceUnit[];
@@ -4986,6 +5317,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
4986
5317
  ? new Uint8Array(Buffer.from(clearStateProgramHash, 'base64'))
4987
5318
  : clearStateProgramHash;
4988
5319
  this.clearStateProgramTrace = clearStateProgramTrace;
5320
+ this.clearStateRollback = clearStateRollback;
5321
+ this.clearStateRollbackError = clearStateRollbackError;
4989
5322
  this.innerTrace = innerTrace;
4990
5323
  this.logicSigHash =
4991
5324
  typeof logicSigHash === 'string'
@@ -4998,6 +5331,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
4998
5331
  approvalProgramTrace: 'approval-program-trace',
4999
5332
  clearStateProgramHash: 'clear-state-program-hash',
5000
5333
  clearStateProgramTrace: 'clear-state-program-trace',
5334
+ clearStateRollback: 'clear-state-rollback',
5335
+ clearStateRollbackError: 'clear-state-rollback-error',
5001
5336
  innerTrace: 'inner-trace',
5002
5337
  logicSigHash: 'logic-sig-hash',
5003
5338
  logicSigTrace: 'logic-sig-trace',
@@ -5024,6 +5359,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
5024
5359
  SimulationOpcodeTraceUnit.from_obj_for_encoding
5025
5360
  )
5026
5361
  : undefined,
5362
+ clearStateRollback: data['clear-state-rollback'],
5363
+ clearStateRollbackError: data['clear-state-rollback-error'],
5027
5364
  innerTrace:
5028
5365
  typeof data['inner-trace'] !== 'undefined'
5029
5366
  ? data['inner-trace'].map(