@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,20 @@
|
|
|
1
|
+
import type * as Dev from './dev';
|
|
2
|
+
import type * as Mainnet from './mainnet';
|
|
3
|
+
import type * as Testnet from './testnet';
|
|
4
|
+
export type MsgType = Dev.ton.wrappers.MsgType | Testnet.ton.wrappers.MsgType | Mainnet.ton.wrappers.MsgType;
|
|
5
|
+
export type CrossChainLayer = Dev.ton.wrappers.CrossChainLayer | Testnet.ton.wrappers.CrossChainLayer | Mainnet.ton.wrappers.CrossChainLayer;
|
|
6
|
+
export type CrossChainLayerData = Dev.ton.wrappers.CrossChainLayerConfig | Testnet.ton.wrappers.CrossChainLayerConfig | Mainnet.ton.wrappers.CrossChainLayerConfig;
|
|
7
|
+
export type JettonMinter = Dev.ton.wrappers.JettonMinter | Testnet.ton.wrappers.JettonMinter | Mainnet.ton.wrappers.JettonMinter;
|
|
8
|
+
export type JettonMinterData = Dev.ton.wrappers.JettonMinterData | Testnet.ton.wrappers.JettonMinterData | Mainnet.ton.wrappers.JettonMinterData;
|
|
9
|
+
export type JettonWallet = Dev.ton.wrappers.JettonWallet | Testnet.ton.wrappers.JettonWallet | Mainnet.ton.wrappers.JettonWallet;
|
|
10
|
+
export type JettonWalletData = Dev.ton.wrappers.JettonWalletData | Testnet.ton.wrappers.JettonWalletData | Mainnet.ton.wrappers.JettonWalletData;
|
|
11
|
+
export type JettonProxy = Dev.ton.wrappers.JettonProxy | Testnet.ton.wrappers.JettonProxy | Mainnet.ton.wrappers.JettonProxy;
|
|
12
|
+
export type JettonProxyData = Dev.ton.wrappers.JettonProxyConfig | Testnet.ton.wrappers.JettonProxyConfig | Mainnet.ton.wrappers.JettonProxyConfig;
|
|
13
|
+
export type Settings = Dev.ton.wrappers.Settings | Testnet.ton.wrappers.Settings | Mainnet.ton.wrappers.Settings;
|
|
14
|
+
export type SettingsData = Dev.ton.wrappers.SettingsConfig | Testnet.ton.wrappers.SettingsConfig | Mainnet.ton.wrappers.SettingsConfig;
|
|
15
|
+
export type NFTCollection = Dev.ton.wrappers.NFTCollection | Testnet.ton.wrappers.NFTCollection | Mainnet.ton.wrappers.NFTCollection;
|
|
16
|
+
export type NFTCollectionData = Dev.ton.wrappers.NFTCollectionData | Testnet.ton.wrappers.NFTCollectionData | Mainnet.ton.wrappers.NFTCollectionData;
|
|
17
|
+
export type NFTItem = Dev.ton.wrappers.NFTItem | Testnet.ton.wrappers.NFTItem | Mainnet.ton.wrappers.NFTItem;
|
|
18
|
+
export type NFTItemData = Dev.ton.wrappers.NFTItemData | Testnet.ton.wrappers.NFTItemData | Mainnet.ton.wrappers.NFTItemData;
|
|
19
|
+
export type NFTProxy = Dev.ton.wrappers.NFTProxy | Testnet.ton.wrappers.NFTProxy | Mainnet.ton.wrappers.NFTProxy;
|
|
20
|
+
export type NFTProxyData = Dev.ton.wrappers.NFTProxyConfig | Testnet.ton.wrappers.NFTProxyConfig | Mainnet.ton.wrappers.NFTProxyConfig;
|
|
@@ -6,9 +6,42 @@ exports.orbsOpener = orbsOpener;
|
|
|
6
6
|
exports.orbsOpener4 = orbsOpener4;
|
|
7
7
|
const ton_access_1 = require("@orbs-network/ton-access");
|
|
8
8
|
const ton_1 = require("@ton/ton");
|
|
9
|
-
const artifacts_1 = require("@tonappchain/artifacts");
|
|
10
9
|
const ton_lite_client_1 = require("@tonappchain/ton-lite-client");
|
|
10
|
+
const artifacts_1 = require("../../artifacts");
|
|
11
|
+
const Utils_1 = require("../sdk/Utils");
|
|
11
12
|
const Struct_1 = require("../structs/Struct");
|
|
13
|
+
async function getHttpEndpointWithRetry(network, maxRetries = 5, delay = 1000) {
|
|
14
|
+
let lastError;
|
|
15
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
16
|
+
try {
|
|
17
|
+
const tonNetwork = network === Struct_1.Network.MAINNET ? 'mainnet' : 'testnet';
|
|
18
|
+
return await (0, ton_access_1.getHttpEndpoint)({ network: tonNetwork });
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
lastError = error;
|
|
22
|
+
if (attempt <= maxRetries) {
|
|
23
|
+
await (0, Utils_1.sleep)(delay);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw lastError || new Error('Failed to get HTTP endpoint after retries');
|
|
28
|
+
}
|
|
29
|
+
async function getHttpV4EndpointWithRetry(network, maxRetries = 5, delay = 1000) {
|
|
30
|
+
let lastError;
|
|
31
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
32
|
+
try {
|
|
33
|
+
const tonNetwork = network === Struct_1.Network.MAINNET ? 'mainnet' : 'testnet';
|
|
34
|
+
return await (0, ton_access_1.getHttpV4Endpoint)({ network: tonNetwork });
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
lastError = error;
|
|
38
|
+
if (attempt <= maxRetries) {
|
|
39
|
+
await (0, Utils_1.sleep)(delay);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
throw lastError || new Error('Failed to get HTTP V4 endpoint after retries');
|
|
44
|
+
}
|
|
12
45
|
function intToIP(int) {
|
|
13
46
|
const part1 = int & 255;
|
|
14
47
|
const part2 = (int >> 8) & 255;
|
|
@@ -17,7 +50,9 @@ function intToIP(int) {
|
|
|
17
50
|
return part4 + '.' + part3 + '.' + part2 + '.' + part1;
|
|
18
51
|
}
|
|
19
52
|
async function getDefaultLiteServers(network) {
|
|
20
|
-
const url = network === Struct_1.Network.TESTNET
|
|
53
|
+
const url = network === Struct_1.Network.TESTNET || network === Struct_1.Network.DEV
|
|
54
|
+
? artifacts_1.testnet.DEFAULT_LITESERVERS
|
|
55
|
+
: artifacts_1.mainnet.DEFAULT_LITESERVERS;
|
|
21
56
|
const resp = await fetch(url);
|
|
22
57
|
const liteClients = await resp.json();
|
|
23
58
|
return liteClients.liteservers;
|
|
@@ -67,13 +102,11 @@ function sandboxOpener(blockchain) {
|
|
|
67
102
|
};
|
|
68
103
|
}
|
|
69
104
|
async function orbsOpener(network) {
|
|
70
|
-
const endpoint = await (
|
|
71
|
-
network,
|
|
72
|
-
});
|
|
105
|
+
const endpoint = await getHttpEndpointWithRetry(network);
|
|
73
106
|
return new ton_1.TonClient({ endpoint });
|
|
74
107
|
}
|
|
75
108
|
async function orbsOpener4(network, timeout = 10000) {
|
|
76
|
-
const endpoint = await (
|
|
109
|
+
const endpoint = await getHttpV4EndpointWithRetry(network);
|
|
77
110
|
const client4 = new ton_1.TonClient4({ endpoint, timeout });
|
|
78
111
|
return {
|
|
79
112
|
open: (contract) => client4.open(contract),
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./contractOpener"), exports);
|
|
18
|
+
__exportStar(require("./retryableContractOpener"), exports);
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { SandboxContract } from '@ton/sandbox';
|
|
2
2
|
import { Address, Contract, OpenedContract } from '@ton/ton';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ContractOpener } from '../interfaces';
|
|
4
|
+
import { ContractState, Network } from '../structs/Struct';
|
|
5
5
|
export interface OpenerConfig {
|
|
6
|
+
/** Underlying opener implementation to use for this slot. */
|
|
6
7
|
opener: ContractOpener;
|
|
8
|
+
/** Number of retry attempts before falling back to the next opener. */
|
|
7
9
|
retries: number;
|
|
10
|
+
/** Delay in milliseconds between retries for this opener. */
|
|
8
11
|
retryDelay: number;
|
|
9
12
|
}
|
|
10
13
|
export declare class RetryableContractOpener implements ContractOpener {
|
|
@@ -18,4 +21,4 @@ export declare class RetryableContractOpener implements ContractOpener {
|
|
|
18
21
|
private createRetryableContract;
|
|
19
22
|
private callMethodAcrossOpeners;
|
|
20
23
|
}
|
|
21
|
-
export declare function createDefaultRetryableOpener(
|
|
24
|
+
export declare function createDefaultRetryableOpener(tonRpcEndpoint: string, networkType: Network, maxRetries?: number, retryDelay?: number): Promise<ContractOpener>;
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RetryableContractOpener = void 0;
|
|
4
4
|
exports.createDefaultRetryableOpener = createDefaultRetryableOpener;
|
|
5
5
|
const ton_1 = require("@ton/ton");
|
|
6
|
-
const artifacts_1 = require("@tonappchain/artifacts");
|
|
7
6
|
const instances_1 = require("../errors/instances");
|
|
8
7
|
const Struct_1 = require("../structs/Struct");
|
|
9
8
|
const contractOpener_1 = require("./contractOpener");
|
|
@@ -86,16 +85,16 @@ class RetryableContractOpener {
|
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
87
|
exports.RetryableContractOpener = RetryableContractOpener;
|
|
89
|
-
async function createDefaultRetryableOpener(
|
|
88
|
+
async function createDefaultRetryableOpener(tonRpcEndpoint, networkType, maxRetries = 5, retryDelay = 1000) {
|
|
89
|
+
const openers = [];
|
|
90
90
|
const tonClient = new ton_1.TonClient({
|
|
91
|
-
endpoint: new URL('api/v2/jsonRPC',
|
|
91
|
+
endpoint: new URL('api/v2/jsonRPC', tonRpcEndpoint).toString(),
|
|
92
92
|
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{ opener:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
]);
|
|
93
|
+
openers.push({ opener: tonClient, retries: maxRetries, retryDelay });
|
|
94
|
+
if (networkType !== Struct_1.Network.DEV) {
|
|
95
|
+
const opener4 = await (0, contractOpener_1.orbsOpener4)(networkType);
|
|
96
|
+
const opener = await (0, contractOpener_1.orbsOpener)(networkType);
|
|
97
|
+
openers.push({ opener: opener4, retries: maxRetries, retryDelay }, { opener: opener, retries: maxRetries, retryDelay });
|
|
98
|
+
}
|
|
99
|
+
return new RetryableContractOpener(openers);
|
|
101
100
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Interface } from 'ethers';
|
|
2
|
+
export declare class AbiHandler {
|
|
3
|
+
contractInterfaces: Map<string, Interface>;
|
|
4
|
+
/**
|
|
5
|
+
* Add a contract interface for encoding function calls
|
|
6
|
+
* Supports both human-readable ABI strings and generated ABI JSON objects
|
|
7
|
+
* @param address - The address of the contract to add interface for
|
|
8
|
+
* @param abi - The abi of the contract to add interface for
|
|
9
|
+
* @returns The sdk instance
|
|
10
|
+
*/
|
|
11
|
+
addContractInterface(address: string, abi: string | any[]): this;
|
|
12
|
+
/**
|
|
13
|
+
* Parse ABI - handles both human-readable strings and generated ABI JSON objects
|
|
14
|
+
* Extracts only function definitions from JSON ABI
|
|
15
|
+
*/
|
|
16
|
+
private _parseAbi;
|
|
17
|
+
/**
|
|
18
|
+
* Build human-readable function signature from JSON ABI function object
|
|
19
|
+
* @param func - The function to build signature for
|
|
20
|
+
* @returns The signature of the function
|
|
21
|
+
*/
|
|
22
|
+
private _buildFunctionSignature;
|
|
23
|
+
/**
|
|
24
|
+
* Build parameter type string, handling tuples/structs properly
|
|
25
|
+
*/
|
|
26
|
+
private _buildParameterType;
|
|
27
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbiHandler = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
class AbiHandler {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.contractInterfaces = new Map();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Add a contract interface for encoding function calls
|
|
11
|
+
* Supports both human-readable ABI strings and generated ABI JSON objects
|
|
12
|
+
* @param address - The address of the contract to add interface for
|
|
13
|
+
* @param abi - The abi of the contract to add interface for
|
|
14
|
+
* @returns The sdk instance
|
|
15
|
+
*/
|
|
16
|
+
addContractInterface(address, abi) {
|
|
17
|
+
const parsedAbi = this._parseAbi(abi);
|
|
18
|
+
this.contractInterfaces.set(address.toLowerCase(), new ethers_1.Interface(parsedAbi));
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse ABI - handles both human-readable strings and generated ABI JSON objects
|
|
23
|
+
* Extracts only function definitions from JSON ABI
|
|
24
|
+
*/
|
|
25
|
+
_parseAbi(abi) {
|
|
26
|
+
const humanReadableAbi = [];
|
|
27
|
+
for (const item of abi) {
|
|
28
|
+
// If it's already a string (human-readable format), keep it
|
|
29
|
+
if (typeof item === 'string') {
|
|
30
|
+
humanReadableAbi.push(item);
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
// If it's a JSON ABI object, parse it
|
|
34
|
+
if (typeof item === 'object' && item.type) {
|
|
35
|
+
// Only process functions
|
|
36
|
+
if (item.type === 'function') {
|
|
37
|
+
const signature = this._buildFunctionSignature(item);
|
|
38
|
+
if (signature) {
|
|
39
|
+
humanReadableAbi.push(signature);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Skip events, errors, constructor, etc.
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return humanReadableAbi;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Build human-readable function signature from JSON ABI function object
|
|
49
|
+
* @param func - The function to build signature for
|
|
50
|
+
* @returns The signature of the function
|
|
51
|
+
*/
|
|
52
|
+
_buildFunctionSignature(func) {
|
|
53
|
+
if (!func.name || !Array.isArray(func.inputs)) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
// Build parameter list with proper tuple handling
|
|
57
|
+
const params = func.inputs
|
|
58
|
+
.map((input) => {
|
|
59
|
+
const paramType = this._buildParameterType(input);
|
|
60
|
+
// Add parameter name if available
|
|
61
|
+
if (input.name) {
|
|
62
|
+
return `${paramType} ${input.name}`;
|
|
63
|
+
}
|
|
64
|
+
return paramType;
|
|
65
|
+
})
|
|
66
|
+
.join(', ');
|
|
67
|
+
// Build return types if available
|
|
68
|
+
let returnTypes = '';
|
|
69
|
+
if (func.outputs && func.outputs.length > 0) {
|
|
70
|
+
const outputs = func.outputs
|
|
71
|
+
.map((output) => {
|
|
72
|
+
const outputType = this._buildParameterType(output);
|
|
73
|
+
if (output.name) {
|
|
74
|
+
return `${outputType} ${output.name}`;
|
|
75
|
+
}
|
|
76
|
+
return outputType;
|
|
77
|
+
})
|
|
78
|
+
.join(', ');
|
|
79
|
+
returnTypes = ` returns (${outputs})`;
|
|
80
|
+
}
|
|
81
|
+
// Build full signature
|
|
82
|
+
const stateMutability = func.stateMutability || 'nonpayable';
|
|
83
|
+
let mutabilityKeyword = '';
|
|
84
|
+
if (stateMutability === 'view') {
|
|
85
|
+
mutabilityKeyword = ' view';
|
|
86
|
+
}
|
|
87
|
+
else if (stateMutability === 'pure') {
|
|
88
|
+
mutabilityKeyword = ' pure';
|
|
89
|
+
}
|
|
90
|
+
else if (stateMutability === 'payable') {
|
|
91
|
+
mutabilityKeyword = ' payable';
|
|
92
|
+
}
|
|
93
|
+
return `function ${func.name}(${params})${mutabilityKeyword} external${returnTypes}`;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build parameter type string, handling tuples/structs properly
|
|
97
|
+
*/
|
|
98
|
+
_buildParameterType(param) {
|
|
99
|
+
if (param.type === 'tuple') {
|
|
100
|
+
// Handle struct/tuple types
|
|
101
|
+
if (param.components && Array.isArray(param.components)) {
|
|
102
|
+
const componentTypes = param.components
|
|
103
|
+
.map((component) => {
|
|
104
|
+
const baseType = this._buildParameterType(component);
|
|
105
|
+
// Include parameter name for struct components if available
|
|
106
|
+
if (component.name) {
|
|
107
|
+
return `${baseType} ${component.name}`;
|
|
108
|
+
}
|
|
109
|
+
return baseType;
|
|
110
|
+
})
|
|
111
|
+
.join(',');
|
|
112
|
+
return `(${componentTypes})`;
|
|
113
|
+
}
|
|
114
|
+
return 'tuple'; // fallback
|
|
115
|
+
}
|
|
116
|
+
if (param.type === 'tuple[]') {
|
|
117
|
+
// Handle array of structs
|
|
118
|
+
if (param.components && Array.isArray(param.components)) {
|
|
119
|
+
const componentTypes = param.components
|
|
120
|
+
.map((component) => {
|
|
121
|
+
const baseType = this._buildParameterType(component);
|
|
122
|
+
// Include parameter name for struct components if available
|
|
123
|
+
if (component.name) {
|
|
124
|
+
return `${baseType} ${component.name}`;
|
|
125
|
+
}
|
|
126
|
+
return baseType;
|
|
127
|
+
})
|
|
128
|
+
.join(',');
|
|
129
|
+
return `(${componentTypes})[]`;
|
|
130
|
+
}
|
|
131
|
+
return 'tuple[]'; // fallback
|
|
132
|
+
}
|
|
133
|
+
// Handle regular types and arrays
|
|
134
|
+
return param.type;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.AbiHandler = AbiHandler;
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { Network } from '../structs/Struct';
|
|
2
|
+
import { AmountChange, Hook, NFTData, ZapCall } from './AgnosticStructs';
|
|
3
|
+
/**
|
|
4
|
+
* SDK for building AgnosticProxy Zap calls with efficient hook encoding
|
|
5
|
+
* @param network - The network to use (MAINNET || TESTNET || DEV)
|
|
6
|
+
* @param agnosticProxyAddress - The address of the agnostic proxy(optional)
|
|
7
|
+
*/
|
|
8
|
+
export declare class AgnosticProxySDK {
|
|
9
|
+
private agnosticProxyAddress;
|
|
10
|
+
private abiHandler;
|
|
11
|
+
private replacementHelper;
|
|
12
|
+
private hooksHandler;
|
|
13
|
+
private debugHelpers;
|
|
14
|
+
constructor(network: Network, agnosticProxyAddress?: string);
|
|
15
|
+
addContractInterface(address: string, abi: string | any[]): this;
|
|
16
|
+
/**
|
|
17
|
+
* Create a custom hook with optional dynamic value replacement
|
|
18
|
+
* @param contractAddress - The address of the contract to call
|
|
19
|
+
* @param functionName - The name of the function to call
|
|
20
|
+
* @param params - The parameters of the function to call
|
|
21
|
+
* @param options - The options of the custom hook
|
|
22
|
+
* @returns The custom hook
|
|
23
|
+
*/
|
|
24
|
+
createCustomHook(contractAddress: string, functionName: string, params: any[], options?: {
|
|
25
|
+
isFromSAPerspective?: boolean;
|
|
26
|
+
value?: bigint;
|
|
27
|
+
dynamicReplacements?: AmountChange[];
|
|
28
|
+
}): Hook;
|
|
29
|
+
/**
|
|
30
|
+
* Create a full balance approve hook
|
|
31
|
+
* @param token - The token to approve
|
|
32
|
+
* @param to - The address to approve to
|
|
33
|
+
* @param isFromSAPerspective - Whether the hook is from the smart account perspective or from proxy perspective
|
|
34
|
+
* @returns The full balance approve hook
|
|
35
|
+
*/
|
|
36
|
+
createFullBalanceApproveHook(token: string, to: string, isFromSAPerspective?: boolean): Hook;
|
|
37
|
+
/**
|
|
38
|
+
* Create a full balance transfer hook
|
|
39
|
+
* @param token - The token to transfer
|
|
40
|
+
* @param to - The address to transfer to
|
|
41
|
+
* @param isFromSAPerspective - Whether the hook is from the smart account perspective or from proxy perspective
|
|
42
|
+
* @returns The full balance transfer hook
|
|
43
|
+
*/
|
|
44
|
+
createFullBalanceTransferHook(token: string, to: string, isFromSAPerspective?: boolean): Hook;
|
|
45
|
+
/**
|
|
46
|
+
* Utility: Create multiple approve hooks at once
|
|
47
|
+
* @param approvals - The approvals to create
|
|
48
|
+
* @returns The multiple approve hooks
|
|
49
|
+
*/
|
|
50
|
+
createMultipleApproves(approvals: {
|
|
51
|
+
token: string;
|
|
52
|
+
spender: string;
|
|
53
|
+
isFromSA?: boolean;
|
|
54
|
+
}[]): Hook[];
|
|
55
|
+
/**
|
|
56
|
+
* Utility: Create a sequence of custom hooks
|
|
57
|
+
* @param calls - The calls to create
|
|
58
|
+
* @returns The hook sequence
|
|
59
|
+
*/
|
|
60
|
+
createHookSequence(calls: {
|
|
61
|
+
contract: string;
|
|
62
|
+
functionName: string;
|
|
63
|
+
params: any[];
|
|
64
|
+
options?: {
|
|
65
|
+
isFromSAPerspective?: boolean;
|
|
66
|
+
value?: bigint;
|
|
67
|
+
dynamicReplacements?: AmountChange[];
|
|
68
|
+
};
|
|
69
|
+
}[]): Hook[];
|
|
70
|
+
/**
|
|
71
|
+
* Helper to create dynamic amount replacement for a specific parameter
|
|
72
|
+
* @param paramIndex - The index of the parameter to replace
|
|
73
|
+
* @param token - The token to replace
|
|
74
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
75
|
+
* @returns The amount replacement
|
|
76
|
+
*/
|
|
77
|
+
createAmountReplacement(paramIndex: number, token: string, balanceAddress: string): AmountChange;
|
|
78
|
+
/**
|
|
79
|
+
* Advanced replacement calculator - calculates position and length for any parameter type
|
|
80
|
+
* Required that you have added the contract interface first using addContractInterface().
|
|
81
|
+
* If human readable abi is used, need to provide function and params names also
|
|
82
|
+
* @param contractAddress - The address of the contract to call
|
|
83
|
+
* @param functionName - The name of the function to call
|
|
84
|
+
* @param parameterName - The name of the parameter to replace
|
|
85
|
+
* @param token - The token to replace
|
|
86
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
87
|
+
* @returns The replacement data
|
|
88
|
+
*/
|
|
89
|
+
calculateReplacementData(contractAddress: string, functionName: string, parameterName: string, token: string, balanceAddress: string): AmountChange;
|
|
90
|
+
/**
|
|
91
|
+
* Get replacement helper - shows available functions and parameters for a contract
|
|
92
|
+
* Required that you have added the contract interface first using addContractInterface().
|
|
93
|
+
* If human readable abi is used, need to provide function and params names also
|
|
94
|
+
* @param contractAddress - The address of the contract to call
|
|
95
|
+
* @returns The replacement helper
|
|
96
|
+
*/
|
|
97
|
+
getReplacementHelper(contractAddress: string): {
|
|
98
|
+
contractAddress: string;
|
|
99
|
+
functions: {
|
|
100
|
+
name: string;
|
|
101
|
+
signature: string;
|
|
102
|
+
parameters: {
|
|
103
|
+
name: string;
|
|
104
|
+
type: string;
|
|
105
|
+
index: number;
|
|
106
|
+
canReplace: boolean;
|
|
107
|
+
reason?: string;
|
|
108
|
+
}[];
|
|
109
|
+
}[];
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Interactive replacement builder - helps build replacement step by step
|
|
113
|
+
* @param contractAddress - The address of the contract to call
|
|
114
|
+
* @param functionName - The name of the function to call
|
|
115
|
+
* @param parameterName - The name of the parameter to replace
|
|
116
|
+
* @param token - The token to replace
|
|
117
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
118
|
+
* @param options - The options of the interactive replacement builder
|
|
119
|
+
* @returns The interactive replacement builder
|
|
120
|
+
*/
|
|
121
|
+
buildReplacementInteractive(contractAddress: string, functionName: string, parameterName: string, token: string, balanceAddress: string, options?: {
|
|
122
|
+
showCalculation?: boolean;
|
|
123
|
+
validate?: boolean;
|
|
124
|
+
}): {
|
|
125
|
+
replacement: AmountChange;
|
|
126
|
+
calculation: {
|
|
127
|
+
functionSignature: string;
|
|
128
|
+
parameterInfo: {
|
|
129
|
+
name: string;
|
|
130
|
+
type: string;
|
|
131
|
+
index: number;
|
|
132
|
+
position: number;
|
|
133
|
+
length: number;
|
|
134
|
+
};
|
|
135
|
+
positionCalculation: string;
|
|
136
|
+
};
|
|
137
|
+
validation: {
|
|
138
|
+
isValid: boolean;
|
|
139
|
+
warnings: string[];
|
|
140
|
+
suggestions: string[];
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Debug helper: Decode hook data back to readable format
|
|
145
|
+
* @param hook - The hook to decode
|
|
146
|
+
* @returns The decoded hook
|
|
147
|
+
*/
|
|
148
|
+
decodeHookData(hook: Hook): any;
|
|
149
|
+
/**
|
|
150
|
+
* Debug helper: Get estimated gas for a ZapCall
|
|
151
|
+
* @param zapCall - The zap call to estimate the gas usage for
|
|
152
|
+
* @returns The estimated gas usage
|
|
153
|
+
*/
|
|
154
|
+
estimateGasUsage(zapCall: ZapCall): number;
|
|
155
|
+
/**
|
|
156
|
+
* Visualize ZapCall chain - Human readable description of all operations
|
|
157
|
+
* @param zapCall - The zap call to visualize
|
|
158
|
+
*/
|
|
159
|
+
visualizeZapCall(zapCall: ZapCall): void;
|
|
160
|
+
/**
|
|
161
|
+
* Get a detailed breakdown of a ZapCall for logging
|
|
162
|
+
* @param zapCall - The zap call to get the breakdown for
|
|
163
|
+
* @returns The breakdown of the zap call
|
|
164
|
+
*/
|
|
165
|
+
getZapCallBreakdown(zapCall: ZapCall): {
|
|
166
|
+
totalHooks: number;
|
|
167
|
+
hookTypes: {
|
|
168
|
+
[key: string]: number;
|
|
169
|
+
};
|
|
170
|
+
gasEstimate: number;
|
|
171
|
+
encodedSize: number;
|
|
172
|
+
bridgeRequired: boolean;
|
|
173
|
+
hookDescriptions: string[];
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Compare two ZapCalls and show differences
|
|
177
|
+
* @param zapCall1 - The first zap call to compare
|
|
178
|
+
* @param zapCall2 - The second zap call to compare
|
|
179
|
+
* @param label1 - The label of the first zap call
|
|
180
|
+
* @param label2 - The label of the second zap call
|
|
181
|
+
*/
|
|
182
|
+
compareZapCalls(zapCall1: ZapCall, zapCall2: ZapCall, label1?: string, label2?: string): void;
|
|
183
|
+
getAgnosticCallParams(): {
|
|
184
|
+
evmTargetAddress: string;
|
|
185
|
+
methodName: string;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Build a complete ZapCall
|
|
189
|
+
* @param hooks - The hooks of the zap call
|
|
190
|
+
* @param bridgeTokens - The tokens to bridge
|
|
191
|
+
* @param bridgeNFTs - The nfts to bridge
|
|
192
|
+
* @returns The zap call
|
|
193
|
+
*/
|
|
194
|
+
buildZapCall(hooks: Hook[], bridgeTokens?: string[], bridgeNFTs?: NFTData[]): ZapCall;
|
|
195
|
+
/**
|
|
196
|
+
* Encode ZapCall for transaction
|
|
197
|
+
* @param zapCall - The zap call to encode
|
|
198
|
+
* @returns The encoded zap call that can be used as calldata in tac sdk
|
|
199
|
+
*/
|
|
200
|
+
encodeZapCall(zapCall: ZapCall): string;
|
|
201
|
+
}
|