> ## 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.

> Auto-generated TypeScript API documentation from source code

# Generated API Reference

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

***

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

# primitives/Transaction

## Namespaces

* [Authorization](namespaces/Authorization.mdx)
* [default](namespaces/default.mdx)
* [EIP1559](namespaces/EIP1559.mdx)
* [EIP2930](namespaces/EIP2930.mdx)
* [EIP4844](namespaces/EIP4844.mdx)
* [EIP7702](namespaces/EIP7702.mdx)
* [Legacy](namespaces/Legacy.mdx)

## Enumerations

### Type

Defined in: [src/primitives/Transaction/types.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L7)

Transaction type discriminator

#### Enumeration Members

##### EIP1559

> **EIP1559**: `2`

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

##### EIP2930

> **EIP2930**: `1`

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

##### EIP4844

> **EIP4844**: `3`

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

##### EIP7702

> **EIP7702**: `4`

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

##### Legacy

> **Legacy**: `0`

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

## Type Aliases

### AccessList

> **AccessList** = readonly [`AccessListItem`](#accesslistitem)\[]

Defined in: [src/primitives/Transaction/types.ts:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L26)

Access list (array of items)

***

### AccessListItem

> **AccessListItem** = `object`

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

Access list item for EIP-2930 and later transactions

#### Properties

##### address

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

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

##### storageKeys

> **storageKeys**: readonly [`HashType`](../../index/namespaces/HashType.mdx#hashtype)\[]

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

***

### Any

> **Any** = `Legacy` | `EIP2930` | `EIP1559` | `EIP4844` | `EIP7702`

Defined in: [src/primitives/Transaction/types.ts:155](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L155)

Any transaction type

***

### AuthorizationList

> **AuthorizationList** = readonly `Authorization`\[]

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

Authorization list (array of authorizations)

***

### ReplaceOptions

> **ReplaceOptions** = `object`

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

Options for fee bump replacement

#### Properties

##### bumpPercentage?

> `optional` **bumpPercentage**: `number`

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

Increase gas price by percentage (e.g., 10 for 10% increase)

##### gasPrice?

> `optional` **gasPrice**: `bigint`

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

Explicit gas price to use (overrides bumpPercentage)

##### maxFeePerGas?

> `optional` **maxFeePerGas**: `bigint`

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

Explicit maxFeePerGas (EIP-1559+)

##### maxPriorityFeePerGas?

> `optional` **maxPriorityFeePerGas**: `bigint`

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

Explicit maxPriorityFeePerGas (EIP-1559+)

***

### Signature

> **Signature** = `object`

Defined in: [src/primitives/Transaction/types.ts:53](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L53)

Signature components (ECDSA secp256k1)

#### Properties

##### r

> **r**: `Uint8Array`

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

##### s

> **s**: `Uint8Array`

Defined in: [src/primitives/Transaction/types.ts:55](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L55)

***

### Transaction

> **Transaction** = [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:138](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L138)

***

### VersionedHash

> **VersionedHash** = [`HashType`](../../index/namespaces/HashType.mdx#hashtype)

Defined in: [src/primitives/Transaction/types.ts:48](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/types.ts#L48)

Versioned hash for EIP-4844 blob transactions

## Functions

### assertSigned()

> **assertSigned**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:232](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L232)

Assert transaction is signed

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### assertSigned\_internal()

> **assertSigned\_internal**(`this`): `void`

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

Assert transaction is signed (has non-zero signature).

#### Parameters

##### this

[`Any`](#any)

#### Returns

`void`

void

#### See

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

#### Since

0.0.0

#### Throws

If transaction is not signed

#### Example

```javascript theme={null}
import { assertSigned } from './primitives/Transaction/assertSigned.js';
assertSigned.call(tx);
```

***

### deserialize()

> **deserialize**(`data`): [`Any`](#any)

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

Deserialize RLP encoded transaction.

#### Parameters

##### data

`Uint8Array`

RLP encoded transaction data

#### Returns

[`Any`](#any)

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 type is unknown or unsupported

#### Example

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

***

### detectType()

> **detectType**(`data`): [`Type`](#type)

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

Detect transaction type from serialized data

#### Parameters

##### data

`Uint8Array`

#### Returns

[`Type`](#type)

#### Throws

If transaction data is empty

#### Throws

If transaction type byte is unknown

***

### format()

> **format**(`tx`): `string`

Defined in: [src/primitives/Transaction/Transaction.ts:197](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L197)

Format transaction to human-readable string

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`string`

***

### format\_internal()

> **format\_internal**(`this`): `string`

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

Format transaction to human-readable string

#### Parameters

##### this

[`Any`](#any)

#### Returns

`string`

***

### fromRpc()

> **fromRpc**(`rpc`): [`Any`](#any)

Defined in: [src/primitives/Transaction/fromRpc.js:110](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/fromRpc.js#L110)

Parse transaction from JSON-RPC format

#### Parameters

##### rpc

`RpcTransaction`

JSON-RPC formatted transaction

#### Returns

[`Any`](#any)

Parsed transaction

#### Example

```javascript theme={null}
import * as Transaction from './primitives/Transaction/index.js';
const tx = Transaction.fromRpc({
  type: '0x2',
  chainId: '0x1',
  nonce: '0x0',
  // ...
});
```

***

### getAccessList()

> **getAccessList**(`tx`): [`AccessList`](#accesslist)

Defined in: [src/primitives/Transaction/Transaction.ts:218](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L218)

Get access list (empty for legacy transactions)

#### Parameters

##### tx

[`Any`](#any)

#### Returns

[`AccessList`](#accesslist)

***

### getAccessList\_internal()

> **getAccessList\_internal**(`this`): [`AccessList`](#accesslist)

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

Get access list (empty for legacy transactions).

#### Parameters

##### this

[`Any`](#any)

#### Returns

[`AccessList`](#accesslist)

Transaction access list

#### 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 { getAccessList } from './primitives/Transaction/getAccessList.js';
const accessList = getAccessList.call(tx);
```

***

### getAuthorizationCount()

> **getAuthorizationCount**(`tx`): `number`

Defined in: [src/primitives/Transaction/Transaction.ts:353](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L353)

Get authorization count for EIP-7702 transaction

#### Parameters

##### tx

`EIP7702`

#### Returns

`number`

***

### getAuthorizationCount\_internal()

> **getAuthorizationCount\_internal**(`this`): `number`

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

Get authorization count for EIP-7702 transaction

#### Parameters

##### this

`EIP7702`

EIP7702 transaction

#### Returns

`number`

Number of authorizations

***

### getAuthorizations()

> **getAuthorizations**(`tx`): [`AuthorizationList`](#authorizationlist)

Defined in: [src/primitives/Transaction/Transaction.ts:360](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L360)

Get authorization list for EIP-7702 transaction

#### Parameters

##### tx

`EIP7702`

#### Returns

[`AuthorizationList`](#authorizationlist)

***

### getAuthorizations\_internal()

> **getAuthorizations\_internal**(`this`): [`AuthorizationList`](#authorizationlist)

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

Get authorization list for EIP-7702 transaction

#### Parameters

##### this

`EIP7702`

EIP7702 transaction

#### Returns

[`AuthorizationList`](#authorizationlist)

Array of authorizations

***

### getBlobCount()

> **getBlobCount**(`tx`): `number`

Defined in: [src/primitives/Transaction/Transaction.ts:339](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L339)

Get blob count for EIP-4844 transaction

#### Parameters

##### tx

`EIP4844`

#### Returns

`number`

***

### getBlobCount\_internal()

> **getBlobCount\_internal**(`this`): `number`

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

Get blob count for EIP-4844 transaction

#### Parameters

##### this

`EIP4844`

EIP4844 transaction

#### Returns

`number`

Number of blobs

***

### getBlobVersionedHashes()

> **getBlobVersionedHashes**(`tx`): readonly [`HashType`](../../index/namespaces/HashType.mdx#hashtype)\[]

Defined in: [src/primitives/Transaction/Transaction.ts:346](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L346)

Get blob versioned hashes for EIP-4844 transaction

#### Parameters

##### tx

`EIP4844`

#### Returns

readonly [`HashType`](../../index/namespaces/HashType.mdx#hashtype)\[]

***

### getBlobVersionedHashes\_internal()

> **getBlobVersionedHashes\_internal**(`this`): readonly [`HashType`](../../index/namespaces/HashType.mdx#hashtype)\[]

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

Get blob versioned hashes for EIP-4844 transaction

#### Parameters

##### this

`EIP4844`

EIP4844 transaction

#### Returns

readonly [`HashType`](../../index/namespaces/HashType.mdx#hashtype)\[]

Array of versioned hashes

***

### getChainId()

> **getChainId**(`tx`): `bigint` | `null`

Defined in: [src/primitives/Transaction/Transaction.ts:225](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L225)

Get chain ID from transaction

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`bigint` | `null`

***

### getChainId\_internal()

> **getChainId\_internal**(`this`): `bigint` | `null`

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

Get chain ID (null for pre-EIP-155 legacy transactions).

#### Parameters

##### this

[`Any`](#any)

#### Returns

`bigint` | `null`

Chain ID or null for pre-EIP-155

#### 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 { getChainId } from './primitives/Transaction/getChainId.js';
const chainId = getChainId.call(tx);
```

***

### getGasPrice()

> **getGasPrice**(`tx`, `baseFee?`): `bigint`

Defined in: [src/primitives/Transaction/Transaction.ts:204](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L204)

Get effective gas price for transaction

#### Parameters

##### tx

[`Any`](#any)

##### baseFee?

`bigint`

#### Returns

`bigint`

***

### getGasPrice\_internal()

> **getGasPrice\_internal**(`this`, `baseFee?`): `bigint`

Defined in: [src/primitives/Transaction/getGasPrice.ts:32](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/getGasPrice.ts#L32)

Get transaction gas price (handles different types).

#### Parameters

##### this

[`Any`](#any)

##### baseFee?

`bigint`

Optional base fee for EIP-1559 transactions

#### Returns

`bigint`

Gas price

#### See

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

#### Since

0.0.0

#### Throws

If baseFee is missing for EIP-1559+ transactions

#### Throws

If transaction type is unknown

#### Example

```javascript theme={null}
import { getGasPrice } from './primitives/Transaction/getGasPrice.js';
const gasPrice = getGasPrice.call(tx, 20n);
```

***

### getRecipient()

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

Defined in: [src/primitives/Transaction/Transaction.ts:246](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L246)

Get recipient address from transaction

#### Parameters

##### tx

[`Any`](#any)

#### Returns

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

***

### getRecipient\_internal()

> **getRecipient\_internal**(`this`): [`AddressType`](../Address.mdx#addresstype) | `null`

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

Get recipient address from transaction.

Returns the `to` field of the transaction. For contract creation transactions
where `to` is null, this returns null.

#### Parameters

##### this

[`Any`](#any)

Transaction

#### Returns

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

Recipient address or null for contract creation

#### See

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

#### Since

0.0.0

#### Example

```javascript theme={null}
import { getRecipient } from './primitives/Transaction/getRecipient.js';
const recipient = getRecipient.call(tx);
```

***

### getSender()

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

Defined in: [src/primitives/Transaction/Transaction.ts:183](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L183)

Get sender address from transaction signature

#### Parameters

##### tx

[`Any`](#any)

#### Returns

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

***

### getSender\_internal()

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

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

Get sender address from transaction signature.

#### Parameters

##### this

[`Any`](#any)

#### Returns

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

Sender address

#### See

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

#### Since

0.0.0

#### Throws

If transaction type is unknown or unsupported

#### Example

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

***

### getSigningHash()

> **getSigningHash**(`tx`): [`HashType`](../../index/namespaces/HashType.mdx#hashtype)

Defined in: [src/primitives/Transaction/Transaction.ts:176](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L176)

Get signing hash for transaction

#### Parameters

##### tx

[`Any`](#any)

#### Returns

[`HashType`](../../index/namespaces/HashType.mdx#hashtype)

***

### getSigningHash\_internal()

> **getSigningHash\_internal**(`this`): [`HashType`](../../index/namespaces/HashType.mdx#hashtype)

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

Get signing hash for transaction.

#### Parameters

##### this

[`Any`](#any)

#### Returns

[`HashType`](../../index/namespaces/HashType.mdx#hashtype)

Signing hash

#### See

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

#### Since

0.0.0

#### Throws

If transaction type is unknown or unsupported

#### Example

```javascript theme={null}
import { getSigningHash } from './primitives/Transaction/getSigningHash.js';
const signingHash = getSigningHash.call(tx);
```

***

### hasAccessList()

> **hasAccessList**(`tx`): `boolean`

Defined in: [src/primitives/Transaction/Transaction.ts:211](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L211)

Check if transaction has access list

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`boolean`

***

### hasAccessList\_internal()

> **hasAccessList\_internal**(`this`): `boolean`

Defined in: [src/primitives/Transaction/hasAccessList.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/hasAccessList.ts#L7)

Check if transaction has access list

#### Parameters

##### this

[`Any`](#any)

#### Returns

`boolean`

***

### hash()

> **hash**(`tx`): [`HashType`](../../index/namespaces/HashType.mdx#hashtype)

Defined in: [src/primitives/Transaction/Transaction.ts:169](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L169)

Compute transaction hash

#### Parameters

##### tx

[`Any`](#any)

#### Returns

[`HashType`](../../index/namespaces/HashType.mdx#hashtype)

***

### hash\_internal()

> **hash\_internal**(`this`): [`HashType`](../../index/namespaces/HashType.mdx#hashtype)

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

Compute transaction hash.

#### Parameters

##### this

[`Any`](#any)

#### Returns

[`HashType`](../../index/namespaces/HashType.mdx#hashtype)

Transaction hash

#### See

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

#### Since

0.0.0

#### Throws

If transaction type is unknown or unsupported

#### Example

```javascript theme={null}
import { hash } from './primitives/Transaction/hash.js';
const txHash = hash.call(tx);
```

***

### isContractCall()

> **isContractCall**(`tx`): `boolean`

Defined in: [src/primitives/Transaction/Transaction.ts:260](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L260)

Check if transaction is a contract call

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`boolean`

***

### isContractCall\_internal()

> **isContractCall\_internal**(`this`): `boolean`

Defined in: [src/primitives/Transaction/isContractCall.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/isContractCall.ts#L7)

Check if transaction is a contract call

#### Parameters

##### this

Transaction

###### data

`Uint8Array`

###### to

`any`

#### Returns

`boolean`

True if to exists and data is present

***

### isContractCreation()

> **isContractCreation**(`tx`): `boolean`

Defined in: [src/primitives/Transaction/Transaction.ts:253](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L253)

Check if transaction is a contract creation

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`boolean`

***

### isContractCreation\_internal()

> **isContractCreation\_internal**(`this`): `boolean`

Defined in: [src/primitives/Transaction/isContractCreation.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/isContractCreation.ts#L7)

Check if transaction is a contract creation

#### Parameters

##### this

Transaction

###### to

`any`

#### Returns

`boolean`

True if to field is null

***

### isEIP1559()

> **isEIP1559**(`tx`): `tx is EIP1559`

Defined in: [src/primitives/Transaction/typeGuards.ts:32](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/typeGuards.ts#L32)

Check if transaction is EIP-1559 type

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`tx is EIP1559`

***

### isEIP2930()

> **isEIP2930**(`tx`): `tx is EIP2930`

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

Check if transaction is EIP-2930 type

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`tx is EIP2930`

***

### isEIP4844()

> **isEIP4844**(`tx`): `tx is EIP4844`

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

Check if transaction is EIP-4844 type

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`tx is EIP4844`

***

### isEIP7702()

> **isEIP7702**(`tx`): `tx is EIP7702`

Defined in: [src/primitives/Transaction/typeGuards.ts:46](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/typeGuards.ts#L46)

Check if transaction is EIP-7702 type

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`tx is EIP7702`

***

### isLegacy()

> **isLegacy**(`tx`): `tx is Legacy`

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

Check if transaction is Legacy type

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`tx is Legacy`

***

### isSigned()

> **isSigned**(`tx`): `boolean`

Defined in: [src/primitives/Transaction/Transaction.ts:239](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L239)

Check if transaction is signed

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`boolean`

***

### isSigned\_internal()

> **isSigned\_internal**(`this`): `boolean`

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

Check if transaction is signed.

#### Parameters

##### this

[`Any`](#any)

#### Returns

`boolean`

True if transaction has valid signature

#### 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 { isSigned } from './primitives/Transaction/isSigned.js';
const signed = isSigned.call(tx);
```

***

### replaceWith()

> **replaceWith**(`tx`, `options?`): [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:332](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L332)

Return new transaction with fee bump for replacement

#### Parameters

##### tx

[`Any`](#any)

##### options?

[`ReplaceOptions`](#replaceoptions)

#### Returns

[`Any`](#any)

***

### replaceWith\_internal()

> **replaceWith\_internal**(`this`, `options`): [`Any`](#any)

Defined in: [src/primitives/Transaction/replaceWith.ts:30](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/replaceWith.ts#L30)

Return new transaction with fee bump for replacement

#### Parameters

##### this

[`Any`](#any)

Transaction

##### options

[`ReplaceOptions`](#replaceoptions) = `{}`

Replacement options

#### Returns

[`Any`](#any)

New transaction with increased fees

***

### serialize()

> **serialize**(`tx`): `Uint8Array`

Defined in: [src/primitives/Transaction/Transaction.ts:162](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L162)

Serialize transaction to RLP encoded bytes

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`Uint8Array`

***

### serialize\_internal()

> **serialize\_internal**(`this`): `Uint8Array`

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

Serialize transaction to RLP encoded bytes.

#### Parameters

##### this

[`Any`](#any)

#### Returns

`Uint8Array`

RLP encoded transaction

#### See

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

#### Since

0.0.0

#### Throws

If transaction type is unknown or unsupported

#### Example

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

***

### toRpc()

> **toRpc**(`tx`): `object`

Defined in: [src/primitives/Transaction/toRpc.js:46](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/toRpc.js#L46)

Convert transaction to JSON-RPC format

#### Parameters

##### tx

[`Any`](#any)

Transaction to convert

#### Returns

`object`

JSON-RPC formatted transaction

#### Example

```javascript theme={null}
import * as Transaction from './primitives/Transaction/index.js';
const tx = Transaction.deserialize(serialized);
const rpc = Transaction.toRpc(tx);
// { type: '0x2', chainId: '0x1', nonce: '0x0', ... }
```

***

### validateChainId()

> **validateChainId**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:295](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L295)

Validate chain ID is present

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### validateChainId\_internal()

> **validateChainId\_internal**(`this`): `void`

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

Validate chain ID is present

#### Parameters

##### this

Transaction

`EIP2930` | `EIP1559` | `EIP4844` | `EIP7702`

#### Returns

`void`

#### Throws

If chainId is missing or invalid

***

### validateGasLimit()

> **validateGasLimit**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:274](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L274)

Validate gas limit is valid

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### validateGasLimit\_internal()

> **validateGasLimit\_internal**(`this`): `void`

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

Validate gas limit is valid

#### Parameters

##### this

Transaction

###### gasLimit

`bigint`

#### Returns

`void`

#### Throws

If gas limit is non-positive or exceeds maximum

***

### validateGasPrice()

> **validateGasPrice**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:267](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L267)

Validate gas price is reasonable

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### validateGasPrice\_internal()

> **validateGasPrice\_internal**(`this`): `void`

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

Validate gas price is reasonable

#### Parameters

##### this

Transaction

`Legacy` | `EIP2930` | `EIP1559` | `EIP4844` | `EIP7702`

#### Returns

`void`

#### Throws

If gas price or fee values are invalid

***

### validateNonce()

> **validateNonce**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:281](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L281)

Validate nonce format

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### validateNonce\_internal()

> **validateNonce\_internal**(`this`): `void`

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

Validate nonce format

#### Parameters

##### this

Transaction

###### nonce

`bigint`

#### Returns

`void`

#### Throws

If nonce is negative

***

### validateValue()

> **validateValue**(`tx`): `void`

Defined in: [src/primitives/Transaction/Transaction.ts:288](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L288)

Validate value is valid

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`void`

***

### validateValue\_internal()

> **validateValue\_internal**(`this`): `void`

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

Validate value is valid

#### Parameters

##### this

Transaction

###### value

`bigint`

#### Returns

`void`

#### Throws

If value is negative

***

### verifySignature()

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

Defined in: [src/primitives/Transaction/Transaction.ts:190](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L190)

Verify transaction signature

#### Parameters

##### tx

[`Any`](#any)

#### Returns

`boolean`

***

### verifySignature\_internal()

> **verifySignature\_internal**(`this`): `boolean`

Defined in: [src/primitives/Transaction/verifySignature.ts:27](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/verifySignature.ts#L27)

Verify transaction signature.

#### Parameters

##### this

[`Any`](#any)

#### Returns

`boolean`

True if signature is valid

#### See

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

#### Since

0.0.0

#### Throws

If transaction type is unknown or unsupported

#### Example

```javascript theme={null}
import { verifySignature } from './primitives/Transaction/verifySignature.js';
const isValid = verifySignature.call(tx);
```

***

### withData()

> **withData**(`tx`, `data`): [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:325](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L325)

Return new transaction with updated data

#### Parameters

##### tx

[`Any`](#any)

##### data

`Uint8Array`

#### Returns

[`Any`](#any)

***

### withData\_internal()

> **withData\_internal**(`this`, `data`): [`Any`](#any)

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

Return new transaction with updated data

#### Parameters

##### this

[`Any`](#any)

Transaction

##### data

`Uint8Array`

New data value

#### Returns

[`Any`](#any)

New transaction with updated data

***

### withGasLimit()

> **withGasLimit**(`tx`, `gasLimit`): [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:311](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L311)

Return new transaction with updated gas limit

#### Parameters

##### tx

[`Any`](#any)

##### gasLimit

`bigint`

#### Returns

[`Any`](#any)

***

### withGasLimit\_internal()

> **withGasLimit\_internal**(`this`, `gasLimit`): [`Any`](#any)

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

Return new transaction with updated gas limit

#### Parameters

##### this

[`Any`](#any)

Transaction

##### gasLimit

`bigint`

New gas limit value

#### Returns

[`Any`](#any)

New transaction with updated gas limit

***

### withGasPrice()

> **withGasPrice**(`tx`, `gasPrice`): [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:318](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L318)

Return new transaction with updated gas price

#### Parameters

##### tx

[`Any`](#any)

##### gasPrice

`bigint`

#### Returns

[`Any`](#any)

***

### withGasPrice\_internal()

> **withGasPrice\_internal**(`this`, `gasPrice`): [`Any`](#any)

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

Return new transaction with updated gas price
For EIP-1559+ transactions, updates maxFeePerGas

#### Parameters

##### this

[`Any`](#any)

Transaction

##### gasPrice

`bigint`

New gas price value

#### Returns

[`Any`](#any)

New transaction with updated gas price

***

### withNonce()

> **withNonce**(`tx`, `nonce`): [`Any`](#any)

Defined in: [src/primitives/Transaction/Transaction.ts:304](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Transaction/Transaction.ts#L304)

Return new transaction with updated nonce

#### Parameters

##### tx

[`Any`](#any)

##### nonce

`bigint`

#### Returns

[`Any`](#any)

***

### withNonce\_internal()

> **withNonce\_internal**(`this`, `nonce`): [`Any`](#any)

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

Return new transaction with updated nonce

#### Parameters

##### this

[`Any`](#any)

Transaction

##### nonce

`bigint`

New nonce value

#### Returns

[`Any`](#any)

New transaction with updated nonce
