import { TLong, TOrderType } from '../interface'; export interface ISignatureGenerator { getSignature(privateKey: string): Promise; getBytes(): Promise; getDebugBytes(): Promise>; getExactBytes(fieldName: string): Promise; } export interface ISignatureGeneratorConstructor { new(data: T): ISignatureGenerator; } export interface IDEFAULT_PROPS { senderPublicKey: string; timestamp: number | TLong; } export interface IISSUE_PROPS extends IDEFAULT_PROPS { name: string; description: string; quantity: TLong; precision: number; reissuable: boolean; script: string; fee: TLong; version: number; } export interface ITRANSFER_PROPS extends IDEFAULT_PROPS { assetId: string; feeAssetId: string; amount: TLong; fee: TLong; recipient: string; attachment: string; version: number; } export interface IREISSUE_PROPS extends IDEFAULT_PROPS { assetId: string; quantity: TLong; reissuable: boolean; fee: TLong; } export interface IREISSUE_PROPS_V2 extends IREISSUE_PROPS { chainId: number; } export interface IBURN_PROPS extends IDEFAULT_PROPS { assetId: string; quantity: TLong; fee: TLong; version: number; } export interface IBURN_PROPS_V2 extends IBURN_PROPS { chainId: number; } export interface ILEASE_PROPS extends IDEFAULT_PROPS { recipient: string; amount: TLong; fee: TLong; version: number; } export interface ICANCEL_LEASING_PROPS extends IDEFAULT_PROPS { fee: TLong; transactionId: string; version: number; } export interface ICANCEL_LEASING_PROPS_V2 extends ICANCEL_LEASING_PROPS { chainId: number; } export interface ICREATE_ALIAS_PROPS extends IDEFAULT_PROPS { alias: string; fee: TLong; version: number; } export interface IMASS_TRANSFER_PROPS extends IDEFAULT_PROPS { assetId: string; transfers: Array; fee: TLong; attachment: string; version: number; } export interface IDATA_PROPS extends IDEFAULT_PROPS { data: Array; fee: TLong; version: number; } export interface IORDER_PROPS extends IDEFAULT_PROPS { version?: number matcherPublicKey: string; amountAsset: string; priceAsset: string; orderType: TOrderType; price: TLong; amount: TLong; expiration: number; matcherFee: TLong; } export interface ICANCEL_ORDER_PROPS { senderPublicKey: string; orderId: string; } export interface IMASS_TRANSFER_TRANSFERS { recipient: string; amount: TLong; } export interface ISET_SCRIPT_PROPS extends IDEFAULT_PROPS { script: string; chainId: number; fee: TLong; } export interface ISET_ASSET_SCRIPT_PROPS extends IDEFAULT_PROPS { script: string; assetId: string; chainId: number; fee: TLong; } export interface ISPONSORSHIP_PROPS extends IDEFAULT_PROPS { assetId: string; minSponsoredAssetFee: TLong; fee: TLong; } export interface IEXCHANGE_PROPS extends IDEFAULT_PROPS { buyOrder: IORDER_PROPS; sellOrder: IORDER_PROPS; price: TLong; amount: TLong; buyMatcherFee: TLong; sellMatcherFee: TLong; fee: TLong; } export interface IEXCHANGE_PROPS_V2 extends IEXCHANGE_PROPS { version: number; } export interface IDATA_ENTRY { key: string; type: string; value: any; } export type TTX_NUMBER_MAP = { 3: ISignatureGeneratorConstructor; 4: ISignatureGeneratorConstructor; 5: ISignatureGeneratorConstructor; 6: ISignatureGeneratorConstructor; 7: ISignatureGeneratorConstructor; 8: ISignatureGeneratorConstructor; 9: ISignatureGeneratorConstructor; 10: ISignatureGeneratorConstructor; 11: ISignatureGeneratorConstructor; 12: ISignatureGeneratorConstructor; 13: ISignatureGeneratorConstructor; 14: ISignatureGeneratorConstructor; 15: ISignatureGeneratorConstructor; } export type TTX_TYPE_MAP = { issue: ISignatureGeneratorConstructor; transfer: ISignatureGeneratorConstructor; reissue: ISignatureGeneratorConstructor; burn: ISignatureGeneratorConstructor; exchange: ISignatureGeneratorConstructor; lease: ISignatureGeneratorConstructor; cancelLeasing: ISignatureGeneratorConstructor; createAlias: ISignatureGeneratorConstructor; massTransfer: ISignatureGeneratorConstructor; data: ISignatureGeneratorConstructor; setScript: ISignatureGeneratorConstructor; setAssetScript: ISignatureGeneratorConstructor; sponsorship: ISignatureGeneratorConstructor; }