@xyo-network/react-standard-node 2.47.46 → 2.48.0-rc.1

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.
@@ -52,6 +52,7 @@ export class MemoryNodeBuilder {
52
52
  const witness = await witnesses?.[index]?.();
53
53
  if (witness) {
54
54
  try {
55
+ await this.witnessCleanup(witness);
55
56
  await this.node.register(witness);
56
57
  await this.node.attach(witness.address, true);
57
58
  }
@@ -77,5 +78,11 @@ export class MemoryNodeBuilder {
77
78
  throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`);
78
79
  }
79
80
  }
81
+ async witnessCleanup(witness) {
82
+ if ((await this.wrappedNode.registered()).includes(witness.address)) {
83
+ const [existingWitness] = await this.wrappedNode.resolve({ address: [witness.address] });
84
+ await this.node.unregister(existingWitness);
85
+ }
86
+ }
80
87
  }
81
88
  //# sourceMappingURL=MemoryNodeBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNodeBuilder.js","sourceRoot":"","sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryNodeBuilder.js","sourceRoot":"","sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,7 @@ export declare class MemoryNodeBuilder {
93
93
  }, "schema">>, import("@xyo-network/sentinel").SentinelModuleEventData>>;
94
94
  addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses?: (() => Promise<WitnessModule>)[]): Promise<void>;
95
95
  private attach;
96
+ private witnessCleanup;
96
97
  }
97
98
  export {};
98
99
  //# sourceMappingURL=MemoryNodeBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNodeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,UAAU,EAAoB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,YAAY,CAAyB;IAE7C,IAAI,IAAI,8GAEP;IAED,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAEd;WAEY,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAc7G,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAO5E,SAAS,CAAC,SAAS,EAAE,MAAM;IAW3B,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5D,YAAY,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,SAAS,GAAE,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,EAAO;YAiBlG,MAAM;CAerB"}
1
+ {"version":3,"file":"MemoryNodeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,UAAU,EAAoB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,YAAY,CAAyB;IAE7C,IAAI,IAAI,8GAEP;IAED,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAEd;WAEY,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAc7G,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAO5E,SAAS,CAAC,SAAS,EAAE,MAAM;IAW3B,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5D,YAAY,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,SAAS,GAAE,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,EAAO;YAkBlG,MAAM;YAgBN,cAAc;CAM7B"}
package/package.json CHANGED
@@ -10,25 +10,25 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-shared": "^2.16.14",
14
- "@xyo-network/account-model": "^2.54.7",
15
- "@xyo-network/archivist": "^2.54.7",
16
- "@xyo-network/bridge": "^2.54.7",
17
- "@xyo-network/module": "^2.54.7",
18
- "@xyo-network/node": "^2.54.7",
19
- "@xyo-network/payloadset-plugin": "^2.54.7",
20
- "@xyo-network/protocol": "^2.54.7",
21
- "@xyo-network/react-network": "^2.47.46",
22
- "@xyo-network/react-node": "^2.47.46",
23
- "@xyo-network/react-shared": "^2.47.46",
24
- "@xyo-network/react-wallet": "^2.47.46",
25
- "@xyo-network/sentinel": "^2.54.7",
26
- "@xyo-network/witness": "^2.54.7"
13
+ "@xylabs/react-shared": "next",
14
+ "@xyo-network/account-model": "next",
15
+ "@xyo-network/archivist": "next",
16
+ "@xyo-network/bridge": "next",
17
+ "@xyo-network/module": "next",
18
+ "@xyo-network/node": "next",
19
+ "@xyo-network/payloadset-plugin": "next",
20
+ "@xyo-network/protocol": "next",
21
+ "@xyo-network/react-network": "^2.48.0-rc.1",
22
+ "@xyo-network/react-node": "^2.48.0-rc.1",
23
+ "@xyo-network/react-shared": "^2.48.0-rc.1",
24
+ "@xyo-network/react-wallet": "^2.48.0-rc.1",
25
+ "@xyo-network/sentinel": "next",
26
+ "@xyo-network/witness": "next"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@storybook/react": "^6.5.16",
30
- "@xylabs/ts-scripts-yarn3": "^2.16.1",
31
- "@xylabs/tsconfig-react": "^2.16.1",
30
+ "@xylabs/ts-scripts-yarn3": "^2.16.4",
31
+ "@xylabs/tsconfig-react": "^2.16.4",
32
32
  "require-from-string": "^2.0.2",
33
33
  "typescript": "^4.9.5"
34
34
  },
@@ -84,5 +84,6 @@
84
84
  },
85
85
  "sideEffects": false,
86
86
  "types": "dist/types/index.d.ts",
87
- "version": "2.47.46"
87
+ "version": "2.48.0-rc.1",
88
+ "stableVersion": "2.47.46"
88
89
  }
@@ -72,6 +72,7 @@ export class MemoryNodeBuilder {
72
72
  const witness = await witnesses?.[index]?.()
73
73
  if (witness) {
74
74
  try {
75
+ await this.witnessCleanup(witness)
75
76
  await this.node.register(witness)
76
77
  await this.node.attach(witness.address, true)
77
78
  } catch (e) {
@@ -97,4 +98,11 @@ export class MemoryNodeBuilder {
97
98
  throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`)
98
99
  }
99
100
  }
101
+
102
+ private async witnessCleanup(witness: WitnessModule) {
103
+ if ((await this.wrappedNode.registered()).includes(witness.address)) {
104
+ const [existingWitness] = await this.wrappedNode.resolve({ address: [witness.address] })
105
+ await this.node.unregister(existingWitness)
106
+ }
107
+ }
100
108
  }