# IInitializerSender

The `IInitializerSender` interface extends [IAsterizmEnv](https://docs.asterizm.io/infrastructure/asterizm-interfaces/iasterizmenv) and defines methods for initiating transfers and managing transfer validation and fees.

{% embed url="<https://github.com/Asterizm-Protocol/asterizm-contracts-evm/blob/master/contracts/interfaces/IInitializerSender.sol>" %}

### Functions

#### initTransfer

Initiates a transfer using the provided request data.

**Parameters:** `_dto (`[`IzInitTransferRequestDto`](https://docs.asterizm.io/infrastructure/iasterizmenv#izinittransferrequestdto)`)`

#### validIncomeTransferHash

Validates an incoming transfer by its hash.

**Parameters:** `_transferHash (bytes32)`

**Returns:** `bool`

#### getLocalChainId

Returns the local chain ID.

**Returns:** `uint64`

#### getChainType

Retrieves the type of chain based on its ID.

**Parameters:** `_chainId (uint64)`

**Returns:** `uint8`

#### resendTransfer

Resends a transfer that failed due to insufficient fees.

**Parameters:** `_transferHash (bytes32)`, `_relay (address)`

#### getFeeAmountInTokens

Returns the fee amount in tokens for a specified relay.

**Parameters:** `_relayAddress (address)`, `_dto (`[`IzInitTransferRequestDto`](https://docs.asterizm.io/infrastructure/iasterizmenv#izinittransferrequestdto)`)`

**Returns:** `uint`
