66
77# Class: BinaryTree
88
9- Defined in: [ binaryTree.ts:34 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L34 )
9+ Defined in: [ binaryTree.ts:38 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L38 )
1010
1111The basic binary tree interface, use with ` import { BinaryTree } from '@ethereumjs/binarytree' ` .
1212
13+ A BinaryTree object can be created with the constructor method:
14+
15+ - [ createBinaryTree] ( ../functions/createBinaryTree.md )
16+
1317## Constructors
1418
1519### Constructor
1620
1721> ** new BinaryTree** (` opts ` ): ` BinaryTree `
1822
19- Defined in: [ binaryTree.ts:55 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L55 )
23+ Defined in: [ binaryTree.ts:59 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L59 )
2024
2125Creates a new binary tree.
2226
@@ -40,7 +44,7 @@ Note: in most cases, the static [createBinaryTree](../functions/createBinaryTree
4044
4145> ** EMPTY\_ TREE\_ ROOT** : ` Uint8Array `
4246
43- Defined in: [ binaryTree.ts:39 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L39 )
47+ Defined in: [ binaryTree.ts:43 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L43 )
4448
4549The root for an empty tree
4650
@@ -50,7 +54,7 @@ The root for an empty tree
5054
5155> ** checkpoint** (): ` void `
5256
53- Defined in: [ binaryTree.ts:648 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L648 )
57+ Defined in: [ binaryTree.ts:652 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L652 )
5458
5559Creates a checkpoint that can later be reverted to or committed.
5660After this is called, all changes can be reverted until ` commit ` is called.
@@ -65,7 +69,7 @@ After this is called, all changes can be reverted until `commit` is called.
6569
6670> ** checkRoot** (` root ` ): ` Promise ` \< ` boolean ` \>
6771
68- Defined in: [ binaryTree.ts:113 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L113 )
72+ Defined in: [ binaryTree.ts:117 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L117 )
6973
7074Checks if a given root exists.
7175
@@ -85,7 +89,7 @@ Checks if a given root exists.
8589
8690> ** commit** (): ` Promise ` \< ` void ` \>
8791
88- Defined in: [ binaryTree.ts:657 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L657 )
92+ Defined in: [ binaryTree.ts:661 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L661 )
8993
9094Commits a checkpoint to disk, if current checkpoint is not nested.
9195If nested, only sets the parent checkpoint as current checkpoint.
@@ -104,7 +108,7 @@ If not during a checkpoint phase
104108
105109> ** createBinaryProof** (` key ` ): ` Promise ` \< ` Uint8Array ` \< ` ArrayBufferLike ` \> [ ] \>
106110
107- Defined in: [ binaryTree.ts:581 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L581 )
111+ Defined in: [ binaryTree.ts:585 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L585 )
108112
109113Creates a proof from a tree and key that can be verified using BinaryTree.verifyBinaryProof.
110114
@@ -126,7 +130,7 @@ a 32 byte binary tree key (31 byte stem + 1 byte suffix)
126130
127131> ** createReadStream** (): ` any `
128132
129- Defined in: [ binaryTree.ts:599 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L599 )
133+ Defined in: [ binaryTree.ts:603 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L603 )
130134
131135The ` data ` event is given an ` Object ` that has two properties; the ` key ` and the ` value ` . Both should be Uint8Arrays.
132136
@@ -142,7 +146,7 @@ Returns a [stream](https://nodejs.org/dist/latest-v12.x/docs/api/stream.html#str
142146
143147> ** createRootNode** (): ` Promise ` \< ` void ` \>
144148
145- Defined in: [ binaryTree.ts:534 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L534 )
149+ Defined in: [ binaryTree.ts:538 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L538 )
146150
147151Create empty root node for initializing an empty tree.
148152
@@ -156,7 +160,7 @@ Create empty root node for initializing an empty tree.
156160
157161> ** del** (` stem ` , ` suffixes ` ): ` Promise ` \< ` void ` \>
158162
159- Defined in: [ binaryTree.ts:526 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L526 )
163+ Defined in: [ binaryTree.ts:530 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L530 )
160164
161165Deletes a given ` key ` from the tree.
162166
@@ -186,7 +190,7 @@ A Promise that resolves once the key is deleted.
186190
187191> ** findPath** (` keyInBytes ` ): ` Promise ` \< ` Path ` \>
188192
189- Defined in: [ binaryTree.ts:413 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L413 )
193+ Defined in: [ binaryTree.ts:417 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L417 )
190194
191195Tries to find a path to the node for the given key.
192196It returns a ` Path ` object containing:
@@ -214,7 +218,7 @@ A Promise that resolves to a Path object.
214218
215219> ** flushCheckpoints** (): ` void `
216220
217- Defined in: [ binaryTree.ts:687 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L687 )
221+ Defined in: [ binaryTree.ts:691 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L691 )
218222
219223Flushes all checkpoints, restoring the initial checkpoint state.
220224
@@ -226,9 +230,9 @@ Flushes all checkpoints, restoring the initial checkpoint state.
226230
227231### get()
228232
229- > ** get** (` stem ` , ` suffixes ` ): ` Promise ` \< (` null ` \| ` Uint8Array ` \< ` ArrayBufferLike ` \> )[ ] \>
233+ > ** get** (` stem ` , ` suffixes ` ): ` Promise ` \< (` Uint8Array ` \< ` ArrayBufferLike ` \> \| ` null ` )[ ] \>
230234
231- Defined in: [ binaryTree.ts:133 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L133 )
235+ Defined in: [ binaryTree.ts:137 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L137 )
232236
233237Gets values at a given binary tree ` stem ` and set of suffixes
234238
@@ -248,7 +252,7 @@ an array of suffixes corresponding to the values desired
248252
249253#### Returns
250254
251- ` Promise ` \< (` null ` \| ` Uint8Array ` \< ` ArrayBufferLike ` \> )[ ] \>
255+ ` Promise ` \< (` Uint8Array ` \< ` ArrayBufferLike ` \> \| ` null ` )[ ] \>
252256
253257A Promise that resolves to an array of ` Uint8Array ` s or ` null ` depending on if values were found.
254258If the stem is not found, will return an empty array.
@@ -259,7 +263,7 @@ If the stem is not found, will return an empty array.
259263
260264> ** hasCheckpoints** (): ` boolean `
261265
262- Defined in: [ binaryTree.ts:640 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L640 )
266+ Defined in: [ binaryTree.ts:644 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L644 )
263267
264268Is the tree during a checkpoint phase?
265269
@@ -273,7 +277,7 @@ Is the tree during a checkpoint phase?
273277
274278> ** persistRoot** (): ` Promise ` \< ` void ` \>
275279
276- Defined in: [ binaryTree.ts:631 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L631 )
280+ Defined in: [ binaryTree.ts:635 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L635 )
277281
278282Persists the root hash in the underlying database
279283
@@ -287,7 +291,7 @@ Persists the root hash in the underlying database
287291
288292> ** put** (` stem ` , ` suffixes ` , ` values ` ): ` Promise ` \< ` void ` \>
289293
290- Defined in: [ binaryTree.ts:163 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L163 )
294+ Defined in: [ binaryTree.ts:167 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L167 )
291295
292296Stores a given ` value ` at the given ` key ` or performs a deletion if ` value ` is null.
293297
@@ -307,7 +311,7 @@ array of suffixes at which to store individual values.
307311
308312##### values
309313
310- (` null ` \| ` Uint8Array ` \< ` ArrayBufferLike ` \> )[ ]
314+ (` Uint8Array ` \< ` ArrayBufferLike ` \> \| ` null ` )[ ]
311315
312316the value(s) to store (or null for deletion).
313317
@@ -323,7 +327,7 @@ A Promise that resolves once the value is stored.
323327
324328> ** revert** (): ` Promise ` \< ` void ` \>
325329
326- Defined in: [ binaryTree.ts:673 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L673 )
330+ Defined in: [ binaryTree.ts:677 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L677 )
327331
328332Reverts the tree to the state it was at when ` checkpoint ` was first called.
329333If during a nested checkpoint, sets root to most recent checkpoint, and sets
@@ -339,15 +343,15 @@ parent checkpoint as current.
339343
340344> ** root** (` value? ` ): ` Uint8Array `
341345
342- Defined in: [ binaryTree.ts:94 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L94 )
346+ Defined in: [ binaryTree.ts:98 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L98 )
343347
344348Gets and/or Sets the current root of the ` tree `
345349
346350#### Parameters
347351
348352##### value?
349353
350- ` null ` | ` Uint8Array ` \< ` ArrayBufferLike ` \>
354+ ` Uint8Array ` \< ` ArrayBufferLike ` \> | ` null `
351355
352356#### Returns
353357
@@ -359,15 +363,15 @@ Gets and/or Sets the current root of the `tree`
359363
360364> ** saveStack** (` putStack ` ): ` Promise ` \< ` void ` \>
361365
362- Defined in: [ binaryTree.ts:566 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L566 )
366+ Defined in: [ binaryTree.ts:570 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L570 )
363367
364368Saves a stack of nodes to the database.
365369
366370#### Parameters
367371
368372##### putStack
369373
370- \[ ` Uint8Array ` \< ` ArrayBufferLike ` \> , ` null ` \| [ ` BinaryNode ` ] ( ../type-aliases/BinaryNode.md ) \] [ ]
374+ \[ ` Uint8Array ` \< ` ArrayBufferLike ` \> , [ ` BinaryNode ` ] ( ../type-aliases/BinaryNode.md ) \| ` null ` \] [ ]
371375
372376an array of tuples of keys (the partial path of the node in the trie) and nodes (BinaryNodes)
373377
@@ -381,7 +385,7 @@ an array of tuples of keys (the partial path of the node in the trie) and nodes
381385
382386> ** shallowCopy** (` includeCheckpoints ` ): ` BinaryTree `
383387
384- Defined in: [ binaryTree.ts:615 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L615 )
388+ Defined in: [ binaryTree.ts:619 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L619 )
385389
386390Returns a copy of the underlying tree.
387391
@@ -408,9 +412,9 @@ If true and during a checkpoint, the copy will contain the checkpointing metadat
408412
409413### updateBranch()
410414
411- > ** updateBranch** (` stemNode ` , ` nearestNode ` , ` pathToNode ` , ` pathToParent ` ): ` undefined ` \| ` object ` [ ]
415+ > ** updateBranch** (` stemNode ` , ` nearestNode ` , ` pathToNode ` , ` pathToParent ` ): ` object ` [ ] \| ` undefined `
412416
413- Defined in: [ binaryTree.ts:349 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L349 )
417+ Defined in: [ binaryTree.ts:353 ] ( https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/binaryTree.ts#L353 )
414418
415419Helper method for updating or creating the parent internal node for a given stem node.
416420If the nearest node is a stem node with a different stem, a new internal node is created
@@ -443,7 +447,7 @@ The path (in bits) to `nearestNode` as known from the trie.
443447
444448#### Returns
445449
446- ` undefined ` \| ` object ` [ ]
450+ ` object ` [ ] \| ` undefined `
447451
448452An array of nodes and their partial paths from the new stem node to the branch parent node
449453 or ` undefined ` if no changes were made.
0 commit comments