@xyo-network/react-standard-node 2.81.9 → 2.82.0
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/dist/browser/components/ActiveStandardNode.d.cts +1 -0
- package/dist/browser/components/ActiveStandardNode.d.cts.map +1 -1
- package/dist/browser/components/ActiveStandardNode.d.mts +1 -0
- package/dist/browser/components/ActiveStandardNode.d.mts.map +1 -1
- package/dist/browser/components/ActiveStandardNode.d.ts +1 -0
- package/dist/browser/components/ActiveStandardNode.d.ts.map +1 -1
- package/dist/browser/components/index.d.cts +1 -1
- package/dist/browser/components/index.d.cts.map +1 -1
- package/dist/browser/components/index.d.mts +1 -1
- package/dist/browser/components/index.d.mts.map +1 -1
- package/dist/browser/components/index.d.ts +1 -1
- package/dist/browser/components/index.d.ts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Context.d.cts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Context.d.mts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Context.d.ts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/index.d.cts +4 -4
- package/dist/browser/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/index.d.mts +4 -4
- package/dist/browser/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/index.d.ts +4 -4
- package/dist/browser/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.cts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.mts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.ts +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
- package/dist/browser/contexts/index.d.cts +1 -1
- package/dist/browser/contexts/index.d.mts +1 -1
- package/dist/browser/contexts/index.d.ts +1 -1
- package/dist/browser/hooks/index.d.cts +1 -1
- package/dist/browser/hooks/index.d.mts +1 -1
- package/dist/browser/hooks/index.d.ts +1 -1
- package/dist/browser/index.cjs +184 -100
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +4 -4
- package/dist/browser/index.d.mts +4 -4
- package/dist/browser/index.d.ts +4 -4
- package/dist/browser/{index.js → index.mjs} +179 -103
- package/dist/browser/index.mjs.map +1 -0
- package/dist/browser/lib/Builders/index.d.cts +3 -3
- package/dist/browser/lib/Builders/index.d.mts +3 -3
- package/dist/browser/lib/Builders/index.d.ts +3 -3
- package/dist/browser/lib/index.d.cts +4 -4
- package/dist/browser/lib/index.d.mts +4 -4
- package/dist/browser/lib/index.d.ts +4 -4
- package/dist/neutral/components/ActiveStandardNode.d.cts +1 -0
- package/dist/neutral/components/ActiveStandardNode.d.cts.map +1 -1
- package/dist/neutral/components/ActiveStandardNode.d.mts +1 -0
- package/dist/neutral/components/ActiveStandardNode.d.mts.map +1 -1
- package/dist/neutral/components/ActiveStandardNode.d.ts +1 -0
- package/dist/neutral/components/ActiveStandardNode.d.ts.map +1 -1
- package/dist/neutral/components/index.d.cts +1 -1
- package/dist/neutral/components/index.d.cts.map +1 -1
- package/dist/neutral/components/index.d.mts +1 -1
- package/dist/neutral/components/index.d.mts.map +1 -1
- package/dist/neutral/components/index.d.ts +1 -1
- package/dist/neutral/components/index.d.ts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Context.d.cts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Context.d.mts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Context.d.ts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
- package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.cts +4 -4
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.mts +4 -4
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.ts +4 -4
- package/dist/neutral/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.cts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.mts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.ts +1 -1
- package/dist/neutral/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
- package/dist/neutral/contexts/index.d.cts +1 -1
- package/dist/neutral/contexts/index.d.mts +1 -1
- package/dist/neutral/contexts/index.d.ts +1 -1
- package/dist/neutral/hooks/index.d.cts +1 -1
- package/dist/neutral/hooks/index.d.mts +1 -1
- package/dist/neutral/hooks/index.d.ts +1 -1
- package/dist/neutral/index.cjs +184 -100
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.d.cts +4 -4
- package/dist/neutral/index.d.mts +4 -4
- package/dist/neutral/index.d.ts +4 -4
- package/dist/neutral/{index.js → index.mjs} +179 -103
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/neutral/lib/Builders/index.d.cts +3 -3
- package/dist/neutral/lib/Builders/index.d.mts +3 -3
- package/dist/neutral/lib/Builders/index.d.ts +3 -3
- package/dist/neutral/lib/index.d.cts +4 -4
- package/dist/neutral/lib/index.d.mts +4 -4
- package/dist/neutral/lib/index.d.ts +4 -4
- package/dist/node/components/ActiveStandardNode.d.cts +1 -0
- package/dist/node/components/ActiveStandardNode.d.cts.map +1 -1
- package/dist/node/components/ActiveStandardNode.d.mts +1 -0
- package/dist/node/components/ActiveStandardNode.d.mts.map +1 -1
- package/dist/node/components/ActiveStandardNode.d.ts +1 -0
- package/dist/node/components/ActiveStandardNode.d.ts.map +1 -1
- package/dist/node/components/index.d.cts +1 -1
- package/dist/node/components/index.d.cts.map +1 -1
- package/dist/node/components/index.d.mts +1 -1
- package/dist/node/components/index.d.mts.map +1 -1
- package/dist/node/components/index.d.ts +1 -1
- package/dist/node/components/index.d.ts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Context.d.cts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Context.d.mts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Context.d.ts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/index.d.cts +4 -4
- package/dist/node/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/index.d.mts +4 -4
- package/dist/node/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/index.d.ts +4 -4
- package/dist/node/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.cts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.mts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.ts +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
- package/dist/node/contexts/index.d.cts +1 -1
- package/dist/node/contexts/index.d.mts +1 -1
- package/dist/node/contexts/index.d.ts +1 -1
- package/dist/node/hooks/index.d.cts +1 -1
- package/dist/node/hooks/index.d.mts +1 -1
- package/dist/node/hooks/index.d.ts +1 -1
- package/dist/node/index.cjs +187 -106
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +4 -4
- package/dist/node/index.d.mts +4 -4
- package/dist/node/index.d.ts +4 -4
- package/dist/node/{index.js → index.mjs} +182 -109
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/lib/Builders/index.d.cts +3 -3
- package/dist/node/lib/Builders/index.d.mts +3 -3
- package/dist/node/lib/Builders/index.d.ts +3 -3
- package/dist/node/lib/index.d.cts +4 -4
- package/dist/node/lib/index.d.mts +4 -4
- package/dist/node/lib/index.d.ts +4 -4
- package/package.json +29 -29
- package/src/components/ActiveStandardNode.tsx +3 -4
- package/src/components/index.ts +1 -1
- package/src/contexts/StandardRemoteNodes/Context.ts +1 -1
- package/src/contexts/StandardRemoteNodes/Providers.tsx +12 -11
- package/src/contexts/StandardRemoteNodes/index.ts +4 -4
- package/src/contexts/StandardRemoteNodes/{use.tsx → use.ts} +1 -1
- package/src/contexts/index.ts +1 -1
- package/src/hooks/index.ts +1 -1
- package/src/hooks/useActiveNodeAddress.ts +1 -1
- package/src/index.ts +4 -4
- package/src/lib/Builders/MemoryNodeBuilder.ts +2 -2
- package/src/lib/Builders/index.ts +3 -3
- package/src/lib/ModuleAccountPaths.ts +1 -1
- package/src/lib/buildNodes.ts +5 -5
- package/src/lib/index.ts +4 -4
- package/dist/browser/index.js.map +0 -1
- package/dist/neutral/index.js.map +0 -1
- package/dist/node/index.js.map +0 -1
package/dist/node/index.cjs
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
9
|
var __export = (target, all) => {
|
|
7
10
|
for (var name in all)
|
|
8
11
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
18
|
}
|
|
16
19
|
return to;
|
|
17
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
18
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
30
|
|
|
20
31
|
// src/index.ts
|
|
@@ -42,7 +53,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
42
53
|
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
43
54
|
var import_react_network2 = require("@xyo-network/react-network");
|
|
44
55
|
var import_react_node2 = require("@xyo-network/react-node");
|
|
45
|
-
var import_react3 = require("react");
|
|
56
|
+
var import_react3 = __toESM(require("react"), 1);
|
|
46
57
|
|
|
47
58
|
// src/contexts/StandardRemoteNodes/Context.ts
|
|
48
59
|
var import_react_shared = require("@xyo-network/react-shared");
|
|
@@ -52,7 +63,7 @@ var StandardNodesContext = (0, import_react_shared.createContextEx)();
|
|
|
52
63
|
var import_react_promise = require("@xylabs/react-promise");
|
|
53
64
|
var import_react_shared6 = require("@xyo-network/react-shared");
|
|
54
65
|
var import_react_wallet = require("@xyo-network/react-wallet");
|
|
55
|
-
var import_react = require("react");
|
|
66
|
+
var import_react = __toESM(require("react"), 1);
|
|
56
67
|
|
|
57
68
|
// src/lib/Builders/MemoryNodeBuilder.ts
|
|
58
69
|
var import_archivist_memory = require("@xyo-network/archivist-memory");
|
|
@@ -64,13 +75,15 @@ var import_react_shared4 = require("@xyo-network/react-shared");
|
|
|
64
75
|
// src/lib/Builders/SentinelBuilder.ts
|
|
65
76
|
var import_react_shared2 = require("@xyo-network/react-shared");
|
|
66
77
|
var import_sentinel_memory = require("@xyo-network/sentinel-memory");
|
|
67
|
-
var
|
|
78
|
+
var _SentinelBuilder = class _SentinelBuilder {
|
|
79
|
+
config;
|
|
80
|
+
account;
|
|
81
|
+
_sentinel;
|
|
68
82
|
constructor(config, account) {
|
|
69
83
|
this.config = config;
|
|
70
84
|
this.account = account;
|
|
71
85
|
(0, import_react_shared2.assertDefinedEx)(config, "config was not defined");
|
|
72
86
|
}
|
|
73
|
-
_sentinel;
|
|
74
87
|
get sentinel() {
|
|
75
88
|
return (0, import_react_shared2.assertDefinedEx)(this._sentinel, "this._sentinel not defined upon create");
|
|
76
89
|
}
|
|
@@ -90,20 +103,25 @@ var SentinelBuilder = class {
|
|
|
90
103
|
};
|
|
91
104
|
}
|
|
92
105
|
};
|
|
106
|
+
__name(_SentinelBuilder, "SentinelBuilder");
|
|
107
|
+
var SentinelBuilder = _SentinelBuilder;
|
|
93
108
|
|
|
94
109
|
// src/lib/Builders/StorageArchivistBuilder.ts
|
|
95
110
|
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
96
111
|
var import_archivist_storage = require("@xyo-network/archivist-storage");
|
|
97
112
|
var import_node_model = require("@xyo-network/node-model");
|
|
98
113
|
var import_react_shared3 = require("@xyo-network/react-shared");
|
|
99
|
-
var
|
|
114
|
+
var _StorageArchivistBuilder = class _StorageArchivistBuilder {
|
|
115
|
+
config;
|
|
116
|
+
account;
|
|
117
|
+
node;
|
|
118
|
+
_archivist;
|
|
119
|
+
remoteArchivist;
|
|
100
120
|
constructor(config, account, node) {
|
|
101
121
|
this.config = config;
|
|
102
122
|
this.account = account;
|
|
103
123
|
this.node = node;
|
|
104
124
|
}
|
|
105
|
-
_archivist;
|
|
106
|
-
remoteArchivist;
|
|
107
125
|
get archivist() {
|
|
108
126
|
return (0, import_react_shared3.assertDefinedEx)(this._archivist, "archivist was not defined upon create");
|
|
109
127
|
}
|
|
@@ -115,7 +133,10 @@ var StorageArchivistBuilder = class {
|
|
|
115
133
|
}
|
|
116
134
|
async buildArchivist() {
|
|
117
135
|
const config = this.buildConfig();
|
|
118
|
-
return await import_archivist_storage.StorageArchivist.create({
|
|
136
|
+
return await import_archivist_storage.StorageArchivist.create({
|
|
137
|
+
account: this.account,
|
|
138
|
+
config
|
|
139
|
+
});
|
|
119
140
|
}
|
|
120
141
|
buildConfig() {
|
|
121
142
|
var _a, _b;
|
|
@@ -123,8 +144,12 @@ var StorageArchivistBuilder = class {
|
|
|
123
144
|
name: this.config.name,
|
|
124
145
|
namespace: this.config.namespace,
|
|
125
146
|
parents: {
|
|
126
|
-
commit: this.remoteArchivist ? [
|
|
127
|
-
|
|
147
|
+
commit: this.remoteArchivist ? [
|
|
148
|
+
(_a = this.remoteArchivist) == null ? void 0 : _a.address
|
|
149
|
+
] : void 0,
|
|
150
|
+
read: this.remoteArchivist ? [
|
|
151
|
+
(_b = this.remoteArchivist) == null ? void 0 : _b.address
|
|
152
|
+
] : void 0
|
|
128
153
|
},
|
|
129
154
|
schema: import_archivist_storage.StorageArchivistConfigSchema,
|
|
130
155
|
storeParentReads: true,
|
|
@@ -134,10 +159,18 @@ var StorageArchivistBuilder = class {
|
|
|
134
159
|
async findParentArchivist() {
|
|
135
160
|
var _a;
|
|
136
161
|
const node = (0, import_node_model.asNodeInstance)(this.node, "node not defined");
|
|
137
|
-
const [bridge] = await node.resolve({
|
|
162
|
+
const [bridge] = await node.resolve({
|
|
163
|
+
name: [
|
|
164
|
+
"RemoteNodeBridge"
|
|
165
|
+
]
|
|
166
|
+
}) ?? [];
|
|
138
167
|
if (bridge) {
|
|
139
168
|
try {
|
|
140
|
-
const [archivist] = await bridge.resolve({
|
|
169
|
+
const [archivist] = await bridge.resolve({
|
|
170
|
+
name: [
|
|
171
|
+
"Archivist"
|
|
172
|
+
]
|
|
173
|
+
}) ?? [];
|
|
141
174
|
return (0, import_archivist_model.asArchivistInstance)(archivist);
|
|
142
175
|
} catch {
|
|
143
176
|
console.error("Error Resolving Parent Archivist", (_a = this.node) == null ? void 0 : _a.config.name, this.config);
|
|
@@ -145,16 +178,24 @@ var StorageArchivistBuilder = class {
|
|
|
145
178
|
}
|
|
146
179
|
}
|
|
147
180
|
};
|
|
181
|
+
__name(_StorageArchivistBuilder, "StorageArchivistBuilder");
|
|
182
|
+
var StorageArchivistBuilder = _StorageArchivistBuilder;
|
|
148
183
|
|
|
149
184
|
// src/lib/Builders/MemoryNodeBuilder.ts
|
|
150
|
-
var
|
|
185
|
+
var _MemoryNodeBuilder = class _MemoryNodeBuilder {
|
|
151
186
|
_node;
|
|
152
187
|
get node() {
|
|
153
188
|
return (0, import_react_shared4.assertDefinedEx)(this._node, "this._node was not defined upon create");
|
|
154
189
|
}
|
|
155
190
|
static async create({ name, node }, account) {
|
|
156
191
|
const instance = new this();
|
|
157
|
-
const memoryNode = node ?? await import_node_memory.MemoryNode.create({
|
|
192
|
+
const memoryNode = node ?? await import_node_memory.MemoryNode.create({
|
|
193
|
+
account,
|
|
194
|
+
config: {
|
|
195
|
+
name,
|
|
196
|
+
schema: import_node_model2.NodeConfigSchema
|
|
197
|
+
}
|
|
198
|
+
});
|
|
158
199
|
instance._node = memoryNode;
|
|
159
200
|
return instance;
|
|
160
201
|
}
|
|
@@ -163,12 +204,21 @@ var MemoryNodeBuilder = class {
|
|
|
163
204
|
await this.addArchivistStorage(account, moduleName, namespace);
|
|
164
205
|
}
|
|
165
206
|
async addArchivistMemory(moduleName, account) {
|
|
166
|
-
const config = {
|
|
167
|
-
|
|
207
|
+
const config = {
|
|
208
|
+
name: moduleName,
|
|
209
|
+
schema: import_archivist_memory.MemoryArchivistConfigSchema
|
|
210
|
+
};
|
|
211
|
+
const memoryArchivist = await import_archivist_memory.MemoryArchivist.create({
|
|
212
|
+
account,
|
|
213
|
+
config
|
|
214
|
+
});
|
|
168
215
|
await this.attach(memoryArchivist, true);
|
|
169
216
|
}
|
|
170
217
|
async addArchivistStorage(account, moduleName, namespace) {
|
|
171
|
-
const config = {
|
|
218
|
+
const config = {
|
|
219
|
+
name: moduleName,
|
|
220
|
+
namespace
|
|
221
|
+
};
|
|
172
222
|
const { archivist } = await StorageArchivistBuilder.create(config, account, this.node);
|
|
173
223
|
await this.attach(archivist, true);
|
|
174
224
|
}
|
|
@@ -176,7 +226,14 @@ var MemoryNodeBuilder = class {
|
|
|
176
226
|
try {
|
|
177
227
|
const bridge = await import_bridge_http.HttpBridge.create({
|
|
178
228
|
account,
|
|
179
|
-
config: {
|
|
229
|
+
config: {
|
|
230
|
+
name: moduleName,
|
|
231
|
+
nodeUrl: `${apiDomain}/node`,
|
|
232
|
+
schema: import_bridge_http.HttpBridgeConfigSchema,
|
|
233
|
+
security: {
|
|
234
|
+
allowAnonymous: true
|
|
235
|
+
}
|
|
236
|
+
}
|
|
180
237
|
});
|
|
181
238
|
await this.attach(bridge, true);
|
|
182
239
|
} catch (e) {
|
|
@@ -189,26 +246,28 @@ var MemoryNodeBuilder = class {
|
|
|
189
246
|
return sentinel;
|
|
190
247
|
}
|
|
191
248
|
async addWitnesses(pluginSetResolver, witnesses = []) {
|
|
192
|
-
await Promise.all(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
|
|
203
|
-
}
|
|
249
|
+
await Promise.all(pluginSetResolver.witnesses().map(async (pluginSet, index) => {
|
|
250
|
+
var _a;
|
|
251
|
+
const witness = await ((_a = witnesses == null ? void 0 : witnesses[index]) == null ? void 0 : _a.call(witnesses));
|
|
252
|
+
if (witness) {
|
|
253
|
+
try {
|
|
254
|
+
await this.witnessCleanup(witness);
|
|
255
|
+
await this.node.register(witness);
|
|
256
|
+
await this.node.attach(witness.address, true);
|
|
257
|
+
} catch (e) {
|
|
258
|
+
console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
|
|
204
259
|
}
|
|
205
|
-
}
|
|
206
|
-
);
|
|
260
|
+
}
|
|
261
|
+
}));
|
|
207
262
|
}
|
|
208
263
|
async attach(mod, external, safeAttach) {
|
|
209
264
|
try {
|
|
210
265
|
if (safeAttach) {
|
|
211
|
-
const existingModule = (await this.node.resolve({
|
|
266
|
+
const existingModule = (await this.node.resolve({
|
|
267
|
+
address: [
|
|
268
|
+
mod.address
|
|
269
|
+
]
|
|
270
|
+
})).pop();
|
|
212
271
|
if (existingModule) {
|
|
213
272
|
await this.node.detach(existingModule.address);
|
|
214
273
|
await this.node.unregister(existingModule);
|
|
@@ -222,11 +281,17 @@ var MemoryNodeBuilder = class {
|
|
|
222
281
|
}
|
|
223
282
|
async witnessCleanup(witness) {
|
|
224
283
|
if ((await this.node.registered()).includes(witness.address)) {
|
|
225
|
-
const [existingWitness] = await this.node.resolve({
|
|
284
|
+
const [existingWitness] = await this.node.resolve({
|
|
285
|
+
address: [
|
|
286
|
+
witness.address
|
|
287
|
+
]
|
|
288
|
+
});
|
|
226
289
|
await this.node.unregister(existingWitness);
|
|
227
290
|
}
|
|
228
291
|
}
|
|
229
292
|
};
|
|
293
|
+
__name(_MemoryNodeBuilder, "MemoryNodeBuilder");
|
|
294
|
+
var MemoryNodeBuilder = _MemoryNodeBuilder;
|
|
230
295
|
|
|
231
296
|
// src/lib/buildNodes.ts
|
|
232
297
|
var import_react_network = require("@xyo-network/react-network");
|
|
@@ -259,7 +324,7 @@ var RemoteNodeArchivistOffsetPaths = {
|
|
|
259
324
|
};
|
|
260
325
|
|
|
261
326
|
// src/lib/buildNodes.ts
|
|
262
|
-
var knownRemoteNodes = () => {
|
|
327
|
+
var knownRemoteNodes = /* @__PURE__ */ __name(() => {
|
|
263
328
|
const networkNames = import_react_network.defaultNetworkConfigs.map((config) => config.name);
|
|
264
329
|
return networkNames.map((networkName) => {
|
|
265
330
|
var _a, _b;
|
|
@@ -271,37 +336,38 @@ var knownRemoteNodes = () => {
|
|
|
271
336
|
name
|
|
272
337
|
};
|
|
273
338
|
});
|
|
274
|
-
};
|
|
275
|
-
var BuildStandardNodes = async (wallet, onNodeBuilt) => {
|
|
339
|
+
}, "knownRemoteNodes");
|
|
340
|
+
var BuildStandardNodes = /* @__PURE__ */ __name(async (wallet, onNodeBuilt) => {
|
|
276
341
|
try {
|
|
277
|
-
return await Promise.all(
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
);
|
|
342
|
+
return await Promise.all(knownRemoteNodes().map(async ({ apiDomain, name }) => {
|
|
343
|
+
var _a, _b, _c;
|
|
344
|
+
const remoteNodeOffset = RemoteNodeOffsetPaths[name];
|
|
345
|
+
const remoteNodeWallet = await ((_a = wallet.derivePath) == null ? void 0 : _a.call(wallet, remoteNodeOffset));
|
|
346
|
+
const memoryNodeBuilder = await MemoryNodeBuilder.create({
|
|
347
|
+
name
|
|
348
|
+
}, await ((_b = remoteNodeWallet.derivePath) == null ? void 0 : _b.call(remoteNodeWallet, "0")));
|
|
349
|
+
await memoryNodeBuilder.addBridge(apiDomain);
|
|
350
|
+
const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`;
|
|
351
|
+
const rootArchivistAccount = await ((_c = wallet.derivePath) == null ? void 0 : _c.call(wallet, rootArchivistPath));
|
|
352
|
+
await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, "root");
|
|
353
|
+
const { node } = memoryNodeBuilder;
|
|
354
|
+
(0, import_react_shared5.assertDefinedEx)(node, "Memory Node was not built successfully");
|
|
355
|
+
onNodeBuilt == null ? void 0 : onNodeBuilt(node);
|
|
356
|
+
return node;
|
|
357
|
+
}));
|
|
293
358
|
} catch (e) {
|
|
294
359
|
throw new Error(`Error Creating Known Remote Nodes: ${e}`);
|
|
295
360
|
}
|
|
296
|
-
};
|
|
361
|
+
}, "BuildStandardNodes");
|
|
297
362
|
|
|
298
363
|
// src/contexts/StandardRemoteNodes/Providers.tsx
|
|
299
|
-
var
|
|
300
|
-
var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
|
|
364
|
+
var StandardNodesProvider = /* @__PURE__ */ __name(({ children, defaultRemoteNodes, wallet }) => {
|
|
301
365
|
const [nodes, setNodes] = (0, import_react.useState)(defaultRemoteNodes);
|
|
302
366
|
(0, import_react.useEffect)(() => {
|
|
303
367
|
setNodes(defaultRemoteNodes);
|
|
304
|
-
}, [
|
|
368
|
+
}, [
|
|
369
|
+
defaultRemoteNodes
|
|
370
|
+
]);
|
|
305
371
|
(0, import_react_promise.usePromise)(async () => {
|
|
306
372
|
if (wallet) {
|
|
307
373
|
await BuildStandardNodes(wallet, (node) => {
|
|
@@ -309,85 +375,100 @@ var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
|
|
|
309
375
|
if (nodes2 == null ? void 0 : nodes2.find((existingNode) => existingNode.config.name === node.config.name)) {
|
|
310
376
|
return;
|
|
311
377
|
}
|
|
312
|
-
return nodes2 ? [
|
|
378
|
+
return nodes2 ? [
|
|
379
|
+
...nodes2,
|
|
380
|
+
node
|
|
381
|
+
] : [
|
|
382
|
+
node
|
|
383
|
+
];
|
|
313
384
|
});
|
|
314
385
|
});
|
|
315
386
|
}
|
|
316
|
-
}, [
|
|
317
|
-
|
|
387
|
+
}, [
|
|
388
|
+
wallet
|
|
389
|
+
]);
|
|
390
|
+
const findAddressByName = /* @__PURE__ */ __name((name) => {
|
|
318
391
|
var _a;
|
|
319
392
|
const validNetworkName = (0, import_react_shared6.assertDefinedEx)(name, "name was not defined");
|
|
320
393
|
return (_a = nodes == null ? void 0 : nodes.find((node) => node.config.name === validNetworkName)) == null ? void 0 : _a.address;
|
|
321
|
-
};
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
);
|
|
333
|
-
};
|
|
334
|
-
var StandardNodesProviderWithWallet = (props) => {
|
|
394
|
+
}, "findAddressByName");
|
|
395
|
+
const value = (0, import_react.useMemo)(() => ({
|
|
396
|
+
findAddressByName,
|
|
397
|
+
nodes,
|
|
398
|
+
provided: true
|
|
399
|
+
}), [
|
|
400
|
+
findAddressByName,
|
|
401
|
+
nodes
|
|
402
|
+
]);
|
|
403
|
+
return /* @__PURE__ */ import_react.default.createElement(StandardNodesContext.Provider, {
|
|
404
|
+
value
|
|
405
|
+
}, children);
|
|
406
|
+
}, "StandardNodesProvider");
|
|
407
|
+
var StandardNodesProviderWithWallet = /* @__PURE__ */ __name((props) => {
|
|
335
408
|
const { activeAccount } = (0, import_react_wallet.useWalletContext)();
|
|
336
|
-
return /* @__PURE__ */
|
|
337
|
-
|
|
409
|
+
return /* @__PURE__ */ import_react.default.createElement(StandardNodesProvider, {
|
|
410
|
+
wallet: activeAccount,
|
|
411
|
+
...props
|
|
412
|
+
});
|
|
413
|
+
}, "StandardNodesProviderWithWallet");
|
|
338
414
|
|
|
339
|
-
// src/contexts/StandardRemoteNodes/use.
|
|
415
|
+
// src/contexts/StandardRemoteNodes/use.ts
|
|
340
416
|
var import_react_shared7 = require("@xyo-network/react-shared");
|
|
341
|
-
var useStandardNodes = (required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required);
|
|
417
|
+
var useStandardNodes = /* @__PURE__ */ __name((required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required), "useStandardNodes");
|
|
342
418
|
|
|
343
419
|
// src/hooks/useActiveNodeAddress.ts
|
|
344
420
|
var import_react_node = require("@xyo-network/react-node");
|
|
345
421
|
var import_react2 = require("react");
|
|
346
|
-
var useActiveNodeAddress = (networkName) => {
|
|
422
|
+
var useActiveNodeAddress = /* @__PURE__ */ __name((networkName) => {
|
|
347
423
|
const [node] = (0, import_react_node.useProvidedNode)();
|
|
348
424
|
const { nodes, findAddressByName } = useStandardNodes();
|
|
349
425
|
const activeNodeAddress = (0, import_react2.useMemo)(() => {
|
|
350
426
|
if (node && nodes && findAddressByName && networkName) {
|
|
351
427
|
return findAddressByName(networkName);
|
|
352
428
|
}
|
|
353
|
-
}, [
|
|
429
|
+
}, [
|
|
430
|
+
findAddressByName,
|
|
431
|
+
networkName,
|
|
432
|
+
node,
|
|
433
|
+
nodes
|
|
434
|
+
]);
|
|
354
435
|
return activeNodeAddress;
|
|
355
|
-
};
|
|
436
|
+
}, "useActiveNodeAddress");
|
|
356
437
|
|
|
357
438
|
// src/components/ActiveStandardNode.tsx
|
|
358
|
-
var
|
|
359
|
-
var ActiveStandardNode = ({ children, nodeNameOrAddress }) => {
|
|
439
|
+
var ActiveStandardNode = /* @__PURE__ */ __name(({ children, nodeNameOrAddress }) => {
|
|
360
440
|
const { network } = (0, import_react_network2.useNetwork)();
|
|
361
441
|
const [node] = (0, import_react_node2.useWeakNodeFromNode)(nodeNameOrAddress);
|
|
362
442
|
const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = (0, import_react3.useState)();
|
|
363
443
|
const { nodes } = useStandardNodes();
|
|
364
444
|
const selectedNodeAddress = useActiveNodeAddress(network == null ? void 0 : network.name);
|
|
365
|
-
(0, import_react_async_effect.useAsyncEffect)(
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
if (activeRemoteNodeAddress) {
|
|
378
|
-
await (nodeInstance == null ? void 0 : nodeInstance.detach(activeRemoteNodeAddress));
|
|
379
|
-
}
|
|
380
|
-
setActiveRemoteNodeAddress(selectedNodeAddress);
|
|
445
|
+
(0, import_react_async_effect.useAsyncEffect)(async (mounted) => {
|
|
446
|
+
var _a;
|
|
447
|
+
const nodeInstance = node == null ? void 0 : node.deref();
|
|
448
|
+
if (nodeInstance && selectedNodeAddress) {
|
|
449
|
+
try {
|
|
450
|
+
if ((_a = await (nodeInstance == null ? void 0 : nodeInstance.attached())) == null ? void 0 : _a.includes(selectedNodeAddress)) {
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
await (nodeInstance == null ? void 0 : nodeInstance.attach(selectedNodeAddress, true));
|
|
454
|
+
if (mounted()) {
|
|
455
|
+
if (activeRemoteNodeAddress) {
|
|
456
|
+
await (nodeInstance == null ? void 0 : nodeInstance.detach(activeRemoteNodeAddress));
|
|
381
457
|
}
|
|
382
|
-
|
|
383
|
-
console.error("Error Attaching Selected Node Address", e);
|
|
458
|
+
setActiveRemoteNodeAddress(selectedNodeAddress);
|
|
384
459
|
}
|
|
460
|
+
} catch (e) {
|
|
461
|
+
console.error("Error Attaching Selected Node Address", e);
|
|
385
462
|
}
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
463
|
+
}
|
|
464
|
+
}, [
|
|
465
|
+
activeRemoteNodeAddress,
|
|
466
|
+
node,
|
|
467
|
+
selectedNodeAddress,
|
|
468
|
+
nodes
|
|
469
|
+
]);
|
|
470
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, children);
|
|
471
|
+
}, "ActiveStandardNode");
|
|
391
472
|
// Annotate the CommonJS export names for ESM import in node:
|
|
392
473
|
0 && (module.exports = {
|
|
393
474
|
ActiveStandardNode,
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/ActiveStandardNode.tsx","../../src/contexts/StandardRemoteNodes/Context.ts","../../src/contexts/StandardRemoteNodes/Providers.tsx","../../src/lib/Builders/MemoryNodeBuilder.ts","../../src/lib/Builders/SentinelBuilder.ts","../../src/lib/Builders/StorageArchivistBuilder.ts","../../src/lib/buildNodes.ts","../../src/lib/ModuleNames.ts","../../src/lib/ModuleAccountPaths.ts","../../src/contexts/StandardRemoteNodes/use.tsx","../../src/hooks/useActiveNodeAddress.ts"],"sourcesContent":["export * from './components/index.js'\nexport * from './contexts/index.js'\nexport * from './hooks/index.js'\nexport * from './lib/index.js'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { useWeakNodeFromNode } from '@xyo-network/react-node'\nimport { useState } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.js'\nimport { useActiveNodeAddress } from '../hooks/index.js'\n\nexport interface ActiveStandardNodeProps extends WithChildren {\n nodeNameOrAddress?: string\n}\n\nexport const ActiveStandardNode: React.FC<ActiveStandardNodeProps> = ({ children, nodeNameOrAddress }) => {\n const { network } = useNetwork()\n const [node] = useWeakNodeFromNode(nodeNameOrAddress)\n const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = useState<string>()\n const { nodes } = useStandardNodes()\n\n const selectedNodeAddress = useActiveNodeAddress(network?.name)\n\n // Probably needs to rely on node events rather than provider values to ensure its registered\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const nodeInstance = node?.deref()\n if (nodeInstance && selectedNodeAddress) {\n try {\n if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {\n return\n }\n await nodeInstance?.attach(selectedNodeAddress, true)\n\n if (mounted()) {\n // cleanup\n if (activeRemoteNodeAddress) {\n await nodeInstance?.detach(activeRemoteNodeAddress)\n }\n setActiveRemoteNodeAddress(selectedNodeAddress)\n }\n } catch (e) {\n console.error('Error Attaching Selected Node Address', e)\n }\n }\n },\n [activeRemoteNodeAddress, node, selectedNodeAddress, nodes],\n )\n\n return <>{children}</>\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesState } from './State.js'\n\nexport const StandardNodesContext = createContextEx<StandardNodesState>()\n","import { usePromise } from '@xylabs/react-promise'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { useWalletContext } from '@xyo-network/react-wallet'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useEffect, useState } from 'react'\n\nimport { BuildStandardNodes } from '../../lib/index.js'\nimport { StandardNodesContext } from './Context.js'\nimport { StandardNodesState } from './State.js'\n\nexport interface StandardNodesProviderProps extends WithChildren {\n defaultRemoteNodes?: StandardNodesState['nodes']\n wallet?: WalletInstance | null\n}\n\nexport const StandardNodesProvider: React.FC<StandardNodesProviderProps> = ({ children, defaultRemoteNodes, wallet }) => {\n const [nodes, setNodes] = useState<StandardNodesState['nodes']>(defaultRemoteNodes)\n\n useEffect(() => {\n setNodes(defaultRemoteNodes)\n }, [defaultRemoteNodes])\n\n usePromise(async () => {\n if (wallet) {\n await BuildStandardNodes(wallet, (node: MemoryNode) => {\n setNodes((nodes) => {\n if (nodes?.find((existingNode) => existingNode.config.name === node.config.name)) {\n return\n }\n return nodes ? [...nodes, node] : [node]\n })\n })\n }\n }, [wallet])\n\n const findAddressByName = (name?: string) => {\n const validNetworkName = assertDefinedEx(name, 'name was not defined')\n return nodes?.find((node) => node.config.name === validNetworkName)?.address\n }\n\n return (\n <StandardNodesContext.Provider\n value={{\n findAddressByName,\n nodes,\n provided: true,\n }}\n >\n {children}\n </StandardNodesContext.Provider>\n )\n}\n\nexport const StandardNodesProviderWithWallet: React.FC<Omit<StandardNodesProviderProps, 'wallet'>> = (props) => {\n const { activeAccount } = useWalletContext()\n return <StandardNodesProvider wallet={activeAccount} {...props} />\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/bridge-http'\nimport { AttachableModuleInstance } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\nimport { AttachableWitnessInstance, WitnessModule } from '@xyo-network/witness-model'\n\nimport { SentinelBuilder } from './SentinelBuilder.js'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder.js'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<AttachableWitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(mod: AttachableModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [mod.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(mod)\n await this.node.attach(mod.address, external)\n } catch (e) {\n throw new Error(`Error adding ${mod.config.name ?? mod.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if ((await this.node.registered()).includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist-storage'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n","import { MemoryNode } from '@xyo-network/node-memory'\nimport { defaultNetworkConfigs } from '@xyo-network/react-network'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { MemoryNodeBuilder } from './Builders/index.js'\nimport { RemoteNodeArchivistOffsetPaths, RemoteNodeOffsetPaths } from './ModuleAccountPaths.js'\nimport { RootStorageArchivist } from './ModuleNames.js'\n\nconst knownRemoteNodes = (): { apiDomain: string; name: string }[] => {\n const networkNames = defaultNetworkConfigs.map((config) => config.name)\n return networkNames.map((networkName) => {\n const name = assertDefinedEx<string>(networkName, 'missing name in network config')\n const uri = defaultNetworkConfigs.find((config) => config.name === networkName)?.nodes?.filter((node) => node.type === 'archivist')[0].uri\n const apiDomain = assertDefinedEx<string>(uri, 'missing node type \"archivist\" in network config')\n return {\n apiDomain,\n name,\n }\n })\n}\n\nexport const BuildStandardNodes = async (wallet: WalletInstance, onNodeBuilt?: (node: MemoryNode) => void): Promise<MemoryNode[]> => {\n try {\n return await Promise.all(\n knownRemoteNodes().map(async ({ apiDomain, name }) => {\n const remoteNodeOffset = RemoteNodeOffsetPaths[name]\n const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset)\n\n const memoryNodeBuilder = await MemoryNodeBuilder.create({ name }, await remoteNodeWallet.derivePath?.('0'))\n await memoryNodeBuilder.addBridge(apiDomain)\n\n const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`\n const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath)\n await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, 'root')\n\n const { node } = memoryNodeBuilder\n assertDefinedEx(node, 'Memory Node was not built successfully')\n onNodeBuilt?.(node)\n\n return node\n }),\n )\n } catch (e) {\n throw new Error(`Error Creating Known Remote Nodes: ${e}`)\n }\n}\n","export const GlobalNode = 'GlobalNode'\n\nexport const RootStorageArchivist = 'RootStorageArchivist'\n","import { RootStorageArchivist } from './ModuleNames.js'\n\nexport const GlobalNodeOffsetPath = '15'\n\nexport const RemoteNodeOffsetPaths: Record<string, string> = {\n Kerplunk: '112',\n Local: '111',\n Main: '113',\n}\n\nexport const RemoteNodeArchivistOffsetPaths: Record<string, Record<string, string>> = {\n Kerplunk: {\n MemoryNode: '117',\n [RootStorageArchivist]: '119',\n },\n Local: {\n MemoryNode: '114',\n [RootStorageArchivist]: '116',\n },\n Main: {\n MemoryNode: '120',\n [RootStorageArchivist]: '122',\n },\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesContext } from './Context.js'\n\nexport const useStandardNodes = (required = false) => useContextEx(StandardNodesContext, 'StandardNodes', required)\n","import { useProvidedNode } from '@xyo-network/react-node'\nimport { useMemo } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.js'\n\nexport const useActiveNodeAddress = (networkName?: string) => {\n const [node] = useProvidedNode()\n const { nodes, findAddressByName } = useStandardNodes()\n\n const activeNodeAddress = useMemo(() => {\n if (node && nodes && findAddressByName && networkName) {\n return findAddressByName(networkName)\n }\n }, [findAddressByName, networkName, node, nodes])\n\n return activeNodeAddress\n}\n"],"mappings":"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","names":["import_react_network","import_react_node","import_react","import_react_shared","import_node_model","import_react_shared","import_react_shared","import_react_shared","import_react_shared","nodes","import_react_shared","import_react","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/ActiveStandardNode.tsx","../../src/contexts/StandardRemoteNodes/Context.ts","../../src/contexts/StandardRemoteNodes/Providers.tsx","../../src/lib/Builders/MemoryNodeBuilder.ts","../../src/lib/Builders/SentinelBuilder.ts","../../src/lib/Builders/StorageArchivistBuilder.ts","../../src/lib/buildNodes.ts","../../src/lib/ModuleNames.ts","../../src/lib/ModuleAccountPaths.ts","../../src/contexts/StandardRemoteNodes/use.ts","../../src/hooks/useActiveNodeAddress.ts"],"sourcesContent":["export * from './components/index.ts'\nexport * from './contexts/index.ts'\nexport * from './hooks/index.ts'\nexport * from './lib/index.ts'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { useWeakNodeFromNode } from '@xyo-network/react-node'\nimport React, { useState } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.ts'\nimport { useActiveNodeAddress } from '../hooks/index.ts'\n\nexport interface ActiveStandardNodeProps extends WithChildren {\n nodeNameOrAddress?: string\n}\n\nexport const ActiveStandardNode: React.FC<ActiveStandardNodeProps> = ({ children, nodeNameOrAddress }) => {\n const { network } = useNetwork()\n const [node] = useWeakNodeFromNode(nodeNameOrAddress)\n const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = useState<string>()\n const { nodes } = useStandardNodes()\n\n const selectedNodeAddress = useActiveNodeAddress(network?.name)\n\n // Probably needs to rely on node events rather than provider values to ensure its registered\n useAsyncEffect(\n async (mounted) => {\n const nodeInstance = node?.deref()\n if (nodeInstance && selectedNodeAddress) {\n try {\n if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {\n return\n }\n await nodeInstance?.attach(selectedNodeAddress, true)\n\n if (mounted()) {\n // cleanup\n if (activeRemoteNodeAddress) {\n await nodeInstance?.detach(activeRemoteNodeAddress)\n }\n setActiveRemoteNodeAddress(selectedNodeAddress)\n }\n } catch (e) {\n console.error('Error Attaching Selected Node Address', e)\n }\n }\n },\n [activeRemoteNodeAddress, node, selectedNodeAddress, nodes],\n )\n\n return <>{children}</>\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesState } from './State.ts'\n\nexport const StandardNodesContext = createContextEx<StandardNodesState>()\n","import { usePromise } from '@xylabs/react-promise'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { useWalletContext } from '@xyo-network/react-wallet'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { BuildStandardNodes } from '../../lib/index.ts'\nimport { StandardNodesContext } from './Context.ts'\nimport { StandardNodesState } from './State.ts'\n\nexport interface StandardNodesProviderProps extends WithChildren {\n defaultRemoteNodes?: StandardNodesState['nodes']\n wallet?: WalletInstance | null\n}\n\nexport const StandardNodesProvider: React.FC<StandardNodesProviderProps> = ({ children, defaultRemoteNodes, wallet }) => {\n const [nodes, setNodes] = useState<StandardNodesState['nodes']>(defaultRemoteNodes)\n\n useEffect(() => {\n setNodes(defaultRemoteNodes)\n }, [defaultRemoteNodes])\n\n usePromise(async () => {\n if (wallet) {\n await BuildStandardNodes(wallet, (node: MemoryNode) => {\n setNodes((nodes) => {\n if (nodes?.find(existingNode => existingNode.config.name === node.config.name)) {\n return\n }\n return nodes ? [...nodes, node] : [node]\n })\n })\n }\n }, [wallet])\n\n const findAddressByName = (name?: string) => {\n const validNetworkName = assertDefinedEx(name, 'name was not defined')\n return nodes?.find(node => node.config.name === validNetworkName)?.address\n }\n\n const value = useMemo(() => ({ findAddressByName,\n nodes,\n provided: true }), [findAddressByName,\n nodes])\n\n return (\n <StandardNodesContext.Provider\n value={value}\n >\n {children}\n </StandardNodesContext.Provider>\n )\n}\n\nexport const StandardNodesProviderWithWallet: React.FC<Omit<StandardNodesProviderProps, 'wallet'>> = (props) => {\n const { activeAccount } = useWalletContext()\n return <StandardNodesProvider wallet={activeAccount} {...props} />\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/bridge-http'\nimport { AttachableModuleInstance } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\nimport { AttachableWitnessInstance, WitnessModule } from '@xyo-network/witness-model'\n\nimport { SentinelBuilder } from './SentinelBuilder.ts'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder.ts'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<AttachableWitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(mod: AttachableModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [mod.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(mod)\n await this.node.attach(mod.address, external)\n } catch (e) {\n throw new Error(`Error adding ${mod.config.name ?? mod.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if ((await this.node.registered()).includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist-storage'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n","import { MemoryNode } from '@xyo-network/node-memory'\nimport { defaultNetworkConfigs } from '@xyo-network/react-network'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { MemoryNodeBuilder } from './Builders/index.ts'\nimport { RemoteNodeArchivistOffsetPaths, RemoteNodeOffsetPaths } from './ModuleAccountPaths.ts'\nimport { RootStorageArchivist } from './ModuleNames.ts'\n\nconst knownRemoteNodes = (): { apiDomain: string; name: string }[] => {\n const networkNames = defaultNetworkConfigs.map(config => config.name)\n return networkNames.map((networkName) => {\n const name = assertDefinedEx<string>(networkName, 'missing name in network config')\n const uri = defaultNetworkConfigs.find(config => config.name === networkName)?.nodes?.filter(node => node.type === 'archivist')[0].uri\n const apiDomain = assertDefinedEx<string>(uri, 'missing node type \"archivist\" in network config')\n return {\n apiDomain,\n name,\n }\n })\n}\n\nexport const BuildStandardNodes = async (wallet: WalletInstance, onNodeBuilt?: (node: MemoryNode) => void): Promise<MemoryNode[]> => {\n try {\n return await Promise.all(\n knownRemoteNodes().map(async ({ apiDomain, name }) => {\n const remoteNodeOffset = RemoteNodeOffsetPaths[name]\n const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset)\n\n const memoryNodeBuilder = await MemoryNodeBuilder.create({ name }, await remoteNodeWallet.derivePath?.('0'))\n await memoryNodeBuilder.addBridge(apiDomain)\n\n const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`\n const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath)\n await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, 'root')\n\n const { node } = memoryNodeBuilder\n assertDefinedEx(node, 'Memory Node was not built successfully')\n onNodeBuilt?.(node)\n\n return node\n }),\n )\n } catch (e) {\n throw new Error(`Error Creating Known Remote Nodes: ${e}`)\n }\n}\n","export const GlobalNode = 'GlobalNode'\n\nexport const RootStorageArchivist = 'RootStorageArchivist'\n","import { RootStorageArchivist } from './ModuleNames.ts'\n\nexport const GlobalNodeOffsetPath = '15'\n\nexport const RemoteNodeOffsetPaths: Record<string, string> = {\n Kerplunk: '112',\n Local: '111',\n Main: '113',\n}\n\nexport const RemoteNodeArchivistOffsetPaths: Record<string, Record<string, string>> = {\n Kerplunk: {\n MemoryNode: '117',\n [RootStorageArchivist]: '119',\n },\n Local: {\n MemoryNode: '114',\n [RootStorageArchivist]: '116',\n },\n Main: {\n MemoryNode: '120',\n [RootStorageArchivist]: '122',\n },\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesContext } from './Context.ts'\n\nexport const useStandardNodes = (required = false) => useContextEx(StandardNodesContext, 'StandardNodes', required)\n","import { useProvidedNode } from '@xyo-network/react-node'\nimport { useMemo } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.ts'\n\nexport const useActiveNodeAddress = (networkName?: string) => {\n const [node] = useProvidedNode()\n const { nodes, findAddressByName } = useStandardNodes()\n\n const activeNodeAddress = useMemo(() => {\n if (node && nodes && findAddressByName && networkName) {\n return findAddressByName(networkName)\n }\n }, [findAddressByName, networkName, node, nodes])\n\n return activeNodeAddress\n}\n"],"mappings":"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","names":["import_react_network","import_react_node","import_react","StandardNodesContext","createContextEx","import_react_shared","import_node_model","import_react_shared","import_react_shared","SentinelBuilder","_sentinel","config","account","assertDefinedEx","sentinel","create","instance","buildSentinel","params","buildParams","MemorySentinel","import_react_shared","StorageArchivistBuilder","_archivist","remoteArchivist","config","account","node","archivist","assertDefinedEx","create","instance","findParentArchivist","buildArchivist","buildConfig","StorageArchivist","name","namespace","parents","commit","address","undefined","read","schema","StorageArchivistConfigSchema","storeParentReads","type","asNodeInstance","bridge","resolve","asArchivistInstance","console","error","MemoryNodeBuilder","_node","node","assertDefinedEx","create","name","account","instance","memoryNode","MemoryNode","config","schema","NodeConfigSchema","addArchivist","moduleName","namespace","addArchivistStorage","addArchivistMemory","MemoryArchivistConfigSchema","memoryArchivist","MemoryArchivist","attach","archivist","StorageArchivistBuilder","addBridge","apiDomain","bridge","HttpBridge","nodeUrl","HttpBridgeConfigSchema","security","allowAnonymous","e","console","error","addSentinel","sentinel","SentinelBuilder","addWitnesses","pluginSetResolver","witnesses","Promise","all","map","pluginSet","index","witness","witnessCleanup","register","address","JSON","stringify","mod","external","safeAttach","existingModule","resolve","pop","detach","unregister","Error","registered","includes","existingWitness","import_react_shared","GlobalNode","RootStorageArchivist","GlobalNodeOffsetPath","RemoteNodeOffsetPaths","Kerplunk","Local","Main","RemoteNodeArchivistOffsetPaths","MemoryNode","RootStorageArchivist","knownRemoteNodes","networkNames","defaultNetworkConfigs","map","config","name","networkName","assertDefinedEx","uri","find","nodes","filter","node","type","apiDomain","BuildStandardNodes","wallet","onNodeBuilt","Promise","all","remoteNodeOffset","RemoteNodeOffsetPaths","remoteNodeWallet","derivePath","memoryNodeBuilder","MemoryNodeBuilder","create","addBridge","rootArchivistPath","RemoteNodeArchivistOffsetPaths","RootStorageArchivist","rootArchivistAccount","addArchivistStorage","e","Error","StandardNodesProvider","children","defaultRemoteNodes","wallet","nodes","setNodes","useState","useEffect","usePromise","BuildStandardNodes","node","find","existingNode","config","name","findAddressByName","validNetworkName","assertDefinedEx","address","value","useMemo","provided","React","StandardNodesContext","Provider","StandardNodesProviderWithWallet","props","activeAccount","useWalletContext","import_react_shared","useStandardNodes","required","useContextEx","StandardNodesContext","import_react","useActiveNodeAddress","networkName","node","useProvidedNode","nodes","findAddressByName","useStandardNodes","activeNodeAddress","useMemo","ActiveStandardNode","children","nodeNameOrAddress","network","useNetwork","node","useWeakNodeFromNode","activeRemoteNodeAddress","setActiveRemoteNodeAddress","useState","nodes","useStandardNodes","selectedNodeAddress","useActiveNodeAddress","name","useAsyncEffect","mounted","nodeInstance","deref","attached","includes","attach","detach","e","console","error","React"]}
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './components/index.
|
|
2
|
-
export * from './contexts/index.
|
|
3
|
-
export * from './hooks/index.
|
|
4
|
-
export * from './lib/index.
|
|
1
|
+
export * from './components/index.ts';
|
|
2
|
+
export * from './contexts/index.ts';
|
|
3
|
+
export * from './hooks/index.ts';
|
|
4
|
+
export * from './lib/index.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './components/index.
|
|
2
|
-
export * from './contexts/index.
|
|
3
|
-
export * from './hooks/index.
|
|
4
|
-
export * from './lib/index.
|
|
1
|
+
export * from './components/index.ts';
|
|
2
|
+
export * from './contexts/index.ts';
|
|
3
|
+
export * from './hooks/index.ts';
|
|
4
|
+
export * from './lib/index.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|