UNPKG

@axelar-network/interchain-token-service

Version:

Interchain token service for EVM chains to faciliate interchain token transfers and contract calls

2,116 lines 140 kB
{ "_format": "hh-sol-artifact-1", "contractName": "InterchainTokenService", "sourceName": "contracts/InterchainTokenService.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "tokenManagerDeployer_", "type": "address" }, { "internalType": "address", "name": "interchainTokenDeployer_", "type": "address" }, { "internalType": "address", "name": "gateway_", "type": "address" }, { "internalType": "address", "name": "gasService_", "type": "address" }, { "internalType": "address", "name": "interchainTokenFactory_", "type": "address" }, { "internalType": "string", "name": "chainName_", "type": "string" }, { "internalType": "string", "name": "itsHubAddress_", "type": "string" }, { "internalType": "address", "name": "tokenManagerImplementation_", "type": "address" }, { "internalType": "address", "name": "tokenHandler_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyExecuted", "type": "error" }, { "inputs": [ { "internalType": "enum ITokenManagerType.TokenManagerType", "name": "", "type": "uint8" } ], "name": "CannotDeploy", "type": "error" }, { "inputs": [], "name": "CannotDeployRemotelyToSelf", "type": "error" }, { "inputs": [], "name": "EmptyData", "type": "error" }, { "inputs": [], "name": "EmptyDestinationAddress", "type": "error" }, { "inputs": [], "name": "EmptyParams", "type": "error" }, { "inputs": [], "name": "EmptyTokenAddress", "type": "error" }, { "inputs": [], "name": "EmptyTokenName", "type": "error" }, { "inputs": [], "name": "EmptyTokenSymbol", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "ExecuteWithInterchainTokenFailed", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "ExpressExecuteWithInterchainTokenFailed", "type": "error" }, { "inputs": [], "name": "ExpressExecutorAlreadySet", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "GiveTokenFailed", "type": "error" }, { "inputs": [], "name": "InsufficientValue", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "error", "type": "bytes" } ], "name": "InterchainTokenDeploymentFailed", "type": "error" }, { "inputs": [], "name": "InvalidAddress", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "bytesAddress", "type": "bytes" } ], "name": "InvalidBytesLength", "type": "error" }, { "inputs": [], "name": "InvalidChainName", "type": "error" }, { "inputs": [], "name": "InvalidCodeHash", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "messageType", "type": "uint256" } ], "name": "InvalidExpressMessageType", "type": "error" }, { "inputs": [], "name": "InvalidHubAddress", "type": "error" }, { "inputs": [], "name": "InvalidImplementation", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "messageType", "type": "uint256" } ], "name": "InvalidMessageType", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "version", "type": "uint32" } ], "name": "InvalidMetadataVersion", "type": "error" }, { "inputs": [], "name": "InvalidOwner", "type": "error" }, { "inputs": [], "name": "InvalidOwnerAddress", "type": "error" }, { "inputs": [], "name": "InvalidPayload", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "fromAccount", "type": "address" }, { "internalType": "address", "name": "toAccount", "type": "address" }, { "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "InvalidProposedRoles", "type": "error" }, { "inputs": [], "name": "LengthMismatch", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "MissingAllRoles", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "MissingAnyOfRoles", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint8", "name": "role", "type": "uint8" } ], "name": "MissingRole", "type": "error" }, { "inputs": [], "name": "MulticallFailed", "type": "error" }, { "inputs": [], "name": "NotApprovedByGateway", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "NotInterchainTokenFactory", "type": "error" }, { "inputs": [], "name": "NotItsHub", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "NotOperatorOrOwner", "type": "error" }, { "inputs": [], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "NotPaused", "type": "error" }, { "inputs": [], "name": "NotProxy", "type": "error" }, { "inputs": [], "name": "NotSupported", "type": "error" }, { "inputs": [], "name": "Pause", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "PostDeployFailed", "type": "error" }, { "inputs": [], "name": "SetupFailed", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "TakeTokenFailed", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "TokenHandlerFailed", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "error", "type": "bytes" } ], "name": "TokenManagerDeploymentFailed", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "TokenManagerDoesNotExist", "type": "error" }, { "inputs": [], "name": "UntrustedChain", "type": "error" }, { "inputs": [], "name": "ZeroAddress", "type": "error" }, { "inputs": [], "name": "ZeroAmount", "type": "error" }, { "inputs": [], "name": "ZeroStringLength", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "sourceChain", "type": "string" }, { "indexed": false, "internalType": "string", "name": "sourceAddress", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "expressExecutor", "type": "address" } ], "name": "ExpressExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "sourceChain", "type": "string" }, { "indexed": false, "internalType": "string", "name": "sourceAddress", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "expressExecutor", "type": "address" } ], "name": "ExpressExecutionFulfilled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "tokenAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "string", "name": "symbol", "type": "string" }, { "indexed": false, "internalType": "uint8", "name": "decimals", "type": "uint8" } ], "name": "InterchainTokenDeployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "tokenName", "type": "string" }, { "indexed": false, "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "indexed": false, "internalType": "uint8", "name": "tokenDecimals", "type": "uint8" }, { "indexed": false, "internalType": "bytes", "name": "minter", "type": "bytes" }, { "indexed": false, "internalType": "string", "name": "destinationChain", "type": "string" } ], "name": "InterchainTokenDeploymentStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "deployer", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "salt", "type": "bytes32" } ], "name": "InterchainTokenIdClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "sourceAddress", "type": "address" }, { "indexed": false, "internalType": "string", "name": "destinationChain", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "destinationAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": true, "internalType": "bytes32", "name": "dataHash", "type": "bytes32" } ], "name": "InterchainTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "sourceChain", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "sourceAddress", "type": "bytes" }, { "indexed": true, "internalType": "address", "name": "destinationAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "dataHash", "type": "bytes32" } ], "name": "InterchainTransferReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "sourceChain", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "sourceTokenAddress", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "destinationTokenAddress", "type": "bytes" }, { "indexed": true, "internalType": "enum ITokenManagerType.TokenManagerType", "name": "tokenManagerType", "type": "uint8" }, { "indexed": false, "internalType": "bytes", "name": "params", "type": "bytes" } ], "name": "LinkTokenReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "destinationChain", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "sourceTokenAddress", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "destinationTokenAddress", "type": "bytes" }, { "indexed": true, "internalType": "enum ITokenManagerType.TokenManagerType", "name": "tokenManagerType", "type": "uint8" }, { "indexed": false, "internalType": "bytes", "name": "params", "type": "bytes" } ], "name": "LinkTokenStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "RolesAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "fromAccount", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toAccount", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "RolesProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "accountRoles", "type": "uint256" } ], "name": "RolesRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "tokenManager", "type": "address" }, { "indexed": true, "internalType": "enum ITokenManagerType.TokenManagerType", "name": "tokenManagerType", "type": "uint8" }, { "indexed": false, "internalType": "bytes", "name": "params", "type": "bytes" } ], "name": "TokenManagerDeployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "tokenAddress", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "decimals", "type": "uint8" } ], "name": "TokenMetadataRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "chain", "type": "string" } ], "name": "TrustedAddressRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "chain", "type": "string" }, { "indexed": false, "internalType": "string", "name": "address_", "type": "string" } ], "name": "TrustedAddressSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "chainName", "type": "string" } ], "name": "TrustedChainRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "chainName", "type": "string" } ], "name": "TrustedChainSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "fromOperator", "type": "address" } ], "name": "acceptOperatorship", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "bytes", "name": "destinationAddress", "type": "bytes" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "callContractWithInterchainToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "chainName", "outputs": [ { "internalType": "string", "name": "chainName_", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chainNameHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes", "name": "payload", "type": "bytes" } ], "name": "contractCallValue", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractId", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bytes", "name": "minter", "type": "bytes" }, { "internalType": "uint256", "name": "gasValue", "type": "uint256" } ], "name": "deployInterchainToken", "outputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "deployedTokenManager", "outputs": [ { "internalType": "contract ITokenManager", "name": "tokenManager_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes", "name": "payload", "type": "bytes" } ], "name": "execute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes", "name": "payload", "type": "bytes" } ], "name": "expressExecute", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "gasService", "outputs": [ { "internalType": "contract IAxelarGasService", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gateway", "outputs": [ { "internalType": "contract IAxelarGateway", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" } ], "name": "getExpressExecutor", "outputs": [ { "internalType": "address", "name": "expressExecutor", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint8", "name": "role", "type": "uint8" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "implementation_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "interchainTokenAddress", "outputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "interchainTokenDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "interchainTokenFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" } ], "name": "interchainTokenId", "outputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "bytes", "name": "destinationAddress", "type": "bytes" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "metadata", "type": "bytes" }, { "internalType": "uint256", "name": "gasValue", "type": "uint256" } ], "name": "interchainTransfer", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "bytes", "name": "destinationAddress", "type": "bytes" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "interchainTransfer", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "isOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chain", "type": "string" }, { "internalType": "string", "name": "address_", "type": "string" } ], "name": "isTrustedAddress", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chainName", "type": "string" } ], "name": "isTrustedChain", "outputs": [ { "internalType": "bool", "name": "trusted", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "itsHubAddress", "outputs": [ { "internalType": "string", "name": "hubAddress", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "itsHubAddressHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "bytes", "name": "destinationTokenAddress", "type": "bytes" }, { "internalType": "enum ITokenManagerType.TokenManagerType", "name": "tokenManagerType", "type": "uint8" }, { "internalType": "bytes", "name": "linkParams", "type": "bytes" }, { "internalType": "uint256", "name": "gasValue", "type": "uint256" } ], "name": "linkToken", "outputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "migrateInterchainToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "paused_", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "proposeOperatorship", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "proposeOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "enum ITokenManagerType.TokenManagerType", "name": "tokenManagerType", "type": "uint8" }, { "internalType": "bytes", "name": "linkParams", "type": "bytes" } ], "name": "registerCustomToken", "outputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "gasValue", "type": "uint256" } ], "name": "registerTokenMetadata", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "registeredTokenAddress", "outputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chainName", "type": "string" } ], "name": "removeTrustedChain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "tokenIds", "type": "bytes32[]" }, { "internalType": "uint256[]", "name": "flowLimits", "type": "uint256[]" } ], "name": "setFlowLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "paused", "type": "bool" } ], "name": "setPauseStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chainName", "type": "string" } ], "name": "setTrustedChain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "setup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tokenHandler", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" } ], "name": "tokenManagerAddress", "outputs": [ { "internalType": "address", "name": "tokenManagerAddress_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenManagerDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenManagerImplementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "transferOperatorship", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "tokenId", "type": "bytes32" }, { "internalType": "address", "name": "sourceAddress", "type": "address" }, { "internalType": "string", "name": "destinationChain", "type": "string" }, { "internalType": "bytes", "name": "destinationAddress", "type": "bytes" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "metadata", "type": "bytes" } ], "name": "transmitInterchainTransfer", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chain", "type": "string" } ], "name": "trustedAddress", "outputs": [ { "internalType": "string", "name": "trustedAddress_", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "chain", "type": "string" } ], "name": "trustedAddressHash", "outputs": [ { "internalType": "bytes32", "name": "trustedAddressHash_", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes32", "name": "newImplementationCodeHash", "type": "bytes32" }, { "internalType": "bytes", "name": "params", "type": "bytes" } ], "name": "upgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x61022060405234801561001157600080fd5b50604051615f73380380615f7383398101604081905261003091610314565b82600161003c8161019c565b503060805280516041146100635760405163935461d160e01b815260040160405180910390fd5b6020810180516040830151604184015160c09290925260e05260ff16610100529051902060a0526001600160a01b03861615806100a757506001600160a01b038916155b806100b957506001600160a01b038816155b806100cb57506001600160a01b038716155b806100dd57506001600160a01b038516155b806100ef57506001600160a01b038216155b8061010157506001600160a01b038116155b1561011f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380881661012052868116610140528981166101c0528881166101a052851661016052835160000361016b57604051630470832760e11b815260040160405180910390fd5b8351602090940193909320610180526001600160a01b039081166101e05290911661020052506103f3945050505050565b6001600160a01b0381166101c357604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b80516001600160a01b038116811461025657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261028257600080fd5b81516001600160401b0381111561029b5761029b61025b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102c9576102c961025b565b6040528181528382016020018510156102e157600080fd5b60005b82811015610300576020818601810151838301820152016102e4565b506000918101602001919091529392505050565b60008060008060008060008060006101208a8c03121561033357600080fd5b61033c8a61023f565b985061034a60208b0161023f565b975061035860408b0161023f565b965061036660608b0161023f565b955061037460808b0161023f565b60a08b01519095506001600160401b0381111561039057600080fd5b61039c8c828d01610271565b60c08c015190955090506001600160401b038111156103ba57600080fd5b6103c68c828d01610271565b9350506103d560e08b0161023f565b91506103e46101008b0161023f565b90509295985092959850929598565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051615a5f61051460003960008181610353015281816125bc015281816127ba015281816131950152613be60152600081816103a90152610629015260008181610541015261309b01526000818161045f0152612f260152600081816106d101528181610ae901528181611e8c0152612cd001526000818161088101528181610b3101528181611dd10152611fac01526000818161050d0152613a3201526000818161031201528181610ef60152818161110f0152612b7a01526000611caf01526000611c8d01526000611c6b01526000818161076d01528181610e470152611540015260006116b20152615a5f6000f3fe6080604052600436106102d55760003560e01c80638da5cb5b1161017b578063caca8dbe116100d7578063e30c397811610085578063e30c397814610951578063e82e71f814610973578063f2fde38b14610993578063f49c044a146109b3578063f6e3a229146109c6578063f8c8a826146109e6578063ffd5982a14610a0657600080fd5b8063caca8dbe146108a3578063d25bf0b5146108c3578063da081c73146108d8578063da4886df146108eb578063db4b878c1461090b578063e1d40c771461092b578063e24a240b1461093e57600080fd5b8063a5269ef111610134578063a5269ef1146107af578063ac9650d8146107cf578063b90d6afd146107ef578063c38bb5371461080f578063c506bff41461082f578063c7e6a3cc1461084f578063ca58b6441461086f57600080fd5b80638da5cb5b146106f357806395109d5c1461070857806395a8c58d1461071b5780639ded06df1461073b578063a0ad06941461075b578063a3499c731461078f57600080fd5b8063656576361161023557806379ba5097116101e357806379ba5097146105d65780637e10eb15146105eb5780637e151fa61461060b5780637fb53dc91461064b5780638291286c1461065e57806383d2969614610691578063864a0dcf146106bf57600080fd5b806365657636146104e85780636a22d8cc146104fb5780636ac0d1121461052f5780636d70f7ae146105635780636f3eef621461058357806370756cde146105a3578063710bf322146105b657600080fd5b8063477aedc711610292578063477aedc7146103ed578063491606581461040d5780634a6a42d81461042d5780634f9ae6081461044d5780635b7523b3146104815780635c60da1b146104a15780635c975abb146104c357600080fd5b80630f4433d3146102da578063116191b6146103005780631b3d6e87146103415780631c93b03a146103755780632a709b1414610397578063465a09e0146103cb575b600080fd5b6102ed6102e8366004613f06565b610a26565b6040519081526020015b60405180910390f35b34801561030c57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b6040516102f79190613fcd565b34801561034d57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b34801561038157600080fd5b5061038a610c80565b6040516102f79190614031565b3480156103a357600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d757600080fd5b506103eb6103e6366004614088565b610cb0565b005b3480156103f957600080fd5b5061038a6104083660046141bd565b610dc7565b34801561041957600080fd5b506103eb6104283660046141f9565b610de0565b34801561043957600080fd5b506103eb6104483660046142bb565b610fe9565b34801561045957600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b34801561048d57600080fd5b506103eb61049c3660046141bd565b611028565b3480156104ad57600080fd