zkjson 0.8.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/circomlibjs/SMTMemDb.js +105 -45
- package/cjs/db_tree.js +11 -3
- package/cjs/newMemEmptyTrie.js +4 -1
- package/esm/circomlibjs/SMTMemDb.js +7 -6
- package/esm/db_tree.js +1 -1
- package/esm/newMemEmptyTrie.js +1 -0
- package/package.json +1 -1
@@ -20,23 +20,52 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
20
20
|
this.kv = kv;
|
21
21
|
this.nodes = {};
|
22
22
|
this.root = F.zero;
|
23
|
-
if (this.kv) {
|
24
|
-
var root = this.kv.get("root");
|
25
|
-
if (root) this.root = root;else this.kv.put("root", this.root);
|
26
|
-
}
|
27
23
|
this.F = F;
|
28
24
|
}
|
29
25
|
return _createClass(SMTMemDb, [{
|
30
|
-
key: "
|
26
|
+
key: "init",
|
31
27
|
value: function () {
|
32
|
-
var
|
28
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
29
|
+
var root;
|
33
30
|
return _regenerator().w(function (_context) {
|
34
31
|
while (1) switch (_context.n) {
|
35
32
|
case 0:
|
36
|
-
|
33
|
+
if (!this.kv) {
|
34
|
+
_context.n = 2;
|
35
|
+
break;
|
36
|
+
}
|
37
|
+
root = this.kv.get("root");
|
38
|
+
if (!root) {
|
39
|
+
_context.n = 1;
|
40
|
+
break;
|
41
|
+
}
|
42
|
+
this.root = root;
|
43
|
+
_context.n = 2;
|
44
|
+
break;
|
45
|
+
case 1:
|
46
|
+
_context.n = 2;
|
47
|
+
return this.kv.put("root", this.root);
|
48
|
+
case 2:
|
49
|
+
return _context.a(2);
|
37
50
|
}
|
38
51
|
}, _callee, this);
|
39
52
|
}));
|
53
|
+
function init() {
|
54
|
+
return _init.apply(this, arguments);
|
55
|
+
}
|
56
|
+
return init;
|
57
|
+
}()
|
58
|
+
}, {
|
59
|
+
key: "getRoot",
|
60
|
+
value: function () {
|
61
|
+
var _getRoot = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
62
|
+
return _regenerator().w(function (_context2) {
|
63
|
+
while (1) switch (_context2.n) {
|
64
|
+
case 0:
|
65
|
+
return _context2.a(2, this.root);
|
66
|
+
}
|
67
|
+
}, _callee2, this);
|
68
|
+
}));
|
40
69
|
function getRoot() {
|
41
70
|
return _getRoot.apply(this, arguments);
|
42
71
|
}
|
@@ -60,19 +89,19 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
60
89
|
}, {
|
61
90
|
key: "get",
|
62
91
|
value: function () {
|
63
|
-
var _get = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
92
|
+
var _get = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(key) {
|
64
93
|
var keyS, node;
|
65
|
-
return _regenerator().w(function (
|
66
|
-
while (1) switch (
|
94
|
+
return _regenerator().w(function (_context3) {
|
95
|
+
while (1) switch (_context3.n) {
|
67
96
|
case 0:
|
68
97
|
keyS = this._key2str(key);
|
69
98
|
if (!this.nodes[keyS]) {
|
70
99
|
node = this.kv.get("node_".concat(keyS));
|
71
100
|
if (node) this.nodes[keyS] = node;
|
72
101
|
}
|
73
|
-
return
|
102
|
+
return _context3.a(2, this.nodes[keyS]);
|
74
103
|
}
|
75
|
-
},
|
104
|
+
}, _callee3, this);
|
76
105
|
}));
|
77
106
|
function get(_x) {
|
78
107
|
return _get.apply(this, arguments);
|
@@ -82,21 +111,21 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
82
111
|
}, {
|
83
112
|
key: "multiGet",
|
84
113
|
value: function () {
|
85
|
-
var _multiGet = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
114
|
+
var _multiGet = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(keys) {
|
86
115
|
var promises, i;
|
87
|
-
return _regenerator().w(function (
|
88
|
-
while (1) switch (
|
116
|
+
return _regenerator().w(function (_context4) {
|
117
|
+
while (1) switch (_context4.n) {
|
89
118
|
case 0:
|
90
119
|
promises = [];
|
91
120
|
for (i = 0; i < keys.length; i++) {
|
92
121
|
promises.push(this.get(keys[i]));
|
93
122
|
}
|
94
|
-
|
123
|
+
_context4.n = 1;
|
95
124
|
return Promise.all(promises);
|
96
125
|
case 1:
|
97
|
-
return
|
126
|
+
return _context4.a(2, _context4.v);
|
98
127
|
}
|
99
|
-
},
|
128
|
+
}, _callee4, this);
|
100
129
|
}));
|
101
130
|
function multiGet(_x2) {
|
102
131
|
return _multiGet.apply(this, arguments);
|
@@ -106,16 +135,21 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
106
135
|
}, {
|
107
136
|
key: "setRoot",
|
108
137
|
value: function () {
|
109
|
-
var _setRoot = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
110
|
-
return _regenerator().w(function (
|
111
|
-
while (1) switch (
|
138
|
+
var _setRoot = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(rt) {
|
139
|
+
return _regenerator().w(function (_context5) {
|
140
|
+
while (1) switch (_context5.n) {
|
112
141
|
case 0:
|
113
142
|
this.root = rt;
|
114
|
-
if (this.kv)
|
143
|
+
if (!this.kv) {
|
144
|
+
_context5.n = 1;
|
145
|
+
break;
|
146
|
+
}
|
147
|
+
_context5.n = 1;
|
148
|
+
return this.kv.put("root", this.root);
|
115
149
|
case 1:
|
116
|
-
return
|
150
|
+
return _context5.a(2);
|
117
151
|
}
|
118
|
-
},
|
152
|
+
}, _callee5, this);
|
119
153
|
}));
|
120
154
|
function setRoot(_x3) {
|
121
155
|
return _setRoot.apply(this, arguments);
|
@@ -125,21 +159,34 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
125
159
|
}, {
|
126
160
|
key: "multiIns",
|
127
161
|
value: function () {
|
128
|
-
var _multiIns = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
162
|
+
var _multiIns = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(inserts) {
|
129
163
|
var i, keyS;
|
130
|
-
return _regenerator().w(function (
|
131
|
-
while (1) switch (
|
164
|
+
return _regenerator().w(function (_context6) {
|
165
|
+
while (1) switch (_context6.n) {
|
132
166
|
case 0:
|
133
|
-
|
134
|
-
keyS = this._key2str(inserts[i][0]);
|
135
|
-
this._normalize(inserts[i][1]);
|
136
|
-
this.nodes[keyS] = inserts[i][1];
|
137
|
-
if (this.kv) this.kv.put("node_".concat(keyS), this.nodes[keyS]);
|
138
|
-
}
|
167
|
+
i = 0;
|
139
168
|
case 1:
|
140
|
-
|
169
|
+
if (!(i < inserts.length)) {
|
170
|
+
_context6.n = 3;
|
171
|
+
break;
|
172
|
+
}
|
173
|
+
keyS = this._key2str(inserts[i][0]);
|
174
|
+
this._normalize(inserts[i][1]);
|
175
|
+
this.nodes[keyS] = inserts[i][1];
|
176
|
+
if (!this.kv) {
|
177
|
+
_context6.n = 2;
|
178
|
+
break;
|
179
|
+
}
|
180
|
+
_context6.n = 2;
|
181
|
+
return this.kv.put("node_".concat(keyS), this.nodes[keyS]);
|
182
|
+
case 2:
|
183
|
+
i++;
|
184
|
+
_context6.n = 1;
|
185
|
+
break;
|
186
|
+
case 3:
|
187
|
+
return _context6.a(2);
|
141
188
|
}
|
142
|
-
},
|
189
|
+
}, _callee6, this);
|
143
190
|
}));
|
144
191
|
function multiIns(_x4) {
|
145
192
|
return _multiIns.apply(this, arguments);
|
@@ -149,20 +196,33 @@ var SMTMemDb = exports["default"] = /*#__PURE__*/function () {
|
|
149
196
|
}, {
|
150
197
|
key: "multiDel",
|
151
198
|
value: function () {
|
152
|
-
var _multiDel = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
199
|
+
var _multiDel = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(dels) {
|
153
200
|
var i, keyS;
|
154
|
-
return _regenerator().w(function (
|
155
|
-
while (1) switch (
|
201
|
+
return _regenerator().w(function (_context7) {
|
202
|
+
while (1) switch (_context7.n) {
|
156
203
|
case 0:
|
157
|
-
|
158
|
-
keyS = this._key2str(dels[i]);
|
159
|
-
delete this.nodes[keyS];
|
160
|
-
if (this.kv) this.kv.del("node_".concat(keyS));
|
161
|
-
}
|
204
|
+
i = 0;
|
162
205
|
case 1:
|
163
|
-
|
206
|
+
if (!(i < dels.length)) {
|
207
|
+
_context7.n = 3;
|
208
|
+
break;
|
209
|
+
}
|
210
|
+
keyS = this._key2str(dels[i]);
|
211
|
+
delete this.nodes[keyS];
|
212
|
+
if (!this.kv) {
|
213
|
+
_context7.n = 2;
|
214
|
+
break;
|
215
|
+
}
|
216
|
+
_context7.n = 2;
|
217
|
+
return this.kv.del("node_".concat(keyS));
|
218
|
+
case 2:
|
219
|
+
i++;
|
220
|
+
_context7.n = 1;
|
221
|
+
break;
|
222
|
+
case 3:
|
223
|
+
return _context7.a(2);
|
164
224
|
}
|
165
|
-
},
|
225
|
+
}, _callee7, this);
|
166
226
|
}));
|
167
227
|
function multiDel(_x5) {
|
168
228
|
return _multiDel.apply(this, arguments);
|
package/cjs/db_tree.js
CHANGED
@@ -215,10 +215,18 @@ var DBTree = exports["default"] = /*#__PURE__*/function () {
|
|
215
215
|
_context4.n = 9;
|
216
216
|
return this.tree.insert(id, [root]);
|
217
217
|
case 9:
|
218
|
-
if (id === this.count) {
|
219
|
-
|
220
|
-
|
218
|
+
if (!(id === this.count)) {
|
219
|
+
_context4.n = 10;
|
220
|
+
break;
|
221
|
+
}
|
222
|
+
this.count++;
|
223
|
+
if (!this.kvi) {
|
224
|
+
_context4.n = 10;
|
225
|
+
break;
|
221
226
|
}
|
227
|
+
_context4.n = 10;
|
228
|
+
return this.kvi.put("count", this.count);
|
229
|
+
case 10:
|
222
230
|
return _context4.a(2, id);
|
223
231
|
}
|
224
232
|
}, _callee4, this);
|
package/cjs/newMemEmptyTrie.js
CHANGED
@@ -30,8 +30,11 @@ function _newMemEmptyTrie() {
|
|
30
30
|
F = _yield$getHashes.F;
|
31
31
|
db = new _SMTMemDb["default"](F, kv);
|
32
32
|
_context.n = 2;
|
33
|
-
return db.
|
33
|
+
return db.init();
|
34
34
|
case 2:
|
35
|
+
_context.n = 3;
|
36
|
+
return db.getRoot();
|
37
|
+
case 3:
|
35
38
|
rt = _context.v;
|
36
39
|
smt = new _SMT["default"](db, rt, hash0, hash1, F);
|
37
40
|
return _context.a(2, smt);
|
@@ -3,14 +3,15 @@ export default class SMTMemDb {
|
|
3
3
|
this.kv = kv
|
4
4
|
this.nodes = {}
|
5
5
|
this.root = F.zero
|
6
|
+
this.F = F
|
7
|
+
}
|
8
|
+
async init() {
|
6
9
|
if (this.kv) {
|
7
10
|
const root = this.kv.get("root")
|
8
11
|
if (root) this.root = root
|
9
|
-
else this.kv.put("root", this.root)
|
12
|
+
else await this.kv.put("root", this.root)
|
10
13
|
}
|
11
|
-
this.F = F
|
12
14
|
}
|
13
|
-
|
14
15
|
async getRoot() {
|
15
16
|
return this.root
|
16
17
|
}
|
@@ -47,7 +48,7 @@ export default class SMTMemDb {
|
|
47
48
|
|
48
49
|
async setRoot(rt) {
|
49
50
|
this.root = rt
|
50
|
-
if (this.kv) this.kv.put("root", this.root)
|
51
|
+
if (this.kv) await this.kv.put("root", this.root)
|
51
52
|
}
|
52
53
|
|
53
54
|
async multiIns(inserts) {
|
@@ -55,7 +56,7 @@ export default class SMTMemDb {
|
|
55
56
|
const keyS = this._key2str(inserts[i][0])
|
56
57
|
this._normalize(inserts[i][1])
|
57
58
|
this.nodes[keyS] = inserts[i][1]
|
58
|
-
if (this.kv) this.kv.put(`node_${keyS}`, this.nodes[keyS])
|
59
|
+
if (this.kv) await this.kv.put(`node_${keyS}`, this.nodes[keyS])
|
59
60
|
}
|
60
61
|
}
|
61
62
|
|
@@ -63,7 +64,7 @@ export default class SMTMemDb {
|
|
63
64
|
for (let i = 0; i < dels.length; i++) {
|
64
65
|
const keyS = this._key2str(dels[i])
|
65
66
|
delete this.nodes[keyS]
|
66
|
-
if (this.kv) this.kv.del(`node_${keyS}`)
|
67
|
+
if (this.kv) await this.kv.del(`node_${keyS}`)
|
67
68
|
}
|
68
69
|
}
|
69
70
|
}
|
package/esm/db_tree.js
CHANGED
package/esm/newMemEmptyTrie.js
CHANGED
@@ -5,6 +5,7 @@ import getHashes from "./circomlibjs/getHashes.js"
|
|
5
5
|
export default async function newMemEmptyTrie(kv) {
|
6
6
|
const { hash0, hash1, F } = await getHashes()
|
7
7
|
const db = new SMTMemDb(F, kv)
|
8
|
+
await db.init()
|
8
9
|
const rt = await db.getRoot()
|
9
10
|
const smt = new SMT(db, rt, hash0, hash1, F)
|
10
11
|
return smt
|