UNPKG

@axelar-network/interchain-token-service

Version:

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

2,159 lines 143 kB
{ "_format": "hh-sol-artifact-1", "contractName": "HyperliquidInterchainTokenService", "sourceName": "contracts/hyperliquid/HyperliquidInterchainTokenService.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": "address", "name": "token", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newDeployer", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" } ], "name": "TokenDeployerUpdated", "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": "bytes32", "name": "tokenId", "type": "bytes32" }, { "internalType": "address", "name": "newDeployer", "type": "address" } ], "name": "updateTokenDeployer", "outputs": [], "stateMutability": "nonpayable", "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": "0x61022060405234801561001157600080fd5b506040516160d83803806160d883398101604081905261003091610326565b888888888888888888826001610045816101ae565b5030608052805160411461006c5760405163935461d160e01b815260040160405180910390fd5b6020810180516040830151604184015160c09290925260e05260ff16610100529051902060a0526001600160a01b03861615806100b057506001600160a01b038916155b806100c257506001600160a01b038816155b806100d457506001600160a01b038716155b806100e657506001600160a01b038516155b806100f857506001600160a01b038216155b8061010a57506001600160a01b038116155b156101285760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380881661012052868116610140528981166101c0528881166101a052851661016052835160000361017457604051630470832760e11b815260040160405180910390fd5b8351602090940193909320610180526001600160a01b039081166101e05290911661020052506104059d5050505050505050505050505050565b6001600160a01b0381166101d557604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b80516001600160a01b038116811461026857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261029457600080fd5b81516001600160401b038111156102ad576102ad61026d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102db576102db61026d565b6040528181528382016020018510156102f357600080fd5b60005b82811015610312576020818601810151838301820152016102f6565b506000918101602001919091529392505050565b60008060008060008060008060006101208a8c03121561034557600080fd5b61034e8a610251565b985061035c60208b01610251565b975061036a60408b01610251565b965061037860608b01610251565b955061038660808b01610251565b60a08b01519095506001600160401b038111156103a257600080fd5b6103ae8c828d01610283565b60c08c015190955090506001600160401b038111156103cc57600080fd5b6103d88c828d01610283565b9350506103e760e08b01610251565b91506103f66101008b01610251565b90509295985092959850929598565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051615bb26105266000396000818161035e015281816126f4015281816128f2015281816132c30152613d140152600081816103b4015261063401526000818161054c01526131c901526000818161046a01526130540152600081816106dc01528181610b1401528181611fc40152612dfe0152600081816108ac01528181610b5c01528181611f0901526120e40152600081816105180152613b6001526000818161031d01528181610f210152818161113a0152612cb201526000611de701526000611dc501526000611da301526000818161079801528181610e72015261156b015260006116dd0152615bb26000f3fe6080604052600436106102e05760003560e01c80638da5cb5b11610186578063caca8dbe116100d7578063e30c397811610085578063e30c39781461097c578063e82e71f81461099e578063f2fde38b146109be578063f49c044a146109de578063f6e3a229146109f1578063f8c8a82614610a11578063ffd5982a14610a3157600080fd5b8063caca8dbe146108ce578063d25bf0b5146108ee578063da081c7314610903578063da4886df14610916578063db4b878c14610936578063e1d40c7714610956578063e24a240b1461096957600080fd5b8063a5269ef111610134578063a5269ef1146107da578063ac9650d8146107fa578063b90d6afd1461081a578063c38bb5371461083a578063c506bff41461085a578063c7e6a3cc1461087a578063ca58b6441461089a57600080fd5b80638da5cb5b146106fe57806395109d5c1461071357806395a8c58d146107265780639ded06df146107465780639ef650e514610766578063a0ad069414610786578063a3499c73146107ba57600080fd5b8063656576361161024057806379ba5097116101ee57806379ba5097146105e15780637e10eb15146105f65780637e151fa6146106165780637fb53dc9146106565780638291286c1461066957806383d296961461069c578063864a0dcf146106ca57600080fd5b806365657636146104f35780636a22d8cc146105065780636ac0d1121461053a5780636d70f7ae1461056e5780636f3eef621461058e57806370756cde146105ae578063710bf322146105c157600080fd5b8063477aedc71161029d578063477aedc7146103f857806349160658146104185780634a6a42d8146104385780634f9ae608146104585780635b7523b31461048c5780635c60da1b146104ac5780635c975abb146104ce57600080fd5b80630f4433d3146102e5578063116191b61