@xyo-network/id-payload-plugin 2.31.4 → 2.32.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.
@@ -1,7 +1,7 @@
1
1
  import { XyoPayload } from '@xyo-network/payload';
2
- import { XyoIdPayloadSchema } from './Schema';
2
+ import { XyoIdSchema } from './Schema';
3
3
  export declare type XyoIdPayload = XyoPayload<{
4
- schema: XyoIdPayloadSchema;
4
+ schema: XyoIdSchema;
5
5
  salt: string;
6
6
  }>;
7
7
  //# sourceMappingURL=Payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,oBAAY,YAAY,GAAG,UAAU,CAAC;IACpC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,oBAAY,YAAY,GAAG,UAAU,CAAC;IACpC,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
@@ -1,16 +1,16 @@
1
1
  import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin';
2
- import { XyoIdPayloadSchema } from './Schema';
2
+ import { XyoIdSchema } from './Schema';
3
3
  import { XyoIdPayloadTemplate } from './Template';
4
4
  import { XyoIdWitness, XyoIdWitnessConfigSchema } from './Witness';
5
5
  export const XyoIdPayloadPlugin = () => createXyoPayloadPlugin({
6
6
  auto: true,
7
- schema: XyoIdPayloadSchema,
7
+ schema: XyoIdSchema,
8
8
  template: XyoIdPayloadTemplate,
9
9
  witness: (config) => {
10
10
  return new XyoIdWitness({
11
11
  ...config,
12
12
  schema: XyoIdWitnessConfigSchema,
13
- targetSchema: XyoIdPayloadSchema,
13
+ targetSchema: XyoIdSchema,
14
14
  });
15
15
  },
16
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,YAAY,EAAsB,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,sBAAsB,CAAmC;IACvD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,kBAAkB;IAC1B,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAgB,EAAE;QAChC,OAAO,IAAI,YAAY,CAAC;YACtB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAwB;YAChC,YAAY,EAAE,kBAAkB;SACjC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,YAAY,EAAsB,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,sBAAsB,CAAmC;IACvD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAgB,EAAE;QAChC,OAAO,IAAI,YAAY,CAAC;YACtB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAwB;YAChC,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- export declare type XyoIdPayloadSchema = 'network.xyo.id';
2
- export declare const XyoIdPayloadSchema: XyoIdPayloadSchema;
1
+ export declare type XyoIdSchema = 'network.xyo.id';
2
+ export declare const XyoIdSchema: XyoIdSchema;
3
3
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB,GAAG,gBAAgB,CAAA;AACjD,eAAO,MAAM,kBAAkB,EAAE,kBAAqC,CAAA"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,gBAAgB,CAAA;AAC1C,eAAO,MAAM,WAAW,EAAE,WAA8B,CAAA"}
@@ -1,2 +1,2 @@
1
- export const XyoIdPayloadSchema = 'network.xyo.id';
1
+ export const XyoIdSchema = 'network.xyo.id';
2
2
  //# sourceMappingURL=Schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,kBAAkB,GAAuB,gBAAgB,CAAA"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,WAAW,GAAgB,gBAAgB,CAAA"}
@@ -1,6 +1,6 @@
1
- import { XyoIdPayloadSchema } from './Schema';
1
+ import { XyoIdSchema } from './Schema';
2
2
  export const XyoIdPayloadTemplate = () => ({
3
3
  salt: '',
4
- schema: XyoIdPayloadSchema,
4
+ schema: XyoIdSchema,
5
5
  });
6
6
  //# sourceMappingURL=Template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAiB,EAAE,CAAC,CAAC;IACvD,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAiB,EAAE,CAAC,CAAC;IACvD,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,WAAW;CACpB,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
- import { XyoWitness, XyoWitnessConfig } from '@xyo-network/witness';
1
+ import { PartialWitnessConfig, XyoWitness, XyoWitnessConfig } from '@xyo-network/witness';
2
2
  import { XyoIdPayload } from './Payload';
3
- import { XyoIdPayloadSchema } from './Schema';
3
+ import { XyoIdSchema } from './Schema';
4
4
  export declare type XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config';
5
5
  export declare const XyoIdWitnessConfigSchema: XyoIdWitnessConfigSchema;
6
6
  export declare type XyoIdWitnessConfig = XyoWitnessConfig<XyoIdPayload, {
@@ -8,8 +8,9 @@ export declare type XyoIdWitnessConfig = XyoWitnessConfig<XyoIdPayload, {
8
8
  salt: string;
9
9
  }>;
10
10
  export declare class XyoIdWitness extends XyoWitness<XyoIdPayload, XyoIdWitnessConfig> {
11
- get salt(): string;
12
- observe(_fields?: Partial<XyoIdPayload>): Promise<XyoIdPayload>;
13
- static schema: XyoIdPayloadSchema;
11
+ constructor(config: PartialWitnessConfig<XyoIdWitnessConfig>);
12
+ get salt(): string | undefined;
13
+ observe(fields?: Partial<XyoIdPayload>): Promise<XyoIdPayload>;
14
+ static schema: XyoIdSchema;
14
15
  }
15
16
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,oBAAY,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,oBAAY,kBAAkB,GAAG,gBAAgB,CAC/C,YAAY,EACZ;IACE,MAAM,EAAE,wBAAwB,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CACF,CAAA;AAED,qBAAa,YAAa,SAAQ,UAAU,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC5E,IAAW,IAAI,WAEd;IAEc,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ9E,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAqB;CACvD"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,oBAAY,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,oBAAY,kBAAkB,GAAG,gBAAgB,CAC/C,YAAY,EACZ;IACE,MAAM,EAAE,wBAAwB,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CACF,CAAA;AAED,qBAAa,YAAa,SAAQ,UAAU,CAAC,YAAY,EAAE,kBAAkB,CAAC;gBAChE,MAAM,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IAI5D,IAAW,IAAI,uBAEd;IAEc,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAS7E,MAAM,CAAC,MAAM,EAAE,WAAW,CAAc;CACzC"}
@@ -1,18 +1,23 @@
1
+ import { assertEx } from '@xylabs/assert';
1
2
  import { delay } from '@xylabs/delay';
2
3
  import { XyoWitness } from '@xyo-network/witness';
3
- import { XyoIdPayloadSchema } from './Schema';
4
+ import { XyoIdSchema } from './Schema';
4
5
  export const XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config';
5
6
  export class XyoIdWitness extends XyoWitness {
7
+ constructor(config) {
8
+ super({ schema: XyoIdWitnessConfigSchema, targetSchema: XyoIdSchema, ...config });
9
+ }
6
10
  get salt() {
7
- return this.config.salt;
11
+ return this.config?.salt;
8
12
  }
9
- async observe(_fields) {
13
+ async observe(fields) {
10
14
  await delay(0);
11
15
  return {
12
- salt: this.salt,
16
+ ...fields,
17
+ salt: assertEx(this.salt ?? fields?.salt, 'Missing salt'),
13
18
  schema: 'network.xyo.id',
14
19
  };
15
20
  }
16
- static schema = XyoIdPayloadSchema;
21
+ static schema = XyoIdSchema;
17
22
  }
18
23
  //# sourceMappingURL=Witness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAG7C,MAAM,CAAC,MAAM,wBAAwB,GAA6B,+BAA+B,CAAA;AAUjG,MAAM,OAAO,YAAa,SAAQ,UAA4C;IAC5E,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAA+B;QACpD,MAAM,KAAK,CAAC,CAAC,CAAC,CAAA;QACd,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,gBAAgB;SACzB,CAAA;IACH,CAAC;IAED,MAAM,CAAC,MAAM,GAAuB,kBAAkB,CAAA"}
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAwB,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AAGzF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGtC,MAAM,CAAC,MAAM,wBAAwB,GAA6B,+BAA+B,CAAA;AAUjG,MAAM,OAAO,YAAa,SAAQ,UAA4C;IAC5E,YAAY,MAAgD;QAC1D,KAAK,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IACnF,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAA8B;QACnD,MAAM,KAAK,CAAC,CAAC,CAAC,CAAA;QACd,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC;YACzD,MAAM,EAAE,gBAAgB;SACzB,CAAA;IACH,CAAC;IAED,MAAM,CAAC,MAAM,GAAgB,WAAW,CAAA"}
package/package.json CHANGED
@@ -10,10 +10,11 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
+ "@xylabs/assert": "^2.6.7",
13
14
  "@xylabs/delay": "^2.6.7",
14
- "@xyo-network/payload": "^2.31.4",
15
- "@xyo-network/payload-plugin": "^2.31.4",
16
- "@xyo-network/witness": "^2.31.4",
15
+ "@xyo-network/payload": "^2.32.0-rc.2",
16
+ "@xyo-network/payload-plugin": "^2.32.0-rc.2",
17
+ "@xyo-network/witness": "^2.32.0-rc.2",
17
18
  "tslib": "^2.4.0"
18
19
  },
19
20
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -49,5 +50,6 @@
49
50
  },
50
51
  "sideEffects": false,
51
52
  "types": "dist/esm/index.d.ts",
52
- "version": "2.31.4"
53
+ "version": "2.32.0-rc.2",
54
+ "stableVersion": "2.31.5"
53
55
  }
package/src/Payload.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { XyoPayload } from '@xyo-network/payload'
2
2
 
3
- import { XyoIdPayloadSchema } from './Schema'
3
+ import { XyoIdSchema } from './Schema'
4
4
 
5
5
  export type XyoIdPayload = XyoPayload<{
6
- schema: XyoIdPayloadSchema
6
+ schema: XyoIdSchema
7
7
  salt: string
8
8
  }>
@@ -1,12 +1,12 @@
1
1
  import { XyoPayloadPluginResolver } from '@xyo-network/payload-plugin'
2
2
 
3
3
  import { XyoIdPayloadPlugin } from './Plugin'
4
- import { XyoIdPayloadSchema } from './Schema'
4
+ import { XyoIdSchema } from './Schema'
5
5
 
6
6
  describe('XyoIdPayloadPlugin', () => {
7
7
  test('Add to Resolver', () => {
8
8
  const resolver = new XyoPayloadPluginResolver().register(XyoIdPayloadPlugin())
9
- expect(resolver.resolve({ schema: XyoIdPayloadSchema })).toBeObject()
10
- expect(resolver.witness(XyoIdPayloadSchema)).toBeObject()
9
+ expect(resolver.resolve({ schema: XyoIdSchema })).toBeObject()
10
+ expect(resolver.witness(XyoIdSchema)).toBeObject()
11
11
  })
12
12
  })
package/src/Plugin.ts CHANGED
@@ -1,20 +1,20 @@
1
1
  import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin'
2
2
 
3
3
  import { XyoIdPayload } from './Payload'
4
- import { XyoIdPayloadSchema } from './Schema'
4
+ import { XyoIdSchema } from './Schema'
5
5
  import { XyoIdPayloadTemplate } from './Template'
6
6
  import { XyoIdWitness, XyoIdWitnessConfig, XyoIdWitnessConfigSchema } from './Witness'
7
7
 
8
8
  export const XyoIdPayloadPlugin = () =>
9
9
  createXyoPayloadPlugin<XyoIdPayload, XyoIdWitnessConfig>({
10
10
  auto: true,
11
- schema: XyoIdPayloadSchema,
11
+ schema: XyoIdSchema,
12
12
  template: XyoIdPayloadTemplate,
13
13
  witness: (config): XyoIdWitness => {
14
14
  return new XyoIdWitness({
15
15
  ...config,
16
16
  schema: XyoIdWitnessConfigSchema,
17
- targetSchema: XyoIdPayloadSchema,
17
+ targetSchema: XyoIdSchema,
18
18
  })
19
19
  },
20
20
  })
package/src/Schema.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type XyoIdPayloadSchema = 'network.xyo.id'
2
- export const XyoIdPayloadSchema: XyoIdPayloadSchema = 'network.xyo.id'
1
+ export type XyoIdSchema = 'network.xyo.id'
2
+ export const XyoIdSchema: XyoIdSchema = 'network.xyo.id'
package/src/Template.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { XyoIdPayload } from './Payload'
2
- import { XyoIdPayloadSchema } from './Schema'
2
+ import { XyoIdSchema } from './Schema'
3
3
 
4
4
  export const XyoIdPayloadTemplate = (): XyoIdPayload => ({
5
5
  salt: '',
6
- schema: XyoIdPayloadSchema,
6
+ schema: XyoIdSchema,
7
7
  })
@@ -2,20 +2,15 @@
2
2
  * @jest-environment jsdom
3
3
  */
4
4
 
5
- import { XyoAccount } from '@xyo-network/account'
6
-
7
- import { XyoIdPayloadSchema } from './Schema'
8
- import { XyoIdWitness, XyoIdWitnessConfigSchema } from './Witness'
5
+ import { XyoIdSchema } from './Schema'
6
+ import { XyoIdWitness } from './Witness'
9
7
 
10
8
  describe('XyoIdWitness [Browser]', () => {
11
9
  test('observe', async () => {
12
10
  const witness = new XyoIdWitness({
13
- account: new XyoAccount(),
14
11
  salt: 'test',
15
- schema: XyoIdWitnessConfigSchema,
16
- targetSchema: XyoIdPayloadSchema,
17
12
  })
18
13
  const observation = await witness.observe()
19
- expect(observation.schema).toBe(XyoIdPayloadSchema)
14
+ expect(observation.schema).toBe(XyoIdSchema)
20
15
  })
21
16
  })
@@ -1,15 +1,9 @@
1
- import { XyoAccount } from '@xyo-network/account'
2
-
3
- import { XyoIdPayloadSchema } from './Schema'
4
- import { XyoIdWitness, XyoIdWitnessConfigSchema } from './Witness'
1
+ import { XyoIdWitness } from './Witness'
5
2
 
6
3
  describe('XyoIdWitness', () => {
7
4
  test('observe', async () => {
8
5
  const witness = new XyoIdWitness({
9
- account: new XyoAccount(),
10
6
  salt: 'test',
11
- schema: XyoIdWitnessConfigSchema,
12
- targetSchema: XyoIdPayloadSchema,
13
7
  })
14
8
  const observation = await witness.observe()
15
9
  expect(observation.schema).toBe('network.xyo.id')
package/src/Witness.ts CHANGED
@@ -1,8 +1,9 @@
1
+ import { assertEx } from '@xylabs/assert'
1
2
  import { delay } from '@xylabs/delay'
2
- import { XyoWitness, XyoWitnessConfig } from '@xyo-network/witness'
3
+ import { PartialWitnessConfig, XyoWitness, XyoWitnessConfig } from '@xyo-network/witness'
3
4
 
4
5
  import { XyoIdPayload } from './Payload'
5
- import { XyoIdPayloadSchema } from './Schema'
6
+ import { XyoIdSchema } from './Schema'
6
7
 
7
8
  export type XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config'
8
9
  export const XyoIdWitnessConfigSchema: XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config'
@@ -16,17 +17,22 @@ export type XyoIdWitnessConfig = XyoWitnessConfig<
16
17
  >
17
18
 
18
19
  export class XyoIdWitness extends XyoWitness<XyoIdPayload, XyoIdWitnessConfig> {
20
+ constructor(config: PartialWitnessConfig<XyoIdWitnessConfig>) {
21
+ super({ schema: XyoIdWitnessConfigSchema, targetSchema: XyoIdSchema, ...config })
22
+ }
23
+
19
24
  public get salt() {
20
- return this.config.salt
25
+ return this.config?.salt
21
26
  }
22
27
 
23
- override async observe(_fields?: Partial<XyoIdPayload>): Promise<XyoIdPayload> {
28
+ override async observe(fields?: Partial<XyoIdPayload>): Promise<XyoIdPayload> {
24
29
  await delay(0)
25
30
  return {
26
- salt: this.salt,
31
+ ...fields,
32
+ salt: assertEx(this.salt ?? fields?.salt, 'Missing salt'),
27
33
  schema: 'network.xyo.id',
28
34
  }
29
35
  }
30
36
 
31
- static schema: XyoIdPayloadSchema = XyoIdPayloadSchema
37
+ static schema: XyoIdSchema = XyoIdSchema
32
38
  }