import CNode from "../core/node"; import { RBTree } from "bintrees"; import * as net from "net" export interface ContextTask { RestartGetNextNode?: number; LastTimeRestartGetNextNode?: number; time?: number; StartNum?: number Count?: number Time?: number Node?: CNode MapSend?: {} OK?: boolean } export interface LoadContext { Mode?: number; Node?: CNode; BlockNum?: number; BlockNumRest?: number; WasDelta?: number; BlockNumProof?: number; CountProof?: number; StartTimeHistory?: number; MaxTimeOut?: number; LoopSyncRest?: number; SendGetHeaderCount?: number; ReceiveHeaderCount?: number; Foward?: number; Pause?: number; DeltaBlockNum?: number; ArrProof?: any[]; MapSend?: any; BlockProof?: any; TxProof?: any; AccTaskList?: ContextTask[]; AccTaskFinished?: number; SmartTaskList?: ContextTask[]; SmartTaskFinished?: number; PrevBlockNum?: number; time?: number; FindCheckPoint?: boolean; WasLoadNum?: boolean; } export class TeraSocket extends net.Socket { ConnectToServer: boolean; Node: CNode; ConnectID: string; WasClose: number; SocketStatus: number; Buf: Buffer; SocketNum: number; SocketPrioritet: number; HashRND: Buffer; } export interface SocketSendInfo { TimeNum?: number; PacketNum?: number; Prioritet?: number; TypeData?: number; ContextID?: Buffer; NodeTime?: number; Length?: string; MethodTiming?: any; Node?: CNode; Method: string; Context?: any; Data?: any; Socket?: TeraSocket; } export interface TeraPOW { SumList?: any; MaxTree?: any; PowLocalHash?: Buffer; LocalAddrHash?: Buffer; LocalSeqHash?: Buffer; BlockNum?: number; SeqHash?: Buffer; AddrHash?: Buffer; PrevHash?: Buffer; TreeHash?: Buffer; Hash?: Buffer; PowHash?: Buffer; SumPow?: number; SumHash?: Buffer; } export interface TeraJobTx { GetCount?: number; WasSend?: boolean; Node?: CNode; TreeLevel?: any; SendCount?: any; TransferNodes?: TeraJobTx[]; Time?: number } export interface TeraBlock { Hash2?: Buffer; Hash1?: Buffer; MinerName?: string; Miner?: number; Num?: number; NodeNum?: number; TransferNodesCount?: number; StartMining?: boolean; Prepared?: boolean; LevelsTransfer?: TeraJobTx[]; Active?: boolean; CheckMaxSum?: boolean; CheckMaxPow?: boolean; PowTicketTree?: RBTree; PowTxTree?: RBTree EndExchangeTime?: number; JobListTX?: TeraJobTx[]; EndExchange?: boolean; MapSend?: any; MaxPOW?: TeraPOW; MaxSum?: TeraPOW; Send?: any; Info?: any; AddInfo?: any; FilePos?: number; VersionDB?: number; BlockNumber?: number; SumPow?: any; SumHash?: Buffer; arrContent?: any; arrContentResult?: any; VersionBody?: number; TrDataPos?: number; TrCount?: number; SeqHash?: Buffer; TreeHash?: Buffer; AddrHash?: Buffer; PrevHash?: Buffer; PowHash?: Buffer; Power?: number; Hash?: Buffer; Reserv500?: number; BlockNum?: number; TrDataLen?: number; bSave?: boolean; chain?: TeraChain Context?: { Block: TeraBlock } } export interface TeraTr { ToAll?: boolean; addrArr?: Buffer; nonce?: number; time?: number; Level?: any; NodesList?: CNode[]; SenderNum?: number; Prioritet?: number; HASH?: any; IsTx?: number; body?: any; HashPow?: Buffer; HashTicket?: number[]; num?: number; power?: number; TimePow?: number; TxID?: string; } export interface TeraChain { id?: number; arr?: any[]; CurNumArrLoad?: number; LoadDBFinaly?: boolean; AddToLoad?: boolean; BlockHead?: TeraChain; BlockDown?: TeraChain; Deleted?: boolean; ParentChain?: TeraChain; RootChain?: TeraChain; FindBlockDB?: boolean; StopSend?: boolean; IsSum?: boolean; Hash?: Buffer; BlockNum?: number; BlockNumStart?: number; WriteToDBAfterLoad?: boolean BodyLoad?: boolean AddInfo?(arg0: string); GetFindDB?(): any; GetRootChain?(): any; } export class TeraRBTree extends RBTree { LastAddNum: number }