@xyo-network/core 2.20.37 → 2.20.40
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/Payload/Validator/Validator.js +1 -1
- package/dist/cjs/Payload/Validator/Validator.js.map +1 -1
- package/dist/cjs/Query/QueryPayload.d.ts +5 -0
- package/dist/cjs/Witness/LegacyWitness.d.ts +13 -0
- package/dist/cjs/Witness/LegacyWitness.js +24 -0
- package/dist/cjs/Witness/LegacyWitness.js.map +1 -0
- package/dist/cjs/Witness/QueryWitness.d.ts +8 -0
- package/dist/cjs/Witness/QueryWitness.js +22 -0
- package/dist/cjs/Witness/QueryWitness.js.map +1 -0
- package/dist/cjs/Witness/Witness.d.ts +2 -12
- package/dist/cjs/Witness/Witness.js +0 -17
- package/dist/cjs/Witness/Witness.js.map +1 -1
- package/dist/cjs/Witness/index.d.ts +2 -0
- package/dist/cjs/Witness/index.js +2 -0
- package/dist/cjs/Witness/index.js.map +1 -1
- package/dist/docs.json +1705 -1133
- package/dist/esm/Payload/Validator/Validator.js +1 -1
- package/dist/esm/Payload/Validator/Validator.js.map +1 -1
- package/dist/esm/Query/QueryPayload.d.ts +5 -0
- package/dist/esm/Witness/LegacyWitness.d.ts +13 -0
- package/dist/esm/Witness/LegacyWitness.js +16 -0
- package/dist/esm/Witness/LegacyWitness.js.map +1 -0
- package/dist/esm/Witness/QueryWitness.d.ts +8 -0
- package/dist/esm/Witness/QueryWitness.js +14 -0
- package/dist/esm/Witness/QueryWitness.js.map +1 -0
- package/dist/esm/Witness/Witness.d.ts +2 -12
- package/dist/esm/Witness/Witness.js +0 -13
- package/dist/esm/Witness/Witness.js.map +1 -1
- package/dist/esm/Witness/index.d.ts +2 -0
- package/dist/esm/Witness/index.js +2 -0
- package/dist/esm/Witness/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Payload/Validator/Validator.ts +1 -1
- package/src/Query/QueryPayload.ts +8 -0
- package/src/Witness/LegacyWitness.ts +26 -0
- package/src/Witness/QueryWitness.ts +19 -0
- package/src/Witness/Witness.spec.ts +4 -4
- package/src/Witness/Witness.ts +3 -26
- package/src/Witness/index.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/Validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,mBAAmB;IAIvB,YAAY,OAAU;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/Validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,mBAAmB;IAIvB,YAAY,OAAU;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { XyoPayload } from '../Payload';
|
|
2
2
|
export interface XyoQueryPayload extends XyoPayload {
|
|
3
|
+
/** @field The preferred schema to use for the answer */
|
|
4
|
+
targetSchema?: string;
|
|
5
|
+
/** @field The maximum XYO that can be spent executing the query */
|
|
3
6
|
budget?: number;
|
|
7
|
+
/** @field The frequency on which this query can be rerun */
|
|
4
8
|
maxFrequency?: 'once' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
|
|
9
|
+
/** @field The starting point for the bidding on the query */
|
|
5
10
|
minBid?: number;
|
|
6
11
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XyoPayload } from '../Payload';
|
|
2
|
+
import { XyoWitness } from './Witness';
|
|
3
|
+
export interface XyoWitnessConfig<T extends XyoPayload = XyoPayload> {
|
|
4
|
+
schema: string;
|
|
5
|
+
template?: XyoPayload;
|
|
6
|
+
observer?: () => Promise<T> | T;
|
|
7
|
+
}
|
|
8
|
+
export declare class XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> extends XyoWitness<T> {
|
|
9
|
+
config?: C;
|
|
10
|
+
previousHash?: string;
|
|
11
|
+
constructor(config?: C);
|
|
12
|
+
observe(fields?: Partial<T>): Promise<T>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XyoPayloadBuilder } from '../Payload';
|
|
2
|
+
import { XyoWitness } from './Witness';
|
|
3
|
+
export class XyoLegacyWitness extends XyoWitness {
|
|
4
|
+
constructor(config) {
|
|
5
|
+
super();
|
|
6
|
+
this.config = config;
|
|
7
|
+
}
|
|
8
|
+
async observe(fields) {
|
|
9
|
+
return new XyoPayloadBuilder({ schema: this.config?.schema ?? 'network.xyo.payload' })
|
|
10
|
+
.previousHash(this.previousHash)
|
|
11
|
+
.fields(await this.config?.observer?.())
|
|
12
|
+
.fields(fields)
|
|
13
|
+
.build();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LegacyWitness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegacyWitness.js","sourceRoot":"","sources":["../../../src/Witness/LegacyWitness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQtC,MAAM,OAAO,gBAAyG,SAAQ,UAAa;IAIzI,YAAY,MAAU;QACpB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAmB;QACtC,OAAO,IAAI,iBAAiB,CAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;aACtF,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;aAC/B,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;aACvC,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,EAAE,CAAA;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoPayload } from '../Payload';
|
|
2
|
+
import { XyoQueryPayload } from '../Query';
|
|
3
|
+
import { XyoWitness } from './Witness';
|
|
4
|
+
export declare class XyoQueryWitness<Q extends XyoQueryPayload, T extends XyoPayload> extends XyoWitness {
|
|
5
|
+
query: Q;
|
|
6
|
+
constructor(query: Q);
|
|
7
|
+
observe(fields?: Partial<T>): Promise<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { delay } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoPayloadBuilder } from '../Payload';
|
|
3
|
+
import { XyoWitness } from './Witness';
|
|
4
|
+
export class XyoQueryWitness extends XyoWitness {
|
|
5
|
+
constructor(query) {
|
|
6
|
+
super();
|
|
7
|
+
this.query = query;
|
|
8
|
+
}
|
|
9
|
+
async observe(fields) {
|
|
10
|
+
await delay(0);
|
|
11
|
+
return new XyoPayloadBuilder({ schema: this.query.targetSchema ?? 'network.xyo.payload' }).fields(fields).build();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=QueryWitness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryWitness.js","sourceRoot":"","sources":["../../../src/Witness/QueryWitness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,OAAO,eAAiE,SAAQ,UAAU;IAG9F,YAAY,KAAQ;QAClB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAmB;QACtC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAA;QACd,OAAO,IAAI,iBAAiB,CAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;IACtH,CAAC;CACF"}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
import { XyoPayload } from '../Payload';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
template?: XyoPayload;
|
|
5
|
-
observer?: () => Promise<T> | T;
|
|
6
|
-
}
|
|
7
|
-
export declare class XyoWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> {
|
|
8
|
-
config: C;
|
|
9
|
-
previousHash?: string;
|
|
10
|
-
schema: string;
|
|
11
|
-
template?: XyoPayload;
|
|
12
|
-
constructor(config: C);
|
|
13
|
-
observe(fields?: Partial<T>): Promise<T>;
|
|
2
|
+
export declare abstract class XyoWitness<T extends XyoPayload = XyoPayload> {
|
|
3
|
+
abstract observe(fields?: Partial<T>): Promise<T>;
|
|
14
4
|
}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import { XyoPayloadBuilder } from '../Payload';
|
|
2
1
|
export class XyoWitness {
|
|
3
|
-
constructor(config) {
|
|
4
|
-
this.config = config;
|
|
5
|
-
this.schema = config.schema;
|
|
6
|
-
this.template = config.template;
|
|
7
|
-
}
|
|
8
|
-
async observe(fields) {
|
|
9
|
-
return new XyoPayloadBuilder({ schema: this.config.schema })
|
|
10
|
-
.previousHash(this.previousHash)
|
|
11
|
-
.fields(await this.config.observer?.())
|
|
12
|
-
.fields(fields)
|
|
13
|
-
.build();
|
|
14
|
-
}
|
|
15
2
|
}
|
|
16
3
|
//# sourceMappingURL=Witness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,UAAU;CAE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@xylabs/sdk-js": "^2.5.
|
|
12
|
+
"@xylabs/sdk-js": "^2.5.7",
|
|
13
13
|
"axios": "^0.27.2",
|
|
14
14
|
"elliptic": "^6.5.4",
|
|
15
15
|
"keccak256": "^1.0.6",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@babel/preset-env": "^7.18.2",
|
|
24
24
|
"@types/elliptic": "^6.4.14",
|
|
25
25
|
"@types/lodash": "^4.14.182",
|
|
26
|
-
"@types/node": "^17.0.
|
|
26
|
+
"@types/node": "^17.0.38",
|
|
27
27
|
"@types/sha.js": "^2.4.0",
|
|
28
28
|
"@types/ua-parser-js": "^0.7.36",
|
|
29
29
|
"@xylabs/eslint-config": "^2.3.22",
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
},
|
|
70
70
|
"sideEffects": true,
|
|
71
71
|
"types": "dist/esm/index.d.ts",
|
|
72
|
-
"version": "2.20.
|
|
72
|
+
"version": "2.20.40",
|
|
73
73
|
"packageManager": "yarn@3.1.1"
|
|
74
74
|
}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { XyoPayload } from '../Payload'
|
|
2
2
|
|
|
3
3
|
export interface XyoQueryPayload extends XyoPayload {
|
|
4
|
+
/** @field The preferred schema to use for the answer */
|
|
5
|
+
targetSchema?: string
|
|
6
|
+
|
|
7
|
+
/** @field The maximum XYO that can be spent executing the query */
|
|
4
8
|
budget?: number
|
|
9
|
+
|
|
10
|
+
/** @field The frequency on which this query can be rerun */
|
|
5
11
|
maxFrequency?: 'once' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year'
|
|
12
|
+
|
|
13
|
+
/** @field The starting point for the bidding on the query */
|
|
6
14
|
minBid?: number
|
|
7
15
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { XyoPayload, XyoPayloadBuilder } from '../Payload'
|
|
2
|
+
import { XyoWitness } from './Witness'
|
|
3
|
+
|
|
4
|
+
export interface XyoWitnessConfig<T extends XyoPayload = XyoPayload> {
|
|
5
|
+
schema: string
|
|
6
|
+
template?: XyoPayload
|
|
7
|
+
observer?: () => Promise<T> | T
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> extends XyoWitness<T> {
|
|
11
|
+
public config?: C
|
|
12
|
+
public previousHash?: string
|
|
13
|
+
|
|
14
|
+
constructor(config?: C) {
|
|
15
|
+
super()
|
|
16
|
+
this.config = config
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public async observe(fields?: Partial<T>) {
|
|
20
|
+
return new XyoPayloadBuilder<T>({ schema: this.config?.schema ?? 'network.xyo.payload' })
|
|
21
|
+
.previousHash(this.previousHash)
|
|
22
|
+
.fields(await this.config?.observer?.())
|
|
23
|
+
.fields(fields)
|
|
24
|
+
.build()
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { delay } from '@xylabs/sdk-js'
|
|
2
|
+
|
|
3
|
+
import { XyoPayload, XyoPayloadBuilder } from '../Payload'
|
|
4
|
+
import { XyoQueryPayload } from '../Query'
|
|
5
|
+
import { XyoWitness } from './Witness'
|
|
6
|
+
|
|
7
|
+
export class XyoQueryWitness<Q extends XyoQueryPayload, T extends XyoPayload> extends XyoWitness {
|
|
8
|
+
public query: Q
|
|
9
|
+
|
|
10
|
+
constructor(query: Q) {
|
|
11
|
+
super()
|
|
12
|
+
this.query = query
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public async observe(fields?: Partial<T>): Promise<T> {
|
|
16
|
+
await delay(0)
|
|
17
|
+
return new XyoPayloadBuilder<T>({ schema: this.query.targetSchema ?? 'network.xyo.payload' }).fields(fields).build()
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoLegacyWitness } from './LegacyWitness'
|
|
2
2
|
|
|
3
3
|
describe('XyoWitness', () => {
|
|
4
4
|
test('valid-instantiation', () => {
|
|
5
5
|
const template = {
|
|
6
6
|
schema: 'network.xyo.foo',
|
|
7
7
|
}
|
|
8
|
-
const witness = new
|
|
8
|
+
const witness = new XyoLegacyWitness({ schema: 'network.xyo.payload', template })
|
|
9
9
|
expect(witness).toBeTruthy()
|
|
10
|
-
expect(witness.schema).toBe('network.xyo.payload')
|
|
11
|
-
expect(witness.template).toBe(template)
|
|
10
|
+
expect(witness.config?.schema).toBe('network.xyo.payload')
|
|
11
|
+
expect(witness.config?.template).toBe(template)
|
|
12
12
|
})
|
|
13
13
|
})
|
package/src/Witness/Witness.ts
CHANGED
|
@@ -1,28 +1,5 @@
|
|
|
1
|
-
import { XyoPayload
|
|
1
|
+
import { XyoPayload } from '../Payload'
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
template?: XyoPayload
|
|
6
|
-
observer?: () => Promise<T> | T
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export class XyoWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> {
|
|
10
|
-
public config: C
|
|
11
|
-
public previousHash?: string
|
|
12
|
-
public schema: string
|
|
13
|
-
public template?: XyoPayload
|
|
14
|
-
|
|
15
|
-
constructor(config: C) {
|
|
16
|
-
this.config = config
|
|
17
|
-
this.schema = config.schema
|
|
18
|
-
this.template = config.template
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public async observe(fields?: Partial<T>) {
|
|
22
|
-
return new XyoPayloadBuilder<T>({ schema: this.config.schema })
|
|
23
|
-
.previousHash(this.previousHash)
|
|
24
|
-
.fields(await this.config.observer?.())
|
|
25
|
-
.fields(fields)
|
|
26
|
-
.build()
|
|
27
|
-
}
|
|
3
|
+
export abstract class XyoWitness<T extends XyoPayload = XyoPayload> {
|
|
4
|
+
abstract observe(fields?: Partial<T>): Promise<T>
|
|
28
5
|
}
|
package/src/Witness/index.ts
CHANGED