UNPKG

@polkadot/types

Version:
407 lines (406 loc) • 13.2 kB
import type { GenericEthereumAccountId, GenericEthereumLookupSource } from '@polkadot/types'; import type { Bytes, Enum, Option, Struct, U256, U64, U8aFixed, Vec, bool, f64, u32, u64 } from '@polkadot/types-codec'; import type { BlockNumber, H160, H2048, H256, H512, H64 } from '@polkadot/types/interfaces/runtime'; /** @name BlockV0 */ export interface BlockV0 extends Struct { readonly header: EthHeader; readonly transactions: Vec<TransactionV0>; readonly ommers: Vec<EthHeader>; } /** @name BlockV1 */ export interface BlockV1 extends Struct { readonly header: EthHeader; readonly transactions: Vec<TransactionV1>; readonly ommers: Vec<EthHeader>; } /** @name BlockV2 */ export interface BlockV2 extends Struct { readonly header: EthHeader; readonly transactions: Vec<TransactionV2>; readonly ommers: Vec<EthHeader>; } /** @name EIP1559Transaction */ export interface EIP1559Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; readonly maxPriorityFeePerGas: U256; readonly maxFeePerGas: U256; readonly gasLimit: U256; readonly action: EthTransactionAction; readonly value: U256; readonly input: Bytes; readonly accessList: EthAccessList; readonly oddYParity: bool; readonly r: H256; readonly s: H256; } /** @name EIP2930Transaction */ export interface EIP2930Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; readonly gasPrice: U256; readonly gasLimit: U256; readonly action: EthTransactionAction; readonly value: U256; readonly input: Bytes; readonly accessList: EthAccessList; readonly oddYParity: bool; readonly r: H256; readonly s: H256; } /** @name EthAccessList */ export interface EthAccessList extends Vec<EthAccessListItem> { } /** @name EthAccessListItem */ export interface EthAccessListItem extends Struct { readonly address: EthAddress; readonly slots: Vec<H256>; } /** @name EthAccount */ export interface EthAccount extends Struct { readonly address: EthAddress; readonly balance: U256; readonly nonce: U256; readonly codeHash: H256; readonly storageHash: H256; readonly accountProof: Vec<Bytes>; readonly storageProof: Vec<EthStorageProof>; } /** @name EthAddress */ export interface EthAddress extends H160 { } /** @name EthBlock */ export interface EthBlock extends Struct { readonly header: EthHeader; readonly transactions: Vec<EthTransaction>; readonly ommers: Vec<EthHeader>; } /** @name EthBloom */ export interface EthBloom extends H2048 { } /** @name EthCallRequest */ export interface EthCallRequest extends Struct { readonly from: Option<EthAddress>; readonly to: Option<EthAddress>; readonly gasPrice: Option<U256>; readonly gas: Option<U256>; readonly value: Option<U256>; readonly data: Option<Bytes>; readonly nonce: Option<U256>; } /** @name EthereumAccountId */ export interface EthereumAccountId extends GenericEthereumAccountId { } /** @name EthereumAddress */ export interface EthereumAddress extends GenericEthereumAccountId { } /** @name EthereumLookupSource */ export interface EthereumLookupSource extends GenericEthereumLookupSource { } /** @name EthereumSignature */ export interface EthereumSignature extends U8aFixed { } /** @name EthFeeHistory */ export interface EthFeeHistory extends Struct { readonly oldestBlock: U256; readonly baseFeePerGas: Vec<U256>; readonly gasUsedRatio: Vec<f64>; readonly reward: Option<Vec<Vec<U256>>>; } /** @name EthFilter */ export interface EthFilter extends Struct { readonly fromBlock: Option<BlockNumber>; readonly toBlock: Option<BlockNumber>; readonly blockHash: Option<H256>; readonly address: Option<EthFilterAddress>; readonly topics: Option<EthFilterTopic>; } /** @name EthFilterAddress */ export interface EthFilterAddress extends Enum { readonly isSingle: boolean; readonly asSingle: EthAddress; readonly isMultiple: boolean; readonly asMultiple: Vec<EthAddress>; readonly isNull: boolean; readonly type: 'Single' | 'Multiple' | 'Null'; } /** @name EthFilterChanges */ export interface EthFilterChanges extends Enum { readonly isLogs: boolean; readonly asLogs: Vec<EthLog>; readonly isHashes: boolean; readonly asHashes: Vec<H256>; readonly isEmpty: boolean; readonly type: 'Logs' | 'Hashes' | 'Empty'; } /** @name EthFilterTopic */ export interface EthFilterTopic extends Enum { readonly isSingle: boolean; readonly asSingle: EthFilterTopicInner; readonly isMultiple: boolean; readonly asMultiple: Vec<EthFilterTopicInner>; readonly isNull: boolean; readonly type: 'Single' | 'Multiple' | 'Null'; } /** @name EthFilterTopicEntry */ export interface EthFilterTopicEntry extends Option<H256> { } /** @name EthFilterTopicInner */ export interface EthFilterTopicInner extends Enum { readonly isSingle: boolean; readonly asSingle: EthFilterTopicEntry; readonly isMultiple: boolean; readonly asMultiple: Vec<EthFilterTopicEntry>; readonly isNull: boolean; readonly type: 'Single' | 'Multiple' | 'Null'; } /** @name EthHeader */ export interface EthHeader extends Struct { readonly parentHash: H256; readonly ommersHash: H256; readonly beneficiary: EthAddress; readonly stateRoot: H256; readonly transactionsRoot: H256; readonly receiptsRoot: H256; readonly logsBloom: EthBloom; readonly difficulty: U256; readonly number: U256; readonly gasLimit: U256; readonly gasUsed: U256; readonly timestamp: u64; readonly extraData: Bytes; readonly mixMash: H256; readonly nonce: H64; } /** @name EthLog */ export interface EthLog extends Struct { readonly address: EthAddress; readonly topics: Vec<H256>; readonly data: Bytes; readonly blockHash: Option<H256>; readonly blockNumber: Option<U256>; readonly transactionHash: Option<H256>; readonly transactionIndex: Option<U256>; readonly logIndex: Option<U256>; readonly transactionLogIndex: Option<U256>; readonly removed: bool; } /** @name EthReceipt */ export interface EthReceipt extends Struct { readonly transactionHash: Option<H256>; readonly transactionIndex: Option<U256>; readonly blockHash: Option<H256>; readonly from: Option<EthAddress>; readonly to: Option<EthAddress>; readonly blockNumber: Option<U256>; readonly cumulativeGasUsed: U256; readonly gasUsed: Option<U256>; readonly contractAddress: Option<EthAddress>; readonly logs: Vec<EthLog>; readonly root: Option<H256>; readonly logsBloom: EthBloom; readonly statusCode: Option<U64>; } /** @name EthReceiptV0 */ export interface EthReceiptV0 extends EthReceipt { } /** @name EthReceiptV3 */ export interface EthReceiptV3 extends EthReceipt { } /** @name EthRichBlock */ export interface EthRichBlock extends Struct { readonly blockHash: Option<H256>; readonly parentHash: H256; readonly sha3Uncles: H256; readonly author: EthAddress; readonly miner: EthAddress; readonly stateRoot: H256; readonly transactionsRoot: H256; readonly receiptsRoot: H256; readonly number: Option<U256>; readonly gasUsed: U256; readonly gasLimit: U256; readonly extraData: Bytes; readonly logsBloom: EthBloom; readonly timestamp: U256; readonly difficulty: U256; readonly totalDifficulty: Option<U256>; readonly sealFields: Vec<Bytes>; readonly uncles: Vec<H256>; readonly transactions: Vec<EthTransaction>; readonly blockSize: Option<U256>; } /** @name EthRichHeader */ export interface EthRichHeader extends Struct { readonly blockHash: Option<H256>; readonly parentHash: H256; readonly sha3Uncles: H256; readonly author: EthAddress; readonly miner: EthAddress; readonly stateRoot: H256; readonly transactionsRoot: H256; readonly receiptsRoot: H256; readonly number: Option<U256>; readonly gasUsed: U256; readonly gasLimit: U256; readonly extraData: Bytes; readonly logsBloom: EthBloom; readonly timestamp: U256; readonly difficulty: U256; readonly sealFields: Vec<Bytes>; readonly blockSize: Option<U256>; } /** @name EthStorageProof */ export interface EthStorageProof extends Struct { readonly key: U256; readonly value: U256; readonly proof: Vec<Bytes>; } /** @name EthSubKind */ export interface EthSubKind extends Enum { readonly isNewHeads: boolean; readonly isLogs: boolean; readonly isNewPendingTransactions: boolean; readonly isSyncing: boolean; readonly type: 'NewHeads' | 'Logs' | 'NewPendingTransactions' | 'Syncing'; } /** @name EthSubParams */ export interface EthSubParams extends Enum { readonly isNone: boolean; readonly isLogs: boolean; readonly asLogs: EthFilter; readonly type: 'None' | 'Logs'; } /** @name EthSubResult */ export interface EthSubResult extends Enum { readonly isHeader: boolean; readonly asHeader: EthRichHeader; readonly isLog: boolean; readonly asLog: EthLog; readonly isTransactionHash: boolean; readonly asTransactionHash: H256; readonly isSyncState: boolean; readonly asSyncState: EthSyncStatus; readonly type: 'Header' | 'Log' | 'TransactionHash' | 'SyncState'; } /** @name EthSyncInfo */ export interface EthSyncInfo extends Struct { readonly startingBlock: U256; readonly currentBlock: U256; readonly highestBlock: U256; readonly warpChunksAmount: Option<U256>; readonly warpChunksProcessed: Option<U256>; } /** @name EthSyncStatus */ export interface EthSyncStatus extends Enum { readonly isInfo: boolean; readonly asInfo: EthSyncInfo; readonly isNone: boolean; readonly type: 'Info' | 'None'; } /** @name EthTransaction */ export interface EthTransaction extends Struct { readonly hash: H256; readonly nonce: U256; readonly blockHash: Option<H256>; readonly blockNumber: Option<U256>; readonly transactionIndex: Option<U256>; readonly from: H160; readonly to: Option<H160>; readonly value: U256; readonly gasPrice: Option<U256>; readonly maxFeePerGas: Option<U256>; readonly maxPriorityFeePerGas: Option<U256>; readonly gas: U256; readonly input: Bytes; readonly creates: Option<H160>; readonly raw: Bytes; readonly publicKey: Option<H512>; readonly chainId: Option<U64>; readonly standardV: U256; readonly v: U256; readonly r: U256; readonly s: U256; readonly accessList: Option<Vec<EthAccessListItem>>; readonly transactionType: Option<U256>; } /** @name EthTransactionAction */ export interface EthTransactionAction extends Enum { readonly isCall: boolean; readonly asCall: H160; readonly isCreate: boolean; readonly type: 'Call' | 'Create'; } /** @name EthTransactionCondition */ export interface EthTransactionCondition extends Enum { readonly isBlock: boolean; readonly asBlock: u64; readonly isTime: boolean; readonly asTime: u64; readonly type: 'Block' | 'Time'; } /** @name EthTransactionRequest */ export interface EthTransactionRequest extends Struct { readonly from: Option<EthAddress>; readonly to: Option<EthAddress>; readonly gasPrice: Option<U256>; readonly gas: Option<U256>; readonly value: Option<U256>; readonly data: Option<Bytes>; readonly nonce: Option<U256>; } /** @name EthTransactionSignature */ export interface EthTransactionSignature extends Struct { readonly v: u64; readonly r: H256; readonly s: H256; } /** @name EthTransactionStatus */ export interface EthTransactionStatus extends Struct { readonly transactionHash: H256; readonly transactionIndex: u32; readonly from: EthAddress; readonly to: Option<EthAddress>; readonly contractAddress: Option<EthAddress>; readonly logs: Vec<EthLog>; readonly logsBloom: EthBloom; } /** @name EthWork */ export interface EthWork extends Struct { readonly powHash: H256; readonly seedHash: H256; readonly target: H256; readonly number: Option<u64>; } /** @name LegacyTransaction */ export interface LegacyTransaction extends Struct { readonly nonce: U256; readonly gasPrice: U256; readonly gasLimit: U256; readonly action: EthTransactionAction; readonly value: U256; readonly input: Bytes; readonly signature: EthTransactionSignature; } /** @name TransactionV0 */ export interface TransactionV0 extends LegacyTransaction { } /** @name TransactionV1 */ export interface TransactionV1 extends Enum { readonly isLegacy: boolean; readonly asLegacy: LegacyTransaction; readonly isEip2930: boolean; readonly asEip2930: EIP2930Transaction; readonly type: 'Legacy' | 'Eip2930'; } /** @name TransactionV2 */ export interface TransactionV2 extends Enum { readonly isLegacy: boolean; readonly asLegacy: LegacyTransaction; readonly isEip2930: boolean; readonly asEip2930: EIP2930Transaction; readonly isEip1559: boolean; readonly asEip1559: EIP1559Transaction; readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } export type PHANTOM_ETH = 'eth';