[ { "inputs": [ { "internalType": "contract ITokenMessenger", "name": "tokenMessenger_", "type": "address" }, { "internalType": "address", "name": "owner_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "CCTPGasRescueFailed", "type": "error" }, { "inputs": [], "name": "CCTPIncorrectChainId", "type": "error" }, { "inputs": [], "name": "CCTPIncorrectConfig", "type": "error" }, { "inputs": [], "name": "CCTPIncorrectDomain", "type": "error" }, { "inputs": [], "name": "CCTPIncorrectGasAmount", "type": "error" }, { "inputs": [], "name": "CCTPIncorrectProtocolFee", "type": "error" }, { "inputs": [], "name": "CCTPInsufficientAmount", "type": "error" }, { "inputs": [], "name": "CCTPMessageNotReceived", "type": "error" }, { "inputs": [], "name": "CCTPSymbolAlreadyAdded", "type": "error" }, { "inputs": [], "name": "CCTPSymbolIncorrect", "type": "error" }, { "inputs": [], "name": "CCTPTokenAlreadyAdded", "type": "error" }, { "inputs": [], "name": "CCTPTokenNotFound", "type": "error" }, { "inputs": [], "name": "CCTPZeroAddress", "type": "error" }, { "inputs": [], "name": "CCTPZeroAmount", "type": "error" }, { "inputs": [], "name": "CastOverflow", "type": "error" }, { "inputs": [], "name": "ForwarderDeploymentFailed", "type": "error" }, { "inputs": [], "name": "IncorrectRequestLength", "type": "error" }, { "inputs": [], "name": "RemoteCCTPDeploymentNotSet", "type": "error" }, { "inputs": [], "name": "UnknownRequestVersion", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ChainGasAirdropped", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "chainGasAmount", "type": "uint256" } ], "name": "ChainGasAmountUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint32", "name": "originDomain", "type": "uint32" }, { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "address", "name": "mintToken", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "requestID", "type": "bytes32" } ], "name": "CircleRequestFulfilled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "nonce", "type": "uint64" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint32", "name": "requestVersion", "type": "uint32" }, { "indexed": false, "internalType": "bytes", "name": "formattedRequest", "type": "bytes" }, { "indexed": false, "internalType": "bytes32", "name": "requestID", "type": "bytes32" } ], "name": "CircleRequestSent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "feeCollector", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "relayerFeeAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "protocolFeeAmount", "type": "uint256" } ], "name": "FeeCollected", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relayer", "type": "address" }, { "indexed": false, "internalType": "address", "name": "oldFeeCollector", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newFeeCollector", "type": "address" } ], "name": "FeeCollectorUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newProtocolFee", "type": "uint256" } ], "name": "ProtocolFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "accumulatedFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "relayerFee", "type": "uint256" }, { "internalType": "uint256", "name": "minBaseFee", "type": "uint256" }, { "internalType": "uint256", "name": "minSwapFee", "type": "uint256" }, { "internalType": "uint256", "name": "maxFee", "type": "uint256" } ], "name": "addToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bool", "name": "isSwap", "type": "bool" } ], "name": "calculateFeeAmount", "outputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chainGasAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "circleTokenPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "feeStructures", "outputs": [ { "internalType": "uint40", "name": "relayerFee", "type": "uint40" }, { "internalType": "uint72", "name": "minBaseFee", "type": "uint72" }, { "internalType": "uint72", "name": "minSwapFee", "type": "uint72" }, { "internalType": "uint72", "name": "maxFee", "type": "uint72" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBridgeTokens", "outputs": [ { "components": [ { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "token", "type": "address" } ], "internalType": "struct BridgeToken[]", "name": "bridgeTokens", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "remoteDomain", "type": "uint32" }, { "internalType": "address", "name": "remoteToken", "type": "address" } ], "name": "getLocalToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "requestID", "type": "bytes32" } ], "name": "isRequestFulfilled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "localDomain", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "messageTransmitter", "outputs": [ { "internalType": "contract IMessageTransmitter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pauseSending", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "protocolFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "message", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "uint32", "name": "requestVersion", "type": "uint32" }, { "internalType": "bytes", "name": "formattedRequest", "type": "bytes" } ], "name": "receiveCircleToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "relayerFeeCollectors", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "remoteDomainConfig", "outputs": [ { "internalType": "uint32", "name": "domain", "type": "uint32" }, { "internalType": "address", "name": "synapseCCTP", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "removeToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rescueGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "burnToken", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint32", "name": "requestVersion", "type": "uint32" }, { "internalType": "bytes", "name": "swapParams", "type": "bytes" } ], "name": "sendCircleToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newChainGasAmount", "type": "uint256" } ], "name": "setChainGasAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "circleToken", "type": "address" }, { "internalType": "address", "name": "pool", "type": "address" } ], "name": "setCircleTokenPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "feeCollector", "type": "address" } ], "name": "setFeeCollector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newProtocolFee", "type": "uint256" } ], "name": "setProtocolFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "remoteChainId", "type": "uint256" }, { "internalType": "uint32", "name": "remoteDomain", "type": "uint32" }, { "internalType": "address", "name": "remoteSynapseCCTP", "type": "address" } ], "name": "setRemoteDomainConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "relayerFee", "type": "uint256" }, { "internalType": "uint256", "name": "minBaseFee", "type": "uint256" }, { "internalType": "uint256", "name": "minSwapFee", "type": "uint256" }, { "internalType": "uint256", "name": "maxFee", "type": "uint256" } ], "name": "setTokenFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "name": "symbolToToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenMessenger", "outputs": [ { "internalType": "contract ITokenMessenger", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "tokenToSymbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpauseSending", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawProtocolFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawRelayerFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]