UNPKG

1.68 kBTypeScriptView Raw
1/// <reference types="node" />
2export declare type TrieNode = BranchNode | ExtensionNode | LeafNode;
3export declare type Nibbles = number[];
4export declare type EmbeddedNode = Buffer | Buffer[];
5export declare class BranchNode {
6 _branches: (EmbeddedNode | null)[];
7 _value: Buffer | null;
8 constructor();
9 static fromArray(arr: Buffer[]): BranchNode;
10 get value(): Buffer | null;
11 set value(v: Buffer | null);
12 setBranch(i: number, v: EmbeddedNode | null): void;
13 raw(): (EmbeddedNode | null)[];
14 serialize(): Buffer;
15 hash(): Buffer;
16 getBranch(i: number): EmbeddedNode | null;
17 getChildren(): [number, EmbeddedNode][];
18}
19export declare class ExtensionNode {
20 _nibbles: Nibbles;
21 _value: Buffer;
22 constructor(nibbles: Nibbles, value: Buffer);
23 static encodeKey(key: Nibbles): Nibbles;
24 static decodeKey(key: Nibbles): Nibbles;
25 get key(): Nibbles;
26 set key(k: Nibbles);
27 get value(): Buffer;
28 set value(v: Buffer);
29 encodedKey(): Nibbles;
30 raw(): [Buffer, Buffer];
31 serialize(): Buffer;
32 hash(): Buffer;
33}
34export declare class LeafNode {
35 _nibbles: Nibbles;
36 _value: Buffer;
37 constructor(nibbles: Nibbles, value: Buffer);
38 static encodeKey(key: Nibbles): Nibbles;
39 static decodeKey(encodedKey: Nibbles): Nibbles;
40 get key(): Nibbles;
41 set key(k: Nibbles);
42 get value(): Buffer;
43 set value(v: Buffer);
44 encodedKey(): Nibbles;
45 raw(): [Buffer, Buffer];
46 serialize(): Buffer;
47 hash(): Buffer;
48}
49export declare function decodeRawNode(raw: Buffer[]): TrieNode;
50export declare function decodeNode(raw: Buffer): TrieNode;
51export declare function isRawNode(n: any): boolean;