@airgap/icp 0.13.15-beta.1 → 0.13.15-beta.10

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 (93) hide show
  1. package/package.json +8 -6
  2. package/v1/block-explorer/ICPBlockExplorer.d.ts +1 -1
  3. package/v1/block-explorer/ICPBlockExplorer.js +16 -49
  4. package/v1/block-explorer/ICPBlockExplorer.js.map +1 -1
  5. package/v1/index.d.ts +3 -2
  6. package/v1/index.js +9 -5
  7. package/v1/index.js.map +1 -1
  8. package/v1/module/ICPModule.d.ts +2 -4
  9. package/v1/module/ICPModule.js +53 -94
  10. package/v1/module/ICPModule.js.map +1 -1
  11. package/v1/module.js +1 -1
  12. package/v1/module.js.map +1 -1
  13. package/v1/protocol/ICPGovernance.d.ts +39 -0
  14. package/v1/protocol/ICPGovernance.js +1177 -0
  15. package/v1/protocol/ICPGovernance.js.map +1 -0
  16. package/v1/protocol/ICPImplementation.d.ts +30 -5
  17. package/v1/protocol/ICPImplementation.js +317 -252
  18. package/v1/protocol/ICPImplementation.js.map +1 -1
  19. package/v1/protocol/ICPProtocol.d.ts +60 -8
  20. package/v1/protocol/ICPProtocol.js +765 -320
  21. package/v1/protocol/ICPProtocol.js.map +1 -1
  22. package/v1/protocol/icrc/CkBTCProtocol.js +138 -225
  23. package/v1/protocol/icrc/CkBTCProtocol.js.map +1 -1
  24. package/v1/protocol/icrc/ICRC1Protocol.d.ts +4 -4
  25. package/v1/protocol/icrc/ICRC1Protocol.js +338 -553
  26. package/v1/protocol/icrc/ICRC1Protocol.js.map +1 -1
  27. package/v1/serializer/v3/schemas/converter/transaction-converter.js +48 -5
  28. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
  29. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-icp.d.ts +8 -2
  30. package/v1/serializer/v3/schemas/generated/transaction-sign-request-icp.json +31 -1
  31. package/v1/serializer/v3/serializer-companion.js +85 -144
  32. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  33. package/v1/serializer/v3/validators/transaction-validator.js +22 -60
  34. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
  35. package/v1/serializer/v3/validators/validators.js +19 -58
  36. package/v1/serializer/v3/validators/validators.js.map +1 -1
  37. package/v1/types/governance.d.ts +29 -0
  38. package/v1/types/governance.js +279 -210
  39. package/v1/types/governance.js.map +1 -1
  40. package/v1/types/icrc/ledger.js +22 -23
  41. package/v1/types/icrc/ledger.js.map +1 -1
  42. package/v1/types/ledger.d.ts +1 -0
  43. package/v1/types/ledger.js +37 -38
  44. package/v1/types/ledger.js.map +1 -1
  45. package/v1/types/management_idl.js +6 -7
  46. package/v1/types/management_idl.js.map +1 -1
  47. package/v1/types/protocol.d.ts +2 -1
  48. package/v1/types/transaction.d.ts +22 -3
  49. package/v1/types/transaction.js +38 -0
  50. package/v1/types/transaction.js.map +1 -1
  51. package/v1/utils/account.js +42 -70
  52. package/v1/utils/account.js.map +1 -1
  53. package/v1/utils/actor.js +139 -322
  54. package/v1/utils/actor.js.map +1 -1
  55. package/v1/utils/auth.js +44 -134
  56. package/v1/utils/auth.js.map +1 -1
  57. package/v1/utils/bls.js +41 -109
  58. package/v1/utils/bls.js.map +1 -1
  59. package/v1/utils/buffer.js +47 -111
  60. package/v1/utils/buffer.js.map +1 -1
  61. package/v1/utils/cbor.js +50 -85
  62. package/v1/utils/cbor.js.map +1 -1
  63. package/v1/utils/certificate.js +116 -238
  64. package/v1/utils/certificate.js.map +1 -1
  65. package/v1/utils/convert.d.ts +1 -1
  66. package/v1/utils/convert.js +29 -49
  67. package/v1/utils/convert.js.map +1 -1
  68. package/v1/utils/der.js +37 -35
  69. package/v1/utils/der.js.map +1 -1
  70. package/v1/utils/errors.js +10 -30
  71. package/v1/utils/errors.js.map +1 -1
  72. package/v1/utils/hdkey.js +33 -33
  73. package/v1/utils/hdkey.js.map +1 -1
  74. package/v1/utils/http.d.ts +1 -1
  75. package/v1/utils/http.js +202 -426
  76. package/v1/utils/http.js.map +1 -1
  77. package/v1/utils/icrc1.js +24 -41
  78. package/v1/utils/icrc1.js.map +1 -1
  79. package/v1/utils/idl.js +780 -1159
  80. package/v1/utils/idl.js.map +1 -1
  81. package/v1/utils/json.d.ts +1 -0
  82. package/v1/utils/json.js +19 -0
  83. package/v1/utils/json.js.map +1 -0
  84. package/v1/utils/leb128.js +29 -30
  85. package/v1/utils/leb128.js.map +1 -1
  86. package/v1/utils/polling.js +84 -234
  87. package/v1/utils/polling.js.map +1 -1
  88. package/v1/utils/principal.js +78 -126
  89. package/v1/utils/principal.js.map +1 -1
  90. package/v1/utils/secp256k1.js +68 -134
  91. package/v1/utils/secp256k1.js.map +1 -1
  92. package/v1/utils/transaction.js +7 -7
  93. package/v1/utils/transaction.js.map +1 -1
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
3
  if (k2 === undefined) k2 = k;
19
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -46,104 +31,62 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
46
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
47
32
  });
48
33
  };
49
- var __generator = (this && this.__generator) || function (thisArg, body) {
50
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
- function verb(n) { return function (v) { return step([n, v]); }; }
53
- function step(op) {
54
- if (f) throw new TypeError("Generator is already executing.");
55
- while (_) try {
56
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
57
- if (y = 0, t) op = [op[0] & 2, t.value];
58
- switch (op[0]) {
59
- case 0: case 1: t = op; break;
60
- case 4: _.label++; return { value: op[1], done: false };
61
- case 5: _.label++; y = op[1]; op = [0]; continue;
62
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
- default:
64
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
- if (t[2]) _.ops.pop();
69
- _.trys.pop(); continue;
70
- }
71
- op = body.call(thisArg, _);
72
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
- }
75
- };
76
- var __values = (this && this.__values) || function(o) {
77
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
78
- if (m) return m.call(o);
79
- if (o && typeof o.length === "number") return {
80
- next: function () {
81
- if (o && i >= o.length) o = void 0;
82
- return { value: o && o[i++], done: !o };
83
- }
84
- };
85
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
86
- };
87
34
  Object.defineProperty(exports, "__esModule", { value: true });
88
35
  exports.lookup_path = exports.reconstruct = exports.Certificate = exports.hashTreeToString = exports.CertificateVerificationError = void 0;
89
- var auth_1 = require("./auth");
90
- var buffer_1 = require("./buffer");
91
- var principal_1 = require("./principal");
92
- var cbor = __importStar(require("./cbor"));
93
- var bls_1 = require("./bls");
94
- var errors_1 = require("./errors");
36
+ const auth_1 = require("./auth");
37
+ const buffer_1 = require("./buffer");
38
+ const principal_1 = require("./principal");
39
+ const cbor = __importStar(require("./cbor"));
40
+ const bls_1 = require("./bls");
41
+ const errors_1 = require("./errors");
95
42
  /**
96
43
  * A certificate may fail verification with respect to the provided public key
97
44
  */
98
- var CertificateVerificationError = /** @class */ (function (_super) {
99
- __extends(CertificateVerificationError, _super);
100
- function CertificateVerificationError(reason) {
101
- return _super.call(this, "Invalid certificate: ".concat(reason)) || this;
45
+ class CertificateVerificationError extends errors_1.AgentError {
46
+ constructor(reason) {
47
+ super(`Invalid certificate: ${reason}`);
102
48
  }
103
- return CertificateVerificationError;
104
- }(errors_1.AgentError));
49
+ }
105
50
  exports.CertificateVerificationError = CertificateVerificationError;
106
51
  /**
107
52
  * Make a human readable string out of a hash tree.
108
53
  * @param tree
109
54
  */
110
55
  function hashTreeToString(tree) {
111
- var indent = function (s) {
112
- return s
113
- .split('\n')
114
- .map(function (x) { return ' ' + x; })
115
- .join('\n');
116
- };
56
+ const indent = (s) => s
57
+ .split('\n')
58
+ .map((x) => ' ' + x)
59
+ .join('\n');
117
60
  function labelToString(label) {
118
- var decoder = new TextDecoder(undefined, { fatal: true });
61
+ const decoder = new TextDecoder(undefined, { fatal: true });
119
62
  try {
120
63
  return JSON.stringify(decoder.decode(label));
121
64
  }
122
65
  catch (e) {
123
- return "data(...".concat(label.byteLength, " bytes)");
66
+ return `data(...${label.byteLength} bytes)`;
124
67
  }
125
68
  }
126
69
  switch (tree[0]) {
127
70
  case 0 /* NodeId.Empty */:
128
71
  return '()';
129
72
  case 1 /* NodeId.Fork */: {
130
- var left = hashTreeToString(tree[1]);
131
- var right = hashTreeToString(tree[2]);
132
- return "sub(\n left:\n".concat(indent(left), "\n---\n right:\n").concat(indent(right), "\n)");
73
+ const left = hashTreeToString(tree[1]);
74
+ const right = hashTreeToString(tree[2]);
75
+ return `sub(\n left:\n${indent(left)}\n---\n right:\n${indent(right)}\n)`;
133
76
  }
134
77
  case 2 /* NodeId.Labeled */: {
135
- var label = labelToString(tree[1]);
136
- var sub = hashTreeToString(tree[2]);
137
- return "label(\n label:\n".concat(indent(label), "\n sub:\n").concat(indent(sub), "\n)");
78
+ const label = labelToString(tree[1]);
79
+ const sub = hashTreeToString(tree[2]);
80
+ return `label(\n label:\n${indent(label)}\n sub:\n${indent(sub)}\n)`;
138
81
  }
139
82
  case 3 /* NodeId.Leaf */: {
140
- return "leaf(...".concat(tree[1].byteLength, " bytes)");
83
+ return `leaf(...${tree[1].byteLength} bytes)`;
141
84
  }
142
85
  case 4 /* NodeId.Pruned */: {
143
- return "pruned(".concat((0, buffer_1.toHex)(new Uint8Array(tree[1])));
86
+ return `pruned(${(0, buffer_1.toHex)(new Uint8Array(tree[1]))}`;
144
87
  }
145
88
  default: {
146
- return "unknown(".concat(JSON.stringify(tree[0]), ")");
89
+ return `unknown(${JSON.stringify(tree[0])})`;
147
90
  }
148
91
  }
149
92
  }
@@ -152,17 +95,17 @@ function isBufferEqual(a, b) {
152
95
  if (a.byteLength !== b.byteLength) {
153
96
  return false;
154
97
  }
155
- var a8 = new Uint8Array(a);
156
- var b8 = new Uint8Array(b);
157
- for (var i = 0; i < a8.length; i++) {
98
+ const a8 = new Uint8Array(a);
99
+ const b8 = new Uint8Array(b);
100
+ for (let i = 0; i < a8.length; i++) {
158
101
  if (a8[i] !== b8[i]) {
159
102
  return false;
160
103
  }
161
104
  }
162
105
  return true;
163
106
  }
164
- var Certificate = /** @class */ (function () {
165
- function Certificate(certificate, _rootKey, _canisterId, _blsVerify) {
107
+ class Certificate {
108
+ constructor(certificate, _rootKey, _canisterId, _blsVerify) {
166
109
  this._rootKey = _rootKey;
167
110
  this._canisterId = _canisterId;
168
111
  this._blsVerify = _blsVerify;
@@ -179,112 +122,78 @@ var Certificate = /** @class */ (function () {
179
122
  * @param {Principal} options.canisterId The effective or signing canister ID
180
123
  * @throws {CertificateVerificationError}
181
124
  */
182
- Certificate.create = function (options) {
183
- return __awaiter(this, void 0, void 0, function () {
184
- var blsVerify, cert;
185
- return __generator(this, function (_a) {
186
- switch (_a.label) {
187
- case 0:
188
- blsVerify = options.blsVerify;
189
- if (!blsVerify) {
190
- blsVerify = bls_1.blsVerify;
191
- }
192
- cert = new Certificate(options.certificate, options.rootKey, options.canisterId, blsVerify);
193
- return [4 /*yield*/, cert.verify()];
194
- case 1:
195
- _a.sent();
196
- return [2 /*return*/, cert];
197
- }
198
- });
125
+ static create(options) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ let blsVerify = options.blsVerify;
128
+ if (!blsVerify) {
129
+ blsVerify = bls_1.blsVerify;
130
+ }
131
+ const cert = new Certificate(options.certificate, options.rootKey, options.canisterId, blsVerify);
132
+ yield cert.verify();
133
+ return cert;
199
134
  });
200
- };
201
- Certificate.prototype.lookup = function (path) {
135
+ }
136
+ lookup(path) {
202
137
  return lookup_path(path, this.cert.tree);
203
- };
204
- Certificate.prototype.verify = function () {
205
- return __awaiter(this, void 0, void 0, function () {
206
- var rootHash, derKey, sig, key, msg, sigVer, err_1;
207
- return __generator(this, function (_a) {
208
- switch (_a.label) {
209
- case 0: return [4 /*yield*/, reconstruct(this.cert.tree)];
210
- case 1:
211
- rootHash = _a.sent();
212
- return [4 /*yield*/, this._checkDelegationAndGetKey(this.cert.delegation)];
213
- case 2:
214
- derKey = _a.sent();
215
- sig = this.cert.signature;
216
- key = extractDER(derKey);
217
- msg = (0, buffer_1.concat)(domain_sep('ic-state-root'), rootHash);
218
- sigVer = false;
219
- _a.label = 3;
220
- case 3:
221
- _a.trys.push([3, 5, , 6]);
222
- return [4 /*yield*/, this._blsVerify(new Uint8Array(key), new Uint8Array(sig), new Uint8Array(msg))];
223
- case 4:
224
- sigVer = _a.sent();
225
- return [3 /*break*/, 6];
226
- case 5:
227
- err_1 = _a.sent();
228
- sigVer = false;
229
- return [3 /*break*/, 6];
230
- case 6:
231
- if (!sigVer) {
232
- throw new CertificateVerificationError('Signature verification failed');
233
- }
234
- return [2 /*return*/];
235
- }
236
- });
138
+ }
139
+ verify() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ const rootHash = yield reconstruct(this.cert.tree);
142
+ const derKey = yield this._checkDelegationAndGetKey(this.cert.delegation);
143
+ const sig = this.cert.signature;
144
+ const key = extractDER(derKey);
145
+ const msg = (0, buffer_1.concat)(domain_sep('ic-state-root'), rootHash);
146
+ let sigVer = false;
147
+ try {
148
+ sigVer = yield this._blsVerify(new Uint8Array(key), new Uint8Array(sig), new Uint8Array(msg));
149
+ }
150
+ catch (err) {
151
+ sigVer = false;
152
+ }
153
+ if (!sigVer) {
154
+ throw new CertificateVerificationError('Signature verification failed');
155
+ }
237
156
  });
238
- };
239
- Certificate.prototype._checkDelegationAndGetKey = function (d) {
240
- return __awaiter(this, void 0, void 0, function () {
241
- var cert, rangeLookup, ranges_arr, ranges, canisterInRange, publicKeyLookup;
242
- var _this = this;
243
- return __generator(this, function (_a) {
244
- switch (_a.label) {
245
- case 0:
246
- if (!d) {
247
- return [2 /*return*/, this._rootKey];
248
- }
249
- return [4 /*yield*/, Certificate.create({
250
- certificate: d.certificate,
251
- rootKey: this._rootKey,
252
- canisterId: this._canisterId
253
- })];
254
- case 1:
255
- cert = _a.sent();
256
- rangeLookup = cert.lookup(['subnet', d.subnet_id, 'canister_ranges']);
257
- if (!rangeLookup) {
258
- throw new CertificateVerificationError("Could not find canister ranges for subnet 0x".concat((0, buffer_1.toHex)(d.subnet_id)));
259
- }
260
- ranges_arr = cbor.decode(rangeLookup);
261
- ranges = ranges_arr.map(function (v) { return [principal_1.Principal.fromUint8Array(v[0]), principal_1.Principal.fromUint8Array(v[1])]; });
262
- canisterInRange = ranges.some(function (r) { return r[0].ltEq(_this._canisterId) && r[1].gtEq(_this._canisterId); });
263
- if (!canisterInRange) {
264
- throw new CertificateVerificationError("Canister ".concat(this._canisterId, " not in range of delegations for subnet 0x").concat((0, buffer_1.toHex)(d.subnet_id)));
265
- }
266
- publicKeyLookup = cert.lookup(['subnet', d.subnet_id, 'public_key']);
267
- if (!publicKeyLookup) {
268
- throw new Error("Could not find subnet key for subnet 0x".concat((0, buffer_1.toHex)(d.subnet_id)));
269
- }
270
- return [2 /*return*/, publicKeyLookup];
271
- }
157
+ }
158
+ _checkDelegationAndGetKey(d) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ if (!d) {
161
+ return this._rootKey;
162
+ }
163
+ const cert = yield Certificate.create({
164
+ certificate: d.certificate,
165
+ rootKey: this._rootKey,
166
+ canisterId: this._canisterId
272
167
  });
168
+ const rangeLookup = cert.lookup(['subnet', d.subnet_id, 'canister_ranges']);
169
+ if (!rangeLookup) {
170
+ throw new CertificateVerificationError(`Could not find canister ranges for subnet 0x${(0, buffer_1.toHex)(d.subnet_id)}`);
171
+ }
172
+ const ranges_arr = cbor.decode(rangeLookup);
173
+ const ranges = ranges_arr.map((v) => [principal_1.Principal.fromUint8Array(v[0]), principal_1.Principal.fromUint8Array(v[1])]);
174
+ const canisterInRange = ranges.some((r) => r[0].ltEq(this._canisterId) && r[1].gtEq(this._canisterId));
175
+ if (!canisterInRange) {
176
+ throw new CertificateVerificationError(`Canister ${this._canisterId} not in range of delegations for subnet 0x${(0, buffer_1.toHex)(d.subnet_id)}`);
177
+ }
178
+ const publicKeyLookup = cert.lookup(['subnet', d.subnet_id, 'public_key']);
179
+ if (!publicKeyLookup) {
180
+ throw new Error(`Could not find subnet key for subnet 0x${(0, buffer_1.toHex)(d.subnet_id)}`);
181
+ }
182
+ return publicKeyLookup;
273
183
  });
274
- };
275
- return Certificate;
276
- }());
184
+ }
185
+ }
277
186
  exports.Certificate = Certificate;
278
- var DER_PREFIX = (0, buffer_1.fromHex)('308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100');
279
- var KEY_LENGTH = 96;
187
+ const DER_PREFIX = (0, buffer_1.fromHex)('308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100');
188
+ const KEY_LENGTH = 96;
280
189
  function extractDER(buf) {
281
- var expectedLength = DER_PREFIX.byteLength + KEY_LENGTH;
190
+ const expectedLength = DER_PREFIX.byteLength + KEY_LENGTH;
282
191
  if (buf.byteLength !== expectedLength) {
283
- throw new TypeError("BLS DER-encoded public key must be ".concat(expectedLength, " bytes long"));
192
+ throw new TypeError(`BLS DER-encoded public key must be ${expectedLength} bytes long`);
284
193
  }
285
- var prefix = buf.slice(0, DER_PREFIX.byteLength);
194
+ const prefix = buf.slice(0, DER_PREFIX.byteLength);
286
195
  if (!isBufferEqual(prefix, DER_PREFIX)) {
287
- throw new TypeError("BLS DER-encoded public key is invalid. Expect the following prefix: ".concat(DER_PREFIX, ", but get ").concat(prefix));
196
+ throw new TypeError(`BLS DER-encoded public key is invalid. Expect the following prefix: ${DER_PREFIX}, but get ${prefix}`);
288
197
  }
289
198
  return buf.slice(DER_PREFIX.byteLength);
290
199
  }
@@ -292,47 +201,27 @@ function extractDER(buf) {
292
201
  * @param t
293
202
  */
294
203
  function reconstruct(t) {
295
- return __awaiter(this, void 0, void 0, function () {
296
- var _a, _b, _c, _d, _e, _f, _g;
297
- return __generator(this, function (_h) {
298
- switch (_h.label) {
299
- case 0:
300
- _a = t[0];
301
- switch (_a) {
302
- case 0 /* NodeId.Empty */: return [3 /*break*/, 1];
303
- case 4 /* NodeId.Pruned */: return [3 /*break*/, 2];
304
- case 3 /* NodeId.Leaf */: return [3 /*break*/, 3];
305
- case 2 /* NodeId.Labeled */: return [3 /*break*/, 4];
306
- case 1 /* NodeId.Fork */: return [3 /*break*/, 6];
307
- }
308
- return [3 /*break*/, 9];
309
- case 1: return [2 /*return*/, (0, auth_1.hash)(domain_sep('ic-hashtree-empty'))];
310
- case 2: return [2 /*return*/, t[1]];
311
- case 3: return [2 /*return*/, (0, auth_1.hash)((0, buffer_1.concat)(domain_sep('ic-hashtree-leaf'), t[1]))];
312
- case 4:
313
- _b = auth_1.hash;
314
- _c = buffer_1.concat;
315
- _d = [domain_sep('ic-hashtree-labeled'), t[1]];
316
- return [4 /*yield*/, reconstruct(t[2])];
317
- case 5: return [2 /*return*/, _b.apply(void 0, [_c.apply(void 0, _d.concat([_h.sent()]))])];
318
- case 6:
319
- _e = auth_1.hash;
320
- _f = buffer_1.concat;
321
- _g = [domain_sep('ic-hashtree-fork')];
322
- return [4 /*yield*/, reconstruct(t[1])];
323
- case 7:
324
- _g = _g.concat([_h.sent()]);
325
- return [4 /*yield*/, reconstruct(t[2])];
326
- case 8: return [2 /*return*/, _e.apply(void 0, [_f.apply(void 0, _g.concat([_h.sent()]))])];
327
- case 9: throw new Error('unreachable');
328
- }
329
- });
204
+ return __awaiter(this, void 0, void 0, function* () {
205
+ switch (t[0]) {
206
+ case 0 /* NodeId.Empty */:
207
+ return (0, auth_1.hash)(domain_sep('ic-hashtree-empty'));
208
+ case 4 /* NodeId.Pruned */:
209
+ return t[1];
210
+ case 3 /* NodeId.Leaf */:
211
+ return (0, auth_1.hash)((0, buffer_1.concat)(domain_sep('ic-hashtree-leaf'), t[1]));
212
+ case 2 /* NodeId.Labeled */:
213
+ return (0, auth_1.hash)((0, buffer_1.concat)(domain_sep('ic-hashtree-labeled'), t[1], yield reconstruct(t[2])));
214
+ case 1 /* NodeId.Fork */:
215
+ return (0, auth_1.hash)((0, buffer_1.concat)(domain_sep('ic-hashtree-fork'), yield reconstruct(t[1]), yield reconstruct(t[2])));
216
+ default:
217
+ throw new Error('unreachable');
218
+ }
330
219
  });
331
220
  }
332
221
  exports.reconstruct = reconstruct;
333
222
  function domain_sep(s) {
334
- var len = new Uint8Array([s.length]);
335
- var str = new TextEncoder().encode(s);
223
+ const len = new Uint8Array([s.length]);
224
+ const str = new TextEncoder().encode(s);
336
225
  return (0, buffer_1.concat)(len, str);
337
226
  }
338
227
  /**
@@ -350,8 +239,8 @@ function lookup_path(path, tree) {
350
239
  }
351
240
  }
352
241
  }
353
- var label = typeof path[0] === 'string' ? new TextEncoder().encode(path[0]) : path[0];
354
- var t = find_label(label, flatten_forks(tree));
242
+ const label = typeof path[0] === 'string' ? new TextEncoder().encode(path[0]) : path[0];
243
+ const t = find_label(label, flatten_forks(tree));
355
244
  if (t) {
356
245
  return lookup_path(path.slice(1), t);
357
246
  }
@@ -369,28 +258,17 @@ function flatten_forks(t) {
369
258
  }
370
259
  }
371
260
  function find_label(l, trees) {
372
- var e_1, _a;
373
261
  if (trees.length === 0) {
374
262
  return undefined;
375
263
  }
376
- try {
377
- for (var trees_1 = __values(trees), trees_1_1 = trees_1.next(); !trees_1_1.done; trees_1_1 = trees_1.next()) {
378
- var t = trees_1_1.value;
379
- if (t[0] === 2 /* NodeId.Labeled */) {
380
- var p = t[1];
381
- if (isBufferEqual(l, p)) {
382
- return t[2];
383
- }
264
+ for (const t of trees) {
265
+ if (t[0] === 2 /* NodeId.Labeled */) {
266
+ const p = t[1];
267
+ if (isBufferEqual(l, p)) {
268
+ return t[2];
384
269
  }
385
270
  }
386
271
  }
387
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
388
- finally {
389
- try {
390
- if (trees_1_1 && !trees_1_1.done && (_a = trees_1.return)) _a.call(trees_1);
391
- }
392
- finally { if (e_1) throw e_1.error; }
393
- }
394
272
  return undefined;
395
273
  }
396
274
  //# sourceMappingURL=certificate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../src/v1/utils/certificate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../src/v1/utils/certificate.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export declare function hexStringToUint8Array(hexString: string): Uint8Array;
5
5
  export declare function arrayBufferToHexString(buffer: ArrayBuffer): string;
6
6
  export declare function hexStringToArrayBuffer(hex: string): ArrayBuffer;
7
7
  export declare const calculateCrc32: (bytes: Uint8Array) => Buffer;
8
- export declare const calculateCrc16: (bytes: Uint8Array) => Buffer;
9
8
  export declare const e8sToTokens: (e8s: bigint) => Tokens;
10
9
  export declare const asciiStringToByteArray: (text: string) => Array<number>;
10
+ export declare const uint8ArrayToBigInt: (array: Uint8Array) => bigint;
@@ -1,37 +1,11 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
2
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.asciiStringToByteArray = exports.e8sToTokens = exports.calculateCrc16 = exports.calculateCrc32 = exports.hexStringToArrayBuffer = exports.arrayBufferToHexString = exports.hexStringToUint8Array = exports.uint8ArrayToHexString = void 0;
29
- var crc_1 = require("crc");
30
- var crc_32_1 = require("crc-32");
3
+ exports.uint8ArrayToBigInt = exports.asciiStringToByteArray = exports.e8sToTokens = exports.calculateCrc32 = exports.hexStringToArrayBuffer = exports.arrayBufferToHexString = exports.hexStringToUint8Array = exports.uint8ArrayToHexString = void 0;
4
+ const crc_32_1 = require("crc-32");
31
5
  function uint8ArrayToHexString(arr) {
32
- var hexStr = '';
33
- for (var i = 0; i < arr.length; i++) {
34
- var hex = (arr[i] & 0xff).toString(16);
6
+ let hexStr = '';
7
+ for (let i = 0; i < arr.length; i++) {
8
+ let hex = (arr[i] & 0xff).toString(16);
35
9
  hex = hex.length === 1 ? '0' + hex : hex;
36
10
  hexStr += hex;
37
11
  }
@@ -42,47 +16,53 @@ function hexStringToUint8Array(hexString) {
42
16
  if (hexString.length % 2 !== 0) {
43
17
  hexString = '0' + hexString;
44
18
  }
45
- var arrayBuffer = new Uint8Array(hexString.length / 2);
46
- for (var i = 0; i < hexString.length; i += 2) {
19
+ let arrayBuffer = new Uint8Array(hexString.length / 2);
20
+ for (let i = 0; i < hexString.length; i += 2) {
47
21
  arrayBuffer[i / 2] = parseInt(hexString.substring(i, i + 2), 16);
48
22
  }
49
23
  return arrayBuffer;
50
24
  }
51
25
  exports.hexStringToUint8Array = hexStringToUint8Array;
52
26
  function arrayBufferToHexString(buffer) {
53
- return __spreadArray([], __read(new Uint8Array(buffer)), false).map(function (x) { return x.toString(16).padStart(2, '0'); }).join('');
27
+ return [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('');
54
28
  }
55
29
  exports.arrayBufferToHexString = arrayBufferToHexString;
56
30
  function hexStringToArrayBuffer(hex) {
57
- var hexRe = new RegExp(/^([0-9A-F]{2})*$/i);
31
+ const hexRe = new RegExp(/^([0-9A-F]{2})*$/i);
58
32
  if (!hexRe.test(hex)) {
59
33
  throw new Error('Invalid hexadecimal string.');
60
34
  }
61
- var buffer = __spreadArray([], __read(hex), false).reduce(function (acc, curr, i) {
35
+ const buffer = [...hex]
36
+ .reduce((acc, curr, i) => {
62
37
  // tslint:disable-next-line:no-bitwise
63
38
  acc[(i / 2) | 0] = (acc[(i / 2) | 0] || '') + curr;
64
39
  return acc;
65
40
  }, [])
66
- .map(function (x) { return Number.parseInt(x, 16); });
41
+ .map((x) => Number.parseInt(x, 16));
67
42
  return new Uint8Array(buffer).buffer;
68
43
  }
69
44
  exports.hexStringToArrayBuffer = hexStringToArrayBuffer;
70
- var calculateCrc32 = function (bytes) {
71
- var checksumArrayBuf = new ArrayBuffer(4);
72
- var view = new DataView(checksumArrayBuf);
45
+ const calculateCrc32 = (bytes) => {
46
+ const checksumArrayBuf = new ArrayBuffer(4);
47
+ const view = new DataView(checksumArrayBuf);
73
48
  view.setUint32(0, (0, crc_32_1.buf)(Buffer.from(bytes)), false);
74
49
  return Buffer.from(checksumArrayBuf);
75
50
  };
76
51
  exports.calculateCrc32 = calculateCrc32;
77
- var calculateCrc16 = function (bytes) {
78
- var checksumArrayBuf = new ArrayBuffer(4);
79
- var view = new DataView(checksumArrayBuf);
80
- view.setUint16(0, (0, crc_1.crc16)(Buffer.from(bytes)), false);
81
- return Buffer.from(checksumArrayBuf);
82
- };
83
- exports.calculateCrc16 = calculateCrc16;
84
- var e8sToTokens = function (e8s) { return ({ e8s: e8s }); };
52
+ const e8sToTokens = (e8s) => ({ e8s });
85
53
  exports.e8sToTokens = e8sToTokens;
86
- var asciiStringToByteArray = function (text) { return Array.from(text).map(function (c) { return c.charCodeAt(0); }); };
54
+ const asciiStringToByteArray = (text) => Array.from(text).map((c) => c.charCodeAt(0));
87
55
  exports.asciiStringToByteArray = asciiStringToByteArray;
56
+ const uint8ArrayToBigInt = (array) => {
57
+ const view = new DataView(array.buffer, array.byteOffset, array.byteLength);
58
+ if (typeof view.getBigUint64 === 'function') {
59
+ return view.getBigUint64(0);
60
+ }
61
+ else {
62
+ const high = BigInt(view.getUint32(0));
63
+ const low = BigInt(view.getUint32(4));
64
+ return (high << BigInt(32)) + low;
65
+ }
66
+ };
67
+ exports.uint8ArrayToBigInt = uint8ArrayToBigInt;
88
68
  //# sourceMappingURL=convert.js.map