@tonappchain/sdk 0.7.2-scaled-ui-support-2 → 0.7.2
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/LICENSE +20 -20
- package/README.md +198 -198
- package/dist/artifacts/dev/index.d.ts +2 -2
- package/dist/artifacts/dev/index.js +2 -1
- package/dist/artifacts/dev/tac/endpoints.d.ts +1 -0
- package/dist/artifacts/dev/tac/endpoints.js +2 -1
- package/dist/artifacts/dev/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/build/Settings.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.d.ts +53 -6
- package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.js +130 -17
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.d.ts +2 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.js +3 -1
- package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.d.ts +9 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.js +10 -1
- package/dist/artifacts/dev/ton/internal/wrappers/JettonWallet.d.ts +7 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonWallet.js +9 -2
- package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.d.ts +9 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.js +9 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.d.ts +7 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.js +7 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.d.ts +7 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.js +8 -1
- package/dist/artifacts/dev/ton/internal/wrappers/Settings.d.ts +1 -0
- package/dist/artifacts/dev/ton/internal/wrappers/Settings.js +1 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/CrossChainLayerPayload.d.ts +10 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/CrossChainLayerPayload.js +24 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.d.ts +2 -1
- package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.js +9 -1
- package/dist/artifacts/mainnet/index.d.ts +2 -2
- package/dist/artifacts/mainnet/index.js +2 -1
- package/dist/artifacts/mainnet/tac/endpoints.d.ts +1 -0
- package/dist/artifacts/mainnet/tac/endpoints.js +2 -1
- package/dist/artifacts/mainnet/ton/endpoints.d.ts +1 -1
- package/dist/artifacts/mainnet/ton/endpoints.js +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonMinter.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.d.ts +1 -13
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.js +7 -45
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.d.ts +2 -2
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.js +2 -2
- package/dist/artifacts/testnet/index.d.ts +2 -2
- package/dist/artifacts/testnet/index.js +2 -1
- package/dist/artifacts/testnet/tac/endpoints.d.ts +1 -0
- package/dist/artifacts/testnet/tac/endpoints.js +2 -1
- package/dist/artifacts/testnet/ton/endpoints.d.ts +1 -1
- package/dist/artifacts/testnet/ton/endpoints.js +1 -1
- package/dist/artifacts/testnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/Settings.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.d.ts +53 -6
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.js +130 -17
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.d.ts +2 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.js +3 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.d.ts +9 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.js +10 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.d.ts +7 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.js +9 -2
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.d.ts +9 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.js +9 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.d.ts +7 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.js +7 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.d.ts +7 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.js +8 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/Settings.d.ts +1 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/Settings.js +1 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/CrossChainLayerPayload.d.ts +10 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/CrossChainLayerPayload.js +24 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +2 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.js +9 -1
- package/dist/src/adapters/BaseContractOpener.d.ts +76 -0
- package/dist/src/adapters/BaseContractOpener.js +440 -0
- package/dist/src/adapters/LiteClientOpener.d.ts +38 -0
- package/dist/src/adapters/LiteClientOpener.js +141 -0
- package/dist/src/adapters/OpenerUtils.d.ts +3 -0
- package/dist/src/adapters/OpenerUtils.js +40 -0
- package/dist/src/adapters/RetryableContractOpener.d.ts +40 -0
- package/dist/src/adapters/RetryableContractOpener.js +290 -0
- package/dist/src/adapters/SandboxOpener.d.ts +15 -0
- package/dist/src/adapters/SandboxOpener.js +35 -0
- package/dist/src/adapters/TonClient4Opener.d.ts +24 -0
- package/dist/src/adapters/TonClient4Opener.js +95 -0
- package/dist/src/adapters/TonClientOpener.d.ts +19 -0
- package/dist/src/adapters/TonClientOpener.js +82 -0
- package/dist/src/adapters/index.d.ts +7 -2
- package/dist/src/adapters/index.js +7 -2
- package/dist/src/assets/AssetCache.d.ts +8 -8
- package/dist/src/assets/AssetCache.js +3 -0
- package/dist/src/assets/AssetFactory.js +8 -2
- package/dist/src/assets/FT.d.ts +2 -3
- package/dist/src/assets/FT.js +4 -7
- package/dist/src/assets/NFT.d.ts +1 -1
- package/dist/src/assets/NFT.js +1 -1
- package/dist/src/assets/TON.d.ts +3 -2
- package/dist/src/assets/TON.js +2 -1
- package/dist/src/errors/errors.d.ts +12 -1
- package/dist/src/errors/errors.js +66 -2
- package/dist/src/errors/index.d.ts +2 -2
- package/dist/src/errors/index.js +4 -1
- package/dist/src/errors/instances.d.ts +7 -2
- package/dist/src/errors/instances.js +67 -2
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +6 -4
- package/dist/src/interfaces/Asset.d.ts +4 -9
- package/dist/src/interfaces/ContractOpener.d.ts +76 -2
- package/dist/src/interfaces/IOperationTracker.d.ts +22 -22
- package/dist/src/interfaces/ISimulator.d.ts +9 -1
- package/dist/src/interfaces/ITONTransactionManager.d.ts +20 -1
- package/dist/src/interfaces/ITacExplorerClient.d.ts +8 -0
- package/dist/src/interfaces/ITacExplorerClient.js +2 -0
- package/dist/src/interfaces/ITacSDK.d.ts +25 -1
- package/dist/src/interfaces/ITxFinalizer.d.ts +4 -0
- package/dist/src/interfaces/ITxFinalizer.js +2 -0
- package/dist/src/interfaces/WalletInstanse.d.ts +4 -8
- package/dist/src/interfaces/index.d.ts +1 -0
- package/dist/src/interfaces/index.js +1 -0
- package/dist/src/sdk/Configuration.d.ts +5 -3
- package/dist/src/sdk/Configuration.js +54 -7
- package/dist/src/sdk/Consts.d.ts +18 -1
- package/dist/src/sdk/Consts.js +21 -2
- package/dist/src/sdk/Fees.d.ts +21 -0
- package/dist/src/sdk/Fees.js +201 -0
- package/dist/src/sdk/LiteSequencerClient.d.ts +1 -0
- package/dist/src/sdk/LiteSequencerClient.js +39 -17
- package/dist/src/sdk/OperationTracker.d.ts +11 -11
- package/dist/src/sdk/OperationTracker.js +46 -94
- package/dist/src/sdk/Simulator.d.ts +10 -2
- package/dist/src/sdk/Simulator.js +102 -0
- package/dist/src/sdk/StartTracking.d.ts +12 -7
- package/dist/src/sdk/StartTracking.js +75 -49
- package/dist/src/sdk/TONTransactionManager.d.ts +5 -4
- package/dist/src/sdk/TONTransactionManager.js +63 -8
- package/dist/src/sdk/TacExplorerClient.d.ts +8 -0
- package/dist/src/sdk/TacExplorerClient.js +22 -0
- package/dist/src/sdk/TacSdk.d.ts +8 -2
- package/dist/src/sdk/TacSdk.js +27 -4
- package/dist/src/sdk/TxFinalizer.d.ts +4 -3
- package/dist/src/sdk/TxFinalizer.js +41 -41
- package/dist/src/sdk/Utils.d.ts +20 -1
- package/dist/src/sdk/Utils.js +158 -10
- package/dist/src/sender/BatchSender.js +19 -0
- package/dist/src/sender/MockSender.d.ts +2 -0
- package/dist/src/sender/MockSender.js +13 -0
- package/dist/src/sender/RawSender.js +34 -1
- package/dist/src/sender/SenderFactory.js +1 -1
- package/dist/src/sender/TonConnectSender.js +2 -0
- package/dist/src/sender/index.d.ts +1 -0
- package/dist/src/sender/index.js +1 -0
- package/dist/src/structs/InternalStruct.d.ts +98 -4
- package/dist/src/structs/Struct.d.ts +183 -7
- package/dist/src/structs/Struct.js +4 -3
- package/dist/src/wrappers/HighloadWalletV3.d.ts +5 -3
- package/dist/src/wrappers/HighloadWalletV3.js +14 -3
- package/package.json +121 -117
- package/dist/src/adapters/contractOpener.d.ts +0 -20
- package/dist/src/adapters/contractOpener.js +0 -126
- package/dist/src/adapters/retryableContractOpener.d.ts +0 -24
- package/dist/src/adapters/retryableContractOpener.js +0 -111
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender, Slice } from '@ton/core';
|
|
2
2
|
import { StorageStats } from './utils/GasUtils';
|
|
3
3
|
import { MerkleRoot } from './utils/MerkleRoots';
|
|
4
|
+
import { CrossChainLayerPayload } from './utils/CrossChainLayerPayload';
|
|
4
5
|
export type CrossChainLayerConfig = {
|
|
5
6
|
adminAddress: string;
|
|
6
7
|
newAdminAddress?: string;
|
|
@@ -17,6 +18,8 @@ export type CrossChainLayerConfig = {
|
|
|
17
18
|
tacProtocolFee?: number;
|
|
18
19
|
protocolFeeSupply?: number;
|
|
19
20
|
executorCode: Cell;
|
|
21
|
+
stakingAdapterAddress?: string;
|
|
22
|
+
stakedTonSupply?: number;
|
|
20
23
|
};
|
|
21
24
|
export type EpochInfo = {
|
|
22
25
|
lastMerkleRoot: bigint;
|
|
@@ -32,6 +35,10 @@ export type ExecutorData = {
|
|
|
32
35
|
address: Address;
|
|
33
36
|
stateInit: Cell;
|
|
34
37
|
};
|
|
38
|
+
export type StakingInfo = {
|
|
39
|
+
stakingAdapterAddress: Address;
|
|
40
|
+
stakedTonSupply: bigint;
|
|
41
|
+
};
|
|
35
42
|
export declare enum MsgType {
|
|
36
43
|
tonTransfer = 1255570643,
|
|
37
44
|
jettonTransfer = 688302850,
|
|
@@ -41,14 +48,14 @@ export declare enum MsgType {
|
|
|
41
48
|
}
|
|
42
49
|
export declare const CrossChainLayerOpCodes: {
|
|
43
50
|
anyone_tvmMsgToEVM: number;
|
|
44
|
-
|
|
51
|
+
anyone_tvmMsgToEvmErrorNotification: number;
|
|
45
52
|
anyone_excesses: number;
|
|
46
53
|
anyone_addProtocolFee: number;
|
|
47
54
|
anyone_collectProtocolFee: number;
|
|
48
55
|
anyone_collectProtocolFeeNotification: number;
|
|
49
56
|
executor_evmMsgToTVM: number;
|
|
50
|
-
executor_revertSpentParam: number;
|
|
51
57
|
executor_errorNotification: number;
|
|
58
|
+
executor_evmMsgToTvmErrorNotification: number;
|
|
52
59
|
admin_changeAdminAddress: number;
|
|
53
60
|
admin_cancelChangingAdminAddress: number;
|
|
54
61
|
admin_updateCode: number;
|
|
@@ -56,28 +63,44 @@ export declare const CrossChainLayerOpCodes: {
|
|
|
56
63
|
admin_updateEpochDelay: number;
|
|
57
64
|
admin_updateTonProtocolFee: number;
|
|
58
65
|
admin_updateTacProtocolFee: number;
|
|
66
|
+
admin_changeStakingAdapterAddress: number;
|
|
67
|
+
admin_stake: number;
|
|
68
|
+
admin_unstake: number;
|
|
59
69
|
newAdmin_confirmChangingAdminAddress: number;
|
|
60
70
|
sequencerMultisig_changeSequencerMultisigAddress: number;
|
|
61
71
|
sequencerMultisig_updateMerkleRoot: number;
|
|
62
72
|
sequencerMultisig_updateGroupPublicKey: number;
|
|
73
|
+
stakingAdapter_manualUnstakeRequest: number;
|
|
74
|
+
stakingAdapter_automaticUnstakeRequest: number;
|
|
75
|
+
stakingAdapter_stakeRequest: number;
|
|
76
|
+
stakingAdapter_reportUnstakeResult: number;
|
|
77
|
+
stakingAdapter_reportUnstakeResultError: number;
|
|
78
|
+
jettonMinter_mint: number;
|
|
79
|
+
jettonWallet_transferNotification: number;
|
|
80
|
+
jettonWallet_burn: number;
|
|
63
81
|
};
|
|
64
82
|
export declare const CrossChainLayerErrors: {
|
|
65
83
|
noErrors: number;
|
|
84
|
+
invalidSenderSignature: number;
|
|
66
85
|
systemNotEnoughTon: number;
|
|
67
86
|
notFromAdmin: number;
|
|
68
87
|
notFromExecutor: number;
|
|
69
88
|
notFromSequencerMultisig: number;
|
|
70
89
|
notFromNewAdmin: number;
|
|
90
|
+
notFromStakingAdapter: number;
|
|
71
91
|
newAdminAddressIsNone: number;
|
|
72
92
|
notEnoughTon: number;
|
|
73
93
|
insufficientBalance: number;
|
|
94
|
+
insufficientStakedBalance: number;
|
|
74
95
|
zeroFeeSupply: number;
|
|
75
96
|
invalidProof: number;
|
|
76
97
|
votingNotActive: number;
|
|
77
98
|
messageCollectEndTimeLow: number;
|
|
78
99
|
notEnoughProtocolFee: number;
|
|
79
100
|
messageCollectEndTimeHigh: number;
|
|
80
|
-
|
|
101
|
+
feeCalculationUnsupported: number;
|
|
102
|
+
stakeAmountTooHigh: number;
|
|
103
|
+
unstakeAmountTooHigh: number;
|
|
81
104
|
unknownOp: number;
|
|
82
105
|
};
|
|
83
106
|
export declare function crossChainLayerConfigToCell(config: CrossChainLayerConfig): Cell;
|
|
@@ -87,9 +110,14 @@ export declare class CrossChainLayer implements Contract {
|
|
|
87
110
|
code: Cell;
|
|
88
111
|
data: Cell;
|
|
89
112
|
} | undefined;
|
|
113
|
+
static tvmMsgToEvmGasConsumption: bigint;
|
|
114
|
+
static feeMinterGasConsumption: bigint;
|
|
115
|
+
static collectionMintGasConsumption: bigint;
|
|
90
116
|
static minStorageDuration: number;
|
|
91
117
|
static storageStats: StorageStats;
|
|
92
118
|
static addFeeGasConsumption: bigint;
|
|
119
|
+
static reserveFee: bigint;
|
|
120
|
+
static reportUnstakeResultGasConsumption: bigint;
|
|
93
121
|
constructor(address: Address, init?: {
|
|
94
122
|
code: Cell;
|
|
95
123
|
data: Cell;
|
|
@@ -114,7 +142,7 @@ export declare class CrossChainLayer implements Contract {
|
|
|
114
142
|
}): Promise<void>;
|
|
115
143
|
sendErrorNotification(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
116
144
|
queryId?: number;
|
|
117
|
-
|
|
145
|
+
operationId: bigint;
|
|
118
146
|
responseAddress: Address;
|
|
119
147
|
}): Promise<void>;
|
|
120
148
|
sendUpdateGroupPublicKey(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
@@ -168,9 +196,28 @@ export declare class CrossChainLayer implements Contract {
|
|
|
168
196
|
queryId?: number;
|
|
169
197
|
code: Cell;
|
|
170
198
|
}): Promise<void>;
|
|
199
|
+
sendExcesses(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
|
|
200
|
+
sendChangeStakingAdapter(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
201
|
+
queryId?: number;
|
|
202
|
+
stakingAdapterAddress: string;
|
|
203
|
+
}): Promise<void>;
|
|
204
|
+
sendStake(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
205
|
+
queryId?: number;
|
|
206
|
+
stakeAmount: number | bigint;
|
|
207
|
+
}): Promise<void>;
|
|
208
|
+
sendUnstake(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
209
|
+
queryId?: number;
|
|
210
|
+
unstakeAmount: number | bigint;
|
|
211
|
+
}): Promise<void>;
|
|
212
|
+
sendReportUnstakeResult(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
213
|
+
queryId?: number;
|
|
214
|
+
payload: CrossChainLayerPayload;
|
|
215
|
+
}): Promise<void>;
|
|
171
216
|
getFullData(provider: ContractProvider): Promise<CrossChainLayerConfig>;
|
|
172
217
|
getCurrentEpochInfo(provider: ContractProvider): Promise<EpochInfo>;
|
|
173
|
-
|
|
174
|
-
|
|
218
|
+
getStakingInfo(provider: ContractProvider): Promise<StakingInfo>;
|
|
219
|
+
getExecutorAddress(provider: ContractProvider, operationId: bigint): Promise<Address>;
|
|
220
|
+
getStorageFee(provider: ContractProvider, merkleRoots: Cell): Promise<bigint>;
|
|
221
|
+
getExecutorData(provider: ContractProvider, operationId: bigint): Promise<ExecutorData>;
|
|
175
222
|
getEvmMsgToTvmFees(provider: ContractProvider, payload: Cell, proofBits: bigint, proofCells: bigint, executorFeeAmount: bigint, executorFeeToken: Address): Promise<bigint>;
|
|
176
223
|
}
|
|
@@ -7,6 +7,7 @@ const crypto_1 = require("@ton/crypto");
|
|
|
7
7
|
const Constants_1 = require("./Constants");
|
|
8
8
|
const GasUtils_1 = require("./utils/GasUtils");
|
|
9
9
|
const MerkleRoots_1 = require("./utils/MerkleRoots");
|
|
10
|
+
const CrossChainLayerPayload_1 = require("./utils/CrossChainLayerPayload");
|
|
10
11
|
var MsgType;
|
|
11
12
|
(function (MsgType) {
|
|
12
13
|
MsgType[MsgType["tonTransfer"] = 1255570643] = "tonTransfer";
|
|
@@ -17,43 +18,59 @@ var MsgType;
|
|
|
17
18
|
})(MsgType || (exports.MsgType = MsgType = {}));
|
|
18
19
|
exports.CrossChainLayerOpCodes = {
|
|
19
20
|
anyone_tvmMsgToEVM: 0x6c582059,
|
|
20
|
-
|
|
21
|
+
anyone_tvmMsgToEvmErrorNotification: 0xae7df95b,
|
|
21
22
|
anyone_excesses: 0xd53276db,
|
|
22
23
|
anyone_addProtocolFee: 0x48e660b5,
|
|
23
24
|
anyone_collectProtocolFee: 0x1f95f86c,
|
|
24
25
|
anyone_collectProtocolFeeNotification: 0xf358b6d0,
|
|
25
|
-
executor_evmMsgToTVM:
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
executor_evmMsgToTVM: 0x497dae1d,
|
|
27
|
+
executor_errorNotification: 0xcda6f261,
|
|
28
|
+
executor_evmMsgToTvmErrorNotification: 0x86f27385,
|
|
28
29
|
admin_changeAdminAddress: 0x581879bc,
|
|
29
30
|
admin_cancelChangingAdminAddress: 0x60094a1b,
|
|
30
|
-
admin_updateCode:
|
|
31
|
+
admin_updateCode: 0x6e7145f9,
|
|
31
32
|
admin_updateExecutorCode: 0x7ee5a6d0,
|
|
32
33
|
admin_updateEpochDelay: 0xe97250b7,
|
|
33
34
|
admin_updateTonProtocolFee: 0x063199b7,
|
|
34
35
|
admin_updateTacProtocolFee: 0x3531465c,
|
|
36
|
+
admin_changeStakingAdapterAddress: 0x74db6fbd,
|
|
37
|
+
admin_stake: 0x149c7a93,
|
|
38
|
+
admin_unstake: 0x461d3038,
|
|
35
39
|
newAdmin_confirmChangingAdminAddress: 0x6a4fbe34,
|
|
36
40
|
sequencerMultisig_changeSequencerMultisigAddress: 0x5cec6be0,
|
|
37
41
|
sequencerMultisig_updateMerkleRoot: 0x4b19e42a,
|
|
38
42
|
sequencerMultisig_updateGroupPublicKey: 0x74cd76b2,
|
|
43
|
+
stakingAdapter_manualUnstakeRequest: 0x0659627f,
|
|
44
|
+
stakingAdapter_automaticUnstakeRequest: 0x3c497a61,
|
|
45
|
+
stakingAdapter_stakeRequest: 0x58d9b21b,
|
|
46
|
+
stakingAdapter_reportUnstakeResult: 0x46a47169,
|
|
47
|
+
stakingAdapter_reportUnstakeResultError: 0x49e26543,
|
|
48
|
+
jettonMinter_mint: 0xd7b9c06e,
|
|
49
|
+
jettonWallet_transferNotification: 0x7362d09c,
|
|
50
|
+
jettonWallet_burn: 0x595f07bc,
|
|
39
51
|
};
|
|
40
52
|
exports.CrossChainLayerErrors = {
|
|
41
53
|
noErrors: 0,
|
|
54
|
+
invalidSenderSignature: 32,
|
|
42
55
|
systemNotEnoughTon: 37,
|
|
43
56
|
notFromAdmin: 70,
|
|
44
57
|
notFromExecutor: 71,
|
|
45
58
|
notFromSequencerMultisig: 72,
|
|
46
59
|
notFromNewAdmin: 73,
|
|
60
|
+
notFromStakingAdapter: 74,
|
|
47
61
|
newAdminAddressIsNone: 80,
|
|
48
62
|
notEnoughTon: 100,
|
|
49
63
|
insufficientBalance: 101,
|
|
64
|
+
insufficientStakedBalance: 102,
|
|
50
65
|
zeroFeeSupply: 200,
|
|
51
66
|
invalidProof: 201,
|
|
52
67
|
votingNotActive: 202,
|
|
53
68
|
messageCollectEndTimeLow: 203,
|
|
54
69
|
notEnoughProtocolFee: 204,
|
|
55
70
|
messageCollectEndTimeHigh: 205,
|
|
56
|
-
|
|
71
|
+
feeCalculationUnsupported: 206,
|
|
72
|
+
stakeAmountTooHigh: 207,
|
|
73
|
+
unstakeAmountTooHigh: 208,
|
|
57
74
|
unknownOp: 0xfffff,
|
|
58
75
|
};
|
|
59
76
|
function crossChainLayerConfigToCell(config) {
|
|
@@ -62,14 +79,14 @@ function crossChainLayerConfigToCell(config) {
|
|
|
62
79
|
.storeAddress(config.newAdminAddress ? core_1.Address.parse(config.newAdminAddress) : null)
|
|
63
80
|
.storeAddress(core_1.Address.parse(config.sequencerMultisigAddress))
|
|
64
81
|
.storeRef((0, core_1.beginCell)()
|
|
65
|
-
.storeUint(config.groupPublicKey ? config.groupPublicKey : 0n, Constants_1.Params.bitsize.hash)
|
|
66
|
-
.endCell())
|
|
67
|
-
.storeRef((0, core_1.beginCell)()
|
|
68
82
|
.storeCoins(config.tacProtocolFee ? (0, core_1.toNano)(config.tacProtocolFee.toFixed(9)) : 0)
|
|
69
83
|
.storeCoins(config.tonProtocolFee ? (0, core_1.toNano)(config.tonProtocolFee.toFixed(9)) : 0)
|
|
70
84
|
.storeCoins(config.protocolFeeSupply ? (0, core_1.toNano)(config.protocolFeeSupply.toFixed(9)) : 0)
|
|
71
85
|
.endCell())
|
|
86
|
+
.storeRef((0, core_1.beginCell)()
|
|
87
|
+
.storeUint(config.groupPublicKey ? config.groupPublicKey : 0n, Constants_1.Params.bitsize.hash)
|
|
72
88
|
.storeRef(config.executorCode)
|
|
89
|
+
.endCell())
|
|
73
90
|
.storeRef((0, core_1.beginCell)()
|
|
74
91
|
.storeUint(config.epochDelay, Constants_1.Params.bitsize.time)
|
|
75
92
|
.storeUint(config.prevEpoch ? config.prevEpoch : 0, Constants_1.Params.bitsize.time)
|
|
@@ -77,7 +94,11 @@ function crossChainLayerConfigToCell(config) {
|
|
|
77
94
|
.storeUint(config.messageCollectEndTime ? config.messageCollectEndTime : 0, Constants_1.Params.bitsize.time)
|
|
78
95
|
.storeUint(config.nextVotingTime ? config.nextVotingTime : 0, Constants_1.Params.bitsize.time)
|
|
79
96
|
.storeUint(config.maxRootsSize, 4)
|
|
80
|
-
.storeDict((0, MerkleRoots_1.
|
|
97
|
+
.storeDict((0, MerkleRoots_1.arrayToDict)(config.merkleRoots ?? []))
|
|
98
|
+
.endCell())
|
|
99
|
+
.storeRef((0, core_1.beginCell)()
|
|
100
|
+
.storeAddress(config.stakingAdapterAddress ? core_1.Address.parse(config.stakingAdapterAddress) : null)
|
|
101
|
+
.storeCoins(config.stakedTonSupply ? (0, core_1.toNano)(config.stakedTonSupply.toFixed(9)) : 0)
|
|
81
102
|
.endCell())
|
|
82
103
|
.endCell();
|
|
83
104
|
}
|
|
@@ -137,7 +158,7 @@ class CrossChainLayer {
|
|
|
137
158
|
body: (0, core_1.beginCell)()
|
|
138
159
|
.storeUint(exports.CrossChainLayerOpCodes.executor_errorNotification, 32)
|
|
139
160
|
.storeUint(opts.queryId || 0, 64)
|
|
140
|
-
.
|
|
161
|
+
.storeUint(opts.operationId, Constants_1.Params.bitsize.hash)
|
|
141
162
|
.storeAddress(opts.responseAddress)
|
|
142
163
|
.endCell(),
|
|
143
164
|
});
|
|
@@ -288,6 +309,71 @@ class CrossChainLayer {
|
|
|
288
309
|
.endCell(),
|
|
289
310
|
});
|
|
290
311
|
}
|
|
312
|
+
async sendExcesses(provider, via, value) {
|
|
313
|
+
await provider.internal(via, {
|
|
314
|
+
value,
|
|
315
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
316
|
+
body: (0, core_1.beginCell)().endCell(),
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
async sendChangeStakingAdapter(provider, via, value, opts) {
|
|
320
|
+
await provider.internal(via, {
|
|
321
|
+
value,
|
|
322
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
323
|
+
body: (0, core_1.beginCell)()
|
|
324
|
+
.storeUint(exports.CrossChainLayerOpCodes.admin_changeStakingAdapterAddress, Constants_1.Params.bitsize.op)
|
|
325
|
+
.storeUint(opts.queryId || 0, Constants_1.Params.bitsize.queryId)
|
|
326
|
+
.storeAddress(core_1.Address.parse(opts.stakingAdapterAddress))
|
|
327
|
+
.endCell(),
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
async sendStake(provider, via, value, opts) {
|
|
331
|
+
let stakeAmount;
|
|
332
|
+
if (typeof opts.stakeAmount === 'bigint') {
|
|
333
|
+
stakeAmount = opts.stakeAmount;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
stakeAmount = (0, core_1.toNano)(opts.stakeAmount.toFixed(9));
|
|
337
|
+
}
|
|
338
|
+
await provider.internal(via, {
|
|
339
|
+
value,
|
|
340
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
341
|
+
body: (0, core_1.beginCell)()
|
|
342
|
+
.storeUint(exports.CrossChainLayerOpCodes.admin_stake, Constants_1.Params.bitsize.op)
|
|
343
|
+
.storeUint(opts.queryId || 0, Constants_1.Params.bitsize.queryId)
|
|
344
|
+
.storeCoins(stakeAmount)
|
|
345
|
+
.endCell(),
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
async sendUnstake(provider, via, value, opts) {
|
|
349
|
+
let unstakeAmount;
|
|
350
|
+
if (typeof opts.unstakeAmount === 'bigint') {
|
|
351
|
+
unstakeAmount = opts.unstakeAmount;
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
unstakeAmount = (0, core_1.toNano)(opts.unstakeAmount.toFixed(9));
|
|
355
|
+
}
|
|
356
|
+
await provider.internal(via, {
|
|
357
|
+
value,
|
|
358
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
359
|
+
body: (0, core_1.beginCell)()
|
|
360
|
+
.storeUint(exports.CrossChainLayerOpCodes.admin_unstake, Constants_1.Params.bitsize.op)
|
|
361
|
+
.storeUint(opts.queryId || 0, Constants_1.Params.bitsize.queryId)
|
|
362
|
+
.storeCoins(unstakeAmount)
|
|
363
|
+
.endCell(),
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
async sendReportUnstakeResult(provider, via, value, opts) {
|
|
367
|
+
await provider.internal(via, {
|
|
368
|
+
value,
|
|
369
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
370
|
+
body: (0, core_1.beginCell)()
|
|
371
|
+
.storeUint(exports.CrossChainLayerOpCodes.stakingAdapter_reportUnstakeResult, Constants_1.Params.bitsize.op)
|
|
372
|
+
.storeUint(opts.queryId || 0, Constants_1.Params.bitsize.queryId)
|
|
373
|
+
.storeMaybeRef((0, CrossChainLayerPayload_1.CrossChainLayerPayloadToCell)(opts.payload))
|
|
374
|
+
.endCell(),
|
|
375
|
+
});
|
|
376
|
+
}
|
|
291
377
|
async getFullData(provider) {
|
|
292
378
|
const result = await provider.get('get_full_data', []);
|
|
293
379
|
const adminAddress = result.stack.readAddress().toString();
|
|
@@ -305,6 +391,12 @@ class CrossChainLayer {
|
|
|
305
391
|
const protocolFeeSupply = Number((0, core_1.fromNano)(result.stack.readNumber()));
|
|
306
392
|
const executorCode = result.stack.readCell();
|
|
307
393
|
const groupPublicKey = result.stack.readBigNumber();
|
|
394
|
+
let stakingAdapterAddress;
|
|
395
|
+
let stakedTonSupply;
|
|
396
|
+
if (result.stack.remaining > 0) {
|
|
397
|
+
stakingAdapterAddress = result.stack.readAddressOpt()?.toString();
|
|
398
|
+
stakedTonSupply = Number((0, core_1.fromNano)(result.stack.readBigNumber()));
|
|
399
|
+
}
|
|
308
400
|
return {
|
|
309
401
|
adminAddress,
|
|
310
402
|
newAdminAddress,
|
|
@@ -321,6 +413,8 @@ class CrossChainLayer {
|
|
|
321
413
|
tonProtocolFee,
|
|
322
414
|
protocolFeeSupply,
|
|
323
415
|
executorCode,
|
|
416
|
+
stakingAdapterAddress,
|
|
417
|
+
stakedTonSupply,
|
|
324
418
|
};
|
|
325
419
|
}
|
|
326
420
|
async getCurrentEpochInfo(provider) {
|
|
@@ -344,12 +438,25 @@ class CrossChainLayer {
|
|
|
344
438
|
groupPublicKey,
|
|
345
439
|
};
|
|
346
440
|
}
|
|
347
|
-
async
|
|
348
|
-
const result = await provider.get('
|
|
441
|
+
async getStakingInfo(provider) {
|
|
442
|
+
const result = await provider.get('get_staking_info', []);
|
|
443
|
+
const stakingAdapterAddress = result.stack.readAddress();
|
|
444
|
+
const stakedTonSupply = result.stack.readBigNumber();
|
|
445
|
+
return {
|
|
446
|
+
stakingAdapterAddress,
|
|
447
|
+
stakedTonSupply,
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
async getExecutorAddress(provider, operationId) {
|
|
451
|
+
const result = await provider.get('get_executor_address', [{ type: 'int', value: operationId }]);
|
|
349
452
|
return result.stack.readAddress();
|
|
350
453
|
}
|
|
351
|
-
async
|
|
352
|
-
const result = await provider.get('
|
|
454
|
+
async getStorageFee(provider, merkleRoots) {
|
|
455
|
+
const result = await provider.get('get_ccl_storage_fee', [{ type: 'cell', cell: merkleRoots }]);
|
|
456
|
+
return result.stack.readBigNumber();
|
|
457
|
+
}
|
|
458
|
+
async getExecutorData(provider, operationId) {
|
|
459
|
+
const result = await provider.get('get_executor_data', [{ type: 'int', value: operationId }]);
|
|
353
460
|
const address = result.stack.readAddress();
|
|
354
461
|
const stateInit = result.stack.readCell();
|
|
355
462
|
return {
|
|
@@ -369,6 +476,12 @@ class CrossChainLayer {
|
|
|
369
476
|
}
|
|
370
477
|
}
|
|
371
478
|
exports.CrossChainLayer = CrossChainLayer;
|
|
479
|
+
CrossChainLayer.tvmMsgToEvmGasConsumption = 15505n;
|
|
480
|
+
CrossChainLayer.feeMinterGasConsumption = 9904n;
|
|
481
|
+
CrossChainLayer.collectionMintGasConsumption = 9018n;
|
|
372
482
|
CrossChainLayer.minStorageDuration = 365 * 24 * 3600; //1 year
|
|
373
|
-
CrossChainLayer.storageStats = new GasUtils_1.StorageStats(
|
|
374
|
-
|
|
483
|
+
CrossChainLayer.storageStats = new GasUtils_1.StorageStats(49195n, 102n);
|
|
484
|
+
// Gas consumption constants from contracts/imports/precompiled_gas_const/ccl_gas_utils.fc
|
|
485
|
+
CrossChainLayer.addFeeGasConsumption = 8429n;
|
|
486
|
+
CrossChainLayer.reserveFee = 100n;
|
|
487
|
+
CrossChainLayer.reportUnstakeResultGasConsumption = 13170n;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/ton';
|
|
2
2
|
import { Maybe } from '@ton/core/dist/utils/maybe';
|
|
3
|
+
import { StorageStats } from './utils/GasUtils';
|
|
3
4
|
export declare const JettonMinterOpCodes: {
|
|
4
5
|
mint: number;
|
|
5
6
|
changeAdmin: number;
|
|
@@ -39,6 +40,7 @@ export declare class JettonMinter implements Contract {
|
|
|
39
40
|
code: Cell;
|
|
40
41
|
data: Cell;
|
|
41
42
|
} | undefined;
|
|
43
|
+
static storageStats: StorageStats;
|
|
42
44
|
constructor(address: Address, init?: {
|
|
43
45
|
code: Cell;
|
|
44
46
|
data: Cell;
|
|
@@ -6,6 +6,7 @@ exports.jettonMinterConfigToCell = jettonMinterConfigToCell;
|
|
|
6
6
|
const ton_1 = require("@ton/ton");
|
|
7
7
|
const CrossChainLayer_1 = require("./CrossChainLayer");
|
|
8
8
|
const Constants_1 = require("./Constants");
|
|
9
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
9
10
|
exports.JettonMinterOpCodes = {
|
|
10
11
|
mint: 0xd7b9c06e,
|
|
11
12
|
changeAdmin: 0x581879bc,
|
|
@@ -58,7 +59,7 @@ class JettonMinter {
|
|
|
58
59
|
value,
|
|
59
60
|
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
60
61
|
body: (0, ton_1.beginCell)()
|
|
61
|
-
.storeUint(CrossChainLayer_1.CrossChainLayerOpCodes.
|
|
62
|
+
.storeUint(CrossChainLayer_1.CrossChainLayerOpCodes.anyone_tvmMsgToEvmErrorNotification, 32)
|
|
62
63
|
.storeUint(params.queryId || 0, 64)
|
|
63
64
|
.storeUint(params.operation || CrossChainLayer_1.MsgType.jettonBurn, 32)
|
|
64
65
|
.storeAddress(params.jettonOwnerAddress)
|
|
@@ -207,3 +208,4 @@ class JettonMinter {
|
|
|
207
208
|
}
|
|
208
209
|
}
|
|
209
210
|
exports.JettonMinter = JettonMinter;
|
|
211
|
+
JettonMinter.storageStats = new GasUtils_1.StorageStats(10208n, 28n);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
|
|
2
|
+
import { StorageStats } from './utils/GasUtils';
|
|
2
3
|
export type JettonProxyConfig = {
|
|
3
4
|
crossChainLayerAddress: string;
|
|
4
5
|
adminAddress: string;
|
|
@@ -31,6 +32,14 @@ export declare class JettonProxy implements Contract {
|
|
|
31
32
|
code: Cell;
|
|
32
33
|
data: Cell;
|
|
33
34
|
} | undefined;
|
|
35
|
+
static estimatedJettonWalletCells: bigint;
|
|
36
|
+
static estimatedJettonWalletBits: bigint;
|
|
37
|
+
static storageStats: StorageStats;
|
|
38
|
+
static msgToTvmGasConsumption: bigint;
|
|
39
|
+
static errorNotificationGasConsumption: bigint;
|
|
40
|
+
static transferNotificationGasConsumption: bigint;
|
|
41
|
+
static estimatedReceiveTransferGasConsumption: bigint;
|
|
42
|
+
static estimatedSendTransferGasConsumption: bigint;
|
|
34
43
|
constructor(address: Address, init?: {
|
|
35
44
|
code: Cell;
|
|
36
45
|
data: Cell;
|
|
@@ -5,6 +5,7 @@ exports.jettonProxyConfigToCell = jettonProxyConfigToCell;
|
|
|
5
5
|
const core_1 = require("@ton/core");
|
|
6
6
|
const CrossChainLayer_1 = require("./CrossChainLayer");
|
|
7
7
|
const Constants_1 = require("./Constants");
|
|
8
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
8
9
|
exports.JettonProxyOpCodes = {
|
|
9
10
|
jettonWallet_transfer: 0xf8a7ea5,
|
|
10
11
|
jettonWallet_transferNotification: 0x7362d09c,
|
|
@@ -13,7 +14,7 @@ exports.JettonProxyOpCodes = {
|
|
|
13
14
|
anyone_tvmMsgToEVM: 0x6c582059,
|
|
14
15
|
admin_changeAdminAddress: 0x581879bc,
|
|
15
16
|
admin_cancelChangingAdminAddress: 0x60094a1b,
|
|
16
|
-
admin_updateCode:
|
|
17
|
+
admin_updateCode: 0x6e7145f9,
|
|
17
18
|
newAdmin_confirmChangingAdminAddress: 0x6a4fbe34,
|
|
18
19
|
};
|
|
19
20
|
exports.JettonProxyErrors = {
|
|
@@ -156,3 +157,11 @@ class JettonProxy {
|
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
159
|
exports.JettonProxy = JettonProxy;
|
|
160
|
+
JettonProxy.estimatedJettonWalletCells = 25n;
|
|
161
|
+
JettonProxy.estimatedJettonWalletBits = 11000n;
|
|
162
|
+
JettonProxy.storageStats = new GasUtils_1.StorageStats(7760n, 16n);
|
|
163
|
+
JettonProxy.msgToTvmGasConsumption = 5536n;
|
|
164
|
+
JettonProxy.errorNotificationGasConsumption = 5556n;
|
|
165
|
+
JettonProxy.transferNotificationGasConsumption = 8515n;
|
|
166
|
+
JettonProxy.estimatedReceiveTransferGasConsumption = 12000n;
|
|
167
|
+
JettonProxy.estimatedSendTransferGasConsumption = 11000n;
|
|
@@ -42,8 +42,15 @@ export declare class JettonWallet implements Contract {
|
|
|
42
42
|
code: Cell;
|
|
43
43
|
data: Cell;
|
|
44
44
|
} | undefined;
|
|
45
|
+
static mintAfterErrorGasConsumption: bigint;
|
|
46
|
+
static burnNotificationGasConsumption: bigint;
|
|
47
|
+
static nftBurnGasConsumption: bigint;
|
|
48
|
+
static receiveTransferGasConsumption: bigint;
|
|
49
|
+
static sendTransferGasConsumption: bigint;
|
|
50
|
+
static burnGasConsumption: bigint;
|
|
45
51
|
static storageStats: StorageStats;
|
|
46
52
|
static stateInitStats: StorageStats;
|
|
53
|
+
static storageDuration: bigint;
|
|
47
54
|
constructor(address: Address, init?: {
|
|
48
55
|
code: Cell;
|
|
49
56
|
data: Cell;
|
|
@@ -189,5 +189,12 @@ class JettonWallet {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
exports.JettonWallet = JettonWallet;
|
|
192
|
-
JettonWallet.
|
|
193
|
-
JettonWallet.
|
|
192
|
+
JettonWallet.mintAfterErrorGasConsumption = 9654n;
|
|
193
|
+
JettonWallet.burnNotificationGasConsumption = 10357n;
|
|
194
|
+
JettonWallet.nftBurnGasConsumption = 11552n;
|
|
195
|
+
JettonWallet.receiveTransferGasConsumption = 11427n;
|
|
196
|
+
JettonWallet.sendTransferGasConsumption = 10669n;
|
|
197
|
+
JettonWallet.burnGasConsumption = 8653n;
|
|
198
|
+
JettonWallet.storageStats = new GasUtils_1.StorageStats(949n, 3n);
|
|
199
|
+
JettonWallet.stateInitStats = new GasUtils_1.StorageStats(847n, 3n);
|
|
200
|
+
JettonWallet.storageDuration = 5n * 365n * 24n * 3600n;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
|
|
2
|
+
import { StorageStats } from './utils/GasUtils';
|
|
2
3
|
export declare const NFTCollectionOpCodes: {
|
|
3
4
|
admin_deployNFTItem: number;
|
|
4
5
|
admin_batchDeployNFTItems: number;
|
|
@@ -33,6 +34,14 @@ export declare class NFTCollection implements Contract {
|
|
|
33
34
|
code: Cell;
|
|
34
35
|
data: Cell;
|
|
35
36
|
} | undefined;
|
|
37
|
+
static stateInitStats: StorageStats;
|
|
38
|
+
static handleErrorNotificationGasConsumption: bigint;
|
|
39
|
+
static transferGasConsumption: bigint;
|
|
40
|
+
static burnGasConsumption: bigint;
|
|
41
|
+
static storageStats: StorageStats;
|
|
42
|
+
static initGasConsumption: bigint;
|
|
43
|
+
static nftHandleErrorNotificationGasConsumption: bigint;
|
|
44
|
+
static nftTransferGasConsumption: bigint;
|
|
36
45
|
constructor(address: Address, init?: {
|
|
37
46
|
code: Cell;
|
|
38
47
|
data: Cell;
|
|
@@ -4,6 +4,7 @@ exports.NFTCollection = exports.NFTCollectionErrors = exports.NFTCollectionOpCod
|
|
|
4
4
|
exports.nftCollectionConfigToCell = nftCollectionConfigToCell;
|
|
5
5
|
const core_1 = require("@ton/core");
|
|
6
6
|
const Constants_1 = require("./Constants");
|
|
7
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
7
8
|
exports.NFTCollectionOpCodes = {
|
|
8
9
|
admin_deployNFTItem: 0xfdba5d5f,
|
|
9
10
|
admin_batchDeployNFTItems: 0x909d579b,
|
|
@@ -149,3 +150,11 @@ class NFTCollection {
|
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
exports.NFTCollection = NFTCollection;
|
|
153
|
+
NFTCollection.stateInitStats = new GasUtils_1.StorageStats(1328n, 5n);
|
|
154
|
+
NFTCollection.handleErrorNotificationGasConsumption = 4638n;
|
|
155
|
+
NFTCollection.transferGasConsumption = 11722n;
|
|
156
|
+
NFTCollection.burnGasConsumption = 11552n;
|
|
157
|
+
NFTCollection.storageStats = new GasUtils_1.StorageStats(7240n, 24n);
|
|
158
|
+
NFTCollection.initGasConsumption = 7546n;
|
|
159
|
+
NFTCollection.nftHandleErrorNotificationGasConsumption = 4638n;
|
|
160
|
+
NFTCollection.nftTransferGasConsumption = 11722n;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
|
|
2
|
+
import { StorageStats } from './utils/GasUtils';
|
|
2
3
|
export declare const NFTItemOpCodes: {
|
|
3
4
|
owner_transfer: number;
|
|
4
5
|
owner_burn: number;
|
|
@@ -41,6 +42,12 @@ export declare class NFTItem implements Contract {
|
|
|
41
42
|
code: Cell;
|
|
42
43
|
data: Cell;
|
|
43
44
|
} | undefined;
|
|
45
|
+
static stateInitStats: StorageStats;
|
|
46
|
+
static storageStats: StorageStats;
|
|
47
|
+
static handleErrorNotificationGasConsumption: bigint;
|
|
48
|
+
static transferGasConsumption: bigint;
|
|
49
|
+
static burnGasConsumption: bigint;
|
|
50
|
+
static initGasConsumption: bigint;
|
|
44
51
|
constructor(address: Address, init?: {
|
|
45
52
|
code: Cell;
|
|
46
53
|
data: Cell;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NFTItem = exports.NFTItemErrors = exports.NFTItemOpCodes = void 0;
|
|
4
4
|
exports.nftItemConfigToCell = nftItemConfigToCell;
|
|
5
5
|
const core_1 = require("@ton/core");
|
|
6
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
6
7
|
exports.NFTItemOpCodes = {
|
|
7
8
|
owner_transfer: 0x5fcc3d14,
|
|
8
9
|
owner_burn: 0x3b390ce,
|
|
@@ -146,3 +147,9 @@ class NFTItem {
|
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
exports.NFTItem = NFTItem;
|
|
150
|
+
NFTItem.stateInitStats = new GasUtils_1.StorageStats(1328n, 5n);
|
|
151
|
+
NFTItem.storageStats = new GasUtils_1.StorageStats(1422n, 5n);
|
|
152
|
+
NFTItem.handleErrorNotificationGasConsumption = 4638n;
|
|
153
|
+
NFTItem.transferGasConsumption = 11722n;
|
|
154
|
+
NFTItem.burnGasConsumption = 11552n;
|
|
155
|
+
NFTItem.initGasConsumption = 7546n;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
|
|
2
|
+
import { StorageStats } from './utils/GasUtils';
|
|
2
3
|
export declare const NFTItemTransferOperation = 2332633442;
|
|
3
4
|
export declare const NFTProxyOpCodes: {
|
|
4
5
|
admin_changeAdmin: number;
|
|
@@ -32,6 +33,12 @@ export declare class NFTProxy implements Contract {
|
|
|
32
33
|
code: Cell;
|
|
33
34
|
data: Cell;
|
|
34
35
|
} | undefined;
|
|
36
|
+
static estimatedNftItemCells: bigint;
|
|
37
|
+
static estimatedNftItemBits: bigint;
|
|
38
|
+
static storageStats: StorageStats;
|
|
39
|
+
static ownershipAssignedGasConsumption: bigint;
|
|
40
|
+
static errorNotificationGasConsumption: bigint;
|
|
41
|
+
static msgToTvmGasConsumption: bigint;
|
|
35
42
|
constructor(address: Address, init?: {
|
|
36
43
|
code: Cell;
|
|
37
44
|
data: Cell;
|
|
@@ -4,10 +4,11 @@ exports.NFTProxy = exports.NFTProxyErrors = exports.NFTProxyOpCodes = exports.NF
|
|
|
4
4
|
exports.nftProxyConfigToCell = nftProxyConfigToCell;
|
|
5
5
|
const core_1 = require("@ton/core");
|
|
6
6
|
const Constants_1 = require("./Constants");
|
|
7
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
7
8
|
exports.NFTItemTransferOperation = 0x8b092962;
|
|
8
9
|
exports.NFTProxyOpCodes = {
|
|
9
10
|
admin_changeAdmin: 0x581879bc,
|
|
10
|
-
admin_updateCode:
|
|
11
|
+
admin_updateCode: 0x6e7145f9,
|
|
11
12
|
ccl_evmMsgToTVMProxy: 0x7817b330,
|
|
12
13
|
ccl_errorNotification: 0xae7df95b,
|
|
13
14
|
ccl_tvmMsgToEVM: 0x6c582059,
|
|
@@ -155,3 +156,9 @@ class NFTProxy {
|
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
exports.NFTProxy = NFTProxy;
|
|
159
|
+
NFTProxy.estimatedNftItemCells = 25n;
|
|
160
|
+
NFTProxy.estimatedNftItemBits = 9877n;
|
|
161
|
+
NFTProxy.storageStats = new GasUtils_1.StorageStats(7512n, 15n);
|
|
162
|
+
NFTProxy.ownershipAssignedGasConsumption = 7688n;
|
|
163
|
+
NFTProxy.errorNotificationGasConsumption = 4737n;
|
|
164
|
+
NFTProxy.msgToTvmGasConsumption = 5348n;
|
|
@@ -148,5 +148,6 @@ class Settings {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
exports.Settings = Settings;
|
|
151
|
+
Settings.storageStats = new GasUtils_1.StorageStats(38743n, 118n);
|
|
151
152
|
Settings.minStorageDuration = 10 * 365 * 24 * 3600; // 10 years
|
|
152
153
|
Settings.minStorageStats = new GasUtils_1.StorageStats(29557n, 104n);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Address, Cell } from '@ton/core';
|
|
2
|
+
export type CrossChainLayerPayload = {
|
|
3
|
+
operationId: bigint;
|
|
4
|
+
destinationAddress: Address;
|
|
5
|
+
destinationMsgValue: bigint;
|
|
6
|
+
payload: Cell;
|
|
7
|
+
maybeStateInit?: Cell;
|
|
8
|
+
};
|
|
9
|
+
export declare function CrossChainLayerPayloadToCell(payload: CrossChainLayerPayload): Cell;
|
|
10
|
+
export declare function CrossChainLayerPayloadFromCell(cell: Cell): CrossChainLayerPayload;
|