import { PublicAddress } from "./ed_keys"; import { Sha256Hash } from "../hash/sha256hash"; import { Signature } from "./signature"; import { ExitStatus, TypeCtorParams, u64 } from "../constants"; import { Keypair } from "../cryptography"; import { Command } from "./transaction_commands"; import { Serializable } from "../serde/serializable"; export declare class Transaction extends Serializable { signer: PublicAddress; nonce: u64 | number; commands: Command[]; gas_limit: u64 | number; max_base_fee_per_gas: u64 | number; priority_fee_per_gas: u64 | number; signature: Signature; hash: Sha256Hash; constructor({ signer, nonce, commands, hash, signature, gas_limit, // default to cover a basic Transfer transaction priority_fee_per_gas, max_base_fee_per_gas, }: { signer: PublicAddress; nonce: u64 | number; commands: Command[]; hash?: Sha256Hash; signature?: Signature; gas_limit?: u64 | number; max_base_fee_per_gas?: u64 | number; priority_fee_per_gas?: u64 | number; }); toSignedTx(keypair: Keypair): Promise; } export declare class SignedTx extends Transaction { constructor(transactionParams: TypeCtorParams); verifySignature(keypair: Keypair): Promise; } export declare class Receipt extends Serializable { command_receipts: CommandReceipt[]; constructor({ command_receipts }: TypeCtorParams); } export declare class CommandReceipt extends Serializable { exit_status: ExitStatus; gas_used: u64; return_values: Uint8Array; logs: Log[]; constructor({ exit_status, gas_used, return_values, logs, }: TypeCtorParams); } export declare class Log extends Serializable { topic: Uint8Array; value: Uint8Array; constructor({ topic, value }: TypeCtorParams); }