eyePlaintextTx

Unencrypted transaction view for debugging

Unencrypted transaction view returned by debug writes.

Overview

PlaintextTx contains the same fields as a shielded transaction but with plaintext calldata (before AES-GCM encryption). It's returned by .dwrite methods for debugging and inspection.

Definition

@dataclass(frozen=True)
class PlaintextTx:
    """Unencrypted transaction view returned by debug writes.

    Contains the same fields as the shielded transaction but with
    plaintext calldata (before AES-GCM encryption).
    """
    to: ChecksumAddress | None
    data: HexBytes
    nonce: int
    gas: int
    gas_price: int
    value: int

Fields

Field
Type
Description

to

ChecksumAddress | None

Recipient address, or None for contract creation

data

HexBytes

Plaintext calldata (before encryption)

nonce

int

Sender's transaction count

gas

int

Gas limit

gas_price

int

Gas price in wei

value

int

Amount of wei to transfer

Examples

Get from Debug Write

Compare with Shielded Transaction

Inspect Function Call

Gas Estimation

Field Details

data (Plaintext Calldata)

The data field contains plaintext calldata:

  • Function selector (4 bytes) + encoded parameters

  • Not encrypted - readable and inspectable

  • Matches what would be sent in a standard Ethereum transaction

This contrasts with UnsignedSeismicTx.data, which contains the encrypted version.

to

  • Standard checksummed Ethereum address

  • None for contract creation

gas

  • Estimated gas limit for the transaction

  • Fetched from eth_estimateGas with plaintext calldata

gas_price

  • Gas price in wei

  • Fetched from eth_gasPrice or configured value

value

  • Amount of native currency to transfer in wei

  • Can be 0 for pure function calls

Properties

  • Immutable - Cannot be modified after construction (frozen=True)

  • Plaintext - Data is not encrypted

  • Debug only - Used for inspection, not for actual execution

Use Cases

Debugging Encryption

Testing Function Encoding

Gas Optimization

Warnings

  • Never broadcast PlaintextTx - It's unencrypted and invalid for Seismic

  • Debug only - Only use .dwrite for testing, not production

  • Already broadcast - .dwrite sends the shielded transaction, not plaintext

Notes

  • Only available with .dwrite namespace, not .write

  • The actual broadcast transaction uses encrypted data from shielded_tx

  • Useful for debugging calldata encoding issues

See Also

Last updated