@xyo-network/react-standard-node 2.47.45 → 2.47.47

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.
@@ -14,13 +14,7 @@ export class MemoryNodeBuilder {
14
14
  }
15
15
  static async create({ name, node }, account) {
16
16
  const instance = new this();
17
- let memoryNode;
18
- if (node) {
19
- memoryNode = node;
20
- }
21
- else {
22
- memoryNode = await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } });
23
- }
17
+ const memoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }));
24
18
  instance._node = memoryNode;
25
19
  instance._wrappedNode = NodeWrapper.wrap(memoryNode);
26
20
  return instance;
@@ -52,6 +46,7 @@ export class MemoryNodeBuilder {
52
46
  const witness = await witnesses?.[index]?.();
53
47
  if (witness) {
54
48
  try {
49
+ await this.witnessCleanup(witness);
55
50
  await this.node.register(witness);
56
51
  await this.node.attach(witness.address, true);
57
52
  }
@@ -77,5 +72,11 @@ export class MemoryNodeBuilder {
77
72
  throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`);
78
73
  }
79
74
  }
75
+ async witnessCleanup(witness) {
76
+ if ((await this.wrappedNode.registered()).includes(witness.address)) {
77
+ const [existingWitness] = await this.wrappedNode.resolve({ address: [witness.address] });
78
+ await this.node.unregister(existingWitness);
79
+ }
80
+ }
80
81
  }
81
82
  //# 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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"}
@@ -1,5 +1,5 @@
1
1
  import { assertDefinedEx } from '@xyo-network/react-shared';
2
- import { MemorySentinel, SentinelConfigSchema } from '@xyo-network/sentinel';
2
+ import { MemorySentinel } from '@xyo-network/sentinel';
3
3
  export class SentinelBuilder {
4
4
  config;
5
5
  account;
@@ -24,10 +24,7 @@ export class SentinelBuilder {
24
24
  buildParams() {
25
25
  return {
26
26
  account: this.account,
27
- config: {
28
- ...this.config,
29
- schema: SentinelConfigSchema,
30
- },
27
+ config: this.config,
31
28
  };
32
29
  }
33
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelBuilder.js","sourceRoot":"","sources":["../../../../src/lib/Builders/SentinelBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAkB,MAAM,uBAAuB,CAAA;AAO5F,MAAM,OAAO,eAAe;IAGI;IAAuC;IAF7D,SAAS,CAA4B;IAE7C,YAA8B,MAA6B,EAAU,OAAwB;QAA/D,WAAM,GAAN,MAAM,CAAuB;QAAU,YAAO,GAAP,OAAO,CAAiB;QAC3F,eAAe,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAA6B,EAAE,OAAwB;QACzE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,QAAQ,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAA;QACnD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACjC,OAAO,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAmB,CAAA;IAChE,CAAC;IAEO,WAAW;QACjB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,MAAM;gBACd,MAAM,EAAE,oBAAoB;aAC7B;SACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"SentinelBuilder.js","sourceRoot":"","sources":["../../../../src/lib/Builders/SentinelBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAkC,MAAM,uBAAuB,CAAA;AAEtF,MAAM,OAAO,eAAe;IAGI;IAAgC;IAFtD,SAAS,CAA4B;IAE7C,YAA8B,MAAsB,EAAU,OAAwB;QAAxD,WAAM,GAAN,MAAM,CAAgB;QAAU,YAAO,GAAP,OAAO,CAAiB;QACpF,eAAe,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAsB,EAAE,OAAwB;QAClE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,QAAQ,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAA;QACnD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACjC,OAAO,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAmB,CAAA;IAChE,CAAC;IAEO,WAAW;QACjB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
2
  import { MemoryNode, NodeWrapper } from '@xyo-network/node';
3
3
  import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin';
4
+ import { SentinelConfig } from '@xyo-network/sentinel';
4
5
  import { WitnessModule } from '@xyo-network/witness';
5
- import { SentinelBuilderConfig } from './SentinelBuilder';
6
6
  interface MemoryNodeBuilderConfig {
7
7
  name?: string;
8
8
  node?: MemoryNode;
@@ -44,7 +44,7 @@ export declare class MemoryNodeBuilder {
44
44
  static create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder>;
45
45
  addArchivist(account: AccountInstance, moduleName: string, namespace: string): Promise<void>;
46
46
  addBridge(apiDomain: string): Promise<void>;
47
- addSentinel(config: SentinelBuilderConfig, account: AccountInstance): Promise<import("@xyo-network/sentinel").MemorySentinel<import("@xyo-network/sentinel").MemorySentinelParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
47
+ addSentinel(config: SentinelConfig, account: AccountInstance): Promise<import("@xyo-network/sentinel").MemorySentinel<import("@xyo-network/sentinel").MemorySentinelParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
48
48
  name?: string | undefined;
49
49
  paging?: Record<string, {
50
50
  size?: number | undefined;
@@ -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,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAmB,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAG1E,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,qBAAqB,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMnE,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;IAS7G,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"}
@@ -1,14 +1,10 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
- import { MemorySentinel } from '@xyo-network/sentinel';
3
- export interface SentinelBuilderConfig {
4
- name: string;
5
- witnesses: string[];
6
- }
2
+ import { MemorySentinel, SentinelConfig } from '@xyo-network/sentinel';
7
3
  export declare class SentinelBuilder {
8
4
  private config;
9
5
  private account;
10
6
  private _sentinel;
11
- protected constructor(config: SentinelBuilderConfig, account: AccountInstance);
7
+ protected constructor(config: SentinelConfig, account: AccountInstance);
12
8
  get sentinel(): MemorySentinel<import("@xyo-network/sentinel").MemorySentinelParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
9
  name?: string | undefined;
14
10
  paging?: Record<string, {
@@ -56,7 +52,7 @@ export declare class SentinelBuilder {
56
52
  }, "schema">, "schema"> & {
57
53
  schema: string;
58
54
  }, "schema">>, import("@xyo-network/sentinel").SentinelModuleEventData>;
59
- static create(config: SentinelBuilderConfig, account: AccountInstance): Promise<SentinelBuilder>;
55
+ static create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder>;
60
56
  buildSentinel(): Promise<MemorySentinel<import("@xyo-network/sentinel").MemorySentinelParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
61
57
  name?: string | undefined;
62
58
  paging?: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/Builders/SentinelBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAwC,MAAM,uBAAuB,CAAA;AAE5F,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,qBAAa,eAAe;IAGJ,OAAO,CAAC,MAAM;IAAyB,OAAO,CAAC,OAAO;IAF5E,OAAO,CAAC,SAAS,CAA4B;IAE7C,SAAS,aAAqB,MAAM,EAAE,qBAAqB,EAAU,OAAO,EAAE,eAAe;IAI7F,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAEX;WAEY,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAMhG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnB,OAAO,CAAC,WAAW;CASpB"}
1
+ {"version":3,"file":"SentinelBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/Builders/SentinelBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAA;AAEtF,qBAAa,eAAe;IAGJ,OAAO,CAAC,MAAM;IAAkB,OAAO,CAAC,OAAO;IAFrE,OAAO,CAAC,SAAS,CAA4B;IAE7C,SAAS,aAAqB,MAAM,EAAE,cAAc,EAAU,OAAO,EAAE,eAAe;IAItF,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAEX;WAEY,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAMzF,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnB,OAAO,CAAC,WAAW;CAMpB"}
package/package.json CHANGED
@@ -18,10 +18,10 @@
18
18
  "@xyo-network/node": "^2.54.7",
19
19
  "@xyo-network/payloadset-plugin": "^2.54.7",
20
20
  "@xyo-network/protocol": "^2.54.7",
21
- "@xyo-network/react-network": "^2.47.45",
22
- "@xyo-network/react-node": "^2.47.45",
23
- "@xyo-network/react-shared": "^2.47.45",
24
- "@xyo-network/react-wallet": "^2.47.45",
21
+ "@xyo-network/react-network": "^2.47.47",
22
+ "@xyo-network/react-node": "^2.47.47",
23
+ "@xyo-network/react-shared": "^2.47.47",
24
+ "@xyo-network/react-wallet": "^2.47.47",
25
25
  "@xyo-network/sentinel": "^2.54.7",
26
26
  "@xyo-network/witness": "^2.54.7"
27
27
  },
@@ -84,5 +84,5 @@
84
84
  },
85
85
  "sideEffects": false,
86
86
  "types": "dist/types/index.d.ts",
87
- "version": "2.47.45"
87
+ "version": "2.47.47"
88
88
  }
@@ -4,9 +4,10 @@ import { Module } from '@xyo-network/module'
4
4
  import { MemoryNode, NodeConfigSchema, NodeWrapper } from '@xyo-network/node'
5
5
  import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
6
6
  import { assertDefinedEx } from '@xyo-network/react-shared'
7
+ import { SentinelConfig } from '@xyo-network/sentinel'
7
8
  import { WitnessModule } from '@xyo-network/witness'
8
9
 
9
- import { SentinelBuilder, SentinelBuilderConfig } from './SentinelBuilder'
10
+ import { SentinelBuilder } from './SentinelBuilder'
10
11
  import { StorageArchivistBuilder } from './StorageArchivistBuilder'
11
12
 
12
13
  interface MemoryNodeBuilderConfig {
@@ -29,12 +30,7 @@ export class MemoryNodeBuilder {
29
30
  static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {
30
31
  const instance = new this()
31
32
 
32
- let memoryNode: MemoryNode
33
- if (node) {
34
- memoryNode = node
35
- } else {
36
- memoryNode = await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } })
37
- }
33
+ const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))
38
34
  instance._node = memoryNode
39
35
  instance._wrappedNode = NodeWrapper.wrap(memoryNode)
40
36
  return instance
@@ -58,7 +54,7 @@ export class MemoryNodeBuilder {
58
54
  }
59
55
  }
60
56
 
61
- async addSentinel(config: SentinelBuilderConfig, account: AccountInstance) {
57
+ async addSentinel(config: SentinelConfig, account: AccountInstance) {
62
58
  const { sentinel } = await SentinelBuilder.create(config, account)
63
59
  await this.attach(sentinel, true, true)
64
60
  return sentinel
@@ -71,6 +67,7 @@ export class MemoryNodeBuilder {
71
67
  const witness = await witnesses?.[index]?.()
72
68
  if (witness) {
73
69
  try {
70
+ await this.witnessCleanup(witness)
74
71
  await this.node.register(witness)
75
72
  await this.node.attach(witness.address, true)
76
73
  } catch (e) {
@@ -96,4 +93,11 @@ export class MemoryNodeBuilder {
96
93
  throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`)
97
94
  }
98
95
  }
96
+
97
+ private async witnessCleanup(witness: WitnessModule) {
98
+ if ((await this.wrappedNode.registered()).includes(witness.address)) {
99
+ const [existingWitness] = await this.wrappedNode.resolve({ address: [witness.address] })
100
+ await this.node.unregister(existingWitness)
101
+ }
102
+ }
99
103
  }
@@ -1,16 +1,11 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model'
2
2
  import { assertDefinedEx } from '@xyo-network/react-shared'
3
- import { MemorySentinel, SentinelConfigSchema, SentinelParams } from '@xyo-network/sentinel'
4
-
5
- export interface SentinelBuilderConfig {
6
- name: string
7
- witnesses: string[]
8
- }
3
+ import { MemorySentinel, SentinelConfig, SentinelParams } from '@xyo-network/sentinel'
9
4
 
10
5
  export class SentinelBuilder {
11
6
  private _sentinel: MemorySentinel | undefined
12
7
 
13
- protected constructor(private config: SentinelBuilderConfig, private account: AccountInstance) {
8
+ protected constructor(private config: SentinelConfig, private account: AccountInstance) {
14
9
  assertDefinedEx(config, 'config was not defined')
15
10
  }
16
11
 
@@ -18,7 +13,7 @@ export class SentinelBuilder {
18
13
  return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')
19
14
  }
20
15
 
21
- static async create(config: SentinelBuilderConfig, account: AccountInstance): Promise<SentinelBuilder> {
16
+ static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {
22
17
  const instance = new this(config, account)
23
18
  instance._sentinel = await instance.buildSentinel()
24
19
  return instance
@@ -32,10 +27,7 @@ export class SentinelBuilder {
32
27
  private buildParams(): SentinelParams {
33
28
  return {
34
29
  account: this.account,
35
- config: {
36
- ...this.config,
37
- schema: SentinelConfigSchema,
38
- },
30
+ config: this.config,
39
31
  }
40
32
  }
41
33
  }