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
@@ -49,6 +49,11 @@ export class Account extends BaseModel {
49
49
  * Note: the raw account uses `map[int] -> AppParams` for this type.
50
50
  * @param createdAssets - (apar) parameters of assets created by this account.
51
51
  * Note: the raw account uses `map[int] -> Asset` for this type.
52
+ * @param incentiveEligible - Whether or not the account can receive block incentives if its balance is in
53
+ * range at proposal time.
54
+ * @param lastHeartbeat - The round in which this account last went online, or explicitly renewed their
55
+ * online status.
56
+ * @param lastProposed - The round in which this account last proposed the block.
52
57
  * @param participation - AccountParticipation describes the parameters used by this account in consensus
53
58
  * protocol.
54
59
  * @param rewardBase - (ebase) used as part of the rewards computation. Only applicable to accounts
@@ -61,7 +66,7 @@ export class Account extends BaseModel {
61
66
  * values.
62
67
  * @param totalBoxes - (tbx) The number of existing boxes created by this account's app.
63
68
  */
64
- constructor({ address, amount, amountWithoutPendingRewards, minBalance, pendingRewards, rewards, round, status, totalAppsOptedIn, totalAssetsOptedIn, totalCreatedApps, totalCreatedAssets, appsLocalState, appsTotalExtraPages, appsTotalSchema, assets, authAddr, createdApps, createdAssets, participation, rewardBase, sigType, totalBoxBytes, totalBoxes, }) {
69
+ constructor({ address, amount, amountWithoutPendingRewards, minBalance, pendingRewards, rewards, round, status, totalAppsOptedIn, totalAssetsOptedIn, totalCreatedApps, totalCreatedAssets, appsLocalState, appsTotalExtraPages, appsTotalSchema, assets, authAddr, createdApps, createdAssets, incentiveEligible, lastHeartbeat, lastProposed, participation, rewardBase, sigType, totalBoxBytes, totalBoxes, }) {
65
70
  super();
66
71
  this.address = address;
67
72
  this.amount = amount;
@@ -82,6 +87,9 @@ export class Account extends BaseModel {
82
87
  this.authAddr = authAddr;
83
88
  this.createdApps = createdApps;
84
89
  this.createdAssets = createdAssets;
90
+ this.incentiveEligible = incentiveEligible;
91
+ this.lastHeartbeat = lastHeartbeat;
92
+ this.lastProposed = lastProposed;
85
93
  this.participation = participation;
86
94
  this.rewardBase = rewardBase;
87
95
  this.sigType = sigType;
@@ -107,6 +115,9 @@ export class Account extends BaseModel {
107
115
  authAddr: 'auth-addr',
108
116
  createdApps: 'created-apps',
109
117
  createdAssets: 'created-assets',
118
+ incentiveEligible: 'incentive-eligible',
119
+ lastHeartbeat: 'last-heartbeat',
120
+ lastProposed: 'last-proposed',
110
121
  participation: 'participation',
111
122
  rewardBase: 'reward-base',
112
123
  sigType: 'sig-type',
@@ -171,6 +182,9 @@ export class Account extends BaseModel {
171
182
  createdAssets: typeof data['created-assets'] !== 'undefined'
172
183
  ? data['created-assets'].map(Asset.from_obj_for_encoding)
173
184
  : undefined,
185
+ incentiveEligible: data['incentive-eligible'],
186
+ lastHeartbeat: data['last-heartbeat'],
187
+ lastProposed: data['last-proposed'],
174
188
  participation: typeof data['participation'] !== 'undefined'
175
189
  ? AccountParticipation.from_obj_for_encoding(data['participation'])
176
190
  : undefined,
@@ -226,6 +240,41 @@ export class AccountApplicationResponse extends BaseModel {
226
240
  /* eslint-enable dot-notation */
227
241
  }
228
242
  }
243
+ /**
244
+ * AccountAssetHolding describes the account's asset holding and asset parameters
245
+ * (if either exist) for a specific asset ID.
246
+ */
247
+ export class AccountAssetHolding extends BaseModel {
248
+ /**
249
+ * Creates a new `AccountAssetHolding` object.
250
+ * @param assetHolding - (asset) Details about the asset held by this account.
251
+ * The raw account uses `AssetHolding` for this type.
252
+ * @param assetParams - (apar) parameters of the asset held by this account.
253
+ * The raw account uses `AssetParams` for this type.
254
+ */
255
+ constructor({ assetHolding, assetParams, }) {
256
+ super();
257
+ this.assetHolding = assetHolding;
258
+ this.assetParams = assetParams;
259
+ this.attribute_map = {
260
+ assetHolding: 'asset-holding',
261
+ assetParams: 'asset-params',
262
+ };
263
+ }
264
+ // eslint-disable-next-line camelcase
265
+ static from_obj_for_encoding(data) {
266
+ /* eslint-disable dot-notation */
267
+ if (typeof data['asset-holding'] === 'undefined')
268
+ throw new Error(`Response is missing required field 'asset-holding': ${data}`);
269
+ return new AccountAssetHolding({
270
+ assetHolding: AssetHolding.from_obj_for_encoding(data['asset-holding']),
271
+ assetParams: typeof data['asset-params'] !== 'undefined'
272
+ ? AssetParams.from_obj_for_encoding(data['asset-params'])
273
+ : undefined,
274
+ });
275
+ /* eslint-enable dot-notation */
276
+ }
277
+ }
229
278
  /**
230
279
  * AccountAssetResponse describes the account's asset holding and asset parameters
231
280
  * (if either exist) for a specific asset ID. Asset parameters will only be
@@ -268,6 +317,43 @@ export class AccountAssetResponse extends BaseModel {
268
317
  /* eslint-enable dot-notation */
269
318
  }
270
319
  }
320
+ /**
321
+ * AccountAssetsInformationResponse contains a list of assets held by an account.
322
+ */
323
+ export class AccountAssetsInformationResponse extends BaseModel {
324
+ /**
325
+ * Creates a new `AccountAssetsInformationResponse` object.
326
+ * @param round - The round for which this information is relevant.
327
+ * @param assetHoldings -
328
+ * @param nextToken - Used for pagination, when making another request provide this token with the
329
+ * next parameter.
330
+ */
331
+ constructor({ round, assetHoldings, nextToken, }) {
332
+ super();
333
+ this.round = round;
334
+ this.assetHoldings = assetHoldings;
335
+ this.nextToken = nextToken;
336
+ this.attribute_map = {
337
+ round: 'round',
338
+ assetHoldings: 'asset-holdings',
339
+ nextToken: 'next-token',
340
+ };
341
+ }
342
+ // eslint-disable-next-line camelcase
343
+ static from_obj_for_encoding(data) {
344
+ /* eslint-disable dot-notation */
345
+ if (typeof data['round'] === 'undefined')
346
+ throw new Error(`Response is missing required field 'round': ${data}`);
347
+ return new AccountAssetsInformationResponse({
348
+ round: data['round'],
349
+ assetHoldings: typeof data['asset-holdings'] !== 'undefined'
350
+ ? data['asset-holdings'].map(AccountAssetHolding.from_obj_for_encoding)
351
+ : undefined,
352
+ nextToken: data['next-token'],
353
+ });
354
+ /* eslint-enable dot-notation */
355
+ }
356
+ }
271
357
  /**
272
358
  * AccountParticipation describes the parameters used by this account in consensus
273
359
  * protocol.
@@ -365,6 +451,45 @@ export class AccountStateDelta extends BaseModel {
365
451
  /* eslint-enable dot-notation */
366
452
  }
367
453
  }
454
+ /**
455
+ * The logged messages from an app call along with the app ID and outer transaction
456
+ * ID. Logs appear in the same order that they were emitted.
457
+ */
458
+ export class AppCallLogs extends BaseModel {
459
+ /**
460
+ * Creates a new `AppCallLogs` object.
461
+ * @param applicationIndex - The application from which the logs were generated
462
+ * @param logs - An array of logs
463
+ * @param txid - The transaction ID of the outer app call that lead to these logs
464
+ */
465
+ constructor({ applicationIndex, logs, txid, }) {
466
+ super();
467
+ this.applicationIndex = applicationIndex;
468
+ this.logs = logs;
469
+ this.txid = txid;
470
+ this.attribute_map = {
471
+ applicationIndex: 'application-index',
472
+ logs: 'logs',
473
+ txid: 'txId',
474
+ };
475
+ }
476
+ // eslint-disable-next-line camelcase
477
+ static from_obj_for_encoding(data) {
478
+ /* eslint-disable dot-notation */
479
+ if (typeof data['application-index'] === 'undefined')
480
+ throw new Error(`Response is missing required field 'application-index': ${data}`);
481
+ if (!Array.isArray(data['logs']))
482
+ throw new Error(`Response is missing required array field 'logs': ${data}`);
483
+ if (typeof data['txId'] === 'undefined')
484
+ throw new Error(`Response is missing required field 'txId': ${data}`);
485
+ return new AppCallLogs({
486
+ applicationIndex: data['application-index'],
487
+ logs: data['logs'],
488
+ txid: data['txId'],
489
+ });
490
+ /* eslint-enable dot-notation */
491
+ }
492
+ }
368
493
  /**
369
494
  * Application index and its parameters
370
495
  */
@@ -1011,6 +1136,38 @@ export class BlockHashResponse extends BaseModel {
1011
1136
  /* eslint-enable dot-notation */
1012
1137
  }
1013
1138
  }
1139
+ /**
1140
+ * All logs emitted in the given round. Each app call, whether top-level or inner,
1141
+ * that contains logs results in a separate AppCallLogs object. Therefore there may
1142
+ * be multiple AppCallLogs with the same application ID and outer transaction ID in
1143
+ * the event of multiple inner app calls to the same app. App calls with no logs
1144
+ * are not included in the response. AppCallLogs are returned in the same order
1145
+ * that their corresponding app call appeared in the block (pre-order traversal of
1146
+ * inner app calls)
1147
+ */
1148
+ export class BlockLogsResponse extends BaseModel {
1149
+ /**
1150
+ * Creates a new `BlockLogsResponse` object.
1151
+ * @param logs -
1152
+ */
1153
+ constructor({ logs }) {
1154
+ super();
1155
+ this.logs = logs;
1156
+ this.attribute_map = {
1157
+ logs: 'logs',
1158
+ };
1159
+ }
1160
+ // eslint-disable-next-line camelcase
1161
+ static from_obj_for_encoding(data) {
1162
+ /* eslint-disable dot-notation */
1163
+ if (!Array.isArray(data['logs']))
1164
+ throw new Error(`Response is missing required array field 'logs': ${data}`);
1165
+ return new BlockLogsResponse({
1166
+ logs: data['logs'].map(AppCallLogs.from_obj_for_encoding),
1167
+ });
1168
+ /* eslint-enable dot-notation */
1169
+ }
1170
+ }
1014
1171
  /**
1015
1172
  * Encoded block object.
1016
1173
  */
@@ -2220,12 +2377,14 @@ export class SimulateRequest extends BaseModel {
2220
2377
  * @param allowUnnamedResources - Allows access to unnamed resources during simulation.
2221
2378
  * @param execTraceConfig - An object that configures simulation execution trace.
2222
2379
  * @param extraOpcodeBudget - Applies extra opcode budget during simulation for each transaction group.
2380
+ * @param fixSigners - If true, signers for transactions that are missing signatures will be fixed
2381
+ * during evaluation.
2223
2382
  * @param round - If provided, specifies the round preceding the simulation. State changes through
2224
2383
  * this round will be used to run this simulation. Usually only the 4 most recent
2225
2384
  * rounds will be available (controlled by the node config value MaxAcctLookback).
2226
2385
  * If not specified, defaults to the latest available round.
2227
2386
  */
2228
- constructor({ txnGroups, allowEmptySignatures, allowMoreLogging, allowUnnamedResources, execTraceConfig, extraOpcodeBudget, round, }) {
2387
+ constructor({ txnGroups, allowEmptySignatures, allowMoreLogging, allowUnnamedResources, execTraceConfig, extraOpcodeBudget, fixSigners, round, }) {
2229
2388
  super();
2230
2389
  this.txnGroups = txnGroups;
2231
2390
  this.allowEmptySignatures = allowEmptySignatures;
@@ -2233,6 +2392,7 @@ export class SimulateRequest extends BaseModel {
2233
2392
  this.allowUnnamedResources = allowUnnamedResources;
2234
2393
  this.execTraceConfig = execTraceConfig;
2235
2394
  this.extraOpcodeBudget = extraOpcodeBudget;
2395
+ this.fixSigners = fixSigners;
2236
2396
  this.round = round;
2237
2397
  this.attribute_map = {
2238
2398
  txnGroups: 'txn-groups',
@@ -2241,6 +2401,7 @@ export class SimulateRequest extends BaseModel {
2241
2401
  allowUnnamedResources: 'allow-unnamed-resources',
2242
2402
  execTraceConfig: 'exec-trace-config',
2243
2403
  extraOpcodeBudget: 'extra-opcode-budget',
2404
+ fixSigners: 'fix-signers',
2244
2405
  round: 'round',
2245
2406
  };
2246
2407
  }
@@ -2258,6 +2419,7 @@ export class SimulateRequest extends BaseModel {
2258
2419
  ? SimulateTraceConfig.from_obj_for_encoding(data['exec-trace-config'])
2259
2420
  : undefined,
2260
2421
  extraOpcodeBudget: data['extra-opcode-budget'],
2422
+ fixSigners: data['fix-signers'],
2261
2423
  round: data['round'],
2262
2424
  });
2263
2425
  /* eslint-enable dot-notation */
@@ -2459,6 +2621,8 @@ export class SimulateTransactionResult extends BaseModel {
2459
2621
  * budged used by inner app calls spawned by this transaction.
2460
2622
  * @param execTrace - The execution trace of calling an app or a logic sig, containing the inner app
2461
2623
  * call trace in a recursive way.
2624
+ * @param fixedSigner - The account that needed to sign this transaction when no signature was provided
2625
+ * and the provided signer was incorrect.
2462
2626
  * @param logicSigBudgetConsumed - Budget used during execution of a logic sig transaction.
2463
2627
  * @param unnamedResourcesAccessed - These are resources that were accessed by this group that would normally have
2464
2628
  * caused failure, but were allowed in simulation. Depending on where this object
@@ -2470,17 +2634,19 @@ export class SimulateTransactionResult extends BaseModel {
2470
2634
  * transaction of the group; otherwise, resources must be placed in the same
2471
2635
  * transaction which accessed them.
2472
2636
  */
2473
- constructor({ txnResult, appBudgetConsumed, execTrace, logicSigBudgetConsumed, unnamedResourcesAccessed, }) {
2637
+ constructor({ txnResult, appBudgetConsumed, execTrace, fixedSigner, logicSigBudgetConsumed, unnamedResourcesAccessed, }) {
2474
2638
  super();
2475
2639
  this.txnResult = txnResult;
2476
2640
  this.appBudgetConsumed = appBudgetConsumed;
2477
2641
  this.execTrace = execTrace;
2642
+ this.fixedSigner = fixedSigner;
2478
2643
  this.logicSigBudgetConsumed = logicSigBudgetConsumed;
2479
2644
  this.unnamedResourcesAccessed = unnamedResourcesAccessed;
2480
2645
  this.attribute_map = {
2481
2646
  txnResult: 'txn-result',
2482
2647
  appBudgetConsumed: 'app-budget-consumed',
2483
2648
  execTrace: 'exec-trace',
2649
+ fixedSigner: 'fixed-signer',
2484
2650
  logicSigBudgetConsumed: 'logic-sig-budget-consumed',
2485
2651
  unnamedResourcesAccessed: 'unnamed-resources-accessed',
2486
2652
  };
@@ -2496,6 +2662,7 @@ export class SimulateTransactionResult extends BaseModel {
2496
2662
  execTrace: typeof data['exec-trace'] !== 'undefined'
2497
2663
  ? SimulationTransactionExecTrace.from_obj_for_encoding(data['exec-trace'])
2498
2664
  : undefined,
2665
+ fixedSigner: data['fixed-signer'],
2499
2666
  logicSigBudgetConsumed: data['logic-sig-budget-consumed'],
2500
2667
  unnamedResourcesAccessed: typeof data['unnamed-resources-accessed'] !== 'undefined'
2501
2668
  ? SimulateUnnamedResourcesAccessed.from_obj_for_encoding(data['unnamed-resources-accessed'])
@@ -2583,20 +2750,24 @@ export class SimulationEvalOverrides extends BaseModel {
2583
2750
  * were properly signed.
2584
2751
  * @param allowUnnamedResources - If true, allows access to unnamed resources during simulation.
2585
2752
  * @param extraOpcodeBudget - The extra opcode budget added to each transaction group during simulation
2753
+ * @param fixSigners - If true, signers for transactions that are missing signatures will be fixed
2754
+ * during evaluation.
2586
2755
  * @param maxLogCalls - The maximum log calls one can make during simulation
2587
2756
  * @param maxLogSize - The maximum byte number to log during simulation
2588
2757
  */
2589
- constructor({ allowEmptySignatures, allowUnnamedResources, extraOpcodeBudget, maxLogCalls, maxLogSize, }) {
2758
+ constructor({ allowEmptySignatures, allowUnnamedResources, extraOpcodeBudget, fixSigners, maxLogCalls, maxLogSize, }) {
2590
2759
  super();
2591
2760
  this.allowEmptySignatures = allowEmptySignatures;
2592
2761
  this.allowUnnamedResources = allowUnnamedResources;
2593
2762
  this.extraOpcodeBudget = extraOpcodeBudget;
2763
+ this.fixSigners = fixSigners;
2594
2764
  this.maxLogCalls = maxLogCalls;
2595
2765
  this.maxLogSize = maxLogSize;
2596
2766
  this.attribute_map = {
2597
2767
  allowEmptySignatures: 'allow-empty-signatures',
2598
2768
  allowUnnamedResources: 'allow-unnamed-resources',
2599
2769
  extraOpcodeBudget: 'extra-opcode-budget',
2770
+ fixSigners: 'fix-signers',
2600
2771
  maxLogCalls: 'max-log-calls',
2601
2772
  maxLogSize: 'max-log-size',
2602
2773
  };
@@ -2608,6 +2779,7 @@ export class SimulationEvalOverrides extends BaseModel {
2608
2779
  allowEmptySignatures: data['allow-empty-signatures'],
2609
2780
  allowUnnamedResources: data['allow-unnamed-resources'],
2610
2781
  extraOpcodeBudget: data['extra-opcode-budget'],
2782
+ fixSigners: data['fix-signers'],
2611
2783
  maxLogCalls: data['max-log-calls'],
2612
2784
  maxLogSize: data['max-log-size'],
2613
2785
  });
@@ -2677,12 +2849,17 @@ export class SimulationTransactionExecTrace extends BaseModel {
2677
2849
  * @param approvalProgramTrace - Program trace that contains a trace of opcode effects in an approval program.
2678
2850
  * @param clearStateProgramHash - SHA512_256 hash digest of the clear state program executed in transaction.
2679
2851
  * @param clearStateProgramTrace - Program trace that contains a trace of opcode effects in a clear state program.
2852
+ * @param clearStateRollback - If true, indicates that the clear state program failed and any persistent state
2853
+ * changes it produced should be reverted once the program exits.
2854
+ * @param clearStateRollbackError - The error message explaining why the clear state program failed. This field will
2855
+ * only be populated if clear-state-rollback is true and the failure was due to an
2856
+ * execution error.
2680
2857
  * @param innerTrace - An array of SimulationTransactionExecTrace representing the execution trace of
2681
2858
  * any inner transactions executed.
2682
2859
  * @param logicSigHash - SHA512_256 hash digest of the logic sig executed in transaction.
2683
2860
  * @param logicSigTrace - Program trace that contains a trace of opcode effects in a logic sig.
2684
2861
  */
2685
- constructor({ approvalProgramHash, approvalProgramTrace, clearStateProgramHash, clearStateProgramTrace, innerTrace, logicSigHash, logicSigTrace, }) {
2862
+ constructor({ approvalProgramHash, approvalProgramTrace, clearStateProgramHash, clearStateProgramTrace, clearStateRollback, clearStateRollbackError, innerTrace, logicSigHash, logicSigTrace, }) {
2686
2863
  super();
2687
2864
  this.approvalProgramHash =
2688
2865
  typeof approvalProgramHash === 'string'
@@ -2694,6 +2871,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
2694
2871
  ? new Uint8Array(Buffer.from(clearStateProgramHash, 'base64'))
2695
2872
  : clearStateProgramHash;
2696
2873
  this.clearStateProgramTrace = clearStateProgramTrace;
2874
+ this.clearStateRollback = clearStateRollback;
2875
+ this.clearStateRollbackError = clearStateRollbackError;
2697
2876
  this.innerTrace = innerTrace;
2698
2877
  this.logicSigHash =
2699
2878
  typeof logicSigHash === 'string'
@@ -2705,6 +2884,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
2705
2884
  approvalProgramTrace: 'approval-program-trace',
2706
2885
  clearStateProgramHash: 'clear-state-program-hash',
2707
2886
  clearStateProgramTrace: 'clear-state-program-trace',
2887
+ clearStateRollback: 'clear-state-rollback',
2888
+ clearStateRollbackError: 'clear-state-rollback-error',
2708
2889
  innerTrace: 'inner-trace',
2709
2890
  logicSigHash: 'logic-sig-hash',
2710
2891
  logicSigTrace: 'logic-sig-trace',
@@ -2722,6 +2903,8 @@ export class SimulationTransactionExecTrace extends BaseModel {
2722
2903
  clearStateProgramTrace: typeof data['clear-state-program-trace'] !== 'undefined'
2723
2904
  ? data['clear-state-program-trace'].map(SimulationOpcodeTraceUnit.from_obj_for_encoding)
2724
2905
  : undefined,
2906
+ clearStateRollback: data['clear-state-rollback'],
2907
+ clearStateRollbackError: data['clear-state-rollback-error'],
2725
2908
  innerTrace: typeof data['inner-trace'] !== 'undefined'
2726
2909
  ? data['inner-trace'].map(SimulationTransactionExecTrace.from_obj_for_encoding)
2727
2910
  : undefined,