@ton/sandbox 0.42.0 → 0.43.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 (35) hide show
  1. package/dist/blockchain/Blockchain.d.ts +1 -6
  2. package/dist/blockchain/Blockchain.js +0 -15
  3. package/dist/blockchain/SmartContract.d.ts +0 -3
  4. package/dist/blockchain/SmartContract.js +1 -39
  5. package/dist/config/config.tlb-gen.d.ts +69 -18
  6. package/dist/config/config.tlb-gen.js +273 -53
  7. package/dist/config/defaultConfig.d.ts +2 -2
  8. package/dist/config/defaultConfig.js +2 -2
  9. package/dist/config/slimConfig.d.ts +2 -2
  10. package/dist/config/slimConfig.js +2 -2
  11. package/dist/executor/Executor.d.ts +1 -37
  12. package/dist/executor/Executor.js +3 -160
  13. package/dist/executor/emulator-emscripten.js +1 -1
  14. package/dist/executor/emulator-emscripten.wasm.js +1 -1
  15. package/dist/index.d.ts +0 -1
  16. package/dist/index.js +1 -3
  17. package/package.json +3 -5
  18. package/dist/debugger/DebugContext.d.ts +0 -14
  19. package/dist/debugger/DebugContext.js +0 -29
  20. package/dist/debugger/DebugInfoCache.d.ts +0 -9
  21. package/dist/debugger/DebugInfoCache.js +0 -87
  22. package/dist/debugger/Debuggee.d.ts +0 -147
  23. package/dist/debugger/Debuggee.js +0 -451
  24. package/dist/debugger/TVMDebugSession.d.ts +0 -26
  25. package/dist/debugger/TVMDebugSession.js +0 -272
  26. package/dist/debugger/debug.d.ts +0 -4
  27. package/dist/debugger/debug.js +0 -76
  28. package/dist/debugger/index.d.ts +0 -1
  29. package/dist/debugger/index.js +0 -5
  30. package/dist/debugger/marks.d.ts +0 -2
  31. package/dist/debugger/marks.js +0 -127
  32. package/dist/executor/emulator-emscripten.debugger.bpatch.gzip.js +0 -1
  33. package/dist/executor/emulator-emscripten.debugger.js +0 -20
  34. package/dist/utils/bpatch.d.ts +0 -9
  35. package/dist/utils/bpatch.js +0 -52
@@ -1,5 +1,5 @@
1
1
  import { Address, Cell, Message, ContractProvider, Contract, Sender, ShardAccount, TupleItem, ExternalAddress, StateInit, OpenedContract } from '@ton/core';
2
- import { IExecutor, Executor, TickOrTock, PrevBlocksInfo } from '../executor/Executor';
2
+ import { IExecutor, TickOrTock, PrevBlocksInfo } from '../executor/Executor';
3
3
  import { BlockchainStorage } from './BlockchainStorage';
4
4
  import { Event } from '../event/Event';
5
5
  import { SandboxContractProvider } from './BlockchainContractProvider';
@@ -106,7 +106,6 @@ export declare class Blockchain {
106
106
  protected meta?: ContractsMeta;
107
107
  protected prevBlocksInfo?: PrevBlocksInfo;
108
108
  protected randomSeed?: Buffer;
109
- protected shouldDebug: boolean;
110
109
  protected autoDeployLibs: boolean;
111
110
  protected transactions: BlockchainTransaction[];
112
111
  protected defaultQueueManager: MessageQueueManager;
@@ -115,8 +114,6 @@ export declare class Blockchain {
115
114
  protected readonly coverageTransactions: BlockchainTransaction[][];
116
115
  protected readonly coverageGetMethodResults: GetMethodResult[];
117
116
  readonly executor: IExecutor;
118
- protected debuggerExecutor?: Executor;
119
- getDebuggerExecutor(): Promise<Executor>;
120
117
  /**
121
118
  * Saves snapshot of current blockchain.
122
119
  * @example
@@ -143,8 +140,6 @@ export declare class Blockchain {
143
140
  set recordStorage(v: boolean);
144
141
  get autoDeployLibraries(): boolean;
145
142
  set autoDeployLibraries(value: boolean);
146
- get debug(): boolean;
147
- set debug(value: boolean);
148
143
  /**
149
144
  * @returns Current time in blockchain
150
145
  */
@@ -72,7 +72,6 @@ class Blockchain {
72
72
  meta;
73
73
  prevBlocksInfo;
74
74
  randomSeed;
75
- shouldDebug = false;
76
75
  autoDeployLibs;
77
76
  transactions = [];
78
77
  defaultQueueManager;
@@ -81,13 +80,6 @@ class Blockchain {
81
80
  coverageTransactions = [];
82
81
  coverageGetMethodResults = [];
83
82
  executor;
84
- debuggerExecutor;
85
- async getDebuggerExecutor() {
86
- if (!this.debuggerExecutor) {
87
- this.debuggerExecutor = await Executor_1.Executor.create({ debug: true });
88
- }
89
- return this.debuggerExecutor;
90
- }
91
83
  /**
92
84
  * Saves snapshot of current blockchain.
93
85
  * @example
@@ -153,12 +145,6 @@ class Blockchain {
153
145
  set autoDeployLibraries(value) {
154
146
  this.autoDeployLibs = value;
155
147
  }
156
- get debug() {
157
- return this.shouldDebug;
158
- }
159
- set debug(value) {
160
- this.shouldDebug = value;
161
- }
162
148
  /**
163
149
  * @returns Current time in blockchain
164
150
  */
@@ -438,7 +424,6 @@ class Blockchain {
438
424
  const subwalletId = (0, testTreasurySubwalletId_1.testSubwalletId)(seed);
439
425
  const wallet = this.openContract(Treasury_1.TreasuryContract.create(params?.workchain ?? 0, subwalletId));
440
426
  const contract = await this.getContract(wallet.address);
441
- contract.setDebug(false);
442
427
  if ((params?.predeploy ?? true) &&
443
428
  (contract.accountState === undefined || contract.accountState.type === 'uninit')) {
444
429
  await this.sendMessage((0, message_1.internal)({
@@ -89,7 +89,6 @@ export declare class SmartContract {
89
89
  private parsedAccount?;
90
90
  private lastTxTime;
91
91
  private _verbosity?;
92
- private _debug?;
93
92
  constructor(shardAccount: ShardAccount, blockchain: Blockchain);
94
93
  snapshot(): SmartContractSnapshot;
95
94
  loadFrom(snapshot: SmartContractSnapshot): void;
@@ -117,7 +116,5 @@ export declare class SmartContract {
117
116
  get verbosity(): LogsVerbosity;
118
117
  set verbosity(value: LogsVerbosity);
119
118
  setVerbosity(verbosity: Partial<LogsVerbosity> | Verbosity | undefined): void;
120
- get debug(): boolean;
121
- setDebug(debug: boolean | undefined): void;
122
119
  }
123
120
  export {};
@@ -9,7 +9,6 @@ const core_1 = require("@ton/core");
9
9
  const ec_1 = require("../utils/ec");
10
10
  const selector_1 = require("../utils/selector");
11
11
  const deepcopy_1 = require("../utils/deepcopy");
12
- const debugger_1 = require("../debugger");
13
12
  function createShardAccount(args) {
14
13
  let wc = args.workchain ?? 0;
15
14
  let address = args.address ?? (0, core_1.contractAddress)(wc, { code: args.code, data: args.data });
@@ -203,7 +202,6 @@ class SmartContract {
203
202
  parsedAccount;
204
203
  lastTxTime;
205
204
  _verbosity;
206
- _debug;
207
205
  constructor(shardAccount, blockchain) {
208
206
  this.address = shardAccount.account.addr;
209
207
  this._account = (0, core_1.beginCell)().store((0, core_1.storeShardAccount)(shardAccount)).endCell().toBoc().toString('base64');
@@ -299,18 +297,6 @@ class SmartContract {
299
297
  ...this.createCommonArgs(params),
300
298
  message: (0, core_1.beginCell)().store((0, core_1.storeMessage)(message)).endCell(),
301
299
  };
302
- if (this.debug) {
303
- const debugContext = (0, debugger_1.getDebugContext)();
304
- const { uninitialized, debugInfo } = debugContext.getDebugInfo(this.account);
305
- if (debugInfo !== undefined) {
306
- const executor = await this.blockchain.getDebuggerExecutor();
307
- return await this.runCommon(() => debugContext.debugTransaction(executor, args, debugInfo), callStack);
308
- }
309
- else if (uninitialized) {
310
- // eslint-disable-next-line no-console
311
- console.log('Debugging uninitialized accounts is unsupported in debugger beta');
312
- }
313
- }
314
300
  return await this.runCommon(() => this.blockchain.executor.runTransaction(args), callStack);
315
301
  }
316
302
  async runTickTock(which, params) {
@@ -386,25 +372,7 @@ class SmartContract {
386
372
  extraCurrency: this.ec,
387
373
  prevBlocksInfo: this.blockchain.prevBlocks,
388
374
  };
389
- let res;
390
- if (this.debug) {
391
- const debugContext = (0, debugger_1.getDebugContext)();
392
- const { uninitialized, debugInfo } = debugContext.getDebugInfo(this.account);
393
- if (debugInfo !== undefined) {
394
- const executor = await this.blockchain.getDebuggerExecutor();
395
- res = await debugContext.debugGetMethod(executor, args, debugInfo);
396
- }
397
- else {
398
- if (uninitialized) {
399
- // eslint-disable-next-line no-console
400
- console.log('Debugging uninitialized accounts is unsupported in debugger beta');
401
- }
402
- res = await this.blockchain.executor.runGetMethod(args);
403
- }
404
- }
405
- else {
406
- res = await this.blockchain.executor.runGetMethod(args);
407
- }
375
+ let res = await this.blockchain.executor.runGetMethod(args);
408
376
  if (this.verbosity.print && this.verbosity.blockchainLogs && res.logs.length > 0) {
409
377
  // eslint-disable-next-line no-console
410
378
  console.log(res.logs);
@@ -455,11 +423,5 @@ class SmartContract {
455
423
  this._verbosity = verbosity;
456
424
  }
457
425
  }
458
- get debug() {
459
- return this._debug ?? this.blockchain.debug;
460
- }
461
- setDebug(debug) {
462
- this._debug = debug;
463
- }
464
426
  }
465
427
  exports.SmartContract = SmartContract;
@@ -142,7 +142,7 @@ export interface ValidatorSet_validators_ext {
142
142
  readonly total_weight: bigint;
143
143
  readonly list: Dictionary<number, ValidatorDescr>;
144
144
  }
145
- export type ConfigParam = ConfigParam__ | ConfigParam__1 | ConfigParam__2 | ConfigParam__3 | ConfigParam__4 | ConfigParam__5 | ConfigParam__6 | ConfigParam__7 | ConfigParam__8 | ConfigParam__9 | ConfigParam__10 | ConfigParam__11 | ConfigParam__12 | ConfigParam__13 | ConfigParam__14 | ConfigParam__15 | ConfigParam__16 | ConfigParam__17 | ConfigParam__18 | ConfigParam__19 | ConfigParam_config_mc_gas_prices | ConfigParam_config_gas_prices | ConfigParam_config_mc_block_limits | ConfigParam_config_block_limits | ConfigParam_config_mc_fwd_prices | ConfigParam_config_fwd_prices | ConfigParam__26 | ConfigParam__27 | ConfigParam__28 | ConfigParam__29 | ConfigParam__30 | ConfigParam__31 | ConfigParam__32 | ConfigParam__33 | ConfigParam__34 | ConfigParam__35 | ConfigParam__36 | ConfigParam__37 | ConfigParam__38 | ConfigParam__39 | ConfigParam__40 | ConfigParam__41 | ConfigParam__42 | ConfigParam__43 | ConfigParam__44 | ConfigParam__45;
145
+ export type ConfigParam = ConfigParam__ | ConfigParam__1 | ConfigParam__2 | ConfigParam__3 | ConfigParam__4 | ConfigParam__5 | ConfigParam__6 | ConfigParam__7 | ConfigParam__8 | ConfigParam__9 | ConfigParam__10 | ConfigParam__11 | ConfigParam__12 | ConfigParam__13 | ConfigParam__14 | ConfigParam__15 | ConfigParam__16 | ConfigParam__17 | ConfigParam__18 | ConfigParam__19 | ConfigParam_config_mc_gas_prices | ConfigParam_config_gas_prices | ConfigParam_config_mc_block_limits | ConfigParam_config_block_limits | ConfigParam_config_mc_fwd_prices | ConfigParam_config_fwd_prices | ConfigParam__26 | ConfigParam__27 | ConfigParam__28 | ConfigParam__29 | ConfigParam__30 | ConfigParam__31 | ConfigParam__32 | ConfigParam__33 | ConfigParam__34 | ConfigParam__35 | ConfigParam__36 | ConfigParam__37 | ConfigParam__38 | ConfigParam__39 | ConfigParam__40 | ConfigParam__41 | ConfigParam__42 | ConfigParam__43 | ConfigParam__44 | ConfigParam__45 | ConfigParam__46;
146
146
  export interface ConfigParam__ {
147
147
  readonly kind: 'ConfigParam__';
148
148
  readonly config_addr: Buffer;
@@ -266,55 +266,55 @@ export interface ConfigParam__27 {
266
266
  }
267
267
  export interface ConfigParam__28 {
268
268
  readonly kind: 'ConfigParam__28';
269
- readonly fundamental_smc_addr: Dictionary<bigint, True>;
269
+ readonly anon0: NewConsensusConfigAll;
270
270
  }
271
271
  export interface ConfigParam__29 {
272
272
  readonly kind: 'ConfigParam__29';
273
- readonly prev_validators: ValidatorSet;
273
+ readonly fundamental_smc_addr: Dictionary<bigint, True>;
274
274
  }
275
275
  export interface ConfigParam__30 {
276
276
  readonly kind: 'ConfigParam__30';
277
- readonly prev_temp_validators: ValidatorSet;
277
+ readonly prev_validators: ValidatorSet;
278
278
  }
279
279
  export interface ConfigParam__31 {
280
280
  readonly kind: 'ConfigParam__31';
281
- readonly cur_validators: ValidatorSet;
281
+ readonly prev_temp_validators: ValidatorSet;
282
282
  }
283
283
  export interface ConfigParam__32 {
284
284
  readonly kind: 'ConfigParam__32';
285
- readonly cur_temp_validators: ValidatorSet;
285
+ readonly cur_validators: ValidatorSet;
286
286
  }
287
287
  export interface ConfigParam__33 {
288
288
  readonly kind: 'ConfigParam__33';
289
- readonly next_validators: ValidatorSet;
289
+ readonly cur_temp_validators: ValidatorSet;
290
290
  }
291
291
  export interface ConfigParam__34 {
292
292
  readonly kind: 'ConfigParam__34';
293
- readonly next_temp_validators: ValidatorSet;
293
+ readonly next_validators: ValidatorSet;
294
294
  }
295
295
  export interface ConfigParam__35 {
296
296
  readonly kind: 'ConfigParam__35';
297
- readonly anon0: Dictionary<bigint, ValidatorSignedTempKey>;
297
+ readonly next_temp_validators: ValidatorSet;
298
298
  }
299
299
  export interface ConfigParam__36 {
300
300
  readonly kind: 'ConfigParam__36';
301
- readonly anon0: MisbehaviourPunishmentConfig;
301
+ readonly anon0: Dictionary<bigint, ValidatorSignedTempKey>;
302
302
  }
303
303
  export interface ConfigParam__37 {
304
304
  readonly kind: 'ConfigParam__37';
305
- readonly anon0: SizeLimitsConfig;
305
+ readonly anon0: MisbehaviourPunishmentConfig;
306
306
  }
307
307
  export interface ConfigParam__38 {
308
308
  readonly kind: 'ConfigParam__38';
309
- readonly anon0: SuspendedAddressList;
309
+ readonly anon0: SizeLimitsConfig;
310
310
  }
311
311
  export interface ConfigParam__39 {
312
312
  readonly kind: 'ConfigParam__39';
313
- readonly anon0: PrecompiledContractsConfig;
313
+ readonly anon0: SuspendedAddressList;
314
314
  }
315
315
  export interface ConfigParam__40 {
316
316
  readonly kind: 'ConfigParam__40';
317
- readonly anon0: OracleBridgeParams;
317
+ readonly anon0: PrecompiledContractsConfig;
318
318
  }
319
319
  export interface ConfigParam__41 {
320
320
  readonly kind: 'ConfigParam__41';
@@ -326,7 +326,7 @@ export interface ConfigParam__42 {
326
326
  }
327
327
  export interface ConfigParam__43 {
328
328
  readonly kind: 'ConfigParam__43';
329
- readonly anon0: JettonBridgeParams;
329
+ readonly anon0: OracleBridgeParams;
330
330
  }
331
331
  export interface ConfigParam__44 {
332
332
  readonly kind: 'ConfigParam__44';
@@ -336,6 +336,10 @@ export interface ConfigParam__45 {
336
336
  readonly kind: 'ConfigParam__45';
337
337
  readonly anon0: JettonBridgeParams;
338
338
  }
339
+ export interface ConfigParam__46 {
340
+ readonly kind: 'ConfigParam__46';
341
+ readonly anon0: JettonBridgeParams;
342
+ }
339
343
  export interface BurningConfig {
340
344
  readonly kind: 'BurningConfig';
341
345
  readonly blackhole_addr: Maybe<Buffer>;
@@ -432,6 +436,7 @@ export interface WorkchainDescr_workchain_v2 {
432
436
  readonly version: number;
433
437
  readonly format: WorkchainFormat;
434
438
  readonly split_merge_timings: WcSplitMergeTimings;
439
+ readonly persistent_state_split_depth: number;
435
440
  }
436
441
  export interface ComplaintPricing {
437
442
  readonly kind: 'ComplaintPricing';
@@ -484,11 +489,25 @@ export interface ParamLimits {
484
489
  readonly soft_limit: number;
485
490
  readonly hard_limit: number;
486
491
  }
487
- export interface BlockLimits {
488
- readonly kind: 'BlockLimits';
492
+ export interface ImportedMsgQueueLimits {
493
+ readonly kind: 'ImportedMsgQueueLimits';
494
+ readonly max_bytes: number;
495
+ readonly max_msgs: number;
496
+ }
497
+ export type BlockLimits = BlockLimits_block_limits | BlockLimits_block_limits_v2;
498
+ export interface BlockLimits_block_limits {
499
+ readonly kind: 'BlockLimits_block_limits';
500
+ readonly bytes: ParamLimits;
501
+ readonly gas: ParamLimits;
502
+ readonly lt_delta: ParamLimits;
503
+ }
504
+ export interface BlockLimits_block_limits_v2 {
505
+ readonly kind: 'BlockLimits_block_limits_v2';
489
506
  readonly bytes: ParamLimits;
490
507
  readonly gas: ParamLimits;
491
508
  readonly lt_delta: ParamLimits;
509
+ readonly collated_data: ParamLimits;
510
+ readonly imported_msg_queue: ImportedMsgQueueLimits;
492
511
  }
493
512
  export interface MsgForwardPrices {
494
513
  readonly kind: 'MsgForwardPrices';
@@ -558,6 +577,7 @@ export interface ConsensusConfig_consensus_config_v3 {
558
577
  export interface ConsensusConfig_consensus_config_v4 {
559
578
  readonly kind: 'ConsensusConfig_consensus_config_v4';
560
579
  readonly flags: number;
580
+ readonly use_quic: Bool;
561
581
  readonly new_catchain_ids: Bool;
562
582
  readonly round_candidates: number;
563
583
  readonly next_candidate_delay_ms: number;
@@ -570,6 +590,29 @@ export interface ConsensusConfig_consensus_config_v4 {
570
590
  readonly proto_version: number;
571
591
  readonly catchain_max_blocks_coeff: number;
572
592
  }
593
+ export type NewConsensusConfig = NewConsensusConfig_simplex_config | NewConsensusConfig_simplex_config_v2;
594
+ export interface NewConsensusConfig_simplex_config {
595
+ readonly kind: 'NewConsensusConfig_simplex_config';
596
+ readonly flags: number;
597
+ readonly use_quic: Bool;
598
+ readonly target_rate_ms: number;
599
+ readonly slots_per_leader_window: number;
600
+ readonly first_block_timeout_ms: number;
601
+ readonly max_leader_window_desync: number;
602
+ }
603
+ export interface NewConsensusConfig_simplex_config_v2 {
604
+ readonly kind: 'NewConsensusConfig_simplex_config_v2';
605
+ readonly flags: number;
606
+ readonly enable_observers: Bool;
607
+ readonly use_quic: Bool;
608
+ readonly slots_per_leader_window: number;
609
+ readonly noncritical_params: Dictionary<number, number>;
610
+ }
611
+ export interface NewConsensusConfigAll {
612
+ readonly kind: 'NewConsensusConfigAll';
613
+ readonly mc: Maybe<NewConsensusConfig>;
614
+ readonly shard: Maybe<NewConsensusConfig>;
615
+ }
573
616
  export interface ValidatorTempKey {
574
617
  readonly kind: 'ValidatorTempKey';
575
618
  readonly adnl_addr: Buffer;
@@ -615,11 +658,13 @@ export interface SizeLimitsConfig_size_limits_config_v2 {
615
658
  readonly max_ext_msg_size: number;
616
659
  readonly max_ext_msg_depth: number;
617
660
  readonly max_acc_state_cells: number;
618
- readonly max_acc_state_bits: number;
661
+ readonly max_mc_acc_state_cells: number;
619
662
  readonly max_acc_public_libraries: number;
620
663
  readonly defer_out_queue_size_limit: number;
621
664
  readonly max_msg_extra_currencies: number;
622
665
  readonly max_acc_fixed_prefix_length: number;
666
+ readonly acc_state_cells_for_storage_dict: number;
667
+ readonly max_transaction_library_loads: Maybe<number>;
623
668
  }
624
669
  export interface SuspendedAddressList {
625
670
  readonly kind: 'SuspendedAddressList';
@@ -733,6 +778,8 @@ export declare function loadGasLimitsPrices(slice: Slice): GasLimitsPrices;
733
778
  export declare function storeGasLimitsPrices(gasLimitsPrices: GasLimitsPrices): (builder: Builder) => void;
734
779
  export declare function loadParamLimits(slice: Slice): ParamLimits;
735
780
  export declare function storeParamLimits(paramLimits: ParamLimits): (builder: Builder) => void;
781
+ export declare function loadImportedMsgQueueLimits(slice: Slice): ImportedMsgQueueLimits;
782
+ export declare function storeImportedMsgQueueLimits(importedMsgQueueLimits: ImportedMsgQueueLimits): (builder: Builder) => void;
736
783
  export declare function loadBlockLimits(slice: Slice): BlockLimits;
737
784
  export declare function storeBlockLimits(blockLimits: BlockLimits): (builder: Builder) => void;
738
785
  export declare function loadMsgForwardPrices(slice: Slice): MsgForwardPrices;
@@ -741,6 +788,10 @@ export declare function loadCatchainConfig(slice: Slice): CatchainConfig;
741
788
  export declare function storeCatchainConfig(catchainConfig: CatchainConfig): (builder: Builder) => void;
742
789
  export declare function loadConsensusConfig(slice: Slice): ConsensusConfig;
743
790
  export declare function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder: Builder) => void;
791
+ export declare function loadNewConsensusConfig(slice: Slice): NewConsensusConfig;
792
+ export declare function storeNewConsensusConfig(newConsensusConfig: NewConsensusConfig): (builder: Builder) => void;
793
+ export declare function loadNewConsensusConfigAll(slice: Slice): NewConsensusConfigAll;
794
+ export declare function storeNewConsensusConfigAll(newConsensusConfigAll: NewConsensusConfigAll): (builder: Builder) => void;
744
795
  export declare function loadValidatorTempKey(slice: Slice): ValidatorTempKey;
745
796
  export declare function storeValidatorTempKey(validatorTempKey: ValidatorTempKey): (builder: Builder) => void;
746
797
  export declare function loadValidatorSignedTempKey(slice: Slice): ValidatorSignedTempKey;