@xyo-network/boundwitness 2.36.1 → 2.36.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.
- package/dist/cjs/Wrapper/Wrapper.d.ts +6 -4
- package/dist/cjs/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.js +9 -5
- package/dist/cjs/Wrapper/Wrapper.js.map +1 -1
- package/dist/cjs/models/Base/XyoBoundWitnessBase.d.ts +0 -1
- package/dist/cjs/models/Base/XyoBoundWitnessBase.d.ts.map +1 -1
- package/dist/docs.json +1629 -1804
- package/dist/esm/Wrapper/Wrapper.d.ts +6 -4
- package/dist/esm/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/esm/Wrapper/Wrapper.js +10 -6
- package/dist/esm/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/models/Base/XyoBoundWitnessBase.d.ts +0 -1
- package/dist/esm/models/Base/XyoBoundWitnessBase.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/Wrapper/Wrapper.ts +13 -6
- package/src/models/Base/XyoBoundWitnessBase.ts +0 -1
|
@@ -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
|
|
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
|
-
}> |
|
|
27
|
-
static
|
|
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;
|
|
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
|
|
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
|
-
|
|
76
|
-
return new BoundWitnessWrapper(payload);
|
|
77
|
-
}
|
|
81
|
+
return payload ? new BoundWitnessWrapper(payload) : null;
|
|
78
82
|
}
|
|
79
|
-
static
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAA;
|
|
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,
|
|
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.
|
|
16
|
-
"@xyo-network/core": "^2.36.
|
|
17
|
-
"@xyo-network/payload": "^2.36.
|
|
18
|
-
"@xyo-network/typeof": "^2.36.
|
|
15
|
+
"@xyo-network/account": "^2.36.3",
|
|
16
|
+
"@xyo-network/core": "^2.36.3",
|
|
17
|
+
"@xyo-network/payload": "^2.36.3",
|
|
18
|
+
"@xyo-network/typeof": "^2.36.3",
|
|
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.
|
|
58
|
+
"version": "2.36.3"
|
|
59
59
|
}
|
package/src/Wrapper/Wrapper.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
105
|
+
|
|
106
|
+
return payload ? new BoundWitnessWrapper(payload as XyoBoundWitness) : null
|
|
100
107
|
}
|
|
101
108
|
|
|
102
|
-
public static
|
|
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')
|