@layerzerolabs/layerzero-v2-ton 3.0.13-ton.0 → 3.0.18-ton.1
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.
- package/CHANGELOG.md +18 -0
- package/build/AllStorages.compiled.json +1 -1
- package/build/AllStorages.test.compiled.json +1 -1
- package/build/BaseContract.test.compiled.json +1 -1
- package/build/Channel.compiled.json +1 -1
- package/build/Channel.permissions.test.compiled.json +1 -1
- package/build/ChannelBurn.test.compiled.json +1 -1
- package/build/ChannelCommitPacket.test.compiled.json +1 -1
- package/build/ChannelConfig.test.compiled.json +1 -1
- package/build/ChannelInitialize.test.compiled.json +1 -1
- package/build/ChannelMsglibIntegration.test.compiled.json +1 -1
- package/build/ChannelMsglibSendCallback.test.compiled.json +1 -1
- package/build/ChannelNilify.test.compiled.json +1 -1
- package/build/ChannelReceive.test.compiled.json +1 -1
- package/build/ChannelReceiveCallback.test.compiled.json +1 -1
- package/build/ChannelReceiveView.test.compiled.json +1 -1
- package/build/ChannelSend.test.compiled.json +1 -1
- package/build/Classlib.test.compiled.json +1 -1
- package/build/ComputeDataSizeGas.test.compiled.json +1 -0
- package/build/Connection.compiled.json +1 -1
- package/build/Controller.assertions.test.compiled.json +1 -1
- package/build/Controller.compiled.json +1 -1
- package/build/Controller.permissions.test.compiled.json +1 -1
- package/build/Controller.test.compiled.json +1 -1
- package/build/Counter.compiled.json +1 -1
- package/build/Counter.permissions.test.compiled.json +1 -1
- package/build/Counter.setters.test.compiled.json +1 -1
- package/build/Counter.test.compiled.json +1 -1
- package/build/Dvn.compiled.json +1 -1
- package/build/Dvn.test.compiled.json +1 -1
- package/build/DvnFeeLib.compiled.json +1 -0
- package/build/DvnPermissions.test.compiled.json +1 -0
- package/build/Endpoint.compiled.json +1 -1
- package/build/Endpoint.permissions.test.compiled.json +1 -1
- package/build/Endpoint.test.compiled.json +1 -1
- package/build/EndpointSetEpConfigDefaults.test.compiled.json +1 -1
- package/build/Executor.compiled.json +1 -1
- package/build/Executor.test.compiled.json +1 -1
- package/build/ExecutorFeeLib.compiled.json +1 -0
- package/build/ExecutorPermissions.test.compiled.json +1 -0
- package/build/LzClasses.test.compiled.json +1 -1
- package/build/LzUtil.test.compiled.json +1 -1
- package/build/MsgData.test.compiled.json +1 -1
- package/build/MsglibPacketCodec.test.compiled.json +1 -1
- package/build/MultiSig.compiled.json +1 -1
- package/build/MultiSigOrder.compiled.json +1 -1
- package/build/PipelinedOutOfOrder.test.compiled.json +1 -1
- package/build/PriceFeedCache.compiled.json +1 -0
- package/build/PriceFeedCache.permissions.test.compiled.json +1 -0
- package/build/PriceFeedCache.test.compiled.json +1 -0
- package/build/PriceFeedFeeLib.compiled.json +1 -0
- package/build/Proxy.compiled.json +1 -0
- package/build/Proxy.permissions.test.compiled.json +1 -0
- package/build/Proxy.test.compiled.json +1 -0
- package/build/SmlConnection.compiled.json +1 -1
- package/build/SmlConnection.permissions.test.compiled.json +1 -1
- package/build/SmlConnection.test.compiled.json +1 -1
- package/build/SmlManager.compiled.json +1 -1
- package/build/SmlManager.permissions.test.compiled.json +1 -1
- package/build/SmlManager.test.compiled.json +1 -1
- package/build/Uln.compiled.json +1 -1
- package/build/Uln.test.compiled.json +1 -1
- package/build/UlnConnection.compiled.json +1 -0
- package/build/UlnConnection.test.compiled.json +1 -0
- package/build/UlnConnectionPermissions.test.compiled.json +1 -0
- package/build/UlnManagement.test.compiled.json +1 -0
- package/build/UlnManager.compiled.json +1 -1
- package/build/UlnManager.test.compiled.json +1 -1
- package/build/UlnManagerPermissions.test.compiled.json +1 -0
- package/build/UlnManagerUtil.test.compiled.json +1 -0
- package/build/UlnPermissions.test.compiled.json +1 -0
- package/build/UlnReceiveConfig.test.compiled.json +1 -1
- package/build/UlnSend.test.compiled.json +1 -1
- package/build/UlnSendConfig.test.compiled.json +1 -1
- package/build/UlnSendWithDvnFeeLib.test.compiled.json +1 -0
- package/build/UlnSendWithExecFeeLib.test.compiled.json +1 -0
- package/build/UlnSendWorkerFactory.test.compiled.json +1 -1
- package/build/UlnUtil.test.compiled.json +1 -1
- package/build/WorkerCore.test.compiled.json +1 -1
- package/build/badFeeLib1.test.compiled.json +1 -0
- package/build/badFeeLib10.test.compiled.json +1 -0
- package/build/badFeeLib11.test.compiled.json +1 -0
- package/build/badFeeLib2.test.compiled.json +1 -0
- package/build/badFeeLib3.test.compiled.json +1 -0
- package/build/badFeeLib4.test.compiled.json +1 -0
- package/build/badFeeLib5.test.compiled.json +1 -0
- package/build/badFeeLib6.test.compiled.json +1 -0
- package/build/badFeeLib7.test.compiled.json +1 -0
- package/build/badFeeLib8.test.compiled.json +1 -0
- package/build/badFeeLib9.test.compiled.json +1 -0
- package/package.json +10 -4
- package/src/classes/lz/EpConfig.fc +3 -3
- package/src/classes/lz/Packet.fc +16 -3
- package/src/classes/lz/Path.fc +10 -1
- package/src/classes/lz/Worker.fc +1 -1
- package/src/classes/msgdata/Deploy.fc +15 -3
- package/src/classes/msgdata/LzSend.fc +1 -1
- package/src/classes/msgdata/OptionsV2.fc +7 -4
- package/src/funC++/abstract/contractMainAbstract.fc +12 -1
- package/src/funC++/abstract/handlerAbstract.fc +10 -2
- package/src/funC++/actions/call.fc +5 -3
- package/src/funC++/baseInterface.fc +9 -8
- package/src/funC++/classlib.fc +30 -33
- package/src/funC++/constants.fc +2 -2
- package/src/funC++/contractMain.fc +2 -0
- package/src/funC++/dataStructures/AddressList.fc +89 -0
- package/src/funC++/dataStructures/DeterministicInsertionCircularQueue.fc +1 -1
- package/src/funC++/dataStructures/PipelinedOutOfOrder.fc +25 -1
- package/src/funC++/handlerCore.fc +2 -0
- package/src/funC++/stdlib.fc +1 -1
- package/src/funC++/testutils.fc +99 -0
- package/src/funC++/utils.fc +66 -2
- package/src/multisig/bocs/MultiSig.compiled.json +5 -0
- package/src/multisig/bocs/MultiSigOrder.compiled.json +5 -0
- package/tests/baseContractTest.fc +15 -12
- package/build/AllStorages.boc +0 -0
- package/build/AllStorages.fif +0 -4176
- package/build/AllStorages.test.boc +0 -0
- package/build/AllStorages.test.fif +0 -1831
- package/build/BaseContract.test.boc +0 -0
- package/build/BaseContract.test.fif +0 -3560
- package/build/Channel.boc +0 -0
- package/build/Channel.fif +0 -5109
- package/build/Channel.permissions.test.boc +0 -0
- package/build/Channel.permissions.test.fif +0 -7601
- package/build/ChannelBurn.test.boc +0 -0
- package/build/ChannelBurn.test.fif +0 -7486
- package/build/ChannelCommitPacket.test.boc +0 -0
- package/build/ChannelCommitPacket.test.fif +0 -8001
- package/build/ChannelConfig.test.boc +0 -0
- package/build/ChannelConfig.test.fif +0 -7474
- package/build/ChannelInitialize.test.boc +0 -0
- package/build/ChannelInitialize.test.fif +0 -7321
- package/build/ChannelMsglibIntegration.test.boc +0 -0
- package/build/ChannelMsglibIntegration.test.fif +0 -7437
- package/build/ChannelMsglibSendCallback.test.boc +0 -0
- package/build/ChannelMsglibSendCallback.test.fif +0 -7743
- package/build/ChannelNilify.test.boc +0 -0
- package/build/ChannelNilify.test.fif +0 -7702
- package/build/ChannelReceive.test.boc +0 -0
- package/build/ChannelReceive.test.fif +0 -7742
- package/build/ChannelReceiveCallback.test.boc +0 -0
- package/build/ChannelReceiveCallback.test.fif +0 -7581
- package/build/ChannelReceiveView.test.boc +0 -0
- package/build/ChannelReceiveView.test.fif +0 -7384
- package/build/ChannelSend.test.boc +0 -0
- package/build/ChannelSend.test.fif +0 -7690
- package/build/Classlib.test.boc +0 -0
- package/build/Classlib.test.fif +0 -4728
- package/build/Connection.boc +0 -0
- package/build/Connection.fif +0 -3586
- package/build/Connection.test.boc +0 -0
- package/build/Connection.test.compiled.json +0 -1
- package/build/Connection.test.fif +0 -6582
- package/build/Controller.assertions.test.boc +0 -0
- package/build/Controller.assertions.test.fif +0 -6137
- package/build/Controller.boc +0 -0
- package/build/Controller.fif +0 -3278
- package/build/Controller.permissions.test.boc +0 -0
- package/build/Controller.permissions.test.fif +0 -6244
- package/build/Controller.test.boc +0 -0
- package/build/Controller.test.fif +0 -6407
- package/build/Counter.boc +0 -0
- package/build/Counter.fif +0 -4816
- package/build/Counter.permissions.test.boc +0 -0
- package/build/Counter.permissions.test.fif +0 -7113
- package/build/Counter.setters.test.boc +0 -0
- package/build/Counter.setters.test.fif +0 -7090
- package/build/Counter.test.boc +0 -0
- package/build/Counter.test.fif +0 -7547
- package/build/Dvn.boc +0 -0
- package/build/Dvn.fif +0 -2923
- package/build/Dvn.test.boc +0 -0
- package/build/Dvn.test.fif +0 -5760
- package/build/Endpoint.boc +0 -0
- package/build/Endpoint.fif +0 -3777
- package/build/Endpoint.permissions.test.boc +0 -0
- package/build/Endpoint.permissions.test.fif +0 -6218
- package/build/Endpoint.test.boc +0 -0
- package/build/Endpoint.test.fif +0 -6906
- package/build/EndpointSetEpConfigDefaults.test.boc +0 -0
- package/build/EndpointSetEpConfigDefaults.test.fif +0 -6536
- package/build/Executor.boc +0 -0
- package/build/Executor.fif +0 -2731
- package/build/Executor.test.boc +0 -0
- package/build/Executor.test.fif +0 -5829
- package/build/LzClasses.test.boc +0 -0
- package/build/LzClasses.test.fif +0 -4457
- package/build/LzUtil.test.boc +0 -0
- package/build/LzUtil.test.fif +0 -1831
- package/build/MsgData.test.boc +0 -0
- package/build/MsgData.test.fif +0 -4318
- package/build/MsglibPacketCodec.test.boc +0 -0
- package/build/MsglibPacketCodec.test.fif +0 -4851
- package/build/MultiSig.boc +0 -0
- package/build/MultiSig.fif +0 -727
- package/build/MultiSigOrder.boc +0 -0
- package/build/MultiSigOrder.fif +0 -650
- package/build/PipelinedOutOfOrder.test.boc +0 -0
- package/build/PipelinedOutOfOrder.test.fif +0 -2188
- package/build/SmlConnection.boc +0 -0
- package/build/SmlConnection.fif +0 -2600
- package/build/SmlConnection.permissions.test.boc +0 -0
- package/build/SmlConnection.permissions.test.fif +0 -5504
- package/build/SmlConnection.test.boc +0 -0
- package/build/SmlConnection.test.fif +0 -5501
- package/build/SmlManager.boc +0 -0
- package/build/SmlManager.fif +0 -3987
- package/build/SmlManager.permissions.test.boc +0 -0
- package/build/SmlManager.permissions.test.fif +0 -6025
- package/build/SmlManager.test.boc +0 -0
- package/build/SmlManager.test.fif +0 -6054
- package/build/Uln.boc +0 -0
- package/build/Uln.fif +0 -4924
- package/build/Uln.test.boc +0 -0
- package/build/Uln.test.fif +0 -7084
- package/build/UlnManager.boc +0 -0
- package/build/UlnManager.fif +0 -3934
- package/build/UlnManager.test.boc +0 -0
- package/build/UlnManager.test.fif +0 -6578
- package/build/UlnReceiveConfig.test.boc +0 -0
- package/build/UlnReceiveConfig.test.fif +0 -4413
- package/build/UlnSend.test.boc +0 -0
- package/build/UlnSend.test.fif +0 -6583
- package/build/UlnSendConfig.test.boc +0 -0
- package/build/UlnSendConfig.test.fif +0 -4431
- package/build/UlnSendWorkerFactory.test.boc +0 -0
- package/build/UlnSendWorkerFactory.test.fif +0 -6683
- package/build/UlnUtil.test.boc +0 -0
- package/build/UlnUtil.test.fif +0 -5873
- package/build/WorkerCore.test.boc +0 -0
- package/build/WorkerCore.test.fif +0 -5637
- package/build/ZroMinter.boc +0 -0
- package/build/ZroMinter.fif +0 -2300
- package/build/ZroWallet.boc +0 -0
- package/build/ZroWallet.fif +0 -2471
- package/src/classes/lz/Attestation.fc +0 -23
- package/src/classes/msgdata/ClaimUnaccountedPoolFunds.fc +0 -0
- package/src/classes/msgdata/InitUlnConnection.fc +0 -18
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#include "stdlib.fc";
|
|
2
|
+
#include "utils.fc";
|
|
3
|
+
|
|
4
|
+
cell _garbageFilledCell() {
|
|
5
|
+
cell garbage2 = begin_cell()
|
|
6
|
+
.store_uint256("garbage2"c)
|
|
7
|
+
.end_cell();
|
|
8
|
+
|
|
9
|
+
cell garbage3 = begin_cell()
|
|
10
|
+
.store_uint256("garbage3"c)
|
|
11
|
+
.end_cell();
|
|
12
|
+
|
|
13
|
+
return begin_cell()
|
|
14
|
+
.store_uint256("garbage"c)
|
|
15
|
+
.store_ref(garbage2)
|
|
16
|
+
.store_ref(garbage3)
|
|
17
|
+
.end_cell();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
cell _garbigify(cell $input, cell garbage) impure {
|
|
21
|
+
slice inputSlice = $input.begin_parse();
|
|
22
|
+
int numrefs = inputSlice.slice_refs();
|
|
23
|
+
|
|
24
|
+
if (numrefs <= 2) {
|
|
25
|
+
builder b = begin_cell().store_slice(inputSlice);
|
|
26
|
+
repeat (4 - numrefs) {
|
|
27
|
+
b = b.store_ref(garbage);
|
|
28
|
+
}
|
|
29
|
+
return b.end_cell();
|
|
30
|
+
} elseif (numrefs == 3) {
|
|
31
|
+
slice cutfirst = scutfirst(inputSlice, inputSlice.slice_bits(), 2);
|
|
32
|
+
builder b = begin_cell().store_slice(cutfirst);
|
|
33
|
+
slice s = inputSlice.preload_ref_at(2).begin_parse();
|
|
34
|
+
builder innerB = begin_cell().store_slice(s);
|
|
35
|
+
int innerNumRefs = s.slice_refs();
|
|
36
|
+
|
|
37
|
+
repeat (4 - innerNumRefs) {
|
|
38
|
+
innerB = innerB.store_ref(garbage);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return b.store_ref(innerB.end_cell()).store_ref(garbage).end_cell();
|
|
42
|
+
} elseif (numrefs == 4) {
|
|
43
|
+
builder b = begin_cell().store_slice(scutfirst(inputSlice, inputSlice.slice_bits(), 2));
|
|
44
|
+
slice s1 = inputSlice.preload_ref_at(2).begin_parse();
|
|
45
|
+
slice s2 = inputSlice.preload_ref_at(3).begin_parse();
|
|
46
|
+
builder innerb1 = begin_cell().store_slice(s1);
|
|
47
|
+
builder innerb2 = begin_cell().store_slice(s2);
|
|
48
|
+
int refs1 = s1.slice_refs();
|
|
49
|
+
int refs2 = s2.slice_refs();
|
|
50
|
+
|
|
51
|
+
repeat (4 - refs1) {
|
|
52
|
+
innerb1 = innerb1.store_ref(garbage);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
repeat (4 - refs2) {
|
|
56
|
+
innerb2 = innerb2.store_ref(garbage);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return b.store_ref(innerb1.end_cell()).store_ref(innerb2.end_cell()).end_cell();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
;; Should never happen as the above checks and returns from all cases
|
|
63
|
+
;; The compiler needs you to return from all possible control flows
|
|
64
|
+
;; and it isn't smart enough to know that this will never be reached.
|
|
65
|
+
~strdump("garbigify: this print should never happen");
|
|
66
|
+
return empty_cell();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
() profile_gas(var func, tuple args) {
|
|
70
|
+
int gas_consumed = get_gas_consumed();
|
|
71
|
+
int gas_consumed_consumed = get_gas_consumed();
|
|
72
|
+
int gas_consumed_of_gas_consumed = gas_consumed_consumed - gas_consumed;
|
|
73
|
+
int gas0 = get_gas_consumed();
|
|
74
|
+
var x = func(args);
|
|
75
|
+
int gas1 = get_gas_consumed();
|
|
76
|
+
~strdump("ignore this dump, this is to not optimize out");
|
|
77
|
+
~dump(x);
|
|
78
|
+
int final_gas = gas1 - gas0 - gas_consumed_of_gas_consumed;
|
|
79
|
+
~dump(final_gas);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
cell _dupWithGarbage(cell $input) {
|
|
83
|
+
return _garbigify($input, _garbageFilledCell());
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
cell headerCellGarbage(cell $input) {
|
|
87
|
+
int ind = 0;
|
|
88
|
+
slice inputSlice = $input.begin_parse();
|
|
89
|
+
builder b = begin_cell();
|
|
90
|
+
while (ind < inputSlice.slice_refs()) {
|
|
91
|
+
b = b.store_ref(inputSlice.preload_ref_at(ind));
|
|
92
|
+
ind += 1;
|
|
93
|
+
}
|
|
94
|
+
b = b.store_slice(
|
|
95
|
+
inputSlice
|
|
96
|
+
.scutfirst(min(inputSlice.slice_bits(), 512), 0))
|
|
97
|
+
.store_uint256("garbage1"c);
|
|
98
|
+
return b.end_cell();
|
|
99
|
+
}
|
package/src/funC++/utils.fc
CHANGED
|
@@ -76,13 +76,14 @@ int _SDCNTLEAD0(slice x) asm "SDCNTLEAD0";
|
|
|
76
76
|
int POW2(int y) asm "POW2";
|
|
77
77
|
|
|
78
78
|
;; numCells, num_bits
|
|
79
|
-
(int, int) getContractStateSize(cell code, cell init_storage) inline {
|
|
79
|
+
(int, int) getContractStateSize(cell code, cell init_storage) impure inline {
|
|
80
80
|
cell stateInit = begin_cell()
|
|
81
81
|
.store_uint(6, 5)
|
|
82
82
|
.store_ref(code)
|
|
83
83
|
.store_ref(init_storage)
|
|
84
84
|
.end_cell();
|
|
85
|
-
(int cellsCount, int bitsCount,
|
|
85
|
+
(int cellsCount, int bitsCount, int success) = stateInit.compute_data_size(MAX_U16);
|
|
86
|
+
throw_unless(8, success);
|
|
86
87
|
return (cellsCount, bitsCount);
|
|
87
88
|
}
|
|
88
89
|
|
|
@@ -117,3 +118,66 @@ int treeShapeEqual(cell lhs, cell rhs) inline {
|
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
int _globvarIsNull(int idx) impure asm "GETGLOBVAR ISNULL";
|
|
121
|
+
|
|
122
|
+
int _gasToNanoton(int gas) inline {
|
|
123
|
+
return get_compute_fee(false, gas);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
(cell, int) getConfigParam(int idx) inline asm "CONFIGPARAM";
|
|
127
|
+
|
|
128
|
+
;; https://github.com/ton-blockchain/ton/blob/master/crypto/block/block.tlb
|
|
129
|
+
;; gas_prices#dd gas_price:uint64 gas_limit:uint64 gas_credit:uint64
|
|
130
|
+
;; block_gas_limit:uint64 freeze_due_limit:uint64 delete_due_limit:uint64
|
|
131
|
+
;; = GasLimitsPrices;
|
|
132
|
+
;;
|
|
133
|
+
;; gas_prices_ext#de gas_price:uint64 gas_limit:uint64 special_gas_limit:uint64 gas_credit:uint64
|
|
134
|
+
;; block_gas_limit:uint64 freeze_due_limit:uint64 delete_due_limit:uint64
|
|
135
|
+
;; = GasLimitsPrices;
|
|
136
|
+
;;
|
|
137
|
+
;; gas_flat_pfx#d1 flat_gas_limit:uint64 flat_gas_price:uint64 other:GasLimitsPrices
|
|
138
|
+
;; = GasLimitsPrices;
|
|
139
|
+
;;
|
|
140
|
+
;; config_mc_gas_prices#_ GasLimitsPrices = ConfigParam 20;
|
|
141
|
+
;; config_gas_prices#_ GasLimitsPrices = ConfigParam 21;
|
|
142
|
+
;; return -1 on any failure
|
|
143
|
+
(int, int, int, int, int, int, int, int, int) parseGasLimitsPrices(int workchainId) impure {
|
|
144
|
+
int configIdx = workchainId == BASECHAIN ? 21 : 20;
|
|
145
|
+
(cell cfg, int success) = getConfigParam(configIdx);
|
|
146
|
+
ifnot (success) {
|
|
147
|
+
return (-1, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
148
|
+
}
|
|
149
|
+
slice cfgSlice = cfg.begin_parse();
|
|
150
|
+
ifnot (cfgSlice.slice_bits() >= 592) {
|
|
151
|
+
return (-1, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (
|
|
155
|
+
(cfgSlice.preload_uint(8) != 0xd1)
|
|
156
|
+
| (cfgSlice.preload_bits_offset(136, 8).preload_uint(8) != 0xde)
|
|
157
|
+
) {
|
|
158
|
+
return (-1, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
cfgSlice~load_uint8();
|
|
162
|
+
int specialGasLimit = cfgSlice~load_uint64();
|
|
163
|
+
int flatGasLimit = cfgSlice~load_uint64();
|
|
164
|
+
int flatGasPrice = cfgSlice~load_uint64();
|
|
165
|
+
cfgSlice~load_uint8();
|
|
166
|
+
int gasPrice = cfgSlice~load_uint64();
|
|
167
|
+
int gasLimit = cfgSlice~load_uint64();
|
|
168
|
+
int gasCredit = cfgSlice~load_uint64();
|
|
169
|
+
int blockGasLimit = cfgSlice~load_uint64();
|
|
170
|
+
int freezeDueLimit = cfgSlice~load_uint64();
|
|
171
|
+
int deleteDueLimit = cfgSlice~load_uint64();
|
|
172
|
+
return (
|
|
173
|
+
specialGasLimit,
|
|
174
|
+
flatGasLimit,
|
|
175
|
+
flatGasPrice,
|
|
176
|
+
gasPrice,
|
|
177
|
+
gasLimit,
|
|
178
|
+
gasCredit,
|
|
179
|
+
blockGasLimit,
|
|
180
|
+
freezeDueLimit,
|
|
181
|
+
deleteDueLimit
|
|
182
|
+
);
|
|
183
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hash": "1a9652b3a16a6fd12a1df3d44a9d24516bb82ae00306e758be7b53f8fa726261",
|
|
3
|
+
"hashBase64": "GpZSs6Fqb9EqHfPUSp0kUWu4KuADBudYvntT+PpyYmE=",
|
|
4
|
+
"hex": "b5ee9c7241021201000495000114ff00f4a413f4bcf2c80b01020162020b02cad033d0d3030171b0925f03e0fa403022d749c000925f03e002d31f0120c000925f04e001d33f01ed44d0d3ff0101d3070101d4d3070101f404d2000101d1288210f718510fbae30f054443c8500601cbff500401cb0712cc0101cb07f4000101ca00c9ed540307019e3806d3ff0128b38e122084ffba923024965305baf2e3f0e205a405de01d2000101d3070101d32f0101d4d1239126912ae2523078f40e6fa1f2e3ef1ec705f2e3ef20f823bef2e06f20f823a1546d700401d4f80703830cf94130038308f94130f8075006a18127f801a070f83681120670f836a0812bec70f836a0811d9870f836a022a60622a081053926a027a070f83823a481029827a070f838a003a60658a08106e05005a05005a0430370f83759a001a01cbef2e064f82850030502b8017002c858cf160101cbffc98822c8cb01f400f400cb00c97021f90074c8cb0212ca07cbffc9d0c882109c73fba2580a02cb1fcb3f2601cb075250cc500b01cb2f1bcc2a01ca000a951901cb07089130e2102470408980188050db3c110600928e45c85801cb055005cf165003fa0254712323ed44ed45ed479f5bc85003cf17c913775003cb6bcccced67ed65ed64747fed11987601cb6bcc01cf17ed41edf101f2ffc901fb00db06029a363826821075097f5dba8eba068210a32c59bfba8ea9f82818c705f2e06503d4d1103410364650f8007f8e8d2178f47c6fa5209132e30d01b3e65b10355034923436e2505413e30d4015503304090802e23604d3ff0101d32f0101d3070101d3ff0101d4d1f8285005017002c858cf160101cbffc98822c8cb01f400f400cb00c97001f90074c8cb0212ca07cbffc9d01bc705f2e06526f9001aba5193be19b0f2e06607f823bef2e06f44145056f8007f8e8d2178f47c6fa5209132e30d01b3e65b110901fa02d74cd0d31f01208210f1381e5bba8e6a82101d0cfbd3ba8e5e6c44d3070101d4217f708e17511278f47c6fa53221995302baf2e06702a402de01b312e66c2120c200f2e06e23c200f2e06d5330bbf2e06d01f404217f708e17511278f47c6fa53221995302baf2e06702a402de01b312e66c2130d155239130e2e30d0a001030d307d402fb00d10201200c0e0143bf74ff6a26869ff8080e9838080ea69838080fa0269000080e8881aaf8280fc11d0c0d00c2f80703830cf94130038308f94130f8075006a18127f801a070f83681120670f836a0812bec70f836a0811d9870f836a022a60622a081053926a027a070f83823a481029827a070f838a003a60658a08106e05005a05005a0430370f83759a001a00201660f1000f1b0cafb513434ffc04074c1c0407534c1c0407d01348000407448dfdc2385d4449e3d1f1be94c886654c0aebcb819c0a900b7806cc4b99b08548c2ebcb81b085fdc2385d4449e3d1f1be94c886654c0aebcb819c0a900b7806cc4b99b084c08b0803cb81b8930803cb81b5490eefcb81b40648cdfe440f880e00159b0c9fe0a00405c00b21633c5804072fff26208b232c07d003d0032c0325c007e401d3232c084b281f2fff27420110842024ebdec6e60259521d325e0baebe89b9a7901619805a4dfa624e5a3549349fcbf3e76e893"
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hash": "4ebdec6e60259521d325e0baebe89b9a7901619805a4dfa624e5a3549349fcbf",
|
|
3
|
+
"hashBase64": "Tr3sbmAllSHTJeC66+ibmnkBYZgFpN+mJOWjVJNJ/L8=",
|
|
4
|
+
"hex": "b5ee9c7241020d01000372000114ff00f4a413f4bcf2c80b01020162020c04f8d03331d0d3030171b0915be0fa403001d31f01ed44d0fa4001f861d3ff01f86220d749c0008e13306df8636df8646df8656df8666df8676df8688e22d30701f863d20001f864d401f865d3ff01f866d30701f867d32f01f868d401f869d1e220c000e30201d33f012282109c73fba2bae302028210a762230fbae3020304060b01c83020d74ac0008e23c8708e1a22d7495230d71912cf1622d74a9402d74cd093317f58e2541220e63031c9d0df840f018b7617070726f76658c705f2f420707f8e19f84578f47c6fa5209b5243c70595317f327001de9132e201b3e632f2e06af82512db3c0702fe32f84113c705f2e068f8436e8ef101d30701f86370f864d401f86570f86670f867d32f01f868f848f823bef2e06fd401f869d200018e99d30701aef84621b0f2d06bf847a4f867f84601b1f86601db3c9131e2d1f849f846f845c8f841cf16f84201cbfff84301cb07f84401ca00cccbfff84701cb07f84801cb2fccc9ed540905018ce001d30701f843baf2e069d401f900f845f900baf2e069d32f01f848baf2e069d401f900f849f900baf2e069d20001f2e069d3070101d1f845521078f40e6fa1f2e06a58db3c070136d3070101d1f845521078f40e6fa1f2e06a5230c705f2e06a59db3c07026e8f335ced44ed45ed478e983170c88210afaf283e580402cb1fcb3fcb1f80108050db3ced67ed65ed64727fed118aed41edf101f2ffdb030a0802b4f844f2d07002aef84621b0f2d06bf847a4f867f84601b1f86670c8821082609bf62402cb1fcb3f80108050db3cdb3cf849f846f845c8f841cf16f84201cbfff84301cb07f84401ca00cccbfff84701cb07f84801cb2fccc9ed540a090180f847f843ba8eb6f84170f849c8821075097f5d580502cb1fcb3ff84201cbfff84801cb2ff84701cb07f845f90001cbff13cc128010810090db3c7ff8649130e20a00888e40c85801cb055004cf1658fa02547120ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db05000c5f03840ff2f000c1a1c771da89a1f48003f0c3a7fe03f0c441ae9380011c2660dbf0c6dbf0c8dbf0cadbf0ccdbf0cedbf0d11c45a60e03f0c7a40003f0c9a803f0cba7fe03f0cda60e03f0cfa65e03f0d1a803f0d3a3c5f083f085f087f089f08bf08df08ff091f09326d3be81"
|
|
5
|
+
}
|
|
@@ -106,20 +106,23 @@ cell baseTest::prepare(tuple args) impure {
|
|
|
106
106
|
if (terminalIndices.tlen() > 1) {
|
|
107
107
|
test::throwError("Multiple terminal actions");
|
|
108
108
|
}
|
|
109
|
-
|
|
110
109
|
;; Check that the storage after running the handler matches the expected storage
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
110
|
+
if ($expectedStorage.cl::hash() != getContractStorage().cl::hash()) {
|
|
111
|
+
~strdump("Checking individual fields");
|
|
112
|
+
int wrongField = compareObjectFields(getContractStorage(), $expectedStorage);
|
|
113
|
+
if (wrongField == INVALID_CLASS_MEMBER) {
|
|
114
|
+
return (
|
|
115
|
+
TEST_FAILED,
|
|
116
|
+
"Storage and expected storage not of the same type"
|
|
117
|
+
);
|
|
118
|
+
} elseif (wrongField != -1) {
|
|
119
|
+
return (
|
|
120
|
+
TEST_FAILED,
|
|
121
|
+
"malformed field ".str::concatInt(wrongField)
|
|
122
|
+
);
|
|
123
|
+
}
|
|
122
124
|
}
|
|
125
|
+
|
|
123
126
|
if (expectedTxnContext.tlen() != txnContext.tlen()) {
|
|
124
127
|
return (TEST_FAILED, "malformed txn context");
|
|
125
128
|
}
|
package/build/AllStorages.boc
DELETED
|
Binary file
|