@xyo-network/boundwitness 2.33.13 → 2.33.15
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/Builder/Builder.d.ts +10 -5
- package/dist/cjs/Builder/Builder.d.ts.map +1 -1
- package/dist/cjs/Builder/Builder.js +6 -2
- package/dist/cjs/Builder/Builder.js.map +1 -1
- package/dist/docs.json +3517 -2644
- package/dist/esm/Builder/Builder.d.ts +10 -5
- package/dist/esm/Builder/Builder.d.ts.map +1 -1
- package/dist/esm/Builder/Builder.js +4 -1
- package/dist/esm/Builder/Builder.js.map +1 -1
- package/package.json +5 -5
- package/src/Builder/Builder.spec.ts +5 -5
- package/src/Builder/Builder.ts +11 -5
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
2
|
import { XyoPayload } from '@xyo-network/payload';
|
|
3
3
|
import { XyoBoundWitness } from '../models';
|
|
4
|
-
export interface
|
|
4
|
+
export interface BoundWitnessBuilderConfig {
|
|
5
5
|
/** Whether or not the payloads should be included in the metadata sent to and recorded by the ArchivistApi */
|
|
6
6
|
readonly inlinePayloads?: boolean;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/** @deprecated use BoundWitnessBuilderConfig instead */
|
|
9
|
+
export declare type XyoBoundWitnessBuilderConfig = BoundWitnessBuilderConfig;
|
|
10
|
+
export declare class BoundWitnessBuilder<TBoundWitness extends XyoBoundWitness = XyoBoundWitness, TPayload extends XyoPayload = XyoPayload> {
|
|
11
|
+
readonly config: BoundWitnessBuilderConfig;
|
|
10
12
|
private _accounts;
|
|
11
13
|
private _payload_schemas;
|
|
12
14
|
private _payloads;
|
|
13
15
|
private _payloadHashes;
|
|
14
|
-
constructor(config?:
|
|
16
|
+
constructor(config?: BoundWitnessBuilderConfig);
|
|
15
17
|
private get _payload_hashes();
|
|
16
18
|
witness(account: XyoAccount): this;
|
|
17
19
|
payloads(payloads: (TPayload | null)[]): this;
|
|
@@ -20,6 +22,9 @@ export declare class XyoBoundWitnessBuilder<TBoundWitness extends XyoBoundWitnes
|
|
|
20
22
|
hashableFields(): TBoundWitness;
|
|
21
23
|
private signatures;
|
|
22
24
|
private inlinePayloads;
|
|
23
|
-
build():
|
|
25
|
+
build(): TBoundWitness;
|
|
26
|
+
}
|
|
27
|
+
/** @deprecated use BoundWitnessBuilder instead */
|
|
28
|
+
export declare class XyoBoundWitnessBuilder extends BoundWitnessBuilder {
|
|
24
29
|
}
|
|
25
30
|
//# sourceMappingURL=Builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAyB,MAAM,WAAW,CAAA;AAElE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAyB,MAAM,WAAW,CAAA;AAElE,MAAM,WAAW,yBAAyB;IACxC,8GAA8G;IAC9G,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,wDAAwD;AACxD,oBAAY,4BAA4B,GAAG,yBAAyB,CAAA;AAEpE,qBAAa,mBAAmB,CAAC,aAAa,SAAS,eAAe,GAAG,eAAe,EAAE,QAAQ,SAAS,UAAU,GAAG,UAAU;aAMpG,MAAM,EAAE,yBAAyB;IAL7D,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAAsB;gBAEhB,MAAM,GAAE,yBAAqD;IAEzF,OAAO,KAAK,eAAe,GAO1B;IAEM,OAAO,CAAC,OAAO,EAAE,UAAU;IAK3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;IAStC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAMzC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ;IAQ1B,cAAc,IAAI,aAAa;IAYtC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;IASf,KAAK,IAAI,aAAa;CAmB9B;AAED,kDAAkD;AAClD,qBAAa,sBAAuB,SAAQ,mBAAmB;CAAG"}
|
|
@@ -2,7 +2,7 @@ import { Buffer } from '@xylabs/buffer';
|
|
|
2
2
|
import { assertEx } from '@xylabs/sdk-js';
|
|
3
3
|
import { Hasher, sortFields } from '@xyo-network/core';
|
|
4
4
|
import { XyoBoundWitnessSchema } from '../models';
|
|
5
|
-
export class
|
|
5
|
+
export class BoundWitnessBuilder {
|
|
6
6
|
config;
|
|
7
7
|
_accounts = [];
|
|
8
8
|
_payload_schemas = [];
|
|
@@ -82,4 +82,7 @@ export class XyoBoundWitnessBuilder {
|
|
|
82
82
|
return ret;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
/** @deprecated use BoundWitnessBuilder instead */
|
|
86
|
+
export class XyoBoundWitnessBuilder extends BoundWitnessBuilder {
|
|
87
|
+
}
|
|
85
88
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGtD,OAAO,EAAmB,qBAAqB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/buffer": "^2.6.7",
|
|
14
14
|
"@xylabs/sdk-js": "^2.6.7",
|
|
15
|
-
"@xyo-network/account": "^2.33.
|
|
16
|
-
"@xyo-network/core": "^2.33.
|
|
17
|
-
"@xyo-network/payload": "^2.33.
|
|
18
|
-
"@xyo-network/typeof": "^2.33.
|
|
15
|
+
"@xyo-network/account": "^2.33.15",
|
|
16
|
+
"@xyo-network/core": "^2.33.15",
|
|
17
|
+
"@xyo-network/payload": "^2.33.15",
|
|
18
|
+
"@xyo-network/typeof": "^2.33.15",
|
|
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.33.
|
|
58
|
+
"version": "2.33.15"
|
|
59
59
|
}
|
|
@@ -5,7 +5,7 @@ import { XyoAccount, XyoAddressValue } from '@xyo-network/account'
|
|
|
5
5
|
import { Hasher, StringKeyObject } from '@xyo-network/core'
|
|
6
6
|
import { XyoPayload } from '@xyo-network/payload'
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { BoundWitnessBuilder } from './Builder'
|
|
9
9
|
|
|
10
10
|
const schema = 'network.xyo.temp'
|
|
11
11
|
const payload1: XyoPayload<StringKeyObject & { schema: string }> = {
|
|
@@ -31,7 +31,7 @@ const payload2: XyoPayload<StringKeyObject & { schema: string }> = {
|
|
|
31
31
|
const payloads = [payload1, payload2]
|
|
32
32
|
const payloadHash = '3c817871cbf24708703e907dbc344b1b2aefcc3603d14d59c3a35a5c446410d1'
|
|
33
33
|
|
|
34
|
-
describe('
|
|
34
|
+
describe('BoundWitnessBuilder', () => {
|
|
35
35
|
describe('hash', () => {
|
|
36
36
|
it.each(payloads)('consistently hashes equivalent payload independent of the order of the keys', (payload) => {
|
|
37
37
|
const hash = new Hasher(payload).hash
|
|
@@ -42,7 +42,7 @@ describe('XyoBoundWitnessBuilder', () => {
|
|
|
42
42
|
describe('_hash', () => {
|
|
43
43
|
it.each(payloads)('consistently hashes equivalent payloads independent of the order of the keys', (payload) => {
|
|
44
44
|
const address = XyoAccount.fromPhrase('test1')
|
|
45
|
-
let builder = new
|
|
45
|
+
let builder = new BoundWitnessBuilder()
|
|
46
46
|
expect(builder).toBeDefined()
|
|
47
47
|
builder = builder.witness(address)
|
|
48
48
|
expect(builder).toBeDefined()
|
|
@@ -65,7 +65,7 @@ describe('XyoBoundWitnessBuilder', () => {
|
|
|
65
65
|
describe('with inlinePayloads true', () => {
|
|
66
66
|
it('contains the _payloads field', () => {
|
|
67
67
|
const address = XyoAccount.fromPhrase('test2')
|
|
68
|
-
const builder = new
|
|
68
|
+
const builder = new BoundWitnessBuilder({ inlinePayloads: true }).witness(address).payload(payload1)
|
|
69
69
|
|
|
70
70
|
const actual = builder.build()
|
|
71
71
|
|
|
@@ -75,7 +75,7 @@ describe('XyoBoundWitnessBuilder', () => {
|
|
|
75
75
|
describe('with inlinePayloads false', () => {
|
|
76
76
|
it('omits the _payloads field', () => {
|
|
77
77
|
const address = XyoAccount.fromPhrase('test3')
|
|
78
|
-
const builder = new
|
|
78
|
+
const builder = new BoundWitnessBuilder({ inlinePayloads: false }).witness(address).payload(payload1)
|
|
79
79
|
|
|
80
80
|
const actual = builder.build()
|
|
81
81
|
|
package/src/Builder/Builder.ts
CHANGED
|
@@ -6,18 +6,21 @@ import { XyoPayload } from '@xyo-network/payload'
|
|
|
6
6
|
|
|
7
7
|
import { XyoBoundWitness, XyoBoundWitnessSchema } from '../models'
|
|
8
8
|
|
|
9
|
-
export interface
|
|
9
|
+
export interface BoundWitnessBuilderConfig {
|
|
10
10
|
/** Whether or not the payloads should be included in the metadata sent to and recorded by the ArchivistApi */
|
|
11
11
|
readonly inlinePayloads?: boolean
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
/** @deprecated use BoundWitnessBuilderConfig instead */
|
|
15
|
+
export type XyoBoundWitnessBuilderConfig = BoundWitnessBuilderConfig
|
|
16
|
+
|
|
17
|
+
export class BoundWitnessBuilder<TBoundWitness extends XyoBoundWitness = XyoBoundWitness, TPayload extends XyoPayload = XyoPayload> {
|
|
15
18
|
private _accounts: XyoAccount[] = []
|
|
16
19
|
private _payload_schemas: string[] = []
|
|
17
20
|
private _payloads: TPayload[] = []
|
|
18
21
|
private _payloadHashes: string[] | undefined
|
|
19
22
|
|
|
20
|
-
constructor(public readonly config:
|
|
23
|
+
constructor(public readonly config: BoundWitnessBuilderConfig = { inlinePayloads: false }) {}
|
|
21
24
|
|
|
22
25
|
private get _payload_hashes(): string[] {
|
|
23
26
|
return (
|
|
@@ -81,11 +84,11 @@ export class XyoBoundWitnessBuilder<TBoundWitness extends XyoBoundWitness = XyoB
|
|
|
81
84
|
})
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
public build():
|
|
87
|
+
public build(): TBoundWitness {
|
|
85
88
|
const hashableFields = this.hashableFields()
|
|
86
89
|
const _hash = new Hasher(hashableFields).hash
|
|
87
90
|
|
|
88
|
-
const ret:
|
|
91
|
+
const ret: TBoundWitness = {
|
|
89
92
|
...hashableFields,
|
|
90
93
|
_client: 'js',
|
|
91
94
|
_hash,
|
|
@@ -101,3 +104,6 @@ export class XyoBoundWitnessBuilder<TBoundWitness extends XyoBoundWitness = XyoB
|
|
|
101
104
|
return ret
|
|
102
105
|
}
|
|
103
106
|
}
|
|
107
|
+
|
|
108
|
+
/** @deprecated use BoundWitnessBuilder instead */
|
|
109
|
+
export class XyoBoundWitnessBuilder extends BoundWitnessBuilder {}
|