@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
JSON
{
"_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