Pending
Storage Map v210 → v411 · 2 shape changes Changed in v411Pending Ethereum transactions in the current block being built.
Explore chainThe Big Picture
Ephemeral storage during block building - cleared after block finalization.
Use Cases
- Debug block building
- Monitor pending transactions
From Chain Metadata
Mapping from transaction index to transaction in the current building block.
Purpose & Usage
Purpose
Tracks transactions during block construction before finalization.
Common Query Patterns
- Query by transaction index
- Iterate all pending
Migration Notes
modifier changed from Default to Optional; storage kind changed from Plain to Map; key type changed from <none> to u32; value type changed from Vec<(TransactionV2, TransactionStatus, ReceiptV3)> to (TransactionV2, TransactionStatus, ReceiptV3)
Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.
value type changed from (TransactionV2, TransactionStatus, ReceiptV3) to (TransactionV3, TransactionStatus, ReceiptV4)
Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | index raw: key1 | u32 | Index of the EVM transaction within the current building block (u32). |
Stored Value
- .0 evm_transaction — EVM transaction (TransactionV3 — EIP-1559 / typed-transaction era). The raw transaction payload as parsed by the Ethereum pallet.
- .1 transaction_status — TransactionStatus — execution metadata: from address, contract address (if any), logs bloom, logs vector. Populated when the EVM executes the transaction.
- .2 transaction_receipt — ReceiptV4 — execution receipt: status, cumulative gas used, logs. Produced by the EVM after dispatching the transaction.
Relationships
Code Examples
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443
const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);
// Query Pending storage
const key1 = 0;
const result = await api.query.Ethereum.Pending.getValue(key1);
console.log("Pending:", result);Version History
- modifier :
Default→Optional - kind :
Plain→Map - key : Key type changed: <none> -> u32
- value :
Vec<(TransactionV2, TransactionStatus, ReceiptV3)>→(TransactionV2, TransactionStatus, ReceiptV3) - hashers : Hashers changed: [] -> [Identity]
- value :
(TransactionV2, TransactionStatus, ReceiptV3)→(TransactionV3, TransactionStatus, ReceiptV4)
Runtime Info
- Pallet
- Ethereum
- Storage Kind
- Map
- First Version
- v210
- Current Version
- v411