# EVMSigner

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:10](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L10)

EVM signer implementation wrapping an ethers Signer, for browser-based wallet use [EVMBrowserSigner](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMBrowserSigner.md).

## Extended by

* [`EVMBrowserSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMBrowserSigner.md)
* [`EVMPersistentSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/node/classes/EVMPersistentSigner.md)

## Implements

* [`AbstractSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/AbstractSigner.md)

## Constructors

### Constructor

```
new EVMSigner(

   account, 

   address, 

   isManagingNoncesInternally): EVMSigner;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:45](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L45)

Constructs a signer wrapping an ethers Signer.

#### Parameters

| Parameter                    | Type      | Default value | Description |
| ---------------------------- | --------- | ------------- | ----------- |
| `account`                    | `Signer`  | `undefined`   |             |
| `address`                    | `string`  | `undefined`   |             |
| `isManagingNoncesInternally` | `boolean` | `false`       |             |

#### Returns

`EVMSigner`

## Properties

### account

```
account: Signer;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:34](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L34)

***

### address

```
readonly address: string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:35](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L35)

***

### isManagingNoncesInternally

```
readonly isManagingNoncesInternally: boolean;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:36](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L36)

***

### type

```
type: "AtomiqAbstractSigner";
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:32](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L32)

#### Implementation of

```
AbstractSigner.type
```

## Methods

### getAddress()

```
getAddress(): string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:54](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L54)

#### Returns

`string`

#### Inherit Doc

#### Implementation of

```
AbstractSigner.getAddress
```

***

### getReproducibleEntropyMessage()

```
static getReproducibleEntropyMessage(appName): string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:28](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L28)

Returns a static message, which should be signed by the EVM wallets to generate reproducible entropy. Works when wallets use signing with deterministic nonce, such that signature over the same message always yields the same signature (same entropy).

#### Parameters

| Parameter | Type     | Description                                                                            |
| --------- | -------- | -------------------------------------------------------------------------------------- |
| `appName` | `string` | Application name to differentiate reproducible entropy generated across different apps |

#### Returns

`string`

***

### sendTransaction()

```
sendTransaction(transaction, onBeforePublish?): Promise<TransactionResponse>;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:68](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L68)

#### Parameters

| Parameter          | Type                                   |
| ------------------ | -------------------------------------- |
| `transaction`      | `TransactionRequest`                   |
| `onBeforePublish?` | (`txId`, `rawTx`) => `Promise`<`void`> |

#### Returns

`Promise`<`TransactionResponse`>

#### Inherit Doc

***

### signTransaction()?

```
optional signTransaction(transaction): Promise<string>;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:61](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L61)

#### Parameters

| Parameter     | Type                 |
| ------------- | -------------------- |
| `transaction` | `TransactionRequest` |

#### Returns

`Promise`<`string`>

#### Inherit Doc
