66 lines
1.4 KiB
TypeScript
66 lines
1.4 KiB
TypeScript
import { Bytes32 } from "#types.js";
|
|
|
|
export type AddressHex = string;
|
|
export type HexString = string;
|
|
export type Bytes = string;
|
|
export type AccountResponse = GetProof;
|
|
export type CodeResponse = string;
|
|
export type AccessList = { address: AddressHex; storageKeys: Bytes32[] }[];
|
|
|
|
export interface RPCTx {
|
|
from?: string;
|
|
to?: string;
|
|
gas?: string;
|
|
gasPrice?: string;
|
|
maxFeePerGas?: string;
|
|
maxPriorityFeePerGas?: string;
|
|
accessList?: AccessList;
|
|
value?: string;
|
|
data?: string;
|
|
}
|
|
|
|
export type JSONRPCReceipt = {
|
|
transactionHash: string;
|
|
transactionIndex: string;
|
|
blockHash: string;
|
|
blockNumber: string;
|
|
from: string;
|
|
to: string | null;
|
|
cumulativeGasUsed: string;
|
|
effectiveGasPrice: string;
|
|
gasUsed: string;
|
|
contractAddress: string | null;
|
|
logs: JSONRPCLog[];
|
|
logsBloom: string;
|
|
|
|
root?: string;
|
|
status?: string;
|
|
};
|
|
|
|
export type JSONRPCLog = {
|
|
removed: boolean;
|
|
logIndex: string | null;
|
|
transactionIndex: string | null;
|
|
transactionHash: string | null;
|
|
blockHash: string | null;
|
|
blockNumber: string | null;
|
|
address: string;
|
|
data: string;
|
|
topics: string[];
|
|
};
|
|
export interface GetProof {
|
|
address: string;
|
|
balance: string;
|
|
codeHash: string;
|
|
nonce: string;
|
|
storageHash: string;
|
|
accountProof: string[];
|
|
storageProof: StorageProof[];
|
|
}
|
|
|
|
export interface StorageProof {
|
|
key: string;
|
|
value: string;
|
|
proof: string[];
|
|
}
|