@xyo-network/boundwitness 2.36.0-rc.1 → 2.36.0
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 +3 -0
- package/dist/cjs/Builder/Builder.d.ts.map +1 -1
- package/dist/cjs/Builder/Builder.js +23 -8
- package/dist/cjs/Builder/Builder.js.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.js +4 -4
- package/dist/cjs/models/Base/XyoBoundWitnessBase.d.ts +1 -0
- package/dist/cjs/models/Base/XyoBoundWitnessBase.d.ts.map +1 -1
- package/dist/docs.json +1514 -1423
- package/dist/esm/Builder/Builder.d.ts +3 -0
- package/dist/esm/Builder/Builder.d.ts.map +1 -1
- package/dist/esm/Builder/Builder.js +16 -6
- package/dist/esm/Builder/Builder.js.map +1 -1
- package/dist/esm/Wrapper/Wrapper.js +1 -1
- package/dist/esm/models/Base/XyoBoundWitnessBase.d.ts +1 -0
- package/dist/esm/models/Base/XyoBoundWitnessBase.d.ts.map +1 -1
- package/package.json +7 -8
- package/src/Builder/Builder.spec.ts +1 -1
- package/src/Builder/Builder.ts +21 -6
- package/src/Wrapper/Wrapper.ts +1 -1
- package/src/models/Base/XyoBoundWitnessBase.ts +1 -0
|
@@ -4,6 +4,8 @@ import { XyoBoundWitness } from '../models';
|
|
|
4
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
|
+
readonly timestamp?: boolean;
|
|
8
|
+
readonly meta?: boolean;
|
|
7
9
|
}
|
|
8
10
|
/** @deprecated use BoundWitnessBuilderConfig instead */
|
|
9
11
|
export declare type XyoBoundWitnessBuilderConfig = BoundWitnessBuilderConfig;
|
|
@@ -15,6 +17,7 @@ export declare class BoundWitnessBuilder<TBoundWitness extends XyoBoundWitness<{
|
|
|
15
17
|
private _payload_schemas;
|
|
16
18
|
private _payloads;
|
|
17
19
|
private _payloadHashes;
|
|
20
|
+
private _timestamp;
|
|
18
21
|
constructor(config?: BoundWitnessBuilderConfig);
|
|
19
22
|
private get _payload_hashes();
|
|
20
23
|
witness(account: XyoAccount): this;
|
|
@@ -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;
|
|
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;AAGlE,MAAM,WAAW,yBAAyB;IACxC,8GAA8G;IAC9G,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wDAAwD;AACxD,oBAAY,4BAA4B,GAAG,yBAAyB,CAAA;AAEpE,qBAAa,mBAAmB,CAC9B,aAAa,SAAS,eAAe,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,eAAe,EAC3E,QAAQ,SAAS,UAAU,GAAG,UAAU;aAQZ,MAAM,EAAE,yBAAyB;IAN7D,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAa;gBAEH,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;IAiBtC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;IAIlC,OAAO,CAAC,cAAc;IASf,KAAK,IAAI,aAAa;CAyB9B;AAED,kDAAkD;AAClD,qBAAa,sBAAuB,SAAQ,mBAAmB;CAAG"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.XyoBoundWitnessBuilder = exports.BoundWitnessBuilder = void 0;
|
|
4
|
+
const assert_1 = require("@xylabs/assert");
|
|
4
5
|
const buffer_1 = require("@xylabs/buffer");
|
|
5
|
-
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
6
|
const core_1 = require("@xyo-network/core");
|
|
7
7
|
const models_1 = require("../models");
|
|
8
|
+
const Wrapper_1 = require("../Wrapper");
|
|
8
9
|
class BoundWitnessBuilder {
|
|
9
10
|
constructor(config = { inlinePayloads: false }) {
|
|
10
11
|
this.config = config;
|
|
11
12
|
this._accounts = [];
|
|
12
13
|
this._payload_schemas = [];
|
|
13
14
|
this._payloads = [];
|
|
15
|
+
this._timestamp = Date.now();
|
|
14
16
|
}
|
|
15
17
|
get _payload_hashes() {
|
|
16
18
|
var _a;
|
|
@@ -39,20 +41,25 @@ class BoundWitnessBuilder {
|
|
|
39
41
|
payload(payload) {
|
|
40
42
|
if (payload) {
|
|
41
43
|
this._payload_schemas.push(payload.schema);
|
|
42
|
-
this._payloads.push((0,
|
|
44
|
+
this._payloads.push((0, assert_1.assertEx)((0, core_1.sortFields)(payload)));
|
|
43
45
|
}
|
|
44
46
|
return this;
|
|
45
47
|
}
|
|
46
48
|
hashableFields() {
|
|
49
|
+
var _a;
|
|
47
50
|
const addresses = this._accounts.map((account) => account.addressValue.hex);
|
|
48
51
|
const previous_hashes = this._accounts.map((account) => { var _a, _b; return (_b = (_a = account.previousHash) === null || _a === void 0 ? void 0 : _a.hex) !== null && _b !== void 0 ? _b : null; });
|
|
49
|
-
|
|
50
|
-
addresses: (0,
|
|
51
|
-
payload_hashes: (0,
|
|
52
|
-
payload_schemas: (0,
|
|
52
|
+
const result = {
|
|
53
|
+
addresses: (0, assert_1.assertEx)(addresses, 'Missing addresses'),
|
|
54
|
+
payload_hashes: (0, assert_1.assertEx)(this._payload_hashes, 'Missing payload_hashes'),
|
|
55
|
+
payload_schemas: (0, assert_1.assertEx)(this._payload_schemas, 'Missing payload_schemas'),
|
|
53
56
|
previous_hashes,
|
|
54
57
|
schema: models_1.XyoBoundWitnessSchema,
|
|
55
58
|
};
|
|
59
|
+
if ((_a = this.config.timestamp) !== null && _a !== void 0 ? _a : true) {
|
|
60
|
+
result.timestamp = this._timestamp;
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
56
63
|
}
|
|
57
64
|
signatures(_hash) {
|
|
58
65
|
return this._accounts.map((account) => buffer_1.Buffer.from(account.sign(buffer_1.Buffer.from(_hash, 'hex'))).toString('hex'));
|
|
@@ -63,9 +70,17 @@ class BoundWitnessBuilder {
|
|
|
63
70
|
});
|
|
64
71
|
}
|
|
65
72
|
build() {
|
|
73
|
+
var _a, _b;
|
|
66
74
|
const hashableFields = this.hashableFields();
|
|
67
|
-
const _hash =
|
|
68
|
-
const ret = Object.assign(Object.assign({}, hashableFields), {
|
|
75
|
+
const _hash = Wrapper_1.BoundWitnessWrapper.hash(hashableFields);
|
|
76
|
+
const ret = Object.assign(Object.assign({}, hashableFields), { _signatures: this.signatures(_hash) });
|
|
77
|
+
if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.meta) !== null && _b !== void 0 ? _b : true) {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
const bwWithMeta = ret;
|
|
80
|
+
bwWithMeta._client = 'js';
|
|
81
|
+
bwWithMeta._hash = _hash;
|
|
82
|
+
bwWithMeta._timestamp = this._timestamp;
|
|
83
|
+
}
|
|
69
84
|
if (this.config.inlinePayloads) {
|
|
70
85
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
71
86
|
const anyRet = ret;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.XyoBoundWitnessWrapper = exports.BoundWitnessWrapper = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const assert_1 = require("@xylabs/assert");
|
|
6
6
|
const payload_1 = require("@xyo-network/payload");
|
|
7
7
|
const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
|
|
8
8
|
const models_1 = require("../models");
|
|
@@ -72,20 +72,20 @@ class BoundWitnessWrapper extends payload_1.PayloadWrapper {
|
|
|
72
72
|
return innerBoundwitness.dig(depth ? depth - 1 : undefined);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
(0,
|
|
75
|
+
(0, assert_1.assertEx)(!depth, `Dig failed [Remaining Depth: ${depth}]`);
|
|
76
76
|
return this;
|
|
77
77
|
}
|
|
78
78
|
static load(address) {
|
|
79
79
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
80
|
const payload = yield new payload_1.Huri(address).fetch();
|
|
81
|
-
(0,
|
|
81
|
+
(0, assert_1.assertEx)((payload === null || payload === void 0 ? void 0 : payload.schema) === models_1.XyoBoundWitnessSchema, 'Attempt to load non-boundwitness');
|
|
82
82
|
if (payload) {
|
|
83
83
|
return new BoundWitnessWrapper(payload);
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
static parseBoundWitness(obj) {
|
|
88
|
-
(0,
|
|
88
|
+
(0, assert_1.assertEx)(!Array.isArray(obj), 'Array can not be converted to BoundWitnessWrapper');
|
|
89
89
|
switch (typeof obj) {
|
|
90
90
|
case 'object': {
|
|
91
91
|
const castWrapper = obj;
|
|
@@ -6,6 +6,7 @@ export declare type XyoBoundWitnessBase = {
|
|
|
6
6
|
payload_hashes: string[];
|
|
7
7
|
payload_schemas: string[];
|
|
8
8
|
previous_hashes: (string | null)[];
|
|
9
|
+
timestamp?: number;
|
|
9
10
|
_signatures: string[];
|
|
10
11
|
};
|
|
11
12
|
export declare type XyoBoundWitness<T extends XyoPayload | void = void> = XyoPayload<T extends XyoPayload ? XyoBoundWitnessBase & T : XyoBoundWitnessBase, T extends XyoPayload ? T['schema'] : XyoBoundWitnessSchema>;
|
|
@@ -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,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,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"}
|