import BigNumber from 'bignumber.js'; import { SKDB } from '../lib/ipfs/ipfs.interface'; import { CID } from 'multiformats/cid'; import { BlockHeaderData } from './block'; import { Address } from './address'; export interface transMeta { from: Transaction['from']; amount: Transaction['amount']; recipient: Transaction['recipient']; cu: Transaction['cu']; signature: string; payload?: Transaction['payload']; ts: number; } export interface TransactionOption { from: Address; accountNonce: BigNumber; cu: BigNumber; cuLimit: BigNumber; recipient: Address; amount: BigNumber; payload?: Transaction['payload']; ts: number; hash?: string; } export declare class Transaction { constructor(opt: TransactionOption); blockNumber: BlockHeaderData['number']; accountNonce: BigNumber; cu: BigNumber; cuLimit: BigNumber; from: Address; recipient: Address; amount: BigNumber; payload?: { mothed: 'constructor' | string; args: any[]; }; hash: string; ts: number; genHash: (db: SKDB) => Promise; static fromCid: (db: SKDB, cid: string) => Promise; /** * 将区块数据保存,落文件 */ commit: (db: SKDB, blockNumber: BigNumber) => Promise; }