@tonappchain/sdk 0.7.0-rc9 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +4 -3
- package/dist/{assets → src/assets}/FT.d.ts +14 -17
- package/dist/{assets → src/assets}/FT.js +94 -58
- package/dist/{assets → src/assets}/NFT.d.ts +15 -16
- package/dist/{assets → src/assets}/NFT.js +58 -32
- package/dist/{assets → src/assets}/TON.d.ts +8 -13
- package/dist/{assets → src/assets}/TON.js +27 -21
- 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 +118 -67
- 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 -32
- package/dist/sdk/TacSdk.js +0 -154
- 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 -66
- 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,185 @@
|
|
|
1
|
+
import { Wallet } from 'ethers';
|
|
2
|
+
import { JettonMinterData, NFTItemData } from '../../artifacts/tonTypes';
|
|
3
|
+
import { FT, NFT } from '../assets';
|
|
4
|
+
import type { SenderAbstraction } from '../sender';
|
|
5
|
+
import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, AssetLike, BatchCrossChainTxWithAssetLike, CrossChainTransactionOptions, CrossChainTransactionsOptions, CrosschainTx, EVMAddress, EvmProxyMsg, ExecutionFeeEstimationResult, NFTAddressType, SuggestedTVMExecutorFee, TACSimulationParams, TACSimulationResult, TransactionLinkerWithOperationId, TVMAddress, UserWalletBalanceExtended, WaitOptions } from '../structs/Struct';
|
|
6
|
+
import { Asset } from './Asset';
|
|
7
|
+
import { IConfiguration } from './IConfiguration';
|
|
8
|
+
import { IOperationTracker } from './IOperationTracker';
|
|
9
|
+
export interface ITacSDK {
|
|
10
|
+
readonly config: IConfiguration;
|
|
11
|
+
/**
|
|
12
|
+
* TON native token (TON coin) address configured for the current network.
|
|
13
|
+
* @returns TON address string.
|
|
14
|
+
*/
|
|
15
|
+
get nativeTONAddress(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the TAC (TON App Chain) native token address for the current network.
|
|
18
|
+
* @returns Promise that resolves to the TAC token master address.
|
|
19
|
+
*/
|
|
20
|
+
nativeTACAddress(): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* List of TAC (EVM-side) executor addresses considered trusted for fee payments/validations.
|
|
23
|
+
*/
|
|
24
|
+
get getTrustedTACExecutors(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* List of TON (TVM-side) executor addresses considered trusted for fee payments/validations.
|
|
27
|
+
*/
|
|
28
|
+
get getTrustedTONExecutors(): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Closes any underlying network connections, clients, or subscriptions established by the SDK.
|
|
31
|
+
* Implementations should be idempotent and safe to call multiple times.
|
|
32
|
+
*/
|
|
33
|
+
closeConnections(): unknown;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a typed asset wrapper instance based on provided arguments.
|
|
36
|
+
* Pass FT, NFT collection or NFT item parameters; the returned type will match the input.
|
|
37
|
+
* @param args Parameters that describe the asset to wrap (FT/NFT collection/NFT item).
|
|
38
|
+
* @returns Promise resolving to a generic Asset. Use overloads for stronger typing.
|
|
39
|
+
*/
|
|
40
|
+
getAsset(args: AssetFromFTArg | AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<Asset>;
|
|
41
|
+
getAsset(args: AssetFromFTArg): Promise<FT>;
|
|
42
|
+
getAsset(args: AssetFromNFTCollectionArg): Promise<NFT>;
|
|
43
|
+
getAsset(args: AssetFromNFTItemArg): Promise<NFT>;
|
|
44
|
+
/**
|
|
45
|
+
* Returns a fungible token (Jetton) asset wrapper by its TVM or EVM address.
|
|
46
|
+
* @param address TVM or EVM token address.
|
|
47
|
+
* @returns Promise resolving to an FT wrapper.
|
|
48
|
+
*/
|
|
49
|
+
getFT(address: TVMAddress | EVMAddress): Promise<FT>;
|
|
50
|
+
/**
|
|
51
|
+
* Returns an NFT asset wrapper for either a collection or a specific item.
|
|
52
|
+
* @param args NFT collection parameters or NFT item parameters.
|
|
53
|
+
* @returns Promise resolving to an NFT wrapper.
|
|
54
|
+
*/
|
|
55
|
+
getNFT(args: AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<NFT>;
|
|
56
|
+
/**
|
|
57
|
+
* Simulates a TAC message execution without broadcasting it on-chain.
|
|
58
|
+
* Useful for estimating fees and validating transaction inputs.
|
|
59
|
+
* @param req Simulation request with encoded message and context.
|
|
60
|
+
* @returns Promise with the detailed simulation result.
|
|
61
|
+
*/
|
|
62
|
+
simulateTACMessage(req: TACSimulationParams): Promise<TACSimulationResult>;
|
|
63
|
+
/**
|
|
64
|
+
* Simulates a batch of cross-chain transactions from a given sender.
|
|
65
|
+
* @param sender Abstracted sender used for simulation context (not broadcasting).
|
|
66
|
+
* @param txs Array of cross-chain transactions to simulate.
|
|
67
|
+
* @returns Promise with an array of fee estimation results matching the input order.
|
|
68
|
+
*/
|
|
69
|
+
simulateTransactions(sender: SenderAbstraction, txs: CrosschainTx[]): Promise<ExecutionFeeEstimationResult[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Get tvm fees and simulation info for a tvm transaction using sender abstraction.
|
|
72
|
+
* @param evmProxyMsg Encoded EVM proxy message.
|
|
73
|
+
* @param sender Sender abstraction used to provide context (e.g., wallet state).
|
|
74
|
+
* @param assets Assets to be included in the transaction.
|
|
75
|
+
* @param options Optional transaction configuration including error handling and executor settings.
|
|
76
|
+
* @returns Promise with fee estimation and execution info.
|
|
77
|
+
*/
|
|
78
|
+
getSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetLike[], options?: CrossChainTransactionOptions): Promise<ExecutionFeeEstimationResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Suggests optimal TON-side executor fee for a given asset set and fee symbol.
|
|
81
|
+
* @param assets Assets to be processed on TON side.
|
|
82
|
+
* @param feeSymbol Symbol (ticker) to express the fee in.
|
|
83
|
+
* @param tvmValidExecutors Optional whitelist of allowed TVM executors.
|
|
84
|
+
* @returns Promise with suggested fee details.
|
|
85
|
+
*/
|
|
86
|
+
getTVMExecutorFeeInfo(assets: AssetLike[], feeSymbol: string, tvmValidExecutors?: string[]): Promise<SuggestedTVMExecutorFee>;
|
|
87
|
+
/**
|
|
88
|
+
* Sends a single cross-chain transaction and optionally waits for tracking information.
|
|
89
|
+
* @param evmProxyMsg Encoded EVM proxy message to be bridged.
|
|
90
|
+
* @param sender Sender abstraction responsible for signing/sending TVM messages.
|
|
91
|
+
* @param assets Optional list of assets to attach to the cross-chain message.
|
|
92
|
+
* @param options Optional cross-chain options (fees, executors, extra data, etc.).
|
|
93
|
+
* @param waitOptions Optional waiting policy for operation id resolution.
|
|
94
|
+
* @returns Promise with a TransactionLinkerWithOperationId to track the operation across chains.
|
|
95
|
+
*/
|
|
96
|
+
sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetLike[], options?: CrossChainTransactionOptions, waitOptions?: WaitOptions<string>): Promise<TransactionLinkerWithOperationId>;
|
|
97
|
+
/**
|
|
98
|
+
* Sends multiple cross-chain transactions in one batch and optionally waits for tracking info.
|
|
99
|
+
* @param sender Sender abstraction for signing/sending TVM messages.
|
|
100
|
+
* @param txs Array of cross-chain transactions to broadcast.
|
|
101
|
+
* @param options Optional options controlling waiting behavior for operation ids.
|
|
102
|
+
* @returns Promise with an array of TransactionLinkerWithOperationId for each submitted transaction.
|
|
103
|
+
*/
|
|
104
|
+
sendCrossChainTransactions(sender: SenderAbstraction, txs: BatchCrossChainTxWithAssetLike[], options?: CrossChainTransactionsOptions): Promise<TransactionLinkerWithOperationId[]>;
|
|
105
|
+
/**
|
|
106
|
+
* Bridges tokens/value from EVM to TON chain via the executor.
|
|
107
|
+
* @param signer Ethers Wallet used to sign the EVM-side transaction.
|
|
108
|
+
* @param value Amount of native EVM currency to bridge (in wei as bigint).
|
|
109
|
+
* @param tonTarget Recipient TVM address on TON.
|
|
110
|
+
* @param assets Optional list of TAC assets to include for the bridge.
|
|
111
|
+
* @param tvmExecutorFee Optional explicit TON-side executor fee.
|
|
112
|
+
* @param tvmValidExecutors Optional whitelist of allowed TVM executors.
|
|
113
|
+
* @returns Promise resolving to the EVM transaction hash or bridge identifier.
|
|
114
|
+
*/
|
|
115
|
+
bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: AssetLike[], tvmExecutorFee?: bigint, tvmValidExecutors?: string[]): Promise<string>;
|
|
116
|
+
/**
|
|
117
|
+
* Returns the user's Jetton wallet address for a given Jetton master (token) address.
|
|
118
|
+
* @param userAddress TVM user address.
|
|
119
|
+
* @param tokenAddress Jetton master address.
|
|
120
|
+
* @returns Promise resolving to the Jetton wallet address.
|
|
121
|
+
*/
|
|
122
|
+
getUserJettonWalletAddress(userAddress: string, tokenAddress: string): Promise<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Returns Jetton balance for a user and a given Jetton master address.
|
|
125
|
+
* @param userAddress TVM user address.
|
|
126
|
+
* @param tokenAddress Jetton master address.
|
|
127
|
+
* @returns Promise resolving to the balance in raw base units (bigint).
|
|
128
|
+
*/
|
|
129
|
+
getUserJettonBalance(userAddress: string, tokenAddress: string): Promise<bigint>;
|
|
130
|
+
/**
|
|
131
|
+
* Returns extended Jetton wallet information including balance and metadata.
|
|
132
|
+
* @param userAddress TVM user address.
|
|
133
|
+
* @param tokenAddress Jetton master address.
|
|
134
|
+
* @returns Promise resolving to extended wallet data.
|
|
135
|
+
*/
|
|
136
|
+
getUserJettonBalanceExtended(userAddress: string, tokenAddress: string): Promise<UserWalletBalanceExtended>;
|
|
137
|
+
/**
|
|
138
|
+
* Returns Jetton master data (metadata and configuration) for a given Jetton master address.
|
|
139
|
+
* @param itemAddress Jetton master TVM address.
|
|
140
|
+
* @returns Promise resolving to JettonMinterData.
|
|
141
|
+
*/
|
|
142
|
+
getJettonData(itemAddress: TVMAddress): Promise<JettonMinterData>;
|
|
143
|
+
/**
|
|
144
|
+
* Returns NFT item data for the specified TVM address.
|
|
145
|
+
* @param itemAddress TVM address of the NFT item.
|
|
146
|
+
* @returns Promise resolving to the NFT item data.
|
|
147
|
+
*/
|
|
148
|
+
getNFTItemData(itemAddress: TVMAddress): Promise<NFTItemData>;
|
|
149
|
+
/**
|
|
150
|
+
* Resolves the EVM token address that corresponds to the provided TVM token address.
|
|
151
|
+
* @param tvmTokenAddress TVM token (Jetton) master address.
|
|
152
|
+
* @returns Promise resolving to the EVM token address.
|
|
153
|
+
*/
|
|
154
|
+
getEVMTokenAddress(tvmTokenAddress: string): Promise<string>;
|
|
155
|
+
/**
|
|
156
|
+
* Resolves the TVM token address that corresponds to the provided EVM token address.
|
|
157
|
+
* @param evmTokenAddress EVM token contract address (checksum string).
|
|
158
|
+
* @returns Promise resolving to the TVM token (Jetton) master address.
|
|
159
|
+
*/
|
|
160
|
+
getTVMTokenAddress(evmTokenAddress: string): Promise<string>;
|
|
161
|
+
/**
|
|
162
|
+
* Resolves the TVM NFT address for a given EVM NFT contract and optional token id.
|
|
163
|
+
* @param evmNFTAddress EVM NFT contract address.
|
|
164
|
+
* @param tokenId Optional NFT token id; when omitted, returns the collection address if applicable.
|
|
165
|
+
* @returns Promise resolving to the TVM NFT address.
|
|
166
|
+
*/
|
|
167
|
+
getTVMNFTAddress(evmNFTAddress: string, tokenId?: number | bigint): Promise<string>;
|
|
168
|
+
/**
|
|
169
|
+
* Resolves the EVM NFT address for a given TVM NFT address and desired address type.
|
|
170
|
+
* @param tvmNFTAddress TVM NFT item or collection address.
|
|
171
|
+
* @param addressType Desired address type on EVM side (collection or item).
|
|
172
|
+
* @returns Promise resolving to the EVM NFT address.
|
|
173
|
+
*/
|
|
174
|
+
getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
|
|
175
|
+
/**
|
|
176
|
+
* Checks whether a contract is deployed at the provided TVM address on the current network.
|
|
177
|
+
* @param address TVM address to check.
|
|
178
|
+
* @returns Promise resolving to true if deployed, false otherwise.
|
|
179
|
+
*/
|
|
180
|
+
isContractDeployedOnTVM(address: string): Promise<boolean>;
|
|
181
|
+
/**
|
|
182
|
+
* Returns the operation tracker instance used for querying operation statuses and utilities.
|
|
183
|
+
*/
|
|
184
|
+
getOperationTracker(): IOperationTracker;
|
|
185
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SendResult, ShardTransaction } from '../structs/InternalStruct';
|
|
2
|
+
import { Network } from '../structs/Struct';
|
|
3
|
+
import type { Asset, ContractOpener } from './index';
|
|
4
|
+
export interface SenderAbstraction {
|
|
5
|
+
/**
|
|
6
|
+
* Sends a single shard transaction on the specified chain.
|
|
7
|
+
* @param shardTransaction Prepared transaction payload to send.
|
|
8
|
+
* @param chain Optional network selector; defaults to current SDK network.
|
|
9
|
+
* @param contractOpener Optional contract opener to use for sending.
|
|
10
|
+
* @returns Promise with low-level send result.
|
|
11
|
+
*/
|
|
12
|
+
sendShardTransaction(shardTransaction: ShardTransaction, chain?: Network, contractOpener?: ContractOpener): Promise<SendResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Sends multiple shard transactions as a batch.
|
|
15
|
+
* @param shardTransactions Array of prepared shard transactions to send.
|
|
16
|
+
* @param chain Optional network selector; defaults to current SDK network.
|
|
17
|
+
* @param contractOpener Optional contract opener to use for sending.
|
|
18
|
+
* @returns Promise with an array of low-level send results in the same order.
|
|
19
|
+
*/
|
|
20
|
+
sendShardTransactions(shardTransactions: ShardTransaction[], chain?: Network, contractOpener?: ContractOpener): Promise<SendResult[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the TVM address of the underlying sender wallet.
|
|
23
|
+
*/
|
|
24
|
+
getSenderAddress(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the TON balance of the sender wallet using the provided opener.
|
|
27
|
+
* @param contractOpener Contract opener used for on-chain queries.
|
|
28
|
+
*/
|
|
29
|
+
getBalance(contractOpener: ContractOpener): Promise<bigint>;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the balance of a given asset for the sender wallet.
|
|
32
|
+
* @param asset Asset wrapper instance to query balance for.
|
|
33
|
+
*/
|
|
34
|
+
getBalanceOf(asset: Asset): Promise<bigint>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Contract, ContractProvider, MessageRelaxed, SendMode } from '@ton/ton';
|
|
2
|
+
export interface WalletInstanse extends Contract {
|
|
3
|
+
/**
|
|
4
|
+
* Returns current wallet seqno, used for nonce/ordering.
|
|
5
|
+
* @param provider Contract provider to query the wallet.
|
|
6
|
+
*/
|
|
7
|
+
getSeqno(provider: ContractProvider): Promise<number>;
|
|
8
|
+
/**
|
|
9
|
+
* Sends a transfer with specified messages and send mode.
|
|
10
|
+
* @param provider Contract provider used to send the transfer.
|
|
11
|
+
* @param args Transfer arguments including seqno, secretKey, messages and sendMode.
|
|
12
|
+
*/
|
|
13
|
+
sendTransfer(provider: ContractProvider, args: {
|
|
14
|
+
seqno: number;
|
|
15
|
+
secretKey: Buffer;
|
|
16
|
+
messages: MessageRelaxed[];
|
|
17
|
+
sendMode: SendMode;
|
|
18
|
+
timeout?: number;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './Asset';
|
|
2
|
+
export * from './ContractOpener';
|
|
3
|
+
export * from './IConfiguration';
|
|
4
|
+
export * from './IHttpClient';
|
|
5
|
+
export * from './ILiteSequencerClient';
|
|
6
|
+
export * from './ILiteSequencerClientFactory';
|
|
7
|
+
export * from './ILogger';
|
|
8
|
+
export * from './IOperationTracker';
|
|
9
|
+
export * from './ISimulator';
|
|
10
|
+
export * from './ITacSDK';
|
|
11
|
+
export * from './ITACTransactionManager';
|
|
12
|
+
export * from './ITONTransactionManager';
|
|
13
|
+
export * from './SenderAbstraction';
|
|
14
|
+
export * from './WalletInstanse';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Asset"), exports);
|
|
18
|
+
__exportStar(require("./ContractOpener"), exports);
|
|
19
|
+
__exportStar(require("./IConfiguration"), exports);
|
|
20
|
+
__exportStar(require("./IHttpClient"), exports);
|
|
21
|
+
__exportStar(require("./ILiteSequencerClient"), exports);
|
|
22
|
+
__exportStar(require("./ILiteSequencerClientFactory"), exports);
|
|
23
|
+
__exportStar(require("./ILogger"), exports);
|
|
24
|
+
__exportStar(require("./IOperationTracker"), exports);
|
|
25
|
+
__exportStar(require("./ISimulator"), exports);
|
|
26
|
+
__exportStar(require("./ITacSDK"), exports);
|
|
27
|
+
__exportStar(require("./ITACTransactionManager"), exports);
|
|
28
|
+
__exportStar(require("./ITONTransactionManager"), exports);
|
|
29
|
+
__exportStar(require("./SenderAbstraction"), exports);
|
|
30
|
+
__exportStar(require("./WalletInstanse"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
import { IHttpClient } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Axios-based HTTP client that isolates SDK traffic from any global axios configuration.
|
|
5
|
+
* It uses its own axios instance, so external/global interceptors and defaults won't affect SDK requests.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AxiosHttpClient implements IHttpClient {
|
|
8
|
+
private readonly instance;
|
|
9
|
+
constructor(config?: AxiosRequestConfig);
|
|
10
|
+
get<T>(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse<T>>;
|
|
11
|
+
post<T>(url: string, data: unknown, config?: AxiosRequestConfig): Promise<AxiosResponse<T>>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AxiosHttpClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
/**
|
|
9
|
+
* Axios-based HTTP client that isolates SDK traffic from any global axios configuration.
|
|
10
|
+
* It uses its own axios instance, so external/global interceptors and defaults won't affect SDK requests.
|
|
11
|
+
*/
|
|
12
|
+
class AxiosHttpClient {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.instance = axios_1.default.create(config);
|
|
15
|
+
}
|
|
16
|
+
async get(url, config) {
|
|
17
|
+
return this.instance.get(url, config);
|
|
18
|
+
}
|
|
19
|
+
async post(url, data, config) {
|
|
20
|
+
return this.instance.post(url, data, config);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.AxiosHttpClient = AxiosHttpClient;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { mainnet, testnet } from '
|
|
1
|
+
import { dev, mainnet, testnet } from '../../artifacts';
|
|
2
|
+
import { IConfiguration } from '../interfaces';
|
|
2
3
|
import { InternalTACParams, InternalTONParams } from '../structs/InternalStruct';
|
|
3
|
-
import { IConfiguration } from '../structs/Services';
|
|
4
4
|
import { Network, TACParams, TONParams } from '../structs/Struct';
|
|
5
5
|
export declare class Configuration implements IConfiguration {
|
|
6
6
|
readonly network: Network;
|
|
7
|
-
readonly artifacts: typeof testnet | typeof mainnet;
|
|
7
|
+
readonly artifacts: typeof testnet | typeof mainnet | typeof dev;
|
|
8
8
|
readonly TONParams: InternalTONParams;
|
|
9
9
|
readonly TACParams: InternalTACParams;
|
|
10
10
|
readonly liteSequencerEndpoints: string[];
|
|
11
|
-
constructor(network: Network, artifacts: typeof testnet | typeof mainnet, TONParams: InternalTONParams, TACParams: InternalTACParams, liteSequencerEndpoints: string[]);
|
|
12
|
-
static create(network: Network, artifacts: typeof testnet | typeof mainnet, TONParams?: TONParams, TACParams?: TACParams, customLiteSequencerEndpoints?: string[], delay?: number): Promise<Configuration>;
|
|
11
|
+
constructor(network: Network, artifacts: typeof testnet | typeof mainnet | typeof dev, TONParams: InternalTONParams, TACParams: InternalTACParams, liteSequencerEndpoints: string[]);
|
|
12
|
+
static create(network: Network, artifacts: typeof testnet | typeof mainnet | typeof dev, TONParams?: TONParams, TACParams?: TACParams, customLiteSequencerEndpoints?: string[], delay?: number): Promise<Configuration>;
|
|
13
13
|
private static prepareTONParams;
|
|
14
14
|
private static prepareTACParams;
|
|
15
|
+
private static loadTACSettingsViaMulticall;
|
|
15
16
|
get nativeTONAddress(): string;
|
|
16
17
|
nativeTACAddress(): Promise<string>;
|
|
17
18
|
get getTrustedTACExecutors(): string[];
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Configuration = void 0;
|
|
4
|
+
const ton_1 = require("@ton/ton");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const artifacts_1 = require("../../artifacts");
|
|
7
|
+
const adapters_1 = require("../adapters");
|
|
8
|
+
const Struct_1 = require("../structs/Struct");
|
|
9
|
+
const Utils_1 = require("./Utils");
|
|
10
|
+
const Validator_1 = require("./Validator");
|
|
11
|
+
class Configuration {
|
|
12
|
+
constructor(network, artifacts, TONParams, TACParams, liteSequencerEndpoints) {
|
|
13
|
+
this.network = network;
|
|
14
|
+
this.artifacts = artifacts;
|
|
15
|
+
this.TONParams = TONParams;
|
|
16
|
+
this.TACParams = TACParams;
|
|
17
|
+
this.liteSequencerEndpoints = liteSequencerEndpoints;
|
|
18
|
+
}
|
|
19
|
+
static async create(network, artifacts, TONParams, TACParams, customLiteSequencerEndpoints, delay) {
|
|
20
|
+
const [internalTONParams, internalTACParams] = await Promise.all([
|
|
21
|
+
this.prepareTONParams(network, TONParams, delay),
|
|
22
|
+
this.prepareTACParams(network, TACParams),
|
|
23
|
+
]);
|
|
24
|
+
let liteSequencerEndpoints;
|
|
25
|
+
if (network === Struct_1.Network.DEV) {
|
|
26
|
+
if (!customLiteSequencerEndpoints || customLiteSequencerEndpoints.length === 0) {
|
|
27
|
+
throw new Error('For dev network, custom lite sequencer endpoints must be provided');
|
|
28
|
+
}
|
|
29
|
+
liteSequencerEndpoints = customLiteSequencerEndpoints;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
liteSequencerEndpoints = customLiteSequencerEndpoints ?? artifacts.PUBLIC_LITE_SEQUENCER_ENDPOINTS;
|
|
33
|
+
}
|
|
34
|
+
return new Configuration(network, artifacts, internalTONParams, internalTACParams, liteSequencerEndpoints);
|
|
35
|
+
}
|
|
36
|
+
static async prepareTONParams(network, TONParams, delay) {
|
|
37
|
+
let contractOpener;
|
|
38
|
+
let settingsAddress;
|
|
39
|
+
const artifacts = network === Struct_1.Network.MAINNET ? artifacts_1.mainnet : network === Struct_1.Network.TESTNET ? artifacts_1.testnet : artifacts_1.dev;
|
|
40
|
+
if (network === Struct_1.Network.DEV) {
|
|
41
|
+
if (!TONParams || !TONParams.contractOpener) {
|
|
42
|
+
throw new Error('For dev network, a custom contract opener must be provided in TONParams');
|
|
43
|
+
}
|
|
44
|
+
contractOpener = TONParams.contractOpener;
|
|
45
|
+
if (!TONParams.settingsAddress) {
|
|
46
|
+
throw new Error('For dev network, a custom settings address must be provided in TONParams');
|
|
47
|
+
}
|
|
48
|
+
settingsAddress = TONParams.settingsAddress;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
contractOpener =
|
|
52
|
+
TONParams?.contractOpener ??
|
|
53
|
+
(await (0, adapters_1.createDefaultRetryableOpener)(artifacts.TON_RPC_ENDPOINT_BY_TAC, network, 5, delay));
|
|
54
|
+
settingsAddress = TONParams?.settingsAddress ?? artifacts.TON_SETTINGS_ADDRESS;
|
|
55
|
+
}
|
|
56
|
+
const settings = contractOpener.open(artifacts.ton.wrappers.Settings.createFromAddress(ton_1.Address.parse(settingsAddress)));
|
|
57
|
+
const allSettingsSlice = (await settings.getAll()).beginParse();
|
|
58
|
+
const allSettings = allSettingsSlice.loadDictDirect(ton_1.Dictionary.Keys.BigUint(256), ton_1.Dictionary.Values.Cell());
|
|
59
|
+
const crossChainLayerAddress = (0, Utils_1.getAddressString)(allSettings.get((0, Utils_1.sha256toBigInt)('CrossChainLayerAddress')));
|
|
60
|
+
const jettonProxyAddress = (0, Utils_1.getAddressString)(allSettings.get((0, Utils_1.sha256toBigInt)('JettonProxyAddress')));
|
|
61
|
+
const nftProxyAddress = (0, Utils_1.getAddressString)(allSettings.get((0, Utils_1.sha256toBigInt)('NFTProxyAddress')));
|
|
62
|
+
const jettonWalletCode = allSettings.get((0, Utils_1.sha256toBigInt)('JettonWalletCode'));
|
|
63
|
+
const jettonMinterCode = allSettings.get((0, Utils_1.sha256toBigInt)('JettonMinterCode'));
|
|
64
|
+
const nftItemCode = allSettings.get((0, Utils_1.sha256toBigInt)('NFTItemCode'));
|
|
65
|
+
const nftCollectionCode = allSettings.get((0, Utils_1.sha256toBigInt)('NFTCollectionCode'));
|
|
66
|
+
return {
|
|
67
|
+
contractOpener,
|
|
68
|
+
jettonProxyAddress,
|
|
69
|
+
crossChainLayerAddress,
|
|
70
|
+
jettonMinterCode,
|
|
71
|
+
jettonWalletCode,
|
|
72
|
+
nftProxyAddress,
|
|
73
|
+
nftItemCode,
|
|
74
|
+
nftCollectionCode,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static async prepareTACParams(network, TACParams) {
|
|
78
|
+
const artifacts = network === Struct_1.Network.MAINNET ? artifacts_1.mainnet : network === Struct_1.Network.TESTNET ? artifacts_1.testnet : artifacts_1.dev;
|
|
79
|
+
let provider;
|
|
80
|
+
let settingsAddress;
|
|
81
|
+
let saFactoryAddress;
|
|
82
|
+
if (network === Struct_1.Network.DEV) {
|
|
83
|
+
if (!TACParams || !TACParams.provider) {
|
|
84
|
+
throw new Error('For dev network, a custom provider must be provided in TACParams');
|
|
85
|
+
}
|
|
86
|
+
provider = TACParams.provider;
|
|
87
|
+
if (!TACParams.settingsAddress) {
|
|
88
|
+
throw new Error('For dev network, a custom settings address must be provided in TACParams');
|
|
89
|
+
}
|
|
90
|
+
settingsAddress = TACParams.settingsAddress;
|
|
91
|
+
if (!TACParams.saFactoryAddress) {
|
|
92
|
+
throw new Error('For dev network, a custom smart account factory address must be provided in TACParams');
|
|
93
|
+
}
|
|
94
|
+
saFactoryAddress = TACParams.saFactoryAddress;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
provider = TACParams?.provider ?? ethers_1.ethers.getDefaultProvider(artifacts.TAC_RPC_ENDPOINT);
|
|
98
|
+
settingsAddress = TACParams?.settingsAddress ?? artifacts.TAC_SETTINGS_ADDRESS;
|
|
99
|
+
saFactoryAddress = TACParams?.saFactoryAddress ?? artifacts.TAC_SMART_ACCOUNT_FACTORY_ADDRESS;
|
|
100
|
+
}
|
|
101
|
+
Validator_1.Validator.validateEVMAddress(settingsAddress);
|
|
102
|
+
const settingsAbi = artifacts.tac.compilationArtifacts.ISettings.abi;
|
|
103
|
+
const settings = new ethers_1.ethers.Contract(settingsAddress, settingsAbi, provider);
|
|
104
|
+
const loaded = await this.loadTACSettingsViaMulticall(network, provider, settingsAddress);
|
|
105
|
+
let crossChainLayerAddress;
|
|
106
|
+
let tokenUtilsAddress;
|
|
107
|
+
let trustedTACExecutors;
|
|
108
|
+
let trustedTONExecutors;
|
|
109
|
+
if (loaded) {
|
|
110
|
+
crossChainLayerAddress = loaded.crossChainLayerAddress;
|
|
111
|
+
tokenUtilsAddress = loaded.tokenUtilsAddress;
|
|
112
|
+
trustedTACExecutors = loaded.trustedTACExecutors;
|
|
113
|
+
trustedTONExecutors = loaded.trustedTONExecutors;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
crossChainLayerAddress = await settings.getAddressSetting((0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)('CrossChainLayerAddress')));
|
|
117
|
+
tokenUtilsAddress = await settings.getAddressSetting((0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)('TokenUtilsAddress')));
|
|
118
|
+
trustedTACExecutors = await settings.getTrustedEVMExecutors();
|
|
119
|
+
trustedTONExecutors = await settings.getTrustedTVMExecutors();
|
|
120
|
+
}
|
|
121
|
+
const crossChainLayerAbi = artifacts.tac.compilationArtifacts.ICrossChainLayer.abi;
|
|
122
|
+
const crossChainLayer = new ethers_1.ethers.Contract(crossChainLayerAddress, crossChainLayerAbi, provider);
|
|
123
|
+
const tokenUtilsAbi = artifacts.tac.compilationArtifacts.ITokenUtils.abi;
|
|
124
|
+
const tokenUtils = new ethers_1.ethers.Contract(tokenUtilsAddress, tokenUtilsAbi, provider);
|
|
125
|
+
const TacSAFactoryAbi = artifacts.tac.compilationArtifacts.ISAFactory.abi;
|
|
126
|
+
const smartAccountFactory = new ethers_1.ethers.Contract(saFactoryAddress, TacSAFactoryAbi, provider);
|
|
127
|
+
return {
|
|
128
|
+
provider,
|
|
129
|
+
settings,
|
|
130
|
+
tokenUtils,
|
|
131
|
+
smartAccountFactory,
|
|
132
|
+
crossChainLayer,
|
|
133
|
+
trustedTACExecutors,
|
|
134
|
+
trustedTONExecutors,
|
|
135
|
+
abiCoder: new ethers_1.ethers.AbiCoder(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
static async loadTACSettingsViaMulticall(network, provider, settingsAddress) {
|
|
139
|
+
if (network === Struct_1.Network.DEV) {
|
|
140
|
+
// skip multicall in dev, because it's not guaranteed that multicall contract is deployed
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const artifacts = network === Struct_1.Network.MAINNET ? artifacts_1.mainnet : artifacts_1.testnet;
|
|
144
|
+
const multicallAddress = artifacts.MULTICALL_3_ADDRESS;
|
|
145
|
+
const multicallAbi = artifacts.tac.multicall.MULTICALL_ABI_ETHERS;
|
|
146
|
+
try {
|
|
147
|
+
Validator_1.Validator.validateEVMAddress(multicallAddress);
|
|
148
|
+
const multicall = new ethers_1.ethers.Contract(multicallAddress, multicallAbi, provider);
|
|
149
|
+
const abiCoder = new ethers_1.ethers.AbiCoder();
|
|
150
|
+
const selectorGetAddressSetting = ethers_1.ethers.id('getAddressSetting(bytes32)').slice(0, 10);
|
|
151
|
+
const selectorGetTrustedEVMExecutors = ethers_1.ethers.id('getTrustedEVMExecutors()').slice(0, 10);
|
|
152
|
+
const selectorGetTrustedTVMExecutors = ethers_1.ethers.id('getTrustedTVMExecutors()').slice(0, 10);
|
|
153
|
+
const crossChainLayerKey = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)('CrossChainLayerAddress'));
|
|
154
|
+
const tokenUtilsKey = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)('TokenUtilsAddress'));
|
|
155
|
+
const encodeGetAddressSetting = (key) => selectorGetAddressSetting + abiCoder.encode(['bytes32'], [key]).slice(2);
|
|
156
|
+
const calls = [
|
|
157
|
+
{ target: settingsAddress, allowFailure: false, callData: encodeGetAddressSetting(crossChainLayerKey) },
|
|
158
|
+
{ target: settingsAddress, allowFailure: false, callData: encodeGetAddressSetting(tokenUtilsKey) },
|
|
159
|
+
{ target: settingsAddress, allowFailure: false, callData: selectorGetTrustedEVMExecutors },
|
|
160
|
+
{ target: settingsAddress, allowFailure: false, callData: selectorGetTrustedTVMExecutors },
|
|
161
|
+
];
|
|
162
|
+
const results = (await multicall.aggregate3.staticCall(calls));
|
|
163
|
+
if (results.some((result) => !result.success))
|
|
164
|
+
return null;
|
|
165
|
+
return {
|
|
166
|
+
crossChainLayerAddress: abiCoder.decode(['address'], results[0].returnData)[0],
|
|
167
|
+
tokenUtilsAddress: abiCoder.decode(['address'], results[1].returnData)[0],
|
|
168
|
+
trustedTACExecutors: abiCoder.decode(['address[]'], results[2].returnData)[0],
|
|
169
|
+
trustedTONExecutors: abiCoder.decode(['string[]'], results[3].returnData)[0],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
get nativeTONAddress() {
|
|
177
|
+
return 'NONE';
|
|
178
|
+
}
|
|
179
|
+
async nativeTACAddress() {
|
|
180
|
+
return this.TACParams.crossChainLayer.NATIVE_TOKEN_ADDRESS.staticCall();
|
|
181
|
+
}
|
|
182
|
+
get getTrustedTACExecutors() {
|
|
183
|
+
return this.TACParams.trustedTACExecutors;
|
|
184
|
+
}
|
|
185
|
+
get getTrustedTONExecutors() {
|
|
186
|
+
return this.TACParams.trustedTONExecutors;
|
|
187
|
+
}
|
|
188
|
+
closeConnections() {
|
|
189
|
+
return this.TONParams.contractOpener.closeConnections?.();
|
|
190
|
+
}
|
|
191
|
+
async isContractDeployedOnTVM(address) {
|
|
192
|
+
return (await this.TONParams.contractOpener.getContractState(ton_1.Address.parse(address))).state === 'active';
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.Configuration = Configuration;
|
|
@@ -10,3 +10,6 @@ export declare const MAX_HIGHLOAD_GROUP_MSG_NUM = 254;
|
|
|
10
10
|
export declare const MAX_MSG_DEPTH = 512;
|
|
11
11
|
export declare const TON_SYMBOL = "TON";
|
|
12
12
|
export declare const TAC_SYMBOL = "TAC";
|
|
13
|
+
export declare const FIFTEEN_MINUTES: number;
|
|
14
|
+
export declare const TON_DECIMALS = 9;
|
|
15
|
+
export declare const TAC_DECIMALS = 18;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TAC_SYMBOL = exports.TON_SYMBOL = exports.MAX_MSG_DEPTH = exports.MAX_HIGHLOAD_GROUP_MSG_NUM = exports.MAX_EXT_MSG_SIZE = exports.SOLIDITY_METHOD_NAME_REGEX = exports.SOLIDITY_SIGNATURE_REGEX = exports.DEFAULT_DELAY = exports.MAX_ITERATION_COUNT = exports.NFT_TRANSFER_FORWARD_TON_AMOUNT = exports.JETTON_TRANSFER_FORWARD_TON_AMOUNT = exports.TRANSACTION_TON_AMOUNT = void 0;
|
|
3
|
+
exports.TAC_DECIMALS = exports.TON_DECIMALS = exports.FIFTEEN_MINUTES = exports.TAC_SYMBOL = exports.TON_SYMBOL = exports.MAX_MSG_DEPTH = exports.MAX_HIGHLOAD_GROUP_MSG_NUM = exports.MAX_EXT_MSG_SIZE = exports.SOLIDITY_METHOD_NAME_REGEX = exports.SOLIDITY_SIGNATURE_REGEX = exports.DEFAULT_DELAY = exports.MAX_ITERATION_COUNT = exports.NFT_TRANSFER_FORWARD_TON_AMOUNT = exports.JETTON_TRANSFER_FORWARD_TON_AMOUNT = exports.TRANSACTION_TON_AMOUNT = void 0;
|
|
4
4
|
const ton_1 = require("@ton/ton");
|
|
5
5
|
exports.TRANSACTION_TON_AMOUNT = (0, ton_1.toNano)(0.55);
|
|
6
6
|
exports.JETTON_TRANSFER_FORWARD_TON_AMOUNT = (0, ton_1.toNano)(0.2);
|
|
@@ -14,3 +14,6 @@ exports.MAX_HIGHLOAD_GROUP_MSG_NUM = 254;
|
|
|
14
14
|
exports.MAX_MSG_DEPTH = 512;
|
|
15
15
|
exports.TON_SYMBOL = 'TON';
|
|
16
16
|
exports.TAC_SYMBOL = 'TAC';
|
|
17
|
+
exports.FIFTEEN_MINUTES = 15 * 60 * 1000;
|
|
18
|
+
exports.TON_DECIMALS = 9;
|
|
19
|
+
exports.TAC_DECIMALS = 18;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IHttpClient, ILiteSequencerClient } from '../interfaces';
|
|
2
|
+
import { ConvertCurrencyParams, ConvertedCurrencyResult, ExecutionStagesByOperationId, GetTVMExecutorFeeParams, OperationIdsByShardsKey, OperationType, StatusInfosByOperationId, SuggestedTVMExecutorFee, TACSimulationParams, TACSimulationResult, TransactionLinker } from '../structs/Struct';
|
|
3
|
+
export declare class LiteSequencerClient implements ILiteSequencerClient {
|
|
4
|
+
private readonly endpoint;
|
|
5
|
+
private readonly maxChunkSize;
|
|
6
|
+
private readonly httpClient;
|
|
7
|
+
constructor(endpoint: string, maxChunkSize?: number, httpClient?: IHttpClient);
|
|
8
|
+
getOperationIdByTransactionHash(transactionHash: string): Promise<string>;
|
|
9
|
+
getOperationType(operationId: string): Promise<OperationType>;
|
|
10
|
+
getOperationId(transactionLinker: TransactionLinker): Promise<string>;
|
|
11
|
+
getOperationIdsByShardsKeys(shardsKeys: string[], caller: string, chunkSize?: number): Promise<OperationIdsByShardsKey>;
|
|
12
|
+
getStageProfilings(operationIds: string[], chunkSize?: number): Promise<ExecutionStagesByOperationId>;
|
|
13
|
+
getOperationStatuses(operationIds: string[], chunkSize?: number): Promise<StatusInfosByOperationId>;
|
|
14
|
+
convertCurrency(params: ConvertCurrencyParams): Promise<ConvertedCurrencyResult>;
|
|
15
|
+
simulateTACMessage(params: TACSimulationParams): Promise<TACSimulationResult>;
|
|
16
|
+
getTVMExecutorFee(params: GetTVMExecutorFeeParams): Promise<SuggestedTVMExecutorFee>;
|
|
17
|
+
private processChunkedRequest;
|
|
18
|
+
}
|