@xyo-network/id-payload-plugin 2.41.10 → 2.41.12
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/Plugin.d.ts +5 -14
- package/dist/cjs/Plugin.d.ts.map +1 -1
- package/dist/cjs/Plugin.js +7 -9
- package/dist/cjs/Plugin.js.map +1 -1
- package/dist/cjs/Witness.d.ts +4 -4
- package/dist/cjs/Witness.d.ts.map +1 -1
- package/dist/cjs/Witness.js +15 -10
- package/dist/cjs/Witness.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +928 -946
- package/dist/esm/Plugin.d.ts +5 -14
- package/dist/esm/Plugin.d.ts.map +1 -1
- package/dist/esm/Plugin.js +5 -7
- package/dist/esm/Plugin.js.map +1 -1
- package/dist/esm/Witness.d.ts +4 -4
- package/dist/esm/Witness.d.ts.map +1 -1
- package/dist/esm/Witness.js +14 -9
- package/dist/esm/Witness.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/package.json +5 -6
- package/src/Plugin.spec.ts +6 -5
- package/src/Plugin.ts +11 -11
- package/src/Witness.browser.spec.ts +3 -3
- package/src/Witness.spec.ts +6 -6
- package/src/Witness.ts +20 -17
- package/src/index.ts +3 -3
package/dist/esm/Plugin.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { XyoModuleParams } from '@xyo-network/module';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
schema: "network.xyo.id";
|
|
5
|
-
}, XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
2
|
+
import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
|
|
3
|
+
export declare const XyoIdPlugin: () => PayloadSetWitnessPlugin<XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
6
4
|
security?: {
|
|
7
5
|
allowed?: Record<string, string[][]> | undefined;
|
|
8
6
|
disallowed?: Record<string, string[]> | undefined;
|
|
@@ -11,15 +9,8 @@ export declare const XyoIdPayloadPlugin: () => import("@xyo-network/payload-plug
|
|
|
11
9
|
salt: string;
|
|
12
10
|
schema: "network.xyo.id.witness.config";
|
|
13
11
|
} & {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
allowed?: Record<string, string[][]> | undefined;
|
|
18
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
19
|
-
} | undefined;
|
|
20
|
-
} & {
|
|
21
|
-
targetSchema?: string | undefined;
|
|
22
|
-
} & {
|
|
23
|
-
schema: string;
|
|
12
|
+
targetSet?: (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & import("@xyo-network/payload").PayloadSet & {
|
|
13
|
+
schema: "network.xyo.payload.set";
|
|
14
|
+
}) | undefined;
|
|
24
15
|
}>>;
|
|
25
16
|
//# sourceMappingURL=Plugin.d.ts.map
|
package/dist/esm/Plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAKhG,eAAO,MAAM,WAAW;;;;;;;;;;;;GASrB,CAAA"}
|
package/dist/esm/Plugin.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PayloadSetSchema } from '@xyo-network/payload';
|
|
2
|
+
import { createPayloadSetPlugin } from '@xyo-network/payloadset-plugin';
|
|
2
3
|
import { XyoIdSchema } from './Schema';
|
|
3
|
-
import { XyoIdPayloadTemplate } from './Template';
|
|
4
4
|
import { XyoIdWitness } from './Witness';
|
|
5
|
-
export const
|
|
6
|
-
auto: true,
|
|
7
|
-
schema: XyoIdSchema,
|
|
8
|
-
template: XyoIdPayloadTemplate,
|
|
5
|
+
export const XyoIdPlugin = () => createPayloadSetPlugin({ required: { [XyoIdSchema]: 1 }, schema: PayloadSetSchema }, {
|
|
9
6
|
witness: async (params) => {
|
|
10
|
-
|
|
7
|
+
const result = await XyoIdWitness.create(params);
|
|
8
|
+
return result;
|
|
11
9
|
},
|
|
12
10
|
});
|
|
13
11
|
//# sourceMappingURL=Plugin.js.map
|
package/dist/esm/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,gCAAgC,CAAA;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAsB,MAAM,WAAW,CAAA;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAC9B,sBAAsB,CACpB,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5D;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
|
package/dist/esm/Witness.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { XyoModuleParams } from '@xyo-network/module';
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
2
3
|
import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness';
|
|
3
4
|
import { XyoIdPayload } from './Payload';
|
|
4
5
|
export type XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config';
|
|
5
6
|
export declare const XyoIdWitnessConfigSchema: XyoIdWitnessConfigSchema;
|
|
6
|
-
export type XyoIdWitnessConfig = XyoWitnessConfig<
|
|
7
|
+
export type XyoIdWitnessConfig = XyoWitnessConfig<{
|
|
7
8
|
salt: string;
|
|
8
9
|
schema: XyoIdWitnessConfigSchema;
|
|
9
10
|
}>;
|
|
10
|
-
export declare class XyoIdWitness extends AbstractWitness<
|
|
11
|
+
export declare class XyoIdWitness extends AbstractWitness<XyoIdWitnessConfig> {
|
|
11
12
|
static configSchema: "network.xyo.id.witness.config";
|
|
12
|
-
static targetSchema: "network.xyo.id";
|
|
13
13
|
get salt(): string;
|
|
14
14
|
static create(params?: XyoModuleParams<XyoIdWitnessConfig>): Promise<XyoIdWitness>;
|
|
15
|
-
observe(
|
|
15
|
+
observe(payloads?: XyoIdPayload[]): Promise<XyoPayload[]>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,qBAAa,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACnE,OAAgB,YAAY,kCAA2B;IAEvD,IAAW,IAAI,WAEd;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlF,OAAO,CAAC,QAAQ,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAiB7E"}
|
package/dist/esm/Witness.js
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert';
|
|
2
1
|
import { AbstractWitness } from '@xyo-network/witness';
|
|
3
2
|
import { XyoIdSchema } from './Schema';
|
|
4
3
|
export const XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config';
|
|
5
4
|
export class XyoIdWitness extends AbstractWitness {
|
|
6
5
|
static configSchema = XyoIdWitnessConfigSchema;
|
|
7
|
-
static targetSchema = XyoIdSchema;
|
|
8
6
|
get salt() {
|
|
9
7
|
return this.config?.salt ?? `${Math.floor(Math.random() * 9999999)}`;
|
|
10
8
|
}
|
|
11
9
|
static async create(params) {
|
|
12
10
|
return (await super.create(params));
|
|
13
11
|
}
|
|
14
|
-
async observe(
|
|
15
|
-
return await super.observe(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
async observe(payloads = []) {
|
|
13
|
+
return await super.observe(payloads.length > 0
|
|
14
|
+
? payloads.map((fieldItems) => {
|
|
15
|
+
return {
|
|
16
|
+
salt: fieldItems?.salt ?? this.salt,
|
|
17
|
+
schema: XyoIdSchema,
|
|
18
|
+
};
|
|
19
|
+
})
|
|
20
|
+
: [
|
|
21
|
+
{
|
|
22
|
+
salt: this.salt,
|
|
23
|
+
schema: XyoIdSchema,
|
|
24
|
+
},
|
|
25
|
+
]);
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
28
|
//# sourceMappingURL=Witness.js.map
|
package/dist/esm/Witness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAA;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGtC,MAAM,CAAC,MAAM,wBAAwB,GAA6B,+BAA+B,CAAA;AAOjG,MAAM,OAAO,YAAa,SAAQ,eAAmC;IACnE,MAAM,CAAU,YAAY,GAAG,wBAAwB,CAAA;IAEvD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACtE,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAA4C;QACvE,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAiB,CAAA;IACrD,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,WAA2B,EAAE;QAClD,OAAO,MAAM,KAAK,CAAC,OAAO,CACxB,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1B,OAAO;oBACL,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;oBACnC,MAAM,EAAE,WAAW;iBACpB,CAAA;YACH,CAAC,CAAC;YACJ,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,WAAW;iBACpB;aACF,CACN,CAAA;IACH,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoIdPlugin } from './Plugin';
|
|
2
2
|
export * from './Payload';
|
|
3
3
|
export * from './Schema';
|
|
4
4
|
export * from './Template';
|
|
5
5
|
export * from './Witness';
|
|
6
|
-
export {
|
|
7
|
-
export default
|
|
6
|
+
export { XyoIdPlugin };
|
|
7
|
+
export default XyoIdPlugin;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,CAAA;AAGtB,eAAe,WAAW,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoIdPlugin } from './Plugin';
|
|
2
2
|
export * from './Payload';
|
|
3
3
|
export * from './Schema';
|
|
4
4
|
export * from './Template';
|
|
5
5
|
export * from './Witness';
|
|
6
|
-
export {
|
|
6
|
+
export { XyoIdPlugin };
|
|
7
7
|
// eslint-disable-next-line import/no-default-export
|
|
8
|
-
export default
|
|
8
|
+
export default XyoIdPlugin;
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,oDAAoD;AACpD,eAAe,WAAW,CAAA"}
|
package/package.json
CHANGED
|
@@ -10,11 +10,10 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/witness": "^2.41.10",
|
|
13
|
+
"@xyo-network/module": "^2.41.12",
|
|
14
|
+
"@xyo-network/payload": "^2.41.12",
|
|
15
|
+
"@xyo-network/payloadset-plugin": "^2.41.12",
|
|
16
|
+
"@xyo-network/witness": "^2.41.12",
|
|
18
17
|
"tslib": "^2.4.1"
|
|
19
18
|
},
|
|
20
19
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -50,5 +49,5 @@
|
|
|
50
49
|
},
|
|
51
50
|
"sideEffects": false,
|
|
52
51
|
"types": "dist/esm/index.d.ts",
|
|
53
|
-
"version": "2.41.
|
|
52
|
+
"version": "2.41.12"
|
|
54
53
|
}
|
package/src/Plugin.spec.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { XyoIdPlugin } from './Plugin'
|
|
4
4
|
import { XyoIdSchema } from './Schema'
|
|
5
5
|
|
|
6
|
-
describe('
|
|
6
|
+
describe('XyoIdPlugin', () => {
|
|
7
7
|
test('Add to Resolver', () => {
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const plugin = XyoIdPlugin()
|
|
9
|
+
const resolver = new PayloadSetPluginResolver().register(plugin)
|
|
10
|
+
expect(resolver.resolve(plugin.set)).toBeObject()
|
|
10
11
|
expect(resolver.witness(XyoIdSchema)).toBeObject()
|
|
11
12
|
})
|
|
12
13
|
})
|
package/src/Plugin.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { XyoModuleParams } from '@xyo-network/module'
|
|
2
|
-
import {
|
|
2
|
+
import { PayloadSetSchema } from '@xyo-network/payload'
|
|
3
|
+
import { createPayloadSetPlugin, PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'
|
|
3
4
|
|
|
4
|
-
import { XyoIdPayload } from './Payload'
|
|
5
5
|
import { XyoIdSchema } from './Schema'
|
|
6
|
-
import { XyoIdPayloadTemplate } from './Template'
|
|
7
6
|
import { XyoIdWitness, XyoIdWitnessConfig } from './Witness'
|
|
8
7
|
|
|
9
|
-
export const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
export const XyoIdPlugin = () =>
|
|
9
|
+
createPayloadSetPlugin<PayloadSetWitnessPlugin<XyoModuleParams<XyoIdWitnessConfig>>>(
|
|
10
|
+
{ required: { [XyoIdSchema]: 1 }, schema: PayloadSetSchema },
|
|
11
|
+
{
|
|
12
|
+
witness: async (params) => {
|
|
13
|
+
const result = await XyoIdWitness.create(params)
|
|
14
|
+
return result
|
|
15
|
+
},
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
)
|
|
@@ -10,16 +10,16 @@ import { XyoIdWitness, XyoIdWitnessConfigSchema } from './Witness'
|
|
|
10
10
|
describe('XyoIdWitness [Browser]', () => {
|
|
11
11
|
test('observe', async () => {
|
|
12
12
|
const witness = await XyoIdWitness.create({
|
|
13
|
-
config: { salt: 'test', schema: XyoIdWitnessConfigSchema
|
|
13
|
+
config: { salt: 'test', schema: XyoIdWitnessConfigSchema },
|
|
14
14
|
})
|
|
15
|
-
const [observation] = await witness.observe([{ salt: 'test' }])
|
|
15
|
+
const [observation] = await witness.observe([{ salt: 'test', schema: XyoIdSchema }])
|
|
16
16
|
expect(observation.schema).toBe(XyoIdSchema)
|
|
17
17
|
expect(new PayloadWrapper(observation).valid).toBe(true)
|
|
18
18
|
})
|
|
19
19
|
|
|
20
20
|
test('observe [no config]', async () => {
|
|
21
21
|
const witness = await XyoIdWitness.create()
|
|
22
|
-
const [observation] = await witness.observe([{ salt: 'test' }])
|
|
22
|
+
const [observation] = await witness.observe([{ salt: 'test', schema: XyoIdSchema }])
|
|
23
23
|
expect(observation.schema).toBe(XyoIdSchema)
|
|
24
24
|
expect(new PayloadWrapper(observation).valid).toBe(true)
|
|
25
25
|
})
|
package/src/Witness.spec.ts
CHANGED
|
@@ -17,14 +17,14 @@ describe('XyoIdWitness', () => {
|
|
|
17
17
|
describe('with payloads supplied to observe', () => {
|
|
18
18
|
it('without salt uses config salt', async () => {
|
|
19
19
|
const witness = await XyoIdWitness.create({ config })
|
|
20
|
-
const observations = await witness.observe(
|
|
20
|
+
const observations = (await witness.observe()) as XyoIdPayload[]
|
|
21
21
|
validateObservationShape(observations)
|
|
22
22
|
const [observation] = observations
|
|
23
23
|
expect(observation.salt).toBe(witness.config.salt)
|
|
24
24
|
})
|
|
25
25
|
it('with salt uses payload salt', async () => {
|
|
26
26
|
const witness = await XyoIdWitness.create({ config })
|
|
27
|
-
const observations = await witness.observe([{ salt: payloadSalt }])
|
|
27
|
+
const observations = (await witness.observe([{ salt: payloadSalt, schema: XyoIdSchema }])) as XyoIdPayload[]
|
|
28
28
|
validateObservationShape(observations)
|
|
29
29
|
const [observation] = observations
|
|
30
30
|
expect(observation.salt).toBe(payloadSalt)
|
|
@@ -33,7 +33,7 @@ describe('XyoIdWitness', () => {
|
|
|
33
33
|
describe('with no payloads supplied to observe', () => {
|
|
34
34
|
it('uses config salt', async () => {
|
|
35
35
|
const witness = await XyoIdWitness.create({ config })
|
|
36
|
-
const observations = await witness.observe()
|
|
36
|
+
const observations = (await witness.observe()) as XyoIdPayload[]
|
|
37
37
|
validateObservationShape(observations)
|
|
38
38
|
const [observation] = observations
|
|
39
39
|
expect(observation.salt).toBe(witness.config.salt)
|
|
@@ -44,14 +44,14 @@ describe('XyoIdWitness', () => {
|
|
|
44
44
|
describe('with payloads supplied to observe', () => {
|
|
45
45
|
it('without salt uses random numeric string', async () => {
|
|
46
46
|
const witness = await XyoIdWitness.create()
|
|
47
|
-
const observations = await witness.observe(
|
|
47
|
+
const observations = (await witness.observe()) as XyoIdPayload[]
|
|
48
48
|
validateObservationShape(observations)
|
|
49
49
|
const [observation] = observations
|
|
50
50
|
expect(parseInt(observation.salt)).toBeInteger()
|
|
51
51
|
})
|
|
52
52
|
it('with salt uses payload salt', async () => {
|
|
53
53
|
const witness = await XyoIdWitness.create()
|
|
54
|
-
const observations = await witness.observe([{ salt: payloadSalt }])
|
|
54
|
+
const observations = (await witness.observe([{ salt: payloadSalt, schema: XyoIdSchema }])) as XyoIdPayload[]
|
|
55
55
|
validateObservationShape(observations)
|
|
56
56
|
const [observation] = observations
|
|
57
57
|
expect(observation.salt).toBe(payloadSalt)
|
|
@@ -60,7 +60,7 @@ describe('XyoIdWitness', () => {
|
|
|
60
60
|
describe('with no payloads supplied to observe', () => {
|
|
61
61
|
it('uses random numeric string', async () => {
|
|
62
62
|
const witness = await XyoIdWitness.create()
|
|
63
|
-
const observations = await witness.observe()
|
|
63
|
+
const observations = (await witness.observe()) as XyoIdPayload[]
|
|
64
64
|
validateObservationShape(observations)
|
|
65
65
|
const [observation] = observations
|
|
66
66
|
expect(parseInt(observation.salt)).toBeInteger()
|
package/src/Witness.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert'
|
|
2
1
|
import { XyoModuleParams } from '@xyo-network/module'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
3
|
import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness'
|
|
4
4
|
|
|
5
5
|
import { XyoIdPayload } from './Payload'
|
|
@@ -8,17 +8,13 @@ import { XyoIdSchema } from './Schema'
|
|
|
8
8
|
export type XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config'
|
|
9
9
|
export const XyoIdWitnessConfigSchema: XyoIdWitnessConfigSchema = 'network.xyo.id.witness.config'
|
|
10
10
|
|
|
11
|
-
export type XyoIdWitnessConfig = XyoWitnessConfig<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
schema: XyoIdWitnessConfigSchema
|
|
16
|
-
}
|
|
17
|
-
>
|
|
11
|
+
export type XyoIdWitnessConfig = XyoWitnessConfig<{
|
|
12
|
+
salt: string
|
|
13
|
+
schema: XyoIdWitnessConfigSchema
|
|
14
|
+
}>
|
|
18
15
|
|
|
19
|
-
export class XyoIdWitness extends AbstractWitness<
|
|
16
|
+
export class XyoIdWitness extends AbstractWitness<XyoIdWitnessConfig> {
|
|
20
17
|
static override configSchema = XyoIdWitnessConfigSchema
|
|
21
|
-
static override targetSchema = XyoIdSchema
|
|
22
18
|
|
|
23
19
|
public get salt() {
|
|
24
20
|
return this.config?.salt ?? `${Math.floor(Math.random() * 9999999)}`
|
|
@@ -28,14 +24,21 @@ export class XyoIdWitness extends AbstractWitness<XyoIdPayload, XyoIdWitnessConf
|
|
|
28
24
|
return (await super.create(params)) as XyoIdWitness
|
|
29
25
|
}
|
|
30
26
|
|
|
31
|
-
override async observe(
|
|
27
|
+
override async observe(payloads: XyoIdPayload[] = []): Promise<XyoPayload[]> {
|
|
32
28
|
return await super.observe(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
payloads.length > 0
|
|
30
|
+
? payloads.map((fieldItems) => {
|
|
31
|
+
return {
|
|
32
|
+
salt: fieldItems?.salt ?? this.salt,
|
|
33
|
+
schema: XyoIdSchema,
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
: [
|
|
37
|
+
{
|
|
38
|
+
salt: this.salt,
|
|
39
|
+
schema: XyoIdSchema,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
39
42
|
)
|
|
40
43
|
}
|
|
41
44
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoIdPlugin } from './Plugin'
|
|
2
2
|
|
|
3
3
|
export * from './Payload'
|
|
4
4
|
export * from './Schema'
|
|
5
5
|
export * from './Template'
|
|
6
6
|
export * from './Witness'
|
|
7
7
|
|
|
8
|
-
export {
|
|
8
|
+
export { XyoIdPlugin }
|
|
9
9
|
|
|
10
10
|
// eslint-disable-next-line import/no-default-export
|
|
11
|
-
export default
|
|
11
|
+
export default XyoIdPlugin
|