# Class MessageTransmitter__factory

#### Hierarchy

- ContractFactory
  - MessageTransmitter__factory

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:748

#####
Index

### Constructors

constructor

### Properties

abi
bytecode

### Methods

connect
deploy
getDeployTransaction
connect
createInterface
linkBytecode

## Constructors

### constructor

- new MessageTransmitter__factory(...args): MessageTransmitter__factory

- #### Parameters

  - ##### `Rest` ...args: MessageTransmitterConstructorParams

  #### Returns MessageTransmitter__factory

  Overrides ContractFactory.constructor

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:749

## Properties

### `Static` `Readonly` abi

abi: readonly [{
inputs: readonly [{
internalType: "uint32";
name: "_localDomain";
type: "uint32";
}, {
internalType: "address";
name: "_attester";
type: "address";
}, {
internalType: "uint32";
name: "_maxMessageBodySize";
type: "uint32";
}, {
internalType: "uint32";
name: "_version";
type: "uint32";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "attester";
type: "address";
}];
name: "AttesterDisabled";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "attester";
type: "address";
}];
name: "AttesterEnabled";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "previousAttesterManager";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newAttesterManager";
type: "address";
}];
name: "AttesterManagerUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "newMaxMessageBodySize";
type: "uint256";
}];
name: "MaxMessageBodySizeUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "caller";
type: "address";
}, {
indexed: false;
internalType: "uint32";
name: "sourceDomain";
type: "uint32";
}, {
indexed: true;
internalType: "uint64";
name: "nonce";
type: "uint64";
}, {
indexed: false;
internalType: "bytes32";
name: "sender";
type: "bytes32";
}, {
indexed: false;
internalType: "bytes";
name: "messageBody";
type: "bytes";
}];
name: "MessageReceived";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "bytes";
name: "message";
type: "bytes";
}];
name: "MessageSent";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "previousOwner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "OwnershipTransferStarted";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "previousOwner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "OwnershipTransferred";
type: "event";
}, {
anonymous: false;
inputs: readonly [];
name: "Pause";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newAddress";
type: "address";
}];
name: "PauserChanged";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newRescuer";
type: "address";
}];
name: "RescuerChanged";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "oldSignatureThreshold";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "newSignatureThreshold";
type: "uint256";
}];
name: "SignatureThresholdUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [];
name: "Unpause";
type: "event";
}, {
inputs: readonly [];
name: "acceptOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "attesterManager";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "attester";
type: "address";
}];
name: "disableAttester";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newAttester";
type: "address";
}];
name: "enableAttester";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "index";
type: "uint256";
}];
name: "getEnabledAttester";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getNumEnabledAttesters";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "attester";
type: "address";
}];
name: "isEnabledAttester";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "localDomain";
outputs: readonly [{
internalType: "uint32";
name: "";
type: "uint32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "maxMessageBodySize";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "nextAvailableNonce";
outputs: readonly [{
internalType: "uint64";
name: "";
type: "uint64";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "owner";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "pause";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "paused";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "pauser";
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: "bytes";
name: "message";
type: "bytes";
}, {
internalType: "bytes";
name: "attestation";
type: "bytes";
}];
name: "receiveMessage";
outputs: readonly [{
internalType: "bool";
name: "success";
type: "bool";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "originalMessage";
type: "bytes";
}, {
internalType: "bytes";
name: "originalAttestation";
type: "bytes";
}, {
internalType: "bytes";
name: "newMessageBody";
type: "bytes";
}, {
internalType: "bytes32";
name: "newDestinationCaller";
type: "bytes32";
}];
name: "replaceMessage";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract IERC20";
name: "tokenContract";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "rescueERC20";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "rescuer";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint32";
name: "destinationDomain";
type: "uint32";
}, {
internalType: "bytes32";
name: "recipient";
type: "bytes32";
}, {
internalType: "bytes";
name: "messageBody";
type: "bytes";
}];
name: "sendMessage";
outputs: readonly [{
internalType: "uint64";
name: "";
type: "uint64";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint32";
name: "destinationDomain";
type: "uint32";
}, {
internalType: "bytes32";
name: "recipient";
type: "bytes32";
}, {
internalType: "bytes32";
name: "destinationCaller";
type: "bytes32";
}, {
internalType: "bytes";
name: "messageBody";
type: "bytes";
}];
name: "sendMessageWithCaller";
outputs: readonly [{
internalType: "uint64";
name: "";
type: "uint64";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "newMaxMessageBodySize";
type: "uint256";
}];
name: "setMaxMessageBodySize";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "newSignatureThreshold";
type: "uint256";
}];
name: "setSignatureThreshold";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "signatureThreshold";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "unpause";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newAttesterManager";
type: "address";
}];
name: "updateAttesterManager";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "_newPauser";
type: "address";
}];
name: "updatePauser";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newRescuer";
type: "address";
}];
name: "updateRescuer";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
name: "usedNonces";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "version";
outputs: readonly [{
internalType: "uint32";
name: "";
type: "uint32";
}];
stateMutability: "view";
type: "function";
}] = _abi

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:816

### `Static` `Readonly` bytecode

bytecode: " $8c977731748aa4504deed57239565df533$ $8c977731748aa4504deed57239565df533$ $8c977731748aa4504deed57239565df533$ $8c977731748aa4504deed57239565df533$ $8c977731748aa4504deed57239565df533$ " = _bytecode

- Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:815

## Methods

### connect

- connect(runner): MessageTransmitter__factory

- #### Parameters

  - ##### runner: ContractRunner

  #### Returns MessageTransmitter__factory

  Overrides ContractFactory.connect

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:811

### deploy

- deploy(_localDomain, _attester, _maxMessageBodySize, _version, overrides?): Promise<MessageTransmitter & {
  deploymentTransaction() => ContractTransactionResponse;
  }>

- #### Parameters

  - ##### _localDomain: BigNumberish

  - ##### _attester: AddressLike

  - ##### _maxMessageBodySize: BigNumberish

  - ##### _version: BigNumberish

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

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

  Overrides ContractFactory.deploy

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:792

### getDeployTransaction

- getDeployTransaction(_localDomain, _attester, _maxMessageBodySize, _version, overrides?): Promise<ContractDeployTransaction>

- #### Parameters

  - ##### _localDomain: BigNumberish

  - ##### _attester: AddressLike

  - ##### _maxMessageBodySize: BigNumberish

  - ##### _version: BigNumberish

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

  #### Returns Promise<ContractDeployTransaction>

  Overrides ContractFactory.getDeployTransaction

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:777

### `Static` connect

- connect(address, runner?): MessageTransmitter

- #### Parameters

  - ##### address: string

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

  #### Returns MessageTransmitter

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:820

### `Static` createInterface

- createInterface(): MessageTransmitterInterface

- #### Returns MessageTransmitterInterface

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:817

### `Static` linkBytecode

- linkBytecode(linkLibraryAddresses): string

- #### Parameters

  - ##### linkLibraryAddresses: MessageTransmitterLibraryAddresses

  #### Returns string

  - Defined in platforms/evm/protocols/cctp/src/ethers-contracts/factories/MessageTransmitter__factory.ts:762

Generated using TypeDoc