import { SKDB } from '../lib/ipfs/ipfs.interface'; import { CID } from 'multiformats'; import BigNumber from 'bignumber.js'; import { Address } from './address'; interface AccountMeta { codeCid?: Account['codeCid']; owner?: Account['owner']; account: Account['account']; contribute: Account['contribute']; nonce: Account['nonce']; balance: Account['balance']; storageRoot: Account['storageRoot']; } export declare class Account { constructor(meta: AccountMeta); account: Address; nonce: BigNumber; contribute: BigNumber; private balance; storageRoot: CID; codeCid?: CID; owner?: string; /** * 用存储account 数据的 cid string生成一个account实例 * @param db * @param cid * @returns */ static fromCid: (db: SKDB, cid: string) => Promise; setNextNonce: () => void; /** * 获取当前账户余额 * @returns */ getBlance: () => BigNumber; /** * 支出余额 * @param amount * @returns */ minusBlance: (amount: BigNumber) => "dont have such amount to minus" | undefined; /** * 余额增加 * @param amount */ plusBlance: (amount: BigNumber, ts: string) => void; updateState: (cid: CID) => void; commit: (db: SKDB) => Promise; } export declare const newAccount: (did: string, storageRoot: CID, codeCid?: CID | undefined, owner?: string | undefined) => Account; export {};