@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/browser/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");
|
|
@@ -65,12 +76,17 @@ var import_react_shared4 = require("@xyo-network/react-shared");
|
|
|
65
76
|
var import_react_shared2 = require("@xyo-network/react-shared");
|
|
66
77
|
var import_sentinel_memory = require("@xyo-network/sentinel-memory");
|
|
67
78
|
var SentinelBuilder = class {
|
|
79
|
+
static {
|
|
80
|
+
__name(this, "SentinelBuilder");
|
|
81
|
+
}
|
|
82
|
+
config;
|
|
83
|
+
account;
|
|
84
|
+
_sentinel;
|
|
68
85
|
constructor(config, account) {
|
|
69
86
|
this.config = config;
|
|
70
87
|
this.account = account;
|
|
71
88
|
(0, import_react_shared2.assertDefinedEx)(config, "config was not defined");
|
|
72
89
|
}
|
|
73
|
-
_sentinel;
|
|
74
90
|
get sentinel() {
|
|
75
91
|
return (0, import_react_shared2.assertDefinedEx)(this._sentinel, "this._sentinel not defined upon create");
|
|
76
92
|
}
|
|
@@ -97,13 +113,19 @@ var import_archivist_storage = require("@xyo-network/archivist-storage");
|
|
|
97
113
|
var import_node_model = require("@xyo-network/node-model");
|
|
98
114
|
var import_react_shared3 = require("@xyo-network/react-shared");
|
|
99
115
|
var StorageArchivistBuilder = class {
|
|
116
|
+
static {
|
|
117
|
+
__name(this, "StorageArchivistBuilder");
|
|
118
|
+
}
|
|
119
|
+
config;
|
|
120
|
+
account;
|
|
121
|
+
node;
|
|
122
|
+
_archivist;
|
|
123
|
+
remoteArchivist;
|
|
100
124
|
constructor(config, account, node) {
|
|
101
125
|
this.config = config;
|
|
102
126
|
this.account = account;
|
|
103
127
|
this.node = node;
|
|
104
128
|
}
|
|
105
|
-
_archivist;
|
|
106
|
-
remoteArchivist;
|
|
107
129
|
get archivist() {
|
|
108
130
|
return (0, import_react_shared3.assertDefinedEx)(this._archivist, "archivist was not defined upon create");
|
|
109
131
|
}
|
|
@@ -115,15 +137,22 @@ var StorageArchivistBuilder = class {
|
|
|
115
137
|
}
|
|
116
138
|
async buildArchivist() {
|
|
117
139
|
const config = this.buildConfig();
|
|
118
|
-
return await import_archivist_storage.StorageArchivist.create({
|
|
140
|
+
return await import_archivist_storage.StorageArchivist.create({
|
|
141
|
+
account: this.account,
|
|
142
|
+
config
|
|
143
|
+
});
|
|
119
144
|
}
|
|
120
145
|
buildConfig() {
|
|
121
146
|
return {
|
|
122
147
|
name: this.config.name,
|
|
123
148
|
namespace: this.config.namespace,
|
|
124
149
|
parents: {
|
|
125
|
-
commit: this.remoteArchivist ? [
|
|
126
|
-
|
|
150
|
+
commit: this.remoteArchivist ? [
|
|
151
|
+
this.remoteArchivist?.address
|
|
152
|
+
] : void 0,
|
|
153
|
+
read: this.remoteArchivist ? [
|
|
154
|
+
this.remoteArchivist?.address
|
|
155
|
+
] : void 0
|
|
127
156
|
},
|
|
128
157
|
schema: import_archivist_storage.StorageArchivistConfigSchema,
|
|
129
158
|
storeParentReads: true,
|
|
@@ -132,10 +161,18 @@ var StorageArchivistBuilder = class {
|
|
|
132
161
|
}
|
|
133
162
|
async findParentArchivist() {
|
|
134
163
|
const node = (0, import_node_model.asNodeInstance)(this.node, "node not defined");
|
|
135
|
-
const [bridge] = await node.resolve({
|
|
164
|
+
const [bridge] = await node.resolve({
|
|
165
|
+
name: [
|
|
166
|
+
"RemoteNodeBridge"
|
|
167
|
+
]
|
|
168
|
+
}) ?? [];
|
|
136
169
|
if (bridge) {
|
|
137
170
|
try {
|
|
138
|
-
const [archivist] = await bridge.resolve({
|
|
171
|
+
const [archivist] = await bridge.resolve({
|
|
172
|
+
name: [
|
|
173
|
+
"Archivist"
|
|
174
|
+
]
|
|
175
|
+
}) ?? [];
|
|
139
176
|
return (0, import_archivist_model.asArchivistInstance)(archivist);
|
|
140
177
|
} catch {
|
|
141
178
|
console.error("Error Resolving Parent Archivist", this.node?.config.name, this.config);
|
|
@@ -146,13 +183,22 @@ var StorageArchivistBuilder = class {
|
|
|
146
183
|
|
|
147
184
|
// src/lib/Builders/MemoryNodeBuilder.ts
|
|
148
185
|
var MemoryNodeBuilder = class {
|
|
186
|
+
static {
|
|
187
|
+
__name(this, "MemoryNodeBuilder");
|
|
188
|
+
}
|
|
149
189
|
_node;
|
|
150
190
|
get node() {
|
|
151
191
|
return (0, import_react_shared4.assertDefinedEx)(this._node, "this._node was not defined upon create");
|
|
152
192
|
}
|
|
153
193
|
static async create({ name, node }, account) {
|
|
154
194
|
const instance = new this();
|
|
155
|
-
const memoryNode = node ?? await import_node_memory.MemoryNode.create({
|
|
195
|
+
const memoryNode = node ?? await import_node_memory.MemoryNode.create({
|
|
196
|
+
account,
|
|
197
|
+
config: {
|
|
198
|
+
name,
|
|
199
|
+
schema: import_node_model2.NodeConfigSchema
|
|
200
|
+
}
|
|
201
|
+
});
|
|
156
202
|
instance._node = memoryNode;
|
|
157
203
|
return instance;
|
|
158
204
|
}
|
|
@@ -161,12 +207,21 @@ var MemoryNodeBuilder = class {
|
|
|
161
207
|
await this.addArchivistStorage(account, moduleName, namespace);
|
|
162
208
|
}
|
|
163
209
|
async addArchivistMemory(moduleName, account) {
|
|
164
|
-
const config = {
|
|
165
|
-
|
|
210
|
+
const config = {
|
|
211
|
+
name: moduleName,
|
|
212
|
+
schema: import_archivist_memory.MemoryArchivistConfigSchema
|
|
213
|
+
};
|
|
214
|
+
const memoryArchivist = await import_archivist_memory.MemoryArchivist.create({
|
|
215
|
+
account,
|
|
216
|
+
config
|
|
217
|
+
});
|
|
166
218
|
await this.attach(memoryArchivist, true);
|
|
167
219
|
}
|
|
168
220
|
async addArchivistStorage(account, moduleName, namespace) {
|
|
169
|
-
const config = {
|
|
221
|
+
const config = {
|
|
222
|
+
name: moduleName,
|
|
223
|
+
namespace
|
|
224
|
+
};
|
|
170
225
|
const { archivist } = await StorageArchivistBuilder.create(config, account, this.node);
|
|
171
226
|
await this.attach(archivist, true);
|
|
172
227
|
}
|
|
@@ -174,7 +229,14 @@ var MemoryNodeBuilder = class {
|
|
|
174
229
|
try {
|
|
175
230
|
const bridge = await import_bridge_http.HttpBridge.create({
|
|
176
231
|
account,
|
|
177
|
-
config: {
|
|
232
|
+
config: {
|
|
233
|
+
name: moduleName,
|
|
234
|
+
nodeUrl: `${apiDomain}/node`,
|
|
235
|
+
schema: import_bridge_http.HttpBridgeConfigSchema,
|
|
236
|
+
security: {
|
|
237
|
+
allowAnonymous: true
|
|
238
|
+
}
|
|
239
|
+
}
|
|
178
240
|
});
|
|
179
241
|
await this.attach(bridge, true);
|
|
180
242
|
} catch (e) {
|
|
@@ -187,25 +249,27 @@ var MemoryNodeBuilder = class {
|
|
|
187
249
|
return sentinel;
|
|
188
250
|
}
|
|
189
251
|
async addWitnesses(pluginSetResolver, witnesses = []) {
|
|
190
|
-
await Promise.all(
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
|
|
200
|
-
}
|
|
252
|
+
await Promise.all(pluginSetResolver.witnesses().map(async (pluginSet, index) => {
|
|
253
|
+
const witness = await witnesses?.[index]?.();
|
|
254
|
+
if (witness) {
|
|
255
|
+
try {
|
|
256
|
+
await this.witnessCleanup(witness);
|
|
257
|
+
await this.node.register(witness);
|
|
258
|
+
await this.node.attach(witness.address, true);
|
|
259
|
+
} catch (e) {
|
|
260
|
+
console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
|
|
201
261
|
}
|
|
202
|
-
}
|
|
203
|
-
);
|
|
262
|
+
}
|
|
263
|
+
}));
|
|
204
264
|
}
|
|
205
265
|
async attach(mod, external, safeAttach) {
|
|
206
266
|
try {
|
|
207
267
|
if (safeAttach) {
|
|
208
|
-
const existingModule = (await this.node.resolve({
|
|
268
|
+
const existingModule = (await this.node.resolve({
|
|
269
|
+
address: [
|
|
270
|
+
mod.address
|
|
271
|
+
]
|
|
272
|
+
})).pop();
|
|
209
273
|
if (existingModule) {
|
|
210
274
|
await this.node.detach(existingModule.address);
|
|
211
275
|
await this.node.unregister(existingModule);
|
|
@@ -219,7 +283,11 @@ var MemoryNodeBuilder = class {
|
|
|
219
283
|
}
|
|
220
284
|
async witnessCleanup(witness) {
|
|
221
285
|
if ((await this.node.registered()).includes(witness.address)) {
|
|
222
|
-
const [existingWitness] = await this.node.resolve({
|
|
286
|
+
const [existingWitness] = await this.node.resolve({
|
|
287
|
+
address: [
|
|
288
|
+
witness.address
|
|
289
|
+
]
|
|
290
|
+
});
|
|
223
291
|
await this.node.unregister(existingWitness);
|
|
224
292
|
}
|
|
225
293
|
}
|
|
@@ -256,7 +324,7 @@ var RemoteNodeArchivistOffsetPaths = {
|
|
|
256
324
|
};
|
|
257
325
|
|
|
258
326
|
// src/lib/buildNodes.ts
|
|
259
|
-
var knownRemoteNodes = () => {
|
|
327
|
+
var knownRemoteNodes = /* @__PURE__ */ __name(() => {
|
|
260
328
|
const networkNames = import_react_network.defaultNetworkConfigs.map((config) => config.name);
|
|
261
329
|
return networkNames.map((networkName) => {
|
|
262
330
|
const name = (0, import_react_shared5.assertDefinedEx)(networkName, "missing name in network config");
|
|
@@ -267,36 +335,37 @@ var knownRemoteNodes = () => {
|
|
|
267
335
|
name
|
|
268
336
|
};
|
|
269
337
|
});
|
|
270
|
-
};
|
|
271
|
-
var BuildStandardNodes = async (wallet, onNodeBuilt) => {
|
|
338
|
+
}, "knownRemoteNodes");
|
|
339
|
+
var BuildStandardNodes = /* @__PURE__ */ __name(async (wallet, onNodeBuilt) => {
|
|
272
340
|
try {
|
|
273
|
-
return await Promise.all(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
);
|
|
341
|
+
return await Promise.all(knownRemoteNodes().map(async ({ apiDomain, name }) => {
|
|
342
|
+
const remoteNodeOffset = RemoteNodeOffsetPaths[name];
|
|
343
|
+
const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset);
|
|
344
|
+
const memoryNodeBuilder = await MemoryNodeBuilder.create({
|
|
345
|
+
name
|
|
346
|
+
}, await remoteNodeWallet.derivePath?.("0"));
|
|
347
|
+
await memoryNodeBuilder.addBridge(apiDomain);
|
|
348
|
+
const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`;
|
|
349
|
+
const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath);
|
|
350
|
+
await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, "root");
|
|
351
|
+
const { node } = memoryNodeBuilder;
|
|
352
|
+
(0, import_react_shared5.assertDefinedEx)(node, "Memory Node was not built successfully");
|
|
353
|
+
onNodeBuilt?.(node);
|
|
354
|
+
return node;
|
|
355
|
+
}));
|
|
288
356
|
} catch (e) {
|
|
289
357
|
throw new Error(`Error Creating Known Remote Nodes: ${e}`);
|
|
290
358
|
}
|
|
291
|
-
};
|
|
359
|
+
}, "BuildStandardNodes");
|
|
292
360
|
|
|
293
361
|
// src/contexts/StandardRemoteNodes/Providers.tsx
|
|
294
|
-
var
|
|
295
|
-
var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
|
|
362
|
+
var StandardNodesProvider = /* @__PURE__ */ __name(({ children, defaultRemoteNodes, wallet }) => {
|
|
296
363
|
const [nodes, setNodes] = (0, import_react.useState)(defaultRemoteNodes);
|
|
297
364
|
(0, import_react.useEffect)(() => {
|
|
298
365
|
setNodes(defaultRemoteNodes);
|
|
299
|
-
}, [
|
|
366
|
+
}, [
|
|
367
|
+
defaultRemoteNodes
|
|
368
|
+
]);
|
|
300
369
|
(0, import_react_promise.usePromise)(async () => {
|
|
301
370
|
if (wallet) {
|
|
302
371
|
await BuildStandardNodes(wallet, (node) => {
|
|
@@ -304,81 +373,96 @@ var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
|
|
|
304
373
|
if (nodes2?.find((existingNode) => existingNode.config.name === node.config.name)) {
|
|
305
374
|
return;
|
|
306
375
|
}
|
|
307
|
-
return nodes2 ? [
|
|
376
|
+
return nodes2 ? [
|
|
377
|
+
...nodes2,
|
|
378
|
+
node
|
|
379
|
+
] : [
|
|
380
|
+
node
|
|
381
|
+
];
|
|
308
382
|
});
|
|
309
383
|
});
|
|
310
384
|
}
|
|
311
|
-
}, [
|
|
312
|
-
|
|
385
|
+
}, [
|
|
386
|
+
wallet
|
|
387
|
+
]);
|
|
388
|
+
const findAddressByName = /* @__PURE__ */ __name((name) => {
|
|
313
389
|
const validNetworkName = (0, import_react_shared6.assertDefinedEx)(name, "name was not defined");
|
|
314
390
|
return nodes?.find((node) => node.config.name === validNetworkName)?.address;
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
);
|
|
327
|
-
};
|
|
328
|
-
var StandardNodesProviderWithWallet = (props) => {
|
|
391
|
+
}, "findAddressByName");
|
|
392
|
+
const value = (0, import_react.useMemo)(() => ({
|
|
393
|
+
findAddressByName,
|
|
394
|
+
nodes,
|
|
395
|
+
provided: true
|
|
396
|
+
}), [
|
|
397
|
+
findAddressByName,
|
|
398
|
+
nodes
|
|
399
|
+
]);
|
|
400
|
+
return /* @__PURE__ */ import_react.default.createElement(StandardNodesContext.Provider, {
|
|
401
|
+
value
|
|
402
|
+
}, children);
|
|
403
|
+
}, "StandardNodesProvider");
|
|
404
|
+
var StandardNodesProviderWithWallet = /* @__PURE__ */ __name((props) => {
|
|
329
405
|
const { activeAccount } = (0, import_react_wallet.useWalletContext)();
|
|
330
|
-
return /* @__PURE__ */
|
|
331
|
-
|
|
406
|
+
return /* @__PURE__ */ import_react.default.createElement(StandardNodesProvider, {
|
|
407
|
+
wallet: activeAccount,
|
|
408
|
+
...props
|
|
409
|
+
});
|
|
410
|
+
}, "StandardNodesProviderWithWallet");
|
|
332
411
|
|
|
333
|
-
// src/contexts/StandardRemoteNodes/use.
|
|
412
|
+
// src/contexts/StandardRemoteNodes/use.ts
|
|
334
413
|
var import_react_shared7 = require("@xyo-network/react-shared");
|
|
335
|
-
var useStandardNodes = (required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required);
|
|
414
|
+
var useStandardNodes = /* @__PURE__ */ __name((required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required), "useStandardNodes");
|
|
336
415
|
|
|
337
416
|
// src/hooks/useActiveNodeAddress.ts
|
|
338
417
|
var import_react_node = require("@xyo-network/react-node");
|
|
339
418
|
var import_react2 = require("react");
|
|
340
|
-
var useActiveNodeAddress = (networkName) => {
|
|
419
|
+
var useActiveNodeAddress = /* @__PURE__ */ __name((networkName) => {
|
|
341
420
|
const [node] = (0, import_react_node.useProvidedNode)();
|
|
342
421
|
const { nodes, findAddressByName } = useStandardNodes();
|
|
343
422
|
const activeNodeAddress = (0, import_react2.useMemo)(() => {
|
|
344
423
|
if (node && nodes && findAddressByName && networkName) {
|
|
345
424
|
return findAddressByName(networkName);
|
|
346
425
|
}
|
|
347
|
-
}, [
|
|
426
|
+
}, [
|
|
427
|
+
findAddressByName,
|
|
428
|
+
networkName,
|
|
429
|
+
node,
|
|
430
|
+
nodes
|
|
431
|
+
]);
|
|
348
432
|
return activeNodeAddress;
|
|
349
|
-
};
|
|
433
|
+
}, "useActiveNodeAddress");
|
|
350
434
|
|
|
351
435
|
// src/components/ActiveStandardNode.tsx
|
|
352
|
-
var
|
|
353
|
-
var ActiveStandardNode = ({ children, nodeNameOrAddress }) => {
|
|
436
|
+
var ActiveStandardNode = /* @__PURE__ */ __name(({ children, nodeNameOrAddress }) => {
|
|
354
437
|
const { network } = (0, import_react_network2.useNetwork)();
|
|
355
438
|
const [node] = (0, import_react_node2.useWeakNodeFromNode)(nodeNameOrAddress);
|
|
356
439
|
const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = (0, import_react3.useState)();
|
|
357
440
|
const { nodes } = useStandardNodes();
|
|
358
441
|
const selectedNodeAddress = useActiveNodeAddress(network?.name);
|
|
359
|
-
(0, import_react_async_effect.useAsyncEffect)(
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
if (activeRemoteNodeAddress) {
|
|
371
|
-
await nodeInstance?.detach(activeRemoteNodeAddress);
|
|
372
|
-
}
|
|
373
|
-
setActiveRemoteNodeAddress(selectedNodeAddress);
|
|
442
|
+
(0, import_react_async_effect.useAsyncEffect)(async (mounted) => {
|
|
443
|
+
const nodeInstance = node?.deref();
|
|
444
|
+
if (nodeInstance && selectedNodeAddress) {
|
|
445
|
+
try {
|
|
446
|
+
if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
await nodeInstance?.attach(selectedNodeAddress, true);
|
|
450
|
+
if (mounted()) {
|
|
451
|
+
if (activeRemoteNodeAddress) {
|
|
452
|
+
await nodeInstance?.detach(activeRemoteNodeAddress);
|
|
374
453
|
}
|
|
375
|
-
|
|
376
|
-
console.error("Error Attaching Selected Node Address", e);
|
|
454
|
+
setActiveRemoteNodeAddress(selectedNodeAddress);
|
|
377
455
|
}
|
|
456
|
+
} catch (e) {
|
|
457
|
+
console.error("Error Attaching Selected Node Address", e);
|
|
378
458
|
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
459
|
+
}
|
|
460
|
+
}, [
|
|
461
|
+
activeRemoteNodeAddress,
|
|
462
|
+
node,
|
|
463
|
+
selectedNodeAddress,
|
|
464
|
+
nodes
|
|
465
|
+
]);
|
|
466
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, children);
|
|
467
|
+
}, "ActiveStandardNode");
|
|
384
468
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;ACAA,gCAA+B;AAE/B,IAAAA,wBAA2B;AAC3B,IAAAC,qBAAoC;AACpC,IAAAC,gBAAgC;;;ACJhC,0BAAgC;AAIzB,IAAMC,2BAAuBC,qCAAAA;;;ACJpC,2BAA2B;AAG3B,IAAAC,uBAAgC;AAChC,0BAAiC;AAEjC,mBAAoD;;;ACLpD,8BAAoF;AACpF,yBAAmD;AAEnD,yBAA2B;AAC3B,IAAAC,qBAAiC;AAEjC,IAAAC,uBAAgC;;;ACNhC,IAAAC,uBAAgC;AAChC,6BAAqD;AAG9C,IAAMC,kBAAN,MAAMA;EAJb,OAIaA;;;;;EACHC;EAER,YACUC,QACAC,SACR;SAFQD,SAAAA;SACAC,UAAAA;AAERC,8CAAgBF,QAAQ,wBAAA;EAC1B;EAEA,IAAIG,WAAW;AACb,eAAOD,sCAAgB,KAAKH,WAAW,wCAAA;EACzC;EAEA,aAAaK,OAAOJ,QAAwBC,SAAoD;AAC9F,UAAMI,WAAW,IAAI,KAAKL,QAAQC,OAAAA;AAClCI,aAASN,YAAY,MAAMM,SAASC,cAAa;AACjD,WAAOD;EACT;EAEA,MAAMC,gBAAgB;AACpB,UAAMC,SAAS,KAAKC,YAAW;AAC/B,WAAQ,MAAMC,sCAAeL,OAAOG,MAAAA;EACtC;EAEQC,cAAoC;AAC1C,WAAO;MACLP,SAAS,KAAKA;MACdD,QAAQ,KAAKA;IACf;EACF;AACF;;;ACnCA,6BAAqD;AACrD,+BAAuF;AAEvF,wBAA+B;AAC/B,IAAAU,uBAAgC;AAMzB,IAAMC,0BAAN,MAAMA;EAVb,OAUaA;;;;;;EACHC;EACAC;EAER,YACUC,QACAC,SACAC,MACR;SAHQF,SAAAA;SACAC,UAAAA;SACAC,OAAAA;EACP;EAEH,IAAIC,YAAY;AACd,eAAOC,sCAAgB,KAAKN,YAAY,uCAAA;EAC1C;EAEA,aAAaO,OAAOL,QAAgCC,SAA0BC,MAAoD;AAChI,UAAMI,WAAW,IAAI,KAAKN,QAAQC,SAASC,IAAAA;AAC3CI,aAASP,kBAAkB,MAAMO,SAASC,oBAAmB;AAC7DD,aAASR,aAAa,MAAMQ,SAASE,eAAc;AACnD,WAAOF;EACT;EAEA,MAAME,iBAAiB;AACrB,UAAMR,SAAS,KAAKS,YAAW;AAC/B,WAAQ,MAAMC,0CAAiBL,OAAO;MAAEJ,SAAS,KAAKA;MAASD;IAAO,CAAA;EACxE;EAEAS,cAAsC;AACpC,WAAO;MACLE,MAAM,KAAKX,OAAOW;MAClBC,WAAW,KAAKZ,OAAOY;MACvBC,SAAS;QACPC,QAAQ,KAAKf,kBAAkB;UAAC,KAAKA,iBAAiBgB;YAAWC;QACjEC,MAAM,KAAKlB,kBAAkB;UAAC,KAAKA,iBAAiBgB;YAAWC;MACjE;MACAE,QAAQC;MACRC,kBAAkB;MAClBC,MAAM;IACR;EACF;EAEA,MAAMd,sBAAsB;AAC1B,UAAML,WAAOoB,kCAAe,KAAKpB,MAAM,kBAAA;AACvC,UAAM,CAACqB,MAAAA,IAAW,MAAMrB,KAAKsB,QAAQ;MAAEb,MAAM;QAAC;;IAAoB,CAAA,KAAO,CAAA;AACzE,QAAIY,QAAQ;AACV,UAAI;AACF,cAAM,CAACpB,SAAAA,IAAc,MAAMoB,OAAOC,QAAQ;UAAEb,MAAM;YAAC;;QAAa,CAAA,KAAO,CAAA;AACvE,mBAAOc,4CAAoBtB,SAAAA;MAC7B,QAAQ;AACNuB,gBAAQC,MAAM,oCAAoC,KAAKzB,MAAMF,OAAOW,MAAM,KAAKX,MAAM;MACvF;IACF;EACF;AACF;;;AF5CO,IAAM4B,oBAAN,MAAMA;EAlBb,OAkBaA;;;EACHC;EAER,IAAIC,OAAO;AACT,eAAOC,sCAAgB,KAAKF,OAAO,wCAAA;EACrC;EAEA,aAAaG,OAAO,EAAEC,MAAMH,KAAI,GAA6BI,SAAuD;AAClH,UAAMC,WAAW,IAAI,KAAI;AAEzB,UAAMC,aAAyBN,QAAS,MAAMO,8BAAWL,OAAO;MAAEE;MAASI,QAAQ;QAAEL;QAAMM,QAAQC;MAAiB;IAAE,CAAA;AACtHL,aAASN,QAAQO;AACjB,WAAOD;EACT;;EAGA,MAAMM,aAAaP,SAA0BQ,YAAqBC,WAAoB;AACpF,UAAM,KAAKC,oBAAoBV,SAASQ,YAAYC,SAAAA;EACtD;EAEA,MAAME,mBAAmBH,YAAqBR,SAA2B;AACvE,UAAMI,SAAgC;MAAEL,MAAMS;MAAYH,QAAQO;IAA4B;AAC9F,UAAMC,kBAAkB,MAAMC,wCAAgBhB,OAAO;MAAEE;MAASI;IAAO,CAAA;AAEvE,UAAM,KAAKW,OAAOF,iBAAiB,IAAA;EACrC;EAEA,MAAMH,oBAAoBV,SAA0BQ,YAAqBC,WAAoB;AAC3F,UAAML,SAAS;MAAEL,MAAMS;MAAYC;IAAU;AAC7C,UAAM,EAAEO,UAAS,IAAK,MAAMC,wBAAwBnB,OAAOM,QAAQJ,SAAS,KAAKJ,IAAI;AAErF,UAAM,KAAKmB,OAAOC,WAAW,IAAA;EAC/B;EAEA,MAAME,UAAUC,WAAmBX,aAAa,oBAAoBR,SAA2B;AAC7F,QAAI;AACF,YAAMoB,SAAS,MAAMC,8BAAWvB,OAAO;QACrCE;QACAI,QAAQ;UAAEL,MAAMS;UAAYc,SAAS,GAAGH,SAAAA;UAAkBd,QAAQkB;UAAwBC,UAAU;YAAEC,gBAAgB;UAAK;QAAE;MAC/H,CAAA;AACA,YAAM,KAAKV,OAAOK,QAAQ,IAAA;IAC5B,SAASM,GAAG;AACVC,cAAQC,MAAM,yBAAyBF,CAAAA;IACzC;EACF;EAEA,MAAMG,YAAYzB,QAAwBJ,SAA0B;AAClE,UAAM,EAAE8B,SAAQ,IAAK,MAAMC,gBAAgBjC,OAAOM,QAAQJ,OAAAA;AAC1D,UAAM,KAAKe,OAAOe,UAAU,MAAM,IAAA;AAClC,WAAOA;EACT;EAEA,MAAME,aAAaC,mBAA6CC,YAA0D,CAAA,GAAI;AAC5H,UAAMC,QAAQC,IACZH,kBAAkBC,UAAS,EAAGG,IAAI,OAAOC,WAAWC,UAAAA;AAElD,YAAMC,UAAU,MAAMN,YAAYK,KAAAA,IAAM;AACxC,UAAIC,SAAS;AACX,YAAI;AACF,gBAAM,KAAKC,eAAeD,OAAAA;AAC1B,gBAAM,KAAK5C,KAAK8C,SAASF,OAAAA;AACzB,gBAAM,KAAK5C,KAAKmB,OAAOyB,QAAQG,SAAS,IAAA;QAC1C,SAASjB,GAAG;AACVC,kBAAQC,MAAM,2BAA2BgB,KAAKC,UAAUP,WAAW,MAAM,CAAA,GAAIZ,CAAAA;QAC/E;MACF;IACF,CAAA,CAAA;EAEJ;EAEA,MAAMX,OAAO+B,KAA+BC,UAAoBC,YAAsB;AACpF,QAAI;AACF,UAAIA,YAAY;AACd,cAAMC,kBAAkB,MAAM,KAAKrD,KAAKsD,QAAQ;UAAEP,SAAS;YAACG,IAAIH;;QAAS,CAAA,GAAIQ,IAAG;AAChF,YAAIF,gBAAgB;AAClB,gBAAM,KAAKrD,KAAKwD,OAAOH,eAAeN,OAAO;AAC7C,gBAAM,KAAK/C,KAAKyD,WAAWJ,cAAAA;QAC7B;MACF;AACA,YAAM,KAAKrD,KAAK8C,SAASI,GAAAA;AACzB,YAAM,KAAKlD,KAAKmB,OAAO+B,IAAIH,SAASI,QAAAA;IACtC,SAASrB,GAAG;AACV,YAAM,IAAI4B,MAAM,gBAAgBR,IAAI1C,OAAOL,QAAQ+C,IAAIH,OAAO,mBAAmBjB,CAAAA,EAAG;IACtF;EACF;EAEA,MAAce,eAAeD,SAAwB;AACnD,SAAK,MAAM,KAAK5C,KAAK2D,WAAU,GAAIC,SAAShB,QAAQG,OAAO,GAAG;AAC5D,YAAM,CAACc,eAAAA,IAAmB,MAAM,KAAK7D,KAAKsD,QAAQ;QAAEP,SAAS;UAACH,QAAQG;;MAAS,CAAA;AAC/E,YAAM,KAAK/C,KAAKyD,WAAWI,eAAAA;IAC7B;EACF;AACF;;;AG9GA,2BAAsC;AACtC,IAAAC,uBAAgC;;;ACFzB,IAAMC,aAAa;AAEnB,IAAMC,uBAAuB;;;ACA7B,IAAMC,uBAAuB;AAE7B,IAAMC,wBAAgD;EAC3DC,UAAU;EACVC,OAAO;EACPC,MAAM;AACR;AAEO,IAAMC,iCAAyE;EACpFH,UAAU;IACRI,YAAY;IACZ,CAACC,oBAAAA,GAAuB;EAC1B;EACAJ,OAAO;IACLG,YAAY;IACZ,CAACC,oBAAAA,GAAuB;EAC1B;EACAH,MAAM;IACJE,YAAY;IACZ,CAACC,oBAAAA,GAAuB;EAC1B;AACF;;;AFdA,IAAMC,mBAAmB,6BAAA;AACvB,QAAMC,eAAeC,2CAAsBC,IAAIC,CAAAA,WAAUA,OAAOC,IAAI;AACpE,SAAOJ,aAAaE,IAAI,CAACG,gBAAAA;AACvB,UAAMD,WAAOE,sCAAwBD,aAAa,gCAAA;AAClD,UAAME,MAAMN,2CAAsBO,KAAKL,CAAAA,WAAUA,OAAOC,SAASC,WAAAA,GAAcI,OAAOC,OAAOC,CAAAA,SAAQA,KAAKC,SAAS,WAAA,EAAa,CAAA,EAAGL;AACnI,UAAMM,gBAAYP,sCAAwBC,KAAK,iDAAA;AAC/C,WAAO;MACLM;MACAT;IACF;EACF,CAAA;AACF,GAXyB;AAalB,IAAMU,qBAAqB,8BAAOC,QAAwBC,gBAAAA;AAC/D,MAAI;AACF,WAAO,MAAMC,QAAQC,IACnBnB,iBAAAA,EAAmBG,IAAI,OAAO,EAAEW,WAAWT,KAAI,MAAE;AAC/C,YAAMe,mBAAmBC,sBAAsBhB,IAAAA;AAC/C,YAAMiB,mBAAmB,MAAMN,OAAOO,aAAaH,gBAAAA;AAEnD,YAAMI,oBAAoB,MAAMC,kBAAkBC,OAAO;QAAErB;MAAK,GAAG,MAAMiB,iBAAiBC,aAAa,GAAA,CAAA;AACvG,YAAMC,kBAAkBG,UAAUb,SAAAA;AAElC,YAAMc,oBAAoB,GAAGR,gBAAAA,IAAoBS,+BAA+BxB,IAAAA,EAAMyB,oBAAAA,CAAqB;AAC3G,YAAMC,uBAAuB,MAAMf,OAAOO,aAAaK,iBAAAA;AACvD,YAAMJ,kBAAkBQ,oBAAoBD,sBAAsBD,sBAAsB,MAAA;AAExF,YAAM,EAAElB,KAAI,IAAKY;AACjBjB,gDAAgBK,MAAM,wCAAA;AACtBK,oBAAcL,IAAAA;AAEd,aAAOA;IACT,CAAA,CAAA;EAEJ,SAASqB,GAAG;AACV,UAAM,IAAIC,MAAM,sCAAsCD,CAAAA,EAAG;EAC3D;AACF,GAxBkC;;;AJL3B,IAAME,wBAA8D,wBAAC,EAAEC,UAAUC,oBAAoBC,OAAM,MAAE;AAClH,QAAM,CAACC,OAAOC,QAAAA,QAAYC,uBAAsCJ,kBAAAA;AAEhEK,8BAAU,MAAA;AACRF,aAASH,kBAAAA;EACX,GAAG;IAACA;GAAmB;AAEvBM,uCAAW,YAAA;AACT,QAAIL,QAAQ;AACV,YAAMM,mBAAmBN,QAAQ,CAACO,SAAAA;AAChCL,iBAAS,CAACD,WAAAA;AACR,cAAIA,QAAOO,KAAKC,CAAAA,iBAAgBA,aAAaC,OAAOC,SAASJ,KAAKG,OAAOC,IAAI,GAAG;AAC9E;UACF;AACA,iBAAOV,SAAQ;eAAIA;YAAOM;cAAQ;YAACA;;QACrC,CAAA;MACF,CAAA;IACF;EACF,GAAG;IAACP;GAAO;AAEX,QAAMY,oBAAoB,wBAACD,SAAAA;AACzB,UAAME,uBAAmBC,sCAAgBH,MAAM,sBAAA;AAC/C,WAAOV,OAAOO,KAAKD,CAAAA,SAAQA,KAAKG,OAAOC,SAASE,gBAAAA,GAAmBE;EACrE,GAH0B;AAK1B,QAAMC,YAAQC,sBAAQ,OAAO;IAAEL;IAC7BX;IACAiB,UAAU;EAAK,IAAI;IAACN;IACpBX;GAAM;AAER,SACE,6BAAAkB,QAAA,cAACC,qBAAqBC,UAAQ;IAC5BL;KAEClB,QAAAA;AAGP,GArC2E;AAuCpE,IAAMwB,kCAAwF,wBAACC,UAAAA;AACpG,QAAM,EAAEC,cAAa,QAAKC,sCAAAA;AAC1B,SAAO,6BAAAN,QAAA,cAACtB,uBAAAA;IAAsBG,QAAQwB;IAAgB,GAAGD;;AAC3D,GAHqG;;;AOxDrG,IAAAG,uBAA6B;AAItB,IAAMC,mBAAmB,wBAACC,WAAW,cAAUC,mCAAaC,sBAAsB,iBAAiBF,QAAAA,GAA1E;;;ACJhC,wBAAgC;AAChC,IAAAG,gBAAwB;AAIjB,IAAMC,uBAAuB,wBAACC,gBAAAA;AACnC,QAAM,CAACC,IAAAA,QAAQC,mCAAAA;AACf,QAAM,EAAEC,OAAOC,kBAAiB,IAAKC,iBAAAA;AAErC,QAAMC,wBAAoBC,uBAAQ,MAAA;AAChC,QAAIN,QAAQE,SAASC,qBAAqBJ,aAAa;AACrD,aAAOI,kBAAkBJ,WAAAA;IAC3B;EACF,GAAG;IAACI;IAAmBJ;IAAaC;IAAME;GAAM;AAEhD,SAAOG;AACT,GAXoC;;;AVQ7B,IAAME,qBAAwD,wBAAC,EAAEC,UAAUC,kBAAiB,MAAE;AACnG,QAAM,EAAEC,QAAO,QAAKC,kCAAAA;AACpB,QAAM,CAACC,IAAAA,QAAQC,wCAAoBJ,iBAAAA;AACnC,QAAM,CAACK,yBAAyBC,0BAAAA,QAA8BC,wBAAAA;AAC9D,QAAM,EAAEC,MAAK,IAAKC,iBAAAA;AAElB,QAAMC,sBAAsBC,qBAAqBV,SAASW,IAAAA;AAG1DC,gDACE,OAAOC,YAAAA;AACL,UAAMC,eAAeZ,MAAMa,MAAAA;AAC3B,QAAID,gBAAgBL,qBAAqB;AACvC,UAAI;AACF,aAAK,MAAMK,cAAcE,SAAAA,IAAaC,SAASR,mBAAAA,GAAsB;AACnE;QACF;AACA,cAAMK,cAAcI,OAAOT,qBAAqB,IAAA;AAEhD,YAAII,QAAAA,GAAW;AAEb,cAAIT,yBAAyB;AAC3B,kBAAMU,cAAcK,OAAOf,uBAAAA;UAC7B;AACAC,qCAA2BI,mBAAAA;QAC7B;MACF,SAASW,GAAG;AACVC,gBAAQC,MAAM,yCAAyCF,CAAAA;MACzD;IACF;EACF,GACA;IAAChB;IAAyBF;IAAMO;IAAqBF;GAAM;AAG7D,SAAO,8BAAAgB,QAAA,cAAA,cAAAA,QAAA,UAAA,MAAGzB,QAAAA;AACZ,GAnCqE;","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/browser/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/browser/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
|
package/dist/browser/index.d.ts
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
|