@xyo-network/modules 2.47.8 → 2.47.10

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
@@ -10,18 +10,18 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/archivist": "^2.47.8",
14
- "@xyo-network/bridge": "^2.47.8",
15
- "@xyo-network/diviner": "^2.47.8",
16
- "@xyo-network/module": "^2.47.8",
17
- "@xyo-network/node": "^2.47.8",
18
- "@xyo-network/panel": "^2.47.8",
19
- "@xyo-network/sentinel": "^2.47.8",
20
- "@xyo-network/witness": "^2.47.8"
13
+ "@xyo-network/archivist": "^2.47.10",
14
+ "@xyo-network/bridge": "^2.47.10",
15
+ "@xyo-network/diviner": "^2.47.10",
16
+ "@xyo-network/module": "^2.47.10",
17
+ "@xyo-network/node": "^2.47.10",
18
+ "@xyo-network/panel": "^2.47.10",
19
+ "@xyo-network/sentinel": "^2.47.10",
20
+ "@xyo-network/witness": "^2.47.10"
21
21
  },
22
22
  "devDependencies": {
23
- "@xylabs/ts-scripts-yarn3": "^2.14.16",
24
- "@xylabs/tsconfig": "^2.14.16",
23
+ "@xylabs/ts-scripts-yarn3": "^2.15.0",
24
+ "@xylabs/tsconfig": "^2.15.0",
25
25
  "typescript": "^4.9.5"
26
26
  },
27
27
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -57,5 +57,5 @@
57
57
  },
58
58
  "sideEffects": false,
59
59
  "types": "dist/types/index.d.ts",
60
- "version": "2.47.8"
60
+ "version": "2.47.10"
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
- })