198 lines
4.1 KiB
TypeScript
198 lines
4.1 KiB
TypeScript
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 {
|
|
NodeNum?: number;
|
|
TransferNodesCount?: number;
|
|
StartMining?: boolean;
|
|
Prepared?: boolean;
|
|
LevelsTransfer?: TeraJobTx[];
|
|
Active?: boolean;
|
|
CheckMaxSum?: boolean;
|
|
CheckMaxPow?: boolean;
|
|
PowTicketTree?: RBTree<TeraTr>;
|
|
PowTxTree?: RBTree<TeraTr>
|
|
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<T> extends RBTree<T> {
|
|
LastAddNum: number
|
|
} |