@xyo-network/modules 2.47.9 → 2.48.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/docs.json +32098 -30122
- package/package.json +9 -9
- package/src/spec/VariousNodeConfigurations.spec.ts +0 -141
- package/src/spec/XyoModuleResolver.spec.ts +0 -31
package/package.json
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xyo-network/archivist": "^2.
|
|
14
|
-
"@xyo-network/bridge": "^2.
|
|
15
|
-
"@xyo-network/diviner": "^2.
|
|
16
|
-
"@xyo-network/module": "^2.
|
|
17
|
-
"@xyo-network/node": "^2.
|
|
18
|
-
"@xyo-network/panel": "^2.
|
|
19
|
-
"@xyo-network/sentinel": "^2.
|
|
20
|
-
"@xyo-network/witness": "^2.
|
|
13
|
+
"@xyo-network/archivist": "^2.48.0",
|
|
14
|
+
"@xyo-network/bridge": "^2.48.0",
|
|
15
|
+
"@xyo-network/diviner": "^2.48.0",
|
|
16
|
+
"@xyo-network/module": "^2.48.0",
|
|
17
|
+
"@xyo-network/node": "^2.48.0",
|
|
18
|
+
"@xyo-network/panel": "^2.48.0",
|
|
19
|
+
"@xyo-network/sentinel": "^2.48.0",
|
|
20
|
+
"@xyo-network/witness": "^2.48.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@xylabs/ts-scripts-yarn3": "^2.15.0",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
},
|
|
58
58
|
"sideEffects": false,
|
|
59
59
|
"types": "dist/types/index.d.ts",
|
|
60
|
-
"version": "2.
|
|
60
|
+
"version": "2.48.0"
|
|
61
61
|
}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { MemoryArchivist, MemoryArchivistConfigSchema } from '@xyo-network/archivist'
|
|
2
|
-
import { MemoryAddressHistoryDiviner, MemoryAddressHistoryDivinerConfigSchema } from '@xyo-network/diviner'
|
|
3
|
-
import { IdWitness, IdWitnessConfigSchema } from '@xyo-network/id-plugin'
|
|
4
|
-
import { AbstractModule } from '@xyo-network/module'
|
|
5
|
-
import { MemoryNode, NodeConfigSchema } from '@xyo-network/node'
|
|
6
|
-
|
|
7
|
-
describe('MultiNodeConfiguration', () => {
|
|
8
|
-
let primaryArchivist: AbstractModule
|
|
9
|
-
let primaryNode: MemoryNode
|
|
10
|
-
|
|
11
|
-
let leftInternalArchivist: AbstractModule
|
|
12
|
-
let leftExternalArchivist: AbstractModule
|
|
13
|
-
let leftDiviner: AbstractModule
|
|
14
|
-
let leftNode: MemoryNode
|
|
15
|
-
|
|
16
|
-
let rightNode: MemoryNode
|
|
17
|
-
let rightInternalArchivist: AbstractModule
|
|
18
|
-
let rightExternalArchivist: AbstractModule
|
|
19
|
-
let rightWitness: AbstractModule
|
|
20
|
-
|
|
21
|
-
beforeAll(async () => {
|
|
22
|
-
primaryNode = await MemoryNode.create({ config: { name: 'primaryNode', schema: NodeConfigSchema } })
|
|
23
|
-
primaryArchivist = await MemoryArchivist.create({ config: { name: 'primaryArchivist', schema: MemoryArchivistConfigSchema } })
|
|
24
|
-
await primaryNode.register(primaryArchivist).attach(primaryArchivist.address, true)
|
|
25
|
-
|
|
26
|
-
rightNode = await MemoryNode.create({ config: { name: 'rightNode', schema: NodeConfigSchema } })
|
|
27
|
-
rightInternalArchivist = await MemoryArchivist.create({ config: { name: 'rightInternalArchivist', schema: MemoryArchivistConfigSchema } })
|
|
28
|
-
rightExternalArchivist = await MemoryArchivist.create({ config: { name: 'archivist', schema: MemoryArchivistConfigSchema } })
|
|
29
|
-
rightWitness = await IdWitness.create({ config: { name: 'rightWitness', salt: 'test', schema: IdWitnessConfigSchema } })
|
|
30
|
-
await rightNode.register(rightInternalArchivist).attach(rightInternalArchivist.address)
|
|
31
|
-
await rightNode.register(rightExternalArchivist).attach(rightExternalArchivist.address, true)
|
|
32
|
-
await rightNode.register(rightWitness).attach(rightWitness.address, true)
|
|
33
|
-
|
|
34
|
-
leftNode = await MemoryNode.create({ config: { name: 'leftNode', schema: NodeConfigSchema } })
|
|
35
|
-
leftInternalArchivist = await MemoryArchivist.create({ config: { name: 'leftInternalArchivist', schema: MemoryArchivistConfigSchema } })
|
|
36
|
-
leftExternalArchivist = await MemoryArchivist.create({ config: { name: 'archivist', schema: MemoryArchivistConfigSchema } })
|
|
37
|
-
leftDiviner = await MemoryAddressHistoryDiviner.create({
|
|
38
|
-
config: { address: leftNode.address, name: 'leftDiviner', schema: MemoryAddressHistoryDivinerConfigSchema },
|
|
39
|
-
})
|
|
40
|
-
await leftNode.register(leftInternalArchivist).attach(leftInternalArchivist.address)
|
|
41
|
-
await leftNode.register(leftExternalArchivist).attach(leftExternalArchivist.address, true)
|
|
42
|
-
await leftNode.register(leftDiviner).attach(leftDiviner.address, true)
|
|
43
|
-
|
|
44
|
-
primaryNode.register(leftNode)
|
|
45
|
-
primaryNode.register(rightNode)
|
|
46
|
-
})
|
|
47
|
-
test('leftNode', async () => {
|
|
48
|
-
await primaryNode.attach(leftNode.address, true)
|
|
49
|
-
primaryNode.detach(rightNode.address)
|
|
50
|
-
expect((await primaryNode.resolve({ address: [primaryArchivist.address] })).length).toBe(1)
|
|
51
|
-
expect((await primaryNode.resolve({ name: ['primaryArchivist'] })).length).toBe(1)
|
|
52
|
-
|
|
53
|
-
expect((await leftNode.resolve({ address: [leftDiviner.address] })).length).toBe(1)
|
|
54
|
-
expect((await leftNode.resolve({ name: ['leftDiviner'] })).length).toBe(1)
|
|
55
|
-
|
|
56
|
-
// internal: should be resolvable by leftNode
|
|
57
|
-
expect((await leftNode.resolve({ address: [leftInternalArchivist.address] })).length).toBe(1)
|
|
58
|
-
expect((await leftNode.resolve({ name: ['leftInternalArchivist'] })).length).toBe(1)
|
|
59
|
-
|
|
60
|
-
expect((await leftNode.resolve({ address: [leftExternalArchivist.address] })).length).toBe(1)
|
|
61
|
-
expect((await leftNode.resolve({ name: ['archivist'] })).length).toBe(1)
|
|
62
|
-
|
|
63
|
-
expect((await rightNode.resolve({ address: [rightWitness.address] })).length).toBe(1)
|
|
64
|
-
expect((await rightNode.resolve({ name: ['rightWitness'] })).length).toBe(1)
|
|
65
|
-
|
|
66
|
-
// internal: should be resolvable by rightNode
|
|
67
|
-
expect((await rightNode.resolve({ address: [rightInternalArchivist.address] })).length).toBe(1)
|
|
68
|
-
expect((await rightNode.resolve({ name: ['rightInternalArchivist'] })).length).toBe(1)
|
|
69
|
-
|
|
70
|
-
expect((await rightNode.resolve({ address: [rightExternalArchivist.address] })).length).toBe(1)
|
|
71
|
-
expect((await rightNode.resolve({ name: ['archivist'] })).length).toBe(1)
|
|
72
|
-
|
|
73
|
-
expect((await primaryNode.resolve({ address: [leftNode.address] })).length).toBe(1)
|
|
74
|
-
expect((await primaryNode.resolve({ name: ['leftNode'] })).length).toBe(1)
|
|
75
|
-
|
|
76
|
-
expect((await primaryNode.resolve({ address: [rightNode.address] })).length).toBe(0)
|
|
77
|
-
expect((await primaryNode.resolve({ name: ['rightNode'] })).length).toBe(0)
|
|
78
|
-
|
|
79
|
-
expect((await primaryNode.resolve({ address: [leftDiviner.address] })).length).toBe(1)
|
|
80
|
-
expect((await primaryNode.resolve({ name: ['leftDiviner'] })).length).toBe(1)
|
|
81
|
-
|
|
82
|
-
expect((await primaryNode.resolve({ address: [rightWitness.address] })).length).toBe(0)
|
|
83
|
-
expect((await primaryNode.resolve({ name: ['rightWitness'] })).length).toBe(0)
|
|
84
|
-
|
|
85
|
-
// internal: should NOT be resolvable by primaryNode
|
|
86
|
-
expect((await primaryNode.resolve({ address: [leftInternalArchivist.address] })).length).toBe(0)
|
|
87
|
-
expect((await primaryNode.resolve({ name: ['leftInternalArchivist'] })).length).toBe(0)
|
|
88
|
-
|
|
89
|
-
// internal: should NOT be resolvable by node
|
|
90
|
-
expect((await primaryNode.resolve({ address: [rightInternalArchivist.address] })).length).toBe(0)
|
|
91
|
-
expect((await primaryNode.resolve({ name: ['rightInternalArchivist'] })).length).toBe(0)
|
|
92
|
-
|
|
93
|
-
// external: should be resolvable by primaryNode
|
|
94
|
-
expect((await primaryNode.resolve({ address: [leftExternalArchivist.address] })).length).toBe(1)
|
|
95
|
-
|
|
96
|
-
// external: should be NOT be resolvable by node
|
|
97
|
-
expect((await primaryNode.resolve({ address: [rightExternalArchivist.address] })).length).toBe(0)
|
|
98
|
-
|
|
99
|
-
// external: should be resolvable by node
|
|
100
|
-
expect((await primaryNode.resolve({ name: ['archivist'] })).length).toBe(1)
|
|
101
|
-
expect((await primaryNode.resolve({ name: ['archivist'] }))[0].address).toBe(leftExternalArchivist.address)
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
test('rightNode', async () => {
|
|
105
|
-
await primaryNode.attach(rightNode.address, true)
|
|
106
|
-
primaryNode.detach(leftNode.address)
|
|
107
|
-
expect((await primaryNode.resolve({ address: [primaryArchivist.address] })).length).toBe(1)
|
|
108
|
-
expect((await leftNode.resolve({ address: [leftDiviner.address] })).length).toBe(1)
|
|
109
|
-
expect((await rightNode.resolve({ address: [rightWitness.address] })).length).toBe(1)
|
|
110
|
-
expect((await primaryNode.resolve({ address: [rightNode.address] })).length).toBe(1)
|
|
111
|
-
expect((await primaryNode.resolve({ address: [leftNode.address] })).length).toBe(0)
|
|
112
|
-
expect((await primaryNode.resolve({ address: [rightWitness.address] })).length).toBe(1)
|
|
113
|
-
expect((await primaryNode.resolve({ address: [leftDiviner.address] })).length).toBe(0)
|
|
114
|
-
expect((await primaryNode.resolve({ name: ['archivist'] })).length).toBe(1)
|
|
115
|
-
expect((await primaryNode.resolve({ name: ['archivist'] }))[0].address).toBe(rightExternalArchivist.address)
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
test('leftNode', async () => {
|
|
119
|
-
primaryNode.detach(leftNode.address)
|
|
120
|
-
primaryNode.detach(rightNode.address)
|
|
121
|
-
await primaryNode.attach(leftNode.address, true)
|
|
122
|
-
await primaryNode.attach(rightNode.address, true)
|
|
123
|
-
|
|
124
|
-
// internal: should NOT be resolvable by primaryNode
|
|
125
|
-
expect((await primaryNode.resolve({ address: [leftInternalArchivist.address] })).length).toBe(0)
|
|
126
|
-
expect((await primaryNode.resolve({ name: ['leftInternalArchivist'] })).length).toBe(0)
|
|
127
|
-
|
|
128
|
-
// internal: should NOT be resolvable by node
|
|
129
|
-
expect((await primaryNode.resolve({ address: [rightInternalArchivist.address] })).length).toBe(0)
|
|
130
|
-
expect((await primaryNode.resolve({ name: ['rightInternalArchivist'] })).length).toBe(0)
|
|
131
|
-
|
|
132
|
-
// external: should be resolvable by primaryNode
|
|
133
|
-
expect((await primaryNode.resolve({ address: [leftExternalArchivist.address] })).length).toBe(1)
|
|
134
|
-
|
|
135
|
-
// external: should be resolvable by node
|
|
136
|
-
expect((await primaryNode.resolve({ address: [rightExternalArchivist.address] })).length).toBe(1)
|
|
137
|
-
|
|
138
|
-
// external: should be resolvable by node
|
|
139
|
-
expect((await primaryNode.resolve({ name: ['archivist'] })).length).toBe(2)
|
|
140
|
-
})
|
|
141
|
-
})
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/* eslint-disable import/no-internal-modules */
|
|
2
|
-
import { ArchivistGetQuerySchema, MemoryArchivist, MemoryArchivistConfigSchema } from '@xyo-network/archivist'
|
|
3
|
-
import { IdWitness, IdWitnessConfigSchema } from '@xyo-network/id-plugin'
|
|
4
|
-
import { AbstractModule, CompositeModuleResolver } from '@xyo-network/module'
|
|
5
|
-
import { XyoWitnessObserveQuerySchema } from '@xyo-network/witness'
|
|
6
|
-
|
|
7
|
-
describe('XyoModuleResolver', () => {
|
|
8
|
-
let archivist: AbstractModule
|
|
9
|
-
let witness: AbstractModule
|
|
10
|
-
let resolver: CompositeModuleResolver
|
|
11
|
-
beforeAll(async () => {
|
|
12
|
-
archivist = await MemoryArchivist.create({ config: { name: 'memory-archivist', schema: MemoryArchivistConfigSchema } })
|
|
13
|
-
witness = await IdWitness.create({ config: { salt: 'test', schema: IdWitnessConfigSchema } })
|
|
14
|
-
resolver = new CompositeModuleResolver()
|
|
15
|
-
resolver.add(archivist)
|
|
16
|
-
resolver.add(witness)
|
|
17
|
-
})
|
|
18
|
-
test('simple by address', async () => {
|
|
19
|
-
expect((await resolver.resolve({ address: [archivist.address] })).length).toBe(1)
|
|
20
|
-
expect((await resolver.resolve({ address: [witness.address] })).length).toBe(1)
|
|
21
|
-
})
|
|
22
|
-
test('simple by name', async () => {
|
|
23
|
-
expect((await resolver.resolve({ name: ['memory-archivist'] })).length).toBe(1)
|
|
24
|
-
})
|
|
25
|
-
test('simple by query', async () => {
|
|
26
|
-
expect((await resolver.resolve({ query: [[ArchivistGetQuerySchema, XyoWitnessObserveQuerySchema]] })).length).toBe(0)
|
|
27
|
-
expect((await resolver.resolve({ query: [[ArchivistGetQuerySchema]] })).length).toBe(1)
|
|
28
|
-
expect((await resolver.resolve({ query: [[XyoWitnessObserveQuerySchema]] })).length).toBe(1)
|
|
29
|
-
expect((await resolver.resolve({ query: [[ArchivistGetQuerySchema], [XyoWitnessObserveQuerySchema]] })).length).toBe(2)
|
|
30
|
-
})
|
|
31
|
-
})
|