@xyo-network/boundwitness-wrapper 2.88.2 → 2.89.0-rc.1

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.
@@ -1,4 +1,3 @@
1
- import { Promisable } from '@xylabs/promise';
2
1
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
2
  import { Payload } from '@xyo-network/payload-model';
4
3
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
@@ -9,13 +8,12 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
9
8
  private _moduleErrors;
10
9
  private _payloadMap;
11
10
  private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
11
+ protected constructor(boundwitness: TBoundWitness, payloads?: TPayload[], moduleErrors?: Payload[]);
14
12
  get addresses(): string[];
15
13
  get boundwitness(): TBoundWitness;
16
14
  get payloadHashes(): string[];
17
15
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
16
+ get payloadsArray(): TPayload[];
19
17
  get previousHashes(): (string | null)[];
20
18
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
19
  schema: string;
@@ -27,18 +25,17 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
27
25
  } & object> | null>;
28
26
  static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
27
  static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
28
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
29
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
30
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
31
+ static wrappedDataMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
33
32
  static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
33
  allPayloadMap(): Promise<Record<string, TPayload>>;
35
34
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
35
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
36
+ getModuleErrors(): Payload[];
37
+ getPayloads(): TPayload[];
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
40
  payloadMap(): Promise<Record<string, TPayload>>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
@@ -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,3 @@
1
- import { Promisable } from '@xylabs/promise';
2
1
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
2
  import { Payload } from '@xyo-network/payload-model';
4
3
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
@@ -9,13 +8,12 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
9
8
  private _moduleErrors;
10
9
  private _payloadMap;
11
10
  private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
11
+ protected constructor(boundwitness: TBoundWitness, payloads?: TPayload[], moduleErrors?: Payload[]);
14
12
  get addresses(): string[];
15
13
  get boundwitness(): TBoundWitness;
16
14
  get payloadHashes(): string[];
17
15
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
16
+ get payloadsArray(): TPayload[];
19
17
  get previousHashes(): (string | null)[];
20
18
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
19
  schema: string;
@@ -27,18 +25,17 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
27
25
  } & object> | null>;
28
26
  static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
27
  static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
28
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
29
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
30
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
31
+ static wrappedDataMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
33
32
  static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
33
  allPayloadMap(): Promise<Record<string, TPayload>>;
35
34
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
35
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
36
+ getModuleErrors(): Payload[];
37
+ getPayloads(): TPayload[];
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
40
  payloadMap(): Promise<Record<string, TPayload>>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
@@ -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,3 @@
1
- import { Promisable } from '@xylabs/promise';
2
1
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
2
  import { Payload } from '@xyo-network/payload-model';
4
3
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
@@ -9,13 +8,12 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
9
8
  private _moduleErrors;
10
9
  private _payloadMap;
11
10
  private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
11
+ protected constructor(boundwitness: TBoundWitness, payloads?: TPayload[], moduleErrors?: Payload[]);
14
12
  get addresses(): string[];
15
13
  get boundwitness(): TBoundWitness;
16
14
  get payloadHashes(): string[];
17
15
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
16
+ get payloadsArray(): TPayload[];
19
17
  get previousHashes(): (string | null)[];
20
18
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
19
  schema: string;
@@ -27,18 +25,17 @@ export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
27
25
  } & object> | null>;
28
26
  static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
27
  static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
28
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
29
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
30
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
31
+ static wrappedDataMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
33
32
  static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
33
  allPayloadMap(): Promise<Record<string, TPayload>>;
35
34
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
35
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
36
+ getModuleErrors(): Payload[];
37
+ getPayloads(): TPayload[];
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
40
  payloadMap(): Promise<Record<string, TPayload>>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
@@ -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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"}
@@ -32,6 +32,7 @@ var import_lodash = require("@xylabs/lodash");
32
32
  var import_boundwitness_model = require("@xyo-network/boundwitness-model");
33
33
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
34
34
  var import_hash = require("@xyo-network/hash");
35
+ var import_payload_builder = require("@xyo-network/payload-builder");
35
36
  var import_payload_wrapper = require("@xyo-network/payload-wrapper");
36
37
  var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrapper.PayloadWrapperBase {
37
38
  static {
@@ -41,11 +42,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
41
42
  _moduleErrors;
42
43
  _payloadMap;
43
44
  _payloads;
44
- isBoundWitnessWrapper = true;
45
45
  constructor(boundwitness, payloads, moduleErrors) {
46
46
  super(boundwitness);
47
- this._payloads = payloads ? (0, import_lodash.compact)(payloads.filter(import_exists.exists).map((payload) => import_payload_wrapper.PayloadWrapper.wrap(payload))) : [];
48
- this._moduleErrors = moduleErrors ? (0, import_lodash.compact)(moduleErrors.filter(import_exists.exists).map((error) => import_payload_wrapper.PayloadWrapper.wrap(error))) : [];
47
+ this._payloads = payloads ? (0, import_lodash.compact)(payloads.filter(import_exists.exists)) : [];
48
+ this._moduleErrors = moduleErrors ? (0, import_lodash.compact)(moduleErrors.filter(import_exists.exists)) : [];
49
49
  }
50
50
  get addresses() {
51
51
  return this.boundwitness.addresses;
@@ -70,10 +70,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
70
70
  }
71
71
  static async load(address) {
72
72
  const wrapper = await import_payload_wrapper.PayloadWrapper.load(address);
73
- const payload = wrapper?.payload();
73
+ const payload = wrapper?.jsonPayload();
74
74
  (0, import_assert.assertEx)(payload && (0, import_boundwitness_model.isBoundWitness)(payload), "Attempt to load non-boundwitness");
75
75
  const boundWitness = payload && (0, import_boundwitness_model.isBoundWitness)(payload) ? payload : void 0;
76
- return boundWitness ? _BoundWitnessWrapper.wrap(boundWitness) : null;
76
+ return boundWitness ? await _BoundWitnessWrapper.wrap(boundWitness) : null;
77
77
  }
78
78
  static async mapPayloads(payloads) {
79
79
  const result = {};
@@ -81,7 +81,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
81
81
  const unwrapped = (0, import_assert.assertEx)(import_payload_wrapper.PayloadWrapper.unwrap(payload));
82
82
  return [
83
83
  unwrapped,
84
- await import_hash.PayloadHasher.hashAsync(unwrapped)
84
+ (await import_payload_builder.PayloadBuilder.build(unwrapped)).$hash
85
85
  ];
86
86
  }));
87
87
  for (const [payload, payloadHash] of payloadPairs) {
@@ -98,49 +98,60 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
98
98
  await import_hash.PayloadHasher.hashAsync(unwrapped)
99
99
  ];
100
100
  }));
101
- for (const [payload, payloadHash] of payloadPairs) {
102
- result[payloadHash] = import_payload_wrapper.PayloadWrapper.wrap(payload);
103
- }
101
+ await Promise.all(payloadPairs.map(async ([payload, hash]) => {
102
+ result[hash] = await import_payload_wrapper.PayloadWrapper.wrap(payload);
103
+ }));
104
104
  return result;
105
105
  }
106
- static parse(obj, payloads) {
107
- const hydratedObj = typeof obj === "string" ? JSON.parse(obj) : obj;
106
+ static async parse(obj, payloads) {
107
+ const hydratedObj = await import_payload_builder.PayloadBuilder.build(typeof obj === "string" ? JSON.parse(obj) : obj);
108
108
  (0, import_assert.assertEx)(!Array.isArray(hydratedObj), "Array can not be converted to BoundWitnessWrapper");
109
109
  switch (typeof hydratedObj) {
110
110
  case "object": {
111
- const castWrapper = hydratedObj;
112
- const newWrapper = castWrapper?.isBoundWitnessWrapper ? castWrapper : new _BoundWitnessWrapper(hydratedObj, payloads);
113
- return newWrapper;
111
+ return hydratedObj instanceof _BoundWitnessWrapper ? hydratedObj : new _BoundWitnessWrapper(hydratedObj, payloads);
114
112
  }
115
113
  }
116
114
  throw new Error(`Unable to parse [${typeof obj}]`);
117
115
  }
118
- static tryParse(obj, payloads) {
116
+ static async tryParse(obj, payloads) {
119
117
  if (obj === void 0)
120
118
  return void 0;
121
119
  try {
122
- return this.parse(obj, payloads);
120
+ return await this.parse(obj, payloads);
123
121
  } catch {
124
122
  return void 0;
125
123
  }
126
124
  }
127
- static wrap(obj, payloads) {
125
+ static async wrap(obj, payloads) {
128
126
  switch (typeof obj) {
129
127
  case "object": {
130
- const newWrapper = new _BoundWitnessWrapper((0, import_assert.assertEx)(_BoundWitnessWrapper.unwrap(obj)), payloads);
131
- return newWrapper;
128
+ if (obj instanceof _BoundWitnessWrapper) {
129
+ return obj;
130
+ } else if (obj instanceof import_payload_wrapper.PayloadWrapper && obj.schema() === import_boundwitness_model.BoundWitnessSchema) {
131
+ return await _BoundWitnessWrapper.parse(obj.jsonPayload(), payloads);
132
+ } else {
133
+ return await _BoundWitnessWrapper.parse(obj, payloads);
134
+ }
132
135
  }
133
136
  }
134
137
  }
138
+ static async wrappedDataMap(boundWitnesses) {
139
+ const result = {};
140
+ await Promise.all(boundWitnesses.map(async (payload) => {
141
+ const bw = await _BoundWitnessWrapper.parse(payload);
142
+ result[await bw.dataHash()] = bw;
143
+ }));
144
+ return result;
145
+ }
135
146
  static async wrappedMap(boundWitnesses) {
136
147
  const result = {};
137
148
  await Promise.all(boundWitnesses.map(async (payload) => {
138
- result[await _BoundWitnessWrapper.hashAsync(payload)] = _BoundWitnessWrapper.parse(payload);
149
+ result[await _BoundWitnessWrapper.hashAsync(payload)] = await _BoundWitnessWrapper.parse(payload);
139
150
  }));
140
151
  return result;
141
152
  }
142
153
  async allPayloadMap() {
143
- this._allPayloadMap = this._allPayloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getAllPayloads());
154
+ this._allPayloadMap = this._allPayloadMap ?? await _BoundWitnessWrapper.mapPayloads(this.getPayloads());
144
155
  return this._allPayloadMap;
145
156
  }
146
157
  async dig(depth) {
@@ -150,7 +161,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
150
161
  if (innerBoundwitnessIndex > -1) {
151
162
  const innerBoundwitnessHash = this.payloadHashes[innerBoundwitnessIndex];
152
163
  const innerBoundwitnessPayload = (await _BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash];
153
- const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload.body(), (await import_hash.PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)).map((item) => item.body())) : void 0;
164
+ const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload.jsonPayload(), await import_hash.PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)) : void 0;
154
165
  if (innerBoundwitness) {
155
166
  return innerBoundwitness.dig(depth ? depth - 1 : void 0);
156
167
  }
@@ -158,25 +169,19 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
158
169
  (0, import_assert.assertEx)(!depth, `Dig failed [Remaining Depth: ${depth}]`);
159
170
  return this;
160
171
  }
161
- async getAllPayloads() {
162
- return (await this.getAllWrappedPayloads()).map((wrapper) => wrapper.payload());
163
- }
164
- getAllWrappedPayloads() {
165
- return this._payloads;
166
- }
167
172
  async getMissingPayloads() {
168
173
  const payloadMap = await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
169
174
  return this.payloadHashes.filter((hash) => !payloadMap[hash]);
170
175
  }
171
- async getPayloads() {
172
- return (await this.getWrappedPayloads()).map((wrapper) => wrapper.payload());
173
- }
174
- getWrappedModuleErrors() {
176
+ getModuleErrors() {
175
177
  return this._moduleErrors;
176
178
  }
177
- getWrappedPayloads() {
179
+ getPayloads() {
178
180
  return this._payloads;
179
181
  }
182
+ async getWrappedPayloads() {
183
+ return await Promise.all(this._payloads.map((payload) => import_payload_wrapper.PayloadWrapper.wrap(payload)));
184
+ }
180
185
  hashesBySchema(schema) {
181
186
  const result = [];
182
187
  for (const [index, payloadSchema] of this.payloadSchemas.entries()) {
@@ -187,7 +192,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
187
192
  return result;
188
193
  }
189
194
  async payloadMap() {
190
- this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
195
+ this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.mapPayloads(this.getPayloads());
191
196
  return this._payloadMap;
192
197
  }
193
198
  async payloadsByHashes(hashes) {
@@ -203,7 +208,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
203
208
  toResult() {
204
209
  return [
205
210
  this.boundwitness,
206
- this.payloadsArray.map((payload) => payload.body())
211
+ this.payloadsArray
207
212
  ];
208
213
  }
209
214
  async validate() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/BoundWitnessWrapper.ts"],"sourcesContent":["export * from './BoundWitnessWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { compact } from '@xylabs/lodash'\nimport { Promisable } from '@xylabs/promise'\nimport { BoundWitness, BoundWitnessSchema, isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper'\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n private _allPayloadMap: Record<string, TPayload> | undefined\n private _moduleErrors: PayloadWrapper[]\n private _payloadMap: Record<string, TPayload> | undefined\n private _payloads: PayloadWrapper<TPayload>[]\n private isBoundWitnessWrapper = true\n\n protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]) {\n super(boundwitness)\n this._payloads = payloads ? compact(payloads.filter(exists).map((payload) => PayloadWrapper.wrap<TPayload>(payload))) : []\n this._moduleErrors = moduleErrors ? compact(moduleErrors.filter(exists).map((error) => PayloadWrapper.wrap<Payload>(error))) : []\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get boundwitness() {\n return this.obj\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 payloadsArray(): PayloadWrapper<TPayload>[] {\n return Object.values(this._payloads ?? {})\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>) : null\n }\n\n static async load(address: string) {\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 async mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>> {\n const result: Record<string, TPayload> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, await PayloadHasher.hashAsync(unwrapped)]\n }),\n )\n\n for (const [payload, payloadHash] of payloadPairs) {\n result[payloadHash] = payload\n }\n return result\n }\n\n static async mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>> {\n const result: Record<string, PayloadWrapper<TPayload>> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, await PayloadHasher.hashAsync(unwrapped)]\n }),\n )\n\n for (const [payload, payloadHash] of payloadPairs) {\n result[payloadHash] = PayloadWrapper.wrap(payload)\n }\n return result\n }\n\n static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> {\n const hydratedObj = typeof obj === 'string' ? JSON.parse(obj) : obj\n assertEx(!Array.isArray(hydratedObj), 'Array can not be converted to BoundWitnessWrapper')\n switch (typeof hydratedObj) {\n case 'object': {\n const castWrapper = hydratedObj as BoundWitnessWrapper<T, P>\n const newWrapper = castWrapper?.isBoundWitnessWrapper ? castWrapper : new BoundWitnessWrapper(hydratedObj as T, payloads)\n /*if (!newWrapper.getValid()) {\n console.warn('Wrapped invalid BoundWitness')\n }*/\n return newWrapper\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>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P> {\n switch (typeof obj) {\n case 'object': {\n const newWrapper = new BoundWitnessWrapper<T, P>(assertEx(BoundWitnessWrapper.unwrap<T>(obj)), payloads)\n /*if (!newWrapper.getValid()) {\n console.warn('Wrapped invalid BoundWitness')\n }*/\n return newWrapper\n }\n }\n }\n\n static async wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n result[await BoundWitnessWrapper.hashAsync(payload)] = BoundWitnessWrapper.parse(payload)\n }),\n )\n return result\n }\n\n async allPayloadMap(): Promise<Record<string, TPayload>> {\n this._allPayloadMap = this._allPayloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(await this.getAllPayloads()))\n return this._allPayloadMap\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 = this.payloadHashes[innerBoundwitnessIndex]\n const innerBoundwitnessPayload = (await BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash]\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(\n innerBoundwitnessPayload.body() as unknown as TBoundWitness,\n (await PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)).map((item) => item.body() as unknown as TBoundWitness),\n )\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(depth ? depth - 1 : undefined)\n }\n }\n assertEx(!depth, `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getAllPayloads(): Promise<TPayload[]> {\n return (await this.getAllWrappedPayloads()).map((wrapper) => wrapper.payload())\n }\n\n getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]> {\n return this._payloads\n }\n\n async getMissingPayloads() {\n const payloadMap = await BoundWitnessWrapper.mapPayloads(await this.getPayloads())\n return this.payloadHashes.filter((hash) => !payloadMap[hash])\n }\n\n async getPayloads(): Promise<TPayload[]> {\n return (await this.getWrappedPayloads()).map((wrapper) => wrapper.payload())\n }\n\n getWrappedModuleErrors(): Promisable<PayloadWrapper[]> {\n return this._moduleErrors\n }\n\n getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]> {\n return this._payloads\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(this.payloadHashes[index])\n }\n }\n return result\n }\n\n async payloadMap(): Promise<Record<string, TPayload>> {\n this._payloadMap = this._payloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(await this.getPayloads()))\n return this._payloadMap\n }\n\n async payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]> {\n const map = await this.payloadMap()\n return hashes.map<T>((hash) => assertEx(map[hash], 'Hash not found') as T)\n }\n\n async payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]> {\n return (await this.getPayloads()).filter((payload) => payload?.schema === schema) as T[]\n }\n\n prev(address: string) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloadsArray.map((payload) => payload.body())]\n }\n\n override async validate(): Promise<Error[]> {\n return await new BoundWitnessValidator(this.boundwitness).validate()\n }\n}\n"],"mappings":"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","names":["BoundWitnessWrapper","PayloadWrapperBase","_allPayloadMap","_moduleErrors","_payloadMap","_payloads","isBoundWitnessWrapper","boundwitness","payloads","moduleErrors","compact","filter","exists","map","payload","PayloadWrapper","wrap","error","addresses","obj","payloadHashes","payload_hashes","payloadSchemas","payload_schemas","payloadsArray","Object","values","previousHashes","previous_hashes","as","value","load","address","wrapper","assertEx","isBoundWitness","boundWitness","undefined","mapPayloads","result","payloadPairs","Promise","all","unwrapped","unwrap","PayloadHasher","hashAsync","payloadHash","mapWrappedPayloads","parse","hydratedObj","JSON","Array","isArray","castWrapper","newWrapper","Error","tryParse","wrappedMap","boundWitnesses","allPayloadMap","getAllPayloads","dig","depth","innerBoundwitnessIndex","indexOf","BoundWitnessSchema","innerBoundwitnessHash","innerBoundwitnessPayload","getPayloads","innerBoundwitness","body","filterExclude","item","getAllWrappedPayloads","getMissingPayloads","payloadMap","hash","getWrappedPayloads","getWrappedModuleErrors","hashesBySchema","schema","index","payloadSchema","entries","push","payloadsByHashes","hashes","payloadsBySchema","prev","toResult","validate","BoundWitnessValidator"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/BoundWitnessWrapper.ts"],"sourcesContent":["export * from './BoundWitnessWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { compact } from '@xylabs/lodash'\nimport { BoundWitness, BoundWitnessSchema, isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper'\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n private _allPayloadMap: Record<string, TPayload> | undefined\n private _moduleErrors: Payload[]\n private _payloadMap: Record<string, TPayload> | undefined\n private _payloads: TPayload[]\n\n protected constructor(boundwitness: TBoundWitness, payloads?: TPayload[], moduleErrors?: Payload[]) {\n super(boundwitness)\n this._payloads = payloads ? compact(payloads.filter(exists)) : []\n this._moduleErrors = moduleErrors ? compact(moduleErrors.filter(exists)) : []\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get boundwitness() {\n return this.obj\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 payloadsArray(): TPayload[] {\n return Object.values(this._payloads ?? {})\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>) : null\n }\n\n static async load(address: string) {\n const wrapper = await PayloadWrapper.load(address)\n const payload = wrapper?.jsonPayload()\n assertEx(payload && isBoundWitness(payload), 'Attempt to load non-boundwitness')\n\n const boundWitness: BoundWitness | undefined = payload && isBoundWitness(payload) ? payload : undefined\n return boundWitness ? await BoundWitnessWrapper.wrap(boundWitness) : null\n }\n\n static async mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>> {\n const result: Record<string, TPayload> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, (await PayloadBuilder.build(unwrapped)).$hash]\n }),\n )\n\n for (const [payload, payloadHash] of payloadPairs) {\n result[payloadHash] = payload\n }\n return result\n }\n\n static async mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>> {\n const result: Record<string, PayloadWrapper<TPayload>> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, await PayloadHasher.hashAsync(unwrapped)]\n }),\n )\n\n await Promise.all(\n payloadPairs.map(async ([payload, hash]) => {\n result[hash] = await PayloadWrapper.wrap(payload)\n }),\n )\n return result\n }\n\n static async parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>> {\n const hydratedObj = await PayloadBuilder.build(typeof obj === 'string' ? JSON.parse(obj) : obj)\n assertEx(!Array.isArray(hydratedObj), 'Array can not be converted to BoundWitnessWrapper')\n switch (typeof hydratedObj) {\n case 'object': {\n return hydratedObj instanceof BoundWitnessWrapper ? hydratedObj : new BoundWitnessWrapper(hydratedObj, payloads)\n }\n }\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static async tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined> {\n if (obj === undefined) return undefined\n try {\n return await this.parse(obj, payloads)\n } catch {\n return undefined\n }\n }\n\n static async wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>> {\n switch (typeof obj) {\n case 'object': {\n if (obj instanceof BoundWitnessWrapper) {\n return obj\n } else if (obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema) {\n return await BoundWitnessWrapper.parse(obj.jsonPayload(), payloads)\n } else {\n return await BoundWitnessWrapper.parse(obj, payloads)\n }\n }\n }\n }\n\n static async wrappedDataMap<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 = await BoundWitnessWrapper.parse<T, Payload>(payload)\n result[await bw.dataHash()] = bw\n }),\n )\n return result\n }\n\n static async wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n result[await BoundWitnessWrapper.hashAsync(payload)] = await BoundWitnessWrapper.parse(payload)\n }),\n )\n return result\n }\n\n async allPayloadMap(): Promise<Record<string, TPayload>> {\n this._allPayloadMap = this._allPayloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(this.getPayloads()))\n return this._allPayloadMap\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 = this.payloadHashes[innerBoundwitnessIndex]\n const innerBoundwitnessPayload = (await BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash]\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(\n innerBoundwitnessPayload.jsonPayload() as unknown as TBoundWitness,\n await PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash),\n )\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(depth ? depth - 1 : undefined)\n }\n }\n assertEx(!depth, `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getMissingPayloads() {\n const payloadMap = await BoundWitnessWrapper.mapPayloads(await this.getPayloads())\n return this.payloadHashes.filter((hash) => !payloadMap[hash])\n }\n\n getModuleErrors(): Payload[] {\n return this._moduleErrors\n }\n\n getPayloads(): TPayload[] {\n return this._payloads\n }\n\n async getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]> {\n return await Promise.all(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(this.payloadHashes[index])\n }\n }\n return result\n }\n\n async payloadMap(): Promise<Record<string, TPayload>> {\n this._payloadMap = this._payloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(this.getPayloads()))\n return this._payloadMap\n }\n\n async payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]> {\n const map = await this.payloadMap()\n return hashes.map<T>((hash) => assertEx(map[hash], 'Hash not found') as T)\n }\n\n async payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]> {\n return (await this.getPayloads()).filter((payload) => payload?.schema === schema) as T[]\n }\n\n prev(address: string) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloadsArray]\n }\n\n override async validate(): Promise<Error[]> {\n return await new BoundWitnessValidator(this.boundwitness).validate()\n }\n}\n"],"mappings":"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","names":["BoundWitnessWrapper","PayloadWrapperBase","_allPayloadMap","_moduleErrors","_payloadMap","_payloads","boundwitness","payloads","moduleErrors","compact","filter","exists","addresses","obj","payloadHashes","payload_hashes","payloadSchemas","payload_schemas","payloadsArray","Object","values","previousHashes","previous_hashes","as","value","load","address","wrapper","PayloadWrapper","payload","jsonPayload","assertEx","isBoundWitness","boundWitness","undefined","wrap","mapPayloads","result","payloadPairs","Promise","all","map","unwrapped","unwrap","PayloadBuilder","build","$hash","payloadHash","mapWrappedPayloads","PayloadHasher","hashAsync","hash","parse","hydratedObj","JSON","Array","isArray","Error","tryParse","schema","BoundWitnessSchema","wrappedDataMap","boundWitnesses","bw","dataHash","wrappedMap","allPayloadMap","getPayloads","dig","depth","innerBoundwitnessIndex","indexOf","innerBoundwitnessHash","innerBoundwitnessPayload","innerBoundwitness","filterExclude","getMissingPayloads","payloadMap","getModuleErrors","getWrappedPayloads","hashesBySchema","index","payloadSchema","entries","push","payloadsByHashes","hashes","payloadsBySchema","prev","toResult","validate","BoundWitnessValidator"]}
@@ -8,6 +8,7 @@ import { compact } from "@xylabs/lodash";
8
8
  import { BoundWitnessSchema, isBoundWitness } from "@xyo-network/boundwitness-model";
9
9
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
10
10
  import { PayloadHasher } from "@xyo-network/hash";
11
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
11
12
  import { PayloadWrapper, PayloadWrapperBase } from "@xyo-network/payload-wrapper";
12
13
  var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase {
13
14
  static {
@@ -17,11 +18,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
17
18
  _moduleErrors;
18
19
  _payloadMap;
19
20
  _payloads;
20
- isBoundWitnessWrapper = true;
21
21
  constructor(boundwitness, payloads, moduleErrors) {
22
22
  super(boundwitness);
23
- this._payloads = payloads ? compact(payloads.filter(exists).map((payload) => PayloadWrapper.wrap(payload))) : [];
24
- this._moduleErrors = moduleErrors ? compact(moduleErrors.filter(exists).map((error) => PayloadWrapper.wrap(error))) : [];
23
+ this._payloads = payloads ? compact(payloads.filter(exists)) : [];
24
+ this._moduleErrors = moduleErrors ? compact(moduleErrors.filter(exists)) : [];
25
25
  }
26
26
  get addresses() {
27
27
  return this.boundwitness.addresses;
@@ -46,10 +46,10 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
46
46
  }
47
47
  static async load(address) {
48
48
  const wrapper = await PayloadWrapper.load(address);
49
- const payload = wrapper?.payload();
49
+ const payload = wrapper?.jsonPayload();
50
50
  assertEx(payload && isBoundWitness(payload), "Attempt to load non-boundwitness");
51
51
  const boundWitness = payload && isBoundWitness(payload) ? payload : void 0;
52
- return boundWitness ? _BoundWitnessWrapper.wrap(boundWitness) : null;
52
+ return boundWitness ? await _BoundWitnessWrapper.wrap(boundWitness) : null;
53
53
  }
54
54
  static async mapPayloads(payloads) {
55
55
  const result = {};
@@ -57,7 +57,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
57
57
  const unwrapped = assertEx(PayloadWrapper.unwrap(payload));
58
58
  return [
59
59
  unwrapped,
60
- await PayloadHasher.hashAsync(unwrapped)
60
+ (await PayloadBuilder.build(unwrapped)).$hash
61
61
  ];
62
62
  }));
63
63
  for (const [payload, payloadHash] of payloadPairs) {
@@ -74,49 +74,60 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
74
74
  await PayloadHasher.hashAsync(unwrapped)
75
75
  ];
76
76
  }));
77
- for (const [payload, payloadHash] of payloadPairs) {
78
- result[payloadHash] = PayloadWrapper.wrap(payload);
79
- }
77
+ await Promise.all(payloadPairs.map(async ([payload, hash]) => {
78
+ result[hash] = await PayloadWrapper.wrap(payload);
79
+ }));
80
80
  return result;
81
81
  }
82
- static parse(obj, payloads) {
83
- const hydratedObj = typeof obj === "string" ? JSON.parse(obj) : obj;
82
+ static async parse(obj, payloads) {
83
+ const hydratedObj = await PayloadBuilder.build(typeof obj === "string" ? JSON.parse(obj) : obj);
84
84
  assertEx(!Array.isArray(hydratedObj), "Array can not be converted to BoundWitnessWrapper");
85
85
  switch (typeof hydratedObj) {
86
86
  case "object": {
87
- const castWrapper = hydratedObj;
88
- const newWrapper = castWrapper?.isBoundWitnessWrapper ? castWrapper : new _BoundWitnessWrapper(hydratedObj, payloads);
89
- return newWrapper;
87
+ return hydratedObj instanceof _BoundWitnessWrapper ? hydratedObj : new _BoundWitnessWrapper(hydratedObj, payloads);
90
88
  }
91
89
  }
92
90
  throw new Error(`Unable to parse [${typeof obj}]`);
93
91
  }
94
- static tryParse(obj, payloads) {
92
+ static async tryParse(obj, payloads) {
95
93
  if (obj === void 0)
96
94
  return void 0;
97
95
  try {
98
- return this.parse(obj, payloads);
96
+ return await this.parse(obj, payloads);
99
97
  } catch {
100
98
  return void 0;
101
99
  }
102
100
  }
103
- static wrap(obj, payloads) {
101
+ static async wrap(obj, payloads) {
104
102
  switch (typeof obj) {
105
103
  case "object": {
106
- const newWrapper = new _BoundWitnessWrapper(assertEx(_BoundWitnessWrapper.unwrap(obj)), payloads);
107
- return newWrapper;
104
+ if (obj instanceof _BoundWitnessWrapper) {
105
+ return obj;
106
+ } else if (obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema) {
107
+ return await _BoundWitnessWrapper.parse(obj.jsonPayload(), payloads);
108
+ } else {
109
+ return await _BoundWitnessWrapper.parse(obj, payloads);
110
+ }
108
111
  }
109
112
  }
110
113
  }
114
+ static async wrappedDataMap(boundWitnesses) {
115
+ const result = {};
116
+ await Promise.all(boundWitnesses.map(async (payload) => {
117
+ const bw = await _BoundWitnessWrapper.parse(payload);
118
+ result[await bw.dataHash()] = bw;
119
+ }));
120
+ return result;
121
+ }
111
122
  static async wrappedMap(boundWitnesses) {
112
123
  const result = {};
113
124
  await Promise.all(boundWitnesses.map(async (payload) => {
114
- result[await _BoundWitnessWrapper.hashAsync(payload)] = _BoundWitnessWrapper.parse(payload);
125
+ result[await _BoundWitnessWrapper.hashAsync(payload)] = await _BoundWitnessWrapper.parse(payload);
115
126
  }));
116
127
  return result;
117
128
  }
118
129
  async allPayloadMap() {
119
- this._allPayloadMap = this._allPayloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getAllPayloads());
130
+ this._allPayloadMap = this._allPayloadMap ?? await _BoundWitnessWrapper.mapPayloads(this.getPayloads());
120
131
  return this._allPayloadMap;
121
132
  }
122
133
  async dig(depth) {
@@ -126,7 +137,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
126
137
  if (innerBoundwitnessIndex > -1) {
127
138
  const innerBoundwitnessHash = this.payloadHashes[innerBoundwitnessIndex];
128
139
  const innerBoundwitnessPayload = (await _BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash];
129
- const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload.body(), (await PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)).map((item) => item.body())) : void 0;
140
+ const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload.jsonPayload(), await PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)) : void 0;
130
141
  if (innerBoundwitness) {
131
142
  return innerBoundwitness.dig(depth ? depth - 1 : void 0);
132
143
  }
@@ -134,25 +145,19 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
134
145
  assertEx(!depth, `Dig failed [Remaining Depth: ${depth}]`);
135
146
  return this;
136
147
  }
137
- async getAllPayloads() {
138
- return (await this.getAllWrappedPayloads()).map((wrapper) => wrapper.payload());
139
- }
140
- getAllWrappedPayloads() {
141
- return this._payloads;
142
- }
143
148
  async getMissingPayloads() {
144
149
  const payloadMap = await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
145
150
  return this.payloadHashes.filter((hash) => !payloadMap[hash]);
146
151
  }
147
- async getPayloads() {
148
- return (await this.getWrappedPayloads()).map((wrapper) => wrapper.payload());
149
- }
150
- getWrappedModuleErrors() {
152
+ getModuleErrors() {
151
153
  return this._moduleErrors;
152
154
  }
153
- getWrappedPayloads() {
155
+ getPayloads() {
154
156
  return this._payloads;
155
157
  }
158
+ async getWrappedPayloads() {
159
+ return await Promise.all(this._payloads.map((payload) => PayloadWrapper.wrap(payload)));
160
+ }
156
161
  hashesBySchema(schema) {
157
162
  const result = [];
158
163
  for (const [index, payloadSchema] of this.payloadSchemas.entries()) {
@@ -163,7 +168,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
163
168
  return result;
164
169
  }
165
170
  async payloadMap() {
166
- this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
171
+ this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.mapPayloads(this.getPayloads());
167
172
  return this._payloadMap;
168
173
  }
169
174
  async payloadsByHashes(hashes) {
@@ -179,7 +184,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends PayloadWrapperBase
179
184
  toResult() {
180
185
  return [
181
186
  this.boundwitness,
182
- this.payloadsArray.map((payload) => payload.body())
187
+ this.payloadsArray
183
188
  ];
184
189
  }
185
190
  async validate() {