import BigNumber from 'bignumber.js'; import { BufferComposer, ComposableBuffer } from '@muirglacier/jellyfish-buffer'; import { Script, Transaction, TransactionSegWit, Vin, Vout, Witness, WitnessScript } from './tx'; import { OPCode } from './script'; /** * USE CTransaction AT YOUR OWN RISK. * The TransactionBuilder has safety logic built-in to prevent overspent, CTransaction is its raw counter part. * * Composable Transaction, C stands for Composable. * Immutable by design, it implements the Transaction interface for convenience. * Bi-directional fromBuffer, toBuffer deep composer. */ export declare class CTransaction extends ComposableBuffer implements Transaction { get version(): number; get vin(): Vin[]; get vout(): Vout[]; get lockTime(): number; composers(tx: Transaction): BufferComposer[]; /** * TransactionId is the double SHA256 of transaction buffer. * TxId are usually presented in BE order, this method return TxId in BE order. * * @return string transaction id */ get txId(): string; } /** * Composable Vin, C stands for Composable. * Immutable by design, it implements the Vin interface for convenience. * Bi-directional fromBuffer, toBuffer deep composer. */ export declare class CVin extends ComposableBuffer implements Vin { /** * 32 bytes, 64 in hex */ get txid(): string; get index(): number; get script(): Script; get sequence(): number; composers(vin: Vin): BufferComposer[]; } /** * Composable Vout, C stands for Composable. * Immutable by design, it implements the Vout interface for convenience. * Bi-directional fromBuffer, toBuffer deep composer. * * This is Transaction V2 buffer composition */ export declare class CVoutV2 extends ComposableBuffer implements Vout { get value(): BigNumber; get script(): Script; get tokenId(): number; composers(vout: Vout): BufferComposer[]; } /** * Composable Vout, C stands for Composable. * Immutable by design, it implements the Vout interface for convenience. * Bi-directional fromBuffer, toBuffer deep composer. * * This is Transaction V4 buffer composition */ export declare class CVoutV4 extends ComposableBuffer implements Vout { get value(): BigNumber; get script(): Script; get tokenId(): number; composers(vout: Vout): BufferComposer[]; } /** * Composable Script, C stands for Composable. * Immutable by design, it implements the Script interface for convenience. * Bi-directional fromBuffer, toBuffer deep composer. * * This wraps the OPCode built in composer. */ export declare class CScript extends ComposableBuffer