@xyo-network/react-node 2.45.0-rc.21 → 2.45.0-rc.23

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.
@@ -15,13 +15,6 @@ const useModule = (nameOrAddressOrFilter) => {
15
15
  (0, react_shared_1.useAsyncEffect)(
16
16
  // eslint-disable-next-line react-hooks/exhaustive-deps
17
17
  (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
- const detachHandler = (args) => {
19
- const eventModule = args.module;
20
- if (eventModule.address === address && mounted()) {
21
- setModule(undefined);
22
- setError(undefined);
23
- }
24
- };
25
18
  try {
26
19
  if (nodeError) {
27
20
  setError(nodeError);
@@ -29,18 +22,39 @@ const useModule = (nameOrAddressOrFilter) => {
29
22
  }
30
23
  else {
31
24
  if (node) {
32
- const emitter = node.module;
25
+ const attachEmitter = node.module;
26
+ const detachEmitter = node.module;
27
+ const attachHandler = (args) => {
28
+ const eventModule = args.module;
29
+ if (eventModule.address === nameOrAddress || ((eventModule === null || eventModule === void 0 ? void 0 : eventModule.config.name) === nameOrAddress && mounted())) {
30
+ setModule(eventModule);
31
+ setError(undefined);
32
+ }
33
+ };
34
+ const detachHandler = (args) => {
35
+ const eventModule = args.module;
36
+ if (eventModule.address === address && mounted()) {
37
+ setModule(undefined);
38
+ setError(undefined);
39
+ }
40
+ };
33
41
  const module = nameOrAddress
34
42
  ? yield node.resolve(nameOrAddress)
35
43
  : (yield node.resolve(filter)).pop();
36
44
  if (mounted()) {
37
- emitter.on('moduleDetached', detachHandler);
45
+ if (module) {
46
+ detachEmitter.on('moduleDetached', detachHandler);
47
+ }
48
+ else {
49
+ attachEmitter.on('moduleAttached', attachHandler);
50
+ }
38
51
  setModule(module);
39
52
  setError(undefined);
40
53
  }
41
54
  return () => {
42
55
  //remove the event handler on unmount
43
- emitter.on('moduleDetached', detachHandler, true);
56
+ attachEmitter.on('moduleAttached', attachHandler, true);
57
+ detachEmitter.on('moduleDetached', detachHandler, true);
44
58
  };
45
59
  }
46
60
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useProvidedWrappedNode = exports.useProvidedNode = void 0;
4
4
  const node_1 = require("@xyo-network/node");
5
+ const react_wallet_1 = require("@xyo-network/react-wallet");
5
6
  const react_1 = require("react");
6
7
  const contexts_1 = require("../contexts");
7
8
  const useProvidedNode = () => {
@@ -10,12 +11,19 @@ const useProvidedNode = () => {
10
11
  };
11
12
  exports.useProvidedNode = useProvidedNode;
12
13
  const useProvidedWrappedNode = (account) => {
14
+ const [providedAccount] = (0, react_wallet_1.useAccount)();
13
15
  const [node] = (0, exports.useProvidedNode)();
14
16
  const [wrappedNode, setWrappedNode] = (0, react_1.useState)();
15
17
  const [error, setError] = (0, react_1.useState)();
18
+ const accountToUse = (0, react_1.useMemo)(() => account !== null && account !== void 0 ? account : providedAccount, [account, providedAccount]);
19
+ if (!accountToUse) {
20
+ const error = Error('useProvidedWrappedNode requires either an Account context or account parameter');
21
+ console.error(error.message);
22
+ setError(error);
23
+ }
16
24
  (0, react_1.useEffect)(() => {
17
25
  try {
18
- if (node) {
26
+ if (node && accountToUse) {
19
27
  setWrappedNode(node_1.NodeWrapper.wrap(node, account));
20
28
  setError(undefined);
21
29
  }
@@ -24,7 +32,7 @@ const useProvidedWrappedNode = (account) => {
24
32
  setWrappedNode(undefined);
25
33
  setError(ex);
26
34
  }
27
- }, [node, account]);
35
+ }, [node, account, accountToUse]);
28
36
  return [wrappedNode, error];
29
37
  };
30
38
  exports.useProvidedWrappedNode = useProvidedWrappedNode;
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":";;;AACA,4CAA2D;AAC3D,iCAAuD;AAEvD,0CAAyC;AAElC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,sBAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAEM,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,uBAAe,GAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,EAAE;gBACR,cAAc,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AAlBY,QAAA,sBAAsB,0BAkBlC"}
1
+ {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":";;;AACA,4CAA2D;AAC3D,4DAAsD;AACtD,iCAAgE;AAEhE,0CAAyC;AAElC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,sBAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAEM,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,yBAAU,GAAE,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,uBAAe,GAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;IAE1F,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACrG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;KAChB;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,IAAI,YAAY,EAAE;gBACxB,cAAc,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAEjC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AA3BY,QAAA,sBAAsB,0BA2BlC"}
@@ -2,19 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useWrappedModule = exports.WrappedModuleHookFactory = void 0;
4
4
  const module_1 = require("@xyo-network/module");
5
+ const react_wallet_1 = require("@xyo-network/react-wallet");
5
6
  const react_1 = require("react");
6
7
  const useModule_1 = require("./useModule");
7
8
  const WrappedModuleHookFactory = (wrapperObject) => {
8
9
  return (nameOrAddress, account) => {
10
+ const [providedAccount] = (0, react_wallet_1.useAccount)();
9
11
  const [module, moduleError] = (0, useModule_1.useModule)(nameOrAddress !== null && nameOrAddress !== void 0 ? nameOrAddress : {
10
12
  query: [wrapperObject.requiredQueries],
11
13
  });
12
14
  const [wrapper, setWrapper] = (0, react_1.useState)();
13
15
  const [error, setError] = (0, react_1.useState)();
16
+ const accountToUse = (0, react_1.useMemo)(() => account !== null && account !== void 0 ? account : providedAccount, [account, providedAccount]);
17
+ if (!accountToUse) {
18
+ const error = Error('Module hooks require either an Account context or account parameter');
19
+ console.error(error.message);
20
+ setError(error);
21
+ }
14
22
  (0, react_1.useEffect)(() => {
15
- if (module) {
23
+ if (module && accountToUse) {
16
24
  try {
17
- const wrapper = wrapperObject.wrap(module, account);
25
+ const wrapper = wrapperObject.wrap(module, accountToUse);
18
26
  setWrapper(wrapper);
19
27
  }
20
28
  catch (ex) {
@@ -26,7 +34,7 @@ const WrappedModuleHookFactory = (wrapperObject) => {
26
34
  setWrapper(undefined);
27
35
  setError(moduleError);
28
36
  }
29
- }, [module, account, moduleError]);
37
+ }, [module, account, moduleError, accountToUse]);
30
38
  return [wrapper, error];
31
39
  };
32
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":";;;AAEA,gDAAmD;AACnD,iCAA2C;AAE3C,2CAAuC;AAOhC,MAAM,wBAAwB,GAAG,CAAuD,aAA4C,EAAE,EAAE;IAC7I,OAAO,CAAC,aAAsB,EAAE,OAAyB,EAAmD,EAAE;QAC5G,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAA,qBAAS,EACrC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;QAC3C,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,IAAI,MAAM,EAAE;gBACV,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAmB,CAAA;oBACrE,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAElC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,wBAAwB,4BA2BpC;AAEY,QAAA,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,sBAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":";;;AAEA,gDAAmD;AACnD,4DAAsD;AACtD,iCAAoD;AAEpD,2CAAuC;AAOhC,MAAM,wBAAwB,GAAG,CAAuD,aAA4C,EAAE,EAAE;IAC7I,OAAO,CAAC,aAAsB,EAAE,OAAyB,EAAmD,EAAE;QAC5G,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,yBAAU,GAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAA,qBAAS,EACrC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;YAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;QAED,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAmB,CAAA;oBAC1E,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,wBAAwB,4BAqCpC;AAEY,QAAA,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,sBAAa,CAAC,CAAA"}
package/dist/docs.json CHANGED
@@ -48,7 +48,7 @@
48
48
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
49
49
  "line": 9,
50
50
  "character": 2,
51
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L9"
51
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L9"
52
52
  }
53
53
  ],
54
54
  "type": {
@@ -64,7 +64,7 @@
64
64
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
65
65
  "line": 9,
66
66
  "character": 20,
67
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L9"
67
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L9"
68
68
  }
69
69
  ],
70
70
  "signatures": [
@@ -114,7 +114,7 @@
114
114
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
115
115
  "line": 10,
116
116
  "character": 2,
117
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L10"
117
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L10"
118
118
  }
119
119
  ],
120
120
  "type": {
@@ -136,7 +136,7 @@
136
136
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
137
137
  "line": 11,
138
138
  "character": 2,
139
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L11"
139
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L11"
140
140
  }
141
141
  ],
142
142
  "type": {
@@ -152,7 +152,7 @@
152
152
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
153
153
  "line": 11,
154
154
  "character": 20,
155
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L11"
155
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L11"
156
156
  }
157
157
  ],
158
158
  "signatures": [
@@ -202,7 +202,7 @@
202
202
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
203
203
  "line": 8,
204
204
  "character": 17,
205
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L8"
205
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L8"
206
206
  }
207
207
  ],
208
208
  "extendedTypes": [
@@ -232,7 +232,7 @@
232
232
  "fileName": "packages/modules/packages/node/src/contexts/Node/State.ts",
233
233
  "line": 4,
234
234
  "character": 2,
235
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/State.ts#L4"
235
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/State.ts#L4"
236
236
  }
237
237
  ],
238
238
  "type": {
@@ -256,7 +256,7 @@
256
256
  "fileName": "packages/modules/packages/node/src/contexts/Node/State.ts",
257
257
  "line": 3,
258
258
  "character": 17,
259
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/State.ts#L3"
259
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/State.ts#L3"
260
260
  }
261
261
  ]
262
262
  },
@@ -271,7 +271,7 @@
271
271
  "fileName": "packages/modules/packages/node/src/components/NodeDrawer.tsx",
272
272
  "line": 10,
273
273
  "character": 17,
274
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/components/NodeDrawer.tsx#L10"
274
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/components/NodeDrawer.tsx#L10"
275
275
  }
276
276
  ],
277
277
  "extendedTypes": [
@@ -321,7 +321,7 @@
321
321
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx",
322
322
  "line": 7,
323
323
  "character": 2,
324
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L7"
324
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L7"
325
325
  }
326
326
  ],
327
327
  "type": {
@@ -343,7 +343,7 @@
343
343
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx",
344
344
  "line": 6,
345
345
  "character": 17,
346
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L6"
346
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L6"
347
347
  }
348
348
  ],
349
349
  "extendedTypes": [
@@ -375,7 +375,7 @@
375
375
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts",
376
376
  "line": 5,
377
377
  "character": 2,
378
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L5"
378
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L5"
379
379
  }
380
380
  ],
381
381
  "type": {
@@ -418,7 +418,7 @@
418
418
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts",
419
419
  "line": 6,
420
420
  "character": 2,
421
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L6"
421
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L6"
422
422
  }
423
423
  ],
424
424
  "type": {
@@ -458,7 +458,7 @@
458
458
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts",
459
459
  "line": 4,
460
460
  "character": 17,
461
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L4"
461
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/State.ts#L4"
462
462
  }
463
463
  ],
464
464
  "extendedTypes": [
@@ -488,7 +488,7 @@
488
488
  "fileName": "packages/modules/packages/node/src/contexts/Node/Provider.tsx",
489
489
  "line": 8,
490
490
  "character": 2,
491
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L8"
491
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L8"
492
492
  }
493
493
  ],
494
494
  "type": {
@@ -512,7 +512,7 @@
512
512
  "fileName": "packages/modules/packages/node/src/contexts/Node/Provider.tsx",
513
513
  "line": 7,
514
514
  "character": 17,
515
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L7"
515
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L7"
516
516
  }
517
517
  ]
518
518
  },
@@ -527,7 +527,7 @@
527
527
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/State.ts",
528
528
  "line": 4,
529
529
  "character": 17,
530
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L4"
530
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/State.ts#L4"
531
531
  }
532
532
  ],
533
533
  "indexSignature": {
@@ -572,9 +572,9 @@
572
572
  "sources": [
573
573
  {
574
574
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
575
- "line": 9,
575
+ "line": 10,
576
576
  "character": 2,
577
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L9"
577
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L10"
578
578
  }
579
579
  ],
580
580
  "type": {
@@ -594,9 +594,9 @@
594
594
  "sources": [
595
595
  {
596
596
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
597
- "line": 10,
597
+ "line": 11,
598
598
  "character": 2,
599
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L10"
599
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L11"
600
600
  }
601
601
  ],
602
602
  "type": {
@@ -610,9 +610,9 @@
610
610
  "sources": [
611
611
  {
612
612
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
613
- "line": 10,
613
+ "line": 11,
614
614
  "character": 8,
615
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L10"
615
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L11"
616
616
  }
617
617
  ],
618
618
  "signatures": [
@@ -683,9 +683,9 @@
683
683
  "sources": [
684
684
  {
685
685
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
686
- "line": 8,
686
+ "line": 9,
687
687
  "character": 17,
688
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L8"
688
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L9"
689
689
  }
690
690
  ],
691
691
  "typeParameters": [
@@ -721,7 +721,7 @@
721
721
  "fileName": "packages/modules/packages/node/src/contexts/MemoryProvider.tsx",
722
722
  "line": 8,
723
723
  "character": 12,
724
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L8"
724
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L8"
725
725
  }
726
726
  ],
727
727
  "type": {
@@ -752,7 +752,7 @@
752
752
  "fileName": "packages/modules/packages/node/src/contexts/MemoryProvider.tsx",
753
753
  "line": 9,
754
754
  "character": 2,
755
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L9"
755
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L9"
756
756
  }
757
757
  ],
758
758
  "type": {
@@ -783,7 +783,7 @@
783
783
  "fileName": "packages/modules/packages/node/src/contexts/MemoryProvider.tsx",
784
784
  "line": 10,
785
785
  "character": 2,
786
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L10"
786
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L10"
787
787
  }
788
788
  ],
789
789
  "type": {
@@ -806,7 +806,7 @@
806
806
  "fileName": "packages/modules/packages/node/src/contexts/MemoryProvider.tsx",
807
807
  "line": 8,
808
808
  "character": 51,
809
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L8"
809
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L8"
810
810
  }
811
811
  ]
812
812
  }
@@ -846,7 +846,7 @@
846
846
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/Context.ts",
847
847
  "line": 5,
848
848
  "character": 13,
849
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/Context.ts#L5"
849
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/Context.ts#L5"
850
850
  }
851
851
  ],
852
852
  "type": {
@@ -886,7 +886,7 @@
886
886
  "fileName": "packages/modules/packages/node/src/contexts/Node/Context.ts",
887
887
  "line": 5,
888
888
  "character": 13,
889
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/Context.ts#L5"
889
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/Context.ts#L5"
890
890
  }
891
891
  ],
892
892
  "type": {
@@ -926,7 +926,7 @@
926
926
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/Context.ts",
927
927
  "line": 5,
928
928
  "character": 13,
929
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/Context.ts#L5"
929
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/Context.ts#L5"
930
930
  }
931
931
  ],
932
932
  "type": {
@@ -964,7 +964,7 @@
964
964
  "fileName": "packages/modules/packages/node/src/contexts/MemoryProvider.tsx",
965
965
  "line": 14,
966
966
  "character": 13,
967
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L14"
967
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/MemoryProvider.tsx#L14"
968
968
  }
969
969
  ],
970
970
  "signatures": [
@@ -1040,7 +1040,7 @@
1040
1040
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/Provider.tsx",
1041
1041
  "line": 11,
1042
1042
  "character": 13,
1043
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/Provider.tsx#L11"
1043
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/Provider.tsx#L11"
1044
1044
  }
1045
1045
  ],
1046
1046
  "signatures": [
@@ -1115,7 +1115,7 @@
1115
1115
  "fileName": "packages/modules/packages/node/src/components/Node.tsx",
1116
1116
  "line": 8,
1117
1117
  "character": 13,
1118
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/components/Node.tsx#L8"
1118
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/components/Node.tsx#L8"
1119
1119
  }
1120
1120
  ],
1121
1121
  "signatures": [
@@ -1192,7 +1192,7 @@
1192
1192
  "fileName": "packages/modules/packages/node/src/components/NodeDrawer.tsx",
1193
1193
  "line": 12,
1194
1194
  "character": 13,
1195
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/components/NodeDrawer.tsx#L12"
1195
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/components/NodeDrawer.tsx#L12"
1196
1196
  }
1197
1197
  ],
1198
1198
  "signatures": [
@@ -1268,7 +1268,7 @@
1268
1268
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx",
1269
1269
  "line": 10,
1270
1270
  "character": 13,
1271
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L10"
1271
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/Provider.tsx#L10"
1272
1272
  }
1273
1273
  ],
1274
1274
  "signatures": [
@@ -1344,7 +1344,7 @@
1344
1344
  "fileName": "packages/modules/packages/node/src/contexts/Node/Provider.tsx",
1345
1345
  "line": 11,
1346
1346
  "character": 13,
1347
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L11"
1347
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/Node/Provider.tsx#L11"
1348
1348
  }
1349
1349
  ],
1350
1350
  "signatures": [
@@ -1426,9 +1426,9 @@
1426
1426
  "sources": [
1427
1427
  {
1428
1428
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
1429
- "line": 13,
1429
+ "line": 14,
1430
1430
  "character": 13,
1431
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L13"
1431
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L14"
1432
1432
  }
1433
1433
  ],
1434
1434
  "signatures": [
@@ -1618,9 +1618,9 @@
1618
1618
  "sources": [
1619
1619
  {
1620
1620
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
1621
- "line": 14,
1621
+ "line": 15,
1622
1622
  "character": 9,
1623
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L14"
1623
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L15"
1624
1624
  }
1625
1625
  ],
1626
1626
  "signatures": [
@@ -1712,7 +1712,7 @@
1712
1712
  "fileName": "packages/modules/packages/node/src/hooks/useMemoryNodeUpdates.tsx",
1713
1713
  "line": 13,
1714
1714
  "character": 13,
1715
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useMemoryNodeUpdates.tsx#L13"
1715
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useMemoryNodeUpdates.tsx#L13"
1716
1716
  }
1717
1717
  ],
1718
1718
  "signatures": [
@@ -1758,7 +1758,7 @@
1758
1758
  "fileName": "packages/modules/packages/node/src/hooks/useModule.tsx",
1759
1759
  "line": 8,
1760
1760
  "character": 13,
1761
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useModule.tsx#L8"
1761
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useModule.tsx#L8"
1762
1762
  }
1763
1763
  ],
1764
1764
  "signatures": [
@@ -1969,7 +1969,7 @@
1969
1969
  "fileName": "packages/modules/packages/node/src/contexts/ModuleRepository/use.tsx",
1970
1970
  "line": 5,
1971
1971
  "character": 13,
1972
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/ModuleRepository/use.tsx#L5"
1972
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/ModuleRepository/use.tsx#L5"
1973
1973
  }
1974
1974
  ],
1975
1975
  "signatures": [
@@ -2033,7 +2033,7 @@
2033
2033
  "fileName": "packages/modules/packages/node/src/hooks/useModules.ts",
2034
2034
  "line": 7,
2035
2035
  "character": 13,
2036
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useModules.ts#L7"
2036
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useModules.ts#L7"
2037
2037
  }
2038
2038
  ],
2039
2039
  "signatures": [
@@ -2238,7 +2238,7 @@
2238
2238
  "fileName": "packages/modules/packages/node/src/hooks/useNode.tsx",
2239
2239
  "line": 24,
2240
2240
  "character": 13,
2241
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useNode.tsx#L24"
2241
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useNode.tsx#L24"
2242
2242
  }
2243
2243
  ],
2244
2244
  "signatures": [
@@ -2327,7 +2327,7 @@
2327
2327
  "fileName": "packages/modules/packages/node/src/hooks/useNodeAttachedAddresses.ts",
2328
2328
  "line": 6,
2329
2329
  "character": 13,
2330
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useNodeAttachedAddresses.ts#L6"
2330
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useNodeAttachedAddresses.ts#L6"
2331
2331
  }
2332
2332
  ],
2333
2333
  "signatures": [
@@ -2385,7 +2385,7 @@
2385
2385
  "fileName": "packages/modules/packages/node/src/contexts/NodeDrawerContext/use.tsx",
2386
2386
  "line": 5,
2387
2387
  "character": 13,
2388
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/contexts/NodeDrawerContext/use.tsx#L5"
2388
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/contexts/NodeDrawerContext/use.tsx#L5"
2389
2389
  }
2390
2390
  ],
2391
2391
  "signatures": [
@@ -2447,9 +2447,9 @@
2447
2447
  "sources": [
2448
2448
  {
2449
2449
  "fileName": "packages/modules/packages/node/src/hooks/useProvidedNode.tsx",
2450
- "line": 7,
2450
+ "line": 8,
2451
2451
  "character": 13,
2452
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useProvidedNode.tsx#L7"
2452
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useProvidedNode.tsx#L8"
2453
2453
  }
2454
2454
  ],
2455
2455
  "signatures": [
@@ -2491,9 +2491,9 @@
2491
2491
  "sources": [
2492
2492
  {
2493
2493
  "fileName": "packages/modules/packages/node/src/hooks/useProvidedNode.tsx",
2494
- "line": 13,
2494
+ "line": 14,
2495
2495
  "character": 13,
2496
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useProvidedNode.tsx#L13"
2496
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useProvidedNode.tsx#L14"
2497
2497
  }
2498
2498
  ],
2499
2499
  "signatures": [
@@ -2567,9 +2567,9 @@
2567
2567
  "sources": [
2568
2568
  {
2569
2569
  "fileName": "packages/modules/packages/node/src/hooks/useWrappedModule.tsx",
2570
- "line": 42,
2570
+ "line": 53,
2571
2571
  "character": 13,
2572
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L42"
2572
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/hooks/useWrappedModule.tsx#L53"
2573
2573
  }
2574
2574
  ],
2575
2575
  "signatures": [
@@ -2765,7 +2765,7 @@
2765
2765
  "fileName": "packages/modules/packages/node/src/index.ts",
2766
2766
  "line": 1,
2767
2767
  "character": 0,
2768
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/d6bbfaf7550/packages/modules/packages/node/src/index.ts#L1"
2768
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/8594d14b8b6/packages/modules/packages/node/src/index.ts#L1"
2769
2769
  }
2770
2770
  ]
2771
2771
  }
@@ -11,13 +11,6 @@ export const useModule = (nameOrAddressOrFilter) => {
11
11
  useAsyncEffect(
12
12
  // eslint-disable-next-line react-hooks/exhaustive-deps
13
13
  async (mounted) => {
14
- const detachHandler = (args) => {
15
- const eventModule = args.module;
16
- if (eventModule.address === address && mounted()) {
17
- setModule(undefined);
18
- setError(undefined);
19
- }
20
- };
21
14
  try {
22
15
  if (nodeError) {
23
16
  setError(nodeError);
@@ -25,18 +18,39 @@ export const useModule = (nameOrAddressOrFilter) => {
25
18
  }
26
19
  else {
27
20
  if (node) {
28
- const emitter = node.module;
21
+ const attachEmitter = node.module;
22
+ const detachEmitter = node.module;
23
+ const attachHandler = (args) => {
24
+ const eventModule = args.module;
25
+ if (eventModule.address === nameOrAddress || (eventModule?.config.name === nameOrAddress && mounted())) {
26
+ setModule(eventModule);
27
+ setError(undefined);
28
+ }
29
+ };
30
+ const detachHandler = (args) => {
31
+ const eventModule = args.module;
32
+ if (eventModule.address === address && mounted()) {
33
+ setModule(undefined);
34
+ setError(undefined);
35
+ }
36
+ };
29
37
  const module = nameOrAddress
30
38
  ? await node.resolve(nameOrAddress)
31
39
  : (await node.resolve(filter)).pop();
32
40
  if (mounted()) {
33
- emitter.on('moduleDetached', detachHandler);
41
+ if (module) {
42
+ detachEmitter.on('moduleDetached', detachHandler);
43
+ }
44
+ else {
45
+ attachEmitter.on('moduleAttached', attachHandler);
46
+ }
34
47
  setModule(module);
35
48
  setError(undefined);
36
49
  }
37
50
  return () => {
38
51
  //remove the event handler on unmount
39
- emitter.on('moduleDetached', detachHandler, true);
52
+ attachEmitter.on('moduleAttached', attachHandler, true);
53
+ detachEmitter.on('moduleDetached', detachHandler, true);
40
54
  };
41
55
  }
42
56
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,25 @@
1
1
  import { NodeWrapper } from '@xyo-network/node';
2
- import { useContext, useEffect, useState } from 'react';
2
+ import { useAccount } from '@xyo-network/react-wallet';
3
+ import { useContext, useEffect, useMemo, useState } from 'react';
3
4
  import { NodeContext } from '../contexts';
4
5
  export const useProvidedNode = () => {
5
6
  const { node } = useContext(NodeContext);
6
7
  return [node];
7
8
  };
8
9
  export const useProvidedWrappedNode = (account) => {
10
+ const [providedAccount] = useAccount();
9
11
  const [node] = useProvidedNode();
10
12
  const [wrappedNode, setWrappedNode] = useState();
11
13
  const [error, setError] = useState();
14
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount]);
15
+ if (!accountToUse) {
16
+ const error = Error('useProvidedWrappedNode requires either an Account context or account parameter');
17
+ console.error(error.message);
18
+ setError(error);
19
+ }
12
20
  useEffect(() => {
13
21
  try {
14
- if (node) {
22
+ if (node && accountToUse) {
15
23
  setWrappedNode(NodeWrapper.wrap(node, account));
16
24
  setError(undefined);
17
25
  }
@@ -20,7 +28,7 @@ export const useProvidedWrappedNode = (account) => {
20
28
  setWrappedNode(undefined);
21
29
  setError(ex);
22
30
  }
23
- }, [node, account]);
31
+ }, [node, account, accountToUse]);
24
32
  return [wrappedNode, error];
25
33
  };
26
34
  //# sourceMappingURL=useProvidedNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,EAAE;gBACR,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA"}
1
+ {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;IAE1F,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACrG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;KAChB;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,IAAI,YAAY,EAAE;gBACxB,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAEjC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -1,17 +1,25 @@
1
1
  import { ModuleWrapper } from '@xyo-network/module';
2
- import { useEffect, useState } from 'react';
2
+ import { useAccount } from '@xyo-network/react-wallet';
3
+ import { useEffect, useMemo, useState } from 'react';
3
4
  import { useModule } from './useModule';
4
5
  export const WrappedModuleHookFactory = (wrapperObject) => {
5
6
  return (nameOrAddress, account) => {
7
+ const [providedAccount] = useAccount();
6
8
  const [module, moduleError] = useModule(nameOrAddress ?? {
7
9
  query: [wrapperObject.requiredQueries],
8
10
  });
9
11
  const [wrapper, setWrapper] = useState();
10
12
  const [error, setError] = useState();
13
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount]);
14
+ if (!accountToUse) {
15
+ const error = Error('Module hooks require either an Account context or account parameter');
16
+ console.error(error.message);
17
+ setError(error);
18
+ }
11
19
  useEffect(() => {
12
- if (module) {
20
+ if (module && accountToUse) {
13
21
  try {
14
- const wrapper = wrapperObject.wrap(module, account);
22
+ const wrapper = wrapperObject.wrap(module, accountToUse);
15
23
  setWrapper(wrapper);
16
24
  }
17
25
  catch (ex) {
@@ -23,7 +31,7 @@ export const WrappedModuleHookFactory = (wrapperObject) => {
23
31
  setWrapper(undefined);
24
32
  setError(moduleError);
25
33
  }
26
- }, [module, account, moduleError]);
34
+ }, [module, account, moduleError, accountToUse]);
27
35
  return [wrapper, error];
28
36
  };
29
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAOvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAuD,aAA4C,EAAE,EAAE;IAC7I,OAAO,CAAC,aAAsB,EAAE,OAAyB,EAAmD,EAAE;QAC5G,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAC3C,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,EAAE;gBACV,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAmB,CAAA;oBACrE,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAElC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAOvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAuD,aAA4C,EAAE,EAAE;IAC7I,OAAO,CAAC,aAAsB,EAAE,OAAyB,EAAmD,EAAE;QAC5G,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;YAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;QAED,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAmB,CAAA;oBAC1E,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMhE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;4BACI,MAAM,GAAG,YAAY,6CAwD9C,CAAA"}
1
+ {"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMhE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;4BACI,MAAM,GAAG,YAAY,6CAuE9C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,eAAO,MAAM,eAAe,QAAO,CAAC,UAAU,GAAG,SAAS,CAIzD,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,eAAe,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAkB7G,CAAA"}
1
+ {"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM3D,eAAO,MAAM,eAAe,QAAO,CAAC,UAAU,GAAG,SAAS,CAIzD,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,eAAe,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA2B7G,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAKnD,MAAM,WAAW,aAAa,CAAC,cAAc,SAAS,aAAa,GAAG,aAAa;IACjF,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,cAAc,CAAA;CACvF;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;uEACX,MAAM,YAAY,eAAe,oDA0B1D,CAAA;AAED,eAAO,MAAM,gBAAgB,mBA5BH,MAAM,YAAY,eAAe;;;;;;;;;;mCA4BY,CAAA"}
1
+ {"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMnD,MAAM,WAAW,aAAa,CAAC,cAAc,SAAS,aAAa,GAAG,aAAa;IACjF,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,cAAc,CAAA;CACvF;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;uEACX,MAAM,YAAY,eAAe,oDAoC1D,CAAA;AAED,eAAO,MAAM,gBAAgB,mBAtCH,MAAM,YAAY,eAAe;;;;;;;;;;mCAsCY,CAAA"}
package/package.json CHANGED
@@ -10,14 +10,15 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@mui/lab": "^5.0.0-alpha.121",
14
- "@xylabs/react-flexbox": "^2.16.8",
15
- "@xylabs/react-shared": "^2.16.8",
13
+ "@mui/lab": "^5.0.0-alpha.122",
14
+ "@xylabs/react-flexbox": "^2.16.9",
15
+ "@xylabs/react-shared": "^2.16.9",
16
16
  "@xyo-network/account-model": "^2.51.4",
17
17
  "@xyo-network/module": "^2.51.4",
18
18
  "@xyo-network/module-model": "^2.51.4",
19
19
  "@xyo-network/node": "^2.51.4",
20
- "@xyo-network/react-shared": "^2.45.0-rc.21"
20
+ "@xyo-network/react-shared": "^2.45.0-rc.23",
21
+ "@xyo-network/react-wallet": "^2.45.0-rc.23"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@storybook/react": "^6.5.16",
@@ -78,6 +79,6 @@
78
79
  },
79
80
  "sideEffects": false,
80
81
  "types": "dist/types/index.d.ts",
81
- "version": "2.45.0-rc.21",
82
+ "version": "2.45.0-rc.23",
82
83
  "stableVersion": "2.44.1"
83
84
  }
@@ -1,6 +1,6 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { Module, ModuleFilter } from '@xyo-network/module-model'
3
- import { ModuleDetachedEventArgs, ModuleDetachedEventEmitter } from '@xyo-network/node'
3
+ import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleDetachedEventArgs, ModuleDetachedEventEmitter } from '@xyo-network/node'
4
4
  import { useMemo, useState } from 'react'
5
5
 
6
6
  import { useProvidedWrappedNode } from './useProvidedNode'
@@ -13,35 +13,50 @@ export const useModule = <TModule extends Module = Module>(
13
13
  const [node, nodeError] = useProvidedWrappedNode()
14
14
  const [module, setModule] = useState<TModule>()
15
15
  const [error, setError] = useState<Error>()
16
+
16
17
  const address = module?.address
18
+
17
19
  useAsyncEffect(
18
20
  // eslint-disable-next-line react-hooks/exhaustive-deps
19
21
  async (mounted) => {
20
- const detachHandler = (args: ModuleDetachedEventArgs) => {
21
- const eventModule = args.module
22
- if (eventModule.address === address && mounted()) {
23
- setModule(undefined)
24
- setError(undefined)
25
- }
26
- }
27
22
  try {
28
23
  if (nodeError) {
29
24
  setError(nodeError)
30
25
  setModule(undefined)
31
26
  } else {
32
27
  if (node) {
33
- const emitter = node.module as ModuleDetachedEventEmitter
28
+ const attachEmitter = node.module as ModuleAttachedEventEmitter
29
+ const detachEmitter = node.module as ModuleDetachedEventEmitter
30
+ const attachHandler = (args: ModuleAttachedEventArgs) => {
31
+ const eventModule = args.module
32
+ if (eventModule.address === nameOrAddress || (eventModule?.config.name === nameOrAddress && mounted())) {
33
+ setModule(eventModule as TModule)
34
+ setError(undefined)
35
+ }
36
+ }
37
+ const detachHandler = (args: ModuleDetachedEventArgs) => {
38
+ const eventModule = args.module
39
+ if (eventModule.address === address && mounted()) {
40
+ setModule(undefined)
41
+ setError(undefined)
42
+ }
43
+ }
34
44
  const module: TModule | undefined = nameOrAddress
35
45
  ? await node.resolve<TModule>(nameOrAddress)
36
46
  : (await node.resolve<TModule>(filter)).pop()
37
47
  if (mounted()) {
38
- emitter.on('moduleDetached', detachHandler)
48
+ if (module) {
49
+ detachEmitter.on('moduleDetached', detachHandler)
50
+ } else {
51
+ attachEmitter.on('moduleAttached', attachHandler)
52
+ }
39
53
  setModule(module)
40
54
  setError(undefined)
41
55
  }
42
56
  return () => {
43
57
  //remove the event handler on unmount
44
- emitter.on('moduleDetached', detachHandler, true)
58
+ attachEmitter.on('moduleAttached', attachHandler, true)
59
+ detachEmitter.on('moduleDetached', detachHandler, true)
45
60
  }
46
61
  } else {
47
62
  console.log('Setting All to undefined')
@@ -1,6 +1,7 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model'
2
2
  import { NodeModule, NodeWrapper } from '@xyo-network/node'
3
- import { useContext, useEffect, useState } from 'react'
3
+ import { useAccount } from '@xyo-network/react-wallet'
4
+ import { useContext, useEffect, useMemo, useState } from 'react'
4
5
 
5
6
  import { NodeContext } from '../contexts'
6
7
 
@@ -11,13 +12,22 @@ export const useProvidedNode = (): [NodeModule | undefined] => {
11
12
  }
12
13
 
13
14
  export const useProvidedWrappedNode = (account?: AccountInstance): [NodeWrapper | undefined, Error | undefined] => {
15
+ const [providedAccount] = useAccount()
14
16
  const [node] = useProvidedNode()
15
17
  const [wrappedNode, setWrappedNode] = useState<NodeWrapper>()
16
18
  const [error, setError] = useState<Error>()
17
19
 
20
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount])
21
+
22
+ if (!accountToUse) {
23
+ const error = Error('useProvidedWrappedNode requires either an Account context or account parameter')
24
+ console.error(error.message)
25
+ setError(error)
26
+ }
27
+
18
28
  useEffect(() => {
19
29
  try {
20
- if (node) {
30
+ if (node && accountToUse) {
21
31
  setWrappedNode(NodeWrapper.wrap(node, account))
22
32
  setError(undefined)
23
33
  }
@@ -25,7 +35,7 @@ export const useProvidedWrappedNode = (account?: AccountInstance): [NodeWrapper
25
35
  setWrappedNode(undefined)
26
36
  setError(ex as Error)
27
37
  }
28
- }, [node, account])
38
+ }, [node, account, accountToUse])
29
39
 
30
40
  return [wrappedNode, error]
31
41
  }
@@ -1,7 +1,8 @@
1
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
2
  import { AccountInstance } from '@xyo-network/account-model'
3
3
  import { ModuleWrapper } from '@xyo-network/module'
4
- import { useEffect, useState } from 'react'
4
+ import { useAccount } from '@xyo-network/react-wallet'
5
+ import { useEffect, useMemo, useState } from 'react'
5
6
 
6
7
  import { useModule } from './useModule'
7
8
 
@@ -12,6 +13,7 @@ export interface WrapperStatic<TModuleWrapper extends ModuleWrapper = ModuleWrap
12
13
 
13
14
  export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper = ModuleWrapper>(wrapperObject: WrapperStatic<TModuleWrapper>) => {
14
15
  return (nameOrAddress?: string, account?: AccountInstance): [TModuleWrapper | undefined, Error | undefined] => {
16
+ const [providedAccount] = useAccount()
15
17
  const [module, moduleError] = useModule<TModuleWrapper['module']>(
16
18
  nameOrAddress ?? {
17
19
  query: [wrapperObject.requiredQueries],
@@ -20,10 +22,19 @@ export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper =
20
22
 
21
23
  const [wrapper, setWrapper] = useState<TModuleWrapper>()
22
24
  const [error, setError] = useState<Error>()
25
+
26
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount])
27
+
28
+ if (!accountToUse) {
29
+ const error = Error('Module hooks require either an Account context or account parameter')
30
+ console.error(error.message)
31
+ setError(error)
32
+ }
33
+
23
34
  useEffect(() => {
24
- if (module) {
35
+ if (module && accountToUse) {
25
36
  try {
26
- const wrapper = wrapperObject.wrap(module, account) as TModuleWrapper
37
+ const wrapper = wrapperObject.wrap(module, accountToUse) as TModuleWrapper
27
38
  setWrapper(wrapper)
28
39
  } catch (ex) {
29
40
  setWrapper(undefined)
@@ -33,7 +44,7 @@ export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper =
33
44
  setWrapper(undefined)
34
45
  setError(moduleError)
35
46
  }
36
- }, [module, account, moduleError])
47
+ }, [module, account, moduleError, accountToUse])
37
48
 
38
49
  return [wrapper, error]
39
50
  }