Static
Readonly
abi
abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "tokenBridge_";
type: "address";
}, {
internalType: "address";
name: "wethAddress";
type: "address";
}, {
internalType: "address";
name: "feeRecipient_";
type: "address";
}, {
internalType: "address";
name: "ownerAssistant_";
type: "address";
}, {
internalType: "bool";
name: "unwrapWeth_";
type: "bool";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "oldRecipient";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newRecipient";
type: "address";
}];
name: "FeeRecipientUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "oldOwner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "OwnershipTransfered";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "recipient";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "relayer";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "token";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "tokenAmount";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "nativeAmount";
type: "uint256";
}];
name: "SwapExecuted";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "value";
type: "uint256";
}];
indexed: true;
internalType: "struct TokenBridgeRelayerStructs.SwapRateUpdate[]";
name: "swapRates";
type: "tuple[]";
}];
name: "SwapRateUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint16";
name: "emitterChainId";
type: "uint16";
}, {
indexed: true;
internalType: "bytes32";
name: "emitterAddress";
type: "bytes32";
}, {
indexed: true;
internalType: "uint64";
name: "sequence";
type: "uint64";
}];
name: "TransferRedeemed";
type: "event";
}, {
inputs: readonly [];
name: "VERSION";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "WETH";
outputs: readonly [{
internalType: "contract IWETH";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "calculateMaxSwapAmountIn";
outputs: readonly [{
internalType: "uint256";
name: "maxAllowed";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "toNativeAmount";
type: "uint256";
}];
name: "calculateNativeSwapAmountOut";
outputs: readonly [{
internalType: "uint256";
name: "nativeAmount";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "targetChainId";
type: "uint16";
}, {
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint8";
name: "decimals";
type: "uint8";
}];
name: "calculateRelayerFee";
outputs: readonly [{
internalType: "uint256";
name: "feeInTokenDenomination";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}];
name: "cancelOwnershipTransferRequest";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "chainId";
outputs: readonly [{
internalType: "uint16";
name: "";
type: "uint16";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "encodedTransferMessage";
type: "bytes";
}];
name: "completeTransferWithRelay";
outputs: readonly [];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [];
name: "confirmOwnershipTransferRequest";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "encoded";
type: "bytes";
}];
name: "decodeTransferWithRelay";
outputs: readonly [{
components: readonly [{
internalType: "uint8";
name: "payloadId";
type: "uint8";
}, {
internalType: "uint256";
name: "targetRelayerFee";
type: "uint256";
}, {
internalType: "uint256";
name: "toNativeTokenAmount";
type: "uint256";
}, {
internalType: "bytes32";
name: "targetRecipient";
type: "bytes32";
}];
internalType: "struct TokenBridgeRelayerStructs.TransferWithRelay";
name: "transfer";
type: "tuple";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "uint8";
name: "decimals";
type: "uint8";
}];
name: "denormalizeAmount";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "token";
type: "address";
}];
name: "deregisterToken";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "uint8";
name: "payloadId";
type: "uint8";
}, {
internalType: "uint256";
name: "targetRelayerFee";
type: "uint256";
}, {
internalType: "uint256";
name: "toNativeTokenAmount";
type: "uint256";
}, {
internalType: "bytes32";
name: "targetRecipient";
type: "bytes32";
}];
internalType: "struct TokenBridgeRelayerStructs.TransferWithRelay";
name: "transfer";
type: "tuple";
}];
name: "encodeTransferWithRelay";
outputs: readonly [{
internalType: "bytes";
name: "encoded";
type: "bytes";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "feeRecipient";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "payload";
type: "bytes";
}];
name: "fetchLocalAddressFromTransferMessage";
outputs: readonly [{
internalType: "address";
name: "localAddress";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getAcceptedTokensList";
outputs: readonly [{
internalType: "address[]";
name: "";
type: "address[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getPaused";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "emitterChainId";
type: "uint16";
}];
name: "getRegisteredContract";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "isAcceptedToken";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "maxNativeSwapAmount";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "nativeSwapRate";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "uint8";
name: "decimals";
type: "uint8";
}];
name: "normalizeAmount";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "owner";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "ownerAssistant";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "pendingOwner";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "bytes32";
name: "contractAddress";
type: "bytes32";
}];
name: "registerContract";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "token";
type: "address";
}];
name: "registerToken";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}];
name: "relayerFee";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "relayerFeePrecision";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "bool";
name: "paused";
type: "bool";
}];
name: "setPauseForTransfers";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "submitOwnershipTransferRequest";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "swapRate";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "swapRatePrecision";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenBridge";
outputs: readonly [{
internalType: "contract ITokenBridge";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "uint256";
name: "toNativeTokenAmount";
type: "uint256";
}, {
internalType: "uint16";
name: "targetChain";
type: "uint16";
}, {
internalType: "bytes32";
name: "targetRecipient";
type: "bytes32";
}, {
internalType: "uint32";
name: "batchId";
type: "uint32";
}];
name: "transferTokensWithRelay";
outputs: readonly [{
internalType: "uint64";
name: "messageSequence";
type: "uint64";
}];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [];
name: "unwrapWeth";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "newFeeRecipient";
type: "address";
}];
name: "updateFeeRecipient";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "maxAmount";
type: "uint256";
}];
name: "updateMaxNativeSwapAmount";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "address";
name: "newAssistant";
type: "address";
}];
name: "updateOwnerAssistant";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "updateRelayerFee";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "uint256";
name: "relayerFeePrecision_";
type: "uint256";
}];
name: "updateRelayerFeePrecision";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "value";
type: "uint256";
}];
internalType: "struct TokenBridgeRelayerStructs.SwapRateUpdate[]";
name: "swapRateUpdate";
type: "tuple[]";
}];
name: "updateSwapRate";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "uint256";
name: "swapRatePrecision_";
type: "uint256";
}];
name: "updateSwapRatePrecision";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "bool";
name: "unwrapWeth_";
type: "bool";
}];
name: "updateUnwrapWethFlag";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "wormhole";
outputs: readonly [{
internalType: "contract IWormhole";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "toNativeTokenAmount";
type: "uint256";
}, {
internalType: "uint16";
name: "targetChain";
type: "uint16";
}, {
internalType: "bytes32";
name: "targetRecipient";
type: "bytes32";
}, {
internalType: "uint32";
name: "batchId";
type: "uint32";
}];
name: "wrapAndTransferEthWithRelay";
outputs: readonly [{
internalType: "uint64";
name: "messageSequence";
type: "uint64";
}];
stateMutability: "payable";
type: "function";
}, {
stateMutability: "payable";
type: "receive";
}] = _abi