@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,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReplacementHelper = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
class ReplacementHelper {
|
|
6
|
+
/**
|
|
7
|
+
* Helper to create dynamic amount replacement for a specific parameter
|
|
8
|
+
* @param paramIndex - The index of the parameter to replace
|
|
9
|
+
* @param token - The token to replace
|
|
10
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
11
|
+
* @returns The amount replacement
|
|
12
|
+
*/
|
|
13
|
+
createAmountReplacement(paramIndex, token, balanceAddress) {
|
|
14
|
+
// Calculate position in calldata (4 bytes selector + 32 bytes per param)
|
|
15
|
+
const position = 4 + paramIndex * 32;
|
|
16
|
+
return {
|
|
17
|
+
position,
|
|
18
|
+
len: 32, // uint256 is 32 bytes
|
|
19
|
+
token,
|
|
20
|
+
balanceAddress,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Advanced replacement calculator - calculates position and length for any parameter type
|
|
25
|
+
* Required that you have added the contract interface first using addContractInterface().
|
|
26
|
+
* If human readable abi is used, need to provide function and params names also
|
|
27
|
+
* @param contractAddress - The address of the contract to call
|
|
28
|
+
* @param functionName - The name of the function to call
|
|
29
|
+
* @param parameterName - The name of the parameter to replace
|
|
30
|
+
* @param token - The token to replace
|
|
31
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
32
|
+
* @returns The replacement data
|
|
33
|
+
*/
|
|
34
|
+
calculateReplacementData(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces) {
|
|
35
|
+
const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
|
|
36
|
+
if (!contractInterface) {
|
|
37
|
+
throw new Error(`Contract interface not found for address: ${contractAddress}. Please add it first using addContractInterface().`);
|
|
38
|
+
}
|
|
39
|
+
let functionFragment;
|
|
40
|
+
try {
|
|
41
|
+
functionFragment = contractInterface.getFunction(functionName);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
|
|
45
|
+
}
|
|
46
|
+
if (!functionFragment) {
|
|
47
|
+
throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
|
|
48
|
+
}
|
|
49
|
+
// Find the parameter by name
|
|
50
|
+
const paramIndex = functionFragment.inputs.findIndex((input) => input.name === parameterName);
|
|
51
|
+
if (paramIndex === -1) {
|
|
52
|
+
const availableParams = functionFragment.inputs
|
|
53
|
+
.map((input) => `${input.name} (${input.type})`)
|
|
54
|
+
.join(', ');
|
|
55
|
+
throw new Error(`Parameter '${parameterName}' not found in function '${functionName}'. Available parameters: ${availableParams}`);
|
|
56
|
+
}
|
|
57
|
+
// Calculate position and length based on parameter type
|
|
58
|
+
const { position, len } = this._calculateParamPositionAndLength(functionFragment.inputs, paramIndex);
|
|
59
|
+
return {
|
|
60
|
+
position,
|
|
61
|
+
len,
|
|
62
|
+
token,
|
|
63
|
+
balanceAddress,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get replacement helper - shows available functions and parameters for a contract
|
|
68
|
+
* Required that you have added the contract interface first using addContractInterface().
|
|
69
|
+
* If human readable abi is used, need to provide function and params names also
|
|
70
|
+
* @param contractAddress - The address of the contract to call
|
|
71
|
+
* @returns The replacement helper
|
|
72
|
+
*/
|
|
73
|
+
getReplacementHelper(contractAddress, contractInterfaces) {
|
|
74
|
+
const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
|
|
75
|
+
if (!contractInterface) {
|
|
76
|
+
throw new Error(`Contract interface not found for address: ${contractAddress}. Please add it first using addContractInterface().`);
|
|
77
|
+
}
|
|
78
|
+
const functions = contractInterface.fragments
|
|
79
|
+
.filter((fragment) => fragment.type === 'function')
|
|
80
|
+
.map((fragment) => {
|
|
81
|
+
const func = fragment;
|
|
82
|
+
return {
|
|
83
|
+
name: func.name,
|
|
84
|
+
signature: func.format('full'),
|
|
85
|
+
parameters: func.inputs.map((input, index) => {
|
|
86
|
+
const canReplace = this._canParameterBeReplaced(input.type);
|
|
87
|
+
return {
|
|
88
|
+
name: input.name || `param${index}`,
|
|
89
|
+
type: input.type,
|
|
90
|
+
index,
|
|
91
|
+
canReplace: canReplace.canReplace,
|
|
92
|
+
reason: canReplace.reason,
|
|
93
|
+
};
|
|
94
|
+
}),
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
contractAddress,
|
|
99
|
+
functions,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Interactive replacement builder - helps build replacement step by step
|
|
104
|
+
* @param contractAddress - The address of the contract to call
|
|
105
|
+
* @param functionName - The name of the function to call
|
|
106
|
+
* @param parameterName - The name of the parameter to replace
|
|
107
|
+
* @param token - The token to replace
|
|
108
|
+
* @param balanceAddress - The address to replace the parameter with
|
|
109
|
+
* @param options - The options of the interactive replacement builder
|
|
110
|
+
* @returns The interactive replacement builder
|
|
111
|
+
*/
|
|
112
|
+
buildReplacementInteractive(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces, options = {}) {
|
|
113
|
+
const { validate = true } = options;
|
|
114
|
+
// Get the replacement data
|
|
115
|
+
const replacement = this.calculateReplacementData(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces);
|
|
116
|
+
// Get function info for calculation details
|
|
117
|
+
const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
|
|
118
|
+
if (!contractInterface) {
|
|
119
|
+
throw new Error(`Contract interface not found for address: ${contractAddress}`);
|
|
120
|
+
}
|
|
121
|
+
const functionFragment = contractInterface.getFunction(functionName);
|
|
122
|
+
if (!functionFragment) {
|
|
123
|
+
throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
|
|
124
|
+
}
|
|
125
|
+
const paramIndex = functionFragment.inputs.findIndex((input) => input.name === parameterName);
|
|
126
|
+
const param = functionFragment.inputs[paramIndex];
|
|
127
|
+
const calculation = {
|
|
128
|
+
functionSignature: functionFragment.format('full'),
|
|
129
|
+
parameterInfo: {
|
|
130
|
+
name: parameterName,
|
|
131
|
+
type: param.type,
|
|
132
|
+
index: paramIndex,
|
|
133
|
+
position: replacement.position,
|
|
134
|
+
length: replacement.len,
|
|
135
|
+
},
|
|
136
|
+
positionCalculation: `Position = 4 bytes (selector) + ${paramIndex} * 32 bytes = ${replacement.position} bytes`,
|
|
137
|
+
};
|
|
138
|
+
// Validation
|
|
139
|
+
const validation = {
|
|
140
|
+
isValid: true,
|
|
141
|
+
warnings: [],
|
|
142
|
+
suggestions: [],
|
|
143
|
+
};
|
|
144
|
+
if (validate) {
|
|
145
|
+
// Check if parameter type is suitable for replacement
|
|
146
|
+
const typeCheck = this._canParameterBeReplaced(param.type);
|
|
147
|
+
if (!typeCheck.canReplace) {
|
|
148
|
+
validation.isValid = false;
|
|
149
|
+
validation.warnings.push(`Parameter type '${param.type}' ${typeCheck.reason}`);
|
|
150
|
+
}
|
|
151
|
+
// Check if it's a reasonable parameter to replace
|
|
152
|
+
if (param.name.toLowerCase().includes('amount') || param.name.toLowerCase().includes('value')) {
|
|
153
|
+
validation.suggestions.push(`✅ Parameter '${param.name}' looks suitable for dynamic replacement`);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
validation.warnings.push(`⚠️ Parameter '${param.name}' might not be intended for amount replacement`);
|
|
157
|
+
}
|
|
158
|
+
// Check token address
|
|
159
|
+
if (!ethers_1.ethers.isAddress(token)) {
|
|
160
|
+
validation.isValid = false;
|
|
161
|
+
validation.warnings.push(`Invalid token address: ${token}`);
|
|
162
|
+
}
|
|
163
|
+
if (!ethers_1.ethers.isAddress(balanceAddress)) {
|
|
164
|
+
validation.isValid = false;
|
|
165
|
+
validation.warnings.push(`Invalid balance address: ${balanceAddress}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
replacement,
|
|
170
|
+
calculation,
|
|
171
|
+
validation,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Private helper to calculate position and length for complex parameter types
|
|
176
|
+
* @param inputs - The inputs of the function
|
|
177
|
+
* @param targetIndex - The index of the parameter to calculate the position and length for
|
|
178
|
+
* @returns The position and length of the parameter
|
|
179
|
+
*/
|
|
180
|
+
_calculateParamPositionAndLength(inputs, targetIndex) {
|
|
181
|
+
// For now, we support simple types. Complex types (arrays, structs) would need more sophisticated calculation
|
|
182
|
+
// This is a simplified version that works for basic types like uint256, address, etc.
|
|
183
|
+
let position = 4; // Start after function selector
|
|
184
|
+
for (let i = 0; i < targetIndex; i++) {
|
|
185
|
+
const paramType = inputs[i].type;
|
|
186
|
+
position += this._getTypeSize(paramType);
|
|
187
|
+
}
|
|
188
|
+
const targetType = inputs[targetIndex].type;
|
|
189
|
+
const len = this._getTypeSize(targetType);
|
|
190
|
+
return { position, len };
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get the size in bytes for a parameter type
|
|
194
|
+
* @param type - The type of the parameter
|
|
195
|
+
* @returns The size in bytes of the parameter
|
|
196
|
+
*/
|
|
197
|
+
_getTypeSize(type) {
|
|
198
|
+
// Basic types are all 32 bytes in calldata (due to ABI encoding)
|
|
199
|
+
if (type.startsWith('uint') ||
|
|
200
|
+
type.startsWith('int') ||
|
|
201
|
+
type === 'address' ||
|
|
202
|
+
type === 'bool' ||
|
|
203
|
+
type.startsWith('bytes32')) {
|
|
204
|
+
return 32;
|
|
205
|
+
}
|
|
206
|
+
// Dynamic types (bytes, string) are also 32 bytes for the offset
|
|
207
|
+
if (type === 'bytes' || type === 'string') {
|
|
208
|
+
return 32;
|
|
209
|
+
}
|
|
210
|
+
// Arrays are 32 bytes for the offset
|
|
211
|
+
if (type.includes('[]')) {
|
|
212
|
+
return 32;
|
|
213
|
+
}
|
|
214
|
+
// Default to 32 bytes for unknown types
|
|
215
|
+
return 32;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Check if a parameter type can be replaced with a balance
|
|
219
|
+
* @param type - The type of the parameter
|
|
220
|
+
* @returns The can replace and reason of the parameter
|
|
221
|
+
*/
|
|
222
|
+
_canParameterBeReplaced(type) {
|
|
223
|
+
if (type.startsWith('uint') && !type.includes('[]')) {
|
|
224
|
+
return { canReplace: true };
|
|
225
|
+
}
|
|
226
|
+
if (type.startsWith('int') && !type.includes('[]')) {
|
|
227
|
+
return { canReplace: true, reason: 'but be careful with signed integers' };
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
canReplace: false,
|
|
231
|
+
reason: `is not suitable for balance replacement. Only uint/int types are supported.`,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
exports.ReplacementHelper = ReplacementHelper;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IConfiguration } from '../
|
|
2
|
-
import {
|
|
1
|
+
import { Asset, IConfiguration } from '../interfaces';
|
|
2
|
+
import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, EVMAddress, NFTAddressType, TVMAddress } from '../structs/Struct';
|
|
3
3
|
export declare class AssetFactory {
|
|
4
4
|
static from(configuration: IConfiguration, token: AssetFromFTArg | AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<Asset>;
|
|
5
5
|
static createFTAsset(configuration: IConfiguration, address: TVMAddress | EVMAddress): Promise<Asset>;
|
|
@@ -16,7 +16,7 @@ class AssetFactory {
|
|
|
16
16
|
}
|
|
17
17
|
const cachedAsset = AssetCache_1.AssetCache.get(token);
|
|
18
18
|
if (cachedAsset) {
|
|
19
|
-
return cachedAsset.clone.
|
|
19
|
+
return cachedAsset.clone.withRawAmount(0n);
|
|
20
20
|
}
|
|
21
21
|
const asset = token.tokenType === Struct_1.AssetType.FT
|
|
22
22
|
? await this.createFTAsset(configuration, token.address)
|
|
@@ -25,8 +25,9 @@ class AssetFactory {
|
|
|
25
25
|
return asset;
|
|
26
26
|
}
|
|
27
27
|
static async createFTAsset(configuration, address) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const ton = TON_1.TON.create(configuration);
|
|
29
|
+
if (address === configuration.nativeTONAddress || address === '' || address === (await ton.getEVMAddress())) {
|
|
30
|
+
return ton;
|
|
30
31
|
}
|
|
31
32
|
return FT_1.FT.fromAddress(configuration, address);
|
|
32
33
|
}
|
|
@@ -1,38 +1,35 @@
|
|
|
1
1
|
import { SandboxContract } from '@ton/sandbox';
|
|
2
2
|
import { Cell, OpenedContract } from '@ton/ton';
|
|
3
|
+
import { JettonMinterData, JettonWallet } from '../../artifacts/tonTypes';
|
|
4
|
+
import { Asset, IConfiguration } from '../interfaces';
|
|
3
5
|
import { AssetOpType } from '../structs/InternalStruct';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { Asset, Origin } from '../structs/Struct';
|
|
7
|
-
import { JettonWallet } from '../wrappers/JettonWallet';
|
|
6
|
+
import { AssetType, EVMAddress, FeeParams, FTOriginAndData, TVMAddress, UserWalletBalanceExtended } from '../structs/Struct';
|
|
7
|
+
import { Origin } from '../structs/Struct';
|
|
8
8
|
export declare class FT implements Asset {
|
|
9
9
|
private _tvmAddress;
|
|
10
10
|
readonly type: AssetType;
|
|
11
11
|
readonly origin: Origin;
|
|
12
12
|
private _configuration;
|
|
13
13
|
private _jettonMinter;
|
|
14
|
-
private _decimals
|
|
14
|
+
private _decimals;
|
|
15
15
|
private _transferAmount;
|
|
16
16
|
private _evmAddress?;
|
|
17
17
|
get address(): string;
|
|
18
|
-
static getJettonData(
|
|
18
|
+
static getJettonData(configuration: IConfiguration, address: TVMAddress): Promise<JettonMinterData>;
|
|
19
|
+
getJettonData(): Promise<JettonMinterData>;
|
|
19
20
|
static getOrigin(configuration: IConfiguration, address: TVMAddress): Promise<Origin>;
|
|
21
|
+
static getOriginAndData(configuration: IConfiguration, address: TVMAddress): Promise<FTOriginAndData>;
|
|
20
22
|
static getTVMAddress(configuration: IConfiguration, address: EVMAddress): Promise<string>;
|
|
21
23
|
static getEVMAddress(configuration: IConfiguration, address: TVMAddress): Promise<string>;
|
|
22
24
|
private constructor();
|
|
25
|
+
private static getTACDecimals;
|
|
23
26
|
static fromAddress(configuration: IConfiguration, address: TVMAddress | EVMAddress): Promise<FT>;
|
|
24
27
|
get rawAmount(): bigint;
|
|
25
28
|
get clone(): FT;
|
|
26
|
-
withAmount(amount:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}): Promise<FT>;
|
|
31
|
-
addAmount(amount: {
|
|
32
|
-
rawAmount: bigint;
|
|
33
|
-
} | {
|
|
34
|
-
amount: number;
|
|
35
|
-
}): Promise<FT>;
|
|
29
|
+
withAmount(amount: number): FT;
|
|
30
|
+
withRawAmount(rawAmount: bigint): FT;
|
|
31
|
+
addAmount(amount: number): FT;
|
|
32
|
+
addRawAmount(rawAmount: bigint): FT;
|
|
36
33
|
getDecimals(): Promise<number>;
|
|
37
34
|
getEVMAddress(): Promise<string>;
|
|
38
35
|
getTVMAddress(): Promise<string>;
|
|
@@ -49,7 +46,7 @@ export declare class FT implements Asset {
|
|
|
49
46
|
getUserBalance(userAddress: string): Promise<bigint>;
|
|
50
47
|
getUserBalanceExtended(userAddress: string): Promise<UserWalletBalanceExtended>;
|
|
51
48
|
checkBalance(userAddress: string): Promise<void>;
|
|
52
|
-
|
|
49
|
+
checkCanBeTransferredBy(userAddress: string): Promise<void>;
|
|
53
50
|
getBalanceOf(userAddress: string): Promise<bigint>;
|
|
54
51
|
private getTransferPayload;
|
|
55
52
|
private getBurnPayload;
|
|
@@ -10,29 +10,36 @@ const Validator_1 = require("../sdk/Validator");
|
|
|
10
10
|
const InternalStruct_1 = require("../structs/InternalStruct");
|
|
11
11
|
const Struct_1 = require("../structs/Struct");
|
|
12
12
|
const Struct_2 = require("../structs/Struct");
|
|
13
|
-
const
|
|
14
|
-
const JettonWallet_1 = require("../wrappers/JettonWallet");
|
|
13
|
+
const ContentUtils_1 = require("../wrappers/ContentUtils");
|
|
15
14
|
class FT {
|
|
16
15
|
get address() {
|
|
17
16
|
return this._tvmAddress.toString({ bounceable: true });
|
|
18
17
|
}
|
|
19
|
-
static async getJettonData(
|
|
18
|
+
static async getJettonData(configuration, address) {
|
|
20
19
|
Validator_1.Validator.validateTVMAddress(address);
|
|
21
|
-
const jetton = contractOpener.open(
|
|
22
|
-
return
|
|
20
|
+
const jetton = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(address)));
|
|
21
|
+
return jetton.getJettonData();
|
|
22
|
+
}
|
|
23
|
+
async getJettonData() {
|
|
24
|
+
return FT.getJettonData(this._configuration, this._tvmAddress.toString());
|
|
23
25
|
}
|
|
24
26
|
static async getOrigin(configuration, address) {
|
|
27
|
+
const result = await this.getOriginAndData(configuration, address);
|
|
28
|
+
return result.origin;
|
|
29
|
+
}
|
|
30
|
+
static async getOriginAndData(configuration, address) {
|
|
25
31
|
const { jettonMinterCode, crossChainLayerAddress, jettonWalletCode } = configuration.TONParams;
|
|
26
32
|
const { code: thisCodeBOC } = await configuration.TONParams.contractOpener.getContractState(ton_1.Address.parse(address));
|
|
27
33
|
if (!thisCodeBOC) {
|
|
28
34
|
throw errors_1.emptyContractError;
|
|
29
35
|
}
|
|
30
36
|
const thisCode = ton_1.Cell.fromBoc(thisCodeBOC)[0];
|
|
37
|
+
const jettonMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(address)));
|
|
31
38
|
if (!jettonMinterCode.equals(thisCode)) {
|
|
32
|
-
|
|
39
|
+
const jettonData = await jettonMinter.getJettonData();
|
|
40
|
+
return { origin: Struct_2.Origin.TON, jettonMinter, jettonData };
|
|
33
41
|
}
|
|
34
|
-
const
|
|
35
|
-
const evmAddress = await jettonMinter.getEVMAddress();
|
|
42
|
+
const evmAddress = await jettonMinter.getEVMTokenAddress();
|
|
36
43
|
const expectedMinterAddress = await (0, Utils_1.calculateContractAddress)(jettonMinterCode, (0, ton_1.beginCell)()
|
|
37
44
|
.storeCoins(0)
|
|
38
45
|
.storeAddress(ton_1.Address.parse(crossChainLayerAddress))
|
|
@@ -42,26 +49,27 @@ class FT {
|
|
|
42
49
|
.storeStringTail(evmAddress)
|
|
43
50
|
.endCell());
|
|
44
51
|
if (!expectedMinterAddress.equals(ton_1.Address.parse(address))) {
|
|
45
|
-
|
|
52
|
+
const jettonData = await jettonMinter.getJettonData();
|
|
53
|
+
return { origin: Struct_2.Origin.TON, jettonMinter, jettonData };
|
|
46
54
|
}
|
|
47
|
-
return Struct_2.Origin.TAC;
|
|
55
|
+
return { origin: Struct_2.Origin.TAC, jettonMinter, evmAddress };
|
|
48
56
|
}
|
|
49
57
|
static async getTVMAddress(configuration, address) {
|
|
50
58
|
Validator_1.Validator.validateEVMAddress(address);
|
|
51
|
-
// If token is TON native
|
|
52
59
|
const fromTVM = await configuration.TACParams.tokenUtils['exists(address)'](address);
|
|
53
60
|
if (fromTVM) {
|
|
54
|
-
const
|
|
61
|
+
const cclErc20Abi = configuration.artifacts.tac.compilationArtifacts.ICrossChainLayerERC20.abi;
|
|
62
|
+
const erc20Token = new ethers_1.ethers.Contract(address, cclErc20Abi, configuration.TACParams.provider);
|
|
55
63
|
const info = await erc20Token.getInfo();
|
|
56
64
|
return info.tvmAddress;
|
|
57
65
|
}
|
|
58
|
-
|
|
59
|
-
|
|
66
|
+
const jettonMaster = configuration.artifacts.ton.wrappers.JettonMinter.createFromConfig({
|
|
67
|
+
totalSupply: 0n,
|
|
68
|
+
adminAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
|
|
69
|
+
jettonWalletCode: configuration.TONParams.jettonWalletCode,
|
|
60
70
|
evmTokenAddress: address,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
walletCode: configuration.TONParams.jettonWalletCode,
|
|
64
|
-
});
|
|
71
|
+
content: (0, ton_1.beginCell)().endCell(),
|
|
72
|
+
}, configuration.TONParams.jettonMinterCode);
|
|
65
73
|
return jettonMaster.address.toString();
|
|
66
74
|
}
|
|
67
75
|
static async getEVMAddress(configuration, address) {
|
|
@@ -71,29 +79,63 @@ class FT {
|
|
|
71
79
|
return configuration.TACParams.tokenUtils.computeAddress(tokenAddressString);
|
|
72
80
|
}
|
|
73
81
|
else {
|
|
74
|
-
const givenMinter = configuration.TONParams.contractOpener.open(
|
|
75
|
-
return givenMinter.
|
|
82
|
+
const givenMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tokenAddressString)));
|
|
83
|
+
return givenMinter.getEVMTokenAddress();
|
|
76
84
|
}
|
|
77
85
|
}
|
|
78
|
-
constructor(address, origin, configuration) {
|
|
86
|
+
constructor(address, origin, configuration, decimals) {
|
|
79
87
|
this.type = Struct_1.AssetType.FT;
|
|
80
88
|
this._tvmAddress = ton_1.Address.parse(address);
|
|
81
89
|
this._configuration = configuration;
|
|
82
|
-
this._jettonMinter = this._configuration.TONParams.contractOpener.open(
|
|
90
|
+
this._jettonMinter = this._configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(this._tvmAddress));
|
|
83
91
|
this.origin = origin;
|
|
84
92
|
this._transferAmount = 0n;
|
|
93
|
+
this._decimals = decimals;
|
|
94
|
+
}
|
|
95
|
+
static async getTACDecimals(configuration, evmAddress) {
|
|
96
|
+
const nativeTACAddress = await configuration.nativeTACAddress();
|
|
97
|
+
if (evmAddress === nativeTACAddress) {
|
|
98
|
+
return Consts_1.TAC_DECIMALS; // Native TAC always has 18 decimals
|
|
99
|
+
}
|
|
100
|
+
// For ERC20 contracts, get decimals from contract
|
|
101
|
+
const erc20TokenAbi = configuration.artifacts.tac.compilationArtifacts.IERC20WithDecimals.abi;
|
|
102
|
+
const erc20Token = new ethers_1.ethers.Contract(evmAddress, erc20TokenAbi, configuration.TACParams.provider);
|
|
103
|
+
return Number(await erc20Token.decimals());
|
|
85
104
|
}
|
|
86
105
|
static async fromAddress(configuration, address) {
|
|
87
106
|
const tvmAddress = (0, ethers_1.isAddress)(address) ? await this.getTVMAddress(configuration, address) : address;
|
|
88
|
-
const origin = await
|
|
107
|
+
const { origin, jettonMinter, evmAddress: cachedEvmAddress, jettonData, } = await this.getOriginAndData(configuration, tvmAddress).catch((e) => {
|
|
89
108
|
if (e instanceof errors_1.ContractError) {
|
|
90
|
-
|
|
109
|
+
const jettonMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tvmAddress)));
|
|
110
|
+
return { origin: Struct_2.Origin.TAC, jettonMinter, evmAddress: undefined, jettonData: undefined };
|
|
91
111
|
}
|
|
92
112
|
throw e;
|
|
93
113
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
114
|
+
let decimals;
|
|
115
|
+
let finalEvmAddress;
|
|
116
|
+
if (origin === Struct_2.Origin.TON) {
|
|
117
|
+
if (!jettonData) {
|
|
118
|
+
throw errors_1.missingJettonDataError;
|
|
119
|
+
}
|
|
120
|
+
const metadata = await (0, ContentUtils_1.readJettonMetadata)(jettonData.content);
|
|
121
|
+
const decimalsRaw = metadata.metadata.decimals ?? Consts_1.TON_DECIMALS;
|
|
122
|
+
if (decimalsRaw === undefined) {
|
|
123
|
+
throw errors_1.missingDecimals;
|
|
124
|
+
}
|
|
125
|
+
decimals = Number(decimalsRaw);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
if ((0, ethers_1.isAddress)(address)) {
|
|
129
|
+
finalEvmAddress = address;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
finalEvmAddress = cachedEvmAddress || (await jettonMinter.getEVMTokenAddress());
|
|
133
|
+
}
|
|
134
|
+
decimals = await this.getTACDecimals(configuration, finalEvmAddress);
|
|
135
|
+
}
|
|
136
|
+
const token = new FT(tvmAddress, origin, configuration, decimals);
|
|
137
|
+
if (finalEvmAddress || (0, ethers_1.isAddress)(address)) {
|
|
138
|
+
token._evmAddress = finalEvmAddress || address;
|
|
97
139
|
}
|
|
98
140
|
return token;
|
|
99
141
|
}
|
|
@@ -101,44 +143,38 @@ class FT {
|
|
|
101
143
|
return this._transferAmount;
|
|
102
144
|
}
|
|
103
145
|
get clone() {
|
|
104
|
-
const ft = new FT(this._tvmAddress.toString(), this.origin, this._configuration);
|
|
146
|
+
const ft = new FT(this._tvmAddress.toString(), this.origin, this._configuration, this._decimals);
|
|
105
147
|
ft._transferAmount = this._transferAmount;
|
|
106
148
|
ft._evmAddress = this._evmAddress;
|
|
107
|
-
ft._decimals = this._decimals;
|
|
108
149
|
return ft;
|
|
109
150
|
}
|
|
110
|
-
|
|
151
|
+
withAmount(amount) {
|
|
111
152
|
if (this._transferAmount > 0n) {
|
|
112
|
-
// clone token if withAmount set before to avoid changing the original token
|
|
113
153
|
const newToken = this.clone;
|
|
114
|
-
newToken._transferAmount =
|
|
115
|
-
'rawAmount' in amount ? amount.rawAmount : (0, Utils_1.calculateRawAmount)(amount.amount, await this.getDecimals());
|
|
154
|
+
newToken._transferAmount = (0, Utils_1.calculateRawAmount)(amount, this._decimals);
|
|
116
155
|
return newToken;
|
|
117
156
|
}
|
|
118
|
-
|
|
119
|
-
this._transferAmount = amount.rawAmount;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
const decimals = await this.getDecimals();
|
|
123
|
-
this._transferAmount = (0, Utils_1.calculateRawAmount)(amount.amount, decimals);
|
|
124
|
-
}
|
|
157
|
+
this._transferAmount = (0, Utils_1.calculateRawAmount)(amount, this._decimals);
|
|
125
158
|
return this;
|
|
126
159
|
}
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const decimals = await this.getDecimals();
|
|
133
|
-
this._transferAmount = this._transferAmount + (0, Utils_1.calculateRawAmount)(amount.amount, decimals);
|
|
160
|
+
withRawAmount(rawAmount) {
|
|
161
|
+
if (this._transferAmount > 0n) {
|
|
162
|
+
const newToken = this.clone;
|
|
163
|
+
newToken._transferAmount = rawAmount;
|
|
164
|
+
return newToken;
|
|
134
165
|
}
|
|
166
|
+
this._transferAmount = rawAmount;
|
|
167
|
+
return this;
|
|
168
|
+
}
|
|
169
|
+
addAmount(amount) {
|
|
170
|
+
this._transferAmount = this._transferAmount + (0, Utils_1.calculateRawAmount)(amount, this._decimals);
|
|
171
|
+
return this;
|
|
172
|
+
}
|
|
173
|
+
addRawAmount(rawAmount) {
|
|
174
|
+
this._transferAmount = this._transferAmount + rawAmount;
|
|
135
175
|
return this;
|
|
136
176
|
}
|
|
137
177
|
async getDecimals() {
|
|
138
|
-
if (!this._decimals) {
|
|
139
|
-
const decimalsRaw = (await this._jettonMinter.getJettonData()).content.metadata.decimals;
|
|
140
|
-
this._decimals = decimalsRaw ? Number(decimalsRaw) : 9;
|
|
141
|
-
}
|
|
142
178
|
return this._decimals;
|
|
143
179
|
}
|
|
144
180
|
async getEVMAddress() {
|
|
@@ -150,8 +186,8 @@ class FT {
|
|
|
150
186
|
this._evmAddress = await this._configuration.TACParams.tokenUtils.computeAddress(tokenAddressString);
|
|
151
187
|
}
|
|
152
188
|
else if (this.origin === Struct_2.Origin.TAC) {
|
|
153
|
-
const givenMinter = this._configuration.TONParams.contractOpener.open(
|
|
154
|
-
this._evmAddress = await givenMinter.
|
|
189
|
+
const givenMinter = this._configuration.TONParams.contractOpener.open(this._configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tokenAddressString)));
|
|
190
|
+
this._evmAddress = await givenMinter.getEVMTokenAddress();
|
|
155
191
|
}
|
|
156
192
|
else {
|
|
157
193
|
throw (0, errors_1.unknownTokenTypeError)(tokenAddressString, 'Token origin is neither TON nor TAC');
|
|
@@ -180,10 +216,10 @@ class FT {
|
|
|
180
216
|
}
|
|
181
217
|
async getWallet(userAddress) {
|
|
182
218
|
const walletAddress = await this.getUserWalletAddress(userAddress);
|
|
183
|
-
return this._configuration.TONParams.contractOpener.open(
|
|
219
|
+
return this._configuration.TONParams.contractOpener.open(this._configuration.artifacts.ton.wrappers.JettonWallet.createFromAddress(ton_1.Address.parse(walletAddress)));
|
|
184
220
|
}
|
|
185
221
|
async getUserWalletAddress(userAddress) {
|
|
186
|
-
return this._jettonMinter.getWalletAddress(userAddress);
|
|
222
|
+
return (await this._jettonMinter.getWalletAddress(ton_1.Address.parse(userAddress))).toString({ bounceable: true });
|
|
187
223
|
}
|
|
188
224
|
async getUserBalance(userAddress) {
|
|
189
225
|
const wallet = await this.getWallet(userAddress);
|
|
@@ -210,7 +246,7 @@ class FT {
|
|
|
210
246
|
throw (0, errors_1.insufficientBalanceError)(this._tvmAddress.toString());
|
|
211
247
|
}
|
|
212
248
|
}
|
|
213
|
-
async
|
|
249
|
+
async checkCanBeTransferredBy(userAddress) {
|
|
214
250
|
await this.checkBalance(userAddress);
|
|
215
251
|
}
|
|
216
252
|
async getBalanceOf(userAddress) {
|
|
@@ -218,11 +254,11 @@ class FT {
|
|
|
218
254
|
}
|
|
219
255
|
getTransferPayload(rawAmount, notificationReceiverAddress, responseAddress, evmData, crossChainTonAmount, forwardFeeAmount, feeData) {
|
|
220
256
|
const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
|
|
221
|
-
return
|
|
257
|
+
return this._configuration.artifacts.ton.wrappers.JettonWallet.transferMessage(rawAmount, notificationReceiverAddress, responseAddress, Consts_1.JETTON_TRANSFER_FORWARD_TON_AMOUNT + forwardFeeAmount + crossChainTonAmount, crossChainTonAmount, feeData, evmData, queryId);
|
|
222
258
|
}
|
|
223
259
|
getBurnPayload(rawAmount, notificationReceiverAddress, evmData, crossChainTonAmount, feeData) {
|
|
224
260
|
const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
|
|
225
|
-
return
|
|
261
|
+
return this._configuration.artifacts.ton.wrappers.JettonWallet.burnMessage(rawAmount, notificationReceiverAddress, crossChainTonAmount, feeData, evmData, queryId);
|
|
226
262
|
}
|
|
227
263
|
}
|
|
228
264
|
exports.FT = FT;
|