@xyo-network/boundwitness-builder 2.106.0 → 2.107.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.
@@ -37,12 +37,12 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
37
37
  static build<TBoundWitness extends BoundWitness>(options: BoundWitnessBuilderOptions<TBoundWitness>): Promise<[WithMeta<TBoundWitness>, WithMeta<{
38
38
  schema: string;
39
39
  } & import("@xyo-network/payload-model").PayloadFields>[], WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
40
- details?: import("@xylabs/object").JsonValue | undefined;
41
- message?: string | undefined;
42
- name?: string | undefined;
43
- query?: Lowercase<string> | undefined;
44
- schema: "network.xyo.error.module";
45
- sources?: Lowercase<string>[] | undefined;
40
+ details?: import("@xylabs/object").JsonValue;
41
+ message?: string;
42
+ name?: string;
43
+ query?: Hash;
44
+ schema: import("@xyo-network/payload-model").ModuleErrorSchema;
45
+ sources?: Hash[];
46
46
  }>[]]>;
47
47
  static dataHashableFields<T extends Payload = Payload<AnyObject>>(schema: string, fields?: WithoutSchema<WithoutMeta<T>>): Promise<WithoutMeta<T>>;
48
48
  static previousHash<T extends BoundWitness>(boundWitness: T, address: Address): string | undefined;
@@ -61,9 +61,7 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
61
61
  signer(account: AccountInstance): this;
62
62
  signers(accounts: AccountInstance[]): this;
63
63
  sourceQuery(query?: Hash): this;
64
- /** @deprecated use signer instead */
65
64
  witness(account: AccountInstance): this;
66
- /** @deprecated use signers instead */
67
65
  witnesses(accounts: AccountInstance[]): this;
68
66
  protected metaFields(dataHash: Hash, stamp?: boolean): Promise<JsonObject>;
69
67
  protected signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAsB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAAkB,kBAAkB,EAAE,qBAAqB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACpI,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGnF,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAA;AAEhH,MAAM,WAAW,0BAA0B,CAAC,aAAa,SAAS,YAAY,GAAG,YAAY,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO,CAC/H,SAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,qBAAa,mBAAmB,CAAC,aAAa,SAAS,YAAY,GAAG,YAAY,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAChJ,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC,EAChD,0BAA0B,CAAC,aAAa,CAAC,GAAG;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAC3E;IACC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAc;IACjD,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAU;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,CAAC,EAAE,0BAA0B,CAAC,aAAa,EAAE,QAAQ,CAAC;IAYzE,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,CAEnC;IAED,SAAS,KAAK,cAAc,IAAI,MAAM,EAAE,CAOvC;IAED,SAAS,KAAK,mBAAmB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAE1D;IAED,SAAS,KAAK,cAAc,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAE9C;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;WAQ3D,KAAK,CAAC,aAAa,SAAS,YAAY,EAAE,OAAO,EAAE,0BAA0B,CAAC,aAAa,CAAC;;;;;;;;;;WAInF,kBAAkB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,EAC7E,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1B,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;qBAItD,aAAa,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EACxE,QAAQ,EAAE,eAAe,EAAE,EAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,SAAS,SAAa;qBASQ,UAAU,CACxC,QAAQ,EAAE,IAAI,EACd,SAAS,CAAC,EAAE,UAAU,EACtB,KAAK,UAAO,EACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,EAC5B,cAAc,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAChC,WAAW,CAAC,EAAE,OAAO,EAAE,EACvB,WAAW,CAAC,EAAE,IAAI,GACjB,OAAO,CAAC,UAAU,CAAC;IAmBtB,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;qBAIxD,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM5I,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAM9B,KAAK,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAmBjF,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IASxE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW;IAQ3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE;IAWtC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAOvC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ;IAQ1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;IAUvC,MAAM,CAAC,OAAO,EAAE,eAAe;IAK/B,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE;IAKnC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI;IAKxB,qCAAqC;IACrC,OAAO,CAAC,OAAO,EAAE,eAAe;IAKhC,sCAAsC;IACtC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE;cAKZ,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC;cAYtE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAM3F,aAAa;IAI3B,OAAO,CAAC,oBAAoB;CAG7B"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
@@ -37,12 +37,12 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
37
37
  static build<TBoundWitness extends BoundWitness>(options: BoundWitnessBuilderOptions<TBoundWitness>): Promise<[WithMeta<TBoundWitness>, WithMeta<{
38
38
  schema: string;
39
39
  } & import("@xyo-network/payload-model").PayloadFields>[], WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
40
- details?: import("@xylabs/object").JsonValue | undefined;
41
- message?: string | undefined;
42
- name?: string | undefined;
43
- query?: Lowercase<string> | undefined;
44
- schema: "network.xyo.error.module";
45
- sources?: Lowercase<string>[] | undefined;
40
+ details?: import("@xylabs/object").JsonValue;
41
+ message?: string;
42
+ name?: string;
43
+ query?: Hash;
44
+ schema: import("@xyo-network/payload-model").ModuleErrorSchema;
45
+ sources?: Hash[];
46
46
  }>[]]>;
47
47
  static dataHashableFields<T extends Payload = Payload<AnyObject>>(schema: string, fields?: WithoutSchema<WithoutMeta<T>>): Promise<WithoutMeta<T>>;
48
48
  static previousHash<T extends BoundWitness>(boundWitness: T, address: Address): string | undefined;
@@ -61,9 +61,7 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
61
61
  signer(account: AccountInstance): this;
62
62
  signers(accounts: AccountInstance[]): this;
63
63
  sourceQuery(query?: Hash): this;
64
- /** @deprecated use signer instead */
65
64
  witness(account: AccountInstance): this;
66
- /** @deprecated use signers instead */
67
65
  witnesses(accounts: AccountInstance[]): this;
68
66
  protected metaFields(dataHash: Hash, stamp?: boolean): Promise<JsonObject>;
69
67
  protected signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
@@ -37,12 +37,12 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
37
37
  static build<TBoundWitness extends BoundWitness>(options: BoundWitnessBuilderOptions<TBoundWitness>): Promise<[WithMeta<TBoundWitness>, WithMeta<{
38
38
  schema: string;
39
39
  } & import("@xyo-network/payload-model").PayloadFields>[], WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
40
- details?: import("@xylabs/object").JsonValue | undefined;
41
- message?: string | undefined;
42
- name?: string | undefined;
43
- query?: Lowercase<string> | undefined;
44
- schema: "network.xyo.error.module";
45
- sources?: Lowercase<string>[] | undefined;
40
+ details?: import("@xylabs/object").JsonValue;
41
+ message?: string;
42
+ name?: string;
43
+ query?: Hash;
44
+ schema: import("@xyo-network/payload-model").ModuleErrorSchema;
45
+ sources?: Hash[];
46
46
  }>[]]>;
47
47
  static dataHashableFields<T extends Payload = Payload<AnyObject>>(schema: string, fields?: WithoutSchema<WithoutMeta<T>>): Promise<WithoutMeta<T>>;
48
48
  static previousHash<T extends BoundWitness>(boundWitness: T, address: Address): string | undefined;
@@ -61,9 +61,7 @@ export declare class BoundWitnessBuilder<TBoundWitness extends BoundWitness = Bo
61
61
  signer(account: AccountInstance): this;
62
62
  signers(accounts: AccountInstance[]): this;
63
63
  sourceQuery(query?: Hash): this;
64
- /** @deprecated use signer instead */
65
64
  witness(account: AccountInstance): this;
66
- /** @deprecated use signers instead */
67
65
  witnesses(accounts: AccountInstance[]): this;
68
66
  protected metaFields(dataHash: Hash, stamp?: boolean): Promise<JsonObject>;
69
67
  protected signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
@@ -1,271 +1,3 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // src/index.ts
22
- var src_exports = {};
23
- __export(src_exports, {
24
- BoundWitnessBuilder: () => BoundWitnessBuilder,
25
- QueryBoundWitnessBuilder: () => QueryBoundWitnessBuilder
26
- });
27
- module.exports = __toCommonJS(src_exports);
28
-
29
- // src/Builder.ts
30
- var import_arraybuffer = require("@xylabs/arraybuffer");
31
- var import_assert = require("@xylabs/assert");
32
- var import_hex = require("@xylabs/hex");
33
- var import_boundwitness_model = require("@xyo-network/boundwitness-model");
34
- var import_hash = require("@xyo-network/hash");
35
- var import_payload_builder = require("@xyo-network/payload-builder");
36
- var import_async_mutex = require("async-mutex");
37
- var BoundWitnessBuilder = class _BoundWitnessBuilder extends import_payload_builder.PayloadBuilderBase {
38
- static {
39
- __name(this, "BoundWitnessBuilder");
40
- }
41
- static _buildMutex = new import_async_mutex.Mutex();
42
- _accounts;
43
- _destination;
44
- _errorHashes;
45
- _errors = [];
46
- _payloadHashes;
47
- _payloadSchemas;
48
- _payloads;
49
- _sourceQuery;
50
- _timestamp;
51
- constructor(options) {
52
- super({
53
- ...options,
54
- schema: import_boundwitness_model.BoundWitnessSchema
55
- });
56
- const { accounts, payloadHashes, payloadSchemas, payloads, sourceQuery, timestamp, destination } = options ?? {};
57
- this._accounts = accounts ?? [];
58
- this._payloadHashes = payloadHashes;
59
- this._payloadSchemas = payloadSchemas;
60
- this._payloads = payloads ?? [];
61
- this._sourceQuery = sourceQuery;
62
- this._destination = destination;
63
- this._timestamp = timestamp ?? true;
64
- }
65
- get addresses() {
66
- return this._accounts.map((account) => account.address.toLowerCase());
67
- }
68
- get payloadSchemas() {
69
- return this._payloadSchemas ?? this._payloads.map((payload) => {
70
- return (0, import_assert.assertEx)(payload.schema, () => this.missingSchemaMessage(payload));
71
- });
72
- }
73
- get previousHashBuffers() {
74
- return this._accounts.map((account) => account.previousHashBytes ?? null);
75
- }
76
- get previousHashes() {
77
- return this._accounts.map((account) => account.previousHash ?? null);
78
- }
79
- get timestamp() {
80
- return this._timestamp = typeof this._timestamp === "number" ? this._timestamp : Date.now();
81
- }
82
- static addressIndex(payload, address) {
83
- const index = payload.addresses.indexOf(address);
84
- if (index === -1) {
85
- throw new Error("Invalid address");
86
- }
87
- return index;
88
- }
89
- static async build(options) {
90
- return await new _BoundWitnessBuilder(options).build();
91
- }
92
- static async dataHashableFields(schema, fields) {
93
- return await import_payload_builder.PayloadBuilderBase.dataHashableFields(schema, fields ? (0, import_hash.removeEmptyFields)(fields) : void 0);
94
- }
95
- static previousHash(boundWitness, address) {
96
- return boundWitness.previous_hashes[this.addressIndex(boundWitness, address)]?.toLowerCase();
97
- }
98
- static async linkingFields(accounts, payloads, timestamp = Date.now()) {
99
- const addresses = accounts.map((account) => (0, import_hex.hexFromArrayBuffer)(account.addressBytes, {
100
- prefix: false
101
- }));
102
- const previous_hashes = accounts.map((account) => account.previousHash ?? null);
103
- const payload_hashes = payloads ? await import_payload_builder.PayloadBuilder.dataHashes(payloads) : [];
104
- const payload_schemas = payloads?.map(({ schema }) => schema);
105
- return {
106
- addresses,
107
- payload_hashes,
108
- payload_schemas,
109
- previous_hashes,
110
- timestamp
111
- };
112
- }
113
- static async metaFields(dataHash, otherMeta, stamp = true, accounts, previousHashes, destination, sourceQuery) {
114
- const meta = await super.metaFields(dataHash, otherMeta, stamp);
115
- if (accounts?.length && previousHashes?.length) {
116
- (0, import_assert.assertEx)(accounts.length === previousHashes.length, () => "accounts and previousHashes must have same length");
117
- meta.signatures = await this.signatures(accounts, dataHash, previousHashes);
118
- }
119
- if (sourceQuery) {
120
- meta.sourceQuery = sourceQuery;
121
- }
122
- if (destination) {
123
- meta.destination = destination;
124
- }
125
- return meta;
126
- }
127
- static signature(payload, address) {
128
- return payload.$meta.signatures[this.addressIndex(payload, address)];
129
- }
130
- static async signatures(accounts, hash, previousHashes) {
131
- const hashBytes = (0, import_arraybuffer.toArrayBuffer)(hash);
132
- const previousHashesBytes = previousHashes?.map((ph) => ph ? (0, import_arraybuffer.toUint8Array)(ph) : void 0);
133
- return await Promise.all(accounts.map(async (account, index) => (0, import_hex.hexFromArrayBuffer)(await account.sign(hashBytes, previousHashesBytes[index]))));
134
- }
135
- static validateLinkingFields(bw) {
136
- (0, import_assert.assertEx)(bw.payload_hashes?.length === bw.payload_schemas?.length, () => "Payload hash/schema mismatch");
137
- (0, import_assert.assertEx)(!bw.payload_hashes.some((hash) => !hash), () => "nulls found in hashes");
138
- (0, import_assert.assertEx)(!bw.payload_schemas.some((schema) => !schema), () => "nulls found in schemas");
139
- }
140
- async build() {
141
- return await _BoundWitnessBuilder._buildMutex.runExclusive(async () => {
142
- const dataHashableFields = await this.dataHashableFields();
143
- const $hash = (await import_payload_builder.PayloadBuilder.build(dataHashableFields)).$hash;
144
- const $meta = await this.metaFields($hash);
145
- const ret = {
146
- ...dataHashableFields,
147
- $hash,
148
- $meta
149
- };
150
- return [
151
- ret,
152
- await Promise.all(this._payloads?.map((payload) => import_payload_builder.PayloadBuilder.build(payload))),
153
- await Promise.all(this._errors?.map((error) => import_payload_builder.PayloadBuilder.build(error)))
154
- ];
155
- });
156
- }
157
- async dataHashableFields() {
158
- const fields = await this.linkingFields();
159
- const result = await _BoundWitnessBuilder.dataHashableFields(this._schema, fields);
160
- _BoundWitnessBuilder.validateLinkingFields(result);
161
- return result;
162
- }
163
- error(payload) {
164
- (0, import_assert.assertEx)(this._errorHashes === void 0, () => "Can not set errors when hashes already set");
165
- if (payload) {
166
- this._errors.push((0, import_assert.assertEx)((0, import_hash.sortFields)(payload)));
167
- }
168
- return this;
169
- }
170
- errors(errors) {
171
- if (errors) {
172
- errors.map((error) => {
173
- if (error !== null) {
174
- this.error(error);
175
- }
176
- });
177
- }
178
- return this;
179
- }
180
- hashes(hashes, schema) {
181
- (0, import_assert.assertEx)(this.payloads.length === 0, () => "Can not set hashes when payloads already set");
182
- this._payloadHashes = hashes;
183
- this._payloadSchemas = schema;
184
- return this;
185
- }
186
- payload(payload) {
187
- (0, import_assert.assertEx)(this._payloadHashes === void 0, () => "Can not set payloads when hashes already set");
188
- if (payload) {
189
- this._payloads.push((0, import_assert.assertEx)((0, import_hash.sortFields)(payload)));
190
- }
191
- return this;
192
- }
193
- payloads(payloads) {
194
- if (payloads) payloads.map((payload) => {
195
- if (payload !== null) {
196
- this.payload(payload);
197
- }
198
- });
199
- return this;
200
- }
201
- signer(account) {
202
- this._accounts?.push(account);
203
- return this;
204
- }
205
- signers(accounts) {
206
- this._accounts?.push(...accounts);
207
- return this;
208
- }
209
- sourceQuery(query) {
210
- this._sourceQuery = query?.toLowerCase();
211
- return this;
212
- }
213
- /** @deprecated use signer instead */
214
- witness(account) {
215
- this._accounts?.push(account);
216
- return this;
217
- }
218
- /** @deprecated use signers instead */
219
- witnesses(accounts) {
220
- this._accounts?.push(...accounts);
221
- return this;
222
- }
223
- async metaFields(dataHash, stamp = true) {
224
- return await _BoundWitnessBuilder.metaFields(dataHash, this._$meta, stamp, this._accounts, this.previousHashes, this._destination, this._sourceQuery);
225
- }
226
- async signatures(_hash, previousHashes) {
227
- const hash = (0, import_arraybuffer.toArrayBuffer)(_hash);
228
- const previousHashesBytes = previousHashes.map((ph) => ph ? (0, import_arraybuffer.toUint8Array)(ph) : void 0);
229
- return await Promise.all(this._accounts.map(async (account, index) => (0, import_hex.hexFromArrayBuffer)(await account.sign(hash, previousHashesBytes[index]))));
230
- }
231
- async linkingFields() {
232
- return await _BoundWitnessBuilder.linkingFields(this._accounts, this._payloads, this.timestamp);
233
- }
234
- missingSchemaMessage(payload) {
235
- return `Builder: Missing Schema
236
- ${JSON.stringify(payload, null, 2)}`;
237
- }
238
- };
239
-
240
- // src/Query/QueryBoundWitnessBuilder.ts
241
- var import_assert2 = require("@xylabs/assert");
242
- var import_boundwitness_model2 = require("@xyo-network/boundwitness-model");
243
- var import_payload = require("@xyo-network/payload");
244
- var QueryBoundWitnessBuilder = class extends BoundWitnessBuilder {
245
- static {
246
- __name(this, "QueryBoundWitnessBuilder");
247
- }
248
- _additional;
249
- _query;
250
- async additional(additional) {
251
- this._additional = await import_payload.PayloadBuilder.dataHashes(additional);
252
- return this;
253
- }
254
- async dataHashableFields() {
255
- const fields = {
256
- ...await super.dataHashableFields(),
257
- query: (0, import_assert2.assertEx)(this._query, () => "No Query Specified").$hash,
258
- schema: import_boundwitness_model2.QueryBoundWitnessSchema
259
- };
260
- if (this._additional) {
261
- fields.additional = this._additional;
262
- }
263
- return fields;
264
- }
265
- async query(query) {
266
- this._query = await import_payload.PayloadBuilder.build(query);
267
- this.payload(this._query);
268
- return this;
269
- }
270
- };
1
+ "use strict";var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var y=(i,s)=>p(i,"name",{value:s,configurable:!0});var S=(i,s)=>{for(var a in s)p(i,a,{get:s[a],enumerable:!0})},P=(i,s,a,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of b(s))!B.call(i,t)&&t!==a&&p(i,t,{get:()=>s[t],enumerable:!(r=v(s,t))||r.enumerable});return i};var Q=i=>P(p({},"__esModule",{value:!0}),i);var $={};S($,{BoundWitnessBuilder:()=>c,QueryBoundWitnessBuilder:()=>g});module.exports=Q($);var l=require("@xylabs/arraybuffer"),o=require("@xylabs/assert"),_=require("@xylabs/hex"),w=require("@xyo-network/boundwitness-model"),m=require("@xyo-network/hash"),u=require("@xyo-network/payload-builder"),H=require("async-mutex");var c=class i extends u.PayloadBuilderBase{static{y(this,"BoundWitnessBuilder")}static _buildMutex=new H.Mutex;_accounts;_destination;_errorHashes;_errors=[];_payloadHashes;_payloadSchemas;_payloads;_sourceQuery;_timestamp;constructor(s){super({...s,schema:w.BoundWitnessSchema});let{accounts:a,payloadHashes:r,payloadSchemas:t,payloads:e,sourceQuery:n,timestamp:d,destination:h}=s??{};this._accounts=a??[],this._payloadHashes=r,this._payloadSchemas=t,this._payloads=e??[],this._sourceQuery=n,this._destination=h,this._timestamp=d??!0}get addresses(){return this._accounts.map(s=>s.address.toLowerCase())}get payloadSchemas(){return this._payloadSchemas??this._payloads.map(s=>(0,o.assertEx)(s.schema,()=>this.missingSchemaMessage(s)))}get previousHashBuffers(){return this._accounts.map(s=>s.previousHashBytes??null)}get previousHashes(){return this._accounts.map(s=>s.previousHash??null)}get timestamp(){return this._timestamp=typeof this._timestamp=="number"?this._timestamp:Date.now()}static addressIndex(s,a){let r=s.addresses.indexOf(a);if(r===-1)throw new Error("Invalid address");return r}static async build(s){return await new i(s).build()}static async dataHashableFields(s,a){return await u.PayloadBuilderBase.dataHashableFields(s,a?(0,m.removeEmptyFields)(a):void 0)}static previousHash(s,a){return s.previous_hashes[this.addressIndex(s,a)]?.toLowerCase()}static async linkingFields(s,a,r=Date.now()){let t=s.map(h=>(0,_.hexFromArrayBuffer)(h.addressBytes,{prefix:!1})),e=s.map(h=>h.previousHash??null),n=a?await u.PayloadBuilder.dataHashes(a):[],d=a?.map(({schema:h})=>h);return{addresses:t,payload_hashes:n,payload_schemas:d,previous_hashes:e,timestamp:r}}static async metaFields(s,a,r=!0,t,e,n,d){let h=await super.metaFields(s,a,r);return t?.length&&e?.length&&((0,o.assertEx)(t.length===e.length,()=>"accounts and previousHashes must have same length"),h.signatures=await this.signatures(t,s,e)),d&&(h.sourceQuery=d),n&&(h.destination=n),h}static signature(s,a){return s.$meta.signatures[this.addressIndex(s,a)]}static async signatures(s,a,r){let t=(0,l.toArrayBuffer)(a),e=r?.map(n=>n?(0,l.toUint8Array)(n):void 0);return await Promise.all(s.map(async(n,d)=>(0,_.hexFromArrayBuffer)(await n.sign(t,e[d]))))}static validateLinkingFields(s){(0,o.assertEx)(s.payload_hashes?.length===s.payload_schemas?.length,()=>"Payload hash/schema mismatch"),(0,o.assertEx)(!s.payload_hashes.some(a=>!a),()=>"nulls found in hashes"),(0,o.assertEx)(!s.payload_schemas.some(a=>!a),()=>"nulls found in schemas")}async build(){return await i._buildMutex.runExclusive(async()=>{let s=await this.dataHashableFields(),a=(await u.PayloadBuilder.build(s)).$hash,r=await this.metaFields(a);return[{...s,$hash:a,$meta:r},await Promise.all(this._payloads?.map(e=>u.PayloadBuilder.build(e))),await Promise.all(this._errors?.map(e=>u.PayloadBuilder.build(e)))]})}async dataHashableFields(){let s=await this.linkingFields(),a=await i.dataHashableFields(this._schema,s);return i.validateLinkingFields(a),a}error(s){return(0,o.assertEx)(this._errorHashes===void 0,()=>"Can not set errors when hashes already set"),s&&this._errors.push((0,o.assertEx)((0,m.sortFields)(s))),this}errors(s){return s&&s.map(a=>{a!==null&&this.error(a)}),this}hashes(s,a){return(0,o.assertEx)(this.payloads.length===0,()=>"Can not set hashes when payloads already set"),this._payloadHashes=s,this._payloadSchemas=a,this}payload(s){return(0,o.assertEx)(this._payloadHashes===void 0,()=>"Can not set payloads when hashes already set"),s&&this._payloads.push((0,o.assertEx)((0,m.sortFields)(s))),this}payloads(s){return s&&s.map(a=>{a!==null&&this.payload(a)}),this}signer(s){return this._accounts?.push(s),this}signers(s){return this._accounts?.push(...s),this}sourceQuery(s){return this._sourceQuery=s?.toLowerCase(),this}witness(s){return this._accounts?.push(s),this}witnesses(s){return this._accounts?.push(...s),this}async metaFields(s,a=!0){return await i.metaFields(s,this._$meta,a,this._accounts,this.previousHashes,this._destination,this._sourceQuery)}async signatures(s,a){let r=(0,l.toArrayBuffer)(s),t=a.map(e=>e?(0,l.toUint8Array)(e):void 0);return await Promise.all(this._accounts.map(async(e,n)=>(0,_.hexFromArrayBuffer)(await e.sign(r,t[n]))))}async linkingFields(){return await i.linkingFields(this._accounts,this._payloads,this.timestamp)}missingSchemaMessage(s){return`Builder: Missing Schema
2
+ ${JSON.stringify(s,null,2)}`}};var F=require("@xylabs/assert"),x=require("@xyo-network/boundwitness-model"),f=require("@xyo-network/payload");var g=class extends c{static{y(this,"QueryBoundWitnessBuilder")}_additional;_query;async additional(s){return this._additional=await f.PayloadBuilder.dataHashes(s),this}async dataHashableFields(){let s={...await super.dataHashableFields(),query:(0,F.assertEx)(this._query,()=>"No Query Specified").$hash,schema:x.QueryBoundWitnessSchema};return this._additional&&(s.additional=this._additional),s}async query(s){return this._query=await f.PayloadBuilder.build(s),this.payload(this._query),this}};
271
3
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Builder.ts","../../src/Query/QueryBoundWitnessBuilder.ts"],"sourcesContent":["export * from './Builder'\nexport * from './Query'\n","import { toArrayBuffer, toUint8Array } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { Address, Hash, hexFromArrayBuffer } from '@xylabs/hex'\nimport { AnyObject, JsonObject } from '@xylabs/object'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { removeEmptyFields, sortFields } from '@xyo-network/hash'\nimport { PayloadBuilder, PayloadBuilderBase, PayloadBuilderOptions, WithoutMeta, WithoutSchema } from '@xyo-network/payload-builder'\nimport { ModuleError, Payload, Schema, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nexport type GeneratedBoundWitnessFields = 'addresses' | 'payload_hashes' | 'payload_schemas' | 'previous_hashes'\n\nexport interface BoundWitnessBuilderOptions<TBoundWitness extends BoundWitness = BoundWitness, TPayload extends Payload = Payload>\n extends Omit<PayloadBuilderOptions<Omit<TBoundWitness, GeneratedBoundWitnessFields>>, 'schema'> {\n readonly accounts?: AccountInstance[]\n readonly destination?: Hash[]\n readonly payloadHashes?: TBoundWitness['payload_hashes']\n readonly payloadSchemas?: TBoundWitness['payload_schemas']\n readonly payloads?: TPayload[]\n readonly sourceQuery?: Hash\n readonly timestamp?: number\n}\n\nexport class BoundWitnessBuilder<TBoundWitness extends BoundWitness = BoundWitness, TPayload extends Payload = Payload> extends PayloadBuilderBase<\n Omit<TBoundWitness, GeneratedBoundWitnessFields>,\n BoundWitnessBuilderOptions<TBoundWitness> & { schema: BoundWitnessSchema }\n> {\n private static readonly _buildMutex = new Mutex()\n private _accounts: AccountInstance[]\n private _destination?: Hash[]\n private _errorHashes?: Hash[]\n private _errors: ModuleError[] = []\n private _payloadHashes?: Hash[]\n private _payloadSchemas?: Schema[]\n private _payloads: TPayload[]\n private _sourceQuery?: Hash\n private _timestamp: boolean | number\n\n constructor(options?: BoundWitnessBuilderOptions<TBoundWitness, TPayload>) {\n super({ ...options, schema: BoundWitnessSchema })\n const { accounts, payloadHashes, payloadSchemas, payloads, sourceQuery, timestamp, destination } = options ?? {}\n this._accounts = accounts ?? []\n this._payloadHashes = payloadHashes\n this._payloadSchemas = payloadSchemas\n this._payloads = payloads ?? []\n this._sourceQuery = sourceQuery\n this._destination = destination\n this._timestamp = timestamp ?? true\n }\n\n protected get addresses(): Address[] {\n return this._accounts.map((account) => account.address.toLowerCase()) as Address[]\n }\n\n protected get payloadSchemas(): string[] {\n return (\n this._payloadSchemas ??\n this._payloads.map((payload) => {\n return assertEx(payload.schema, () => this.missingSchemaMessage(payload))\n })\n )\n }\n\n protected get previousHashBuffers(): (ArrayBuffer | null)[] {\n return this._accounts.map((account) => account.previousHashBytes ?? null)\n }\n\n protected get previousHashes(): (Hash | null)[] {\n return this._accounts.map((account) => account.previousHash ?? null)\n }\n\n protected get timestamp(): number {\n return (this._timestamp = typeof this._timestamp === 'number' ? this._timestamp : Date.now())\n }\n\n static addressIndex<T extends BoundWitness>(payload: T, address: Address) {\n const index = payload.addresses.indexOf(address)\n if (index === -1) {\n throw new Error('Invalid address')\n }\n return index\n }\n\n static async build<TBoundWitness extends BoundWitness>(options: BoundWitnessBuilderOptions<TBoundWitness>) {\n return await new BoundWitnessBuilder(options).build()\n }\n\n static override async dataHashableFields<T extends Payload = Payload<AnyObject>>(\n schema: string,\n fields?: WithoutSchema<WithoutMeta<T>>,\n ): Promise<WithoutMeta<T>> {\n return await PayloadBuilderBase.dataHashableFields(schema, fields ? removeEmptyFields(fields) : undefined)\n }\n\n static previousHash<T extends BoundWitness>(boundWitness: T, address: Address) {\n return boundWitness.previous_hashes[this.addressIndex(boundWitness, address)]?.toLowerCase()\n }\n\n protected static async linkingFields<T extends BoundWitness = BoundWitness>(\n accounts: AccountInstance[],\n payloads?: Payload[],\n timestamp = Date.now(),\n ) {\n const addresses = accounts.map((account) => hexFromArrayBuffer(account.addressBytes, { prefix: false }))\n const previous_hashes = accounts.map((account) => account.previousHash ?? null)\n const payload_hashes = payloads ? await PayloadBuilder.dataHashes(payloads) : []\n const payload_schemas = payloads?.map(({ schema }) => schema)\n return { addresses, payload_hashes, payload_schemas, previous_hashes, timestamp } as WithoutSchema<WithoutMeta<T>>\n }\n\n protected static override async metaFields(\n dataHash: Hash,\n otherMeta?: JsonObject,\n stamp = true,\n accounts?: AccountInstance[],\n previousHashes?: (Hash | null)[],\n destination?: Address[],\n sourceQuery?: Hash,\n ): Promise<JsonObject> {\n const meta = await super.metaFields(dataHash, otherMeta, stamp)\n\n if (accounts?.length && previousHashes?.length) {\n assertEx(accounts.length === previousHashes.length, () => 'accounts and previousHashes must have same length')\n meta.signatures = await this.signatures(accounts, dataHash, previousHashes)\n }\n\n if (sourceQuery) {\n meta.sourceQuery = sourceQuery\n }\n\n if (destination) {\n meta.destination = destination\n }\n\n return meta\n }\n\n protected static signature<T extends BoundWitness>(payload: T, address: Address) {\n return payload.$meta.signatures[this.addressIndex(payload, address)]\n }\n\n protected static async signatures(accounts: AccountInstance[], hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]> {\n const hashBytes = toArrayBuffer(hash)\n const previousHashesBytes = previousHashes?.map((ph) => (ph ? toUint8Array(ph) : undefined))\n return await Promise.all(accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hashBytes, previousHashesBytes[index]))))\n }\n\n private static validateLinkingFields(bw: Pick<BoundWitness, 'payload_hashes' | 'payload_schemas'>) {\n assertEx(bw.payload_hashes?.length === bw.payload_schemas?.length, () => 'Payload hash/schema mismatch')\n assertEx(!bw.payload_hashes.some((hash) => !hash), () => 'nulls found in hashes')\n assertEx(!bw.payload_schemas.some((schema) => !schema), () => 'nulls found in schemas')\n }\n\n async build(): Promise<[WithMeta<TBoundWitness>, WithMeta<TPayload>[], WithMeta<ModuleError>[]]> {\n return await BoundWitnessBuilder._buildMutex.runExclusive(async () => {\n const dataHashableFields = (await this.dataHashableFields()) as TBoundWitness\n const $hash = (await PayloadBuilder.build(dataHashableFields)).$hash\n const $meta = await this.metaFields($hash)\n\n const ret = {\n ...dataHashableFields,\n $hash,\n $meta,\n } as WithMeta<TBoundWitness>\n return [\n ret,\n await Promise.all(this._payloads?.map((payload) => PayloadBuilder.build(payload))),\n await Promise.all(this._errors?.map((error) => PayloadBuilder.build(error))),\n ]\n })\n }\n\n override async dataHashableFields(): Promise<WithoutMeta<TBoundWitness>> {\n const fields = await this.linkingFields()\n const result = await BoundWitnessBuilder.dataHashableFields<TBoundWitness>(this._schema, fields)\n\n BoundWitnessBuilder.validateLinkingFields(result)\n\n return result as Omit<TBoundWitness, '$meta' | '$hash'>\n }\n\n error(payload?: ModuleError) {\n assertEx(this._errorHashes === undefined, () => 'Can not set errors when hashes already set')\n if (payload) {\n this._errors.push(assertEx(sortFields(payload)))\n }\n return this\n }\n\n errors(errors?: (ModuleError | null)[]) {\n if (errors) {\n errors.map((error) => {\n if (error !== null) {\n this.error(error)\n }\n })\n }\n return this\n }\n\n hashes(hashes: Hash[], schema: Schema[]) {\n assertEx(this.payloads.length === 0, () => 'Can not set hashes when payloads already set')\n this._payloadHashes = hashes\n this._payloadSchemas = schema\n return this\n }\n\n payload(payload?: TPayload) {\n assertEx(this._payloadHashes === undefined, () => 'Can not set payloads when hashes already set')\n if (payload) {\n this._payloads.push(assertEx(sortFields<TPayload>(payload)))\n }\n return this\n }\n\n payloads(payloads?: (TPayload | null)[]) {\n if (payloads)\n payloads.map((payload) => {\n if (payload !== null) {\n this.payload(payload)\n }\n })\n return this\n }\n\n signer(account: AccountInstance) {\n this._accounts?.push(account)\n return this\n }\n\n signers(accounts: AccountInstance[]) {\n this._accounts?.push(...accounts)\n return this\n }\n\n sourceQuery(query?: Hash) {\n this._sourceQuery = query?.toLowerCase() as Hash\n return this\n }\n\n /** @deprecated use signer instead */\n witness(account: AccountInstance) {\n this._accounts?.push(account)\n return this\n }\n\n /** @deprecated use signers instead */\n witnesses(accounts: AccountInstance[]) {\n this._accounts?.push(...accounts)\n return this\n }\n\n protected override async metaFields(dataHash: Hash, stamp = true): Promise<JsonObject> {\n return await BoundWitnessBuilder.metaFields(\n dataHash,\n this._$meta,\n stamp,\n this._accounts,\n this.previousHashes,\n this._destination,\n this._sourceQuery,\n )\n }\n\n protected async signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]> {\n const hash = toArrayBuffer(_hash)\n const previousHashesBytes = previousHashes.map((ph) => (ph ? toUint8Array(ph) : undefined))\n return await Promise.all(this._accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hash, previousHashesBytes[index]))))\n }\n\n private async linkingFields() {\n return await BoundWitnessBuilder.linkingFields<TBoundWitness>(this._accounts, this._payloads, this.timestamp)\n }\n\n private missingSchemaMessage(payload: Payload) {\n return `Builder: Missing Schema\\n${JSON.stringify(payload, null, 2)}`\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Hash } from '@xylabs/hex'\nimport { QueryBoundWitness, QueryBoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload'\nimport { Payload, Query, WithMeta } from '@xyo-network/payload-model'\n\nimport { BoundWitnessBuilder } from '../Builder'\n\nexport class QueryBoundWitnessBuilder<\n TBoundWitness extends QueryBoundWitness = QueryBoundWitness,\n TQuery extends Query = Query,\n> extends BoundWitnessBuilder<TBoundWitness> {\n private _additional?: Hash[]\n private _query: WithMeta<TQuery> | undefined\n\n async additional(additional: Payload[]) {\n this._additional = await PayloadBuilder.dataHashes(additional)\n return this\n }\n\n override async dataHashableFields(): Promise<Omit<TBoundWitness, '$hash' | '$meta'>> {\n const fields = {\n ...(await super.dataHashableFields()),\n query: assertEx(this._query, () => 'No Query Specified').$hash,\n schema: QueryBoundWitnessSchema,\n } as Omit<TBoundWitness, '$hash' | '$meta'>\n if (this._additional) {\n fields.additional = this._additional\n }\n return fields\n }\n\n async query<T extends TQuery>(query: T) {\n this._query = await PayloadBuilder.build(query)\n this.payload(this._query)\n return this\n }\n}\n"],"mappings":"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","names":["BoundWitnessBuilder","PayloadBuilderBase","_buildMutex","Mutex","_accounts","_destination","_errorHashes","_errors","_payloadHashes","_payloadSchemas","_payloads","_sourceQuery","_timestamp","constructor","options","schema","BoundWitnessSchema","accounts","payloadHashes","payloadSchemas","payloads","sourceQuery","timestamp","destination","addresses","map","account","address","toLowerCase","payload","assertEx","missingSchemaMessage","previousHashBuffers","previousHashBytes","previousHashes","previousHash","Date","now","addressIndex","index","indexOf","Error","build","dataHashableFields","fields","removeEmptyFields","undefined","boundWitness","previous_hashes","linkingFields","hexFromArrayBuffer","addressBytes","prefix","payload_hashes","PayloadBuilder","dataHashes","payload_schemas","metaFields","dataHash","otherMeta","stamp","meta","length","signatures","signature","$meta","hash","hashBytes","toArrayBuffer","previousHashesBytes","ph","toUint8Array","Promise","all","sign","validateLinkingFields","bw","some","runExclusive","$hash","ret","error","result","_schema","push","sortFields","errors","hashes","signer","signers","query","witness","witnesses","_$meta","_hash","JSON","stringify","import_assert","import_boundwitness_model","QueryBoundWitnessBuilder","BoundWitnessBuilder","_additional","_query","additional","PayloadBuilder","dataHashes","dataHashableFields","fields","query","assertEx","$hash","schema","QueryBoundWitnessSchema","build","payload"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Builder.ts","../../src/Query/QueryBoundWitnessBuilder.ts"],"sourcesContent":["export * from './Builder'\nexport * from './Query'\n","import { toArrayBuffer, toUint8Array } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { Address, Hash, hexFromArrayBuffer } from '@xylabs/hex'\nimport { AnyObject, JsonObject } from '@xylabs/object'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { removeEmptyFields, sortFields } from '@xyo-network/hash'\nimport { PayloadBuilder, PayloadBuilderBase, PayloadBuilderOptions, WithoutMeta, WithoutSchema } from '@xyo-network/payload-builder'\nimport { ModuleError, Payload, Schema, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nexport type GeneratedBoundWitnessFields = 'addresses' | 'payload_hashes' | 'payload_schemas' | 'previous_hashes'\n\nexport interface BoundWitnessBuilderOptions<TBoundWitness extends BoundWitness = BoundWitness, TPayload extends Payload = Payload>\n extends Omit<PayloadBuilderOptions<Omit<TBoundWitness, GeneratedBoundWitnessFields>>, 'schema'> {\n readonly accounts?: AccountInstance[]\n readonly destination?: Hash[]\n readonly payloadHashes?: TBoundWitness['payload_hashes']\n readonly payloadSchemas?: TBoundWitness['payload_schemas']\n readonly payloads?: TPayload[]\n readonly sourceQuery?: Hash\n readonly timestamp?: number\n}\n\nexport class BoundWitnessBuilder<TBoundWitness extends BoundWitness = BoundWitness, TPayload extends Payload = Payload> extends PayloadBuilderBase<\n Omit<TBoundWitness, GeneratedBoundWitnessFields>,\n BoundWitnessBuilderOptions<TBoundWitness> & { schema: BoundWitnessSchema }\n> {\n private static readonly _buildMutex = new Mutex()\n private _accounts: AccountInstance[]\n private _destination?: Hash[]\n private _errorHashes?: Hash[]\n private _errors: ModuleError[] = []\n private _payloadHashes?: Hash[]\n private _payloadSchemas?: Schema[]\n private _payloads: TPayload[]\n private _sourceQuery?: Hash\n private _timestamp: boolean | number\n\n constructor(options?: BoundWitnessBuilderOptions<TBoundWitness, TPayload>) {\n super({ ...options, schema: BoundWitnessSchema })\n const { accounts, payloadHashes, payloadSchemas, payloads, sourceQuery, timestamp, destination } = options ?? {}\n this._accounts = accounts ?? []\n this._payloadHashes = payloadHashes\n this._payloadSchemas = payloadSchemas\n this._payloads = payloads ?? []\n this._sourceQuery = sourceQuery\n this._destination = destination\n this._timestamp = timestamp ?? true\n }\n\n protected get addresses(): Address[] {\n return this._accounts.map((account) => account.address.toLowerCase()) as Address[]\n }\n\n protected get payloadSchemas(): string[] {\n return (\n this._payloadSchemas ??\n this._payloads.map((payload) => {\n return assertEx(payload.schema, () => this.missingSchemaMessage(payload))\n })\n )\n }\n\n protected get previousHashBuffers(): (ArrayBuffer | null)[] {\n return this._accounts.map((account) => account.previousHashBytes ?? null)\n }\n\n protected get previousHashes(): (Hash | null)[] {\n return this._accounts.map((account) => account.previousHash ?? null)\n }\n\n protected get timestamp(): number {\n return (this._timestamp = typeof this._timestamp === 'number' ? this._timestamp : Date.now())\n }\n\n static addressIndex<T extends BoundWitness>(payload: T, address: Address) {\n const index = payload.addresses.indexOf(address)\n if (index === -1) {\n throw new Error('Invalid address')\n }\n return index\n }\n\n static async build<TBoundWitness extends BoundWitness>(options: BoundWitnessBuilderOptions<TBoundWitness>) {\n return await new BoundWitnessBuilder(options).build()\n }\n\n static override async dataHashableFields<T extends Payload = Payload<AnyObject>>(\n schema: string,\n fields?: WithoutSchema<WithoutMeta<T>>,\n ): Promise<WithoutMeta<T>> {\n return await PayloadBuilderBase.dataHashableFields(schema, fields ? removeEmptyFields(fields) : undefined)\n }\n\n static previousHash<T extends BoundWitness>(boundWitness: T, address: Address) {\n return boundWitness.previous_hashes[this.addressIndex(boundWitness, address)]?.toLowerCase()\n }\n\n protected static async linkingFields<T extends BoundWitness = BoundWitness>(\n accounts: AccountInstance[],\n payloads?: Payload[],\n timestamp = Date.now(),\n ) {\n const addresses = accounts.map((account) => hexFromArrayBuffer(account.addressBytes, { prefix: false }))\n const previous_hashes = accounts.map((account) => account.previousHash ?? null)\n const payload_hashes = payloads ? await PayloadBuilder.dataHashes(payloads) : []\n const payload_schemas = payloads?.map(({ schema }) => schema)\n return { addresses, payload_hashes, payload_schemas, previous_hashes, timestamp } as WithoutSchema<WithoutMeta<T>>\n }\n\n protected static override async metaFields(\n dataHash: Hash,\n otherMeta?: JsonObject,\n stamp = true,\n accounts?: AccountInstance[],\n previousHashes?: (Hash | null)[],\n destination?: Address[],\n sourceQuery?: Hash,\n ): Promise<JsonObject> {\n const meta = await super.metaFields(dataHash, otherMeta, stamp)\n\n if (accounts?.length && previousHashes?.length) {\n assertEx(accounts.length === previousHashes.length, () => 'accounts and previousHashes must have same length')\n meta.signatures = await this.signatures(accounts, dataHash, previousHashes)\n }\n\n if (sourceQuery) {\n meta.sourceQuery = sourceQuery\n }\n\n if (destination) {\n meta.destination = destination\n }\n\n return meta\n }\n\n protected static signature<T extends BoundWitness>(payload: T, address: Address) {\n return payload.$meta.signatures[this.addressIndex(payload, address)]\n }\n\n protected static async signatures(accounts: AccountInstance[], hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]> {\n const hashBytes = toArrayBuffer(hash)\n const previousHashesBytes = previousHashes?.map((ph) => (ph ? toUint8Array(ph) : undefined))\n return await Promise.all(accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hashBytes, previousHashesBytes[index]))))\n }\n\n private static validateLinkingFields(bw: Pick<BoundWitness, 'payload_hashes' | 'payload_schemas'>) {\n assertEx(bw.payload_hashes?.length === bw.payload_schemas?.length, () => 'Payload hash/schema mismatch')\n assertEx(!bw.payload_hashes.some((hash) => !hash), () => 'nulls found in hashes')\n assertEx(!bw.payload_schemas.some((schema) => !schema), () => 'nulls found in schemas')\n }\n\n async build(): Promise<[WithMeta<TBoundWitness>, WithMeta<TPayload>[], WithMeta<ModuleError>[]]> {\n return await BoundWitnessBuilder._buildMutex.runExclusive(async () => {\n const dataHashableFields = (await this.dataHashableFields()) as TBoundWitness\n const $hash = (await PayloadBuilder.build(dataHashableFields)).$hash\n const $meta = await this.metaFields($hash)\n\n const ret = {\n ...dataHashableFields,\n $hash,\n $meta,\n } as WithMeta<TBoundWitness>\n return [\n ret,\n await Promise.all(this._payloads?.map((payload) => PayloadBuilder.build(payload))),\n await Promise.all(this._errors?.map((error) => PayloadBuilder.build(error))),\n ]\n })\n }\n\n override async dataHashableFields(): Promise<WithoutMeta<TBoundWitness>> {\n const fields = await this.linkingFields()\n const result = await BoundWitnessBuilder.dataHashableFields<TBoundWitness>(this._schema, fields)\n\n BoundWitnessBuilder.validateLinkingFields(result)\n\n return result as Omit<TBoundWitness, '$meta' | '$hash'>\n }\n\n error(payload?: ModuleError) {\n assertEx(this._errorHashes === undefined, () => 'Can not set errors when hashes already set')\n if (payload) {\n this._errors.push(assertEx(sortFields(payload)))\n }\n return this\n }\n\n errors(errors?: (ModuleError | null)[]) {\n if (errors) {\n errors.map((error) => {\n if (error !== null) {\n this.error(error)\n }\n })\n }\n return this\n }\n\n hashes(hashes: Hash[], schema: Schema[]) {\n assertEx(this.payloads.length === 0, () => 'Can not set hashes when payloads already set')\n this._payloadHashes = hashes\n this._payloadSchemas = schema\n return this\n }\n\n payload(payload?: TPayload) {\n assertEx(this._payloadHashes === undefined, () => 'Can not set payloads when hashes already set')\n if (payload) {\n this._payloads.push(assertEx(sortFields<TPayload>(payload)))\n }\n return this\n }\n\n payloads(payloads?: (TPayload | null)[]) {\n if (payloads)\n payloads.map((payload) => {\n if (payload !== null) {\n this.payload(payload)\n }\n })\n return this\n }\n\n signer(account: AccountInstance) {\n this._accounts?.push(account)\n return this\n }\n\n signers(accounts: AccountInstance[]) {\n this._accounts?.push(...accounts)\n return this\n }\n\n sourceQuery(query?: Hash) {\n this._sourceQuery = query?.toLowerCase() as Hash\n return this\n }\n\n /** @deprecated use signer instead */\n witness(account: AccountInstance) {\n this._accounts?.push(account)\n return this\n }\n\n /** @deprecated use signers instead */\n witnesses(accounts: AccountInstance[]) {\n this._accounts?.push(...accounts)\n return this\n }\n\n protected override async metaFields(dataHash: Hash, stamp = true): Promise<JsonObject> {\n return await BoundWitnessBuilder.metaFields(\n dataHash,\n this._$meta,\n stamp,\n this._accounts,\n this.previousHashes,\n this._destination,\n this._sourceQuery,\n )\n }\n\n protected async signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise<string[]> {\n const hash = toArrayBuffer(_hash)\n const previousHashesBytes = previousHashes.map((ph) => (ph ? toUint8Array(ph) : undefined))\n return await Promise.all(this._accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hash, previousHashesBytes[index]))))\n }\n\n private async linkingFields() {\n return await BoundWitnessBuilder.linkingFields<TBoundWitness>(this._accounts, this._payloads, this.timestamp)\n }\n\n private missingSchemaMessage(payload: Payload) {\n return `Builder: Missing Schema\\n${JSON.stringify(payload, null, 2)}`\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Hash } from '@xylabs/hex'\nimport { QueryBoundWitness, QueryBoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload'\nimport { Payload, Query, WithMeta } from '@xyo-network/payload-model'\n\nimport { BoundWitnessBuilder } from '../Builder'\n\nexport class QueryBoundWitnessBuilder<\n TBoundWitness extends QueryBoundWitness = QueryBoundWitness,\n TQuery extends Query = Query,\n> extends BoundWitnessBuilder<TBoundWitness> {\n private _additional?: Hash[]\n private _query: WithMeta<TQuery> | undefined\n\n async additional(additional: Payload[]) {\n this._additional = await PayloadBuilder.dataHashes(additional)\n return this\n }\n\n override async dataHashableFields(): Promise<Omit<TBoundWitness, '$hash' | '$meta'>> {\n const fields = {\n ...(await super.dataHashableFields()),\n query: assertEx(this._query, () => 'No Query Specified').$hash,\n schema: QueryBoundWitnessSchema,\n } as Omit<TBoundWitness, '$hash' | '$meta'>\n if (this._additional) {\n fields.additional = this._additional\n }\n return fields\n }\n\n async query<T extends TQuery>(query: T) {\n this._query = await PayloadBuilder.build(query)\n this.payload(this._query)\n return this\n }\n}\n"],"mappings":"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","names":["src_exports","__export","BoundWitnessBuilder","QueryBoundWitnessBuilder","__toCommonJS","import_arraybuffer","import_assert","import_hex","import_boundwitness_model","import_hash","import_payload_builder","import_async_mutex","BoundWitnessBuilder","PayloadBuilderBase","_buildMutex","Mutex","_accounts","_destination","_errorHashes","_errors","_payloadHashes","_payloadSchemas","_payloads","_sourceQuery","_timestamp","constructor","options","schema","BoundWitnessSchema","accounts","payloadHashes","payloadSchemas","payloads","sourceQuery","timestamp","destination","addresses","map","account","address","toLowerCase","payload","assertEx","missingSchemaMessage","previousHashBuffers","previousHashBytes","previousHashes","previousHash","Date","now","addressIndex","index","indexOf","Error","build","dataHashableFields","fields","removeEmptyFields","undefined","boundWitness","previous_hashes","linkingFields","hexFromArrayBuffer","addressBytes","prefix","payload_hashes","PayloadBuilder","dataHashes","payload_schemas","metaFields","dataHash","otherMeta","stamp","meta","length","signatures","signature","$meta","hash","hashBytes","toArrayBuffer","previousHashesBytes","ph","toUint8Array","Promise","all","sign","validateLinkingFields","bw","some","runExclusive","$hash","error","result","_schema","push","sortFields","errors","hashes","signer","signers","query","witness","witnesses","_$meta","_hash","JSON","stringify","import_assert","import_boundwitness_model","import_payload","QueryBoundWitnessBuilder","BoundWitnessBuilder","_additional","_query","additional","PayloadBuilder","dataHashes","dataHashableFields","fields","query","assertEx","$hash","schema","QueryBoundWitnessSchema","build","payload"]}