@xyo-network/modules 2.46.1 → 2.46.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/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.46.1",
14
- "@xyo-network/bridge": "^2.46.1",
15
- "@xyo-network/diviner": "^2.46.1",
16
- "@xyo-network/module": "^2.46.1",
17
- "@xyo-network/node": "^2.46.1",
18
- "@xyo-network/panel": "^2.46.1",
19
- "@xyo-network/sentinel": "^2.46.1",
20
- "@xyo-network/witness": "^2.46.1"
13
+ "@xyo-network/archivist": "^2.46.3",
14
+ "@xyo-network/bridge": "^2.46.3",
15
+ "@xyo-network/diviner": "^2.46.3",
16
+ "@xyo-network/module": "^2.46.3",
17
+ "@xyo-network/node": "^2.46.3",
18
+ "@xyo-network/panel": "^2.46.3",
19
+ "@xyo-network/sentinel": "^2.46.3",
20
+ "@xyo-network/witness": "^2.46.3"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@xylabs/ts-scripts-yarn3": "^2.14.15",
@@ -57,5 +57,5 @@
57
57
  },
58
58
  "sideEffects": false,
59
59
  "types": "dist/types/index.d.ts",
60
- "version": "2.46.1"
60
+ "version": "2.46.3"
61
61
  }
@@ -8,12 +8,14 @@ describe('MultiNodeConfiguration', () => {
8
8
  let primaryArchivist: AbstractModule
9
9
  let primaryNode: MemoryNode
10
10
 
11
- let leftArchivist: AbstractModule
11
+ let leftInternalArchivist: AbstractModule
12
+ let leftExternalArchivist: AbstractModule
12
13
  let leftDiviner: AbstractModule
13
14
  let leftNode: MemoryNode
14
15
 
15
16
  let rightNode: MemoryNode
16
- let rightArchivist: AbstractModule
17
+ let rightInternalArchivist: AbstractModule
18
+ let rightExternalArchivist: AbstractModule
17
19
  let rightWitness: AbstractModule
18
20
 
19
21
  beforeAll(async () => {
@@ -22,17 +24,21 @@ describe('MultiNodeConfiguration', () => {
22
24
  await primaryNode.register(primaryArchivist).attach(primaryArchivist.address, true)
23
25
 
24
26
  rightNode = await MemoryNode.create({ config: { name: 'rightNode', schema: NodeConfigSchema } })
25
- rightArchivist = await MemoryArchivist.create()
27
+ rightInternalArchivist = await MemoryArchivist.create({ config: { name: 'rightInternalArchivist', schema: MemoryArchivistConfigSchema } })
28
+ rightExternalArchivist = await MemoryArchivist.create({ config: { name: 'archivist', schema: MemoryArchivistConfigSchema } })
26
29
  rightWitness = await IdWitness.create({ config: { name: 'rightWitness', salt: 'test', schema: IdWitnessConfigSchema } })
27
- await rightNode.register(rightArchivist).attach(rightArchivist.address, true)
30
+ await rightNode.register(rightInternalArchivist).attach(rightInternalArchivist.address)
31
+ await rightNode.register(rightExternalArchivist).attach(rightExternalArchivist.address, true)
28
32
  await rightNode.register(rightWitness).attach(rightWitness.address, true)
29
33
 
30
34
  leftNode = await MemoryNode.create({ config: { name: 'leftNode', schema: NodeConfigSchema } })
31
- leftArchivist = await MemoryArchivist.create({ config: { name: 'leftArchivist', schema: MemoryArchivistConfigSchema } })
35
+ leftInternalArchivist = await MemoryArchivist.create({ config: { name: 'leftInternalArchivist', schema: MemoryArchivistConfigSchema } })
36
+ leftExternalArchivist = await MemoryArchivist.create({ config: { name: 'archivist', schema: MemoryArchivistConfigSchema } })
32
37
  leftDiviner = await MemoryAddressHistoryDiviner.create({
33
38
  config: { address: leftNode.address, name: 'leftDiviner', schema: MemoryAddressHistoryDivinerConfigSchema },
34
39
  })
35
- await leftNode.register(leftArchivist).attach(leftArchivist.address, true)
40
+ await leftNode.register(leftInternalArchivist).attach(leftInternalArchivist.address)
41
+ await leftNode.register(leftExternalArchivist).attach(leftExternalArchivist.address, true)
36
42
  await leftNode.register(leftDiviner).attach(leftDiviner.address, true)
37
43
 
38
44
  primaryNode.register(leftNode)
@@ -47,9 +53,23 @@ describe('MultiNodeConfiguration', () => {
47
53
  expect((await leftNode.resolve({ address: [leftDiviner.address] })).length).toBe(1)
48
54
  expect((await leftNode.resolve({ name: ['leftDiviner'] })).length).toBe(1)
49
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
+
50
63
  expect((await rightNode.resolve({ address: [rightWitness.address] })).length).toBe(1)
51
64
  expect((await rightNode.resolve({ name: ['rightWitness'] })).length).toBe(1)
52
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
+
53
73
  expect((await primaryNode.resolve({ address: [leftNode.address] })).length).toBe(1)
54
74
  expect((await primaryNode.resolve({ name: ['leftNode'] })).length).toBe(1)
55
75
 
@@ -61,6 +81,24 @@ describe('MultiNodeConfiguration', () => {
61
81
 
62
82
  expect((await primaryNode.resolve({ address: [rightWitness.address] })).length).toBe(0)
63
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)
64
102
  })
65
103
 
66
104
  test('rightNode', async () => {
@@ -73,5 +111,31 @@ describe('MultiNodeConfiguration', () => {
73
111
  expect((await primaryNode.resolve({ address: [leftNode.address] })).length).toBe(0)
74
112
  expect((await primaryNode.resolve({ address: [rightWitness.address] })).length).toBe(1)
75
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)
76
140
  })
77
141
  })