> ## Documentation Index
> Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# EIP7702

> Auto-generated API documentation

[**@tevm/voltaire**](../../../index.mdx)

***

[@tevm/voltaire](../../../index.mdx) / [primitives/Transaction](../index.mdx) / EIP7702

# EIP7702

## Classes

### TransactionEIP7702

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L54)

Factory function for creating EIP-7702 Transaction instances

#### Constructors

##### Constructor

> **new TransactionEIP7702**(`tx`): `TransactionEIP7702`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L54)

Factory function for creating EIP-7702 Transaction instances

###### Parameters

###### tx

`any`

###### Returns

`TransactionEIP7702`

#### Properties

##### getEffectiveGasPrice()

> **getEffectiveGasPrice**: (`tx`, `baseFee`) => `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:95](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L95)

Calculate effective gas price given base fee.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction

###### baseFee

`bigint`

Current block base fee

###### Returns

`bigint`

Effective gas price

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { getEffectiveGasPrice } from './primitives/Transaction/EIP7702/getEffectiveGasPrice.js';
const effectivePrice = getEffectiveGasPrice(tx, 30n);
```

##### getSender()

> **getSender**: (`tx`) => [`AddressType`](../../Address.mdx#addresstype)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:91](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L91)

Get sender address from signature.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction with signature

###### Returns

[`AddressType`](../../Address.mdx#addresstype)

Recovered sender address

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

If signature recovery fails

###### Example

```javascript theme={null}
import { getSender } from './primitives/Transaction/EIP7702/getSender.js';
const sender = getSender(tx);
```

##### getSigningHash()

> **getSigningHash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:89](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L89)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### hash()

> **hash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:88](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L88)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### serialize()

> **serialize**: (`tx`) => `Uint8Array`\<`ArrayBufferLike`>

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:86](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L86)

Serialize EIP-7702 transaction to RLP encoded bytes.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction to serialize

###### Returns

`Uint8Array`\<`ArrayBufferLike`>

RLP encoded transaction with type prefix

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { serialize } from './primitives/Transaction/EIP7702/serialize.js';
const serialized = serialize(tx);
```

##### verifySignature()

> **verifySignature**: (`tx`) => `boolean`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:93](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L93)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`boolean`

##### deserialize()

> `static` **deserialize**: (`bytes`) => `TransactionEIP7702Prototype`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:77](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L77)

###### Parameters

###### bytes

`Uint8Array`

###### Returns

`TransactionEIP7702Prototype`

##### getEffectiveGasPrice()

> `static` **getEffectiveGasPrice**: (`tx`, `baseFee`) => `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:83](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L83)

Calculate effective gas price given base fee.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction

###### baseFee

`bigint`

Current block base fee

###### Returns

`bigint`

Effective gas price

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { getEffectiveGasPrice } from './primitives/Transaction/EIP7702/getEffectiveGasPrice.js';
const effectivePrice = getEffectiveGasPrice(tx, 30n);
```

##### getSender()

> `static` **getSender**: (`tx`) => [`AddressType`](../../Address.mdx#addresstype)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:81](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L81)

Get sender address from signature.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction with signature

###### Returns

[`AddressType`](../../Address.mdx#addresstype)

Recovered sender address

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

If signature recovery fails

###### Example

```javascript theme={null}
import { getSender } from './primitives/Transaction/EIP7702/getSender.js';
const sender = getSender(tx);
```

##### getSigningHash()

> `static` **getSigningHash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:80](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L80)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### hash()

> `static` **hash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:79](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L79)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### prototype

> `static` **prototype**: `object`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:74](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L74)

##### serialize()

> `static` **serialize**: (`tx`) => `Uint8Array`\<`ArrayBufferLike`>

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:78](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L78)

Serialize EIP-7702 transaction to RLP encoded bytes.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction to serialize

###### Returns

`Uint8Array`\<`ArrayBufferLike`>

RLP encoded transaction with type prefix

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { serialize } from './primitives/Transaction/EIP7702/serialize.js';
const serialized = serialize(tx);
```

##### verifySignature()

> `static` **verifySignature**: (`tx`) => `boolean`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:82](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L82)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`boolean`

## Interfaces

### TransactionEIP7702Constructor()

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:20](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L20)

> **TransactionEIP7702Constructor**(`tx`): `TransactionEIP7702Prototype`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:21](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L21)

#### Parameters

##### tx

###### accessList

[`AccessList`](../index.mdx#accesslist)

###### authorizationList

[`AuthorizationList`](../index.mdx#authorizationlist)

###### chainId

`bigint`

###### data

`Uint8Array`

###### gasLimit

`bigint`

###### maxFeePerGas

`bigint`

###### maxPriorityFeePerGas

`bigint`

###### nonce

`bigint`

###### r

`Uint8Array`

###### s

`Uint8Array`

###### to

[`AddressType`](../../Address.mdx#addresstype) | `null`

###### value

`bigint`

###### yParity

`number`

#### Returns

`TransactionEIP7702Prototype`

#### Properties

##### getEffectiveGasPrice()

> **getEffectiveGasPrice**: (`tx`, `baseFee`) => `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:43](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L43)

Calculate effective gas price given base fee.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction

###### baseFee

`bigint`

Current block base fee

###### Returns

`bigint`

Effective gas price

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { getEffectiveGasPrice } from './primitives/Transaction/EIP7702/getEffectiveGasPrice.js';
const effectivePrice = getEffectiveGasPrice(tx, 30n);
```

##### getSender()

> **getSender**: (`tx`) => [`AddressType`](../../Address.mdx#addresstype)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:41](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L41)

Get sender address from signature.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction with signature

###### Returns

[`AddressType`](../../Address.mdx#addresstype)

Recovered sender address

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

If signature recovery fails

###### Example

```javascript theme={null}
import { getSender } from './primitives/Transaction/EIP7702/getSender.js';
const sender = getSender(tx);
```

##### getSigningHash()

> **getSigningHash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:40](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L40)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### hash()

> **hash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:39](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L39)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`Uint8Array`

##### prototype

> **prototype**: `TransactionEIP7702Prototype`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L36)

##### serialize()

> **serialize**: (`tx`) => `Uint8Array`\<`ArrayBufferLike`>

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L38)

Serialize EIP-7702 transaction to RLP encoded bytes.

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction to serialize

###### Returns

`Uint8Array`\<`ArrayBufferLike`>

RLP encoded transaction with type prefix

###### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

###### Since

0.0.0

###### Throws

Never throws

###### Example

```javascript theme={null}
import { serialize } from './primitives/Transaction/EIP7702/serialize.js';
const serialized = serialize(tx);
```

##### verifySignature()

> **verifySignature**: (`tx`) => `boolean`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:42](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L42)

###### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

###### Returns

`boolean`

#### Methods

##### deserialize()

> **deserialize**(`bytes`): `TransactionEIP7702Prototype`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts:37](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Constructor.ts#L37)

###### Parameters

###### bytes

`Uint8Array`

###### Returns

`TransactionEIP7702Prototype`

## Type Aliases

### BrandedTransactionEIP7702

> **BrandedTransactionEIP7702** = [`TransactionEIP7702Type`](#transactioneip7702type)

Defined in: [src/primitives/Transaction/EIP7702/BrandedTransactionEIP7702.ts:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/BrandedTransactionEIP7702.ts#L6)

Branded EIP-7702 Transaction type (alias for TransactionEIP7702Type)

***

### TransactionEIP7702Type

> **TransactionEIP7702Type** = `object`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:8](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L8)

Branded EIP-7702 Transaction type

#### Properties

##### \[brand]

> `readonly` **\[brand]**: `"TransactionEIP7702"`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:9](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L9)

##### accessList

> **accessList**: [`AccessList`](../index.mdx#accesslist)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L19)

##### authorizationList

> **authorizationList**: [`AuthorizationList`](../index.mdx#authorizationlist)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:20](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L20)

##### chainId

> **chainId**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:11](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L11)

##### data

> **data**: `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L18)

##### gasLimit

> **gasLimit**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:15](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L15)

##### maxFeePerGas

> **maxFeePerGas**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L14)

##### maxPriorityFeePerGas

> **maxPriorityFeePerGas**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:13](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L13)

##### nonce

> **nonce**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:12](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L12)

##### r

> **r**: `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L22)

##### s

> **s**: `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:23](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L23)

##### to

> **to**: [`AddressType`](../../Address.mdx#addresstype) | `null`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L16)

##### type

> **type**: [`EIP7702`](../index.mdx#eip7702)

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:10](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L10)

##### value

> **value**: `bigint`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:17](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L17)

##### yParity

> **yParity**: `number`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts:21](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702Type.ts#L21)

## Variables

### getSigningHash()

> `const` **getSigningHash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:21](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L21)

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

#### Returns

`Uint8Array`

***

### hash()

> `const` **hash**: (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L22)

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

#### Returns

`Uint8Array`

***

### verifySignature()

> `const` **verifySignature**: (`tx`) => `boolean`

Defined in: [src/primitives/Transaction/EIP7702/TransactionEIP7702.js:23](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/TransactionEIP7702.js#L23)

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

#### Returns

`boolean`

## Functions

### deserialize()

> **deserialize**(`data`): `EIP7702`

Defined in: [src/primitives/Transaction/EIP7702/deserialize.js:25](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/deserialize.js#L25)

Deserialize RLP encoded EIP-7702 transaction.

#### Parameters

##### data

`Uint8Array`\<`ArrayBufferLike`>

RLP encoded transaction bytes with type prefix

#### Returns

`EIP7702`

Deserialized transaction

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

If transaction is invalid or malformed

#### Example

```javascript theme={null}
import { deserialize } from './primitives/Transaction/EIP7702/deserialize.js';
const tx = deserialize(bytes);
```

***

### getEffectiveGasPrice()

> **getEffectiveGasPrice**(`tx`, `baseFee`): `bigint`

Defined in: [src/primitives/Transaction/EIP7702/getEffectiveGasPrice.js:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/getEffectiveGasPrice.js#L16)

Calculate effective gas price given base fee.

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction

##### baseFee

`bigint`

Current block base fee

#### Returns

`bigint`

Effective gas price

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

Never throws

#### Example

```javascript theme={null}
import { getEffectiveGasPrice } from './primitives/Transaction/EIP7702/getEffectiveGasPrice.js';
const effectivePrice = getEffectiveGasPrice(tx, 30n);
```

***

### getSender()

> **getSender**(`tx`): [`AddressType`](../../Address.mdx#addresstype)

Defined in: [src/primitives/Transaction/EIP7702/getSender.js:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/getSender.js#L18)

Get sender address from signature.

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction with signature

#### Returns

[`AddressType`](../../Address.mdx#addresstype)

Recovered sender address

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

If signature recovery fails

#### Example

```javascript theme={null}
import { getSender } from './primitives/Transaction/EIP7702/getSender.js';
const sender = getSender(tx);
```

***

### GetSigningHash()

> **GetSigningHash**(`deps`): (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/getSigningHash.js:31](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/getSigningHash.js#L31)

Factory: Get signing hash.

#### Parameters

##### deps

Crypto dependencies

###### keccak256

(`data`) => `Uint8Array`

Keccak256 hash function

###### rlpEncode

(`data`) => `Uint8Array`

RLP encode function

#### Returns

Function that computes signing hash

> (`tx`): `Uint8Array`

##### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

##### Returns

`Uint8Array`

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

Never throws

#### Example

```javascript theme={null}
import { GetSigningHash } from './primitives/Transaction/EIP7702/getSigningHash.js';
import { hash as keccak256 } from '../../../crypto/Keccak256/hash.js';
import { encode as rlpEncode } from '../../Rlp/encode.js';
const getSigningHash = GetSigningHash({ keccak256, rlpEncode });
const signingHash = getSigningHash(tx);
```

***

### Hash()

> **Hash**(`deps`): (`tx`) => `Uint8Array`

Defined in: [src/primitives/Transaction/EIP7702/hash.js:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/hash.js#L22)

Factory: Compute transaction hash.

#### Parameters

##### deps

Crypto dependencies

###### keccak256

(`data`) => `Uint8Array`

Keccak256 hash function

#### Returns

Function that computes transaction hash

> (`tx`): `Uint8Array`

##### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

##### Returns

`Uint8Array`

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

Never throws

#### Example

```javascript theme={null}
import { Hash } from './primitives/Transaction/EIP7702/hash.js';
import { hash as keccak256 } from '../../../crypto/Keccak256/hash.js';
const hash = Hash({ keccak256 });
const txHash = hash(tx);
```

***

### serialize()

> **serialize**(`tx`): `Uint8Array`\<`ArrayBufferLike`>

Defined in: [src/primitives/Transaction/EIP7702/serialize.js:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/serialize.js#L24)

Serialize EIP-7702 transaction to RLP encoded bytes.

#### Parameters

##### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

Transaction to serialize

#### Returns

`Uint8Array`\<`ArrayBufferLike`>

RLP encoded transaction with type prefix

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

Never throws

#### Example

```javascript theme={null}
import { serialize } from './primitives/Transaction/EIP7702/serialize.js';
const serialized = serialize(tx);
```

***

### VerifySignature()

> **VerifySignature**(`deps`): (`tx`) => `boolean`

Defined in: [src/primitives/Transaction/EIP7702/verifySignature.js:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/EIP7702/verifySignature.js#L38)

Factory: Verify transaction signature.

#### Parameters

##### deps

Crypto dependencies

###### keccak256

(`data`) => `Uint8Array`

Keccak256 hash function

###### rlpEncode

(`data`) => `Uint8Array`

RLP encode function

###### secp256k1RecoverPublicKey

`any`

secp256k1 public key recovery

###### secp256k1Verify

`any`

secp256k1 signature verification

#### Returns

Function that verifies signature

> (`tx`): `boolean`

##### Parameters

###### tx

[`TransactionEIP7702Type`](#transactioneip7702type)

##### Returns

`boolean`

#### See

[https://voltaire.tevm.sh/primitives/transaction](https://voltaire.tevm.sh/primitives/transaction) for Transaction documentation

#### Since

0.0.0

#### Throws

Never throws - returns false on error

#### Example

```javascript theme={null}
import { VerifySignature } from './primitives/Transaction/EIP7702/verifySignature.js';
import { hash as keccak256 } from '../../../crypto/Keccak256/hash.js';
import { encode as rlpEncode } from '../../Rlp/encode.js';
import { recoverPublicKey, verify } from '../../../crypto/Secp256k1/index.js';
const verifySignature = VerifySignature({
  keccak256,
  rlpEncode,
  secp256k1RecoverPublicKey: recoverPublicKey,
  secp256k1Verify: verify
});
const isValid = verifySignature(tx);
```
