@xyo-network/boundwitness-builder 2.59.0 → 2.60.0-rc.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.
@@ -16,12 +16,6 @@ class BoundWitnessBuilder {
16
16
  this._payloads = [];
17
17
  this._timestamp = Date.now();
18
18
  }
19
- get _payload_hashes() {
20
- var _a;
21
- return ((_a = this._payloadHashes) !== null && _a !== void 0 ? _a : this._payloads.map((payload) => {
22
- return (0, assert_1.assertEx)(core_1.Hasher.hash(payload));
23
- }));
24
- }
25
19
  get _payload_schemas() {
26
20
  var _a;
27
21
  return ((_a = this._payloadSchemas) !== null && _a !== void 0 ? _a : this._payloads.map((payload) => {
@@ -31,8 +25,8 @@ class BoundWitnessBuilder {
31
25
  build(meta = false) {
32
26
  var _a;
33
27
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- const hashableFields = this.hashableFields();
35
- const _hash = boundwitness_wrapper_1.BoundWitnessWrapper.hash(hashableFields);
28
+ const hashableFields = yield this.hashableFields();
29
+ const _hash = yield boundwitness_wrapper_1.BoundWitnessWrapper.hashAsync(hashableFields);
36
30
  const ret = Object.assign(Object.assign({}, hashableFields), { _signatures: yield this.signatures(_hash) });
37
31
  if (meta !== null && meta !== void 0 ? meta : (_a = this.config) === null || _a === void 0 ? void 0 : _a.meta) {
38
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -52,24 +46,26 @@ class BoundWitnessBuilder {
52
46
  }
53
47
  hashableFields() {
54
48
  var _a, _b, _c;
55
- const addresses = this._accounts.map((account) => account.addressValue.hex);
56
- 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; });
57
- const payload_hashes = (0, assert_1.assertEx)(this._payload_hashes, 'Missing payload_hashes');
58
- const payload_schemas = (0, assert_1.assertEx)(this._payload_schemas, 'Missing payload_schemas');
59
- const result = {
60
- addresses: (0, assert_1.assertEx)(addresses, 'Missing addresses'),
61
- payload_hashes,
62
- payload_schemas,
63
- previous_hashes,
64
- schema: boundwitness_model_1.BoundWitnessSchema,
65
- };
66
- (0, assert_1.assertEx)(((_a = result.payload_hashes) === null || _a === void 0 ? void 0 : _a.length) === ((_b = result.payload_schemas) === null || _b === void 0 ? void 0 : _b.length), 'Payload hash/schema mismatch');
67
- (0, assert_1.assertEx)(!result.payload_hashes.reduce((inValid, hash) => inValid || !hash, false), 'nulls found in hashes');
68
- (0, assert_1.assertEx)(!result.payload_schemas.reduce((inValid, schema) => inValid || !schema, false), 'nulls found in schemas');
69
- if ((_c = this.config.timestamp) !== null && _c !== void 0 ? _c : true) {
70
- result.timestamp = this._timestamp;
71
- }
72
- return result;
49
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
+ const addresses = this._accounts.map((account) => account.addressValue.hex);
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; });
52
+ const payload_hashes = (0, assert_1.assertEx)(yield this.getPayloadHashes(), 'Missing payload_hashes');
53
+ const payload_schemas = (0, assert_1.assertEx)(this._payload_schemas, 'Missing payload_schemas');
54
+ const result = {
55
+ addresses: (0, assert_1.assertEx)(addresses, 'Missing addresses'),
56
+ payload_hashes,
57
+ payload_schemas,
58
+ previous_hashes,
59
+ schema: boundwitness_model_1.BoundWitnessSchema,
60
+ };
61
+ (0, assert_1.assertEx)(((_a = result.payload_hashes) === null || _a === void 0 ? void 0 : _a.length) === ((_b = result.payload_schemas) === null || _b === void 0 ? void 0 : _b.length), 'Payload hash/schema mismatch');
62
+ (0, assert_1.assertEx)(!result.payload_hashes.reduce((inValid, hash) => inValid || !hash, false), 'nulls found in hashes');
63
+ (0, assert_1.assertEx)(!result.payload_schemas.reduce((inValid, schema) => inValid || !schema, false), 'nulls found in schemas');
64
+ if ((_c = this.config.timestamp) !== null && _c !== void 0 ? _c : true) {
65
+ result.timestamp = this._timestamp;
66
+ }
67
+ return result;
68
+ });
73
69
  }
74
70
  hashes(hashes, schema) {
75
71
  (0, assert_1.assertEx)(this.payloads.length === 0, 'Can not set hashes when payloads already set');
@@ -109,6 +105,12 @@ class BoundWitnessBuilder {
109
105
  return yield Promise.all(this._accounts.map((account) => tslib_1.__awaiter(this, void 0, void 0, function* () { return buffer_1.Buffer.from(yield account.sign(hash)).toString('hex'); })));
110
106
  });
111
107
  }
108
+ getPayloadHashes() {
109
+ var _a;
110
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
111
+ return (_a = this._payloadHashes) !== null && _a !== void 0 ? _a : (yield Promise.all(this._payloads.map((payload) => core_1.PayloadHasher.hashAsync(payload))));
112
+ });
113
+ }
112
114
  inlinePayloads() {
113
115
  return this._payloads.map((payload, index) => {
114
116
  return Object.assign(Object.assign({}, payload), { schema: this._payload_schemas[index] });
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,2CAAuC;AAEvC,wEAAkF;AAClF,4EAAuE;AACvE,4CAAsD;AACtD,kDAAqD;AAWrD,MAAa,mBAAmB;IAO9B,YAAqB,SAAoC,EAAE,cAAc,EAAE,KAAK,EAAE,EAAqB,MAAe;QAAjG,WAAM,GAAN,MAAM,CAAuD;QAAqB,WAAM,GAAN,MAAM,CAAS;QAN9G,cAAS,GAAsB,EAAE,CAAA;QAGjC,cAAS,GAAe,EAAE,CAAA;QAC1B,eAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE0F,CAAC;IAE1H,IAAY,eAAe;;QACzB,OAAO,CACL,MAAA,IAAI,CAAC,cAAc,mCACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,OAAO,IAAA,iBAAQ,EAAC,aAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAY,gBAAgB;;QAC1B,OAAO,CACL,MAAA,IAAI,CAAC,eAAe,mCACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,OAAO,IAAA,iBAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEK,KAAK,CAAC,IAAI,GAAG,KAAK;;;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YAC5C,MAAM,KAAK,GAAG,0CAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACtD,MAAM,GAAG,mCACJ,cAAc,KACjB,WAAW,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAC1C,CAAA;YACD,IAAI,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;gBAC7B,8DAA8D;gBAC9D,MAAM,UAAU,GAAG,GAAU,CAAA;gBAC7B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;gBACzB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;gBACxB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;aACxC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC9B,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,GAAU,CAAA;gBACzB,yDAAyD;gBACzD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;aACzC;YACD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;;KAC7B;IAED,cAAc;;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,OAAO,CAAC,YAAY,0CAAE,GAAG,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAA;QAC1F,MAAM,cAAc,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;QAC/E,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;QAClF,MAAM,MAAM,GAAkB;YAC5B,SAAS,EAAE,IAAA,iBAAQ,EAAC,SAAS,EAAE,mBAAmB,CAAC;YACnD,cAAc;YACd,eAAe;YACf,eAAe;YACf,MAAM,EAAE,uCAAkB;SACV,CAAA;QAElB,IAAA,iBAAQ,EAAC,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,MAAM,OAAK,MAAA,MAAM,CAAC,eAAe,0CAAE,MAAM,CAAA,EAAE,8BAA8B,CAAC,CAAA;QAE1G,IAAA,iBAAQ,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAA;QAE5G,IAAA,iBAAQ,EAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAA;QAElH,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,mCAAI,IAAI,EAAE;YACjC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;SACnC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAgB,EAAE,MAAgB;QACvC,IAAA,iBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,8CAA8C,CAAC,CAAA;QACpF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,OAAkB;QACxB,MAAM,gBAAgB,GAAG,wBAAc,CAAC,MAAM,CAAW,OAAO,CAAC,CAAA;QACjE,IAAA,iBAAQ,EAAC,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,8CAA8C,CAAC,CAAA;QAC3F,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAA,iBAAQ,EAAC,IAAA,iBAAU,EAAW,gBAAgB,CAAC,CAAC,CAAC,CAAA;SACtE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,QAA8B;QACrC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,OAAO,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,OAAwB;;QAC9B,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,QAA2B;;QACnC,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAEe,UAAU,CAAC,KAAa;;YACtC,MAAM,IAAI,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACtC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE,wDAAC,OAAA,eAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,GAAA,CAAC,CAAC,CAAA;QACxH,CAAC;KAAA;IAEO,cAAc;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACrD,uCACK,OAAO,KACV,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IACrC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,OAAO,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;IACvE,CAAC;CACF;AAhID,kDAgIC"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}