@sign-global/tokentable 0.0.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/.github/workflows/push.yml +33 -0
- package/.prettierignore +2 -0
- package/.prettierrc +7 -0
- package/README.md +186 -0
- package/dist/cjs/airdrop/BaseAirdropClient.d.ts +28 -0
- package/dist/cjs/airdrop/BaseAirdropClient.js +50 -0
- package/dist/cjs/airdrop/BaseAirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/EvmAirdropClient.d.ts +19 -0
- package/dist/cjs/airdrop/EvmAirdropClient.js +65 -0
- package/dist/cjs/airdrop/EvmAirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/TonAirdropClient.d.ts +24 -0
- package/dist/cjs/airdrop/TonAirdropClient.js +78 -0
- package/dist/cjs/airdrop/TonAirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/common/index.d.ts +1034 -0
- package/dist/cjs/airdrop/common/index.js +37 -0
- package/dist/cjs/airdrop/common/index.js.map +1 -0
- package/dist/cjs/airdrop/common/projectDataForTon.d.ts +79 -0
- package/dist/cjs/airdrop/common/projectDataForTon.js +83 -0
- package/dist/cjs/airdrop/common/projectDataForTon.js.map +1 -0
- package/dist/cjs/airdrop/constants/chain-config.d.ts +1043 -0
- package/dist/cjs/airdrop/constants/chain-config.js +90 -0
- package/dist/cjs/airdrop/constants/chain-config.js.map +1 -0
- package/dist/cjs/airdrop/constants/index.d.ts +2 -0
- package/dist/cjs/airdrop/constants/index.js +20 -0
- package/dist/cjs/airdrop/constants/index.js.map +1 -0
- package/dist/cjs/airdrop/constants/network.d.ts +90 -0
- package/dist/cjs/airdrop/constants/network.js +79 -0
- package/dist/cjs/airdrop/constants/network.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/AirdropService.d.ts +36 -0
- package/dist/cjs/airdrop/core/evm/AirdropService.js +146 -0
- package/dist/cjs/airdrop/core/evm/AirdropService.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.d.ts +8 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.js +40 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.d.ts +16 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.js +49 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.d.ts +6 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.js +21 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.d.ts +13 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.js +28 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.d.ts +28 -0
- package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.js +60 -0
- package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/DeployClient.d.ts +7 -0
- package/dist/cjs/airdrop/core/evm/contracts/DeployClient.js +38 -0
- package/dist/cjs/airdrop/core/evm/contracts/DeployClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.d.ts +6 -0
- package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.js +26 -0
- package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/KycClient.d.ts +6 -0
- package/dist/cjs/airdrop/core/evm/contracts/KycClient.js +26 -0
- package/dist/cjs/airdrop/core/evm/contracts/KycClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV1.d.ts +24 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV1.js +104 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV1.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV2.d.ts +28 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV2.js +102 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV2.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV3.d.ts +28 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV3.js +109 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV3.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/AirdropService.d.ts +40 -0
- package/dist/cjs/airdrop/core/ton/AirdropService.js +102 -0
- package/dist/cjs/airdrop/core/ton/AirdropService.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/TonContractBaseClient.d.ts +33 -0
- package/dist/cjs/airdrop/core/ton/TonContractBaseClient.js +215 -0
- package/dist/cjs/airdrop/core/ton/TonContractBaseClient.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/constants.d.ts +40 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/constants.js +47 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/constants.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.js +15 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/index.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/index.js +20 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.d.ts +17 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.js +87 -0
- package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.d.ts +24 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.js +67 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.d.ts +23 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.js +63 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.d.ts +26 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.js +77 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.d.ts +62 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js +228 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/index.d.ts +2 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/index.js +19 -0
- package/dist/cjs/airdrop/core/ton/v1/wrappers/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/constants.d.ts +41 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/constants.js +48 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/constants.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.js +15 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/index.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/index.js +20 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.d.ts +20 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.js +104 -0
- package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.d.ts +24 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.js +60 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.d.ts +65 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js +245 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/index.d.ts +2 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/index.js +19 -0
- package/dist/cjs/airdrop/core/ton/v2/wrappers/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/constants.d.ts +40 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/constants.js +47 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/constants.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.js +15 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/index.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/index.js +20 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.d.ts +17 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.js +87 -0
- package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.d.ts +24 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.js +60 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.d.ts +63 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js +225 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/index.d.ts +2 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/index.js +19 -0
- package/dist/cjs/airdrop/core/ton/v3/wrappers/index.js.map +1 -0
- package/dist/cjs/airdrop/index.d.ts +3 -0
- package/dist/cjs/airdrop/index.js +23 -0
- package/dist/cjs/airdrop/index.js.map +1 -0
- package/dist/cjs/airdrop/services/index.d.ts +23 -0
- package/dist/cjs/airdrop/services/index.js +44 -0
- package/dist/cjs/airdrop/services/index.js.map +1 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.d.ts +46 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js +173 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js.map +1 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/index.d.ts +1 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/index.js +6 -0
- package/dist/cjs/airdrop/services/wallet-service/ton/index.js.map +1 -0
- package/dist/cjs/airdrop/types/index.d.ts +105 -0
- package/dist/cjs/airdrop/types/index.js +21 -0
- package/dist/cjs/airdrop/types/index.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/utils/api-client.d.ts +18 -0
- package/dist/cjs/utils/api-client.js +47 -0
- package/dist/cjs/utils/api-client.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +3 -0
- package/dist/cjs/utils/index.js +20 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/utils.d.ts +7 -0
- package/dist/cjs/utils/utils.js +39 -0
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/cjs/utils/web3.d.ts +1 -0
- package/dist/cjs/utils/web3.js +15 -0
- package/dist/cjs/utils/web3.js.map +1 -0
- package/dist/esm/airdrop/BaseAirdropClient.d.ts +28 -0
- package/dist/esm/airdrop/BaseAirdropClient.js +46 -0
- package/dist/esm/airdrop/BaseAirdropClient.js.map +1 -0
- package/dist/esm/airdrop/EvmAirdropClient.d.ts +19 -0
- package/dist/esm/airdrop/EvmAirdropClient.js +61 -0
- package/dist/esm/airdrop/EvmAirdropClient.js.map +1 -0
- package/dist/esm/airdrop/TonAirdropClient.d.ts +24 -0
- package/dist/esm/airdrop/TonAirdropClient.js +74 -0
- package/dist/esm/airdrop/TonAirdropClient.js.map +1 -0
- package/dist/esm/airdrop/common/index.d.ts +1034 -0
- package/dist/esm/airdrop/common/index.js +30 -0
- package/dist/esm/airdrop/common/index.js.map +1 -0
- package/dist/esm/airdrop/common/projectDataForTon.d.ts +79 -0
- package/dist/esm/airdrop/common/projectDataForTon.js +80 -0
- package/dist/esm/airdrop/common/projectDataForTon.js.map +1 -0
- package/dist/esm/airdrop/constants/chain-config.d.ts +1043 -0
- package/dist/esm/airdrop/constants/chain-config.js +87 -0
- package/dist/esm/airdrop/constants/chain-config.js.map +1 -0
- package/dist/esm/airdrop/constants/index.d.ts +2 -0
- package/dist/esm/airdrop/constants/index.js +3 -0
- package/dist/esm/airdrop/constants/index.js.map +1 -0
- package/dist/esm/airdrop/constants/network.d.ts +90 -0
- package/dist/esm/airdrop/constants/network.js +76 -0
- package/dist/esm/airdrop/constants/network.js.map +1 -0
- package/dist/esm/airdrop/core/evm/AirdropService.d.ts +36 -0
- package/dist/esm/airdrop/core/evm/AirdropService.js +142 -0
- package/dist/esm/airdrop/core/evm/AirdropService.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.d.ts +8 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.js +33 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.d.ts +16 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.js +42 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.d.ts +6 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.js +14 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.d.ts +13 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.js +21 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.d.ts +28 -0
- package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.js +56 -0
- package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/DeployClient.d.ts +7 -0
- package/dist/esm/airdrop/core/evm/contracts/DeployClient.js +31 -0
- package/dist/esm/airdrop/core/evm/contracts/DeployClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.d.ts +6 -0
- package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.js +19 -0
- package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/KycClient.d.ts +6 -0
- package/dist/esm/airdrop/core/evm/contracts/KycClient.js +19 -0
- package/dist/esm/airdrop/core/evm/contracts/KycClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV1.d.ts +24 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV1.js +97 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV1.js.map +1 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV2.d.ts +28 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV2.js +95 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV2.js.map +1 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV3.d.ts +28 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV3.js +102 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV3.js.map +1 -0
- package/dist/esm/airdrop/core/ton/AirdropService.d.ts +40 -0
- package/dist/esm/airdrop/core/ton/AirdropService.js +98 -0
- package/dist/esm/airdrop/core/ton/AirdropService.js.map +1 -0
- package/dist/esm/airdrop/core/ton/TonContractBaseClient.d.ts +33 -0
- package/dist/esm/airdrop/core/ton/TonContractBaseClient.js +211 -0
- package/dist/esm/airdrop/core/ton/TonContractBaseClient.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
- package/dist/esm/airdrop/core/ton/v1/utils/constants.d.ts +40 -0
- package/dist/esm/airdrop/core/ton/v1/utils/constants.js +44 -0
- package/dist/esm/airdrop/core/ton/v1/utils/constants.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/utils/date.utils.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v1/utils/date.utils.js +10 -0
- package/dist/esm/airdrop/core/ton/v1/utils/date.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/utils/index.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v1/utils/index.js +4 -0
- package/dist/esm/airdrop/core/ton/v1/utils/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.d.ts +17 -0
- package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.js +69 -0
- package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.d.ts +24 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.js +62 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.d.ts +23 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.js +58 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.d.ts +26 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.js +72 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.d.ts +62 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js +222 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/index.d.ts +2 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/index.js +3 -0
- package/dist/esm/airdrop/core/ton/v1/wrappers/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
- package/dist/esm/airdrop/core/ton/v2/utils/constants.d.ts +41 -0
- package/dist/esm/airdrop/core/ton/v2/utils/constants.js +45 -0
- package/dist/esm/airdrop/core/ton/v2/utils/constants.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/utils/date.utils.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v2/utils/date.utils.js +10 -0
- package/dist/esm/airdrop/core/ton/v2/utils/date.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/utils/index.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v2/utils/index.js +4 -0
- package/dist/esm/airdrop/core/ton/v2/utils/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.d.ts +20 -0
- package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.js +83 -0
- package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.d.ts +24 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.js +55 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.d.ts +65 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js +239 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/index.d.ts +2 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/index.js +3 -0
- package/dist/esm/airdrop/core/ton/v2/wrappers/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
- package/dist/esm/airdrop/core/ton/v3/utils/constants.d.ts +40 -0
- package/dist/esm/airdrop/core/ton/v3/utils/constants.js +44 -0
- package/dist/esm/airdrop/core/ton/v3/utils/constants.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/utils/date.utils.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v3/utils/date.utils.js +10 -0
- package/dist/esm/airdrop/core/ton/v3/utils/date.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/utils/index.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v3/utils/index.js +4 -0
- package/dist/esm/airdrop/core/ton/v3/utils/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.d.ts +17 -0
- package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.js +69 -0
- package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.d.ts +24 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.js +55 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.d.ts +63 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js +219 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/index.d.ts +2 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/index.js +3 -0
- package/dist/esm/airdrop/core/ton/v3/wrappers/index.js.map +1 -0
- package/dist/esm/airdrop/index.d.ts +3 -0
- package/dist/esm/airdrop/index.js +4 -0
- package/dist/esm/airdrop/index.js.map +1 -0
- package/dist/esm/airdrop/services/index.d.ts +23 -0
- package/dist/esm/airdrop/services/index.js +35 -0
- package/dist/esm/airdrop/services/index.js.map +1 -0
- package/dist/esm/airdrop/services/wallet-service/ton/WalletService.d.ts +46 -0
- package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js +169 -0
- package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js.map +1 -0
- package/dist/esm/airdrop/services/wallet-service/ton/index.d.ts +1 -0
- package/dist/esm/airdrop/services/wallet-service/ton/index.js +2 -0
- package/dist/esm/airdrop/services/wallet-service/ton/index.js.map +1 -0
- package/dist/esm/airdrop/types/index.d.ts +105 -0
- package/dist/esm/airdrop/types/index.js +18 -0
- package/dist/esm/airdrop/types/index.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils/api-client.d.ts +18 -0
- package/dist/esm/utils/api-client.js +43 -0
- package/dist/esm/utils/api-client.js.map +1 -0
- package/dist/esm/utils/index.d.ts +3 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/utils.d.ts +7 -0
- package/dist/esm/utils/utils.js +29 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/dist/esm/utils/web3.d.ts +1 -0
- package/dist/esm/utils/web3.js +9 -0
- package/dist/esm/utils/web3.js.map +1 -0
- package/index.ts +34 -0
- package/package.json +34 -0
- package/src/airdrop/BaseAirdropClient.ts +75 -0
- package/src/airdrop/EvmAirdropClient.ts +74 -0
- package/src/airdrop/TonAirdropClient.ts +93 -0
- package/src/airdrop/common/index.ts +49 -0
- package/src/airdrop/common/projectDataForTon.ts +79 -0
- package/src/airdrop/constants/chain-config.ts +102 -0
- package/src/airdrop/constants/index.ts +3 -0
- package/src/airdrop/constants/network.ts +78 -0
- package/src/airdrop/core/evm/AirdropService.ts +182 -0
- package/src/airdrop/core/evm/contracts/AirdropV2Client.ts +37 -0
- package/src/airdrop/core/evm/contracts/AirdropV3Client.ts +49 -0
- package/src/airdrop/core/evm/contracts/AirdropV3FeeClient.ts +16 -0
- package/src/airdrop/core/evm/contracts/AirdropV4Client.ts +36 -0
- package/src/airdrop/core/evm/contracts/ContractBaseClient.ts +85 -0
- package/src/airdrop/core/evm/contracts/DeployClient.ts +35 -0
- package/src/airdrop/core/evm/contracts/FeeCollectorClient.ts +21 -0
- package/src/airdrop/core/evm/contracts/KycClient.ts +21 -0
- package/src/airdrop/core/evm/contracts/abis/Airdrop.json +674 -0
- package/src/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
- package/src/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
- package/src/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
- package/src/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
- package/src/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
- package/src/airdrop/core/evm/contracts/abis/ERC721.json +737 -0
- package/src/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
- package/src/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
- package/src/airdrop/core/ton/AirdropClientV1.ts +122 -0
- package/src/airdrop/core/ton/AirdropClientV2.ts +118 -0
- package/src/airdrop/core/ton/AirdropClientV3.ts +127 -0
- package/src/airdrop/core/ton/AirdropService.ts +121 -0
- package/src/airdrop/core/ton/TonContractBaseClient.ts +235 -0
- package/src/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
- package/src/airdrop/core/ton/v1/build/MerkleTokenDistributor.compiled.json +1 -0
- package/src/airdrop/core/ton/v1/utils/constants.ts +42 -0
- package/src/airdrop/core/ton/v1/utils/date.utils.ts +11 -0
- package/src/airdrop/core/ton/v1/utils/index.ts +3 -0
- package/src/airdrop/core/ton/v1/utils/ton.utils.ts +84 -0
- package/src/airdrop/core/ton/v1/wrappers/JettonMinter.ts +81 -0
- package/src/airdrop/core/ton/v1/wrappers/JettonWallet.ts +73 -0
- package/src/airdrop/core/ton/v1/wrappers/Leaf.ts +88 -0
- package/src/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.ts +317 -0
- package/src/airdrop/core/ton/v1/wrappers/index.ts +2 -0
- package/src/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
- package/src/airdrop/core/ton/v2/build/MerkleTokenDistributor.compiled.json +1 -0
- package/src/airdrop/core/ton/v2/utils/constants.ts +43 -0
- package/src/airdrop/core/ton/v2/utils/date.utils.ts +11 -0
- package/src/airdrop/core/ton/v2/utils/index.ts +3 -0
- package/src/airdrop/core/ton/v2/utils/ton.utils.ts +102 -0
- package/src/airdrop/core/ton/v2/wrappers/Leaf.ts +69 -0
- package/src/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.ts +340 -0
- package/src/airdrop/core/ton/v2/wrappers/index.ts +2 -0
- package/src/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
- package/src/airdrop/core/ton/v3/build/MerkleTokenDistributor.compiled.json +1 -0
- package/src/airdrop/core/ton/v3/utils/constants.ts +43 -0
- package/src/airdrop/core/ton/v3/utils/date.utils.ts +11 -0
- package/src/airdrop/core/ton/v3/utils/index.ts +3 -0
- package/src/airdrop/core/ton/v3/utils/ton.utils.ts +84 -0
- package/src/airdrop/core/ton/v3/wrappers/Leaf.ts +68 -0
- package/src/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.ts +316 -0
- package/src/airdrop/core/ton/v3/wrappers/index.ts +2 -0
- package/src/airdrop/index.ts +3 -0
- package/src/airdrop/services/index.ts +63 -0
- package/src/airdrop/services/wallet-service/ton/WalletService.ts +226 -0
- package/src/airdrop/services/wallet-service/ton/index.ts +1 -0
- package/src/airdrop/types/index.ts +128 -0
- package/src/index.ts +1 -0
- package/src/utils/api-client.ts +68 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/utils.ts +30 -0
- package/src/utils/web3.ts +8 -0
- package/tsconfig.json +29 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export const projectDataForTon = {
|
|
2
|
+
ava: {
|
|
3
|
+
'12345': 'AD_18uwEPKbTXZo',
|
|
4
|
+
'67890': 'AD_XOPhRRGggtjK',
|
|
5
|
+
abcABC: 'AD_qKwG21hnimAB',
|
|
6
|
+
defDEF: 'AD_CfAV1GNekDAQ',
|
|
7
|
+
ghiGHI: 'AD_uwipChWywF4V',
|
|
8
|
+
jklJKL: 'AD_d3tai5RtikM2',
|
|
9
|
+
mnoMNO: 'AD_dMEF8ToRIqzY',
|
|
10
|
+
pqrPQR: 'AD_vdx6P5QHc1ES',
|
|
11
|
+
stuSTU: 'AD_2k77RlCRD1ds',
|
|
12
|
+
vwxVWX: 'AD_hiXx1hLsIkBM',
|
|
13
|
+
'yz-_YZ': 'AD_cj99f5rdUU8C'
|
|
14
|
+
},
|
|
15
|
+
dogs: {
|
|
16
|
+
'12': 'AD_P2ipWbDVrtSE',
|
|
17
|
+
'34': 'AD_cXW3IFfYHfa5',
|
|
18
|
+
'56': 'AD_NG5bNpQOHuqI',
|
|
19
|
+
'78': 'AD_KvnQeG76AgYs',
|
|
20
|
+
'90': 'AD_xlv2JO3PQdtR',
|
|
21
|
+
aA: 'AD_kc0CJE8RPvJy',
|
|
22
|
+
bB: 'AD_yRFzJyPoAOY4',
|
|
23
|
+
cC: 'AD_yN14YHi4F29p',
|
|
24
|
+
dD: 'AD_jWsTmtfnbzVn',
|
|
25
|
+
eE: 'AD_ZfFnjr06dhp7',
|
|
26
|
+
fF: 'AD_s58jwEK3EggA',
|
|
27
|
+
gG: 'AD_qKszLFxv5PDy',
|
|
28
|
+
hH: 'AD_RzefaG1fi44A',
|
|
29
|
+
iI: 'AD_LItldBE09QRn',
|
|
30
|
+
jJ: 'AD_SzKbQmVOz0S1',
|
|
31
|
+
kK: 'AD_rNrYIzCzye0W',
|
|
32
|
+
lL: 'AD_IbtlhoM0M6SZ',
|
|
33
|
+
mM: 'AD_m2NUNiwCgFES',
|
|
34
|
+
nN: 'AD_3mb6NTcYPw5y',
|
|
35
|
+
oO: 'AD_kVrO6qmmZDUK',
|
|
36
|
+
pP: 'AD_cV9g8YMQZ0iB',
|
|
37
|
+
qQ: 'AD_esdFer2shKO3',
|
|
38
|
+
rR: 'AD_BqZmJzFKapu0',
|
|
39
|
+
sS: 'AD_iOU6Rnltj3sx',
|
|
40
|
+
tT: 'AD_M8J1QU64Yuzi',
|
|
41
|
+
uU: 'AD_es9ceiuC8TXq',
|
|
42
|
+
vV: 'AD_7DXSpRcGivjO',
|
|
43
|
+
wW: 'AD_0uI9R6Sc6jY4',
|
|
44
|
+
xX: 'AD_FyrRNdtrgqKj',
|
|
45
|
+
yY: 'AD_JR0ktPVqVriT',
|
|
46
|
+
zZ: 'AD_bb9I2XdIqM6W',
|
|
47
|
+
'_-': 'AD_qaLi6r8K9BAv'
|
|
48
|
+
},
|
|
49
|
+
ava2: {
|
|
50
|
+
'1234567890_': 'AD_EZFWfhs641YQ',
|
|
51
|
+
'aAbBcCdDeE-': 'AD_jCVjsDT9g6h3',
|
|
52
|
+
fFgGhHiIjJ: 'AD_7nF9gncQeVW3',
|
|
53
|
+
kKlLmMnNoO: 'AD_RmoPsyKeIah0',
|
|
54
|
+
pPqQrRsStTZ: 'AD_zrK1RVGQ2Ogl',
|
|
55
|
+
uUvVwWxXyYz: 'AD_fKN6IcxEIdIA'
|
|
56
|
+
},
|
|
57
|
+
wat: {
|
|
58
|
+
'1234': 'AD_sMtwhyrqUFiZ',
|
|
59
|
+
'5678': 'AD_CMZVOHQjeVBp',
|
|
60
|
+
aAbB: 'AD_sdmcLLcDS59f',
|
|
61
|
+
cCdD: 'AD_M9Zyy7VaLuR1',
|
|
62
|
+
eEfF: 'AD_K4WWeUvk7aMj',
|
|
63
|
+
gGhH: 'AD_AmCnivdzxToB',
|
|
64
|
+
iIjJ: 'AD_2NgsKs5nyJhe',
|
|
65
|
+
kKlL: 'AD_IOPluo9KRSM9',
|
|
66
|
+
mMnN: 'AD_FMOlFAIOycQw',
|
|
67
|
+
oOpP: 'AD_NCW9yZdOTPQ9',
|
|
68
|
+
qQrR: 'AD_JjOkeBs0Jfsb',
|
|
69
|
+
sStT: 'AD_hUkWbwWMWUvp',
|
|
70
|
+
uUvV: 'AD_w9UAKxCxU84P',
|
|
71
|
+
wWxX: 'AD_Vwa41VRRXjpP',
|
|
72
|
+
yYzZ: 'AD_XQbS0ksJGDrB',
|
|
73
|
+
'90_-': 'AD_LhssByVDm8Q1'
|
|
74
|
+
},
|
|
75
|
+
roolz: {
|
|
76
|
+
abcdefghijklmnopqrstuvwxyz12345_: 'AD_3ZoF8wq7leAI',
|
|
77
|
+
'ABCDEFGHIJKLMNOPQRSTUVWXYZ67890-': 'AD_HMFs2ubSrC1K'
|
|
78
|
+
}
|
|
79
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { CHAIN } from '@tonconnect/ui-react';
|
|
2
|
+
import {
|
|
3
|
+
base,
|
|
4
|
+
baseSepolia,
|
|
5
|
+
cyber,
|
|
6
|
+
mainnet,
|
|
7
|
+
mantaTestnet,
|
|
8
|
+
polygonMumbai,
|
|
9
|
+
polygonAmoy,
|
|
10
|
+
sepolia,
|
|
11
|
+
zetachain,
|
|
12
|
+
zetachainAthensTestnet,
|
|
13
|
+
zkSync,
|
|
14
|
+
bsc,
|
|
15
|
+
berachainTestnet
|
|
16
|
+
} from 'viem/chains';
|
|
17
|
+
import { mevmDevNet, tonMainNet, tonTestNet } from './network';
|
|
18
|
+
|
|
19
|
+
export const ChainConfig = {
|
|
20
|
+
[mainnet.id]: {
|
|
21
|
+
contractAddress: '0x0993Dd5384BcD116A3543889BC6ffA6C98948631',
|
|
22
|
+
rpcUrl: 'https://eth-mainnet.g.alchemy.com/v2/udrqNPSB6i5n5L6QSM31Ng72h_hFOrVT'
|
|
23
|
+
},
|
|
24
|
+
[bsc.id]: {
|
|
25
|
+
contractAddress: '0x6c241FF6d5c3f074b49aC10872770529d9e27BA4',
|
|
26
|
+
rpcUrl: 'https://bnb-mainnet.g.alchemy.com/v2/udrqNPSB6i5n5L6QSM31Ng72h_hFOrVT'
|
|
27
|
+
},
|
|
28
|
+
[base.id]: {
|
|
29
|
+
contractAddress: '0x3d1abcD56d53f7C8b04A753C6AF397903DC0f0F2',
|
|
30
|
+
rpcUrl: base.rpcUrls.default.http[0]
|
|
31
|
+
},
|
|
32
|
+
[cyber.id]: {
|
|
33
|
+
contractAddress: '0x7915dA247674E430b2a4Dcf01e4471f709428Bc0',
|
|
34
|
+
rpcUrl: cyber.rpcUrls.default.http[0]
|
|
35
|
+
},
|
|
36
|
+
[sepolia.id]: {
|
|
37
|
+
contractAddress: '0xf3f5243B35376c6dea04169983A8c853c8BE6d69',
|
|
38
|
+
rpcUrl: 'https://eth-sepolia.public.blastapi.io'
|
|
39
|
+
},
|
|
40
|
+
[baseSepolia.id]: {
|
|
41
|
+
contractAddress: '0x66c9fe5c76672B06Bf497eFfdaAfDf897D1e68d8',
|
|
42
|
+
rpcUrl: baseSepolia.rpcUrls.default.http[0]
|
|
43
|
+
},
|
|
44
|
+
[zetachainAthensTestnet.id]: {
|
|
45
|
+
contractAddress: '0x63aE2f2260DEfc11932d22410B976Ec29F54498B',
|
|
46
|
+
rpcUrl: zetachainAthensTestnet.rpcUrls.default.http[0]
|
|
47
|
+
},
|
|
48
|
+
[zetachain.id]: {
|
|
49
|
+
contractAddress: '0x00aFD4466E4Afa4F43cCd414b1BC65e574ACA2f5',
|
|
50
|
+
rpcUrl: 'https://zetachain-mainnet.g.alchemy.com/v2/1tmk0FrhwTJHXh0XIyae7_SXw1lDCjgs'
|
|
51
|
+
},
|
|
52
|
+
[berachainTestnet.id]: {
|
|
53
|
+
contractAddress: '',
|
|
54
|
+
rpcUrl: '',
|
|
55
|
+
availableSolutions: []
|
|
56
|
+
},
|
|
57
|
+
[polygonMumbai.id]: {
|
|
58
|
+
contractAddress: '',
|
|
59
|
+
rpcUrl: '',
|
|
60
|
+
availableSolutions: []
|
|
61
|
+
},
|
|
62
|
+
[polygonAmoy.id]: {
|
|
63
|
+
contractAddress: '',
|
|
64
|
+
rpcUrl: '',
|
|
65
|
+
availableSolutions: []
|
|
66
|
+
},
|
|
67
|
+
[mevmDevNet.id]: {
|
|
68
|
+
contractAddress: '0x8D92827CdB67A503e9FB21B28a58F9dAb36B4973',
|
|
69
|
+
rpcUrl: mevmDevNet.rpcUrls.default.http[0]
|
|
70
|
+
},
|
|
71
|
+
[CHAIN.TESTNET]: {
|
|
72
|
+
name: 'TestNet',
|
|
73
|
+
contractAddress: '',
|
|
74
|
+
rpcUrl: 'https://testnet.toncenter.com/api/v2/jsonRPC', //https://toncenter.com/api/v2/jsonRPC
|
|
75
|
+
tonApiPrefix: 'https://testnet.tonapi.io',
|
|
76
|
+
blockExplorer: 'https://testnet.tonviewer.com'
|
|
77
|
+
},
|
|
78
|
+
[CHAIN.MAINNET]: {
|
|
79
|
+
name: 'MainNet',
|
|
80
|
+
contractAddress: '',
|
|
81
|
+
rpcUrl: 'https://toncenter.com/api/v2/jsonRPC',
|
|
82
|
+
tonApiPrefix: 'https://tonapi.io',
|
|
83
|
+
blockExplorer: 'https://tonviewer.com'
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const SupportedChains = [
|
|
88
|
+
mainnet,
|
|
89
|
+
bsc,
|
|
90
|
+
base,
|
|
91
|
+
cyber,
|
|
92
|
+
sepolia,
|
|
93
|
+
baseSepolia,
|
|
94
|
+
zetachain,
|
|
95
|
+
zetachainAthensTestnet,
|
|
96
|
+
berachainTestnet,
|
|
97
|
+
polygonMumbai,
|
|
98
|
+
polygonAmoy,
|
|
99
|
+
mevmDevNet,
|
|
100
|
+
tonTestNet,
|
|
101
|
+
tonMainNet
|
|
102
|
+
];
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { CHAIN } from '@tonconnect/ui-react';
|
|
2
|
+
import { defineChain } from 'viem';
|
|
3
|
+
|
|
4
|
+
export const mevmDevNet = defineChain({
|
|
5
|
+
id: 30732,
|
|
6
|
+
name: 'Movement M1 Devnet',
|
|
7
|
+
network: 'mevm',
|
|
8
|
+
nativeCurrency: { name: 'Move', symbol: 'MOVE', decimals: 18 },
|
|
9
|
+
rpcUrls: {
|
|
10
|
+
default: {
|
|
11
|
+
http: ['https://mevm.devnet.imola.movementlabs.xyz']
|
|
12
|
+
},
|
|
13
|
+
public: {
|
|
14
|
+
http: ['https://mevm.devnet.imola.movementlabs.xyz']
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
blockExplorers: {
|
|
18
|
+
etherscan: { name: 'Arbiscan', url: 'https://explorer.devnet.imola.movementlabs.xyz/' },
|
|
19
|
+
default: { name: 'Arbiscan', url: 'https://explorer.devnet.imola.movementlabs.xyz/' }
|
|
20
|
+
},
|
|
21
|
+
contracts: {
|
|
22
|
+
multicall3: {
|
|
23
|
+
address: '0xD67Eca381AAbd0c049554f5714E7d8C21864c560',
|
|
24
|
+
blockCreated: 500
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const tonTestNet = {
|
|
30
|
+
id: CHAIN.TESTNET,
|
|
31
|
+
name: 'TON Testnet',
|
|
32
|
+
network: 'TON_TESTNET',
|
|
33
|
+
nativeCurrency: {
|
|
34
|
+
decimals: 9,
|
|
35
|
+
name: 'TON',
|
|
36
|
+
symbol: 'TON'
|
|
37
|
+
},
|
|
38
|
+
rpcUrls: {
|
|
39
|
+
public: {
|
|
40
|
+
http: []
|
|
41
|
+
},
|
|
42
|
+
default: {
|
|
43
|
+
http: []
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
blockExplorers: {
|
|
47
|
+
default: {
|
|
48
|
+
name: 'tonviewer',
|
|
49
|
+
url: 'https://testnet.tonviewer.com'
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
testnet: true
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const tonMainNet = {
|
|
56
|
+
id: CHAIN.MAINNET,
|
|
57
|
+
name: 'TON Mainnet',
|
|
58
|
+
network: 'TON_MAINNET',
|
|
59
|
+
nativeCurrency: {
|
|
60
|
+
decimals: 9,
|
|
61
|
+
name: 'TON',
|
|
62
|
+
symbol: 'TON'
|
|
63
|
+
},
|
|
64
|
+
rpcUrls: {
|
|
65
|
+
public: {
|
|
66
|
+
http: []
|
|
67
|
+
},
|
|
68
|
+
default: {
|
|
69
|
+
http: []
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
blockExplorers: {
|
|
73
|
+
default: {
|
|
74
|
+
name: 'tonviwer',
|
|
75
|
+
url: 'https://tonviewer.com'
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { AirdropV3Client } from './contracts/AirdropV3Client';
|
|
2
|
+
import { FeeCollectorClient } from './contracts/FeeCollectorClient';
|
|
3
|
+
import { DeployerClient } from './contracts/DeployClient';
|
|
4
|
+
import { AirdropV3FeeClient } from './contracts/AirdropV3FeeClient';
|
|
5
|
+
import { BigNumber } from 'bignumber.js';
|
|
6
|
+
import { AirdropV4Client } from './contracts/AirdropV4Client';
|
|
7
|
+
import { encodeAbiParameters } from 'viem';
|
|
8
|
+
import { KycClientClient } from './contracts/KycClient';
|
|
9
|
+
import { ZERO_ADDRESS } from '../../constants';
|
|
10
|
+
import { EvmAirdropVersionEnum as AirdropVersionEnum, ChainId, EvmContractClientOption } from '../../types';
|
|
11
|
+
|
|
12
|
+
export class AirdropService {
|
|
13
|
+
options: EvmContractClientOption;
|
|
14
|
+
constructor(options: EvmContractClientOption) {
|
|
15
|
+
this.options = options;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private get airdropV3Client(): AirdropV3Client {
|
|
19
|
+
if (!this.options) {
|
|
20
|
+
throw new Error('options is empty');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return new AirdropV3Client(this.options);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
private get airdropV3FeeClient(): AirdropV3FeeClient {
|
|
27
|
+
if (!this.options) {
|
|
28
|
+
throw new Error('options is empty');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return new AirdropV3FeeClient(this.options);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private get airdropV4Client(): AirdropV4Client {
|
|
35
|
+
if (!this.options) {
|
|
36
|
+
throw new Error('options is empty');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return new AirdropV4Client(this.options);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async getDeployerClient(): Promise<DeployerClient> {
|
|
43
|
+
const deployer = await this.getDeployer();
|
|
44
|
+
return new DeployerClient({
|
|
45
|
+
...this.options,
|
|
46
|
+
contractAddress: deployer
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private getFeeClient(address: string): FeeCollectorClient {
|
|
51
|
+
if (!this.options) {
|
|
52
|
+
throw new Error('options is empty');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return new FeeCollectorClient({
|
|
56
|
+
...this.options,
|
|
57
|
+
chainId: this.options.chainId as ChainId,
|
|
58
|
+
contractAddress: address
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async getKycClient() {
|
|
63
|
+
const claimHook = await this.airdropV4Client.getClaimHook();
|
|
64
|
+
|
|
65
|
+
return new KycClientClient({
|
|
66
|
+
...this.options,
|
|
67
|
+
contractAddress: claimHook
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async isLeafUsed(leaf: string): Promise<boolean> {
|
|
72
|
+
return this.airdropV3Client.isLeafUsed(leaf) as Promise<boolean>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async batchFetchClaimed(leafs: string[]) {
|
|
76
|
+
return this.airdropV3Client.batchFetchClaimed(leafs) as Promise<{ result: boolean; status: string }[]>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async claim({
|
|
80
|
+
proof,
|
|
81
|
+
group,
|
|
82
|
+
data,
|
|
83
|
+
value,
|
|
84
|
+
extraData
|
|
85
|
+
}: {
|
|
86
|
+
proof: string[];
|
|
87
|
+
group: string;
|
|
88
|
+
data: string;
|
|
89
|
+
value?: bigint;
|
|
90
|
+
extraData?: {
|
|
91
|
+
isLegacy: boolean;
|
|
92
|
+
attestationId: bigint;
|
|
93
|
+
};
|
|
94
|
+
}) {
|
|
95
|
+
const version = await this.getVersion();
|
|
96
|
+
|
|
97
|
+
console.log(version, 'version');
|
|
98
|
+
if (version === AirdropVersionEnum.V4) {
|
|
99
|
+
const encodeData = encodeAbiParameters(
|
|
100
|
+
[
|
|
101
|
+
{
|
|
102
|
+
type: 'tuple',
|
|
103
|
+
components: [
|
|
104
|
+
{
|
|
105
|
+
name: 'isLegacy',
|
|
106
|
+
type: 'bool'
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'attestationId',
|
|
110
|
+
type: 'uint'
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
[extraData!]
|
|
116
|
+
);
|
|
117
|
+
return this.airdropV4Client.claim({
|
|
118
|
+
proof,
|
|
119
|
+
group,
|
|
120
|
+
data,
|
|
121
|
+
value,
|
|
122
|
+
extraData: encodeData
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return this.airdropV3Client.claim({
|
|
126
|
+
proof,
|
|
127
|
+
group,
|
|
128
|
+
data,
|
|
129
|
+
value
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
async getNFT() {
|
|
134
|
+
return this.airdropV3Client.getNFT();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
async getVersion() {
|
|
138
|
+
return this.airdropV3Client.version();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async getDeployer() {
|
|
142
|
+
return this.airdropV3Client.getDeployer();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
feeCollectors = async (address: string) => {
|
|
146
|
+
const deployerClient = await this.getDeployerClient();
|
|
147
|
+
return await deployerClient.feeCollectors(address);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
feeTokens = async (address: string) => {
|
|
151
|
+
const deployerClient = await this.getDeployerClient();
|
|
152
|
+
return await deployerClient.feeTokens(address);
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
async getFeelessThreshold() {
|
|
156
|
+
return this.airdropV3FeeClient.getFeelessThreshold();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
async getClaimFee(address: string, tokenTransferred: bigint): Promise<bigint | undefined> {
|
|
160
|
+
const feeCollector = await this.feeCollectors(this.options.contractAddress as string);
|
|
161
|
+
if (!feeCollector || feeCollector === ZERO_ADDRESS) {
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
const feeClient = this.getFeeClient(feeCollector as string);
|
|
165
|
+
const fee = await feeClient.getFee(address, tokenTransferred);
|
|
166
|
+
const version = await this.getVersion();
|
|
167
|
+
if (version === AirdropVersionEnum.V3) {
|
|
168
|
+
const threshold = await this.getFeelessThreshold();
|
|
169
|
+
if (BigNumber(Number(tokenTransferred)).gt(BigNumber(Number(threshold)))) {
|
|
170
|
+
return fee;
|
|
171
|
+
} else {
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return fee;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
async getKycThreshold() {
|
|
179
|
+
const kycClient = await this.getKycClient();
|
|
180
|
+
return kycClient.kycThreshold();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../../types';
|
|
2
|
+
import AirdropAbi from './abis/AirdropV2.json';
|
|
3
|
+
import { ContractBaseClient } from './ContractBaseClient';
|
|
4
|
+
|
|
5
|
+
export class AirdropV2Client extends ContractBaseClient {
|
|
6
|
+
constructor(options: EvmContractClientOption) {
|
|
7
|
+
super({
|
|
8
|
+
...options,
|
|
9
|
+
abi: AirdropAbi
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async isLeafUsed(leaf: string) {
|
|
14
|
+
return this.readContract({ functionName: 'isLeafUsed', args: ['0x' + leaf] });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async claim(proof: string[], group: string, data: string, value?: bigint) {
|
|
18
|
+
return this.writeContract({
|
|
19
|
+
functionName: 'claim',
|
|
20
|
+
args: [proof, group, data],
|
|
21
|
+
value: value || 0n
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async batchFetchClaimed(leafs: string[]) {
|
|
26
|
+
return this.multiCall({
|
|
27
|
+
contracts: leafs?.map((leaf) => {
|
|
28
|
+
return {
|
|
29
|
+
address: this.contractAddress,
|
|
30
|
+
abi: this.abi,
|
|
31
|
+
functionName: 'isLeafUsed',
|
|
32
|
+
args: ['0x' + leaf]
|
|
33
|
+
};
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../../types';
|
|
2
|
+
import AirdropAbi from './abis/AirdropV3.json';
|
|
3
|
+
import { ContractBaseClient } from './ContractBaseClient';
|
|
4
|
+
|
|
5
|
+
export class AirdropV3Client extends ContractBaseClient {
|
|
6
|
+
constructor(options: EvmContractClientOption) {
|
|
7
|
+
super({
|
|
8
|
+
...options,
|
|
9
|
+
abi: options.abi || AirdropAbi
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async isLeafUsed(leaf: string) {
|
|
14
|
+
return this.readContract({ functionName: 'isLeafUsed', args: ['0x' + leaf] });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async claim({ proof, group, data, value }: { proof: string[]; group: string; data: string; value?: bigint }) {
|
|
18
|
+
return this.writeContract({
|
|
19
|
+
functionName: 'claim',
|
|
20
|
+
args: [proof, group, data],
|
|
21
|
+
value: value || 0n
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async batchFetchClaimed(leafs: string[]) {
|
|
26
|
+
return this.multiCall({
|
|
27
|
+
contracts: leafs?.map((leaf) => {
|
|
28
|
+
return {
|
|
29
|
+
address: this.contractAddress,
|
|
30
|
+
abi: this.abi,
|
|
31
|
+
functionName: 'isLeafUsed',
|
|
32
|
+
args: ['0x' + leaf]
|
|
33
|
+
};
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async getNFT() {
|
|
39
|
+
return this.readContract({ functionName: 'getNFT' });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async version() {
|
|
43
|
+
return this.readContract({ functionName: 'version' }) as Promise<string>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async getDeployer() {
|
|
47
|
+
return this.readContract({ functionName: 'getDeployer' }) as Promise<string>;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../../types';
|
|
2
|
+
import AirdropAbi from './abis/AirdropV3_Fee.json';
|
|
3
|
+
import { ContractBaseClient } from './ContractBaseClient';
|
|
4
|
+
|
|
5
|
+
export class AirdropV3FeeClient extends ContractBaseClient {
|
|
6
|
+
constructor(options: EvmContractClientOption) {
|
|
7
|
+
super({
|
|
8
|
+
...options,
|
|
9
|
+
abi: options.abi || AirdropAbi
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async getFeelessThreshold() {
|
|
14
|
+
return this.readContract({ functionName: 'getFeelessThreshold' });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../../types';
|
|
2
|
+
import AirdropAbi from './abis/CustomFeeNativeAirdropV4.json';
|
|
3
|
+
import { AirdropV3Client } from './AirdropV3Client';
|
|
4
|
+
|
|
5
|
+
export class AirdropV4Client extends AirdropV3Client {
|
|
6
|
+
constructor(options: EvmContractClientOption) {
|
|
7
|
+
super({
|
|
8
|
+
...options,
|
|
9
|
+
abi: options.abi || AirdropAbi
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async claim({
|
|
14
|
+
proof,
|
|
15
|
+
group,
|
|
16
|
+
data,
|
|
17
|
+
value,
|
|
18
|
+
extraData
|
|
19
|
+
}: {
|
|
20
|
+
proof: string[];
|
|
21
|
+
group: string;
|
|
22
|
+
data: string;
|
|
23
|
+
value?: bigint;
|
|
24
|
+
extraData?: string;
|
|
25
|
+
}) {
|
|
26
|
+
return this.writeContract({
|
|
27
|
+
functionName: 'claim',
|
|
28
|
+
args: [proof, group, data, extraData],
|
|
29
|
+
value: value || 0n
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async getClaimHook() {
|
|
34
|
+
return this.readContract({ functionName: 'getClaimHook' }) as Promise<string>;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chain,
|
|
3
|
+
createPublicClient,
|
|
4
|
+
http,
|
|
5
|
+
PublicClient,
|
|
6
|
+
WalletClient,
|
|
7
|
+
createWalletClient,
|
|
8
|
+
MulticallParameters
|
|
9
|
+
} from 'viem';
|
|
10
|
+
import { getChainById, getChainRpc } from '../../../common';
|
|
11
|
+
import { ChainId } from '../../../types';
|
|
12
|
+
|
|
13
|
+
export class ContractBaseClient {
|
|
14
|
+
contractAddress: string;
|
|
15
|
+
chainId: ChainId;
|
|
16
|
+
connector?: WalletClient;
|
|
17
|
+
abi: any;
|
|
18
|
+
chain: Chain;
|
|
19
|
+
chainRpc: string;
|
|
20
|
+
|
|
21
|
+
constructor({
|
|
22
|
+
contractAddress,
|
|
23
|
+
chainId,
|
|
24
|
+
walletClient,
|
|
25
|
+
abi
|
|
26
|
+
}: {
|
|
27
|
+
contractAddress: string;
|
|
28
|
+
chainId: ChainId;
|
|
29
|
+
walletClient?: WalletClient;
|
|
30
|
+
abi: any;
|
|
31
|
+
}) {
|
|
32
|
+
this.contractAddress = contractAddress;
|
|
33
|
+
this.chainId = chainId;
|
|
34
|
+
this.connector = walletClient;
|
|
35
|
+
this.abi = abi;
|
|
36
|
+
this.chain = getChainById(chainId) as any;
|
|
37
|
+
this.chainRpc = getChainRpc(chainId);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
protected get publicClient(): PublicClient {
|
|
41
|
+
return createPublicClient({
|
|
42
|
+
chain: this.chain,
|
|
43
|
+
transport: http(this.chainRpc)
|
|
44
|
+
}) as any;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
protected get walletClient(): WalletClient {
|
|
48
|
+
return (
|
|
49
|
+
this.walletClient ||
|
|
50
|
+
createWalletClient({
|
|
51
|
+
chain: this.chain,
|
|
52
|
+
transport: http(this.chainRpc)
|
|
53
|
+
})
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async readContract({ functionName, args }: { functionName: string; args?: any }) {
|
|
58
|
+
const result = await this.publicClient.readContract({
|
|
59
|
+
abi: this.abi,
|
|
60
|
+
address: this.contractAddress as `0x${string}`,
|
|
61
|
+
functionName: functionName,
|
|
62
|
+
args: args
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async writeContract({ functionName, args, value }: { functionName: string; args?: any; value?: bigint }) {
|
|
69
|
+
const { request } = await this.publicClient.simulateContract({
|
|
70
|
+
abi: this.abi,
|
|
71
|
+
address: this.contractAddress as `0x${string}`,
|
|
72
|
+
functionName: functionName,
|
|
73
|
+
args: args,
|
|
74
|
+
account: this.walletClient?.account,
|
|
75
|
+
value: value
|
|
76
|
+
});
|
|
77
|
+
const result = await this.walletClient.writeContract(request);
|
|
78
|
+
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async multiCall(parameters: MulticallParameters<any[], boolean>) {
|
|
83
|
+
return await this.publicClient.multicall(parameters);
|
|
84
|
+
}
|
|
85
|
+
}
|