@ton/ton 16.0.0 → 16.1.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.
@@ -1,45 +1,49 @@
1
- import { Address, Slice, Cell, Dictionary } from "@ton/core";
1
+ import { Address, Slice, Cell, Dictionary, ExtraCurrency } from "@ton/core";
2
2
  export declare function configParseMasterAddress(slice: Slice | null | undefined): Address | null;
3
- export declare function parseValidatorSet(slice: Slice): {
3
+ export type ValidatorSet = {
4
4
  timeSince: number;
5
5
  timeUntil: number;
6
6
  total: number;
7
7
  main: number;
8
- totalWeight: null;
8
+ totalWeight: bigint | null;
9
9
  list: Dictionary<number, {
10
10
  publicKey: Buffer;
11
11
  weight: bigint;
12
12
  adnlAddress: Buffer | null;
13
13
  }>;
14
- } | {
15
- timeSince: number;
16
- timeUntil: number;
17
- total: number;
18
- main: number;
19
- totalWeight: bigint;
20
- list: Dictionary<number, {
21
- publicKey: Buffer;
22
- weight: bigint;
23
- adnlAddress: Buffer | null;
24
- }>;
25
- } | undefined;
26
- export declare function parseBridge(slice: Slice): {
14
+ };
15
+ export declare function parseValidatorSet(slice: Slice): ValidatorSet | null;
16
+ export type BridgeParams = {
27
17
  bridgeAddress: Address;
28
18
  oracleMultisigAddress: Address;
29
19
  oracles: Map<string, Buffer>;
30
20
  externalChainAddress: Buffer;
31
21
  };
22
+ export declare function parseBridge(slice: Slice): BridgeParams;
32
23
  export declare function configParseMasterAddressRequired(slice: Slice | null | undefined): Address;
33
24
  export declare function configParse5(slice: Slice | null | undefined): {
34
25
  blackholeAddr: Address | null;
35
26
  feeBurnNominator: number;
36
27
  feeBurnDenominator: number;
37
28
  };
29
+ export declare function configParse6(slice: Slice | null | undefined): {
30
+ mintNewPrice: bigint;
31
+ mintAddPrice: bigint;
32
+ } | null;
33
+ export declare function configParse7(slice: Slice | null | undefined): {
34
+ toMint: ExtraCurrency;
35
+ };
36
+ export declare function configParse9(slice: Slice | null | undefined): Set<number>;
37
+ export declare function configParse10(slice: Slice | null | undefined): Set<number>;
38
38
  export declare function configParse13(slice: Slice | null | undefined): {
39
39
  deposit: bigint;
40
40
  bitPrice: bigint;
41
41
  cellPrice: bigint;
42
42
  };
43
+ export declare function configParse14(slice: Slice | null | undefined): {
44
+ masterchainBlockFee: bigint;
45
+ workchainBlockFee: bigint;
46
+ };
43
47
  export declare function configParse15(slice: Slice | null | undefined): {
44
48
  validatorsElectedFor: number;
45
49
  electorsStartBefore: number;
@@ -69,7 +73,7 @@ export declare function configParse8(slice: Slice | null | undefined): {
69
73
  version: number;
70
74
  capabilities: bigint;
71
75
  };
72
- export declare function configParse40(slice: Slice | null | undefined): {
76
+ export type ValidatorsPunishmentConfig = {
73
77
  defaultFlatFine: bigint;
74
78
  defaultProportionaFine: bigint;
75
79
  severityFlatMult: number;
@@ -81,7 +85,8 @@ export declare function configParse40(slice: Slice | null | undefined): {
81
85
  mediumInterval: number;
82
86
  mediumFlatMult: number;
83
87
  mediumProportionalMult: number;
84
- } | null;
88
+ };
89
+ export declare function configParse40(slice: Slice | null | undefined): ValidatorsPunishmentConfig | null;
85
90
  export declare function configParseWorkchainDescriptor(slice: Slice): WorkchainDescriptor;
86
91
  export type WcSplitMergeTimings = {
87
92
  split_merge_delay: number;
@@ -111,59 +116,72 @@ export type WorkchainDescriptor = {
111
116
  };
112
117
  };
113
118
  export declare function configParse12(slice: Slice | null | undefined): Dictionary<number, WorkchainDescriptor>;
114
- export declare function configParseValidatorSet(slice: Slice | null | undefined): {
115
- timeSince: number;
116
- timeUntil: number;
117
- total: number;
118
- main: number;
119
- totalWeight: null;
120
- list: Dictionary<number, {
121
- publicKey: Buffer;
122
- weight: bigint;
123
- adnlAddress: Buffer | null;
124
- }>;
125
- } | {
126
- timeSince: number;
127
- timeUntil: number;
128
- total: number;
129
- main: number;
130
- totalWeight: bigint;
131
- list: Dictionary<number, {
132
- publicKey: Buffer;
133
- weight: bigint;
134
- adnlAddress: Buffer | null;
135
- }>;
136
- } | null | undefined;
137
- export declare function configParseBridge(slice: Slice | null | undefined): {
119
+ export declare function configParseValidatorSet(slice: Slice | null | undefined): ValidatorSet | null;
120
+ export declare function configParseBridge(slice: Slice | null | undefined): BridgeParams | null;
121
+ export type JettonBridgeParamsV0 = {
138
122
  bridgeAddress: Address;
139
- oracleMultisigAddress: Address;
140
- oracles: Map<string, Buffer>;
123
+ oracleAddress: Address;
124
+ oracles: {
125
+ addr: Address;
126
+ pubkey: Buffer;
127
+ }[];
128
+ flags: number;
129
+ bridgeBurnFee: bigint;
130
+ jettonBridgePrices?: undefined;
131
+ externalChainAddress?: undefined;
132
+ };
133
+ export type JettonBridgeParamsV1 = {
134
+ bridgeAddress: Address;
135
+ oracleAddress: Address;
136
+ oracles: {
137
+ addr: Address;
138
+ pubkey: Buffer;
139
+ }[];
140
+ flags: number;
141
+ bridgeBurnFee?: undefined;
142
+ jettonBridgePrices: {
143
+ bridgeBurnFee: bigint;
144
+ bridgeMintFee: bigint;
145
+ walletMinTonsForStorage: bigint;
146
+ walletGasConsumption: bigint;
147
+ minterMinTonsForStorage: bigint;
148
+ discoverGasConsumption: bigint;
149
+ };
141
150
  externalChainAddress: Buffer;
142
- } | null;
143
- export type GasLimitsPrices = ReturnType<typeof configParseGasLimitsPrices>;
144
- export declare function configParseGasLimitsPrices(slice: Slice | null | undefined): {
151
+ };
152
+ export type JettonBridgeParams = JettonBridgeParamsV0 | JettonBridgeParamsV1;
153
+ export declare function loadJettonBridgeParams(slice: Slice | null | undefined): JettonBridgeParams | null;
154
+ export type GasLimitsPrices = {
145
155
  flatLimit: bigint;
146
156
  flatGasPrice: bigint;
147
157
  other: {
148
158
  gasPrice: bigint;
149
159
  gasLimit: bigint;
150
- specialGasLimit: bigint;
151
- gasCredit: bigint;
152
- blockGasLimit: bigint;
153
- freezeDueLimit: bigint;
154
- deleteDueLimit: bigint;
155
- } | {
156
- gasPrice: bigint;
157
- gasLimit: bigint;
160
+ specialGasLimit?: bigint;
158
161
  gasCredit: bigint;
159
162
  blockGasLimit: bigint;
160
163
  freezeDueLimit: bigint;
161
164
  deleteDueLimit: bigint;
162
- specialGasLimit?: undefined;
163
165
  };
164
166
  };
165
- export type MsgPrices = ReturnType<typeof configParseMsgPrices>;
166
- export declare function configParseMsgPrices(slice: Slice | null | undefined): {
167
+ export declare function configParseGasLimitsPrices(slice: Slice | null | undefined): GasLimitsPrices;
168
+ export type LimitParams = {
169
+ underload: number;
170
+ softLimit: number;
171
+ hardLimit: number;
172
+ };
173
+ export type BlockLimits = {
174
+ bytes: LimitParams;
175
+ gas: LimitParams;
176
+ ltDelta: LimitParams;
177
+ collatedData?: LimitParams;
178
+ importedMsgQueue?: {
179
+ maxBytes: number;
180
+ maxMsgs: number;
181
+ };
182
+ };
183
+ export declare function configParseBlockLimits(slice: Slice | null | undefined): BlockLimits;
184
+ export type MsgPrices = {
167
185
  lumpPrice: bigint;
168
186
  bitPrice: bigint;
169
187
  cellPrice: bigint;
@@ -171,22 +189,26 @@ export declare function configParseMsgPrices(slice: Slice | null | undefined): {
171
189
  firstFrac: number;
172
190
  nextFrac: number;
173
191
  };
174
- export declare function configParse28(slice: Slice | null | undefined): {
192
+ export declare function configParseMsgPrices(slice: Slice | null | undefined): MsgPrices;
193
+ export type CatchainConfigOld = {
175
194
  masterCatchainLifetime: number;
176
195
  shardCatchainLifetime: number;
177
196
  shardValidatorsLifetime: number;
178
197
  shardValidatorsCount: number;
179
198
  flags?: undefined;
180
199
  suffleMasterValidators?: undefined;
181
- } | {
182
- flags: number;
183
- suffleMasterValidators: boolean;
200
+ };
201
+ export type CatchainConfigNew = {
184
202
  masterCatchainLifetime: number;
185
203
  shardCatchainLifetime: number;
186
204
  shardValidatorsLifetime: number;
187
205
  shardValidatorsCount: number;
206
+ flags: number;
207
+ suffleMasterValidators: boolean;
188
208
  };
189
- export declare function configParse29(slice: Slice | null | undefined): {
209
+ export type CatchainConfig = CatchainConfigOld | CatchainConfigNew;
210
+ export declare function configParse28(slice: Slice | null | undefined): CatchainConfig;
211
+ export type ConsensusConfigOld = {
190
212
  roundCandidates: number;
191
213
  nextCandidateDelay: number;
192
214
  consensusTimeout: number;
@@ -199,9 +221,8 @@ export declare function configParse29(slice: Slice | null | undefined): {
199
221
  newCatchainIds?: undefined;
200
222
  protoVersion?: undefined;
201
223
  catchainMaxBlocksCoeff?: undefined;
202
- } | {
203
- flags: number;
204
- newCatchainIds: boolean;
224
+ };
225
+ export type ConsensusConfigNew = {
205
226
  roundCandidates: number;
206
227
  nextCandidateDelay: number;
207
228
  consensusTimeout: number;
@@ -210,11 +231,12 @@ export declare function configParse29(slice: Slice | null | undefined): {
210
231
  catchainMaxDeps: number;
211
232
  maxBlockBytes: number;
212
233
  maxColaltedBytes: number;
213
- protoVersion?: undefined;
214
- catchainMaxBlocksCoeff?: undefined;
215
- } | {
216
234
  flags: number;
217
235
  newCatchainIds: boolean;
236
+ protoVersion?: undefined;
237
+ catchainMaxBlocksCoeff?: undefined;
238
+ };
239
+ export type ConsensusConfigV3 = {
218
240
  roundCandidates: number;
219
241
  nextCandidateDelay: number;
220
242
  consensusTimeout: number;
@@ -223,11 +245,12 @@ export declare function configParse29(slice: Slice | null | undefined): {
223
245
  catchainMaxDeps: number;
224
246
  maxBlockBytes: number;
225
247
  maxColaltedBytes: number;
226
- protoVersion: number;
227
- catchainMaxBlocksCoeff?: undefined;
228
- } | {
229
248
  flags: number;
230
249
  newCatchainIds: boolean;
250
+ protoVersion: number;
251
+ catchainMaxBlocksCoeff?: undefined;
252
+ };
253
+ export type ConsensusConfigV4 = {
231
254
  roundCandidates: number;
232
255
  nextCandidateDelay: number;
233
256
  consensusTimeout: number;
@@ -236,10 +259,23 @@ export declare function configParse29(slice: Slice | null | undefined): {
236
259
  catchainMaxDeps: number;
237
260
  maxBlockBytes: number;
238
261
  maxColaltedBytes: number;
262
+ flags: number;
263
+ newCatchainIds: boolean;
239
264
  protoVersion: number;
240
265
  catchainMaxBlocksCoeff: number;
241
266
  };
242
- export declare function parseProposalSetup(slice: Slice): {
267
+ export type ConsensusConfig = ConsensusConfigOld | ConsensusConfigNew | ConsensusConfigV3 | ConsensusConfigV4;
268
+ export declare function configParse29(slice: Slice | null | undefined): ConsensusConfig;
269
+ export declare function configParse31(slice: Slice | null | undefined): Address[];
270
+ export declare function configParse44(slice: Slice | null | undefined): {
271
+ addresses: Address[];
272
+ suspendedUntil: number;
273
+ };
274
+ export declare function configParse45(slice: Slice | null | undefined): {
275
+ hash: Buffer;
276
+ gasUsed: bigint;
277
+ }[];
278
+ export type ProposalSetup = {
243
279
  minTotalRounds: number;
244
280
  maxTotalRounds: number;
245
281
  minWins: number;
@@ -249,28 +285,12 @@ export declare function parseProposalSetup(slice: Slice): {
249
285
  bitPrice: number;
250
286
  cellPrice: number;
251
287
  };
252
- export declare function parseVotingSetup(slice: Slice | null | undefined): {
253
- normalParams: {
254
- minTotalRounds: number;
255
- maxTotalRounds: number;
256
- minWins: number;
257
- maxLoses: number;
258
- minStoreSec: number;
259
- maxStoreSec: number;
260
- bitPrice: number;
261
- cellPrice: number;
262
- };
263
- criticalParams: {
264
- minTotalRounds: number;
265
- maxTotalRounds: number;
266
- minWins: number;
267
- maxLoses: number;
268
- minStoreSec: number;
269
- maxStoreSec: number;
270
- bitPrice: number;
271
- cellPrice: number;
272
- };
288
+ export declare function parseProposalSetup(slice: Slice): ProposalSetup;
289
+ export type VotingSetup = {
290
+ normalParams: ProposalSetup;
291
+ criticalParams: ProposalSetup;
273
292
  };
293
+ export declare function parseVotingSetup(slice: Slice | null | undefined): VotingSetup;
274
294
  export declare function loadConfigParamById(configBase64: string, id: number): Cell;
275
295
  export declare function loadConfigParamsAsSlice(configBase64: string): Map<number, Slice>;
276
296
  export declare function parseFullConfig(configs: Map<number, Slice>): {
@@ -289,28 +309,7 @@ export declare function parseFullConfig(configs: Map<number, Slice>): {
289
309
  capabilities: bigint;
290
310
  };
291
311
  workchains: Dictionary<number, WorkchainDescriptor>;
292
- voting: {
293
- normalParams: {
294
- minTotalRounds: number;
295
- maxTotalRounds: number;
296
- minWins: number;
297
- maxLoses: number;
298
- minStoreSec: number;
299
- maxStoreSec: number;
300
- bitPrice: number;
301
- cellPrice: number;
302
- };
303
- criticalParams: {
304
- minTotalRounds: number;
305
- maxTotalRounds: number;
306
- minWins: number;
307
- maxLoses: number;
308
- minStoreSec: number;
309
- maxStoreSec: number;
310
- bitPrice: number;
311
- cellPrice: number;
312
- };
313
- };
312
+ voting: VotingSetup;
314
313
  validators: {
315
314
  minStake: bigint;
316
315
  maxStake: bigint;
@@ -326,306 +325,119 @@ export declare function parseFullConfig(configs: Map<number, Slice>): {
326
325
  };
327
326
  storagePrices: StoragePrices[];
328
327
  gasPrices: {
329
- masterchain: {
330
- flatLimit: bigint;
331
- flatGasPrice: bigint;
332
- other: {
333
- gasPrice: bigint;
334
- gasLimit: bigint;
335
- specialGasLimit: bigint;
336
- gasCredit: bigint;
337
- blockGasLimit: bigint;
338
- freezeDueLimit: bigint;
339
- deleteDueLimit: bigint;
340
- } | {
341
- gasPrice: bigint;
342
- gasLimit: bigint;
343
- gasCredit: bigint;
344
- blockGasLimit: bigint;
345
- freezeDueLimit: bigint;
346
- deleteDueLimit: bigint;
347
- specialGasLimit?: undefined;
348
- };
349
- };
350
- workchain: {
351
- flatLimit: bigint;
352
- flatGasPrice: bigint;
353
- other: {
354
- gasPrice: bigint;
355
- gasLimit: bigint;
356
- specialGasLimit: bigint;
357
- gasCredit: bigint;
358
- blockGasLimit: bigint;
359
- freezeDueLimit: bigint;
360
- deleteDueLimit: bigint;
361
- } | {
362
- gasPrice: bigint;
363
- gasLimit: bigint;
364
- gasCredit: bigint;
365
- blockGasLimit: bigint;
366
- freezeDueLimit: bigint;
367
- deleteDueLimit: bigint;
368
- specialGasLimit?: undefined;
369
- };
370
- };
328
+ masterchain: GasLimitsPrices;
329
+ workchain: GasLimitsPrices;
371
330
  };
372
331
  msgPrices: {
373
- masterchain: {
374
- lumpPrice: bigint;
375
- bitPrice: bigint;
376
- cellPrice: bigint;
377
- ihrPriceFactor: number;
378
- firstFrac: number;
379
- nextFrac: number;
380
- };
381
- workchain: {
382
- lumpPrice: bigint;
383
- bitPrice: bigint;
384
- cellPrice: bigint;
385
- ihrPriceFactor: number;
386
- firstFrac: number;
387
- nextFrac: number;
388
- };
332
+ masterchain: MsgPrices;
333
+ workchain: MsgPrices;
389
334
  };
390
335
  validatorSets: {
391
- prevValidators: {
392
- timeSince: number;
393
- timeUntil: number;
394
- total: number;
395
- main: number;
396
- totalWeight: null;
397
- list: Dictionary<number, {
398
- publicKey: Buffer;
399
- weight: bigint;
400
- adnlAddress: Buffer | null;
401
- }>;
402
- } | {
403
- timeSince: number;
404
- timeUntil: number;
405
- total: number;
406
- main: number;
407
- totalWeight: bigint;
408
- list: Dictionary<number, {
409
- publicKey: Buffer;
410
- weight: bigint;
411
- adnlAddress: Buffer | null;
412
- }>;
413
- } | null | undefined;
414
- prevTempValidators: {
415
- timeSince: number;
416
- timeUntil: number;
417
- total: number;
418
- main: number;
419
- totalWeight: null;
420
- list: Dictionary<number, {
421
- publicKey: Buffer;
422
- weight: bigint;
423
- adnlAddress: Buffer | null;
424
- }>;
425
- } | {
426
- timeSince: number;
427
- timeUntil: number;
428
- total: number;
429
- main: number;
430
- totalWeight: bigint;
431
- list: Dictionary<number, {
432
- publicKey: Buffer;
433
- weight: bigint;
434
- adnlAddress: Buffer | null;
435
- }>;
436
- } | null | undefined;
437
- currentValidators: {
438
- timeSince: number;
439
- timeUntil: number;
440
- total: number;
441
- main: number;
442
- totalWeight: null;
443
- list: Dictionary<number, {
444
- publicKey: Buffer;
445
- weight: bigint;
446
- adnlAddress: Buffer | null;
447
- }>;
448
- } | {
449
- timeSince: number;
450
- timeUntil: number;
451
- total: number;
452
- main: number;
453
- totalWeight: bigint;
454
- list: Dictionary<number, {
455
- publicKey: Buffer;
456
- weight: bigint;
457
- adnlAddress: Buffer | null;
458
- }>;
459
- } | null | undefined;
460
- currentTempValidators: {
461
- timeSince: number;
462
- timeUntil: number;
463
- total: number;
464
- main: number;
465
- totalWeight: null;
466
- list: Dictionary<number, {
467
- publicKey: Buffer;
468
- weight: bigint;
469
- adnlAddress: Buffer | null;
470
- }>;
471
- } | {
472
- timeSince: number;
473
- timeUntil: number;
474
- total: number;
475
- main: number;
476
- totalWeight: bigint;
477
- list: Dictionary<number, {
478
- publicKey: Buffer;
479
- weight: bigint;
480
- adnlAddress: Buffer | null;
481
- }>;
482
- } | null | undefined;
483
- nextValidators: {
484
- timeSince: number;
485
- timeUntil: number;
486
- total: number;
487
- main: number;
488
- totalWeight: null;
489
- list: Dictionary<number, {
490
- publicKey: Buffer;
491
- weight: bigint;
492
- adnlAddress: Buffer | null;
493
- }>;
494
- } | {
495
- timeSince: number;
496
- timeUntil: number;
497
- total: number;
498
- main: number;
499
- totalWeight: bigint;
500
- list: Dictionary<number, {
501
- publicKey: Buffer;
502
- weight: bigint;
503
- adnlAddress: Buffer | null;
504
- }>;
505
- } | null | undefined;
506
- nextTempValidators: {
507
- timeSince: number;
508
- timeUntil: number;
509
- total: number;
510
- main: number;
511
- totalWeight: null;
512
- list: Dictionary<number, {
513
- publicKey: Buffer;
514
- weight: bigint;
515
- adnlAddress: Buffer | null;
516
- }>;
517
- } | {
518
- timeSince: number;
519
- timeUntil: number;
520
- total: number;
521
- main: number;
522
- totalWeight: bigint;
523
- list: Dictionary<number, {
524
- publicKey: Buffer;
525
- weight: bigint;
526
- adnlAddress: Buffer | null;
527
- }>;
528
- } | null | undefined;
336
+ prevValidators: ValidatorSet | null;
337
+ prevTempValidators: ValidatorSet | null;
338
+ currentValidators: ValidatorSet | null;
339
+ currentTempValidators: ValidatorSet | null;
340
+ nextValidators: ValidatorSet | null;
341
+ nextTempValidators: ValidatorSet | null;
529
342
  };
530
- validatorsPunish: {
531
- defaultFlatFine: bigint;
532
- defaultProportionaFine: bigint;
533
- severityFlatMult: number;
534
- severityProportionalMult: number;
535
- unfunishableInterval: number;
536
- longInterval: number;
537
- longFlatMult: number;
538
- longProportionalMult: number;
539
- mediumInterval: number;
540
- mediumFlatMult: number;
541
- mediumProportionalMult: number;
542
- } | null;
343
+ validatorsPunish: ValidatorsPunishmentConfig | null;
543
344
  bridges: {
544
- ethereum: {
545
- bridgeAddress: Address;
546
- oracleMultisigAddress: Address;
547
- oracles: Map<string, Buffer>;
548
- externalChainAddress: Buffer;
549
- } | null;
550
- binance: {
551
- bridgeAddress: Address;
552
- oracleMultisigAddress: Address;
553
- oracles: Map<string, Buffer>;
554
- externalChainAddress: Buffer;
555
- } | null;
556
- polygon: {
557
- bridgeAddress: Address;
558
- oracleMultisigAddress: Address;
559
- oracles: Map<string, Buffer>;
560
- externalChainAddress: Buffer;
561
- } | null;
345
+ ethereum: BridgeParams | null;
346
+ binance: BridgeParams | null;
347
+ polygon: BridgeParams | null;
562
348
  };
563
- catchain: {
564
- masterCatchainLifetime: number;
565
- shardCatchainLifetime: number;
566
- shardValidatorsLifetime: number;
567
- shardValidatorsCount: number;
568
- flags?: undefined;
569
- suffleMasterValidators?: undefined;
570
- } | {
571
- flags: number;
572
- suffleMasterValidators: boolean;
573
- masterCatchainLifetime: number;
574
- shardCatchainLifetime: number;
575
- shardValidatorsLifetime: number;
576
- shardValidatorsCount: number;
349
+ catchain: CatchainConfig;
350
+ consensus: ConsensusConfig;
351
+ };
352
+ export declare function parseFullerConfig(configs: Map<number, Slice>): {
353
+ configAddress: Address;
354
+ electorAddress: Address;
355
+ minterAddress: Address | null;
356
+ feeCollectorAddress: Address | null;
357
+ dnsRootAddress: Address | null;
358
+ burningConfig: {
359
+ blackholeAddr: Address | null;
360
+ feeBurnNominator: number;
361
+ feeBurnDenominator: number;
362
+ };
363
+ extraCurrenciesMintPrices: {
364
+ mintNewPrice: bigint;
365
+ mintAddPrice: bigint;
366
+ } | null;
367
+ extraCurrencies: {
368
+ toMint: ExtraCurrency;
369
+ };
370
+ globalVersion: {
371
+ version: number;
372
+ capabilities: bigint;
373
+ };
374
+ configMandatoryParams: Set<number>;
375
+ configCriticalParams: Set<number>;
376
+ voting: VotingSetup;
377
+ workchains: Dictionary<number, WorkchainDescriptor>;
378
+ complaintCost: {
379
+ deposit: bigint;
380
+ bitPrice: bigint;
381
+ cellPrice: bigint;
382
+ };
383
+ blockCreationRewards: {
384
+ masterchainBlockFee: bigint;
385
+ workchainBlockFee: bigint;
386
+ };
387
+ validators: {
388
+ minStake: bigint;
389
+ maxStake: bigint;
390
+ minTotalStake: bigint;
391
+ maxStakeFactor: number;
392
+ maxValidators: number;
393
+ maxMainValidators: number;
394
+ minValidators: number;
395
+ validatorsElectedFor: number;
396
+ electorsStartBefore: number;
397
+ electorsEndBefore: number;
398
+ stakeHeldFor: number;
399
+ };
400
+ storagePrices: StoragePrices[];
401
+ gasPrices: {
402
+ masterchain: GasLimitsPrices;
403
+ workchain: GasLimitsPrices;
404
+ };
405
+ blockLimits: {
406
+ masterchain: BlockLimits;
407
+ workchain: BlockLimits;
408
+ };
409
+ msgPrices: {
410
+ masterchain: MsgPrices;
411
+ workchain: MsgPrices;
412
+ };
413
+ catchain: CatchainConfig;
414
+ consensus: ConsensusConfig;
415
+ fundamentalSmcAddr: Address[];
416
+ validatorSets: {
417
+ prevValidators: ValidatorSet | null;
418
+ prevTempValidators: ValidatorSet | null;
419
+ currentValidators: ValidatorSet | null;
420
+ currentTempValidators: ValidatorSet | null;
421
+ nextValidators: ValidatorSet | null;
422
+ nextTempValidators: ValidatorSet | null;
423
+ };
424
+ validatorsPunish: ValidatorsPunishmentConfig | null;
425
+ suspended: {
426
+ addresses: Address[];
427
+ suspendedUntil: number;
428
+ };
429
+ precompiledContracts: {
430
+ hash: Buffer;
431
+ gasUsed: bigint;
432
+ }[];
433
+ bridges: {
434
+ ethereum: BridgeParams | null;
435
+ binance: BridgeParams | null;
436
+ polygon: BridgeParams | null;
577
437
  };
578
- consensus: {
579
- roundCandidates: number;
580
- nextCandidateDelay: number;
581
- consensusTimeout: number;
582
- fastAttempts: number;
583
- attemptDuration: number;
584
- catchainMaxDeps: number;
585
- maxBlockBytes: number;
586
- maxColaltedBytes: number;
587
- flags?: undefined;
588
- newCatchainIds?: undefined;
589
- protoVersion?: undefined;
590
- catchainMaxBlocksCoeff?: undefined;
591
- } | {
592
- flags: number;
593
- newCatchainIds: boolean;
594
- roundCandidates: number;
595
- nextCandidateDelay: number;
596
- consensusTimeout: number;
597
- fastAttempts: number;
598
- attemptDuration: number;
599
- catchainMaxDeps: number;
600
- maxBlockBytes: number;
601
- maxColaltedBytes: number;
602
- protoVersion?: undefined;
603
- catchainMaxBlocksCoeff?: undefined;
604
- } | {
605
- flags: number;
606
- newCatchainIds: boolean;
607
- roundCandidates: number;
608
- nextCandidateDelay: number;
609
- consensusTimeout: number;
610
- fastAttempts: number;
611
- attemptDuration: number;
612
- catchainMaxDeps: number;
613
- maxBlockBytes: number;
614
- maxColaltedBytes: number;
615
- protoVersion: number;
616
- catchainMaxBlocksCoeff?: undefined;
617
- } | {
618
- flags: number;
619
- newCatchainIds: boolean;
620
- roundCandidates: number;
621
- nextCandidateDelay: number;
622
- consensusTimeout: number;
623
- fastAttempts: number;
624
- attemptDuration: number;
625
- catchainMaxDeps: number;
626
- maxBlockBytes: number;
627
- maxColaltedBytes: number;
628
- protoVersion: number;
629
- catchainMaxBlocksCoeff: number;
438
+ tokenBridges: {
439
+ ethereum: JettonBridgeParams | null;
440
+ binance: JettonBridgeParams | null;
441
+ polygon: JettonBridgeParams | null;
630
442
  };
631
443
  };