@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 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "6233b33325bdd823e75a7ad68e425df6d9fcd28f399bdee5610eb75a055e3599", "hashBase64": "YjOzMyW92CPnWnrWjkJd9tn80o85m97lYQ63WgVeNZk=", "hex": "b5ee9c7241021501000525000114ff00f4a413f4bcf2c80b0102016202140202ca0313020120041204cdd0831c02497c138007434c0c05c6c2544d7c0fc0e383e903e900c7e800c7d007e800c7e80004c5c3e0e80b4c7c048208403e29fa96ea3a14c0d1676cf3808208405e351466ea3a14c0c96b6cf380d4920841657c1ef2ea3a10d1676cf3817c120840153e8d96ea05090e1101da03d33f0101fa00fa4021f0155bed44d0fa0001f861fa4001f862fa4030f863f84123a1f861f8425006c705f2e2c1f841c2fff2e2c2f843f82a7054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c97021f90074c8cb0212ca07cbffc9d005fa40f401fa00200601fc20d70b009bd74bc00101c001b0f2e2c49130e2c88210178d4519580702cb1fcb3f5004fa02f842cf1601cf1622fa025003cf1643152191729171e2f839206e938129ad9120e2216e9431812ca39101e25023a813a07381034f70f83ca00270f83612a00170f836a0738103b582100966018070f837a0bcf2b070401380180701308050db3cf841f842f843c85003fa0201cf1601cf16c9ed540800a28e4dc85801cb055005cf165003fa0254712323ed41ed43ed44ed45ed479f5bc85003cf17c913775003cb6bcccced67ed65ed64ed63ed61747fed11987601cb6bcc01cf17ed41edf101f2ffc901fb00db0603f2ed44d0fa0001f861fa4001f862fa4030f86303d33f0101fa00f84122a0f861fa40fa40f84327c705f843f82a25595970037054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c9f90074c8cb0212ca07cbffc9d05008c70517b1f2e2c305fa0021925f04e30d22d70b01c000b3925f04e30d0a0b0d0140c882107362d09c2602cb1fcb3f5004fa0258cf1658cf16f8425980188011db3c0c015c03a1f82fa0738103b582100966018070f837b60972fb0270c88210d53276db580402cb1fcb3f128010810082db3c0c00988e48c85801cb055004cf1658fa02547120ed41ed43ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64ed63ed61737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db050028f841f842f843c85003fa0201cf1601cf16c9ed5401f4ed44d0fa0001f861fa4001f862fa4030f86303d33f0101fa00fa40f40430206e2092316d9201d0e221917093fa0001e222916d9401f40459e20392316d9401f40430e2f84125a1f861f8425008c705f2e2c1f841c2fff2e2c2c821fa0212f40016f400c9c882107bdd97de580502cb1fcb3f58fa02f842cf16210f01e8d70b01c0009331f8429101e2cf16f400c94133f839206e938121cd9120e2216e9431812ca39101e203aa0112a00170f836a081287570f836a0813c9170f836a08125b670f836a00170f836a080668200c02b8209e1338070f837a0801c8127e08209e1338070f837a0bcf2b0f843705880188050100074226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f841f842f843c85003fa0201cf1601cf16c9ed5400b08e51ed44d0fa0001f861fa4001f862fa4030f863738103b582100966018070f83770fb02f842706d8010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00e0840ff2f00013a2fd2210e0007970a6c0009fae200835c87b51343e80007e187e90007e18be900c3e18f4c7c048208405e351466e8060841ef765f7aeac7cb8b1601035c87e800c3e1040683e187e107e10be10f21400fe808073c58073c5b27b55200039a0f605da89a1f40003f0c3f48003f0c5f48061f0c7f083f085f087f05573909161" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "589990451a76a0b1a6c0e1d70f0410905117f05fa6c97a273d6a1e1f26732ebc", "hashBase64": "WJmQRRp2oLGmwOHXDwQQkFEX8F+myXonPWoeHyZzLrw=", "hex": "b5ee9c72410216010004a6000114ff00f4a413f4bcf2c80b0102016202150202ca0314020120041301bdd0cc8b1c02497c0f83434c0c05c6c238f16fb51343480007e1874ffc07e18b500743e90007e18fe90007e19be900c3e193d010c3e19600835c874c7c04c60841b1608166ebcb832dffe187c0e383e903e900c7e800c7d007e800c7e80004c60504a4ed44d0d20001f861d3ff01f862d401d0fa4001f863fa4001f866fa4030f864f40430f86503d31f0101d33f0112218210bd6ea770bae3022182105fcc3d14bae3022182102fcb26a2bae30221820bb390ceba06070a0b00e8313432f841b3f2e0c8f84301c705f2e048fa4001f864d401f8657ff861f0387581058e82100966018070f83772fb02c8821005138d91580302cb1fcb3f8b02cf1601cf16c9f84470588010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0002c83110344013f841f2e0c9f84414c705f2e047fa4021f0155bfa40d2000130fa0022d70b01c000b35427272191729171e2f839206e9430812dcade02a812a07581058e82100966018070f837a00170f836a0bcf2b020923034e30d02923031e30df864f03808090084c8821005138d912502cb1fcb3ff844cf165006cf16c9544266801071226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00009e22f0155bc88210d53276db5802cb1fcb3fc97581058e82100966018070f83776fb0212700180108306226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb000096345b32f841f2e0c9c882108b7717355802cb1fcb3ff84201cbfff843cf16c9700180108042226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00015e8e873110344013db3ce030316c228210ae7df95bba8e12f841b3f2e0c8f846c705f2e0467ff861f038e030840ff2f00c01a0f841f2e0c9f84414c705f2e047fa40f40401d0fa00f404f404301034342070547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e2550233f8465260c70525105b50a443300d04faf839206e9430812d20de5aa058a05003a001aa00a00170f836a0813c9170f836a081121e70f836a080668200c02b8209e1338070f837a07581058e82100966018070f837a0bcf2b0248e123034c88210d53276db580302cb1fcb3ff400e30d70f861f038218e107581058e82100966018070f83776fb02de7022e30f030e0f10110060c88210bcd19310f844102510464303081582106c582059500502cb1fcb3f12cb1f01fa02f40001cf16f844cf1613f400000480180004801001189381009093810082e213db3c1200988e48c85801cb055004cf1658fa02547120ed41ed43ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64ed63ed61737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db050013a2fd2210e0007970a6c00045ae3e11723e10f3c5be11b3c5be1133c5b2723e104072803e108072fff33d00327b5520007ba11f9fda89a1a40003f0c3a7fe03f0c5a803a1f48003f0c7f48003f0cdf48061f0c9e80861f0cbf08335f083f085f087f089f08bc1f083f085f0871604dbd5959cd1" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "66d5b121d746cbeb32c1c7ced5ecfeeaeb4c7d2b7a20ec5dbb9048aa0c3c1cdb", "hashBase64": "ZtWxIddGy+sywcfO1ez+6utMfSt6IOxdu5BIqgw8HNs=", "hex": "b5ee9c7241020d01000381000114ff00f4a413f4bcf2c80b01020162020c04f6d020c700925f04e001d0d3030171b0925f04e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f0101d33f01125165a1800f811d588209e1338070f83766b608a15155a1ed44d0fa4001f861fa4001f862fa4030f863218210ae7df95bbae3022182107817b330bae30221821005138d91bae302306c33200304050900c05b6c22f84112c705f2e0468020d721fa40fa4030c882105fcc3d14580402cb1fcb3f22cf1658cf167001ca0070fa027001ca00c9700180108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000c45b32f841c705f2e046fa40fa40fa0030c882105fcc3d14580602cb1fcb3f21cf1601cf167001ca005003fa027001ca00c90176fb0270018010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0001783101fa40f40401d0fa00f404f404301034342070547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e255023324104a0306029e04aa015003a001a001a001a0811e0870f836a0813c9170f836a081128170f836a0812dca70f836a0801981269582100966018070f837a080668200c02b8209e1338070f837a014be226eb321b0e30f070800c430c8471382108b0929625120071582106c582059500502cb1fcb3f12cb1f01fa02f40001cf1601cf1601cf1612ccc90176fb02f84170588010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000b835355bc882105fcc3d14580502cb1fcb3f22cf1658cf167001ca0070fa027001ca00c912700180108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f80f938100c8928064e2f2f002e08210581879bcba8e2730f84212c705f2e047fa4030f863f8438b02c705f2d050c8f841cf16f842cf16f843cf16c9ed54e020821060094a1bba8e1c5bf842c705f2e0478b02f863c8f841cf16f842cf16f843cf16c9ed54e02082106a4fbe34bae30282106e7145f9bae3025b840ff2f00a0b00525bf843c705f2e048f8438b02c705f2d050f843f8628b02f863c8f841cf16f842cf16f843cf16c9ed54002cf84212c705f2e047d421fb0401d0ed1eed53d430ed540035a0844bda89a1f48003f0c3f48003f0c5f48061f0c7f083f085f087c02234c5" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "5f5b34e1aa219ac5e3b92fbe6d4227f4517a2be4ccb13ba6814d72b136e99647", "hashBase64": "X1s04aohmsXjuS++bUIn9FF6K+TMsTumgU1ysTbplkc=", "hex": "b5ee9c72410210010002a6000114ff00f4a413f4bcf2c80b01020162020902f8d020c700925f04e001d0d3030171b0925f04e0fa403001d31f0101d33f0112ed44d0d30701f861fa4001f862fa4001f863f40430f8645154a1f844f80701830cf94130f8075003a170f83601a676820097575003a012821012cc030070f837a066b608a114a1c200f2e064228210245e9406bae302228210581879bc0304005a6c22f84212c705f2e046d3ff0101d430f844128307f417f864f844f841c8cb07f842cf16f843cf16f400c9ed5404feba8e2c6c22f84212c705f2e046fa4030f863f8438b02c705f2d050f844f841c8cb07f842cf16f843cf16f400c9ed54e022821060094a1bba8e22135f03f842c705f2e0468b02f863f844f841c8cb07f842cf16f843cf16f400c9ed54e02282106a4fbe34bae302228210399685b8bae3023001821040148d4abae3025b840f05060708005e135f03f843c705f2e047f8438b02c705f2d050f843f8628b02f863f844f841c8cb07f842cf16f843cf16f400c9ed5400a46c12d3ff013120f8448307f40f6fa130c88210707a28d2580502cb1fcb3f0101cbff12f400c9700180108042226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb000080f844c88210cf03b318580402cb1fcb3f12f400c9700180108042226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb000004f2f00201200a0d0201580b0c0043b444bda89a1a60e03f0c3f48003f0c5f48003f0c7e80861f0c9f083f085f087f0890003bb4fffda89a1a60e03f0c3f48003f0c5f48003f0c7e80861f0c9f085f087002016a0e0f0037b3093b513434c1c07e187e90007e18be90007e18fd010c3e193e11200043b10dfb513434c1c07e187e90007e18be90007e18fd010c3e193e1120c1fd03dbe860ec13a82d" }
|
|
@@ -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;
|