@tonappchain/sdk 0.7.0-rc8 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +198 -191
- package/dist/artifacts/dev/index.d.ts +9 -0
- package/dist/artifacts/dev/index.js +52 -0
- package/dist/artifacts/dev/tac/addresses.d.ts +4 -0
- package/dist/artifacts/dev/tac/addresses.js +8 -0
- package/dist/artifacts/dev/tac/artifacts.d.ts +330 -0
- package/dist/artifacts/dev/tac/artifacts.js +26 -0
- package/dist/artifacts/dev/tac/endpoints.d.ts +2 -0
- package/dist/artifacts/dev/tac/endpoints.js +5 -0
- package/dist/artifacts/dev/tac/index.d.ts +6 -0
- package/dist/artifacts/dev/tac/index.js +43 -0
- package/dist/artifacts/dev/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
- package/dist/artifacts/dev/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
- package/dist/artifacts/dev/tac/internal/scripts/utils/encoding.d.ts +4 -0
- package/dist/artifacts/dev/tac/internal/scripts/utils/encoding.js +18 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/common.d.ts +50 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/common.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
- package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
- package/dist/artifacts/dev/tac/multicall.d.ts +1 -0
- package/dist/artifacts/dev/tac/multicall.js +22 -0
- package/dist/artifacts/dev/tac/structs.d.ts +1 -0
- package/dist/artifacts/dev/tac/structs.js +2 -0
- package/dist/artifacts/dev/tac/utils.d.ts +1 -0
- package/dist/artifacts/dev/tac/utils.js +5 -0
- package/dist/artifacts/dev/tac/wrappers.d.ts +9 -0
- package/dist/artifacts/dev/tac/wrappers.js +2 -0
- package/dist/artifacts/dev/ton/addresses.d.ts +1 -0
- package/dist/artifacts/dev/ton/addresses.js +5 -0
- package/dist/artifacts/dev/ton/artifacts.d.ts +47 -0
- package/dist/artifacts/dev/ton/artifacts.js +26 -0
- package/dist/artifacts/dev/ton/endpoints.d.ts +3 -0
- package/dist/artifacts/dev/ton/endpoints.js +6 -0
- package/dist/artifacts/dev/ton/index.d.ts +3 -0
- package/dist/artifacts/dev/ton/index.js +40 -0
- package/dist/artifacts/dev/ton/internal/build/CrossChainLayer.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/Executor.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/JettonMinter.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/JettonProxy.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/JettonWallet.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/NFTCollection.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/NFTItem.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/NFTProxy.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/build/Settings.compiled.json +1 -0
- package/dist/artifacts/dev/ton/internal/wrappers/Constants.d.ts +56 -0
- package/dist/artifacts/dev/ton/internal/wrappers/Constants.js +62 -0
- package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
- package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.js +336 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.d.ts +94 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.js +202 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.d.ts +80 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.js +158 -0
- package/dist/{wrappers → artifacts/dev/ton/internal/wrappers}/JettonWallet.d.ts +52 -13
- package/dist/artifacts/dev/ton/internal/wrappers/JettonWallet.js +193 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.d.ts +75 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.js +151 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.d.ts +82 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.js +148 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.d.ts +84 -0
- package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.js +157 -0
- package/dist/artifacts/dev/ton/internal/wrappers/Settings.d.ts +80 -0
- package/dist/artifacts/dev/ton/internal/wrappers/Settings.js +152 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/GasUtils.js +291 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
- package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
- package/dist/artifacts/dev/ton/wrappers.d.ts +8 -0
- package/dist/artifacts/dev/ton/wrappers.js +27 -0
- package/dist/artifacts/index.d.ts +3 -0
- package/dist/artifacts/index.js +39 -0
- package/dist/artifacts/mainnet/index.d.ts +9 -0
- package/dist/artifacts/mainnet/index.js +52 -0
- package/dist/artifacts/mainnet/tac/addresses.d.ts +4 -0
- package/dist/artifacts/mainnet/tac/addresses.js +7 -0
- package/dist/artifacts/mainnet/tac/artifacts.d.ts +330 -0
- package/dist/artifacts/mainnet/tac/artifacts.js +26 -0
- package/dist/artifacts/mainnet/tac/endpoints.d.ts +2 -0
- package/dist/artifacts/mainnet/tac/endpoints.js +5 -0
- package/dist/artifacts/mainnet/tac/index.d.ts +6 -0
- package/dist/artifacts/mainnet/tac/index.js +43 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
- package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
- package/dist/artifacts/mainnet/tac/internal/scripts/utils/encoding.d.ts +4 -0
- package/dist/artifacts/mainnet/tac/internal/scripts/utils/encoding.js +18 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/common.d.ts +50 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/common.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
- package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
- package/dist/artifacts/mainnet/tac/multicall.d.ts +1 -0
- package/dist/artifacts/mainnet/tac/multicall.js +22 -0
- package/dist/artifacts/mainnet/tac/structs.d.ts +1 -0
- package/dist/artifacts/mainnet/tac/structs.js +2 -0
- package/dist/artifacts/mainnet/tac/utils.d.ts +1 -0
- package/dist/artifacts/mainnet/tac/utils.js +5 -0
- package/dist/artifacts/mainnet/tac/wrappers.d.ts +9 -0
- package/dist/artifacts/mainnet/tac/wrappers.js +2 -0
- package/dist/artifacts/mainnet/ton/addresses.d.ts +1 -0
- package/dist/artifacts/mainnet/ton/addresses.js +4 -0
- package/dist/artifacts/mainnet/ton/artifacts.d.ts +47 -0
- package/dist/artifacts/mainnet/ton/artifacts.js +26 -0
- package/dist/artifacts/mainnet/ton/endpoints.d.ts +3 -0
- package/dist/artifacts/mainnet/ton/endpoints.js +6 -0
- package/dist/artifacts/mainnet/ton/index.d.ts +3 -0
- package/dist/artifacts/mainnet/ton/index.js +40 -0
- package/dist/artifacts/mainnet/ton/internal/build/CrossChainLayer.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/Executor.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/JettonMinter.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/JettonProxy.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/JettonWallet.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/NFTCollection.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/NFTItem.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/NFTProxy.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/build/Settings.compiled.json +1 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/Constants.d.ts +56 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/Constants.js +62 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.js +336 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.d.ts +94 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.js +202 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.d.ts +80 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.js +158 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.d.ts +95 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.js +193 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.d.ts +75 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.js +151 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.d.ts +82 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.js +148 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.d.ts +84 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.js +157 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.d.ts +80 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.js +152 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/utils/GasUtils.js +291 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
- package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
- package/dist/artifacts/mainnet/ton/wrappers.d.ts +8 -0
- package/dist/artifacts/mainnet/ton/wrappers.js +27 -0
- package/dist/artifacts/tacTypes.d.ts +13 -0
- package/dist/artifacts/tacTypes.js +2 -0
- package/dist/artifacts/testnet/index.d.ts +9 -0
- package/dist/artifacts/testnet/index.js +52 -0
- package/dist/artifacts/testnet/tac/addresses.d.ts +4 -0
- package/dist/artifacts/testnet/tac/addresses.js +7 -0
- package/dist/artifacts/testnet/tac/artifacts.d.ts +330 -0
- package/dist/artifacts/testnet/tac/artifacts.js +26 -0
- package/dist/artifacts/testnet/tac/endpoints.d.ts +2 -0
- package/dist/artifacts/testnet/tac/endpoints.js +5 -0
- package/dist/artifacts/testnet/tac/index.d.ts +6 -0
- package/dist/artifacts/testnet/tac/index.js +43 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
- package/dist/artifacts/testnet/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
- package/dist/artifacts/testnet/tac/internal/scripts/utils/encoding.d.ts +4 -0
- package/dist/artifacts/testnet/tac/internal/scripts/utils/encoding.js +18 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/common.d.ts +50 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/common.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
- package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
- package/dist/artifacts/testnet/tac/multicall.d.ts +1 -0
- package/dist/artifacts/testnet/tac/multicall.js +22 -0
- package/dist/artifacts/testnet/tac/structs.d.ts +1 -0
- package/dist/artifacts/testnet/tac/structs.js +2 -0
- package/dist/artifacts/testnet/tac/utils.d.ts +1 -0
- package/dist/artifacts/testnet/tac/utils.js +5 -0
- package/dist/artifacts/testnet/tac/wrappers.d.ts +9 -0
- package/dist/artifacts/testnet/tac/wrappers.js +2 -0
- package/dist/artifacts/testnet/ton/addresses.d.ts +1 -0
- package/dist/artifacts/testnet/ton/addresses.js +4 -0
- package/dist/artifacts/testnet/ton/artifacts.d.ts +47 -0
- package/dist/artifacts/testnet/ton/artifacts.js +26 -0
- package/dist/artifacts/testnet/ton/endpoints.d.ts +3 -0
- package/dist/artifacts/testnet/ton/endpoints.js +6 -0
- package/dist/artifacts/testnet/ton/index.d.ts +3 -0
- package/dist/artifacts/testnet/ton/index.js +40 -0
- package/dist/artifacts/testnet/ton/internal/build/CrossChainLayer.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/Executor.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/JettonMinter.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/JettonProxy.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/JettonWallet.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/NFTCollection.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/NFTItem.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/NFTProxy.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/build/Settings.compiled.json +1 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/Constants.d.ts +56 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/Constants.js +62 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.js +336 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.d.ts +94 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.js +202 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.d.ts +80 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.js +158 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.d.ts +95 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.js +193 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.d.ts +75 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.js +151 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.d.ts +82 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.js +148 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.d.ts +84 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.js +157 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/Settings.d.ts +80 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/Settings.js +152 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/GasUtils.js +291 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
- package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
- package/dist/artifacts/testnet/ton/wrappers.d.ts +8 -0
- package/dist/artifacts/testnet/ton/wrappers.js +27 -0
- package/dist/artifacts/tonTypes.d.ts +20 -0
- package/dist/artifacts/tonTypes.js +2 -0
- package/dist/{adapters → src/adapters}/contractOpener.d.ts +2 -1
- package/dist/{adapters → src/adapters}/contractOpener.js +39 -6
- package/dist/src/adapters/index.d.ts +2 -0
- package/dist/src/adapters/index.js +18 -0
- package/dist/{adapters → src/adapters}/retryableContractOpener.d.ts +6 -3
- package/dist/{adapters → src/adapters}/retryableContractOpener.js +10 -11
- package/dist/src/agnosticSdk/AbiHandler.d.ts +27 -0
- package/dist/src/agnosticSdk/AbiHandler.js +137 -0
- package/dist/src/agnosticSdk/AgnosticSdk.d.ts +201 -0
- package/dist/src/agnosticSdk/AgnosticSdk.js +201 -0
- package/dist/src/agnosticSdk/AgnosticStructs.d.ts +108 -0
- package/dist/src/agnosticSdk/AgnosticStructs.js +23 -0
- package/dist/src/agnosticSdk/DebugHelpers.d.ts +88 -0
- package/dist/src/agnosticSdk/DebugHelpers.js +274 -0
- package/dist/src/agnosticSdk/HooksHandler.d.ts +43 -0
- package/dist/src/agnosticSdk/HooksHandler.js +102 -0
- package/dist/src/agnosticSdk/ReplacementHelper.d.ts +95 -0
- package/dist/src/agnosticSdk/ReplacementHelper.js +235 -0
- package/dist/{assets → src/assets}/AssetCache.d.ts +1 -1
- package/dist/{assets → src/assets}/AssetFactory.d.ts +2 -2
- package/dist/{assets → src/assets}/AssetFactory.js +1 -1
- package/dist/{assets → src/assets}/FT.d.ts +15 -17
- package/dist/{assets → src/assets}/FT.js +103 -56
- package/dist/{assets → src/assets}/NFT.d.ts +15 -16
- package/dist/{assets → src/assets}/NFT.js +62 -34
- package/dist/{assets → src/assets}/TON.d.ts +7 -13
- package/dist/{assets → src/assets}/TON.js +22 -20
- package/dist/src/errors/index.d.ts +2 -0
- package/dist/{errors → src/errors}/index.js +8 -2
- package/dist/{errors → src/errors}/instances.d.ts +11 -1
- package/dist/src/errors/instances.js +58 -0
- package/dist/src/index.d.ts +21 -0
- package/dist/{index.js → src/index.js} +38 -18
- package/dist/src/interfaces/Asset.d.ts +78 -0
- package/dist/src/interfaces/Asset.js +2 -0
- package/dist/src/interfaces/ContractOpener.d.ts +21 -0
- package/dist/src/interfaces/ContractOpener.js +2 -0
- package/dist/src/interfaces/IConfiguration.d.ts +35 -0
- package/dist/src/interfaces/IConfiguration.js +2 -0
- package/dist/src/interfaces/IHttpClient.d.ts +16 -0
- package/dist/src/interfaces/IHttpClient.js +2 -0
- package/dist/src/interfaces/ILiteSequencerClient.d.ts +43 -0
- package/dist/src/interfaces/ILiteSequencerClient.js +2 -0
- package/dist/src/interfaces/ILiteSequencerClientFactory.d.ts +9 -0
- package/dist/src/interfaces/ILiteSequencerClientFactory.js +2 -0
- package/dist/src/interfaces/ILogger.d.ts +10 -0
- package/dist/src/interfaces/ILogger.js +2 -0
- package/dist/src/interfaces/IOperationTracker.d.ts +81 -0
- package/dist/src/interfaces/IOperationTracker.js +2 -0
- package/dist/src/interfaces/ISimulator.d.ts +18 -0
- package/dist/src/interfaces/ISimulator.js +2 -0
- package/dist/src/interfaces/ITACTransactionManager.d.ts +15 -0
- package/dist/src/interfaces/ITACTransactionManager.js +2 -0
- package/dist/src/interfaces/ITONTransactionManager.d.ts +20 -0
- package/dist/src/interfaces/ITONTransactionManager.js +2 -0
- package/dist/src/interfaces/ITacSDK.d.ts +185 -0
- package/dist/src/interfaces/ITacSDK.js +2 -0
- package/dist/src/interfaces/SenderAbstraction.d.ts +35 -0
- package/dist/src/interfaces/SenderAbstraction.js +2 -0
- package/dist/src/interfaces/WalletInstanse.d.ts +20 -0
- package/dist/src/interfaces/WalletInstanse.js +2 -0
- package/dist/src/interfaces/index.d.ts +14 -0
- package/dist/src/interfaces/index.js +30 -0
- package/dist/src/sdk/AxiosHttpClient.d.ts +12 -0
- package/dist/src/sdk/AxiosHttpClient.js +23 -0
- package/dist/{sdk → src/sdk}/Configuration.d.ts +6 -5
- package/dist/src/sdk/Configuration.js +195 -0
- package/dist/{sdk → src/sdk}/Consts.d.ts +3 -0
- package/dist/{sdk → src/sdk}/Consts.js +4 -1
- package/dist/src/sdk/LiteSequencerClient.d.ts +18 -0
- package/dist/{sdk → src/sdk}/LiteSequencerClient.js +81 -25
- package/dist/{sdk → src/sdk}/Logger.d.ts +5 -5
- package/dist/{sdk → src/sdk}/Logger.js +12 -4
- package/dist/{sdk → src/sdk}/OperationTracker.d.ts +5 -13
- package/dist/{sdk → src/sdk}/OperationTracker.js +112 -16
- package/dist/src/sdk/Simulator.d.ts +11 -0
- package/dist/src/sdk/Simulator.js +70 -0
- package/dist/{sdk → src/sdk}/StartTracking.d.ts +1 -1
- package/dist/src/sdk/TACTransactionManager.d.ts +10 -0
- package/dist/src/sdk/TACTransactionManager.js +101 -0
- package/dist/src/sdk/TONTransactionManager.d.ts +17 -0
- package/dist/src/sdk/TONTransactionManager.js +220 -0
- package/dist/src/sdk/TacSdk.d.ts +44 -0
- package/dist/src/sdk/TacSdk.js +181 -0
- package/dist/{sdk → src/sdk}/TxFinalizer.d.ts +3 -2
- package/dist/{sdk → src/sdk}/TxFinalizer.js +13 -8
- package/dist/{sdk → src/sdk}/Utils.d.ts +14 -7
- package/dist/{sdk → src/sdk}/Utils.js +127 -34
- package/dist/{sdk → src/sdk}/Validator.d.ts +2 -2
- package/dist/{sdk → src/sdk}/Validator.js +6 -6
- package/dist/{sender → src/sender}/BatchSender.d.ts +1 -2
- package/dist/{sender → src/sender}/RawSender.d.ts +3 -3
- package/dist/{sender → src/sender}/SenderFactory.d.ts +1 -1
- package/dist/{sender → src/sender}/SenderFactory.js +1 -1
- package/dist/{sender → src/sender}/TonConnectSender.d.ts +2 -2
- package/dist/{sender → src/sender}/TonConnectSender.js +3 -3
- package/dist/{sender → src/sender}/index.d.ts +1 -1
- package/dist/{sender → src/sender}/index.js +1 -1
- package/dist/{structs → src/structs}/InternalStruct.d.ts +30 -6
- package/dist/{structs → src/structs}/Struct.d.ts +109 -62
- package/dist/{structs → src/structs}/Struct.js +7 -1
- package/dist/{wrappers → src/wrappers}/ContentUtils.js +0 -1
- package/dist/{wrappers → src/wrappers}/HighloadWalletV3.d.ts +2 -2
- package/package.json +57 -6
- package/dist/errors/index.d.ts +0 -2
- package/dist/errors/instances.js +0 -47
- package/dist/index.d.ts +0 -19
- package/dist/sdk/Configuration.js +0 -90
- package/dist/sdk/LiteSequencerClient.d.ts +0 -13
- package/dist/sdk/Simulator.d.ts +0 -23
- package/dist/sdk/Simulator.js +0 -169
- package/dist/sdk/TacSdk.d.ts +0 -24
- package/dist/sdk/TacSdk.js +0 -101
- package/dist/sdk/TransactionManager.d.ts +0 -22
- package/dist/sdk/TransactionManager.js +0 -269
- package/dist/sender/SenderAbstraction.d.ts +0 -22
- package/dist/sender/SenderAbstraction.js +0 -5
- package/dist/structs/Services.d.ts +0 -41
- package/dist/wrappers/JettonMaster.d.ts +0 -24
- package/dist/wrappers/JettonMaster.js +0 -53
- package/dist/wrappers/JettonWallet.js +0 -124
- package/dist/wrappers/Settings.d.ts +0 -10
- package/dist/wrappers/Settings.js +0 -38
- /package/dist/{structs/Services.js → artifacts/dev/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js} +0 -0
- /package/dist/{assets → src/assets}/AssetCache.js +0 -0
- /package/dist/{assets → src/assets}/index.d.ts +0 -0
- /package/dist/{assets → src/assets}/index.js +0 -0
- /package/dist/{errors → src/errors}/errors.d.ts +0 -0
- /package/dist/{errors → src/errors}/errors.js +0 -0
- /package/dist/{sdk → src/sdk}/StartTracking.js +0 -0
- /package/dist/{sender → src/sender}/BatchSender.js +0 -0
- /package/dist/{sender → src/sender}/RawSender.js +0 -0
- /package/dist/{structs → src/structs}/InternalStruct.js +0 -0
- /package/dist/{wrappers → src/wrappers}/ContentUtils.d.ts +0 -0
- /package/dist/{wrappers → src/wrappers}/HighloadQueryId.d.ts +0 -0
- /package/dist/{wrappers → src/wrappers}/HighloadQueryId.js +0 -0
- /package/dist/{wrappers → src/wrappers}/HighloadWalletV3.js +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider, Dictionary, Sender } from '@ton/core';
|
|
2
|
+
import { StorageStats } from './utils/GasUtils';
|
|
3
|
+
export type SettingsConfig = {
|
|
4
|
+
settingsId?: number;
|
|
5
|
+
settings: Dictionary<bigint, Cell>;
|
|
6
|
+
adminAddress: Address;
|
|
7
|
+
newAdminAddress?: Address;
|
|
8
|
+
};
|
|
9
|
+
export type SendValueParams = {
|
|
10
|
+
queryId?: number;
|
|
11
|
+
key: bigint;
|
|
12
|
+
value: Cell;
|
|
13
|
+
};
|
|
14
|
+
export type ChangeAdminParams = {
|
|
15
|
+
queryId?: number;
|
|
16
|
+
adminAddress: Address;
|
|
17
|
+
};
|
|
18
|
+
export type GetValueParams = {
|
|
19
|
+
queryId?: number;
|
|
20
|
+
key: bigint;
|
|
21
|
+
};
|
|
22
|
+
export type SettingsValue = {
|
|
23
|
+
found: boolean;
|
|
24
|
+
value: Cell | null;
|
|
25
|
+
};
|
|
26
|
+
export type AdminAddresses = {
|
|
27
|
+
adminAddress: Address;
|
|
28
|
+
newAdminAddress: Address | undefined;
|
|
29
|
+
};
|
|
30
|
+
export declare const SettingsOpCodes: {
|
|
31
|
+
admin_setValue: number;
|
|
32
|
+
admin_changeAdmin: number;
|
|
33
|
+
admin_cancelChangingAdmin: number;
|
|
34
|
+
newAdmin_confirmChangingAdmin: number;
|
|
35
|
+
anyone_getValue: number;
|
|
36
|
+
anyone_getAll: number;
|
|
37
|
+
settings_sendValue: number;
|
|
38
|
+
settings_sendAll: number;
|
|
39
|
+
};
|
|
40
|
+
export declare const SettingsErrors: {
|
|
41
|
+
noErrors: number;
|
|
42
|
+
notFromAdmin: number;
|
|
43
|
+
notFromNewAdmin: number;
|
|
44
|
+
newAdminAddressIsNone: number;
|
|
45
|
+
notEnoughTon: number;
|
|
46
|
+
};
|
|
47
|
+
export declare function settingsConfigToCell(config: SettingsConfig): Cell;
|
|
48
|
+
export declare class Settings implements Contract {
|
|
49
|
+
readonly address: Address;
|
|
50
|
+
readonly init?: {
|
|
51
|
+
code: Cell;
|
|
52
|
+
data: Cell;
|
|
53
|
+
} | undefined;
|
|
54
|
+
readonly configuration?: SettingsConfig | undefined;
|
|
55
|
+
constructor(address: Address, init?: {
|
|
56
|
+
code: Cell;
|
|
57
|
+
data: Cell;
|
|
58
|
+
} | undefined, configuration?: SettingsConfig | undefined);
|
|
59
|
+
static minStorageDuration: number;
|
|
60
|
+
static minStorageStats: StorageStats;
|
|
61
|
+
static createFromAddress(address: Address): Settings;
|
|
62
|
+
static createFromConfig(config: SettingsConfig, code: Cell, workchain?: number): Settings;
|
|
63
|
+
sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
|
|
64
|
+
sendSetValue(provider: ContractProvider, via: Sender, value: bigint, params: SendValueParams): Promise<void>;
|
|
65
|
+
sendGetValue(provider: ContractProvider, via: Sender, value: bigint, params: GetValueParams): Promise<void>;
|
|
66
|
+
sendGetAll(provider: ContractProvider, via: Sender, value: bigint, params?: {
|
|
67
|
+
queryId?: number;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
sendChangeAdmin(provider: ContractProvider, via: Sender, value: bigint, params?: ChangeAdminParams): Promise<void>;
|
|
70
|
+
sendCancelChangingAdmin(provider: ContractProvider, via: Sender, value: bigint, params?: {
|
|
71
|
+
queryId?: number;
|
|
72
|
+
}): Promise<void>;
|
|
73
|
+
sendConfirmChangingAdmin(provider: ContractProvider, via: Sender, value: bigint, params?: {
|
|
74
|
+
queryId?: number;
|
|
75
|
+
}): Promise<void>;
|
|
76
|
+
getValue(provider: ContractProvider, key: bigint): Promise<SettingsValue>;
|
|
77
|
+
getAdminAddresses(provider: ContractProvider): Promise<AdminAddresses>;
|
|
78
|
+
getAll(provider: ContractProvider): Promise<Cell>;
|
|
79
|
+
getFullData(provider: ContractProvider): Promise<SettingsConfig>;
|
|
80
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Settings = exports.SettingsErrors = exports.SettingsOpCodes = void 0;
|
|
4
|
+
exports.settingsConfigToCell = settingsConfigToCell;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
const GasUtils_1 = require("./utils/GasUtils");
|
|
7
|
+
exports.SettingsOpCodes = {
|
|
8
|
+
admin_setValue: 0x245e9406,
|
|
9
|
+
admin_changeAdmin: 0x581879bc,
|
|
10
|
+
admin_cancelChangingAdmin: 0x60094a1b,
|
|
11
|
+
newAdmin_confirmChangingAdmin: 0x6a4fbe34,
|
|
12
|
+
anyone_getValue: 0x399685b8,
|
|
13
|
+
anyone_getAll: 0x40148d4a,
|
|
14
|
+
settings_sendValue: 0x707a28d2,
|
|
15
|
+
settings_sendAll: 0xcf03b318,
|
|
16
|
+
};
|
|
17
|
+
exports.SettingsErrors = {
|
|
18
|
+
noErrors: 0,
|
|
19
|
+
notFromAdmin: 70,
|
|
20
|
+
notFromNewAdmin: 71,
|
|
21
|
+
newAdminAddressIsNone: 80,
|
|
22
|
+
notEnoughTon: 100,
|
|
23
|
+
};
|
|
24
|
+
function settingsConfigToCell(config) {
|
|
25
|
+
return (0, core_1.beginCell)()
|
|
26
|
+
.storeUint(config.settingsId ?? 0, 8)
|
|
27
|
+
.storeAddress(config.adminAddress)
|
|
28
|
+
.storeAddress(config.newAdminAddress ?? null)
|
|
29
|
+
.storeDict(config.settings)
|
|
30
|
+
.endCell();
|
|
31
|
+
}
|
|
32
|
+
class Settings {
|
|
33
|
+
constructor(address, init, configuration) {
|
|
34
|
+
this.address = address;
|
|
35
|
+
this.init = init;
|
|
36
|
+
this.configuration = configuration;
|
|
37
|
+
}
|
|
38
|
+
static createFromAddress(address) {
|
|
39
|
+
return new Settings(address);
|
|
40
|
+
}
|
|
41
|
+
static createFromConfig(config, code, workchain = 0) {
|
|
42
|
+
const data = settingsConfigToCell(config);
|
|
43
|
+
const init = { code, data };
|
|
44
|
+
return new Settings((0, core_1.contractAddress)(workchain, init), init, config);
|
|
45
|
+
}
|
|
46
|
+
async sendDeploy(provider, via, value) {
|
|
47
|
+
await provider.internal(via, {
|
|
48
|
+
value,
|
|
49
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
50
|
+
body: (0, core_1.beginCell)().endCell(),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async sendSetValue(provider, via, value, params) {
|
|
54
|
+
await provider.internal(via, {
|
|
55
|
+
value,
|
|
56
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
57
|
+
body: (0, core_1.beginCell)()
|
|
58
|
+
.storeUint(exports.SettingsOpCodes.admin_setValue, 32)
|
|
59
|
+
.storeUint(params.queryId ?? 0, 64)
|
|
60
|
+
.storeUint(params.key, 256)
|
|
61
|
+
.storeRef(params.value)
|
|
62
|
+
.endCell(),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async sendGetValue(provider, via, value, params) {
|
|
66
|
+
await provider.internal(via, {
|
|
67
|
+
value,
|
|
68
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
69
|
+
body: (0, core_1.beginCell)()
|
|
70
|
+
.storeUint(exports.SettingsOpCodes.anyone_getValue, 32)
|
|
71
|
+
.storeUint(params.queryId ?? 0, 64)
|
|
72
|
+
.storeUint(params.key, 256)
|
|
73
|
+
.endCell(),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async sendGetAll(provider, via, value, params) {
|
|
77
|
+
await provider.internal(via, {
|
|
78
|
+
value,
|
|
79
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
80
|
+
body: (0, core_1.beginCell)()
|
|
81
|
+
.storeUint(exports.SettingsOpCodes.anyone_getAll, 32)
|
|
82
|
+
.storeUint(params?.queryId ?? 0, 64)
|
|
83
|
+
.endCell(),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async sendChangeAdmin(provider, via, value, params) {
|
|
87
|
+
await provider.internal(via, {
|
|
88
|
+
value,
|
|
89
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
90
|
+
body: (0, core_1.beginCell)()
|
|
91
|
+
.storeUint(exports.SettingsOpCodes.admin_changeAdmin, 32)
|
|
92
|
+
.storeUint(params?.queryId ?? 0, 64)
|
|
93
|
+
.storeAddress(params?.adminAddress ?? null)
|
|
94
|
+
.endCell(),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
async sendCancelChangingAdmin(provider, via, value, params) {
|
|
98
|
+
await provider.internal(via, {
|
|
99
|
+
value,
|
|
100
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
101
|
+
body: (0, core_1.beginCell)()
|
|
102
|
+
.storeUint(exports.SettingsOpCodes.admin_cancelChangingAdmin, 32)
|
|
103
|
+
.storeUint(params?.queryId ?? 0, 64)
|
|
104
|
+
.endCell(),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async sendConfirmChangingAdmin(provider, via, value, params) {
|
|
108
|
+
await provider.internal(via, {
|
|
109
|
+
value,
|
|
110
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
111
|
+
body: (0, core_1.beginCell)()
|
|
112
|
+
.storeUint(exports.SettingsOpCodes.newAdmin_confirmChangingAdmin, 32)
|
|
113
|
+
.storeUint(params?.queryId ?? 0, 64)
|
|
114
|
+
.endCell(),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async getValue(provider, key) {
|
|
118
|
+
const { stack } = await provider.get('get', [{ type: 'int', value: key }]);
|
|
119
|
+
return {
|
|
120
|
+
value: stack.readCellOpt(),
|
|
121
|
+
found: stack.readBoolean(),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
async getAdminAddresses(provider) {
|
|
125
|
+
const { stack } = await provider.get('get_admin_addresses', []);
|
|
126
|
+
return {
|
|
127
|
+
adminAddress: stack.readAddress(),
|
|
128
|
+
newAdminAddress: stack.readAddressOpt() ?? undefined,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
async getAll(provider) {
|
|
132
|
+
const { stack } = await provider.get('get_all', []);
|
|
133
|
+
return stack.readCellOpt() ?? (0, core_1.beginCell)().endCell();
|
|
134
|
+
}
|
|
135
|
+
async getFullData(provider) {
|
|
136
|
+
const { stack } = await provider.get('get_full_data', []);
|
|
137
|
+
const settingsId = stack.readNumber();
|
|
138
|
+
const adminAddress = stack.readAddress();
|
|
139
|
+
const newAdminAddress = stack.readAddressOpt() ?? undefined;
|
|
140
|
+
const settings = stack.readCellOpt();
|
|
141
|
+
return {
|
|
142
|
+
settingsId,
|
|
143
|
+
adminAddress,
|
|
144
|
+
newAdminAddress,
|
|
145
|
+
settings: settings?.beginParse().loadDictDirect(core_1.Dictionary.Keys.BigUint(256), core_1.Dictionary.Values.Cell()) ??
|
|
146
|
+
core_1.Dictionary.empty(core_1.Dictionary.Keys.BigUint(256), core_1.Dictionary.Values.Cell()),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.Settings = Settings;
|
|
151
|
+
Settings.minStorageDuration = 10 * 365 * 24 * 3600; // 10 years
|
|
152
|
+
Settings.minStorageStats = new GasUtils_1.StorageStats(29557n, 104n);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Cell, Slice, Message, DictionaryValue, Transaction } from '@ton/core';
|
|
2
|
+
export type GasPrices = {
|
|
3
|
+
flat_gas_limit: bigint;
|
|
4
|
+
flat_gas_price: bigint;
|
|
5
|
+
gas_price: bigint;
|
|
6
|
+
};
|
|
7
|
+
export type StorageValue = {
|
|
8
|
+
utime_sice: number;
|
|
9
|
+
bit_price_ps: bigint;
|
|
10
|
+
cell_price_ps: bigint;
|
|
11
|
+
mc_bit_price_ps: bigint;
|
|
12
|
+
mc_cell_price_ps: bigint;
|
|
13
|
+
};
|
|
14
|
+
export type MsgPrices = ReturnType<typeof configParseMsgPrices>;
|
|
15
|
+
export type FullFees = ReturnType<typeof computeFwdFeesVerbose>;
|
|
16
|
+
export declare class StorageStats {
|
|
17
|
+
bits: bigint;
|
|
18
|
+
cells: bigint;
|
|
19
|
+
constructor(bits?: number | bigint, cells?: number | bigint);
|
|
20
|
+
add(...stats: StorageStats[]): StorageStats;
|
|
21
|
+
sub(...stats: StorageStats[]): StorageStats;
|
|
22
|
+
addBits(bits: number | bigint): StorageStats;
|
|
23
|
+
subBits(bits: number | bigint): StorageStats;
|
|
24
|
+
addCells(cells: number | bigint): StorageStats;
|
|
25
|
+
subCells(cells: number | bigint): StorageStats;
|
|
26
|
+
toString(): string;
|
|
27
|
+
}
|
|
28
|
+
export declare function computedGeneric<T extends Transaction>(transaction: T): import("@ton/core").TransactionComputeVm;
|
|
29
|
+
export declare function storageGeneric<T extends Transaction>(transaction: T): import("@ton/core").TransactionStoragePhase;
|
|
30
|
+
export declare function shr16ceil(src: bigint): bigint;
|
|
31
|
+
export declare function collectCellStats(cell: Cell, visited: Array<string>, skipRoot?: boolean): StorageStats;
|
|
32
|
+
export declare function getGasPrices(configRaw: Cell, workchain: 0 | -1): GasPrices;
|
|
33
|
+
export declare function setGasPrice(configRaw: Cell, prices: GasPrices, workchain: 0 | -1): Cell;
|
|
34
|
+
export declare const storageValue: DictionaryValue<StorageValue>;
|
|
35
|
+
export declare function getStoragePrices(configRaw: Cell): StorageValue;
|
|
36
|
+
export declare function calcStorageFee(prices: StorageValue, stats: StorageStats, duration: bigint): bigint;
|
|
37
|
+
export declare function calcMasterchainStorageFee(prices: StorageValue, stats: StorageStats, duration: bigint): bigint;
|
|
38
|
+
export declare function setStoragePrices(configRaw: Cell, prices: StorageValue): Cell;
|
|
39
|
+
export declare function computeGasFee(prices: GasPrices, gas: bigint): bigint;
|
|
40
|
+
export declare function computeDefaultForwardFee(msgPrices: MsgPrices): bigint;
|
|
41
|
+
export declare function computeCellForwardFees(msgPrices: MsgPrices, msg: Cell): bigint;
|
|
42
|
+
export declare function computeMessageForwardFees(msgPrices: MsgPrices, msg: Message): {
|
|
43
|
+
fees: bigint;
|
|
44
|
+
res: bigint;
|
|
45
|
+
remaining: bigint;
|
|
46
|
+
stats: StorageStats;
|
|
47
|
+
} | {
|
|
48
|
+
fees: {
|
|
49
|
+
total: bigint;
|
|
50
|
+
res: bigint;
|
|
51
|
+
remaining: bigint;
|
|
52
|
+
};
|
|
53
|
+
stats: StorageStats;
|
|
54
|
+
res?: undefined;
|
|
55
|
+
remaining?: undefined;
|
|
56
|
+
};
|
|
57
|
+
export declare const configParseMsgPrices: (sc: Slice) => {
|
|
58
|
+
lumpPrice: bigint;
|
|
59
|
+
bitPrice: bigint;
|
|
60
|
+
cellPrice: bigint;
|
|
61
|
+
ihrPriceFactor: bigint;
|
|
62
|
+
firstFrac: bigint;
|
|
63
|
+
nextFrac: bigint;
|
|
64
|
+
};
|
|
65
|
+
export declare const setMsgPrices: (configRaw: Cell, prices: MsgPrices, workchain: 0 | -1) => Cell;
|
|
66
|
+
export declare const getMsgPrices: (configRaw: Cell, workchain: 0 | -1) => {
|
|
67
|
+
lumpPrice: bigint;
|
|
68
|
+
bitPrice: bigint;
|
|
69
|
+
cellPrice: bigint;
|
|
70
|
+
ihrPriceFactor: bigint;
|
|
71
|
+
firstFrac: bigint;
|
|
72
|
+
nextFrac: bigint;
|
|
73
|
+
};
|
|
74
|
+
export declare function computeFwdFees(msgPrices: MsgPrices, cells: bigint, bits: bigint): bigint;
|
|
75
|
+
export declare function computeFwdFeesVerbose(msgPrices: MsgPrices, cells: bigint | number, bits: bigint | number): {
|
|
76
|
+
total: bigint;
|
|
77
|
+
res: bigint;
|
|
78
|
+
remaining: bigint;
|
|
79
|
+
};
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMsgPrices = exports.setMsgPrices = exports.configParseMsgPrices = exports.storageValue = exports.StorageStats = void 0;
|
|
4
|
+
exports.computedGeneric = computedGeneric;
|
|
5
|
+
exports.storageGeneric = storageGeneric;
|
|
6
|
+
exports.shr16ceil = shr16ceil;
|
|
7
|
+
exports.collectCellStats = collectCellStats;
|
|
8
|
+
exports.getGasPrices = getGasPrices;
|
|
9
|
+
exports.setGasPrice = setGasPrice;
|
|
10
|
+
exports.getStoragePrices = getStoragePrices;
|
|
11
|
+
exports.calcStorageFee = calcStorageFee;
|
|
12
|
+
exports.calcMasterchainStorageFee = calcMasterchainStorageFee;
|
|
13
|
+
exports.setStoragePrices = setStoragePrices;
|
|
14
|
+
exports.computeGasFee = computeGasFee;
|
|
15
|
+
exports.computeDefaultForwardFee = computeDefaultForwardFee;
|
|
16
|
+
exports.computeCellForwardFees = computeCellForwardFees;
|
|
17
|
+
exports.computeMessageForwardFees = computeMessageForwardFees;
|
|
18
|
+
exports.computeFwdFees = computeFwdFees;
|
|
19
|
+
exports.computeFwdFeesVerbose = computeFwdFeesVerbose;
|
|
20
|
+
const core_1 = require("@ton/core");
|
|
21
|
+
class StorageStats {
|
|
22
|
+
constructor(bits, cells) {
|
|
23
|
+
this.bits = bits !== undefined ? BigInt(bits) : 0n;
|
|
24
|
+
this.cells = cells !== undefined ? BigInt(cells) : 0n;
|
|
25
|
+
}
|
|
26
|
+
add(...stats) {
|
|
27
|
+
let cells = this.cells, bits = this.bits;
|
|
28
|
+
for (let stat of stats) {
|
|
29
|
+
bits += stat.bits;
|
|
30
|
+
cells += stat.cells;
|
|
31
|
+
}
|
|
32
|
+
return new StorageStats(bits, cells);
|
|
33
|
+
}
|
|
34
|
+
sub(...stats) {
|
|
35
|
+
let cells = this.cells, bits = this.bits;
|
|
36
|
+
for (let stat of stats) {
|
|
37
|
+
bits -= stat.bits;
|
|
38
|
+
cells -= stat.cells;
|
|
39
|
+
}
|
|
40
|
+
return new StorageStats(bits, cells);
|
|
41
|
+
}
|
|
42
|
+
addBits(bits) {
|
|
43
|
+
return new StorageStats(this.bits + BigInt(bits), this.cells);
|
|
44
|
+
}
|
|
45
|
+
subBits(bits) {
|
|
46
|
+
return new StorageStats(this.bits - BigInt(bits), this.cells);
|
|
47
|
+
}
|
|
48
|
+
addCells(cells) {
|
|
49
|
+
return new StorageStats(this.bits, this.cells + BigInt(cells));
|
|
50
|
+
}
|
|
51
|
+
subCells(cells) {
|
|
52
|
+
return new StorageStats(this.bits, this.cells - BigInt(cells));
|
|
53
|
+
}
|
|
54
|
+
toString() {
|
|
55
|
+
return JSON.stringify({
|
|
56
|
+
bits: this.bits.toString(),
|
|
57
|
+
cells: this.cells.toString(),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.StorageStats = StorageStats;
|
|
62
|
+
function computedGeneric(transaction) {
|
|
63
|
+
if (transaction.description.type !== 'generic')
|
|
64
|
+
throw 'Expected generic transactionaction';
|
|
65
|
+
if (transaction.description.computePhase.type !== 'vm')
|
|
66
|
+
throw 'Compute phase expected';
|
|
67
|
+
return transaction.description.computePhase;
|
|
68
|
+
}
|
|
69
|
+
function storageGeneric(transaction) {
|
|
70
|
+
if (transaction.description.type !== 'generic')
|
|
71
|
+
throw 'Expected generic transactionaction';
|
|
72
|
+
const storagePhase = transaction.description.storagePhase;
|
|
73
|
+
if (storagePhase === null || storagePhase === undefined)
|
|
74
|
+
throw 'Storage phase expected';
|
|
75
|
+
return storagePhase;
|
|
76
|
+
}
|
|
77
|
+
function shr16ceil(src) {
|
|
78
|
+
let rem = src % BigInt(65536);
|
|
79
|
+
let res = src / 65536n; // >> BigInt(16);
|
|
80
|
+
if (rem != BigInt(0)) {
|
|
81
|
+
res += BigInt(1);
|
|
82
|
+
}
|
|
83
|
+
return res;
|
|
84
|
+
}
|
|
85
|
+
function collectCellStats(cell, visited, skipRoot = false) {
|
|
86
|
+
let bits = skipRoot ? 0n : BigInt(cell.bits.length);
|
|
87
|
+
let cells = skipRoot ? 0n : 1n;
|
|
88
|
+
let hash = cell.hash().toString();
|
|
89
|
+
if (visited.includes(hash)) {
|
|
90
|
+
// We should not account for current cell data if visited
|
|
91
|
+
return new StorageStats();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
visited.push(hash);
|
|
95
|
+
}
|
|
96
|
+
for (let ref of cell.refs) {
|
|
97
|
+
let r = collectCellStats(ref, visited);
|
|
98
|
+
cells += r.cells;
|
|
99
|
+
bits += r.bits;
|
|
100
|
+
}
|
|
101
|
+
return new StorageStats(bits, cells);
|
|
102
|
+
}
|
|
103
|
+
function getGasPrices(configRaw, workchain) {
|
|
104
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
105
|
+
const ds = config.get(21 + workchain).beginParse();
|
|
106
|
+
if (ds.loadUint(8) !== 0xd1) {
|
|
107
|
+
throw new Error('Invalid flat gas prices tag!');
|
|
108
|
+
}
|
|
109
|
+
const flat_gas_limit = ds.loadUintBig(64);
|
|
110
|
+
const flat_gas_price = ds.loadUintBig(64);
|
|
111
|
+
if (ds.loadUint(8) !== 0xde) {
|
|
112
|
+
throw new Error('Invalid gas prices tag!');
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
flat_gas_limit,
|
|
116
|
+
flat_gas_price,
|
|
117
|
+
gas_price: ds.preloadUintBig(64),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function setGasPrice(configRaw, prices, workchain) {
|
|
121
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
122
|
+
const idx = 21 + workchain;
|
|
123
|
+
const ds = config.get(idx);
|
|
124
|
+
const tail = ds.beginParse().skip(8 + 64 + 64 + 8 + 64);
|
|
125
|
+
const newPrices = (0, core_1.beginCell)()
|
|
126
|
+
.storeUint(0xd1, 8)
|
|
127
|
+
.storeUint(prices.flat_gas_limit, 64)
|
|
128
|
+
.storeUint(prices.flat_gas_price, 64)
|
|
129
|
+
.storeUint(0xde, 8)
|
|
130
|
+
.storeUint(prices.gas_price, 64)
|
|
131
|
+
.storeSlice(tail)
|
|
132
|
+
.endCell();
|
|
133
|
+
config.set(idx, newPrices);
|
|
134
|
+
return (0, core_1.beginCell)().storeDictDirect(config).endCell();
|
|
135
|
+
}
|
|
136
|
+
exports.storageValue = {
|
|
137
|
+
serialize: (src, builder) => {
|
|
138
|
+
builder
|
|
139
|
+
.storeUint(0xcc, 8)
|
|
140
|
+
.storeUint(src.utime_sice, 32)
|
|
141
|
+
.storeUint(src.bit_price_ps, 64)
|
|
142
|
+
.storeUint(src.cell_price_ps, 64)
|
|
143
|
+
.storeUint(src.mc_bit_price_ps, 64)
|
|
144
|
+
.storeUint(src.mc_cell_price_ps, 64);
|
|
145
|
+
},
|
|
146
|
+
parse: (src) => {
|
|
147
|
+
return {
|
|
148
|
+
utime_sice: src.skip(8).loadUint(32),
|
|
149
|
+
bit_price_ps: src.loadUintBig(64),
|
|
150
|
+
cell_price_ps: src.loadUintBig(64),
|
|
151
|
+
mc_bit_price_ps: src.loadUintBig(64),
|
|
152
|
+
mc_cell_price_ps: src.loadUintBig(64),
|
|
153
|
+
};
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
function getStoragePrices(configRaw) {
|
|
157
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
158
|
+
const storageData = core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.Uint(32), exports.storageValue, config.get(18));
|
|
159
|
+
const values = storageData.values();
|
|
160
|
+
return values[values.length - 1];
|
|
161
|
+
}
|
|
162
|
+
function calcStorageFee(prices, stats, duration) {
|
|
163
|
+
return shr16ceil((stats.bits * prices.bit_price_ps + stats.cells * prices.cell_price_ps) * duration);
|
|
164
|
+
}
|
|
165
|
+
function calcMasterchainStorageFee(prices, stats, duration) {
|
|
166
|
+
return shr16ceil((stats.bits * prices.mc_bit_price_ps + stats.cells * prices.mc_cell_price_ps) * duration);
|
|
167
|
+
}
|
|
168
|
+
function setStoragePrices(configRaw, prices) {
|
|
169
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
170
|
+
const storageData = core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.Uint(32), exports.storageValue, config.get(18));
|
|
171
|
+
storageData.set(storageData.values().length - 1, prices);
|
|
172
|
+
config.set(18, (0, core_1.beginCell)().storeDictDirect(storageData).endCell());
|
|
173
|
+
return (0, core_1.beginCell)().storeDictDirect(config).endCell();
|
|
174
|
+
}
|
|
175
|
+
function computeGasFee(prices, gas) {
|
|
176
|
+
if (gas <= prices.flat_gas_limit) {
|
|
177
|
+
return prices.flat_gas_price;
|
|
178
|
+
}
|
|
179
|
+
return prices.flat_gas_price + (prices.gas_price * (gas - prices.flat_gas_limit)) / 65536n;
|
|
180
|
+
}
|
|
181
|
+
function computeDefaultForwardFee(msgPrices) {
|
|
182
|
+
return msgPrices.lumpPrice - ((msgPrices.lumpPrice * msgPrices.firstFrac) >> BigInt(16));
|
|
183
|
+
}
|
|
184
|
+
function computeCellForwardFees(msgPrices, msg) {
|
|
185
|
+
let storageStats = collectCellStats(msg, [], true);
|
|
186
|
+
return computeFwdFees(msgPrices, storageStats.cells, storageStats.bits);
|
|
187
|
+
}
|
|
188
|
+
function computeMessageForwardFees(msgPrices, msg) {
|
|
189
|
+
// let msg = loadMessageRelaxed(cell.beginParse());
|
|
190
|
+
let storageStats = new StorageStats();
|
|
191
|
+
if (msg.info.type !== 'internal') {
|
|
192
|
+
throw Error('Helper intended for internal messages');
|
|
193
|
+
}
|
|
194
|
+
const defaultFwd = computeDefaultForwardFee(msgPrices);
|
|
195
|
+
// If message forward fee matches default than msg cell is flat
|
|
196
|
+
if (msg.info.forwardFee == defaultFwd) {
|
|
197
|
+
return { fees: msgPrices.lumpPrice, res: defaultFwd, remaining: defaultFwd, stats: storageStats };
|
|
198
|
+
}
|
|
199
|
+
let visited = [];
|
|
200
|
+
// Init
|
|
201
|
+
if (msg.init) {
|
|
202
|
+
let addBits = 5n; // Minimal additional bits
|
|
203
|
+
let refCount = 0;
|
|
204
|
+
if (msg.init.splitDepth) {
|
|
205
|
+
addBits += 5n;
|
|
206
|
+
}
|
|
207
|
+
if (msg.init.libraries) {
|
|
208
|
+
refCount++;
|
|
209
|
+
storageStats = storageStats.add(collectCellStats((0, core_1.beginCell)().storeDictDirect(msg.init.libraries).endCell(), visited, true));
|
|
210
|
+
}
|
|
211
|
+
if (msg.init.code) {
|
|
212
|
+
refCount++;
|
|
213
|
+
storageStats = storageStats.add(collectCellStats(msg.init.code, visited));
|
|
214
|
+
}
|
|
215
|
+
if (msg.init.data) {
|
|
216
|
+
refCount++;
|
|
217
|
+
storageStats = storageStats.add(collectCellStats(msg.init.data, visited));
|
|
218
|
+
}
|
|
219
|
+
if (refCount >= 2) {
|
|
220
|
+
//https://github.com/ton-blockchain/ton/blob/51baec48a02e5ba0106b0565410d2c2fd4665157/crypto/block/transaction.cpp#L2079
|
|
221
|
+
storageStats.cells++;
|
|
222
|
+
storageStats.bits += addBits;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const lumpBits = BigInt(msg.body.bits.length);
|
|
226
|
+
const bodyStats = collectCellStats(msg.body, visited, true);
|
|
227
|
+
storageStats = storageStats.add(bodyStats);
|
|
228
|
+
// NOTE: Extra currencies are ignored for now
|
|
229
|
+
let fees = computeFwdFeesVerbose(msgPrices, BigInt(storageStats.cells), BigInt(storageStats.bits));
|
|
230
|
+
// Meeh
|
|
231
|
+
if (fees.remaining < msg.info.forwardFee) {
|
|
232
|
+
// console.log(`Remaining ${fees.remaining} < ${msg.info.forwardFee} lump bits:${lumpBits}`);
|
|
233
|
+
storageStats = storageStats.addCells(1).addBits(lumpBits);
|
|
234
|
+
fees = computeFwdFeesVerbose(msgPrices, storageStats.cells, storageStats.bits);
|
|
235
|
+
}
|
|
236
|
+
// if(fees.remaining != msg.info.forwardFee) {
|
|
237
|
+
// throw(new Error("Something went wrong in fee calcuation!"));
|
|
238
|
+
// }
|
|
239
|
+
return { fees, stats: storageStats };
|
|
240
|
+
}
|
|
241
|
+
const configParseMsgPrices = (sc) => {
|
|
242
|
+
let magic = sc.loadUint(8);
|
|
243
|
+
if (magic != 0xea) {
|
|
244
|
+
throw Error('Invalid message prices magic number!');
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
lumpPrice: sc.loadUintBig(64),
|
|
248
|
+
bitPrice: sc.loadUintBig(64),
|
|
249
|
+
cellPrice: sc.loadUintBig(64),
|
|
250
|
+
ihrPriceFactor: sc.loadUintBig(32),
|
|
251
|
+
firstFrac: sc.loadUintBig(16),
|
|
252
|
+
nextFrac: sc.loadUintBig(16),
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
exports.configParseMsgPrices = configParseMsgPrices;
|
|
256
|
+
const setMsgPrices = (configRaw, prices, workchain) => {
|
|
257
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
258
|
+
const priceCell = (0, core_1.beginCell)()
|
|
259
|
+
.storeUint(0xea, 8)
|
|
260
|
+
.storeUint(prices.lumpPrice, 64)
|
|
261
|
+
.storeUint(prices.bitPrice, 64)
|
|
262
|
+
.storeUint(prices.cellPrice, 64)
|
|
263
|
+
.storeUint(prices.ihrPriceFactor, 32)
|
|
264
|
+
.storeUint(prices.firstFrac, 16)
|
|
265
|
+
.storeUint(prices.nextFrac, 16)
|
|
266
|
+
.endCell();
|
|
267
|
+
config.set(25 + workchain, priceCell);
|
|
268
|
+
return (0, core_1.beginCell)().storeDictDirect(config).endCell();
|
|
269
|
+
};
|
|
270
|
+
exports.setMsgPrices = setMsgPrices;
|
|
271
|
+
const getMsgPrices = (configRaw, workchain) => {
|
|
272
|
+
const config = configRaw.beginParse().loadDictDirect(core_1.Dictionary.Keys.Int(32), core_1.Dictionary.Values.Cell());
|
|
273
|
+
const prices = config.get(25 + workchain);
|
|
274
|
+
if (prices === undefined) {
|
|
275
|
+
throw Error('No prices defined in config');
|
|
276
|
+
}
|
|
277
|
+
return (0, exports.configParseMsgPrices)(prices.beginParse());
|
|
278
|
+
};
|
|
279
|
+
exports.getMsgPrices = getMsgPrices;
|
|
280
|
+
function computeFwdFees(msgPrices, cells, bits) {
|
|
281
|
+
return msgPrices.lumpPrice + shr16ceil(msgPrices.bitPrice * bits + msgPrices.cellPrice * cells);
|
|
282
|
+
}
|
|
283
|
+
function computeFwdFeesVerbose(msgPrices, cells, bits) {
|
|
284
|
+
const fees = computeFwdFees(msgPrices, BigInt(cells), BigInt(bits));
|
|
285
|
+
const res = (fees * msgPrices.firstFrac) >> 16n;
|
|
286
|
+
return {
|
|
287
|
+
total: fees,
|
|
288
|
+
res,
|
|
289
|
+
remaining: fees - res,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Cell, Dictionary } from '@ton/core';
|
|
2
|
+
export type MerkleRoot = {
|
|
3
|
+
root: bigint;
|
|
4
|
+
validTimestamp: number;
|
|
5
|
+
};
|
|
6
|
+
export declare function cellToArray(addrDict: Cell | null): Array<MerkleRoot>;
|
|
7
|
+
export declare function arrayToCell(arr: Array<MerkleRoot>): Dictionary<bigint, number>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cellToArray = cellToArray;
|
|
4
|
+
exports.arrayToCell = arrayToCell;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
const Constants_1 = require("../Constants");
|
|
7
|
+
function cellToArray(addrDict) {
|
|
8
|
+
let resArr = [];
|
|
9
|
+
if (addrDict !== null) {
|
|
10
|
+
const dict = core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.BigUint(Constants_1.Params.bitsize.hash), core_1.Dictionary.Values.Uint(Constants_1.Params.bitsize.time), addrDict);
|
|
11
|
+
resArr = dict.keys().map((root) => {
|
|
12
|
+
const time = dict.get(root);
|
|
13
|
+
return {
|
|
14
|
+
root: root,
|
|
15
|
+
validTimestamp: time,
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return resArr;
|
|
20
|
+
}
|
|
21
|
+
function arrayToCell(arr) {
|
|
22
|
+
let dict = core_1.Dictionary.empty(core_1.Dictionary.Keys.BigUint(Constants_1.Params.bitsize.hash), core_1.Dictionary.Values.Uint(Constants_1.Params.bitsize.time));
|
|
23
|
+
for (let i = 0; i < arr.length; i++) {
|
|
24
|
+
dict.set(arr[i].root, arr[i].validTimestamp);
|
|
25
|
+
}
|
|
26
|
+
return dict;
|
|
27
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { CrossChainLayer, CrossChainLayerConfig, CrossChainLayerOpCodes, MsgType } from "./internal/wrappers/CrossChainLayer";
|
|
2
|
+
export { JettonMinter, JettonMinterConfig, JettonMinterData, JettonMinterOpCodes } from "./internal/wrappers/JettonMinter";
|
|
3
|
+
export { JettonProxy, JettonProxyConfig, JettonProxyOpCodes } from "./internal/wrappers/JettonProxy";
|
|
4
|
+
export { JettonWallet, JettonWalletConfig, JettonWalletData, JettonWalletOpCodes } from "./internal/wrappers/JettonWallet";
|
|
5
|
+
export { NFTCollection, NFTCollectionConfig, NFTCollectionData, NFTCollectionOpCodes } from "./internal/wrappers/NFTCollection";
|
|
6
|
+
export { NFTItem, NFTItemConfig, NFTItemData, NFTItemOpCodes } from "./internal/wrappers/NFTItem";
|
|
7
|
+
export { NFTProxy, NFTProxyConfig, NFTProxyOpCodes } from "./internal/wrappers/NFTProxy";
|
|
8
|
+
export { Settings, SettingsConfig } from "./internal/wrappers/Settings";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Settings = exports.NFTProxyOpCodes = exports.NFTProxy = exports.NFTItemOpCodes = exports.NFTItem = exports.NFTCollectionOpCodes = exports.NFTCollection = exports.JettonWalletOpCodes = exports.JettonWallet = exports.JettonProxyOpCodes = exports.JettonProxy = exports.JettonMinterOpCodes = exports.JettonMinter = exports.MsgType = exports.CrossChainLayerOpCodes = exports.CrossChainLayer = void 0;
|
|
4
|
+
var CrossChainLayer_1 = require("./internal/wrappers/CrossChainLayer");
|
|
5
|
+
Object.defineProperty(exports, "CrossChainLayer", { enumerable: true, get: function () { return CrossChainLayer_1.CrossChainLayer; } });
|
|
6
|
+
Object.defineProperty(exports, "CrossChainLayerOpCodes", { enumerable: true, get: function () { return CrossChainLayer_1.CrossChainLayerOpCodes; } });
|
|
7
|
+
Object.defineProperty(exports, "MsgType", { enumerable: true, get: function () { return CrossChainLayer_1.MsgType; } });
|
|
8
|
+
var JettonMinter_1 = require("./internal/wrappers/JettonMinter");
|
|
9
|
+
Object.defineProperty(exports, "JettonMinter", { enumerable: true, get: function () { return JettonMinter_1.JettonMinter; } });
|
|
10
|
+
Object.defineProperty(exports, "JettonMinterOpCodes", { enumerable: true, get: function () { return JettonMinter_1.JettonMinterOpCodes; } });
|
|
11
|
+
var JettonProxy_1 = require("./internal/wrappers/JettonProxy");
|
|
12
|
+
Object.defineProperty(exports, "JettonProxy", { enumerable: true, get: function () { return JettonProxy_1.JettonProxy; } });
|
|
13
|
+
Object.defineProperty(exports, "JettonProxyOpCodes", { enumerable: true, get: function () { return JettonProxy_1.JettonProxyOpCodes; } });
|
|
14
|
+
var JettonWallet_1 = require("./internal/wrappers/JettonWallet");
|
|
15
|
+
Object.defineProperty(exports, "JettonWallet", { enumerable: true, get: function () { return JettonWallet_1.JettonWallet; } });
|
|
16
|
+
Object.defineProperty(exports, "JettonWalletOpCodes", { enumerable: true, get: function () { return JettonWallet_1.JettonWalletOpCodes; } });
|
|
17
|
+
var NFTCollection_1 = require("./internal/wrappers/NFTCollection");
|
|
18
|
+
Object.defineProperty(exports, "NFTCollection", { enumerable: true, get: function () { return NFTCollection_1.NFTCollection; } });
|
|
19
|
+
Object.defineProperty(exports, "NFTCollectionOpCodes", { enumerable: true, get: function () { return NFTCollection_1.NFTCollectionOpCodes; } });
|
|
20
|
+
var NFTItem_1 = require("./internal/wrappers/NFTItem");
|
|
21
|
+
Object.defineProperty(exports, "NFTItem", { enumerable: true, get: function () { return NFTItem_1.NFTItem; } });
|
|
22
|
+
Object.defineProperty(exports, "NFTItemOpCodes", { enumerable: true, get: function () { return NFTItem_1.NFTItemOpCodes; } });
|
|
23
|
+
var NFTProxy_1 = require("./internal/wrappers/NFTProxy");
|
|
24
|
+
Object.defineProperty(exports, "NFTProxy", { enumerable: true, get: function () { return NFTProxy_1.NFTProxy; } });
|
|
25
|
+
Object.defineProperty(exports, "NFTProxyOpCodes", { enumerable: true, get: function () { return NFTProxy_1.NFTProxyOpCodes; } });
|
|
26
|
+
var Settings_1 = require("./internal/wrappers/Settings");
|
|
27
|
+
Object.defineProperty(exports, "Settings", { enumerable: true, get: function () { return Settings_1.Settings; } });
|