@xyo-network/boundwitness-builder 2.63.5 → 2.63.8

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.
@@ -10,6 +10,8 @@ export class BoundWitnessBuilder {
10
10
  logger;
11
11
  static _buildMutex = new Mutex();
12
12
  _accounts = [];
13
+ _errorHashes;
14
+ _errors = [];
13
15
  _payloadHashes;
14
16
  _payloadSchemas;
15
17
  _payloads = [];
@@ -47,9 +49,25 @@ export class BoundWitnessBuilder {
47
49
  //leaving this in here to prevent breaking code (for now)
48
50
  anyRet._payloads = this.inlinePayloads();
49
51
  }
50
- return [ret, this._payloads];
52
+ return [ret, this._payloads, this._errors];
51
53
  });
52
54
  }
55
+ error(payload) {
56
+ const unwrappedPayload = PayloadWrapper.unwrap(payload);
57
+ assertEx(this._errorHashes === undefined, 'Can not set errors when hashes already set');
58
+ if (unwrappedPayload) {
59
+ this._errors.push(assertEx(sortFields(unwrappedPayload)));
60
+ }
61
+ return this;
62
+ }
63
+ errors(errors) {
64
+ errors?.forEach((error) => {
65
+ if (error !== null) {
66
+ this.error(error);
67
+ }
68
+ });
69
+ return this;
70
+ }
53
71
  async hashableFields() {
54
72
  const addresses = this._accounts.map((account) => account.address);
55
73
  const previous_hashes = this._accounts.map((account) => account.previousHash ?? null);
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
2
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
3
  import { Data } from '@xyo-network/core';
4
+ import { ModuleError } from '@xyo-network/module-model';
4
5
  import { Payload } from '@xyo-network/payload-model';
5
6
  import { Logger } from '@xyo-network/shared';
6
7
  export interface BoundWitnessBuilderConfig {
@@ -16,13 +17,17 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness<{
16
17
  protected readonly logger?: Logger | undefined;
17
18
  private static readonly _buildMutex;
18
19
  private _accounts;
20
+ private _errorHashes;
21
+ private _errors;
19
22
  private _payloadHashes;
20
23
  private _payloadSchemas;
21
24
  private _payloads;
22
25
  private _timestamp;
23
26
  constructor(config?: BoundWitnessBuilderConfig, logger?: Logger | undefined);
24
27
  private get _payload_schemas();
25
- build(meta?: boolean): Promise<[TBoundWitness, TPayload[]]>;
28
+ build(meta?: boolean): Promise<[TBoundWitness, TPayload[], ModuleError[]]>;
29
+ error(payload?: ModuleError): this;
30
+ errors(errors?: (ModuleError | null)[]): this;
26
31
  hashableFields(): Promise<TBoundWitness>;
27
32
  hashes(hashes: string[], schema: string[]): this;
28
33
  payload(payload?: TPayload): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAsB,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAAE,IAAI,EAA6B,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG5C,MAAM,WAAW,yBAAyB;IACxC,8GAA8G;IAC9G,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,qBAAa,mBAAmB,CAAC,aAAa,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO;IAQ5H,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAA8B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP9G,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAc;IACjD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,UAAU,CAAa;gBAEV,MAAM,GAAE,yBAAqD,EAAqB,MAAM,CAAC,oBAAQ;IAEtH,OAAO,KAAK,gBAAgB,GAO3B;IAEK,KAAK,CAAC,IAAI,UAAQ,GAAG,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IA6BzD,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IA0B9C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAOzC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ;IAS1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;IASvC,OAAO,CAAC,OAAO,EAAE,eAAe;IAKhC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE;cAKrB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;YAOzE,gBAAgB;IAI9B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,oBAAoB;CAG7B"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAsB,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAAE,IAAI,EAA6B,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG5C,MAAM,WAAW,yBAAyB;IACxC,8GAA8G;IAC9G,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,qBAAa,mBAAmB,CAAC,aAAa,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO;IAU5H,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAA8B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;IAT9G,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAc;IACjD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,UAAU,CAAa;gBAEV,MAAM,GAAE,yBAAqD,EAAqB,MAAM,CAAC,oBAAQ;IAEtH,OAAO,KAAK,gBAAgB,GAO3B;IAEK,KAAK,CAAC,IAAI,UAAQ,GAAG,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IA6B9E,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW;IAS3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE;IAShC,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IA0B9C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAOzC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ;IAS1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;IASvC,OAAO,CAAC,OAAO,EAAE,eAAe;IAKhC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE;cAKrB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;YAOzE,gBAAgB;IAI9B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,oBAAoB;CAG7B"}
package/package.json CHANGED
@@ -12,13 +12,14 @@
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.9.1",
14
14
  "@xylabs/buffer": "^2.9.1",
15
- "@xyo-network/account-model": "^2.63.5",
16
- "@xyo-network/boundwitness-model": "^2.63.5",
17
- "@xyo-network/boundwitness-wrapper": "^2.63.5",
18
- "@xyo-network/core": "^2.63.5",
19
- "@xyo-network/payload": "^2.63.5",
20
- "@xyo-network/payload-model": "^2.63.5",
21
- "@xyo-network/shared": "^2.63.5",
15
+ "@xyo-network/account-model": "^2.63.8",
16
+ "@xyo-network/boundwitness-model": "^2.63.8",
17
+ "@xyo-network/boundwitness-wrapper": "^2.63.8",
18
+ "@xyo-network/core": "^2.63.8",
19
+ "@xyo-network/module-model": "^2.63.8",
20
+ "@xyo-network/payload": "^2.63.8",
21
+ "@xyo-network/payload-model": "^2.63.8",
22
+ "@xyo-network/shared": "^2.63.8",
22
23
  "async-mutex": "^0.4.0"
23
24
  },
24
25
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -59,5 +60,5 @@
59
60
  },
60
61
  "sideEffects": false,
61
62
  "types": "dist/types/index.d.ts",
62
- "version": "2.63.5"
63
+ "version": "2.63.8"
63
64
  }
package/src/Builder.ts CHANGED
@@ -4,6 +4,7 @@ import { AccountInstance } from '@xyo-network/account-model'
4
4
  import { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'
5
5
  import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
6
6
  import { Data, PayloadHasher, sortFields } from '@xyo-network/core'
7
+ import { ModuleError } from '@xyo-network/module-model'
7
8
  import { PayloadWrapper } from '@xyo-network/payload'
8
9
  import { Payload } from '@xyo-network/payload-model'
9
10
  import { Logger } from '@xyo-network/shared'
@@ -19,6 +20,8 @@ export interface BoundWitnessBuilderConfig {
19
20
  export class BoundWitnessBuilder<TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness, TPayload extends Payload = Payload> {
20
21
  private static readonly _buildMutex = new Mutex()
21
22
  private _accounts: AccountInstance[] = []
23
+ private _errorHashes: string[] | undefined
24
+ private _errors: ModuleError[] = []
22
25
  private _payloadHashes: string[] | undefined
23
26
  private _payloadSchemas: string[] | undefined
24
27
  private _payloads: TPayload[] = []
@@ -35,7 +38,7 @@ export class BoundWitnessBuilder<TBoundWitness extends BoundWitness<{ schema: st
35
38
  )
36
39
  }
37
40
 
38
- async build(meta = false): Promise<[TBoundWitness, TPayload[]]> {
41
+ async build(meta = false): Promise<[TBoundWitness, TPayload[], ModuleError[]]> {
39
42
  return await BoundWitnessBuilder._buildMutex.runExclusive(async () => {
40
43
  const hashableFields = await this.hashableFields()
41
44
  const _hash = await BoundWitnessWrapper.hashAsync(hashableFields)
@@ -60,10 +63,28 @@ export class BoundWitnessBuilder<TBoundWitness extends BoundWitness<{ schema: st
60
63
  //leaving this in here to prevent breaking code (for now)
61
64
  anyRet._payloads = this.inlinePayloads()
62
65
  }
63
- return [ret, this._payloads]
66
+ return [ret, this._payloads, this._errors]
64
67
  })
65
68
  }
66
69
 
70
+ error(payload?: ModuleError) {
71
+ const unwrappedPayload = PayloadWrapper.unwrap(payload)
72
+ assertEx(this._errorHashes === undefined, 'Can not set errors when hashes already set')
73
+ if (unwrappedPayload) {
74
+ this._errors.push(assertEx(sortFields(unwrappedPayload)))
75
+ }
76
+ return this
77
+ }
78
+
79
+ errors(errors?: (ModuleError | null)[]) {
80
+ errors?.forEach((error) => {
81
+ if (error !== null) {
82
+ this.error(error)
83
+ }
84
+ })
85
+ return this
86
+ }
87
+
67
88
  async hashableFields(): Promise<TBoundWitness> {
68
89
  const addresses = this._accounts.map((account) => account.address)
69
90
  const previous_hashes = this._accounts.map((account) => account.previousHash ?? null)