@xyo-network/boundwitness-wrapper 7.0.0 → 7.0.3

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.
@@ -5,20 +5,12 @@ import type { Payload, WithoutPrivateStorageMeta } from '@xyo-network/payload-mo
5
5
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
6
6
  export declare const isBoundWitnessWrapper: <T extends BoundWitness = BoundWitness, P extends Payload = Payload>(value?: unknown) => value is BoundWitnessWrapper<T, P>;
7
7
  export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness = BoundWitness, TPayload extends Payload = Payload> extends PayloadWrapperBase<TBoundWitness> {
8
+ private _payloadDataMap;
9
+ private _payloadMap;
8
10
  boundwitness: TBoundWitness;
9
11
  moduleErrors?: Payload[];
10
12
  payloads: TPayload[];
11
- private _payloadDataMap;
12
- private _payloadMap;
13
13
  protected constructor(boundwitness: TBoundWitness, payloads?: TPayload[], moduleErrors?: Payload[]);
14
- get addresses(): ((Lowercase<string> & {
15
- readonly __hex: true;
16
- } & {
17
- readonly __address: true;
18
- }) | import("@xyo-network/address").XyoQuantAddress)[];
19
- get payloadHashes(): import("@xylabs/sdk-js").BrandedHash[];
20
- get payloadSchemas(): import("@xyo-network/payload-model").BrandedSchema<string>[];
21
- get previousHashes(): (import("@xylabs/sdk-js").BrandedHash | null)[];
22
14
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, Payload> | undefined;
23
15
  static load(address: XyoAddress): Promise<BoundWitnessWrapper<{
24
16
  schema: "network.xyo.boundwitness" & {
@@ -44,6 +36,14 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness = Bo
44
36
  static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
45
37
  static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | WithoutPrivateStorageMeta<T>, payloads?: P[]): BoundWitnessWrapper<T, P>;
46
38
  static wrappedDataHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
39
+ get addresses(): ((Lowercase<string> & {
40
+ readonly __hex: true;
41
+ } & {
42
+ readonly __address: true;
43
+ }) | import("@xyo-network/address").XyoQuantAddress)[];
44
+ get payloadHashes(): import("@xylabs/sdk-js").BrandedHash[];
45
+ get payloadSchemas(): import("@xyo-network/payload-model").BrandedSchema<string>[];
46
+ get previousHashes(): (import("@xylabs/sdk-js").BrandedHash | null)[];
47
47
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
48
48
  getMissingPayloads(): Promise<import("@xylabs/sdk-js").BrandedHash[]>;
49
49
  getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Promisable } from '@xylabs/sdk-js';
1
+ import { type Promisable } from '@xylabs/sdk-js';
2
2
  import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
3
3
  import type { Payload, Query } from '@xyo-network/payload-model';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitnessWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,wBAAwB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAC3G,OAAO,CAAC,qBAAqB,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAe;IAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAC;IA2B3G,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IASlG,uBAAuB,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAS7D,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;CAK7B"}
1
+ {"version":3,"file":"QueryBoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitnessWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACqB,KAAK,UAAU,EAC1C,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,wBAAwB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAC3G,OAAO,CAAC,qBAAqB,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAe;IAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAC;IA2B3G,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IASlG,uBAAuB,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAU7D,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;CAM7B"}
@@ -1,10 +1,10 @@
1
1
  // src/BoundWitnessWrapper.ts
2
2
  import {
3
+ asHash,
3
4
  assertEx,
4
5
  isNumber,
5
6
  isObject
6
7
  } from "@xylabs/sdk-js";
7
- import { asHash } from "@xylabs/sdk-js";
8
8
  import {
9
9
  asBoundWitness,
10
10
  BoundWitnessSchema,
@@ -24,38 +24,26 @@ var isBoundWitnessWrapper = (value) => {
24
24
  return false;
25
25
  };
26
26
  var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase {
27
+ _payloadDataMap;
28
+ _payloadMap;
27
29
  boundwitness;
28
30
  moduleErrors;
29
31
  payloads = [];
30
- _payloadDataMap;
31
- _payloadMap;
32
32
  constructor(boundwitness, payloads = [], moduleErrors) {
33
33
  super(boundwitness);
34
34
  this.boundwitness = boundwitness;
35
35
  this.payloads = payloads;
36
36
  this.moduleErrors = moduleErrors;
37
37
  }
38
- get addresses() {
39
- return this.boundwitness.addresses;
40
- }
41
- get payloadHashes() {
42
- return this.boundwitness.payload_hashes;
43
- }
44
- get payloadSchemas() {
45
- return this.boundwitness.payload_schemas;
46
- }
47
- get previousHashes() {
48
- return this.boundwitness.previous_hashes;
49
- }
50
38
  static as(value) {
51
- return value instanceof _BoundWitnessWrapper ? value : void 0;
39
+ return value instanceof this ? value : void 0;
52
40
  }
53
41
  static async load(address) {
54
42
  const wrapper = await PayloadWrapper.load(address);
55
43
  const payload = wrapper?.payload;
56
44
  assertEx(payload && isBoundWitness(payload), () => "Attempt to load non-boundwitness");
57
45
  const boundWitness = payload && isBoundWitness(payload) ? payload : void 0;
58
- return boundWitness ? _BoundWitnessWrapper.wrap(boundWitness) : null;
46
+ return boundWitness ? this.wrap(boundWitness) : null;
59
47
  }
60
48
  static parse(obj, payloads) {
61
49
  let hydratedObj = void 0;
@@ -76,7 +64,8 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
76
64
  return hydratedObj;
77
65
  }
78
66
  if (isBoundWitness(hydratedObj)) {
79
- return new _BoundWitnessWrapper(hydratedObj, payloads ?? []);
67
+ const wrapper = new _BoundWitnessWrapper(hydratedObj, payloads ?? []);
68
+ return wrapper;
80
69
  }
81
70
  }
82
71
  throw new Error(`Unable to parse [${typeof obj}]`);
@@ -92,13 +81,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
92
81
  static wrap(obj, payloads) {
93
82
  switch (typeof obj) {
94
83
  case "object": {
95
- if (obj instanceof _BoundWitnessWrapper) {
84
+ if (obj instanceof this) {
96
85
  return obj;
97
- } else if (obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema) {
98
- return _BoundWitnessWrapper.parse(obj.payload, payloads);
99
- } else {
100
- return _BoundWitnessWrapper.parse(obj, payloads);
101
86
  }
87
+ return obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema ? this.parse(obj.payload, payloads) : this.parse(obj, payloads);
102
88
  }
103
89
  }
104
90
  }
@@ -106,19 +92,33 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
106
92
  const result = {};
107
93
  await Promise.all(
108
94
  boundWitnesses.map(async (payload) => {
109
- const bw = _BoundWitnessWrapper.parse(payload);
110
- result[await bw.dataHash()] = bw;
95
+ const bw = this.parse(payload);
96
+ const dataHash = String(await bw.dataHash());
97
+ result[dataHash] = bw;
111
98
  })
112
99
  );
113
100
  return result;
114
101
  }
102
+ get addresses() {
103
+ return this.boundwitness.addresses;
104
+ }
105
+ get payloadHashes() {
106
+ return this.boundwitness.payload_hashes;
107
+ }
108
+ get payloadSchemas() {
109
+ return this.boundwitness.payload_schemas;
110
+ }
111
+ get previousHashes() {
112
+ return this.boundwitness.previous_hashes;
113
+ }
115
114
  async dig(depth) {
116
115
  if (depth === 0) return this;
117
116
  const innerBoundwitnessIndex = this.payloadSchemas.indexOf(BoundWitnessSchema);
118
117
  if (innerBoundwitnessIndex !== -1) {
119
- const innerBoundwitnessHash = asHash(this.payloadHashes[innerBoundwitnessIndex], true);
118
+ const innerBoundwitnessHash = String(asHash(this.payloadHashes[innerBoundwitnessIndex], true));
119
+ const allHashMap = await PayloadBuilder.toAllHashMap(this.payloads);
120
120
  const innerBoundwitnessPayload = asBoundWitness(
121
- (await PayloadBuilder.toAllHashMap(this.payloads))[innerBoundwitnessHash]
121
+ allHashMap[innerBoundwitnessHash]
122
122
  );
123
123
  const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload, await PayloadBuilder.filterExclude(this.payloads, innerBoundwitnessHash)) : void 0;
124
124
  if (innerBoundwitness) {
@@ -130,7 +130,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
130
130
  }
131
131
  async getMissingPayloads() {
132
132
  const payloadMap = await this.payloadsDataHashMap();
133
- return this.payloadHashes.filter((hash) => !payloadMap[asHash(hash, true)]);
133
+ return this.payloadHashes.filter((hash) => {
134
+ const hashKey = String(asHash(hash, true));
135
+ return !Object.hasOwn(payloadMap, hashKey);
136
+ });
134
137
  }
135
138
  async getWrappedPayloads() {
136
139
  return this.payloads.map((payload) => PayloadWrapper.wrap(payload));
@@ -146,11 +149,17 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
146
149
  }
147
150
  async payloadsByDataHashes(hashes) {
148
151
  const map = await this.payloadsDataHashMap();
149
- return hashes.map((hash) => assertEx(map[hash], () => "Hash not found"));
152
+ return hashes.map((hash) => {
153
+ const hashKey = String(hash);
154
+ return assertEx(map[hashKey], () => "Hash not found");
155
+ });
150
156
  }
151
157
  async payloadsByHashes(hashes) {
152
158
  const map = await this.payloadsHashMap();
153
- return hashes.map((hash) => assertEx(map[hash], () => "Hash not found"));
159
+ return hashes.map((hash) => {
160
+ const hashKey = String(hash);
161
+ return assertEx(map[hashKey], () => "Hash not found");
162
+ });
154
163
  }
155
164
  payloadsBySchema(schema) {
156
165
  return this.payloads.filter((payload) => payload?.schema === schema);
@@ -170,7 +179,8 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
170
179
  return [this.boundwitness, this.payloads];
171
180
  }
172
181
  async validate() {
173
- return await new BoundWitnessValidator(this.boundwitness).validate();
182
+ const validator = new BoundWitnessValidator(this.boundwitness);
183
+ return await validator.validate();
174
184
  }
175
185
  };
176
186
 
@@ -191,7 +201,7 @@ var QueryBoundWitnessWrapper = class _QueryBoundWitnessWrapper extends BoundWitn
191
201
  switch (typeof obj) {
192
202
  case "object": {
193
203
  const castWrapper = obj;
194
- const result = castWrapper instanceof _QueryBoundWitnessWrapper ? castWrapper : isQueryBoundWitness(obj) ? new _QueryBoundWitnessWrapper(
204
+ const result = castWrapper instanceof this ? castWrapper : isQueryBoundWitness(obj) ? new _QueryBoundWitnessWrapper(
195
205
  obj,
196
206
  payloads
197
207
  ) : void 0;
@@ -212,12 +222,16 @@ var QueryBoundWitnessWrapper = class _QueryBoundWitnessWrapper extends BoundWitn
212
222
  }
213
223
  }
214
224
  async getPayloadsWithoutQuery() {
215
- this._payloadsWithoutQuery = this._payloadsWithoutQuery ?? (await PayloadBuilder2.filterExclude(this.payloads, asHash2(this.payload.query, true))).map((payload) => PayloadWrapper2.wrap(payload)).filter(exists);
225
+ if (!this._payloadsWithoutQuery) {
226
+ const payloadsWithoutQuery = await PayloadBuilder2.filterExclude(this.payloads, asHash2(this.payload.query, true));
227
+ this._payloadsWithoutQuery = payloadsWithoutQuery.map((payload) => PayloadWrapper2.wrap(payload)).filter(exists);
228
+ }
216
229
  return this._payloadsWithoutQuery;
217
230
  }
218
231
  async getQuery() {
219
232
  const payloadMap = await this.payloadsDataHashMap();
220
- this._query = this._query ?? payloadMap[asHash2(this.boundwitness.query, true)];
233
+ const queryHash = String(asHash2(this.boundwitness.query, true));
234
+ this._query = this._query ?? payloadMap[queryHash];
221
235
  return assertEx2(this._query, () => `Missing Query [${JSON.stringify(this.boundwitness)}]`);
222
236
  }
223
237
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/BoundWitnessWrapper.ts", "../../src/QueryBoundWitnessWrapper.ts", "../../src/SchemaType.ts"],
4
- "sourcesContent": ["import {\n assertEx, isNumber, isObject,\n} from '@xylabs/sdk-js'\nimport { asHash, type Hash } from '@xylabs/sdk-js'\nimport type { XyoAddress } from '@xyo-network/address'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport {\n asBoundWitness,\n BoundWitnessSchema, isBoundWitness,\n} from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, WithoutPrivateStorageMeta } from '@xyo-network/payload-model'\nimport {\n isPayloadWrapperBase, PayloadWrapper, PayloadWrapperBase,\n} from '@xyo-network/payload-wrapper'\n\nexport const isBoundWitnessWrapper = <T extends BoundWitness = BoundWitness, P extends Payload = Payload>(\n value?: unknown,\n): value is BoundWitnessWrapper<T, P> => {\n if (isPayloadWrapperBase(value)) {\n return typeof (value as BoundWitnessWrapper<T, P>).payloadsDataHashMap === 'function'\n }\n return false\n}\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n boundwitness: TBoundWitness\n moduleErrors?: Payload[]\n payloads: TPayload[] = []\n\n private _payloadDataMap: Record<Hash, TPayload> | undefined\n private _payloadMap: Record<Hash, TPayload> | undefined\n\n protected constructor(\n boundwitness: TBoundWitness,\n payloads: TPayload[] = [],\n moduleErrors?: Payload[],\n ) {\n super(boundwitness)\n this.boundwitness = boundwitness\n this.payloads = payloads\n this.moduleErrors = moduleErrors\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get payloadHashes() {\n return this.boundwitness.payload_hashes\n }\n\n get payloadSchemas() {\n return this.boundwitness.payload_schemas\n }\n\n get previousHashes() {\n return this.boundwitness.previous_hashes\n }\n\n static as<T extends BoundWitness = BoundWitness>(value: unknown) {\n return value instanceof BoundWitnessWrapper ? (value as BoundWitnessWrapper<T>) : undefined\n }\n\n static async load(address: XyoAddress) {\n const wrapper = await PayloadWrapper.load(address)\n const payload = wrapper?.payload\n assertEx(payload && isBoundWitness(payload), () => 'Attempt to load non-boundwitness')\n\n const boundWitness: BoundWitness | undefined = payload && isBoundWitness(payload) ? payload : undefined\n return boundWitness ? BoundWitnessWrapper.wrap(boundWitness) : null\n }\n\n static parse<T extends BoundWitness = BoundWitness, P extends Payload = Payload>(\n obj: unknown,\n payloads?: P[],\n ): BoundWitnessWrapper<T, P> {\n let hydratedObj: T | undefined = undefined\n switch (typeof obj) {\n case 'string': {\n hydratedObj = JSON.parse(obj) as T\n break\n }\n case 'object': {\n if (isObject(obj)) {\n hydratedObj = obj as unknown as T\n }\n break\n }\n }\n\n if (hydratedObj) {\n if (isBoundWitnessWrapper<T, P>(hydratedObj)) {\n return hydratedObj\n }\n if (isBoundWitness(hydratedObj)) {\n return new BoundWitnessWrapper(hydratedObj, payloads ?? [])\n }\n }\n\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined {\n if (obj === undefined) return undefined\n try {\n return this.parse(obj, payloads)\n } catch {\n return undefined\n }\n }\n\n static wrap<T extends BoundWitness, P extends Payload>(\n obj: PayloadWrapperBase<T> | WithoutPrivateStorageMeta<T>,\n payloads?: P[],\n ): BoundWitnessWrapper<T, P> {\n switch (typeof obj) {\n case 'object': {\n if (obj instanceof BoundWitnessWrapper) {\n return obj as BoundWitnessWrapper<T, P>\n } else if (obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema) {\n return BoundWitnessWrapper.parse(obj.payload, payloads)\n } else {\n return BoundWitnessWrapper.parse(obj, payloads)\n }\n }\n }\n }\n\n static async wrappedDataHashMap<T extends BoundWitness>(\n boundWitnesses: (T | BoundWitnessWrapper<T>)[],\n ): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n const bw = BoundWitnessWrapper.parse<T, Payload>(payload)\n result[await bw.dataHash()] = bw\n }),\n )\n return result\n }\n\n async dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>> {\n if (depth === 0) return this\n\n const innerBoundwitnessIndex: number = this.payloadSchemas.indexOf(BoundWitnessSchema)\n if (innerBoundwitnessIndex !== -1) {\n const innerBoundwitnessHash = asHash(this.payloadHashes[innerBoundwitnessIndex], true)\n const innerBoundwitnessPayload = asBoundWitness(\n (await PayloadBuilder.toAllHashMap(this.payloads))[innerBoundwitnessHash],\n ) as TBoundWitness | undefined\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined\n = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(innerBoundwitnessPayload, await PayloadBuilder.filterExclude(this.payloads, innerBoundwitnessHash))\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(isNumber(depth) ? depth - 1 : undefined)\n }\n }\n assertEx(depth === 0, () => `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getMissingPayloads() {\n const payloadMap = await this.payloadsDataHashMap()\n return this.payloadHashes.filter(hash => !payloadMap[asHash(hash, true)])\n }\n\n async getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]> {\n return this.payloads.map(payload => PayloadWrapper.wrap(payload))\n }\n\n hashesBySchema(schema: string) {\n const result: string[] = []\n for (const [index, payloadSchema] of this.payloadSchemas.entries()) {\n if (payloadSchema === schema) {\n result.push(asHash(this.payloadHashes[index], true))\n }\n }\n return result\n }\n\n async payloadsByDataHashes(hashes: Hash[]): Promise<TPayload[]> {\n const map = await this.payloadsDataHashMap()\n return hashes.map(hash => assertEx(map[hash], () => 'Hash not found'))\n }\n\n async payloadsByHashes(hashes: Hash[]): Promise<TPayload[]> {\n const map = await this.payloadsHashMap()\n return hashes.map(hash => assertEx(map[hash], () => 'Hash not found'))\n }\n\n payloadsBySchema<T extends TPayload>(schema: string): T[] {\n return this.payloads.filter(payload => payload?.schema === schema) as T[]\n }\n\n async payloadsDataHashMap(): Promise<Partial<Record<Hash, TPayload>>> {\n this._payloadDataMap = this._payloadDataMap ?? (await PayloadBuilder.toDataHashMap<TPayload>(this.payloads))\n return this._payloadDataMap\n }\n\n async payloadsHashMap(): Promise<Partial<Record<Hash, TPayload>>> {\n this._payloadMap = this._payloadMap ?? (await PayloadBuilder.toHashMap<TPayload>(this.payloads))\n return this._payloadMap\n }\n\n prev(address: XyoAddress) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloads]\n }\n\n override async validate(): Promise<Error[]> {\n return await new BoundWitnessValidator(this.boundwitness).validate()\n }\n}\n", "import type { Promisable } from '@xylabs/sdk-js'\nimport {\n asHash, assertEx, exists,\n} from '@xylabs/sdk-js'\nimport type { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload'\nimport type { Payload, Query } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { BoundWitnessWrapper } from './BoundWitnessWrapper.ts'\n\nexport class QueryBoundWitnessWrapper<T extends Query = Query> extends BoundWitnessWrapper<QueryBoundWitness> {\n private _payloadsWithoutQuery: PayloadWrapper<Payload>[] | undefined\n private _query: T | undefined\n\n static parseQuery<T extends Query = Query>(obj: unknown, payloads?: Payload[]): QueryBoundWitnessWrapper<T> {\n assertEx(!Array.isArray(obj), () => 'Array can not be converted to QueryBoundWitnessWrapper')\n switch (typeof obj) {\n case 'object': {\n const castWrapper = obj as QueryBoundWitnessWrapper<T>\n /* if (!wrapper.valid) {\n console.warn(`Parsed invalid QueryBoundWitness ${JSON.stringify(wrapper.errors.map((error) => error.message))}`)\n } */\n const result = castWrapper instanceof QueryBoundWitnessWrapper\n ? castWrapper\n : isQueryBoundWitness(obj)\n ? (\n new QueryBoundWitnessWrapper<T>(\n obj,\n payloads,\n )\n )\n : undefined\n if (result === undefined) {\n throw new Error('Unable to parse. Failed isQueryBoundWitness.')\n }\n return result\n }\n }\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static tryParseQuery<T extends Query>(obj: unknown): Promisable<QueryBoundWitnessWrapper<T> | undefined> {\n if (obj === undefined) return undefined\n try {\n return this.parseQuery<T>(obj)\n } catch {\n return undefined\n }\n }\n\n async getPayloadsWithoutQuery(): Promise<PayloadWrapper<Payload>[]> {\n this._payloadsWithoutQuery\n = this._payloadsWithoutQuery\n ?? (await PayloadBuilder.filterExclude(this.payloads, asHash(this.payload.query, true)))\n .map(payload => PayloadWrapper.wrap(payload))\n .filter(exists)\n return this._payloadsWithoutQuery\n }\n\n async getQuery(): Promise<T> {\n const payloadMap = await this.payloadsDataHashMap()\n this._query = this._query ?? (payloadMap[asHash(this.boundwitness.query, true)] as T | undefined)\n return assertEx(this._query, () => `Missing Query [${JSON.stringify(this.boundwitness)}]`)\n }\n}\n", "import { HashRegEx, HexRegExMinMax } from '@xylabs/sdk-js'\nimport { XyoAddressRegEx } from '@xyo-network/address'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { SchemaRegEx } from '@xyo-network/payload-model'\nimport { payloadJsonSchema } from '@xyo-network/payload-wrapper'\nimport type { JSONSchemaType } from 'ajv'\n\n// 64 bytes: legacy secp256k1 ECDSA compact signature\n// 5261 bytes: ML-DSA-65 bundle (publicKey 1952 + signature 3309)\n// Range covers both; specific algorithm enforcement happens in the validator dispatcher.\nexport const SignatureRegEx = HexRegExMinMax(64, 5261)\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nexport const boundWitnessProperties: JSONSchemaType<BoundWitness>['properties'] = {\n ...payloadJsonSchema.properties,\n addresses: { items: { type: 'string', pattern: XyoAddressRegEx.source }, type: 'array' },\n payload_hashes: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n payload_schemas: { items: { type: 'string', pattern: SchemaRegEx.source }, type: 'array' },\n previous_hashes: {\n items: {\n type: 'string', pattern: HashRegEx.source, nullable: true,\n },\n type: 'array',\n },\n root: { type: 'string', pattern: HashRegEx.source },\n $destination: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n $sourceQuery: { type: 'string', pattern: HashRegEx.source },\n $sources: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n $signatures: { items: { type: 'string', pattern: SignatureRegEx.source }, type: 'array' },\n}\n\nexport const boundWitnessJsonSchema: JSONSchemaType<BoundWitness> = {\n ...payloadJsonSchema,\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: boundWitnessProperties,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n required: [...payloadJsonSchema.required, 'addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes'],\n type: 'object',\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n asHash, assertEx, type Hash,\n isNumber, isObject,\n} from '@xylabs/sdk-js'\nimport type { XyoAddress } from '@xyo-network/address'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport {\n asBoundWitness,\n BoundWitnessSchema, isBoundWitness,\n} from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, WithoutPrivateStorageMeta } from '@xyo-network/payload-model'\nimport {\n isPayloadWrapperBase, PayloadWrapper, PayloadWrapperBase,\n} from '@xyo-network/payload-wrapper'\n\nexport const isBoundWitnessWrapper = <T extends BoundWitness = BoundWitness, P extends Payload = Payload>(\n value?: unknown,\n): value is BoundWitnessWrapper<T, P> => {\n if (isPayloadWrapperBase(value)) {\n return typeof (value as BoundWitnessWrapper<T, P>).payloadsDataHashMap === 'function'\n }\n return false\n}\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n private _payloadDataMap: Record<Hash, TPayload> | undefined\n private _payloadMap: Record<Hash, TPayload> | undefined\n\n boundwitness: TBoundWitness\n moduleErrors?: Payload[]\n payloads: TPayload[] = []\n\n protected constructor(\n boundwitness: TBoundWitness,\n payloads: TPayload[] = [],\n moduleErrors?: Payload[],\n ) {\n super(boundwitness)\n this.boundwitness = boundwitness\n this.payloads = payloads\n this.moduleErrors = moduleErrors\n }\n\n static as<T extends BoundWitness = BoundWitness>(value: unknown) {\n return value instanceof this ? (value as BoundWitnessWrapper<T>) : undefined\n }\n\n static async load(address: XyoAddress) {\n const wrapper = await PayloadWrapper.load(address)\n const payload = wrapper?.payload\n assertEx(payload && isBoundWitness(payload), () => 'Attempt to load non-boundwitness')\n\n const boundWitness: BoundWitness | undefined = payload && isBoundWitness(payload) ? payload : undefined\n return boundWitness ? this.wrap(boundWitness) : null\n }\n\n static parse<T extends BoundWitness = BoundWitness, P extends Payload = Payload>(\n obj: unknown,\n payloads?: P[],\n ): BoundWitnessWrapper<T, P> {\n let hydratedObj: T | undefined = undefined\n switch (typeof obj) {\n case 'string': {\n hydratedObj = JSON.parse(obj) as T\n break\n }\n case 'object': {\n if (isObject(obj)) {\n hydratedObj = obj as unknown as T\n }\n break\n }\n }\n\n if (hydratedObj) {\n if (isBoundWitnessWrapper<T, P>(hydratedObj)) {\n return hydratedObj\n }\n if (isBoundWitness(hydratedObj)) {\n const wrapper = new BoundWitnessWrapper(hydratedObj, payloads ?? [])\n return wrapper\n }\n }\n\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined {\n if (obj === undefined) return undefined\n try {\n return this.parse(obj, payloads)\n } catch {\n return undefined\n }\n }\n\n static wrap<T extends BoundWitness, P extends Payload>(\n obj: PayloadWrapperBase<T> | WithoutPrivateStorageMeta<T>,\n payloads?: P[],\n ): BoundWitnessWrapper<T, P> {\n switch (typeof obj) {\n case 'object': {\n if (obj instanceof this) {\n return obj as BoundWitnessWrapper<T, P>\n }\n return obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema ? this.parse(obj.payload, payloads) : this.parse(obj, payloads)\n }\n }\n }\n\n static async wrappedDataHashMap<T extends BoundWitness>(\n boundWitnesses: (T | BoundWitnessWrapper<T>)[],\n ): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n const bw = this.parse<T, Payload>(payload)\n const dataHash = String(await bw.dataHash())\n result[dataHash] = bw\n }),\n )\n return result\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get payloadHashes() {\n return this.boundwitness.payload_hashes\n }\n\n get payloadSchemas() {\n return this.boundwitness.payload_schemas\n }\n\n get previousHashes() {\n return this.boundwitness.previous_hashes\n }\n\n async dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>> {\n if (depth === 0) return this\n\n const innerBoundwitnessIndex: number = this.payloadSchemas.indexOf(BoundWitnessSchema)\n if (innerBoundwitnessIndex !== -1) {\n const innerBoundwitnessHash = String(asHash(this.payloadHashes[innerBoundwitnessIndex], true))\n const allHashMap = await PayloadBuilder.toAllHashMap(this.payloads) as Record<string, Payload>\n const innerBoundwitnessPayload = asBoundWitness(\n allHashMap[innerBoundwitnessHash],\n ) as TBoundWitness | undefined\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined\n = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(innerBoundwitnessPayload, await PayloadBuilder.filterExclude(this.payloads, innerBoundwitnessHash as Hash))\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(isNumber(depth) ? depth - 1 : undefined)\n }\n }\n assertEx(depth === 0, () => `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getMissingPayloads() {\n const payloadMap = await this.payloadsDataHashMap()\n return this.payloadHashes.filter((hash) => {\n const hashKey = String(asHash(hash, true))\n return !Object.hasOwn(payloadMap, hashKey)\n })\n }\n\n async getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]> {\n return this.payloads.map(payload => PayloadWrapper.wrap(payload))\n }\n\n hashesBySchema(schema: string) {\n const result: string[] = []\n for (const [index, payloadSchema] of this.payloadSchemas.entries()) {\n if (payloadSchema === schema) {\n result.push(asHash(this.payloadHashes[index], true))\n }\n }\n return result\n }\n\n async payloadsByDataHashes(hashes: Hash[]): Promise<TPayload[]> {\n const map = await this.payloadsDataHashMap() as Record<string, TPayload>\n return hashes.map((hash) => {\n const hashKey = String(hash)\n return assertEx(map[hashKey], () => 'Hash not found')\n })\n }\n\n async payloadsByHashes(hashes: Hash[]): Promise<TPayload[]> {\n const map = await this.payloadsHashMap() as Record<string, TPayload>\n return hashes.map((hash) => {\n const hashKey = String(hash)\n return assertEx(map[hashKey], () => 'Hash not found')\n })\n }\n\n payloadsBySchema<T extends TPayload>(schema: string): T[] {\n return this.payloads.filter(payload => payload?.schema === schema) as T[]\n }\n\n async payloadsDataHashMap(): Promise<Partial<Record<Hash, TPayload>>> {\n this._payloadDataMap = this._payloadDataMap ?? (await PayloadBuilder.toDataHashMap<TPayload>(this.payloads))\n return this._payloadDataMap\n }\n\n async payloadsHashMap(): Promise<Partial<Record<Hash, TPayload>>> {\n this._payloadMap = this._payloadMap ?? (await PayloadBuilder.toHashMap<TPayload>(this.payloads))\n return this._payloadMap\n }\n\n prev(address: XyoAddress) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloads]\n }\n\n override async validate(): Promise<Error[]> {\n const validator = new BoundWitnessValidator(this.boundwitness)\n return await validator.validate()\n }\n}\n", "import {\n asHash, assertEx, exists, type Promisable,\n} from '@xylabs/sdk-js'\nimport type { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload'\nimport type { Payload, Query } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { BoundWitnessWrapper } from './BoundWitnessWrapper.ts'\n\nexport class QueryBoundWitnessWrapper<T extends Query = Query> extends BoundWitnessWrapper<QueryBoundWitness> {\n private _payloadsWithoutQuery: PayloadWrapper<Payload>[] | undefined\n private _query: T | undefined\n\n static parseQuery<T extends Query = Query>(obj: unknown, payloads?: Payload[]): QueryBoundWitnessWrapper<T> {\n assertEx(!Array.isArray(obj), () => 'Array can not be converted to QueryBoundWitnessWrapper')\n switch (typeof obj) {\n case 'object': {\n const castWrapper = obj as QueryBoundWitnessWrapper<T>\n /* if (!wrapper.valid) {\n console.warn(`Parsed invalid QueryBoundWitness ${JSON.stringify(wrapper.errors.map((error) => error.message))}`)\n } */\n const result = castWrapper instanceof this\n ? castWrapper\n : isQueryBoundWitness(obj)\n ? (\n new QueryBoundWitnessWrapper<T>(\n obj,\n payloads,\n )\n )\n : undefined\n if (result === undefined) {\n throw new Error('Unable to parse. Failed isQueryBoundWitness.')\n }\n return result\n }\n }\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static tryParseQuery<T extends Query>(obj: unknown): Promisable<QueryBoundWitnessWrapper<T> | undefined> {\n if (obj === undefined) return undefined\n try {\n return this.parseQuery<T>(obj)\n } catch {\n return undefined\n }\n }\n\n async getPayloadsWithoutQuery(): Promise<PayloadWrapper<Payload>[]> {\n if (!this._payloadsWithoutQuery) {\n const payloadsWithoutQuery = await PayloadBuilder.filterExclude(this.payloads, asHash(this.payload.query, true))\n this._payloadsWithoutQuery = payloadsWithoutQuery\n .map(payload => PayloadWrapper.wrap(payload))\n .filter(exists)\n }\n return this._payloadsWithoutQuery\n }\n\n async getQuery(): Promise<T> {\n const payloadMap = await this.payloadsDataHashMap() as Record<string, Payload>\n const queryHash = String(asHash(this.boundwitness.query, true))\n this._query = this._query ?? (payloadMap[queryHash] as T | undefined)\n return assertEx(this._query, () => `Missing Query [${JSON.stringify(this.boundwitness)}]`)\n }\n}\n", "import { HashRegEx, HexRegExMinMax } from '@xylabs/sdk-js'\nimport { XyoAddressRegEx } from '@xyo-network/address'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { SchemaRegEx } from '@xyo-network/payload-model'\nimport { payloadJsonSchema } from '@xyo-network/payload-wrapper'\nimport type { JSONSchemaType } from 'ajv'\n\n// 64 bytes: legacy secp256k1 ECDSA compact signature\n// 5261 bytes: ML-DSA-65 bundle (publicKey 1952 + signature 3309)\n// Range covers both; specific algorithm enforcement happens in the validator dispatcher.\nexport const SignatureRegEx = HexRegExMinMax(64, 5261)\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nexport const boundWitnessProperties: JSONSchemaType<BoundWitness>['properties'] = {\n ...payloadJsonSchema.properties,\n addresses: { items: { type: 'string', pattern: XyoAddressRegEx.source }, type: 'array' },\n payload_hashes: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n payload_schemas: { items: { type: 'string', pattern: SchemaRegEx.source }, type: 'array' },\n previous_hashes: {\n items: {\n type: 'string', pattern: HashRegEx.source, nullable: true,\n },\n type: 'array',\n },\n root: { type: 'string', pattern: HashRegEx.source },\n $destination: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n $sourceQuery: { type: 'string', pattern: HashRegEx.source },\n $sources: { items: { type: 'string', pattern: HashRegEx.source }, type: 'array' },\n $signatures: { items: { type: 'string', pattern: SignatureRegEx.source }, type: 'array' },\n}\n\nexport const boundWitnessJsonSchema: JSONSchemaType<BoundWitness> = {\n ...payloadJsonSchema,\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: boundWitnessProperties,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n required: [...payloadJsonSchema.required, 'addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes'],\n type: 'object',\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["asHash", "assertEx", "PayloadBuilder", "PayloadWrapper", "assertEx", "PayloadBuilder", "asHash", "PayloadWrapper"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/boundwitness-wrapper",
3
- "version": "7.0.0",
3
+ "version": "7.0.3",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -34,34 +34,34 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@xyo-network/address": "~7.0.0",
38
- "@xyo-network/boundwitness-model": "~7.0.0",
39
- "@xyo-network/boundwitness-validator": "~7.0.0",
40
- "@xyo-network/payload": "~7.0.0",
41
- "@xyo-network/payload-builder": "~7.0.0",
42
- "@xyo-network/payload-model": "~7.0.0",
43
- "@xyo-network/payload-wrapper": "~7.0.0"
37
+ "@xyo-network/address": "~7.0.3",
38
+ "@xyo-network/boundwitness-model": "~7.0.3",
39
+ "@xyo-network/boundwitness-validator": "~7.0.3",
40
+ "@xyo-network/payload": "~7.0.3",
41
+ "@xyo-network/payload-builder": "~7.0.3",
42
+ "@xyo-network/payload-model": "~7.0.3",
43
+ "@xyo-network/payload-wrapper": "~7.0.3"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@bitauth/libauth": "~3.0.0",
47
47
  "@opentelemetry/api": "^1.9.1",
48
48
  "@opentelemetry/sdk-trace-base": "^2.8.0",
49
49
  "@scure/base": "~2.2.0",
50
- "@xylabs/sdk-js": "^6.1.1",
51
- "@xylabs/threads": "^6.1.1",
52
- "@xylabs/toolchain": "~8.1.20",
53
- "@xylabs/tsconfig": "~8.1.20",
54
- "@xylabs/vitest-extended": "^6.1.1",
50
+ "@xylabs/sdk-js": "^6.1.4",
51
+ "@xylabs/threads": "^6.1.4",
52
+ "@xylabs/toolchain": "~8.3.0",
53
+ "@xylabs/tsconfig": "~8.3.0",
54
+ "@xylabs/vitest-extended": "^6.1.4",
55
55
  "ajv": "^8.20.0",
56
56
  "async-mutex": "^0.5.0",
57
57
  "debug": "^4.4.3",
58
- "eslint": "^10.4.1",
59
- "ethers": "^6.16.0",
58
+ "eslint": "^10.5.0",
59
+ "ethers": "^6.17.0",
60
60
  "hash-wasm": "~4.12.0",
61
61
  "observable-fns": "^0.6.1",
62
62
  "typescript": "~6.0.3",
63
- "vite": "^8.0.16",
64
- "vitest": "~4.1.8",
63
+ "vite": "^8.1.0",
64
+ "vitest": "~4.1.9",
65
65
  "zod": "^4.4.3"
66
66
  },
67
67
  "peerDependencies": {