@xyo-network/boundwitness 2.36.1 → 2.36.2

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,9 +1,9 @@
1
1
  import { XyoDataLike } from '@xyo-network/core';
2
- import { Huri, PayloadWrapper, XyoPayload } from '@xyo-network/payload';
2
+ import { Huri, PayloadWrapper, PayloadWrapperBase, XyoPayload } from '@xyo-network/payload';
3
3
  import { XyoBoundWitness } from '../models';
4
4
  export declare class BoundWitnessWrapper<TBoundWitness extends XyoBoundWitness<{
5
5
  schema: string;
6
- }> = XyoBoundWitness, TPayload extends XyoPayload = XyoPayload> extends PayloadWrapper<TBoundWitness> {
6
+ }> = XyoBoundWitness, TPayload extends XyoPayload = XyoPayload> extends PayloadWrapperBase<TBoundWitness> {
7
7
  private isBoundWitnessWrapper;
8
8
  constructor(boundwitness: TBoundWitness, payloads?: (TPayload | PayloadWrapper<TPayload> | null)[]);
9
9
  protected _payloads: Record<string, PayloadWrapper<TPayload>> | undefined;
@@ -11,10 +11,12 @@ export declare class BoundWitnessWrapper<TBoundWitness extends XyoBoundWitness<{
11
11
  set payloads(payloads: Record<string, PayloadWrapper<TPayload>> | (TPayload | PayloadWrapper<TPayload>)[] | undefined);
12
12
  get payloadsArray(): PayloadWrapper<TPayload>[];
13
13
  get payloadHashes(): string[];
14
+ get previousHashes(): (string | null)[];
14
15
  get addresses(): string[];
15
16
  get payloadSchemas(): string[];
16
17
  get missingPayloads(): string[];
17
18
  get boundwitness(): TBoundWitness;
19
+ prev(address: string): string | null;
18
20
  payloadsBySchema(schema: string): PayloadWrapper<TPayload>[];
19
21
  get errors(): Error[];
20
22
  toResult(): (TBoundWitness | TPayload[])[];
@@ -23,8 +25,8 @@ export declare class BoundWitnessWrapper<TBoundWitness extends XyoBoundWitness<{
23
25
  schema: "network.xyo.boundwitness";
24
26
  }, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
25
27
  schema: string;
26
- }> | undefined>;
27
- static parseBoundWitness<T extends XyoBoundWitness = XyoBoundWitness, P extends XyoPayload = XyoPayload>(obj: unknown): BoundWitnessWrapper<T, P>;
28
+ }> | null>;
29
+ static parse<T extends XyoBoundWitness = XyoBoundWitness, P extends XyoPayload = XyoPayload>(obj: unknown): BoundWitnessWrapper<T, P>;
28
30
  }
29
31
  /** @deprecated use BoundWitnessWrapper instead*/
30
32
  export declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends BoundWitnessWrapper<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGvE,OAAO,EAAE,eAAe,EAAyB,MAAM,WAAW,CAAA;AAGlE,qBAAa,mBAAmB,CAC9B,aAAa,SAAS,eAAe,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,eAAe,EAC3E,QAAQ,SAAS,UAAU,GAAG,UAAU,CACxC,SAAQ,cAAc,CAAC,aAAa,CAAC;IACrC,OAAO,CAAC,qBAAqB,CAAO;gBAExB,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE;IAKlG,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACzE,IAAW,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAE9D;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,SAAS,EAU3H;IAED,IAAW,aAAa,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAErD;IAED,IAAW,aAAa,aAEvB;IAED,IAAW,SAAS,aAEnB;IAED,IAAW,cAAc,aAExB;IAED,IAAW,eAAe,aAEzB;IAED,IAAW,YAAY,kBAEtB;IAEM,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAItC,IAAa,MAAM,YAElB;IAEM,QAAQ;IAIR,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC;WAqBjC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;;;;;WAQ/C,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,EAC5G,GAAG,EAAE,OAAO,GACX,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CAU7B;AAED,iDAAiD;AACjD,qBAAa,sBAAsB,CAAC,CAAC,SAAS,eAAe,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAG3F,OAAO,EAAE,eAAe,EAAyB,MAAM,WAAW,CAAA;AAGlE,qBAAa,mBAAmB,CAC9B,aAAa,SAAS,eAAe,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,eAAe,EAC3E,QAAQ,SAAS,UAAU,GAAG,UAAU,CACxC,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IACzC,OAAO,CAAC,qBAAqB,CAAO;gBAExB,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE;IAKlG,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACzE,IAAW,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAE9D;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,SAAS,EAU3H;IAED,IAAW,aAAa,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAErD;IAED,IAAW,aAAa,aAEvB;IAED,IAAW,cAAc,sBAExB;IAED,IAAW,SAAS,aAEnB;IAED,IAAW,cAAc,aAExB;IAED,IAAW,eAAe,aAEzB;IAED,IAAW,YAAY,kBAEtB;IAEM,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAItC,IAAa,MAAM,YAElB;IAEM,QAAQ;IAIR,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC;WAqBjC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;;;;;WAOtC,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,EACzG,GAAG,EAAE,OAAO,GACX,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CAU7B;AAED,iDAAiD;AACjD,qBAAa,sBAAsB,CAAC,CAAC,SAAS,eAAe,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
@@ -1,9 +1,9 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
- import { Huri, PayloadWrapper } from '@xyo-network/payload';
2
+ import { Huri, PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload';
3
3
  import compact from 'lodash/compact';
4
4
  import { XyoBoundWitnessSchema } from '../models';
5
5
  import { BoundWitnessValidator } from '../Validator';
6
- export class BoundWitnessWrapper extends PayloadWrapper {
6
+ export class BoundWitnessWrapper extends PayloadWrapperBase {
7
7
  isBoundWitnessWrapper = true;
8
8
  constructor(boundwitness, payloads) {
9
9
  super(boundwitness);
@@ -31,6 +31,9 @@ export class BoundWitnessWrapper extends PayloadWrapper {
31
31
  get payloadHashes() {
32
32
  return this.boundwitness.payload_hashes;
33
33
  }
34
+ get previousHashes() {
35
+ return this.boundwitness.previous_hashes;
36
+ }
34
37
  get addresses() {
35
38
  return this.boundwitness.addresses;
36
39
  }
@@ -43,6 +46,9 @@ export class BoundWitnessWrapper extends PayloadWrapper {
43
46
  get boundwitness() {
44
47
  return this.obj;
45
48
  }
49
+ prev(address) {
50
+ return this.previousHashes[this.addresses.findIndex((addr) => address === addr)];
51
+ }
46
52
  payloadsBySchema(schema) {
47
53
  return Object.values(this.payloads)?.filter((payload) => payload.schemaName === schema);
48
54
  }
@@ -72,11 +78,9 @@ export class BoundWitnessWrapper extends PayloadWrapper {
72
78
  static async load(address) {
73
79
  const payload = await new Huri(address).fetch();
74
80
  assertEx(payload?.schema === XyoBoundWitnessSchema, 'Attempt to load non-boundwitness');
75
- if (payload) {
76
- return new BoundWitnessWrapper(payload);
77
- }
81
+ return payload ? new BoundWitnessWrapper(payload) : null;
78
82
  }
79
- static parseBoundWitness(obj) {
83
+ static parse(obj) {
80
84
  assertEx(!Array.isArray(obj), 'Array can not be converted to BoundWitnessWrapper');
81
85
  switch (typeof obj) {
82
86
  case 'object': {
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { XyoPayload } from '@xyo-network/payload';
2
2
  import { XyoBoundWitnessSchema } from '../XyoBoundWitnessSchema';
3
3
  export declare type XyoBoundWitnessBase = {
4
4
  addresses: string[];
5
- previous_hash?: string;
6
5
  payload_hashes: string[];
7
6
  payload_schemas: string[];
8
7
  previous_hashes: (string | null)[];
@@ -1 +1 @@
1
- {"version":3,"file":"XyoBoundWitnessBase.d.ts","sourceRoot":"","sources":["../../../../src/models/Base/XyoBoundWitnessBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,oBAAY,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,IAAI,GAAG,IAAI,IAAI,UAAU,CAC1E,CAAC,SAAS,UAAU,GAAG,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EACpE,CAAC,SAAS,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAC3D,CAAA"}
1
+ {"version":3,"file":"XyoBoundWitnessBase.d.ts","sourceRoot":"","sources":["../../../../src/models/Base/XyoBoundWitnessBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,oBAAY,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,IAAI,GAAG,IAAI,IAAI,UAAU,CAC1E,CAAC,SAAS,UAAU,GAAG,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EACpE,CAAC,SAAS,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAC3D,CAAA"}
package/package.json CHANGED
@@ -12,10 +12,10 @@
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
14
  "@xylabs/buffer": "^2.6.9",
15
- "@xyo-network/account": "^2.36.1",
16
- "@xyo-network/core": "^2.36.1",
17
- "@xyo-network/payload": "^2.36.1",
18
- "@xyo-network/typeof": "^2.36.1",
15
+ "@xyo-network/account": "^2.36.2",
16
+ "@xyo-network/core": "^2.36.2",
17
+ "@xyo-network/payload": "^2.36.2",
18
+ "@xyo-network/typeof": "^2.36.2",
19
19
  "lodash": "^4.17.21",
20
20
  "tslib": "^2.4.0"
21
21
  },
@@ -55,5 +55,5 @@
55
55
  },
56
56
  "sideEffects": false,
57
57
  "types": "dist/esm/index.d.ts",
58
- "version": "2.36.1"
58
+ "version": "2.36.2"
59
59
  }
@@ -1,6 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { XyoDataLike } from '@xyo-network/core'
3
- import { Huri, PayloadWrapper, XyoPayload } from '@xyo-network/payload'
3
+ import { Huri, PayloadWrapper, PayloadWrapperBase, XyoPayload } from '@xyo-network/payload'
4
4
  import compact from 'lodash/compact'
5
5
 
6
6
  import { XyoBoundWitness, XyoBoundWitnessSchema } from '../models'
@@ -9,7 +9,7 @@ import { BoundWitnessValidator } from '../Validator'
9
9
  export class BoundWitnessWrapper<
10
10
  TBoundWitness extends XyoBoundWitness<{ schema: string }> = XyoBoundWitness,
11
11
  TPayload extends XyoPayload = XyoPayload,
12
- > extends PayloadWrapper<TBoundWitness> {
12
+ > extends PayloadWrapperBase<TBoundWitness> {
13
13
  private isBoundWitnessWrapper = true
14
14
 
15
15
  constructor(boundwitness: TBoundWitness, payloads?: (TPayload | PayloadWrapper<TPayload> | null)[]) {
@@ -42,6 +42,10 @@ export class BoundWitnessWrapper<
42
42
  return this.boundwitness.payload_hashes
43
43
  }
44
44
 
45
+ public get previousHashes() {
46
+ return this.boundwitness.previous_hashes
47
+ }
48
+
45
49
  public get addresses() {
46
50
  return this.boundwitness.addresses
47
51
  }
@@ -58,6 +62,10 @@ export class BoundWitnessWrapper<
58
62
  return this.obj
59
63
  }
60
64
 
65
+ public prev(address: string) {
66
+ return this.previousHashes[this.addresses.findIndex((addr) => address === addr)]
67
+ }
68
+
61
69
  public payloadsBySchema(schema: string) {
62
70
  return Object.values(this.payloads)?.filter((payload) => payload.schemaName === schema)
63
71
  }
@@ -94,12 +102,11 @@ export class BoundWitnessWrapper<
94
102
  public static override async load(address: XyoDataLike | Huri) {
95
103
  const payload = await new Huri(address).fetch()
96
104
  assertEx(payload?.schema === XyoBoundWitnessSchema, 'Attempt to load non-boundwitness')
97
- if (payload) {
98
- return new BoundWitnessWrapper(payload as XyoBoundWitness)
99
- }
105
+
106
+ return payload ? new BoundWitnessWrapper(payload as XyoBoundWitness) : null
100
107
  }
101
108
 
102
- public static parseBoundWitness<T extends XyoBoundWitness = XyoBoundWitness, P extends XyoPayload = XyoPayload>(
109
+ public static override parse<T extends XyoBoundWitness = XyoBoundWitness, P extends XyoPayload = XyoPayload>(
103
110
  obj: unknown,
104
111
  ): BoundWitnessWrapper<T, P> {
105
112
  assertEx(!Array.isArray(obj), 'Array can not be converted to BoundWitnessWrapper')
@@ -4,7 +4,6 @@ import { XyoBoundWitnessSchema } from '../XyoBoundWitnessSchema'
4
4
 
5
5
  export type XyoBoundWitnessBase = {
6
6
  addresses: string[]
7
- previous_hash?: string
8
7
  payload_hashes: string[]
9
8
  payload_schemas: string[]
10
9
  previous_hashes: (string | null)[]