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.
@@ -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: "getRoot",
26
+ key: "init",
31
27
  value: function () {
32
- var _getRoot = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
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
- return _context.a(2, this.root);
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 _callee2(key) {
92
+ var _get = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(key) {
64
93
  var keyS, node;
65
- return _regenerator().w(function (_context2) {
66
- while (1) switch (_context2.n) {
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 _context2.a(2, this.nodes[keyS]);
102
+ return _context3.a(2, this.nodes[keyS]);
74
103
  }
75
- }, _callee2, this);
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 _callee3(keys) {
114
+ var _multiGet = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(keys) {
86
115
  var promises, i;
87
- return _regenerator().w(function (_context3) {
88
- while (1) switch (_context3.n) {
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
- _context3.n = 1;
123
+ _context4.n = 1;
95
124
  return Promise.all(promises);
96
125
  case 1:
97
- return _context3.a(2, _context3.v);
126
+ return _context4.a(2, _context4.v);
98
127
  }
99
- }, _callee3, this);
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 _callee4(rt) {
110
- return _regenerator().w(function (_context4) {
111
- while (1) switch (_context4.n) {
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) this.kv.put("root", this.root);
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 _context4.a(2);
150
+ return _context5.a(2);
117
151
  }
118
- }, _callee4, this);
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 _callee5(inserts) {
162
+ var _multiIns = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(inserts) {
129
163
  var i, keyS;
130
- return _regenerator().w(function (_context5) {
131
- while (1) switch (_context5.n) {
164
+ return _regenerator().w(function (_context6) {
165
+ while (1) switch (_context6.n) {
132
166
  case 0:
133
- for (i = 0; i < inserts.length; i++) {
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
- return _context5.a(2);
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
- }, _callee5, this);
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 _callee6(dels) {
199
+ var _multiDel = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(dels) {
153
200
  var i, keyS;
154
- return _regenerator().w(function (_context6) {
155
- while (1) switch (_context6.n) {
201
+ return _regenerator().w(function (_context7) {
202
+ while (1) switch (_context7.n) {
156
203
  case 0:
157
- for (i = 0; i < dels.length; i++) {
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
- return _context6.a(2);
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
- }, _callee6, this);
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
- this.count++;
220
- if (this.kvi) this.kvi.put("count", this.count);
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);
@@ -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.getRoot();
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
@@ -81,7 +81,7 @@ export default class DBTree {
81
81
  await this.tree.insert(id, [root])
82
82
  if (id === this.count) {
83
83
  this.count++
84
- if (this.kvi) this.kvi.put("count", this.count)
84
+ if (this.kvi) await this.kvi.put("count", this.count)
85
85
  }
86
86
  return id
87
87
  }
@@ -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkjson",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Zero Knowledge Provable JSON",
5
5
  "exports": {
6
6
  ".": {