@zill-protocol/client 4.1.5 → 4.1.6

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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zill-protocol/client",
3
- "version": "4.1.5",
3
+ "version": "4.1.6",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,10 +22,10 @@
22
22
  "test:unit": "mocha --require ts-node/register test/** --timeout 45000 --exit"
23
23
  },
24
24
  "dependencies": {
25
- "@zill-protocol/config": "1.7.4",
25
+ "@zill-protocol/config": "workspace:^",
26
26
  "@zill-protocol/contracts": "^4.0.2",
27
- "@zill-protocol/core": "3.3.2",
28
- "@zill-protocol/crypto": "0.4.4",
27
+ "@zill-protocol/core": "workspace:^",
28
+ "@zill-protocol/crypto": "workspace:^",
29
29
  "async-mutex": "^0.4.0",
30
30
  "big-integer": "^1.6.42",
31
31
  "bigint-json-serialization": "^1.0.1",
@@ -1,7 +1,7 @@
1
1
  import { NocturneViewer } from "@zill-protocol/crypto";
2
2
  import { NocturneDB } from "./NocturneDB";
3
3
  import { PendingOutputRecord } from "./types";
4
- import { SDKSyncAdapter, SparseMerkleProver } from "@zill-protocol/core";
4
+ import { IncludedNote, SDKSyncAdapter, SparseMerkleProver } from "@zill-protocol/core";
5
5
  export interface SyncOpts {
6
6
  endBlock?: number;
7
7
  timeoutSeconds?: number;
@@ -14,4 +14,5 @@ export interface SyncDeps {
14
14
  viewer: NocturneViewer;
15
15
  }
16
16
  export declare function syncSDK({ viewer }: SyncDeps, adapter: SDKSyncAdapter, db: NocturneDB, merkle: SparseMerkleProver, opts?: SyncOpts): Promise<number | undefined>;
17
+ export declare function normalizeIncludedNoteForSync(note: IncludedNote): IncludedNote;
17
18
  //# sourceMappingURL=syncSDK.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncSDK.d.ts","sourceRoot":"","sources":["../../src/syncSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAOL,cAAc,EAGd,kBAAkB,EAKnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAGD,wBAAsB,OAAO,CAC3B,EAAE,MAAM,EAAE,EAAE,QAAQ,EACpB,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,kBAAkB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8F7B"}
1
+ {"version":3,"file":"syncSDK.d.ts","sourceRoot":"","sources":["../../src/syncSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAEL,YAAY,EAKZ,cAAc,EAGd,kBAAkB,EAKnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAGD,wBAAsB,OAAO,CAC3B,EAAE,MAAM,EAAE,EAAE,QAAQ,EACpB,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,kBAAkB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8F7B;AAsND,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAmB7E"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.syncSDK = syncSDK;
4
+ exports.normalizeIncludedNoteForSync = normalizeIncludedNoteForSync;
5
+ const crypto_1 = require("@zill-protocol/crypto");
4
6
  const core_1 = require("@zill-protocol/core");
5
7
  // Sync SDK, returning last synced merkle index of last state diff
6
8
  async function syncSDK({ viewer }, adapter, db, merkle, opts) {
@@ -154,7 +156,7 @@ function decryptStateDiff(viewer, { notes, nullifiers, latestCommittedMerkleInde
154
156
  // if it's not encrypted, check if it's ours.
155
157
  // if it is, then return it
156
158
  // if it's not, return only the commitment
157
- const includedNote = note;
159
+ const includedNote = normalizeIncludedNoteForSync(note);
158
160
  const isOwn = viewer.isOwnAddress(includedNote.owner);
159
161
  if (isOwn) {
160
162
  const nullifier = core_1.NoteTrait.createNullifier(viewer, includedNote);
@@ -185,4 +187,76 @@ function decryptStateDiff(viewer, { notes, nullifiers, latestCommittedMerkleInde
185
187
  totalEntityIndex,
186
188
  };
187
189
  }
190
+ function stripBigIntSuffix(value) {
191
+ return value.endsWith("n") ? value.slice(0, -1) : value;
192
+ }
193
+ function normalizeBigIntValue(value) {
194
+ if (typeof value === "bigint") {
195
+ return value;
196
+ }
197
+ if (typeof value === "number") {
198
+ return BigInt(value);
199
+ }
200
+ if (typeof value === "string") {
201
+ const trimmed = stripBigIntSuffix(value.trim());
202
+ if (!trimmed) {
203
+ return 0n;
204
+ }
205
+ return BigInt(trimmed);
206
+ }
207
+ throw new Error("invalid bigint value");
208
+ }
209
+ function normalizeNumberValue(value) {
210
+ if (typeof value === "number") {
211
+ return value;
212
+ }
213
+ if (typeof value === "bigint") {
214
+ return Number(value);
215
+ }
216
+ if (typeof value === "string") {
217
+ const trimmed = stripBigIntSuffix(value.trim());
218
+ return Number(trimmed);
219
+ }
220
+ throw new Error("invalid number value");
221
+ }
222
+ function normalizeStealthAddress(owner) {
223
+ if (!owner || typeof owner !== "object") {
224
+ throw new Error("invalid note owner");
225
+ }
226
+ const asRecord = owner;
227
+ if ("h1X" in asRecord &&
228
+ "h1Y" in asRecord &&
229
+ "h2X" in asRecord &&
230
+ "h2Y" in asRecord) {
231
+ return {
232
+ h1X: normalizeBigIntValue(asRecord.h1X),
233
+ h1Y: normalizeBigIntValue(asRecord.h1Y),
234
+ h2X: normalizeBigIntValue(asRecord.h2X),
235
+ h2Y: normalizeBigIntValue(asRecord.h2Y),
236
+ };
237
+ }
238
+ if ("h1" in asRecord && "h2" in asRecord) {
239
+ return crypto_1.StealthAddressTrait.decompress({
240
+ h1: normalizeBigIntValue(asRecord.h1),
241
+ h2: normalizeBigIntValue(asRecord.h2),
242
+ });
243
+ }
244
+ throw new Error("invalid note owner shape");
245
+ }
246
+ function normalizeIncludedNoteForSync(note) {
247
+ const owner = normalizeStealthAddress(note.owner);
248
+ const asset = note.asset;
249
+ return {
250
+ ...note,
251
+ owner,
252
+ nonce: normalizeBigIntValue(note.nonce),
253
+ value: normalizeBigIntValue(note.value),
254
+ merkleIndex: normalizeNumberValue(note.merkleIndex),
255
+ asset: {
256
+ assetType: normalizeNumberValue(asset.assetType),
257
+ assetAddr: String(asset.assetAddr),
258
+ id: normalizeBigIntValue(asset.id),
259
+ },
260
+ };
261
+ }
188
262
  //# sourceMappingURL=syncSDK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncSDK.js","sourceRoot":"","sources":["../../src/syncSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncSDK.js","sourceRoot":"","sources":["../../src/syncSDK.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zill-protocol/client",
3
- "version": "4.1.5",
3
+ "version": "4.1.6",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,10 +22,10 @@
22
22
  "test:unit": "mocha --require ts-node/register test/** --timeout 45000 --exit"
23
23
  },
24
24
  "dependencies": {
25
- "@zill-protocol/config": "1.7.4",
25
+ "@zill-protocol/config": "workspace:^",
26
26
  "@zill-protocol/contracts": "^4.0.2",
27
- "@zill-protocol/core": "3.3.2",
28
- "@zill-protocol/crypto": "0.4.4",
27
+ "@zill-protocol/core": "workspace:^",
28
+ "@zill-protocol/crypto": "workspace:^",
29
29
  "async-mutex": "^0.4.0",
30
30
  "big-integer": "^1.6.42",
31
31
  "bigint-json-serialization": "^1.0.1",
package/src/syncSDK.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { NocturneViewer } from "@zill-protocol/crypto";
1
+ import { NocturneViewer, StealthAddressTrait, StealthAddress } from "@zill-protocol/crypto";
2
2
  import { NocturneDB } from "./NocturneDB";
3
3
  import { PendingOutputRecord } from "./types";
4
4
  import {
@@ -251,7 +251,7 @@ function decryptStateDiff(
251
251
  // if it's not encrypted, check if it's ours.
252
252
  // if it is, then return it
253
253
  // if it's not, return only the commitment
254
- const includedNote = note as IncludedNote;
254
+ const includedNote = normalizeIncludedNoteForSync(note as IncludedNote);
255
255
  const isOwn = viewer.isOwnAddress(includedNote.owner);
256
256
 
257
257
  if (isOwn) {
@@ -283,3 +283,86 @@ function decryptStateDiff(
283
283
  totalEntityIndex,
284
284
  };
285
285
  }
286
+
287
+ function stripBigIntSuffix(value: string): string {
288
+ return value.endsWith("n") ? value.slice(0, -1) : value;
289
+ }
290
+
291
+ function normalizeBigIntValue(value: unknown): bigint {
292
+ if (typeof value === "bigint") {
293
+ return value;
294
+ }
295
+ if (typeof value === "number") {
296
+ return BigInt(value);
297
+ }
298
+ if (typeof value === "string") {
299
+ const trimmed = stripBigIntSuffix(value.trim());
300
+ if (!trimmed) {
301
+ return 0n;
302
+ }
303
+ return BigInt(trimmed);
304
+ }
305
+ throw new Error("invalid bigint value");
306
+ }
307
+
308
+ function normalizeNumberValue(value: unknown): number {
309
+ if (typeof value === "number") {
310
+ return value;
311
+ }
312
+ if (typeof value === "bigint") {
313
+ return Number(value);
314
+ }
315
+ if (typeof value === "string") {
316
+ const trimmed = stripBigIntSuffix(value.trim());
317
+ return Number(trimmed);
318
+ }
319
+ throw new Error("invalid number value");
320
+ }
321
+
322
+ function normalizeStealthAddress(owner: unknown): StealthAddress {
323
+ if (!owner || typeof owner !== "object") {
324
+ throw new Error("invalid note owner");
325
+ }
326
+ const asRecord = owner as Record<string, unknown>;
327
+ if (
328
+ "h1X" in asRecord &&
329
+ "h1Y" in asRecord &&
330
+ "h2X" in asRecord &&
331
+ "h2Y" in asRecord
332
+ ) {
333
+ return {
334
+ h1X: normalizeBigIntValue(asRecord.h1X),
335
+ h1Y: normalizeBigIntValue(asRecord.h1Y),
336
+ h2X: normalizeBigIntValue(asRecord.h2X),
337
+ h2Y: normalizeBigIntValue(asRecord.h2Y),
338
+ };
339
+ }
340
+ if ("h1" in asRecord && "h2" in asRecord) {
341
+ return StealthAddressTrait.decompress({
342
+ h1: normalizeBigIntValue(asRecord.h1),
343
+ h2: normalizeBigIntValue(asRecord.h2),
344
+ });
345
+ }
346
+ throw new Error("invalid note owner shape");
347
+ }
348
+
349
+ export function normalizeIncludedNoteForSync(note: IncludedNote): IncludedNote {
350
+ const owner = normalizeStealthAddress(note.owner);
351
+ const asset = note.asset as unknown as {
352
+ assetType: unknown;
353
+ assetAddr: unknown;
354
+ id: unknown;
355
+ };
356
+ return {
357
+ ...note,
358
+ owner,
359
+ nonce: normalizeBigIntValue(note.nonce),
360
+ value: normalizeBigIntValue(note.value),
361
+ merkleIndex: normalizeNumberValue(note.merkleIndex),
362
+ asset: {
363
+ assetType: normalizeNumberValue(asset.assetType),
364
+ assetAddr: String(asset.assetAddr),
365
+ id: normalizeBigIntValue(asset.id),
366
+ },
367
+ };
368
+ }