zkjson 0.6.4 → 0.7.0

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.
Files changed (42) hide show
  1. package/cjs/circomlibjs.js +149 -0
  2. package/cjs/collection.js +196 -0
  3. package/cjs/db.js +731 -0
  4. package/cjs/doc.js +132 -0
  5. package/cjs/encoder-v1_5.js +1731 -0
  6. package/cjs/encoder.js +668 -0
  7. package/cjs/index.js +64 -0
  8. package/cjs/json.js +54 -0
  9. package/cjs/nft.js +165 -0
  10. package/cjs/parse.js +256 -0
  11. package/cjs/uint.js +580 -0
  12. package/{circomlibjs.js → esm/circomlibjs.js} +27 -35
  13. package/{collection.js → esm/collection.js} +4 -6
  14. package/{db.js → esm/db.js} +8 -10
  15. package/{doc.js → esm/doc.js} +7 -7
  16. package/{encoder-v1_5.js → esm/encoder-v1_5.js} +3 -3
  17. package/{encoder.js → esm/encoder.js} +2 -2
  18. package/esm/index.js +7 -0
  19. package/{json.js → esm/json.js} +2 -2
  20. package/{nft.js → esm/nft.js} +7 -7
  21. package/esm/package.json +3 -0
  22. package/{parse.js → esm/parse.js} +4 -4
  23. package/{uint.js → esm/uint.js} +1 -1
  24. package/package.json +21 -5
  25. package/index.js +0 -6
  26. /package/{contracts → esm/contracts}/NORollup.sol +0 -0
  27. /package/{contracts → esm/contracts}/OPRollup.sol +0 -0
  28. /package/{contracts → esm/contracts}/ZKIPFS.sol +0 -0
  29. /package/{contracts → esm/contracts}/ZKJson.sol +0 -0
  30. /package/{contracts → esm/contracts}/ZKQuery.sol +0 -0
  31. /package/{contracts → esm/contracts}/ZKRollup.sol +0 -0
  32. /package/{contracts → esm/contracts}/apps/SimpleJSON.sol +0 -0
  33. /package/{contracts → esm/contracts}/apps/SimpleOPRU.sol +0 -0
  34. /package/{contracts → esm/contracts}/apps/SimpleRU.sol +0 -0
  35. /package/{contracts → esm/contracts}/apps/Token.sol +0 -0
  36. /package/{contracts → esm/contracts}/apps/ZKArweave.sol +0 -0
  37. /package/{contracts → esm/contracts}/apps/ZKBridge.sol +0 -0
  38. /package/{contracts → esm/contracts}/apps/ZKNFT.sol +0 -0
  39. /package/{contracts → esm/contracts}/verifiers/verifier_db.sol +0 -0
  40. /package/{contracts → esm/contracts}/verifiers/verifier_ipfs.sol +0 -0
  41. /package/{contracts → esm/contracts}/verifiers/verifier_json.sol +0 -0
  42. /package/{contracts → esm/contracts}/verifiers/verifier_rollup.sol +0 -0
package/cjs/index.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ DB: true,
8
+ Doc: true,
9
+ Collection: true,
10
+ NFT: true
11
+ };
12
+ Object.defineProperty(exports, "Collection", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _collection["default"];
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "DB", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _db["default"];
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "Doc", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _doc["default"];
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "NFT", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _nft["default"];
34
+ }
35
+ });
36
+ var _db = _interopRequireDefault(require("./db.js"));
37
+ var _doc = _interopRequireDefault(require("./doc.js"));
38
+ var _collection = _interopRequireDefault(require("./collection.js"));
39
+ var _nft = _interopRequireDefault(require("./nft.js"));
40
+ var _encoder = require("./encoder.js");
41
+ Object.keys(_encoder).forEach(function (key) {
42
+ if (key === "default" || key === "__esModule") return;
43
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
44
+ if (key in exports && exports[key] === _encoder[key]) return;
45
+ Object.defineProperty(exports, key, {
46
+ enumerable: true,
47
+ get: function get() {
48
+ return _encoder[key];
49
+ }
50
+ });
51
+ });
52
+ var _parse = require("./parse.js");
53
+ Object.keys(_parse).forEach(function (key) {
54
+ if (key === "default" || key === "__esModule") return;
55
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
56
+ if (key in exports && exports[key] === _parse[key]) return;
57
+ Object.defineProperty(exports, key, {
58
+ enumerable: true,
59
+ get: function get() {
60
+ return _parse[key];
61
+ }
62
+ });
63
+ });
64
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
package/cjs/json.js ADDED
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _encoder = require("./encoder");
8
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ var Json = exports["default"] = /*#__PURE__*/function () {
19
+ function Json(_ref) {
20
+ var _ref$size_val = _ref.size_val,
21
+ size_val = _ref$size_val === void 0 ? 8 : _ref$size_val,
22
+ _ref$size_path = _ref.size_path,
23
+ size_path = _ref$size_path === void 0 ? 4 : _ref$size_path,
24
+ _ref$size_json = _ref.size_json,
25
+ size_json = _ref$size_json === void 0 ? 256 : _ref$size_json;
26
+ _classCallCheck(this, Json);
27
+ this.size_val = size_val;
28
+ this.size_path = size_path;
29
+ this.size_json = size_json;
30
+ }
31
+ return _createClass(Json, [{
32
+ key: "getInputs",
33
+ value: function () {
34
+ var _getInputs = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref2) {
35
+ var json, path, val;
36
+ return _regenerator().w(function (_context) {
37
+ while (1) switch (_context.n) {
38
+ case 0:
39
+ json = _ref2.json, path = _ref2.path, val = _ref2.val;
40
+ return _context.a(2, {
41
+ json: (0, _encoder.pad)((0, _encoder.toSignal)((0, _encoder.encode)(json)), this.size_json),
42
+ path: (0, _encoder.pad)((0, _encoder.toSignal)((0, _encoder.encodePath)(path)), this.size_path),
43
+ val: (0, _encoder.pad)((0, _encoder.toSignal)((0, _encoder.encodeVal)(val)), this.size_val)
44
+ });
45
+ }
46
+ }, _callee, this);
47
+ }));
48
+ function getInputs(_x) {
49
+ return _getInputs.apply(this, arguments);
50
+ }
51
+ return getInputs;
52
+ }()
53
+ }]);
54
+ }();
package/cjs/nft.js ADDED
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _crypto = _interopRequireDefault(require("crypto"));
8
+ var _snarkjs = require("snarkjs");
9
+ var _encoder = require("./encoder.js");
10
+ var _uint = require("./uint.js");
11
+ var _parse = require("./parse.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
15
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
16
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
17
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
23
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
24
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
25
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
26
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
28
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
+ function coerce(o) {
30
+ if (o instanceof Uint8Array && o.constructor.name === "Uint8Array") return o;
31
+ if (o instanceof ArrayBuffer) return new Uint8Array(o);
32
+ if (ArrayBuffer.isView(o)) {
33
+ return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);
34
+ }
35
+ throw new Error("Unknown type, must be binary type");
36
+ }
37
+ var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
38
+ var BASE = ALPHABET.length;
39
+ var LEADER = ALPHABET.charAt(0);
40
+ var FACTOR = Math.log(BASE) / Math.log(256);
41
+ var iFACTOR = Math.log(256) / Math.log(BASE);
42
+ function toCID(source) {
43
+ if (source instanceof Uint8Array) ;else if (ArrayBuffer.isView(source)) {
44
+ source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
45
+ } else if (Array.isArray(source)) {
46
+ source = Uint8Array.from(source);
47
+ }
48
+ if (!(source instanceof Uint8Array)) {
49
+ throw new TypeError("Expected Uint8Array");
50
+ }
51
+ if (source.length === 0) return "";
52
+ var zeroes = 0;
53
+ var length = 0;
54
+ var pbegin = 0;
55
+ var pend = source.length;
56
+ while (pbegin !== pend && source[pbegin] === 0) {
57
+ pbegin++;
58
+ zeroes++;
59
+ }
60
+ var size = (pend - pbegin) * iFACTOR + 1 >>> 0;
61
+ var b58 = new Uint8Array(size);
62
+ while (pbegin !== pend) {
63
+ var carry = source[pbegin];
64
+ var i = 0;
65
+ for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {
66
+ carry += 256 * b58[it1] >>> 0;
67
+ b58[it1] = carry % BASE >>> 0;
68
+ carry = carry / BASE >>> 0;
69
+ }
70
+ if (carry !== 0) {
71
+ throw new Error("Non-zero carry");
72
+ }
73
+ length = i;
74
+ pbegin++;
75
+ }
76
+ var it2 = size - length;
77
+ while (it2 !== size && b58[it2] === 0) {
78
+ it2++;
79
+ }
80
+ var str = LEADER.repeat(zeroes);
81
+ for (; it2 < size; ++it2) {
82
+ str += ALPHABET.charAt(b58[it2]);
83
+ }
84
+ return str;
85
+ }
86
+ var NFT = exports["default"] = /*#__PURE__*/function () {
87
+ function NFT(_ref) {
88
+ var _ref$size_val = _ref.size_val,
89
+ size_val = _ref$size_val === void 0 ? 34 : _ref$size_val,
90
+ _ref$size_path = _ref.size_path,
91
+ size_path = _ref$size_path === void 0 ? 5 : _ref$size_path,
92
+ _ref$size_json = _ref.size_json,
93
+ size_json = _ref$size_json === void 0 ? 256 : _ref$size_json,
94
+ wasm = _ref.wasm,
95
+ zkey = _ref.zkey,
96
+ json = _ref.json;
97
+ _classCallCheck(this, NFT);
98
+ this.json = json;
99
+ this.wasm = wasm;
100
+ this.zkey = zkey;
101
+ this.size_val = size_val;
102
+ this.size_path = size_path;
103
+ this.size_json = size_json;
104
+ }
105
+ return _createClass(NFT, [{
106
+ key: "path",
107
+ value: function path(pth) {
108
+ return (0, _encoder.pad)((0, _encoder.path)(pth), this.size_path);
109
+ }
110
+ }, {
111
+ key: "val",
112
+ value: function val(pth) {
113
+ return (0, _encoder.pad)((0, _encoder.val)(this.json[pth]), this.size_val);
114
+ }
115
+ }, {
116
+ key: "query",
117
+ value: function query(pth, cond) {
118
+ return (0, _encoder.pad)((0, _encoder.query)(cond), this.size_val);
119
+ }
120
+ }, {
121
+ key: "zkp",
122
+ value: function () {
123
+ var _zkp = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(pth, cond) {
124
+ var str, encoded, _i, _Array$from, v, enc, _path, _val, inputs, _yield$groth16$fullPr, proof, publicSignals;
125
+ return _regenerator().w(function (_context) {
126
+ while (1) switch (_context.n) {
127
+ case 0:
128
+ str = new TextEncoder().encode(JSON.stringify(this.json));
129
+ encoded = (0, _uint.arr)(256);
130
+ for (_i = 0, _Array$from = Array.from(str); _i < _Array$from.length; _i++) {
131
+ v = _Array$from[_i];
132
+ encoded = (0, _uint.push)(encoded, this.size_json, 76, v);
133
+ }
134
+ enc = (0, _parse.parse)(encoded, 256);
135
+ _path = this.path(pth);
136
+ _val = Array.isArray(cond) ? this.query(pth, cond) : this.val(pth);
137
+ inputs = {
138
+ path: _path,
139
+ val: _val,
140
+ encoded: encoded
141
+ };
142
+ _context.n = 1;
143
+ return _snarkjs.groth16.fullProve(inputs, this.wasm, this.zkey);
144
+ case 1:
145
+ _yield$groth16$fullPr = _context.v;
146
+ proof = _yield$groth16$fullPr.proof;
147
+ publicSignals = _yield$groth16$fullPr.publicSignals;
148
+ return _context.a(2, [].concat(_toConsumableArray(proof.pi_a.slice(0, 2)), _toConsumableArray(proof.pi_b[0].slice(0, 2).reverse()), _toConsumableArray(proof.pi_b[1].slice(0, 2).reverse()), _toConsumableArray(proof.pi_c.slice(0, 2)), _toConsumableArray(publicSignals)));
149
+ }
150
+ }, _callee, this);
151
+ }));
152
+ function zkp(_x, _x2) {
153
+ return _zkp.apply(this, arguments);
154
+ }
155
+ return zkp;
156
+ }()
157
+ }, {
158
+ key: "cid",
159
+ value: function cid() {
160
+ var str = new TextEncoder().encode(JSON.stringify(this.json));
161
+ var hash = coerce(_crypto["default"].createHash("sha256").update(str).digest());
162
+ return toCID(new Uint8Array([18, hash.length].concat(_toConsumableArray(Array.from(hash)))));
163
+ }
164
+ }]);
165
+ }();
package/cjs/parse.js ADDED
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parse = void 0;
7
+ var _uint = require("./uint.js");
8
+ var _null_ = [110, 117, 108, 108];
9
+ var _true_ = [116, 114, 117, 101];
10
+ var _false_ = [102, 97, 108, 115, 101];
11
+ function eql(a, b, blen, size) {
12
+ var alen = (0, _uint.length)(a, size);
13
+ if (alen != blen) return 0;
14
+ var c = [0, size, 0, 0, 0, 0, 0, 0, 0];
15
+ for (var i = 0; i < blen; i++) {
16
+ c = (0, _uint.next)(a, c);
17
+ if (c[0] != b[i]) return 0;
18
+ }
19
+ return 1;
20
+ }
21
+ var constVal = function constVal(_v, type, size) {
22
+ var digit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 9;
23
+ var val = (0, _uint.arr)(size);
24
+ val = (0, _uint.push)(val, size, digit, type);
25
+ if (type == 1) {
26
+ if (eql(_v, _true_, 4, size) == 1) {
27
+ val = (0, _uint.push)(val, size, digit, 1);
28
+ } else {
29
+ val = (0, _uint.push)(val, size, digit, 0);
30
+ }
31
+ } else if (type == 3) {
32
+ val = (0, _uint.push)(val, size, digit, (0, _uint.length)(_v, size));
33
+ var c = (0, _uint.bn)([0, size, 0, 0, 0, 0, 0, 0, 0]);
34
+ while (c[5] == 0) {
35
+ c = (0, _uint.next)(_v, c);
36
+ val = (0, _uint.push)(val, size, digit, c[0]);
37
+ }
38
+ } else if (type == 2) {
39
+ if ((0, _uint.get)(_v, size, 0) == 45) {
40
+ val = (0, _uint.push)(val, size, digit, 0);
41
+ } else {
42
+ val = (0, _uint.push)(val, size, digit, 1);
43
+ }
44
+ var after = 0n;
45
+ var right = 0n;
46
+ var digits = 0n;
47
+ var c = (0, _uint.bn)([0, size, 0, 0, 0, 0, 0, 0, 0]);
48
+ while (c[5] == 0) {
49
+ c = (0, _uint.next)(_v, c);
50
+ if (c[0] == 46) {
51
+ after = 1;
52
+ } else if (c[0] != 45) {
53
+ if (after == 1) right += 1n;
54
+ digits = digits * 10n + (c[0] - 48n);
55
+ }
56
+ }
57
+ val = (0, _uint.push)(val, size, digit, right);
58
+ val = (0, _uint.push)(val, size, digit, digits);
59
+ }
60
+ return val;
61
+ };
62
+ var constPath = function constPath(p, size) {
63
+ var digit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 9;
64
+ var pth2 = (0, _uint.arr)(size);
65
+ var len = (0, _uint.get)(p, size, 0);
66
+ pth2 = (0, _uint.push)(pth2, size, digit, len);
67
+ for (var i = 0n; i < len; i++) {
68
+ var len2 = (0, _uint.get)(p, size, i + 1n);
69
+ var _sum = (0, _uint.sum)(p, size, digit, 1, 1n + i);
70
+ var first = (0, _uint.get)(p, size, 1n + len + _sum);
71
+ if (first == 0) {
72
+ pth2 = (0, _uint.push)(pth2, size, digit, 0);
73
+ } else {
74
+ pth2 = (0, _uint.push)(pth2, size, digit, len2);
75
+ }
76
+ for (var i2 = 0n; i2 < len2; i2++) {
77
+ var v = (0, _uint.get)(p, size, 1n + len + _sum + i2);
78
+ pth2 = (0, _uint.push)(pth2, size, digit, v);
79
+ }
80
+ }
81
+ return pth2;
82
+ };
83
+ var isNumber = function isNumber(val, size, digit) {
84
+ var len = (0, _uint.length)(val, size);
85
+ var c = [0, size, 0, 0, 0, 0, 0, 0, 0];
86
+ while (c[5] == 0) {
87
+ c = (0, _uint.next)(val, c);
88
+ if (c[0] == 47 || c[0] < 45 || c[0] > 57) return 0;
89
+ }
90
+ return 1;
91
+ };
92
+ var parse = exports.parse = function parse(str) {
93
+ var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
94
+ var digit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 9;
95
+ str = (0, _uint.bn)(str);
96
+ var val = (0, _uint.arr)(size);
97
+ var inVal = 0;
98
+ var isNum = 0;
99
+ var esc = 0;
100
+ var nextKey = 0;
101
+ var arr = 0;
102
+ var obj = 0;
103
+ var path = (0, _uint.arr)(size);
104
+ var ao = (0, _uint.arr)(5);
105
+ var ind = (0, _uint.arr)(5);
106
+ var err = 0;
107
+ var json = (0, _uint.arr)(size);
108
+ var c = (0, _uint.bn)([0, size, 0, 0, 0, 0, 0, 0, 0]);
109
+ var bare = 1;
110
+ while (c[5] == 0) {
111
+ c = (0, _uint.next)(str, c);
112
+ var s = c[0];
113
+ if (inVal == 1) {
114
+ if (s == 92) {
115
+ esc = 1;
116
+ } else if (s == 34) {
117
+ if (esc == 1) {
118
+ val = (0, _uint.push)(val, size, digit, s);
119
+ } else {
120
+ inVal = 0;
121
+ if (nextKey == 1 && (0, _uint.last)(ao, 5) == 1) {
122
+ path = (0, _uint.pushArray)(path, size, digit, val, size);
123
+ } else {
124
+ if ((0, _uint.last)(ao, 5) == 2) {
125
+ var _ind = (0, _uint.last)(ind, 5);
126
+ var __ind = (0, _uint.arr)(size);
127
+ __ind = (0, _uint.push)(__ind, size, digit, 0);
128
+ __ind = (0, _uint.push)(__ind, size, digit, _ind);
129
+ path = (0, _uint.pushArray)(path, size, digit, __ind, size);
130
+ ind = (0, _uint.pop)(ind, 5);
131
+ ind = (0, _uint.push)(ind, 5, digit, _ind + 1n);
132
+ }
133
+ json = (0, _uint.concat)(json, (0, _uint.concat)(constPath(path, size, digit), constVal(val, 3, size, digit), size, digit), size, digit);
134
+ if (bare == 0) path = (0, _uint.popArray)(path, size, digit);
135
+ }
136
+ val = (0, _uint.arr)(size);
137
+ nextKey = 0;
138
+ }
139
+ esc = 0;
140
+ } else {
141
+ val = (0, _uint.push)(val, size, digit, s);
142
+ esc = 0;
143
+ }
144
+ } else if (isNum == 1) {
145
+ if (s == 44 || s == 32 || s == 125 || s == 93) {
146
+ if ((0, _uint.last)(ao, 5) == 2) {
147
+ var _ind = (0, _uint.last)(ind, 5);
148
+ var __ind = (0, _uint.arr)(size);
149
+ __ind = (0, _uint.push)(__ind, size, digit, 0);
150
+ __ind = (0, _uint.push)(__ind, size, digit, _ind);
151
+ path = (0, _uint.pushArray)(path, size, digit, __ind, size);
152
+ ind = (0, _uint.pop)(ind, 5);
153
+ ind = (0, _uint.push)(ind, 5, digit, _ind + 1n);
154
+ }
155
+ if (eql(val, _true_, 4, size) == 0 && eql(val, _false_, 5, size) == 0 && eql(val, _null_, 4, size) == 0 && isNumber(val, size, digit) == 0) {
156
+ err = 1;
157
+ }
158
+ var type = 2;
159
+ if (eql(val, _null_, 4, size) == 1) {
160
+ type = 0;
161
+ } else if (eql(val, _true_, 4, size) == 1 || eql(val, _false_, 5, size) == 1) {
162
+ type = 1;
163
+ }
164
+ json = (0, _uint.concat)(json, (0, _uint.concat)(constPath(path, size, digit), constVal(val, type, size, digit), size, digit), size, digit);
165
+ path = (0, _uint.popArray)(path, size, digit);
166
+ if (s == 93) {
167
+ if ((0, _uint.last)(ao, 5) != 2) err = 1;
168
+ ao = (0, _uint.pop)(ao, 5);
169
+ if (bare == 0) path = (0, _uint.popArray)(path, size, digit);
170
+ arr--;
171
+ ind = (0, _uint.pop)(ind, 5);
172
+ }
173
+ if (s == 125) {
174
+ if ((0, _uint.last)(ao, 5) != 1) err = 1;
175
+ ao = (0, _uint.pop)(ao, 5);
176
+ obj--;
177
+ }
178
+ isNum = 0;
179
+ val = (0, _uint.arr)(size);
180
+ if (s == 44) nextKey = 1;
181
+ } else {
182
+ val = (0, _uint.push)(val, size, digit, s);
183
+ }
184
+ } else if (s == 34) {
185
+ inVal = 1;
186
+ } else if (s != 123 && s != 58 && s != 32 && s != 44 && s != 91 && s != 93 && s != 125) {
187
+ isNum = 1;
188
+ val = (0, _uint.push)(val, size, digit, s);
189
+ } else {
190
+ if (s != 32) {
191
+ if (s == 123 || s == 44) {
192
+ bare = 0;
193
+ nextKey = 1;
194
+ }
195
+ if (s == 123) {
196
+ if ((0, _uint.last)(ao, 5) == 2) {
197
+ var _ind = (0, _uint.last)(ind, 5);
198
+ var __ind = (0, _uint.arr)(size);
199
+ __ind = (0, _uint.push)(__ind, size, digit, 0);
200
+ __ind = (0, _uint.push)(__ind, size, digit, _ind);
201
+ path = (0, _uint.pushArray)(path, size, digit, __ind, size);
202
+ ind = (0, _uint.pop)(ind, 5);
203
+ ind = (0, _uint.push)(ind, 5, digit, _ind + 1n);
204
+ }
205
+ ao = (0, _uint.push)(ao, 5, digit, 1);
206
+ obj++;
207
+ }
208
+ if (s == 125) {
209
+ if ((0, _uint.last)(ao, 5) != 1) err = 1;
210
+ ao = (0, _uint.pop)(ao, 5);
211
+ obj--;
212
+ }
213
+ if (s == 91) {
214
+ if ((0, _uint.last)(ao, 5) == 2) {
215
+ var _ind = (0, _uint.last)(ind, 5);
216
+ var __ind = (0, _uint.arr)(size);
217
+ __ind = (0, _uint.push)(__ind, size, digit, 0);
218
+ __ind = (0, _uint.push)(__ind, size, digit, _ind);
219
+ path = (0, _uint.pushArray)(path, size, digit, __ind, size);
220
+ ind = (0, _uint.pop)(ind, 5);
221
+ ind = (0, _uint.push)(ind, 5, digit, _ind + 1n);
222
+ }
223
+ ind = (0, _uint.push)(ind, 5, digit, 0);
224
+ ao = (0, _uint.push)(ao, 5, digit, 2);
225
+ arr++;
226
+ }
227
+ if (s == 93) {
228
+ if ((0, _uint.last)(ao, 5) != 2) err = 1;
229
+ ao = (0, _uint.pop)(ao, 5);
230
+ ind = (0, _uint.pop)(ind, 5);
231
+ path = (0, _uint.popArray)(path, size, digit);
232
+ arr--;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ if ((0, _uint.length)(val, size) != 0) {
238
+ var type = 4;
239
+ if (eql(val, _null_, 4, size) == 1) {
240
+ type = 0;
241
+ isNum = 0;
242
+ } else if (eql(val, _true_, 4, size) == 1 || eql(val, _false_, 5, size)) {
243
+ type = 1;
244
+ isNum = 0;
245
+ } else if (isNumber(val, size, digit) == 1) {
246
+ type = 2;
247
+ isNum = 0;
248
+ }
249
+ json = (0, _uint.concat)(json, (0, _uint.concat)(constPath(path, size, digit), constVal(val, type, size, digit), size, digit), size, digit);
250
+ }
251
+ if (ao.length > 0) err = 1;
252
+ if (ind.length > 0) err = 1;
253
+ if (inVal) err = 1;
254
+ if (isNum) err = 1;
255
+ return json;
256
+ };