# Class TokenBridgeRelayer__factory

#### Hierarchy

- ContractFactory
  - TokenBridgeRelayer__factory

- Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1075

#####
Index

### Constructors

constructor

### Properties

abi
bytecode

### Methods

connect
deploy
getDeployTransaction
connect
createInterface

## Constructors

### constructor

- new TokenBridgeRelayer__factory(...args): TokenBridgeRelayer__factory

- #### Parameters

  - ##### `Rest` ...args: TokenBridgeRelayerConstructorParams

  #### Returns TokenBridgeRelayer__factory

  Overrides ContractFactory.constructor

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1076

## Properties

### `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

- Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1127

### `Static` `Readonly` bytecode

bytecode: " " = _bytecode

- Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1126

## Methods

### connect

- connect(runner): TokenBridgeRelayer__factory

- #### Parameters

  - ##### runner: ContractRunner

  #### Returns TokenBridgeRelayer__factory

  Overrides ContractFactory.connect

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1122

### deploy

- deploy(tokenBridge_, wethAddress, feeRecipient_, ownerAssistant_, unwrapWeth_, overrides?): Promise<ethers_contracts.TokenBridgeRelayer & {
  deploymentTransaction() => ContractTransactionResponse;
  }>

- #### Parameters

  - ##### tokenBridge_: AddressLike

  - ##### wethAddress: AddressLike

  - ##### feeRecipient_: AddressLike

  - ##### ownerAssistant_: AddressLike

  - ##### unwrapWeth_: boolean

  - ##### `Optional` overrides: NonPayableOverrides & {
    from?: string;
    }

  #### Returns Promise<ethers_contracts.TokenBridgeRelayer & {
  deploymentTransaction() => ContractTransactionResponse;
  }>

  Overrides ContractFactory.deploy

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1101

### getDeployTransaction

- getDeployTransaction(tokenBridge_, wethAddress, feeRecipient_, ownerAssistant_, unwrapWeth_, overrides?): Promise<ContractDeployTransaction>

- #### Parameters

  - ##### tokenBridge_: AddressLike

  - ##### wethAddress: AddressLike

  - ##### feeRecipient_: AddressLike

  - ##### ownerAssistant_: AddressLike

  - ##### unwrapWeth_: boolean

  - ##### `Optional` overrides: NonPayableOverrides & {
    from?: string;
    }

  #### Returns Promise<ContractDeployTransaction>

  Overrides ContractFactory.getDeployTransaction

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1084

### `Static` connect

- connect(address, runner?): ethers_contracts.TokenBridgeRelayer

- #### Parameters

  - ##### address: string

  - ##### `Optional` runner: ContractRunner

  #### Returns ethers_contracts.TokenBridgeRelayer

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1131

### `Static` createInterface

- createInterface(): TokenBridgeRelayerInterface

- #### Returns TokenBridgeRelayerInterface

  - Defined in platforms/evm/protocols/tokenBridge/src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts:1128

Generated using TypeDoc