@xyo-network/diviner 2.53.1 → 2.53.3
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/AbstractDiviner.js.map +1 -1
- package/dist/cjs/AddressChain/Diviner.js.map +1 -1
- package/dist/cjs/AddressChain/MemoryDiviner.js.map +1 -1
- package/dist/cjs/AddressHistory/Diviner.js.map +1 -1
- package/dist/cjs/AddressHistory/MemoryDiviner.js +1 -1
- package/dist/cjs/AddressHistory/MemoryDiviner.js.map +1 -1
- package/dist/cjs/AddressSpace/AddressSpaceDiviner.js.map +1 -1
- package/dist/cjs/AddressSpace/MemoryAddressSpaceDiviner.js +2 -2
- package/dist/cjs/AddressSpace/MemoryAddressSpaceDiviner.js.map +1 -1
- package/dist/cjs/IdentityDiviner.js.map +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/cjs/Payload/Huri/Diviner.js.map +1 -1
- package/dist/docs.json +2067 -2085
- package/dist/esm/AbstractDiviner.js.map +1 -1
- package/dist/esm/AddressChain/Diviner.js.map +1 -1
- package/dist/esm/AddressChain/MemoryDiviner.js.map +1 -1
- package/dist/esm/AddressHistory/Diviner.js.map +1 -1
- package/dist/esm/AddressHistory/MemoryDiviner.js +2 -2
- package/dist/esm/AddressHistory/MemoryDiviner.js.map +1 -1
- package/dist/esm/AddressSpace/AddressSpaceDiviner.js.map +1 -1
- package/dist/esm/AddressSpace/MemoryAddressSpaceDiviner.js +4 -4
- package/dist/esm/AddressSpace/MemoryAddressSpaceDiviner.js.map +1 -1
- package/dist/esm/IdentityDiviner.js.map +1 -1
- package/dist/esm/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/esm/Payload/Huri/Diviner.js.map +1 -1
- package/dist/types/AbstractDiviner.d.ts +3 -3
- package/dist/types/AbstractDiviner.d.ts.map +1 -1
- package/dist/types/AddressChain/Diviner.d.ts +4 -4
- package/dist/types/AddressChain/Diviner.d.ts.map +1 -1
- package/dist/types/AddressChain/MemoryDiviner.d.ts +2 -2
- package/dist/types/AddressChain/MemoryDiviner.d.ts.map +1 -1
- package/dist/types/AddressHistory/Diviner.d.ts +4 -4
- package/dist/types/AddressHistory/Diviner.d.ts.map +1 -1
- package/dist/types/AddressHistory/MemoryDiviner.d.ts +2 -2
- package/dist/types/AddressHistory/MemoryDiviner.d.ts.map +1 -1
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts +4 -4
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts.map +1 -1
- package/dist/types/AddressSpace/MemoryAddressSpaceDiviner.d.ts +2 -2
- package/dist/types/AddressSpace/MemoryAddressSpaceDiviner.d.ts.map +1 -1
- package/dist/types/IdentityDiviner.d.ts +2 -2
- package/dist/types/IdentityDiviner.d.ts.map +1 -1
- package/dist/types/Payload/Archivist/Config.d.ts +2 -2
- package/dist/types/Payload/Archivist/Config.d.ts.map +1 -1
- package/dist/types/Payload/Archivist/Diviner.d.ts +2 -2
- package/dist/types/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/types/Payload/Huri/Config.d.ts +2 -2
- package/dist/types/Payload/Huri/Config.d.ts.map +1 -1
- package/dist/types/Payload/Huri/Diviner.d.ts +2 -2
- package/dist/types/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/types/Payload/XyoHuriPayload.d.ts +2 -2
- package/dist/types/Payload/XyoHuriPayload.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/AbstractDiviner.ts +4 -4
- package/src/AddressChain/Diviner.ts +4 -4
- package/src/AddressChain/MemoryDiviner.ts +7 -7
- package/src/AddressHistory/Diviner.ts +4 -4
- package/src/AddressHistory/MemoryDiviner.ts +5 -5
- package/src/AddressSpace/AddressSpaceDiviner.ts +4 -4
- package/src/AddressSpace/MemoryAddressSpaceDiviner.ts +6 -6
- package/src/IdentityDiviner.ts +2 -2
- package/src/Payload/Archivist/Config.ts +2 -2
- package/src/Payload/Archivist/Diviner.ts +2 -2
- package/src/Payload/Huri/Config.ts +2 -2
- package/src/Payload/Huri/Diviner.ts +2 -2
- package/src/Payload/XyoHuriPayload.ts +2 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { ArchivistGetQuerySchema } from '@xyo-network/archivist'
|
|
3
3
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
4
|
-
import {
|
|
4
|
+
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
5
5
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
6
6
|
import { DivinerParams } from '@xyo-network/diviner-model'
|
|
7
7
|
import { AnyConfigSchema } from '@xyo-network/module'
|
|
8
|
-
import {
|
|
8
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
9
9
|
|
|
10
10
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
11
11
|
import { AddressChainDivinerConfig, AddressChainDivinerConfigSchema } from './Config'
|
|
@@ -26,8 +26,8 @@ export class MemoryAddressChainDiviner<TParams extends MemoryAddressChainDiviner
|
|
|
26
26
|
return assertEx(this.config.address, 'Missing address')
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
async divine(payloads?:
|
|
30
|
-
const result:
|
|
29
|
+
async divine(payloads?: Payload[]): Promise<Payload[]> {
|
|
30
|
+
const result: Payload[] = []
|
|
31
31
|
assertEx(!payloads?.length, 'MemoryAddressChainDiviner.divine does not allow payloads to be sent')
|
|
32
32
|
const archivists =
|
|
33
33
|
(await this.resolve({ query: [[ArchivistGetQuerySchema]] }))?.map(
|
|
@@ -35,7 +35,7 @@ export class MemoryAddressChainDiviner<TParams extends MemoryAddressChainDiviner
|
|
|
35
35
|
) ?? []
|
|
36
36
|
let currentHash: string | null = assertEx(this.config.startHash, 'Missing startHash')
|
|
37
37
|
while (currentHash && result.length < (this.config.maxResults ?? 1000)) {
|
|
38
|
-
const bwPayload:
|
|
38
|
+
const bwPayload: BoundWitness | undefined = await this.archivistFindHash(archivists, currentHash)
|
|
39
39
|
const bw: BoundWitnessWrapper | undefined = BoundWitnessWrapper.parse(bwPayload)
|
|
40
40
|
if (bw) {
|
|
41
41
|
result.push(bw)
|
|
@@ -45,10 +45,10 @@ export class MemoryAddressChainDiviner<TParams extends MemoryAddressChainDiviner
|
|
|
45
45
|
return result
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
private async archivistFindHash(archivists: ArchivistWrapper[], hash: string): Promise<
|
|
48
|
+
private async archivistFindHash(archivists: ArchivistWrapper[], hash: string): Promise<BoundWitness | undefined> {
|
|
49
49
|
let index = 0
|
|
50
50
|
if (archivists[index]) {
|
|
51
|
-
const result = (await archivists[index].get([hash])).pop() as
|
|
51
|
+
const result = (await archivists[index].get([hash])).pop() as BoundWitness
|
|
52
52
|
if (result) {
|
|
53
53
|
return result
|
|
54
54
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module-model'
|
|
2
|
-
import {
|
|
2
|
+
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
5
5
|
|
|
@@ -9,10 +9,10 @@ export const AddressHistorySchema: AddressHistorySchema = 'network.xyo.diviner.a
|
|
|
9
9
|
export type AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query'
|
|
10
10
|
export const AddressHistoryQuerySchema: AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query'
|
|
11
11
|
|
|
12
|
-
export type AddressHistoryPayload =
|
|
13
|
-
export const isAddressHistoryPayload = (x?:
|
|
12
|
+
export type AddressHistoryPayload = Payload<{ schema: AddressHistorySchema }>
|
|
13
|
+
export const isAddressHistoryPayload = (x?: Payload | null): x is AddressHistoryPayload => x?.schema === AddressHistorySchema
|
|
14
14
|
|
|
15
15
|
export type AddressHistoryQueryPayload = XyoQuery<{ schema: AddressHistoryQuerySchema } & PayloadFindFilter>
|
|
16
|
-
export const isAddressHistoryQueryPayload = (x?:
|
|
16
|
+
export const isAddressHistoryQueryPayload = (x?: Payload | null): x is AddressHistoryQueryPayload => x?.schema === AddressHistoryQuerySchema
|
|
17
17
|
|
|
18
18
|
export type AddressHistoryDiviner = AbstractDiviner
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { ArchivistGetQuerySchema } from '@xyo-network/archivist'
|
|
3
3
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
4
|
-
import {
|
|
4
|
+
import { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
|
5
5
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
6
6
|
import { DivinerParams } from '@xyo-network/diviner-model'
|
|
7
7
|
import { AnyConfigSchema } from '@xyo-network/module-model'
|
|
8
|
-
import {
|
|
8
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
9
9
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
10
10
|
|
|
11
11
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
@@ -27,7 +27,7 @@ export class MemoryAddressHistoryDiviner<TParams extends MemoryAddressHistoryDiv
|
|
|
27
27
|
return assertEx(this.config.address, 'Missing address')
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
async divine(payloads?:
|
|
30
|
+
async divine(payloads?: Payload[]): Promise<Payload[]> {
|
|
31
31
|
assertEx(!payloads?.length, 'MemoryAddressHistoryDiviner.divine does not allow payloads to be sent')
|
|
32
32
|
const archivists =
|
|
33
33
|
(await this.resolve({ query: [[ArchivistGetQuerySchema]] }))?.map(
|
|
@@ -38,7 +38,7 @@ export class MemoryAddressHistoryDiviner<TParams extends MemoryAddressHistoryDiv
|
|
|
38
38
|
await Promise.all(
|
|
39
39
|
archivists.map(async (archivist) => {
|
|
40
40
|
const all = await archivist.all()
|
|
41
|
-
return all.filter((payload) => payload.schema ===
|
|
41
|
+
return all.filter((payload) => payload.schema === BoundWitnessSchema) as BoundWitness[]
|
|
42
42
|
}),
|
|
43
43
|
)
|
|
44
44
|
).flat()
|
|
@@ -73,7 +73,7 @@ export class MemoryAddressHistoryDiviner<TParams extends MemoryAddressHistoryDiv
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
//build object with hashes as keys and wrappers as values
|
|
76
|
-
private buildWrapperRecords(lists:
|
|
76
|
+
private buildWrapperRecords(lists: BoundWitness[]) {
|
|
77
77
|
return lists
|
|
78
78
|
.filter((bw) => bw.addresses.includes(this.queryAddress))
|
|
79
79
|
.reduce<Record<string, BoundWitnessWrapper>>((bwRecords, bw) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module-model'
|
|
2
|
-
import {
|
|
2
|
+
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
5
5
|
|
|
@@ -9,10 +9,10 @@ export const AddressSpaceSchema: AddressSpaceSchema = 'network.xyo.diviner.addre
|
|
|
9
9
|
export type AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query'
|
|
10
10
|
export const AddressSpaceQuerySchema: AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query'
|
|
11
11
|
|
|
12
|
-
export type AddressSpacePayload =
|
|
13
|
-
export const isAddressSpacePayload = (x?:
|
|
12
|
+
export type AddressSpacePayload = Payload<{ schema: AddressSpaceSchema }>
|
|
13
|
+
export const isAddressSpacePayload = (x?: Payload | null): x is AddressSpacePayload => x?.schema === AddressSpaceSchema
|
|
14
14
|
|
|
15
15
|
export type AddressSpaceQueryPayload = XyoQuery<{ schema: AddressSpaceQuerySchema } & PayloadFindFilter>
|
|
16
|
-
export const isAddressSpaceQueryPayload = (x?:
|
|
16
|
+
export const isAddressSpaceQueryPayload = (x?: Payload | null): x is AddressSpaceQueryPayload => x?.schema === AddressSpaceQuerySchema
|
|
17
17
|
|
|
18
18
|
export type AddressSpaceDiviner = AbstractDiviner
|
|
@@ -2,11 +2,11 @@ import { assertEx } from '@xylabs/assert'
|
|
|
2
2
|
import { AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
3
3
|
import { ArchivistGetQuerySchema, ArchivistModule } from '@xyo-network/archivist'
|
|
4
4
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
5
|
-
import {
|
|
5
|
+
import { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
|
6
6
|
import { DivinerConfig, DivinerParams } from '@xyo-network/diviner-model'
|
|
7
7
|
import { AnyConfigSchema } from '@xyo-network/module'
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
9
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
10
10
|
|
|
11
11
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
12
12
|
import { AddressSpaceDiviner, AddressSpaceSchema } from './AddressSpaceDiviner'
|
|
@@ -33,7 +33,7 @@ export class MemoryAddressSpaceDiviner<TParams extends MemoryAddressSpaceDiviner
|
|
|
33
33
|
{
|
|
34
34
|
static override configSchema = MemoryAddressSpaceDivinerConfigSchema
|
|
35
35
|
|
|
36
|
-
async divine(payloads?:
|
|
36
|
+
async divine(payloads?: Payload[]): Promise<Payload[]> {
|
|
37
37
|
assertEx(!payloads?.length, 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')
|
|
38
38
|
const archivists = await this.archivists()
|
|
39
39
|
assertEx(archivists.length > 0, 'Did not find any archivists')
|
|
@@ -41,7 +41,7 @@ export class MemoryAddressSpaceDiviner<TParams extends MemoryAddressSpaceDiviner
|
|
|
41
41
|
await Promise.all(
|
|
42
42
|
archivists.map(async (archivist) => {
|
|
43
43
|
const all = await archivist.all?.()
|
|
44
|
-
return (all?.filter((payload) => payload.schema ===
|
|
44
|
+
return (all?.filter((payload) => payload.schema === BoundWitnessSchema) as BoundWitness[]) ?? []
|
|
45
45
|
}),
|
|
46
46
|
)
|
|
47
47
|
).flat()
|
|
@@ -51,7 +51,7 @@ export class MemoryAddressSpaceDiviner<TParams extends MemoryAddressSpaceDiviner
|
|
|
51
51
|
.flat()
|
|
52
52
|
.map((address) => address.toLowerCase()),
|
|
53
53
|
)
|
|
54
|
-
return [...addresses].map((address) => new
|
|
54
|
+
return [...addresses].map((address) => new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build())
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
private async archivists(): Promise<ArchivistModule[]> {
|
package/src/IdentityDiviner.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ArchivistParams } from '@xyo-network/archivist'
|
|
|
3
3
|
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
4
4
|
import { creatableModule } from '@xyo-network/module'
|
|
5
5
|
import { AnyConfigSchema } from '@xyo-network/module-model'
|
|
6
|
-
import {
|
|
6
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
7
7
|
import { Promisable } from '@xyo-network/promise'
|
|
8
8
|
|
|
9
9
|
import { AbstractDiviner } from './AbstractDiviner'
|
|
@@ -14,7 +14,7 @@ export type IdentityDivinerParams<TConfig extends AnyConfigSchema<DivinerConfig>
|
|
|
14
14
|
export class IdentityDiviner<TParams extends IdentityDivinerParams = IdentityDivinerParams> extends AbstractDiviner<TParams> {
|
|
15
15
|
static override targetSchema = 'network.xyo.test'
|
|
16
16
|
|
|
17
|
-
override divine(payloads?:
|
|
17
|
+
override divine(payloads?: Payload[]): Promisable<Payload[]> {
|
|
18
18
|
return assertEx(payloads, 'IdentityDiviner requires passed payload')
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
2
|
-
import {
|
|
2
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
export type XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.archivist.config'
|
|
5
5
|
export const XyoArchivistPayloadDivinerConfigSchema: XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.archivist.config'
|
|
6
6
|
|
|
7
|
-
export type XyoArchivistPayloadDivinerConfig<T extends
|
|
7
|
+
export type XyoArchivistPayloadDivinerConfig<T extends Payload = Payload> = DivinerConfig<
|
|
8
8
|
T & {
|
|
9
9
|
archivist?: string
|
|
10
10
|
schema: XyoArchivistPayloadDivinerConfigSchema
|
|
@@ -4,7 +4,7 @@ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
|
4
4
|
import { DivinerParams } from '@xyo-network/diviner-model'
|
|
5
5
|
import { Huri } from '@xyo-network/huri'
|
|
6
6
|
import { AnyConfigSchema } from '@xyo-network/module-model'
|
|
7
|
-
import {
|
|
7
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
8
8
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
9
9
|
|
|
10
10
|
import { AbstractPayloadDiviner } from '../AbstractPayloadDiviner'
|
|
@@ -18,7 +18,7 @@ export type ArchivistPayloadDivinerParams<
|
|
|
18
18
|
export class ArchivistPayloadDiviner<TParams extends ArchivistPayloadDivinerParams> extends AbstractPayloadDiviner<TParams> {
|
|
19
19
|
static override configSchema: XyoArchivistPayloadDivinerConfigSchema
|
|
20
20
|
|
|
21
|
-
async divine(payloads?:
|
|
21
|
+
async divine(payloads?: Payload[]): Promise<Payload[]> {
|
|
22
22
|
const huriPayloads = assertEx(
|
|
23
23
|
payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
|
|
24
24
|
`no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
2
2
|
import { HuriOptions } from '@xyo-network/huri'
|
|
3
|
-
import {
|
|
3
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
4
4
|
|
|
5
5
|
export type XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.huri.config'
|
|
6
6
|
export const XyoHuriPayloadDivinerConfigSchema: XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.huri.config'
|
|
7
7
|
|
|
8
|
-
export type XyoHuriPayloadDivinerConfig<T extends
|
|
8
|
+
export type XyoHuriPayloadDivinerConfig<T extends Payload = Payload> = DivinerConfig<
|
|
9
9
|
T & {
|
|
10
10
|
options?: HuriOptions
|
|
11
11
|
schema: XyoHuriPayloadDivinerConfigSchema
|
|
@@ -3,7 +3,7 @@ import { fulfilled } from '@xylabs/promise'
|
|
|
3
3
|
import { DivinerParams } from '@xyo-network/diviner-model'
|
|
4
4
|
import { Huri } from '@xyo-network/huri'
|
|
5
5
|
import { AnyConfigSchema } from '@xyo-network/module'
|
|
6
|
-
import {
|
|
6
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
7
7
|
import compact from 'lodash/compact'
|
|
8
8
|
|
|
9
9
|
import { AbstractPayloadDiviner } from '../AbstractPayloadDiviner'
|
|
@@ -20,7 +20,7 @@ export class HuriPayloadDiviner<TParams extends HuriPayloadDivinerParams = HuriP
|
|
|
20
20
|
return this.config?.options
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
override async divine(payloads?:
|
|
23
|
+
override async divine(payloads?: Payload[]): Promise<Payload[]> {
|
|
24
24
|
const huriPayloads = assertEx(
|
|
25
25
|
payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
|
|
26
26
|
`no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
2
2
|
|
|
3
3
|
export type XyoHuriSchema = 'network.xyo.huri'
|
|
4
4
|
export const XyoHuriSchema: XyoHuriSchema = 'network.xyo.huri'
|
|
5
5
|
|
|
6
|
-
export type XyoHuriPayload =
|
|
6
|
+
export type XyoHuriPayload = Payload<{
|
|
7
7
|
huri: string[]
|
|
8
8
|
schema: 'network.xyo.huri'
|
|
9
9
|
tokens?: string[]
|