@xyo-network/diviner-boundwitness-memory 5.1.21 → 5.1.23
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/diviner-boundwitness-memory",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.23",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -30,30 +30,33 @@
|
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"files": [
|
|
32
32
|
"dist",
|
|
33
|
-
"src"
|
|
33
|
+
"src",
|
|
34
|
+
"!**/*.bench.*",
|
|
35
|
+
"!**/*.spec.*",
|
|
36
|
+
"!**/*.test.*"
|
|
34
37
|
],
|
|
35
38
|
"dependencies": {
|
|
36
|
-
"@xylabs/array": "~5.0.
|
|
37
|
-
"@xylabs/assert": "~5.0.
|
|
38
|
-
"@xylabs/exists": "~5.0.
|
|
39
|
-
"@xylabs/hex": "~5.0.
|
|
40
|
-
"@xyo-network/boundwitness-model": "~5.1.
|
|
41
|
-
"@xyo-network/diviner-boundwitness-abstract": "~5.1.
|
|
42
|
-
"@xyo-network/diviner-boundwitness-model": "~5.1.
|
|
43
|
-
"@xyo-network/payload-builder": "~5.1.
|
|
44
|
-
"@xyo-network/payload-model": "~5.1.
|
|
39
|
+
"@xylabs/array": "~5.0.33",
|
|
40
|
+
"@xylabs/assert": "~5.0.33",
|
|
41
|
+
"@xylabs/exists": "~5.0.33",
|
|
42
|
+
"@xylabs/hex": "~5.0.33",
|
|
43
|
+
"@xyo-network/boundwitness-model": "~5.1.23",
|
|
44
|
+
"@xyo-network/diviner-boundwitness-abstract": "~5.1.23",
|
|
45
|
+
"@xyo-network/diviner-boundwitness-model": "~5.1.23",
|
|
46
|
+
"@xyo-network/payload-builder": "~5.1.23",
|
|
47
|
+
"@xyo-network/payload-model": "~5.1.23"
|
|
45
48
|
},
|
|
46
49
|
"devDependencies": {
|
|
47
|
-
"@xylabs/delay": "~5.0.
|
|
50
|
+
"@xylabs/delay": "~5.0.33",
|
|
48
51
|
"@xylabs/ts-scripts-yarn3": "~7.2.8",
|
|
49
52
|
"@xylabs/tsconfig": "~7.2.8",
|
|
50
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
51
|
-
"@xyo-network/account": "~5.1.
|
|
52
|
-
"@xyo-network/archivist-memory": "~5.1.
|
|
53
|
-
"@xyo-network/boundwitness-builder": "~5.1.
|
|
54
|
-
"@xyo-network/node-memory": "~5.1.
|
|
53
|
+
"@xylabs/vitest-extended": "~5.0.33",
|
|
54
|
+
"@xyo-network/account": "~5.1.23",
|
|
55
|
+
"@xyo-network/archivist-memory": "~5.1.23",
|
|
56
|
+
"@xyo-network/boundwitness-builder": "~5.1.23",
|
|
57
|
+
"@xyo-network/node-memory": "~5.1.23",
|
|
55
58
|
"typescript": "~5.9.3",
|
|
56
|
-
"vitest": "~4.0.
|
|
59
|
+
"vitest": "~4.0.9"
|
|
57
60
|
},
|
|
58
61
|
"publishConfig": {
|
|
59
62
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
|
package/src/spec/Diviner.spec.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import '@xylabs/vitest-extended'
|
|
2
|
-
|
|
3
|
-
import { delay } from '@xylabs/delay'
|
|
4
|
-
import { Account } from '@xyo-network/account'
|
|
5
|
-
import { MemoryArchivist } from '@xyo-network/archivist-memory'
|
|
6
|
-
import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder'
|
|
7
|
-
import type { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
8
|
-
import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model'
|
|
9
|
-
import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'
|
|
10
|
-
import { MemoryNode } from '@xyo-network/node-memory'
|
|
11
|
-
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
12
|
-
import type { Payload } from '@xyo-network/payload-model'
|
|
13
|
-
import {
|
|
14
|
-
beforeAll,
|
|
15
|
-
describe, expect, it,
|
|
16
|
-
} from 'vitest'
|
|
17
|
-
|
|
18
|
-
import { MemoryBoundWitnessDiviner } from '../MemoryBoundWitnessDiviner.ts'
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @group module
|
|
22
|
-
* @group diviner
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
describe('MemoryBoundWitnessDiviner', () => {
|
|
26
|
-
let archivist: MemoryArchivist
|
|
27
|
-
let sut: MemoryBoundWitnessDiviner
|
|
28
|
-
let node: MemoryNode
|
|
29
|
-
const payloadA: Payload<{ schema: string; url: string }> = {
|
|
30
|
-
schema: 'network.xyo.test',
|
|
31
|
-
url: 'https://xyo.network',
|
|
32
|
-
}
|
|
33
|
-
const payloadB: Payload<{ foo: string[]; schema: string }> = {
|
|
34
|
-
foo: ['bar', 'baz'],
|
|
35
|
-
schema: 'network.xyo.debug',
|
|
36
|
-
}
|
|
37
|
-
const payloadC: Payload<{ foo: string[]; schema: string }> = {
|
|
38
|
-
foo: ['one', 'two'],
|
|
39
|
-
schema: 'network.xyo.debug',
|
|
40
|
-
}
|
|
41
|
-
const payloadD: Payload<{ foo: string[]; schema: string }> = {
|
|
42
|
-
foo: ['aaa', 'bbb'],
|
|
43
|
-
schema: 'network.xyo.debug',
|
|
44
|
-
}
|
|
45
|
-
const bws: BoundWitness[] = []
|
|
46
|
-
beforeAll(async () => {
|
|
47
|
-
const account = await Account.random()
|
|
48
|
-
const [bwA] = await new BoundWitnessBuilder().signers([account]).payloads([payloadA]).build()
|
|
49
|
-
bws.push(bwA)
|
|
50
|
-
const [bwB] = await new BoundWitnessBuilder().signers([account]).payloads([payloadB]).build()
|
|
51
|
-
bws.push(bwB)
|
|
52
|
-
const [bwC] = await new BoundWitnessBuilder().signers([account]).payloads([payloadC]).build()
|
|
53
|
-
bws.push(bwC)
|
|
54
|
-
const [bwD] = await new BoundWitnessBuilder().signers([account]).payloads([payloadD]).build()
|
|
55
|
-
bws.push(bwD)
|
|
56
|
-
const [bwAB] = await new BoundWitnessBuilder().signers([account]).payloads([payloadA, payloadB]).build()
|
|
57
|
-
bws.push(bwAB)
|
|
58
|
-
|
|
59
|
-
archivist = await MemoryArchivist.create({
|
|
60
|
-
account: 'random',
|
|
61
|
-
config: { name: 'test', schema: MemoryArchivist.defaultConfigSchema },
|
|
62
|
-
})
|
|
63
|
-
for (const payload of [payloadA, payloadB, payloadC, payloadD, bwA, bwB, bwC, bwD, bwAB]) {
|
|
64
|
-
await delay(2)
|
|
65
|
-
await archivist.insert([payload])
|
|
66
|
-
}
|
|
67
|
-
sut = await MemoryBoundWitnessDiviner.create({
|
|
68
|
-
account: 'random',
|
|
69
|
-
config: {
|
|
70
|
-
archivist: archivist.address,
|
|
71
|
-
schema: MemoryBoundWitnessDiviner.defaultConfigSchema,
|
|
72
|
-
},
|
|
73
|
-
})
|
|
74
|
-
node = await MemoryNode.create({
|
|
75
|
-
account: 'random',
|
|
76
|
-
config: { schema: MemoryNode.defaultConfigSchema },
|
|
77
|
-
})
|
|
78
|
-
const modules = [archivist, sut]
|
|
79
|
-
await node.start()
|
|
80
|
-
await Promise.all(
|
|
81
|
-
modules.map(async (mod) => {
|
|
82
|
-
await node.register(mod)
|
|
83
|
-
await node.attach(mod.address, true)
|
|
84
|
-
}),
|
|
85
|
-
)
|
|
86
|
-
await sut.start()
|
|
87
|
-
})
|
|
88
|
-
describe('with filter for', () => {
|
|
89
|
-
describe('schema', () => {
|
|
90
|
-
describe('single', () => {
|
|
91
|
-
it.each(['network.xyo.test', 'network.xyo.debug'])('only returns bw that contains that schema', async (schema) => {
|
|
92
|
-
const payload_schemas = [schema]
|
|
93
|
-
const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
|
|
94
|
-
.fields({ payload_schemas })
|
|
95
|
-
.build()
|
|
96
|
-
const results = await sut.divine([query])
|
|
97
|
-
expect(results.length).toBeGreaterThan(0)
|
|
98
|
-
expect(results.every(result => result.payload_schemas.includes(schema))).toBe(true)
|
|
99
|
-
})
|
|
100
|
-
it('only return single bw that contains that schema', async () => {
|
|
101
|
-
const payload_schemas = ['network.xyo.debug']
|
|
102
|
-
const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
|
|
103
|
-
.fields({ limit: 1, payload_schemas })
|
|
104
|
-
.build()
|
|
105
|
-
const results = await sut.divine([query])
|
|
106
|
-
expect(results.length).toBe(1)
|
|
107
|
-
expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4]))
|
|
108
|
-
expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true)
|
|
109
|
-
})
|
|
110
|
-
it('only return single bw that contains that schema', async () => {
|
|
111
|
-
const payload_schemas = ['network.xyo.debug']
|
|
112
|
-
const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
|
|
113
|
-
.fields({
|
|
114
|
-
limit: 1, order: 'asc', payload_schemas,
|
|
115
|
-
})
|
|
116
|
-
.build()
|
|
117
|
-
const results = await sut.divine([query])
|
|
118
|
-
expect(results.length).toBe(1)
|
|
119
|
-
expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[1]))
|
|
120
|
-
expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true)
|
|
121
|
-
})
|
|
122
|
-
it('only return single bw that contains that schema (desc)', async () => {
|
|
123
|
-
const payload_schemas = ['network.xyo.debug']
|
|
124
|
-
const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
|
|
125
|
-
.fields({
|
|
126
|
-
limit: 1, order: 'desc', payload_schemas,
|
|
127
|
-
})
|
|
128
|
-
.build()
|
|
129
|
-
const results = await sut.divine([query])
|
|
130
|
-
expect(results.length).toBe(1)
|
|
131
|
-
expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4]))
|
|
132
|
-
expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true)
|
|
133
|
-
})
|
|
134
|
-
})
|
|
135
|
-
describe('multiple', () => {
|
|
136
|
-
it('only returns bw that contains that schema', async () => {
|
|
137
|
-
const payload_schemas = ['network.xyo.test', 'network.xyo.debug']
|
|
138
|
-
const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
|
|
139
|
-
.fields({ payload_schemas })
|
|
140
|
-
.build()
|
|
141
|
-
const results = await sut.divine([query])
|
|
142
|
-
expect(results.length).toBeGreaterThan(0)
|
|
143
|
-
expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4]))
|
|
144
|
-
expect(results.every(result => payload_schemas.includes(result.payload_schemas[0]))).toBe(true)
|
|
145
|
-
})
|
|
146
|
-
})
|
|
147
|
-
})
|
|
148
|
-
})
|
|
149
|
-
})
|