# Class CircleRelayer__factory

#### Hierarchy

- ContractFactory
  - CircleRelayer__factory

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:833

#####
Index

### Constructors

constructor

### Properties

abi
bytecode

### Methods

connect
deploy
getDeployTransaction
connect
createInterface

## Constructors

### constructor

- new CircleRelayer__factory(...args): CircleRelayer__factory

- #### Parameters

  - ##### `Rest` ...args: CircleRelayerConstructorParams

  #### Returns CircleRelayer__factory

  Overrides ContractFactory.constructor

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:834

## Properties

### `Static` `Readonly` abi

abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "circleIntegration_";
type: "address";
}, {
internalType: "uint8";
name: "nativeTokenDecimals_";
type: "uint8";
}, {
internalType: "address";
name: "feeRecipient_";
type: "address";
}, {
internalType: "address";
name: "ownerAssistant_";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "previousAdmin";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "newAdmin";
type: "address";
}];
name: "AdminChanged";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "beacon";
type: "address";
}];
name: "BeaconUpgraded";
type: "event";
}, {
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 [{
indexed: true;
internalType: "address";
name: "token";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "swapRate";
type: "uint256";
}];
name: "SwapRateUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "implementation";
type: "address";
}];
name: "Upgraded";
type: "event";
}, {
inputs: readonly [];
name: "VERSION";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes32";
name: "address_";
type: "bytes32";
}];
name: "bytes32ToAddress";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "contract IERC20Metadata";
name: "token";
type: "address";
}];
name: "calculateMaxSwapAmountIn";
outputs: readonly [{
internalType: "uint256";
name: "maxAllowed";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract IERC20Metadata";
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: "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 [];
name: "circleIntegration";
outputs: readonly [{
internalType: "contract ICircleIntegration";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "confirmOwnershipTransferRequest";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "encoded";
type: "bytes";
}];
name: "decodeTransferTokensWithRelay";
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: "targetRecipientWallet";
type: "bytes32";
}];
internalType: "struct CircleRelayerStructs.TransferTokensWithRelay";
name: "transfer";
type: "tuple";
}];
stateMutability: "pure";
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: "targetRecipientWallet";
type: "bytes32";
}];
internalType: "struct CircleRelayerStructs.TransferTokensWithRelay";
name: "transfer";
type: "tuple";
}];
name: "encodeTransferTokensWithRelay";
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 [];
name: "getPaused";
outputs: readonly [{
internalType: "bool";
name: "paused";
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: "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 [];
name: "nativeSwapRatePrecision";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "nativeTokenDecimals";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
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 [{
components: readonly [{
internalType: "bytes";
name: "encodedWormholeMessage";
type: "bytes";
}, {
internalType: "bytes";
name: "circleBridgeMessage";
type: "bytes";
}, {
internalType: "bytes";
name: "circleAttestation";
type: "bytes";
}];
internalType: "struct ICircleIntegration.RedeemParameters";
name: "redeemParams";
type: "tuple";
}];
name: "redeemTokens";
outputs: readonly [];
stateMutability: "payable";
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: "relayerFee";
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: "contract IERC20Metadata";
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: "targetRecipientWallet";
type: "bytes32";
}];
name: "transferTokensWithRelay";
outputs: readonly [{
internalType: "uint64";
name: "messageSequence";
type: "uint64";
}];
stateMutability: "payable";
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: "token";
type: "address";
}, {
internalType: "uint256";
name: "swapRate";
type: "uint256";
}];
name: "updateNativeSwapRate";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint16";
name: "chainId_";
type: "uint16";
}, {
internalType: "uint256";
name: "nativeSwapRatePrecision_";
type: "uint256";
}];
name: "updateNativeSwapRatePrecision";
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: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "updateRelayerFee";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "wormhole";
outputs: readonly [{
internalType: "contract IWormhole";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}] = _abi

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:881

### `Static` `Readonly` bytecode

bytecode: " " = _bytecode

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:880

## Methods

### connect

- connect(runner): CircleRelayer__factory

- #### Parameters

  - ##### runner: ContractRunner

  #### Returns CircleRelayer__factory

  Overrides ContractFactory.connect

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:876

### deploy

- deploy(circleIntegration_, nativeTokenDecimals_, feeRecipient_, ownerAssistant_, overrides?): Promise<CircleRelayer & {
  deploymentTransaction() => ContractTransactionResponse;
  }>

- #### Parameters

  - ##### circleIntegration_: AddressLike

  - ##### nativeTokenDecimals_: BigNumberish

  - ##### feeRecipient_: AddressLike

  - ##### ownerAssistant_: AddressLike

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

  #### Returns Promise<CircleRelayer & {
  deploymentTransaction() => ContractTransactionResponse;
  }>

  Overrides ContractFactory.deploy

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:857

### getDeployTransaction

- getDeployTransaction(circleIntegration_, nativeTokenDecimals_, feeRecipient_, ownerAssistant_, overrides?): Promise<ContractDeployTransaction>

- #### Parameters

  - ##### circleIntegration_: AddressLike

  - ##### nativeTokenDecimals_: BigNumberish

  - ##### feeRecipient_: AddressLike

  - ##### ownerAssistant_: AddressLike

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

  #### Returns Promise<ContractDeployTransaction>

  Overrides ContractFactory.getDeployTransaction

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:842

### `Static` connect

- connect(address, runner?): CircleRelayer

- #### Parameters

  - ##### address: string

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

  #### Returns CircleRelayer

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:885

### `Static` createInterface

- createInterface(): CircleRelayerInterface

- #### Returns CircleRelayerInterface

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/CircleRelayer__factory.ts:882

Generated using TypeDoc