@xyo-network/diviner 2.25.2 → 2.26.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.
- package/dist/cjs/Abstract.d.ts +11 -0
- package/dist/cjs/Abstract.d.ts.map +1 -0
- package/dist/cjs/Abstract.js +11 -0
- package/dist/cjs/Abstract.js.map +1 -0
- package/dist/cjs/Diviner/Diviner.d.ts +7 -3
- package/dist/cjs/Diviner/Diviner.d.ts.map +1 -1
- package/dist/cjs/Diviner/Diviner.js +4 -1
- package/dist/cjs/Diviner/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.js +1 -1
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/Huri/Diviner.js +1 -1
- package/dist/cjs/Diviner/Payload/Huri/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/index.d.ts +0 -1
- package/dist/cjs/Diviner/Payload/index.d.ts.map +1 -1
- package/dist/cjs/Diviner/Payload/index.js +0 -1
- package/dist/cjs/Diviner/Payload/index.js.map +1 -1
- package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.d.ts +8 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.js +11 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.js.map +1 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js +5 -0
- package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
- package/dist/cjs/Diviner/Sequence/index.d.ts +2 -0
- package/dist/cjs/Diviner/Sequence/index.d.ts.map +1 -0
- package/dist/cjs/Diviner/Sequence/index.js +5 -0
- package/dist/cjs/Diviner/Sequence/index.js.map +1 -0
- package/dist/cjs/Diviner/index.d.ts +1 -0
- package/dist/cjs/Diviner/index.d.ts.map +1 -1
- package/dist/cjs/Diviner/index.js +1 -0
- package/dist/cjs/Diviner/index.js.map +1 -1
- package/dist/cjs/Diviner.d.ts +5 -0
- package/dist/cjs/Diviner.d.ts.map +1 -0
- package/dist/cjs/Diviner.js +3 -0
- package/dist/cjs/Diviner.js.map +1 -0
- package/dist/cjs/Payload/Archivist/Diviner.d.ts +12 -0
- package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -0
- package/dist/cjs/Payload/Archivist/Diviner.js +23 -0
- package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -0
- package/dist/cjs/Payload/Archivist/index.d.ts +2 -0
- package/dist/cjs/Payload/Archivist/index.d.ts.map +1 -0
- package/dist/cjs/Payload/Archivist/index.js +5 -0
- package/dist/cjs/Payload/Archivist/index.js.map +1 -0
- package/dist/cjs/Payload/Huri/Diviner.d.ts +20 -0
- package/dist/cjs/Payload/Huri/Diviner.d.ts.map +1 -0
- package/dist/cjs/Payload/Huri/Diviner.js +22 -0
- package/dist/cjs/Payload/Huri/Diviner.js.map +1 -0
- package/dist/cjs/Payload/Huri/index.d.ts +2 -0
- package/dist/cjs/Payload/Huri/index.d.ts.map +1 -0
- package/dist/cjs/Payload/Huri/index.js +5 -0
- package/dist/cjs/Payload/Huri/index.js.map +1 -0
- package/dist/cjs/Payload/XyoPayloadDiviner.d.ts +5 -0
- package/dist/cjs/Payload/XyoPayloadDiviner.d.ts.map +1 -0
- package/dist/cjs/Payload/XyoPayloadDiviner.js +8 -0
- package/dist/cjs/Payload/XyoPayloadDiviner.js.map +1 -0
- package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.d.ts +7 -0
- package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
- package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.js +5 -0
- package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
- package/dist/cjs/Payload/index.d.ts +5 -0
- package/dist/cjs/Payload/index.d.ts.map +1 -0
- package/dist/cjs/Payload/index.js +8 -0
- package/dist/cjs/Payload/index.js.map +1 -0
- package/dist/cjs/Payload/lib/index.d.ts +2 -0
- package/dist/cjs/Payload/lib/index.d.ts.map +1 -0
- package/dist/cjs/Payload/lib/index.js +5 -0
- package/dist/cjs/Payload/lib/index.js.map +1 -0
- package/dist/cjs/Payload/lib/profile.d.ts +2 -0
- package/dist/cjs/Payload/lib/profile.d.ts.map +1 -0
- package/dist/cjs/Payload/lib/profile.js +12 -0
- package/dist/cjs/Payload/lib/profile.js.map +1 -0
- package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts +8 -0
- package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
- package/dist/cjs/Sequence/XyoSequenceDiviner.js +11 -0
- package/dist/cjs/Sequence/XyoSequenceDiviner.js.map +1 -0
- package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
- package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
- package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js +5 -0
- package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
- package/dist/cjs/Sequence/index.d.ts +2 -0
- package/dist/cjs/Sequence/index.d.ts.map +1 -0
- package/dist/cjs/Sequence/index.js +5 -0
- package/dist/cjs/Sequence/index.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +1707 -700
- package/dist/esm/Abstract.d.ts +11 -0
- package/dist/esm/Abstract.d.ts.map +1 -0
- package/dist/esm/Abstract.js +6 -0
- package/dist/esm/Abstract.js.map +1 -0
- package/dist/esm/Diviner/Diviner.d.ts +7 -3
- package/dist/esm/Diviner/Diviner.d.ts.map +1 -1
- package/dist/esm/Diviner/Diviner.js +4 -1
- package/dist/esm/Diviner/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/Archivist/Diviner.js +1 -1
- package/dist/esm/Diviner/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/Huri/Diviner.js +1 -1
- package/dist/esm/Diviner/Payload/Huri/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/index.d.ts +0 -1
- package/dist/esm/Diviner/Payload/index.d.ts.map +1 -1
- package/dist/esm/Diviner/Payload/index.js +0 -1
- package/dist/esm/Diviner/Payload/index.js.map +1 -1
- package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.d.ts +8 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.js +7 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.js.map +1 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js +2 -0
- package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
- package/dist/esm/Diviner/Sequence/index.d.ts +2 -0
- package/dist/esm/Diviner/Sequence/index.d.ts.map +1 -0
- package/dist/esm/Diviner/Sequence/index.js +2 -0
- package/dist/esm/Diviner/Sequence/index.js.map +1 -0
- package/dist/esm/Diviner/index.d.ts +1 -0
- package/dist/esm/Diviner/index.d.ts.map +1 -1
- package/dist/esm/Diviner/index.js +1 -0
- package/dist/esm/Diviner/index.js.map +1 -1
- package/dist/esm/Diviner.d.ts +5 -0
- package/dist/esm/Diviner.d.ts.map +1 -0
- package/dist/esm/Diviner.js +2 -0
- package/dist/esm/Diviner.js.map +1 -0
- package/dist/esm/Payload/Archivist/Diviner.d.ts +12 -0
- package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -0
- package/dist/esm/Payload/Archivist/Diviner.js +17 -0
- package/dist/esm/Payload/Archivist/Diviner.js.map +1 -0
- package/dist/esm/Payload/Archivist/index.d.ts +2 -0
- package/dist/esm/Payload/Archivist/index.d.ts.map +1 -0
- package/dist/esm/Payload/Archivist/index.js +2 -0
- package/dist/esm/Payload/Archivist/index.js.map +1 -0
- package/dist/esm/Payload/Huri/Diviner.d.ts +20 -0
- package/dist/esm/Payload/Huri/Diviner.d.ts.map +1 -0
- package/dist/esm/Payload/Huri/Diviner.js +15 -0
- package/dist/esm/Payload/Huri/Diviner.js.map +1 -0
- package/dist/esm/Payload/Huri/index.d.ts +2 -0
- package/dist/esm/Payload/Huri/index.d.ts.map +1 -0
- package/dist/esm/Payload/Huri/index.js +2 -0
- package/dist/esm/Payload/Huri/index.js.map +1 -0
- package/dist/esm/Payload/XyoPayloadDiviner.d.ts +5 -0
- package/dist/esm/Payload/XyoPayloadDiviner.d.ts.map +1 -0
- package/dist/esm/Payload/XyoPayloadDiviner.js +4 -0
- package/dist/esm/Payload/XyoPayloadDiviner.js.map +1 -0
- package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.d.ts +7 -0
- package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
- package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.js +2 -0
- package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
- package/dist/esm/Payload/index.d.ts +5 -0
- package/dist/esm/Payload/index.d.ts.map +1 -0
- package/dist/esm/Payload/index.js +5 -0
- package/dist/esm/Payload/index.js.map +1 -0
- package/dist/esm/Payload/lib/index.d.ts +2 -0
- package/dist/esm/Payload/lib/index.d.ts.map +1 -0
- package/dist/esm/Payload/lib/index.js +2 -0
- package/dist/esm/Payload/lib/index.js.map +1 -0
- package/dist/esm/Payload/lib/profile.d.ts +2 -0
- package/dist/esm/Payload/lib/profile.d.ts.map +1 -0
- package/dist/esm/Payload/lib/profile.js +7 -0
- package/dist/esm/Payload/lib/profile.js.map +1 -0
- package/dist/esm/Sequence/XyoSequenceDiviner.d.ts +8 -0
- package/dist/esm/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
- package/dist/esm/Sequence/XyoSequenceDiviner.js +7 -0
- package/dist/esm/Sequence/XyoSequenceDiviner.js.map +1 -0
- package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
- package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
- package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js +2 -0
- package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
- package/dist/esm/Sequence/index.d.ts +2 -0
- package/dist/esm/Sequence/index.d.ts.map +1 -0
- package/dist/esm/Sequence/index.js +2 -0
- package/dist/esm/Sequence/index.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +7 -6
- package/src/Abstract.ts +15 -0
- package/src/Diviner.ts +6 -0
- package/src/{Diviner/Payload → Payload}/Archivist/Diviner.ts +3 -3
- package/src/{Diviner/Payload → Payload}/Archivist/index.ts +0 -0
- package/src/Payload/Huri/Diviner.ts +32 -0
- package/src/{Diviner/Payload → Payload}/Huri/index.ts +0 -0
- package/src/Payload/XyoPayloadDiviner.ts +7 -0
- package/src/{Diviner/Payload → Payload}/XyoPayloadDivinerQueryPayload.ts +6 -5
- package/src/{Diviner/Payload → Payload}/index.ts +0 -1
- package/src/{Diviner/Payload → Payload}/lib/index.ts +0 -0
- package/src/{Diviner/Payload → Payload}/lib/profile.ts +0 -0
- package/src/Sequence/XyoSequenceDiviner.ts +13 -0
- package/src/Sequence/XyoSequenceDivinerQueryPayload.ts +10 -0
- package/src/Sequence/index.ts +1 -0
- package/src/index.ts +3 -0
- package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +0 -11
- package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +0 -1
- package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js +0 -5
- package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js.map +0 -1
- package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +0 -11
- package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +0 -1
- package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js +0 -2
- package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js.map +0 -1
- package/src/Diviner/Diviner.ts +0 -31
- package/src/Diviner/Payload/Huri/Diviner.ts +0 -23
- package/src/Diviner/Payload/XyoPayloadDiviner.ts +0 -6
- package/src/Diviner/Payload/XyoPayloadDivinerPayload.ts +0 -12
- package/src/Diviner/index.ts +0 -2
package/package.json
CHANGED
|
@@ -10,15 +10,16 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xyo-network/account": "^2.
|
|
14
|
-
"@xyo-network/archivist": "^2.
|
|
15
|
-
"@xyo-network/boundwitness": "^2.
|
|
16
|
-
"@xyo-network/
|
|
13
|
+
"@xyo-network/account": "^2.26.0",
|
|
14
|
+
"@xyo-network/archivist": "^2.26.0",
|
|
15
|
+
"@xyo-network/boundwitness": "^2.26.0",
|
|
16
|
+
"@xyo-network/module": "^2.26.0",
|
|
17
|
+
"@xyo-network/payload": "^2.26.0",
|
|
17
18
|
"tslib": "^2.4.0"
|
|
18
19
|
},
|
|
19
20
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
20
21
|
"devDependencies": {
|
|
21
|
-
"@xylabs/tsconfig": "^2.5.
|
|
22
|
+
"@xylabs/tsconfig": "^2.5.117"
|
|
22
23
|
},
|
|
23
24
|
"browser": "dist/esm/index.js",
|
|
24
25
|
"docs": "dist/docs.json",
|
|
@@ -52,5 +53,5 @@
|
|
|
52
53
|
},
|
|
53
54
|
"sideEffects": false,
|
|
54
55
|
"types": "dist/esm/index.d.ts",
|
|
55
|
-
"version": "2.
|
|
56
|
+
"version": "2.26.0"
|
|
56
57
|
}
|
package/src/Abstract.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XyoAbstractModule, XyoModuleConfig } from '@xyo-network/module'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
import { XyoDiviner, XyoDivinerQueryPayload } from './Diviner'
|
|
5
|
+
|
|
6
|
+
export type XyoDivinerConfig<T extends XyoPayload = XyoPayload> = XyoModuleConfig<
|
|
7
|
+
{
|
|
8
|
+
targetSchema: string
|
|
9
|
+
} & T
|
|
10
|
+
>
|
|
11
|
+
export abstract class XyoAbstractDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload, C extends XyoDivinerConfig = XyoDivinerConfig>
|
|
12
|
+
extends XyoAbstractModule<Q, C>
|
|
13
|
+
implements XyoDiviner<Q> {}
|
|
14
|
+
|
|
15
|
+
export abstract class XyoAbstractTimestampDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> extends XyoAbstractDiviner<Q> {}
|
package/src/Diviner.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { XyoModule, XyoQueryPayload } from '@xyo-network/module'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
export type XyoDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<T>
|
|
5
|
+
|
|
6
|
+
export type XyoDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> = XyoModule<Q>
|
|
@@ -11,14 +11,14 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
|
11
11
|
protected archivist: XyoArchivist
|
|
12
12
|
|
|
13
13
|
constructor(account: XyoAccount, archivist: XyoArchivist) {
|
|
14
|
-
super(account)
|
|
14
|
+
super({ account, schema: 'network.xyo.diviner.payload.config', targetSchema: 'network.xyo.payload' })
|
|
15
15
|
this.archivist = archivist
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
override async
|
|
18
|
+
override async query(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
|
|
19
19
|
const huri = new Huri(query.huri)
|
|
20
20
|
const [payloads = []] = await profile(async () => await this.archivist.get([huri.hash]))
|
|
21
21
|
const resultPayloads = payloads?.[0] ? [payloads?.[0]] : []
|
|
22
|
-
return [this.
|
|
22
|
+
return [this.bindPayloads(resultPayloads), resultPayloads]
|
|
23
23
|
}
|
|
24
24
|
}
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
2
|
+
import { Huri, HuriOptions, XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
import { XyoDivinerConfig } from '../../Abstract'
|
|
5
|
+
import { XyoDivinerQueryPayload } from '../../Diviner'
|
|
6
|
+
import { profile } from '../lib'
|
|
7
|
+
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
8
|
+
import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
|
|
9
|
+
|
|
10
|
+
export type XyoHuriPayloadDivinerConfig = XyoDivinerConfig<{
|
|
11
|
+
schema: 'network.xyo.diviner.payload.huri.config'
|
|
12
|
+
huriOptions: HuriOptions
|
|
13
|
+
huri: string
|
|
14
|
+
}>
|
|
15
|
+
|
|
16
|
+
export type XyoHuriPayloadDivinerQuery = XyoDivinerQueryPayload<{
|
|
17
|
+
schema: 'network.xyo.diviner.payload.huri.query'
|
|
18
|
+
huri: string
|
|
19
|
+
}>
|
|
20
|
+
|
|
21
|
+
export class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivinerQuery, XyoHuriPayloadDivinerConfig> {
|
|
22
|
+
protected get options() {
|
|
23
|
+
return this.config.huriOptions
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override async query(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
|
|
27
|
+
const huri = new Huri(query.huri, this.options)
|
|
28
|
+
const [payload = null] = await profile(async () => await huri.fetch())
|
|
29
|
+
const payloads = payload ? [payload] : []
|
|
30
|
+
return [this.bindPayloads(payloads), payloads]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XyoAbstractDiviner, XyoDivinerConfig } from '../Abstract'
|
|
2
|
+
import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
|
|
3
|
+
|
|
4
|
+
export abstract class XyoPayloadDiviner<
|
|
5
|
+
Q extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload,
|
|
6
|
+
C extends XyoDivinerConfig = XyoDivinerConfig,
|
|
7
|
+
> extends XyoAbstractDiviner<Q, C> {}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { XyoQueryPayload } from '@xyo-network/payload'
|
|
1
|
+
import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
|
|
2
2
|
|
|
3
3
|
export type XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
|
|
4
4
|
export const XyoPayloadDivinerQueryPayloadSchema: XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
|
|
5
5
|
|
|
6
|
-
export type XyoPayloadDivinerQueryPayload = XyoQueryPayload<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
6
|
+
export type XyoPayloadDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<
|
|
7
|
+
{
|
|
8
|
+
huri: string
|
|
9
|
+
} & T
|
|
10
|
+
>
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
import { XyoAbstractDiviner } from '../Abstract'
|
|
5
|
+
import { XyoSequenceDivinerQueryPayload } from './XyoSequenceDivinerQueryPayload'
|
|
6
|
+
|
|
7
|
+
export abstract class XyoSequenceDiviner<
|
|
8
|
+
TQueryPayload extends XyoSequenceDivinerQueryPayload = XyoSequenceDivinerQueryPayload,
|
|
9
|
+
> extends XyoAbstractDiviner<TQueryPayload> {
|
|
10
|
+
override query(query: XyoSequenceDivinerQueryPayload): [XyoBoundWitness, XyoPayload[]] {
|
|
11
|
+
return [this.bindHashes(query.payload_hashes, query.payload_schemas), []]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoDivinerQueryPayload } from '../Diviner'
|
|
2
|
+
|
|
3
|
+
export type XyoSequenceDivinerQueryPayloadSchema = 'network.xyo.diviner.sequence.query'
|
|
4
|
+
export const XyoSequenceDivinerQueryPayloadSchema: XyoSequenceDivinerQueryPayloadSchema = 'network.xyo.diviner.sequence.query'
|
|
5
|
+
|
|
6
|
+
export type XyoSequenceDivinerQueryPayload = XyoDivinerQueryPayload<{
|
|
7
|
+
schema: XyoSequenceDivinerQueryPayloadSchema
|
|
8
|
+
payload_hashes: string[]
|
|
9
|
+
payload_schemas: string[]
|
|
10
|
+
}>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './XyoSequenceDiviner'
|
package/src/index.ts
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { XyoPayload } from '@xyo-network/payload';
|
|
2
|
-
export declare type XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
|
|
3
|
-
export declare const XyoPayloadDivinerPayloadSchema: XyoPayloadDivinerPayloadSchema;
|
|
4
|
-
export declare type XyoPayloadDivinerPayload<T extends XyoPayload = XyoPayload> = XyoPayload<{
|
|
5
|
-
schema: XyoPayloadDivinerPayloadSchema;
|
|
6
|
-
/** @field payload returned or null */
|
|
7
|
-
payload: T | null;
|
|
8
|
-
/** @field duration of the call in ms */
|
|
9
|
-
duration?: number;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=XyoPayloadDivinerPayload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDivinerPayload.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,8BAA8B,GAAG,6BAA6B,CAAA;AAC1E,eAAO,MAAM,8BAA8B,EAAE,8BAA8D,CAAA;AAE3G,oBAAY,wBAAwB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC;IACnF,MAAM,EAAE,8BAA8B,CAAA;IACtC,sCAAsC;IACtC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDivinerPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":";;;AAGa,QAAA,8BAA8B,GAAmC,6BAA6B,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { XyoPayload } from '@xyo-network/payload';
|
|
2
|
-
export declare type XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
|
|
3
|
-
export declare const XyoPayloadDivinerPayloadSchema: XyoPayloadDivinerPayloadSchema;
|
|
4
|
-
export declare type XyoPayloadDivinerPayload<T extends XyoPayload = XyoPayload> = XyoPayload<{
|
|
5
|
-
schema: XyoPayloadDivinerPayloadSchema;
|
|
6
|
-
/** @field payload returned or null */
|
|
7
|
-
payload: T | null;
|
|
8
|
-
/** @field duration of the call in ms */
|
|
9
|
-
duration?: number;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=XyoPayloadDivinerPayload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDivinerPayload.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,8BAA8B,GAAG,6BAA6B,CAAA;AAC1E,eAAO,MAAM,8BAA8B,EAAE,8BAA8D,CAAA;AAE3G,oBAAY,wBAAwB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC;IACnF,MAAM,EAAE,8BAA8B,CAAA;IACtC,sCAAsC;IACtC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDivinerPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,6BAA6B,CAAA"}
|
package/src/Diviner/Diviner.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
-
import { XyoBoundWitness, XyoBoundWitnessBuilder } from '@xyo-network/boundwitness'
|
|
3
|
-
import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
|
|
4
|
-
|
|
5
|
-
export interface XyoNode {
|
|
6
|
-
attach(module: XyoDiviner): void
|
|
7
|
-
remove(address: string): void
|
|
8
|
-
get<T extends XyoDiviner>(address: string): T | undefined
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface XyoDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
|
|
12
|
-
address: string
|
|
13
|
-
divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export abstract class XyoAbstractDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TQueryPayload> {
|
|
17
|
-
protected account: XyoAccount
|
|
18
|
-
constructor(account: XyoAccount) {
|
|
19
|
-
this.account = account
|
|
20
|
-
}
|
|
21
|
-
abstract divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
|
|
22
|
-
get address() {
|
|
23
|
-
return this.account.addressValue.hex
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
bind(payloads: XyoPayload[]) {
|
|
27
|
-
return new XyoBoundWitnessBuilder().payloads(payloads).witness(this.account).build()
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export abstract class XyoAbstractTimestampDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> extends XyoAbstractDiviner<TQueryPayload> {}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
-
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
3
|
-
import { Huri, HuriOptions, XyoPayload } from '@xyo-network/payload'
|
|
4
|
-
|
|
5
|
-
import { profile } from '../lib'
|
|
6
|
-
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
7
|
-
import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
|
|
8
|
-
|
|
9
|
-
export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
10
|
-
protected options: HuriOptions
|
|
11
|
-
|
|
12
|
-
constructor(account: XyoAccount, options: HuriOptions) {
|
|
13
|
-
super(account)
|
|
14
|
-
this.options = options
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
override async divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
|
|
18
|
-
const huri = new Huri(query.huri, this.options)
|
|
19
|
-
const [payload = null] = await profile(async () => await huri.fetch())
|
|
20
|
-
const payloads = payload ? [payload] : []
|
|
21
|
-
return [this.bind(payloads), payloads]
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { XyoAbstractDiviner } from '../Diviner'
|
|
2
|
-
import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
|
|
3
|
-
|
|
4
|
-
export abstract class XyoPayloadDiviner<
|
|
5
|
-
TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload
|
|
6
|
-
> extends XyoAbstractDiviner<TQueryPayload> {}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { XyoPayload } from '@xyo-network/payload'
|
|
2
|
-
|
|
3
|
-
export type XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload'
|
|
4
|
-
export const XyoPayloadDivinerPayloadSchema: XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload'
|
|
5
|
-
|
|
6
|
-
export type XyoPayloadDivinerPayload<T extends XyoPayload = XyoPayload> = XyoPayload<{
|
|
7
|
-
schema: XyoPayloadDivinerPayloadSchema
|
|
8
|
-
/** @field payload returned or null */
|
|
9
|
-
payload: T | null
|
|
10
|
-
/** @field duration of the call in ms */
|
|
11
|
-
duration?: number
|
|
12
|
-
}>
|
package/src/Diviner/index.ts
DELETED