Socket
Socket
Sign inDemoInstall

@chainsafe/persistent-merkle-tree

Package Overview
Dependencies
Maintainers
5
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chainsafe/persistent-merkle-tree - npm Package Compare versions

Comparing version 0.3.4 to 0.3.5

13

CHANGELOG.md
# Changelog
## [v0.3.4](https://github.com/ChainSafe/persistent-merkle-tree/tree/v0.3.4) (2021-08-18)
## [v0.3.5](https://github.com/ChainSafe/persistent-merkle-tree/tree/v0.3.5) (2021-08-19)
[Full Changelog](https://github.com/ChainSafe/persistent-merkle-tree/compare/v0.3.3...v0.3.4)
[Full Changelog](https://github.com/ChainSafe/persistent-merkle-tree/compare/v0.3.4...v0.3.5)
**Merged pull requests:**
- Bump yargs-parser from 13.1.1 to 13.1.2 [\#57](https://github.com/ChainSafe/persistent-merkle-tree/pull/57) (@dependabot[bot])
- Bump path-parse from 1.0.6 to 1.0.7 [\#56](https://github.com/ChainSafe/persistent-merkle-tree/pull/56) (@dependabot[bot])
- Bump glob-parent from 5.1.0 to 5.1.2 [\#44](https://github.com/ChainSafe/persistent-merkle-tree/pull/44) (@dependabot[bot])
- Bump lodash from 4.17.19 to 4.17.21 [\#43](https://github.com/ChainSafe/persistent-merkle-tree/pull/43) (@dependabot[bot])
- Bump hosted-git-info from 2.8.5 to 2.8.9 [\#38](https://github.com/ChainSafe/persistent-merkle-tree/pull/38) (@dependabot[bot])
- Bump handlebars from 4.5.3 to 4.7.7 [\#36](https://github.com/ChainSafe/persistent-merkle-tree/pull/36) (@dependabot[bot])

1

lib/hash.d.ts

@@ -12,1 +12,2 @@ import { HashObject } from "@chainsafe/as-sha256";

export declare function uint8ArrayToHashObject(byteArr: Uint8Array): HashObject;
export declare function isHashObject(hash: HashObject | Uint8Array): hash is HashObject;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.uint8ArrayToHashObject = exports.hashObjectToUint8Array = exports.hashTwoObjects = exports.hash = void 0;
exports.isHashObject = exports.uint8ArrayToHashObject = exports.hashObjectToUint8Array = exports.hashTwoObjects = exports.hash = void 0;
const as_sha256_1 = require("@chainsafe/as-sha256");

@@ -32,1 +32,6 @@ const input = new Uint8Array(64);

exports.uint8ArrayToHashObject = uint8ArrayToHashObject;
function isHashObject(hash) {
// @ts-ignore
return hash.length === undefined;
}
exports.isHashObject = isHashObject;

@@ -33,3 +33,3 @@ import { HashObject } from "@chainsafe/as-sha256";

export declare class LeafNode extends Node {
constructor(_root: Uint8Array);
constructor(_root: Uint8Array | HashObject);
get rootHashObject(): HashObject;

@@ -36,0 +36,0 @@ get root(): Uint8Array;

@@ -67,5 +67,10 @@ "use strict";

super();
if (_root.length !== 32)
throw new Error(ERR_INVALID_TREE);
this.applyHash(hash_1.uint8ArrayToHashObject(_root));
if (hash_1.isHashObject(_root)) {
this.applyHash(_root);
}
else {
if (_root.length !== 32)
throw new Error(ERR_INVALID_TREE);
this.applyHash(hash_1.uint8ArrayToHashObject(_root));
}
}

@@ -72,0 +77,0 @@ get rootHashObject() {

import { Gindex, GindexBitstring } from "./gindex";
import { Node } from "./node";
import { HashObject } from "@chainsafe/as-sha256";
import { Proof, ProofInput } from "./proof";

@@ -16,4 +17,6 @@ export declare type Hook = (v: Tree) => void;

getRoot(index: Gindex | GindexBitstring): Uint8Array;
getHashObject(index: Gindex | GindexBitstring): HashObject;
setRoot(index: Gindex | GindexBitstring, root: Uint8Array, expand?: boolean): void;
getSubtree(index: Gindex | GindexBitstring): Tree;
setHashObject(index: Gindex | GindexBitstring, hashObject: HashObject, expand?: boolean): void;
getSubtree(index: Gindex): Tree;
setSubtree(index: Gindex | GindexBitstring, v: Tree, expand?: boolean): void;

@@ -20,0 +23,0 @@ clone(): Tree;

@@ -123,5 +123,11 @@ "use strict";

}
getHashObject(index) {
return this.getNode(index);
}
setRoot(index, root, expand = false) {
this.setNode(index, new node_1.LeafNode(root), expand);
}
setHashObject(index, hashObject, expand = false) {
this.setNode(index, new node_1.LeafNode(hashObject), expand);
}
getSubtree(index) {

@@ -128,0 +134,0 @@ return new Tree(this.getNode(index), (v) => this.setNode(index, v.rootNode));

{
"name": "@chainsafe/persistent-merkle-tree",
"version": "0.3.4",
"version": "0.3.5",
"description": "Merkle tree implemented as a persistent datastructure",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc