@xyo-network/os-runtime 3.0.1 → 3.0.3
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/neutral/index.d.ts +1 -1
- package/dist/neutral/index.mjs +263 -97
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +6 -6
- package/src/Caller.ts +5 -2
- package/src/DefaultsQueries.ts +6 -2
- package/src/XyOs.ts +19 -9
- package/src/XyOsBase.ts +10 -3
- package/src/XyOsDapp.ts +9 -3
- package/src/access-interfaces/ValidDappAccessInterfaces.ts +4 -4
- package/src/access-interfaces/registered-names/helpers/AccessNodeQueries.ts +6 -2
- package/src/access-interfaces/registered-names/helpers/resource/RegistrationsResource.ts +8 -8
- package/src/adapter/Base.ts +11 -3
- package/src/adapters/OsPubSubBridgeNetwork.ts +3 -1
- package/src/classes/cache/RunningDappCache.ts +9 -3
- package/src/classes/dapp/DefaultsResource.ts +9 -3
- package/src/classes/dapp/access/Caller.ts +5 -4
- package/src/classes/dapp/access/Queries.ts +6 -2
- package/src/classes/dapp/access/Resource.ts +9 -3
- package/src/classes/lib/DappCreatorParams.ts +3 -1
- package/src/classes/lib/Insertable.ts +5 -7
- package/src/classes/menu/Caller.ts +5 -2
- package/src/classes/menu/Queries.ts +5 -2
- package/src/classes/menu/Resource.ts +12 -4
- package/src/classes/node/Creator.ts +19 -7
- package/src/classes/node/DefaultPayloads/DappAccessPayloads.ts +3 -1
- package/src/classes/node/DefaultPayloads/DefaultPayloads.ts +3 -1
- package/src/classes/node/DefaultPayloads/NodeInfoPayload.ts +3 -1
- package/src/classes/node/DefaultPayloads/SigningKeyPayloads.ts +9 -10
- package/src/classes/node/ExternalModulePermissions/ExternalModulePermissions.ts +6 -2
- package/src/classes/node/createDappContext.ts +9 -3
- package/src/classes/registration/DappRegistrationService.ts +25 -7
- package/src/classes/registration/DappRegistry.ts +16 -8
- package/src/classes/registration/ValidateDappAccessDiviner/Config.ts +10 -3
- package/src/classes/registration/ValidateDappAccessDiviner/Diviner.ts +13 -5
- package/src/classes/settings/Caller.ts +3 -1
- package/src/classes/settings/Resource.ts +9 -3
- package/src/classes/settings/SettingsQueries.ts +6 -2
- package/src/classes/settings/badge/Resource.ts +5 -7
- package/src/classes/system/ManageSystemDapps.ts +7 -2
- package/src/classes/system/Queries.ts +2 -1
- package/src/event/bus/Connection.ts +3 -1
- package/src/event/bus/EventBus.ts +13 -4
- package/src/helpers/monitor/XyOsMonitor.ts +9 -7
- package/src/helpers/monitor/types.ts +4 -1
- package/src/intent/Caller.ts +6 -2
- package/src/intent/Resource.ts +6 -2
- package/src/lib/ModuleAccountPaths.ts +6 -10
- package/src/lib/PayloadStore.ts +9 -3
- package/src/lib/isPayload.ts +3 -1
- package/src/manifest/ManifestReplaceableTokens.ts +4 -3
- package/src/profileModuleEvents.ts +6 -2
- package/src/stack/Base.ts +18 -6
- package/src/stack/Manager.ts +8 -8
- package/src/stack/Map.ts +3 -1
- package/src/stack/OsPubSubNetworkStack.ts +12 -4
- package/src/stack/OsSettingsStack.ts +6 -2
- package/src/stack/XyoPublicNetworkStack.ts +6 -2
- package/src/utils/buildWalletSeedPhrasePayload.ts +22 -6
- package/src/wallet/DappSeedPhraseRepository.ts +6 -2
package/dist/neutral/index.mjs
CHANGED
|
@@ -26,7 +26,10 @@ import { ModuleFactoryLocator as ModuleFactoryLocator5 } from "@xyo-network/modu
|
|
|
26
26
|
|
|
27
27
|
// src/classes/registration/DappRegistrationService.ts
|
|
28
28
|
import { forget as forget2 } from "@xylabs/forget";
|
|
29
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
fulfilled,
|
|
31
|
+
rejected
|
|
32
|
+
} from "@xylabs/promise";
|
|
30
33
|
import { ModuleFactoryLocator as ModuleFactoryLocator3 } from "@xyo-network/module-factory-locator";
|
|
31
34
|
import {
|
|
32
35
|
DappIntentTypes,
|
|
@@ -58,7 +61,11 @@ var EventBusConnection = class extends BaseEmitter {
|
|
|
58
61
|
// src/event/bus/EventBus.ts
|
|
59
62
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
60
63
|
import { forget } from "@xylabs/forget";
|
|
61
|
-
import {
|
|
64
|
+
import {
|
|
65
|
+
asArchivistInstance,
|
|
66
|
+
MemoryArchivist,
|
|
67
|
+
MemoryArchivistConfigSchema
|
|
68
|
+
} from "@xyo-network/archivist";
|
|
62
69
|
import {
|
|
63
70
|
isEventBusEvent,
|
|
64
71
|
isPubSubConnections
|
|
@@ -100,7 +107,12 @@ var EventBus = class {
|
|
|
100
107
|
delete this.connections[connectionId];
|
|
101
108
|
}
|
|
102
109
|
async start(storeName = "EventBusArchivist") {
|
|
103
|
-
this._archivist = await MemoryArchivist.create({
|
|
110
|
+
this._archivist = await MemoryArchivist.create({
|
|
111
|
+
config: {
|
|
112
|
+
name: storeName,
|
|
113
|
+
schema: MemoryArchivistConfigSchema
|
|
114
|
+
}
|
|
115
|
+
});
|
|
104
116
|
this.archivist.on("inserted", ({ payloads }) => {
|
|
105
117
|
const eventBusEvent = payloads.find(isEventBusEvent);
|
|
106
118
|
if (!eventBusEvent) return;
|
|
@@ -121,7 +133,10 @@ var EventBus = class {
|
|
|
121
133
|
handlePublisherAdd(connection) {
|
|
122
134
|
for (const eventName of connection.publishableEvents ?? []) {
|
|
123
135
|
const connectionPublisherCallback = async ({ payloads }) => {
|
|
124
|
-
const event = {
|
|
136
|
+
const event = {
|
|
137
|
+
name: eventName,
|
|
138
|
+
schema: "network.xyo.event.bus.event"
|
|
139
|
+
};
|
|
125
140
|
const eventPayloads = payloads ?? [];
|
|
126
141
|
event.sources = await PayloadBuilder.dataHashes(eventPayloads);
|
|
127
142
|
try {
|
|
@@ -207,7 +222,10 @@ var osXyoPublicNetworkReadyConnection = () => new EventBusPubSubConnection(osXyo
|
|
|
207
222
|
|
|
208
223
|
// src/intent/Caller.ts
|
|
209
224
|
import { PayloadDivinerQuerySchema } from "@xyo-network/diviner-payload-model";
|
|
210
|
-
import {
|
|
225
|
+
import {
|
|
226
|
+
DappIntentSchema,
|
|
227
|
+
DappMode
|
|
228
|
+
} from "@xyo-network/os-model";
|
|
211
229
|
|
|
212
230
|
// src/DappCallerBase.ts
|
|
213
231
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
@@ -359,15 +377,9 @@ var NodeSentinel = "NodeSentinel";
|
|
|
359
377
|
|
|
360
378
|
// src/lib/ModuleAccountPaths.ts
|
|
361
379
|
var RemoteNodeArchivistOffsetPaths = {
|
|
362
|
-
Kerplunk: {
|
|
363
|
-
|
|
364
|
-
}
|
|
365
|
-
Local: {
|
|
366
|
-
[DevelopArchivist]: "115"
|
|
367
|
-
},
|
|
368
|
-
Main: {
|
|
369
|
-
[DevelopArchivist]: "121"
|
|
370
|
-
}
|
|
380
|
+
Kerplunk: { [DevelopArchivist]: "118" },
|
|
381
|
+
Local: { [DevelopArchivist]: "115" },
|
|
382
|
+
Main: { [DevelopArchivist]: "121" }
|
|
371
383
|
};
|
|
372
384
|
var ModuleOffsetPaths = {
|
|
373
385
|
IdWitness: "1",
|
|
@@ -422,7 +434,11 @@ var PayloadStore = class {
|
|
|
422
434
|
/**
|
|
423
435
|
* Initialize listeners on the archivist that update class member variables when new payloads are inserted
|
|
424
436
|
*/
|
|
425
|
-
static async create({
|
|
437
|
+
static async create({
|
|
438
|
+
archivist,
|
|
439
|
+
getLatest,
|
|
440
|
+
idFunction
|
|
441
|
+
}) {
|
|
426
442
|
const instance = new this(archivist);
|
|
427
443
|
const insertListener = async ({ payloads }) => {
|
|
428
444
|
if (payloads.some(idFunction)) {
|
|
@@ -843,12 +859,18 @@ var XyOsDapp = class extends XyOsContextBase {
|
|
|
843
859
|
assertEx8(this._root === void 0, () => "Dapp already booted");
|
|
844
860
|
const finalLocator = locator ? (this.params.locator ?? new ModuleFactoryLocator2()).merge(locator) : this.params.locator ?? new ModuleFactoryLocator2();
|
|
845
861
|
console.log("XyOsDapp:boot:finalLocator", finalLocator);
|
|
846
|
-
const dappNodesWrapper = new ManifestWrapper({
|
|
862
|
+
const dappNodesWrapper = new ManifestWrapper({
|
|
863
|
+
...this.manifest,
|
|
864
|
+
schema: DappPackageManifestPayloadSchema
|
|
865
|
+
}, wallet, finalLocator);
|
|
847
866
|
const dappNodes = await dappNodesWrapper.loadNodes();
|
|
848
867
|
const dappManifestWallet = await wallet.derivePath("99999");
|
|
849
868
|
dapp_window_manifest_default.nodes[0].config.name = this.dapp.name + "Root";
|
|
850
869
|
const wrapper = new ManifestWrapper(
|
|
851
|
-
{
|
|
870
|
+
{
|
|
871
|
+
...dapp_window_manifest_default,
|
|
872
|
+
schema: DappPackageManifestPayloadSchema
|
|
873
|
+
},
|
|
852
874
|
dappManifestWallet,
|
|
853
875
|
finalLocator
|
|
854
876
|
);
|
|
@@ -1046,7 +1068,10 @@ var ValidateDappAccessDivinerConfigSchema = "network.xyo.os.dapp.access.registra
|
|
|
1046
1068
|
// src/classes/registration/ValidateDappAccessDiviner/Diviner.ts
|
|
1047
1069
|
import { HDWallet as HDWallet2 } from "@xyo-network/account";
|
|
1048
1070
|
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
1049
|
-
import {
|
|
1071
|
+
import {
|
|
1072
|
+
ManifestWrapper as ManifestWrapper2,
|
|
1073
|
+
PackageManifestPayloadSchema
|
|
1074
|
+
} from "@xyo-network/manifest";
|
|
1050
1075
|
import {
|
|
1051
1076
|
isDappPackageManifestPayload,
|
|
1052
1077
|
isUnregisteredDappAccess,
|
|
@@ -1097,7 +1122,11 @@ var ValidateDappAccessDiviner = class extends AbstractDiviner {
|
|
|
1097
1122
|
}
|
|
1098
1123
|
} catch (e) {
|
|
1099
1124
|
failedAccessors.push(
|
|
1100
|
-
await PayloadBuilder4.build({
|
|
1125
|
+
await PayloadBuilder4.build({
|
|
1126
|
+
accessor: access,
|
|
1127
|
+
errorMessage: e.message,
|
|
1128
|
+
schema: FailedAccessorSchema
|
|
1129
|
+
})
|
|
1101
1130
|
);
|
|
1102
1131
|
}
|
|
1103
1132
|
}
|
|
@@ -1147,7 +1176,15 @@ var DappRegistry = class {
|
|
|
1147
1176
|
**/
|
|
1148
1177
|
async registerDapp(dapp) {
|
|
1149
1178
|
if (dapp) {
|
|
1150
|
-
const {
|
|
1179
|
+
const {
|
|
1180
|
+
exposedModuleIds,
|
|
1181
|
+
manifest,
|
|
1182
|
+
modes,
|
|
1183
|
+
name,
|
|
1184
|
+
version,
|
|
1185
|
+
params,
|
|
1186
|
+
widgetConfigs
|
|
1187
|
+
} = this.extractDappProperties(dapp);
|
|
1151
1188
|
try {
|
|
1152
1189
|
const walletId = await this.dappSeedPhraseRepository.findOrCreate(name);
|
|
1153
1190
|
const registeredAccessors = await this.validateDappAccessPayloads(manifest, dapp.accessors, params);
|
|
@@ -1190,9 +1227,29 @@ var DappRegistry = class {
|
|
|
1190
1227
|
this.dappRegistry.delete(dappId);
|
|
1191
1228
|
}
|
|
1192
1229
|
extractDappProperties(dapp) {
|
|
1193
|
-
const {
|
|
1194
|
-
|
|
1195
|
-
|
|
1230
|
+
const {
|
|
1231
|
+
params,
|
|
1232
|
+
config,
|
|
1233
|
+
widgetConfigs
|
|
1234
|
+
} = dapp;
|
|
1235
|
+
const {
|
|
1236
|
+
exposedModuleIds,
|
|
1237
|
+
manifest,
|
|
1238
|
+
modes,
|
|
1239
|
+
name,
|
|
1240
|
+
sources,
|
|
1241
|
+
version
|
|
1242
|
+
} = config;
|
|
1243
|
+
return {
|
|
1244
|
+
exposedModuleIds,
|
|
1245
|
+
manifest,
|
|
1246
|
+
modes,
|
|
1247
|
+
name,
|
|
1248
|
+
params,
|
|
1249
|
+
sources,
|
|
1250
|
+
version,
|
|
1251
|
+
widgetConfigs
|
|
1252
|
+
};
|
|
1196
1253
|
}
|
|
1197
1254
|
async validateDappAccessPayloads(manifest, accessors = [], params) {
|
|
1198
1255
|
const validateDappAccess = await ValidateDappAccessDiviner.create({
|
|
@@ -1212,7 +1269,11 @@ var DappRegistry = class {
|
|
|
1212
1269
|
|
|
1213
1270
|
// src/classes/registration/DappRegistrationService.ts
|
|
1214
1271
|
var DappRegistrationService = class {
|
|
1215
|
-
constructor(context, params = {
|
|
1272
|
+
constructor(context, params = {
|
|
1273
|
+
dappNames: [],
|
|
1274
|
+
dappParams: {},
|
|
1275
|
+
dappPayloads: []
|
|
1276
|
+
}, locator = new ModuleFactoryLocator3(), developmentMode) {
|
|
1216
1277
|
this.context = context;
|
|
1217
1278
|
this.params = params;
|
|
1218
1279
|
this.locator = locator;
|
|
@@ -1243,7 +1304,15 @@ var DappRegistrationService = class {
|
|
|
1243
1304
|
dappAccessRequestConnection = dappAccessRequestConnection();
|
|
1244
1305
|
exposeDappRequestConnection = exposeDappRequestConnection();
|
|
1245
1306
|
buildDapp(manifest, dappId = NameTransforms.slug(manifest.nodes[0]?.config.name), name = NameTransforms.moduleName(manifest.nodes[0]?.config.name)) {
|
|
1246
|
-
const dapp = new XyOsDapp({
|
|
1307
|
+
const dapp = new XyOsDapp({
|
|
1308
|
+
dapp: {
|
|
1309
|
+
id: dappId,
|
|
1310
|
+
name
|
|
1311
|
+
},
|
|
1312
|
+
locator: this.locator,
|
|
1313
|
+
manifest,
|
|
1314
|
+
parent: this.context
|
|
1315
|
+
});
|
|
1247
1316
|
this.builtDapps[dappId] = dapp;
|
|
1248
1317
|
return dapp;
|
|
1249
1318
|
}
|
|
@@ -1257,7 +1326,10 @@ var DappRegistrationService = class {
|
|
|
1257
1326
|
activeDapps.map(async (dappSet) => {
|
|
1258
1327
|
const { dapp } = dappSet;
|
|
1259
1328
|
const registeredDapp = await this.dappRegistry.registerDapp(dapp);
|
|
1260
|
-
const result = {
|
|
1329
|
+
const result = {
|
|
1330
|
+
dapp: registeredDapp,
|
|
1331
|
+
dappIcon: dapp.icon
|
|
1332
|
+
};
|
|
1261
1333
|
const forgetHandlers = async () => {
|
|
1262
1334
|
try {
|
|
1263
1335
|
await this.postRegistrationHandlers(result);
|
|
@@ -1272,7 +1344,10 @@ var DappRegistrationService = class {
|
|
|
1272
1344
|
const failed = results.filter(rejected).map((result) => result.reason);
|
|
1273
1345
|
const succeeded = results.filter(fulfilled).map((result) => result.value);
|
|
1274
1346
|
for (const registeredDapp of succeeded) this.registeredDappSets.add(registeredDapp);
|
|
1275
|
-
return {
|
|
1347
|
+
return {
|
|
1348
|
+
failed,
|
|
1349
|
+
succeeded
|
|
1350
|
+
};
|
|
1276
1351
|
}
|
|
1277
1352
|
addConnectionRequests() {
|
|
1278
1353
|
this.context.eventBus.addConnection(this.dappAccessRequestConnection);
|
|
@@ -1306,9 +1381,7 @@ import { ModuleFactoryLocator as ModuleFactoryLocator4 } from "@xyo-network/modu
|
|
|
1306
1381
|
|
|
1307
1382
|
// src/manifest/ManifestReplaceableTokens.ts
|
|
1308
1383
|
import { getXnsDomain } from "@xyo-network/kernel";
|
|
1309
|
-
var ManifestReplaceableTokens = (xnsNodeUrl, xnsNetwork) => ({
|
|
1310
|
-
"[REPLACE_WITH_NS_NODE_URL]": getXnsDomain(xnsNodeUrl, xnsNetwork)
|
|
1311
|
-
});
|
|
1384
|
+
var ManifestReplaceableTokens = (xnsNodeUrl, xnsNetwork) => ({ "[REPLACE_WITH_NS_NODE_URL]": getXnsDomain(xnsNodeUrl, xnsNetwork) });
|
|
1312
1385
|
var ReplaceManifestTokens = (manifest, xnsNodeUrl, xnsNetwork) => {
|
|
1313
1386
|
let stringifiedManifestReplaced = JSON.stringify(manifest);
|
|
1314
1387
|
for (const [token, value] of Object.entries(ManifestReplaceableTokens(xnsNodeUrl, xnsNetwork))) {
|
|
@@ -1493,7 +1566,6 @@ var StackBase = class extends BaseEmitter3 {
|
|
|
1493
1566
|
// list of initialized nodes
|
|
1494
1567
|
initializedNodes = [];
|
|
1495
1568
|
// list of listeners - lister type not important since its only recalled to stop listening
|
|
1496
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1497
1569
|
listeners = [];
|
|
1498
1570
|
constructor(context, adapterSet, stackNodeModuleId) {
|
|
1499
1571
|
super({});
|
|
@@ -1518,13 +1590,21 @@ var StackBase = class extends BaseEmitter3 {
|
|
|
1518
1590
|
for (const adapter of this.adapterSet) {
|
|
1519
1591
|
const driverReadyListener = async ({ node }) => await this.handleDriverReady(node);
|
|
1520
1592
|
adapter.on("driverReady", driverReadyListener);
|
|
1521
|
-
this.listeners.push({
|
|
1593
|
+
this.listeners.push({
|
|
1594
|
+
adapter,
|
|
1595
|
+
eventName: "driverReady",
|
|
1596
|
+
listener: driverReadyListener
|
|
1597
|
+
});
|
|
1522
1598
|
const driverErrorListener = async ({ error }) => {
|
|
1523
1599
|
console.error(`Error updating ${this.stackNodeModuleId} stack node`, error);
|
|
1524
1600
|
await this.emit("driverError", { error });
|
|
1525
1601
|
};
|
|
1526
1602
|
adapter.on("driverError", driverErrorListener);
|
|
1527
|
-
this.listeners.push({
|
|
1603
|
+
this.listeners.push({
|
|
1604
|
+
adapter,
|
|
1605
|
+
eventName: "driverError",
|
|
1606
|
+
listener: driverErrorListener
|
|
1607
|
+
});
|
|
1528
1608
|
const startAdapter = async () => await adapter.start();
|
|
1529
1609
|
forget3(startAdapter());
|
|
1530
1610
|
}
|
|
@@ -1533,7 +1613,11 @@ var StackBase = class extends BaseEmitter3 {
|
|
|
1533
1613
|
* Stops the stack
|
|
1534
1614
|
*/
|
|
1535
1615
|
stop() {
|
|
1536
|
-
for (const {
|
|
1616
|
+
for (const {
|
|
1617
|
+
eventName,
|
|
1618
|
+
listener,
|
|
1619
|
+
adapter
|
|
1620
|
+
} of this.listeners) {
|
|
1537
1621
|
adapter.off(eventName, listener);
|
|
1538
1622
|
}
|
|
1539
1623
|
}
|
|
@@ -1595,7 +1679,10 @@ var StackManager = class {
|
|
|
1595
1679
|
}
|
|
1596
1680
|
initialize(context) {
|
|
1597
1681
|
for (const [key, stackSet] of Object.entries(this.stackMap)) {
|
|
1598
|
-
const {
|
|
1682
|
+
const {
|
|
1683
|
+
stack: Stack,
|
|
1684
|
+
adapters: stackNodeModuleId
|
|
1685
|
+
} = stackSet;
|
|
1599
1686
|
const initializedStack = new Stack(context, stackNodeModuleId);
|
|
1600
1687
|
initializedStack.initialize();
|
|
1601
1688
|
this.stacks.set(key, initializedStack);
|
|
@@ -1609,7 +1696,10 @@ var StackManager = class {
|
|
|
1609
1696
|
};
|
|
1610
1697
|
|
|
1611
1698
|
// src/adapters/OsPubSubBridgeNetwork.ts
|
|
1612
|
-
import {
|
|
1699
|
+
import {
|
|
1700
|
+
ExposedNodeOuterNodeName,
|
|
1701
|
+
PubSubBridgeNodeNodeName
|
|
1702
|
+
} from "@xyo-network/os-model";
|
|
1613
1703
|
|
|
1614
1704
|
// src/adapter/Base.ts
|
|
1615
1705
|
import { assertEx as assertEx10 } from "@xylabs/assert";
|
|
@@ -1731,8 +1821,14 @@ var OsXyoPublicNetworkAdapters = (kernel) => [
|
|
|
1731
1821
|
|
|
1732
1822
|
// src/stack/OsPubSubNetworkStack.ts
|
|
1733
1823
|
import { assertEx as assertEx11 } from "@xylabs/assert";
|
|
1734
|
-
import {
|
|
1735
|
-
|
|
1824
|
+
import {
|
|
1825
|
+
asAttachableNodeInstance as asAttachableNodeInstance3,
|
|
1826
|
+
asNodeInstance
|
|
1827
|
+
} from "@xyo-network/node-model";
|
|
1828
|
+
import {
|
|
1829
|
+
ExposedNodeOuterNodeName as ExposedNodeOuterNodeName2,
|
|
1830
|
+
PubSubBridgeNodeNodeName as PubSubBridgeNodeNodeName2
|
|
1831
|
+
} from "@xyo-network/os-model";
|
|
1736
1832
|
var OsPubSubNetworkStack = class extends StackBase {
|
|
1737
1833
|
_exposedNode;
|
|
1738
1834
|
_exposedNodeOuter;
|
|
@@ -1843,8 +1939,14 @@ var XyOs = class _XyOs extends XyOsContextBase {
|
|
|
1843
1939
|
_locator;
|
|
1844
1940
|
dappRegistrationService;
|
|
1845
1941
|
stackManager;
|
|
1846
|
-
constructor({
|
|
1847
|
-
|
|
1942
|
+
constructor({
|
|
1943
|
+
eventBus = new EventBus(),
|
|
1944
|
+
...params
|
|
1945
|
+
}, dappsConfiguration, developmentMode) {
|
|
1946
|
+
super({
|
|
1947
|
+
eventBus,
|
|
1948
|
+
...params
|
|
1949
|
+
});
|
|
1848
1950
|
this._locator = params.locator ?? new ModuleFactoryLocator5();
|
|
1849
1951
|
this.stackManager = new StackManager(OsStackMap);
|
|
1850
1952
|
this.dappRegistrationService = new DappRegistrationService(this, dappsConfiguration, this.locator, developmentMode);
|
|
@@ -1871,11 +1973,17 @@ var XyOs = class _XyOs extends XyOsContextBase {
|
|
|
1871
1973
|
return this._locator;
|
|
1872
1974
|
}
|
|
1873
1975
|
static async monitor(fn, eventConfig) {
|
|
1874
|
-
const {
|
|
1976
|
+
const {
|
|
1977
|
+
name,
|
|
1978
|
+
additionalProperties
|
|
1979
|
+
} = eventConfig;
|
|
1875
1980
|
const monitor = this.monitoring;
|
|
1876
1981
|
monitor?.startTimer(name);
|
|
1877
1982
|
const result = await fn();
|
|
1878
|
-
monitor?.stopTimer({
|
|
1983
|
+
monitor?.stopTimer({
|
|
1984
|
+
additionalProperties,
|
|
1985
|
+
name
|
|
1986
|
+
});
|
|
1879
1987
|
return result;
|
|
1880
1988
|
}
|
|
1881
1989
|
async boot(wallet, locator = new ModuleFactoryLocator5()) {
|
|
@@ -1964,7 +2072,10 @@ var NodeInfoPayload = class {
|
|
|
1964
2072
|
import { assertEx as assertEx17 } from "@xylabs/assert";
|
|
1965
2073
|
import { hexFrom } from "@xylabs/hex";
|
|
1966
2074
|
import { HDWallet as HDWallet4 } from "@xyo-network/account";
|
|
1967
|
-
import {
|
|
2075
|
+
import {
|
|
2076
|
+
mnemonicArrayToString,
|
|
2077
|
+
SigningKeySchema
|
|
2078
|
+
} from "@xyo-network/os-model";
|
|
1968
2079
|
import { isAnyPayload as isAnyPayload2 } from "@xyo-network/payload-model";
|
|
1969
2080
|
|
|
1970
2081
|
// src/classes/settings/badge/Caller.ts
|
|
@@ -2046,14 +2157,10 @@ var OsBadgeResource = class extends OsSettingsCallerBase {
|
|
|
2046
2157
|
return assertEx14(this._savedSeedPhrase, () => "Saved seed phrase listener not set");
|
|
2047
2158
|
}
|
|
2048
2159
|
get subscriptions() {
|
|
2049
|
-
return {
|
|
2050
|
-
savedSeedPhrase: (cb) => this.savedSeedPhrase.subscribe(cb)
|
|
2051
|
-
};
|
|
2160
|
+
return { savedSeedPhrase: (cb) => this.savedSeedPhrase.subscribe(cb) };
|
|
2052
2161
|
}
|
|
2053
2162
|
get views() {
|
|
2054
|
-
return {
|
|
2055
|
-
savedSeedPhrase: () => this.savedSeedPhrase.latest
|
|
2056
|
-
};
|
|
2163
|
+
return { savedSeedPhrase: () => this.savedSeedPhrase.latest };
|
|
2057
2164
|
}
|
|
2058
2165
|
cleanupListeners() {
|
|
2059
2166
|
this.savedSeedPhrase.cleanupListeners();
|
|
@@ -2083,12 +2190,28 @@ var language = "english";
|
|
|
2083
2190
|
var standard = "bip-39";
|
|
2084
2191
|
var userWalletLabel = "userWallet";
|
|
2085
2192
|
var buildWalletSeedPhrasePayload = async (mnemonic, label) => {
|
|
2086
|
-
const fields = {
|
|
2087
|
-
|
|
2088
|
-
|
|
2193
|
+
const fields = {
|
|
2194
|
+
mnemonic: {
|
|
2195
|
+
language,
|
|
2196
|
+
mnemonic: mnemonic.split(" "),
|
|
2197
|
+
standard
|
|
2198
|
+
}
|
|
2199
|
+
};
|
|
2200
|
+
const meta = {
|
|
2201
|
+
label,
|
|
2202
|
+
timestamp: Date.now()
|
|
2203
|
+
};
|
|
2204
|
+
const builder = new PayloadBuilder5({
|
|
2205
|
+
fields,
|
|
2206
|
+
meta,
|
|
2207
|
+
schema: WalletSeedPhraseSchema
|
|
2208
|
+
});
|
|
2089
2209
|
const payload = await builder.build();
|
|
2090
2210
|
const rootHash = await PayloadBuilder5.hash(payload);
|
|
2091
|
-
return {
|
|
2211
|
+
return {
|
|
2212
|
+
payload,
|
|
2213
|
+
rootHash
|
|
2214
|
+
};
|
|
2092
2215
|
};
|
|
2093
2216
|
var buildUserWalletSeedPhrasePayload = (mnemonic) => {
|
|
2094
2217
|
return buildWalletSeedPhrasePayload(mnemonic, userWalletLabel);
|
|
@@ -2127,7 +2250,10 @@ var renameObjKey = (oldObj, oldKey, newKey) => {
|
|
|
2127
2250
|
|
|
2128
2251
|
// src/classes/settings/SettingsQueries.ts
|
|
2129
2252
|
import { PayloadDivinerQuerySchema as PayloadDivinerQuerySchema5 } from "@xyo-network/diviner-payload-model";
|
|
2130
|
-
import {
|
|
2253
|
+
import {
|
|
2254
|
+
NodeBackgroundSchema,
|
|
2255
|
+
WalletSeedPhraseSchema as WalletSeedPhraseSchema2
|
|
2256
|
+
} from "@xyo-network/os-model";
|
|
2131
2257
|
var NO_RESULTS2 = [];
|
|
2132
2258
|
var OsSettingsQueries = {
|
|
2133
2259
|
async getLatestUserWallet(diviner) {
|
|
@@ -2210,7 +2336,10 @@ var OsSettingsCaller = class extends OsSettingsCallerBase {
|
|
|
2210
2336
|
|
|
2211
2337
|
// src/classes/settings/Resource.ts
|
|
2212
2338
|
import { assertEx as assertEx16 } from "@xylabs/assert";
|
|
2213
|
-
import {
|
|
2339
|
+
import {
|
|
2340
|
+
isNodeBackground,
|
|
2341
|
+
isWalletSeedPhrase
|
|
2342
|
+
} from "@xyo-network/os-model";
|
|
2214
2343
|
var OsSettingsResource = class extends OsSettingsCallerBase {
|
|
2215
2344
|
_latestUserWalletListener;
|
|
2216
2345
|
_nodeBackgroundListener;
|
|
@@ -2272,14 +2401,8 @@ var OsSettingsResource = class extends OsSettingsCallerBase {
|
|
|
2272
2401
|
// src/classes/node/DefaultPayloads/SigningKeyPayloads.ts
|
|
2273
2402
|
var DappsWithAdditionalPayloads = /* @__PURE__ */ new Set(["Profile"]);
|
|
2274
2403
|
var DefaultName = "Name Service";
|
|
2275
|
-
var DEFAULT_DAPP_ACCOUNT_PATHS = {
|
|
2276
|
-
|
|
2277
|
-
};
|
|
2278
|
-
var ADDITIONAL_DAPP_ACCOUNT_PATHS = {
|
|
2279
|
-
["Profile"]: {
|
|
2280
|
-
[DefaultName]: DEFAULT_DAPP_ACCOUNT_PATHS[DefaultName]
|
|
2281
|
-
}
|
|
2282
|
-
};
|
|
2404
|
+
var DEFAULT_DAPP_ACCOUNT_PATHS = { [DefaultName]: "1'/1" };
|
|
2405
|
+
var ADDITIONAL_DAPP_ACCOUNT_PATHS = { ["Profile"]: { [DefaultName]: DEFAULT_DAPP_ACCOUNT_PATHS[DefaultName] } };
|
|
2283
2406
|
var SigningKeyPayloads = class {
|
|
2284
2407
|
constructor(context, dappName) {
|
|
2285
2408
|
this.context = context;
|
|
@@ -2391,9 +2514,22 @@ var DappContextCreator = class _DappContextCreator {
|
|
|
2391
2514
|
// Designated offset path for the wallet used by windowed dapps. In the future, other offsets could be used for other dapp modes
|
|
2392
2515
|
static DAPP_WINDOW_WALLET_PATH = "1";
|
|
2393
2516
|
static async create(params, xnsNodeUrl, xnsNetwork) {
|
|
2394
|
-
const {
|
|
2395
|
-
|
|
2396
|
-
|
|
2517
|
+
const {
|
|
2518
|
+
config,
|
|
2519
|
+
locator,
|
|
2520
|
+
context,
|
|
2521
|
+
wallet
|
|
2522
|
+
} = params;
|
|
2523
|
+
const {
|
|
2524
|
+
payload,
|
|
2525
|
+
dappName,
|
|
2526
|
+
publicChildren,
|
|
2527
|
+
privateChildren
|
|
2528
|
+
} = config;
|
|
2529
|
+
const {
|
|
2530
|
+
external,
|
|
2531
|
+
manifestPayload
|
|
2532
|
+
} = this.parseDappPackageManifestPayload(payload, xnsNodeUrl, xnsNetwork);
|
|
2397
2533
|
console.debug("[DEBUG] dApp manifest", manifestPayload);
|
|
2398
2534
|
const dappWallet = await wallet.derivePath(_DappContextCreator.DAPP_WINDOW_WALLET_PATH);
|
|
2399
2535
|
const targetDappManifestParams = [manifestPayload, dappWallet, locator, publicChildren, privateChildren];
|
|
@@ -2414,13 +2550,19 @@ var DappContextCreator = class _DappContextCreator {
|
|
|
2414
2550
|
await dappArchivist.clear();
|
|
2415
2551
|
}
|
|
2416
2552
|
static parseDappPackageManifestPayload(payload, xnsNodeUrl, xnsNetwork) {
|
|
2417
|
-
const {
|
|
2553
|
+
const {
|
|
2554
|
+
external,
|
|
2555
|
+
...manifestWithoutExternals
|
|
2556
|
+
} = payload;
|
|
2418
2557
|
const manifestPayloadRaw = {
|
|
2419
2558
|
...manifestWithoutExternals,
|
|
2420
2559
|
schema: PackageManifestPayloadSchema2
|
|
2421
2560
|
};
|
|
2422
2561
|
const manifestPayload = ReplaceManifestTokens(manifestPayloadRaw, xnsNodeUrl, xnsNetwork);
|
|
2423
|
-
return {
|
|
2562
|
+
return {
|
|
2563
|
+
external,
|
|
2564
|
+
manifestPayload
|
|
2565
|
+
};
|
|
2424
2566
|
}
|
|
2425
2567
|
async loadDappContext(context) {
|
|
2426
2568
|
console.log("DappNodesCreator:loadDappContext", this.dappId);
|
|
@@ -2457,10 +2599,16 @@ var createDappContext = async (dapp, context, allowedNames, xnsNodeUrl, xnsNetwo
|
|
|
2457
2599
|
}
|
|
2458
2600
|
const wallet = await HDWallet5.fromPhrase(seedPhrase);
|
|
2459
2601
|
const dappName = dapp.config.name;
|
|
2460
|
-
const {
|
|
2602
|
+
const {
|
|
2603
|
+
config: dappConfig,
|
|
2604
|
+
params: dappParams
|
|
2605
|
+
} = dapp;
|
|
2461
2606
|
const locator = resolveLocator((dappParams.locator ?? new ModuleFactoryLocator6()).merge(context.platformLocator));
|
|
2462
2607
|
const params = {
|
|
2463
|
-
config: {
|
|
2608
|
+
config: {
|
|
2609
|
+
dappName,
|
|
2610
|
+
payload: dappConfig.manifest
|
|
2611
|
+
},
|
|
2464
2612
|
context,
|
|
2465
2613
|
locator,
|
|
2466
2614
|
wallet
|
|
@@ -2499,7 +2647,10 @@ var RunningDappCache = class _RunningDappCache {
|
|
|
2499
2647
|
_RunningDappCache.set(dappId, windowDappSet);
|
|
2500
2648
|
return windowDappSet;
|
|
2501
2649
|
}),
|
|
2502
|
-
{
|
|
2650
|
+
{
|
|
2651
|
+
additionalProperties: { dappId },
|
|
2652
|
+
name: "Loading dApp"
|
|
2653
|
+
}
|
|
2503
2654
|
);
|
|
2504
2655
|
}
|
|
2505
2656
|
static get(key) {
|
|
@@ -2628,14 +2779,10 @@ var XnsRegistrationsResource = class extends AbstractXnsCaller {
|
|
|
2628
2779
|
return assertEx22(this._allRegistrations);
|
|
2629
2780
|
}
|
|
2630
2781
|
get subscriptions() {
|
|
2631
|
-
return {
|
|
2632
|
-
allRegistrations: (cb) => this.allRegistrations.subscribe(cb)
|
|
2633
|
-
};
|
|
2782
|
+
return { allRegistrations: (cb) => this.allRegistrations.subscribe(cb) };
|
|
2634
2783
|
}
|
|
2635
2784
|
get views() {
|
|
2636
|
-
return {
|
|
2637
|
-
allRegistrations: () => this.allRegistrations.getSnapshot()
|
|
2638
|
-
};
|
|
2785
|
+
return { allRegistrations: () => this.allRegistrations.getSnapshot() };
|
|
2639
2786
|
}
|
|
2640
2787
|
cleanupListeners() {
|
|
2641
2788
|
this.allRegistrations.cleanupListeners();
|
|
@@ -2652,10 +2799,11 @@ var XnsRegistrationsResource = class extends AbstractXnsCaller {
|
|
|
2652
2799
|
};
|
|
2653
2800
|
|
|
2654
2801
|
// src/access-interfaces/ValidDappAccessInterfaces.ts
|
|
2655
|
-
import {
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
};
|
|
2802
|
+
import {
|
|
2803
|
+
RegisteredNames,
|
|
2804
|
+
RegisteredNamesInterface
|
|
2805
|
+
} from "@xyo-network/os-model";
|
|
2806
|
+
var ValidDappAccessInterfaces = { [RegisteredNames]: RegisteredNamesInterface };
|
|
2659
2807
|
|
|
2660
2808
|
// src/Caller.ts
|
|
2661
2809
|
import { assertEx as assertEx23 } from "@xylabs/assert";
|
|
@@ -2673,7 +2821,10 @@ import { PayloadBuilder as PayloadBuilder7 } from "@xyo-network/payload-builder"
|
|
|
2673
2821
|
|
|
2674
2822
|
// src/DefaultsQueries.ts
|
|
2675
2823
|
import { PayloadDivinerQuerySchema as PayloadDivinerQuerySchema7 } from "@xyo-network/diviner-payload-model";
|
|
2676
|
-
import {
|
|
2824
|
+
import {
|
|
2825
|
+
DappInjectableParamsSchema,
|
|
2826
|
+
NodeOsInfoSchema as NodeOsInfoSchema2
|
|
2827
|
+
} from "@xyo-network/os-model";
|
|
2677
2828
|
var DappDefaultsResourceQueries = {
|
|
2678
2829
|
async getDappInjectableParamsFromRoute(diviner) {
|
|
2679
2830
|
const query = {
|
|
@@ -2866,9 +3017,7 @@ var DappCaller = class extends DappCallerBase {
|
|
|
2866
3017
|
import { assertEx as assertEx24 } from "@xylabs/assert";
|
|
2867
3018
|
import { ModuleFactoryLocator as ModuleFactoryLocator7 } from "@xyo-network/module-factory-locator";
|
|
2868
3019
|
import { asNodeInstance as asNodeInstance2 } from "@xyo-network/node-model";
|
|
2869
|
-
import {
|
|
2870
|
-
isRegisteredDappAccessDappSet as isRegisteredDappAccessDappSet2
|
|
2871
|
-
} from "@xyo-network/os-model";
|
|
3020
|
+
import { isRegisteredDappAccessDappSet as isRegisteredDappAccessDappSet2 } from "@xyo-network/os-model";
|
|
2872
3021
|
import { PayloadBuilder as PayloadBuilder8 } from "@xyo-network/payload-builder";
|
|
2873
3022
|
var DappAccessCaller = class extends OsCallerBase {
|
|
2874
3023
|
constructor(context, registeredDapps, allowedNames, xnsNodeUrl, xnsNetwork, platformLocator = new ModuleFactoryLocator7()) {
|
|
@@ -2912,7 +3061,10 @@ var DappAccessCaller = class extends OsCallerBase {
|
|
|
2912
3061
|
|
|
2913
3062
|
// src/classes/dapp/access/Queries.ts
|
|
2914
3063
|
import { PayloadDivinerQuerySchema as PayloadDivinerQuerySchema9 } from "@xyo-network/diviner-payload-model";
|
|
2915
|
-
import {
|
|
3064
|
+
import {
|
|
3065
|
+
DappAccessRequestSchema as DappAccessRequestSchema2,
|
|
3066
|
+
RegisteredDappAccessSchema as RegisteredDappAccessSchema3
|
|
3067
|
+
} from "@xyo-network/os-model";
|
|
2916
3068
|
var noResults = [];
|
|
2917
3069
|
var DappAccessRequestQueries = {
|
|
2918
3070
|
async getAccessRequests(diviner) {
|
|
@@ -2943,7 +3095,10 @@ var DappAccessRequestQueries = {
|
|
|
2943
3095
|
|
|
2944
3096
|
// src/classes/dapp/access/Resource.ts
|
|
2945
3097
|
import { assertEx as assertEx25 } from "@xylabs/assert";
|
|
2946
|
-
import {
|
|
3098
|
+
import {
|
|
3099
|
+
isDappAccessRequestWithMeta,
|
|
3100
|
+
isRegisteredDappAccess as isRegisteredDappAccess2
|
|
3101
|
+
} from "@xyo-network/os-model";
|
|
2947
3102
|
var DappAccessRequestResource = class extends DappCallerBase {
|
|
2948
3103
|
_accessRequestListener;
|
|
2949
3104
|
_registeredInterfacesListener;
|
|
@@ -2990,7 +3145,10 @@ var DappAccessRequestResource = class extends DappCallerBase {
|
|
|
2990
3145
|
|
|
2991
3146
|
// src/classes/dapp/DefaultsResource.ts
|
|
2992
3147
|
import { assertEx as assertEx26 } from "@xylabs/assert";
|
|
2993
|
-
import {
|
|
3148
|
+
import {
|
|
3149
|
+
isDappInjectableParams,
|
|
3150
|
+
isNodeOsInfo
|
|
3151
|
+
} from "@xyo-network/os-model";
|
|
2994
3152
|
var DappDefaultsResource = class extends DappCallerBase {
|
|
2995
3153
|
_dappInjectableParamsFromRouteListener;
|
|
2996
3154
|
_nodeOsInfoListener;
|
|
@@ -3100,7 +3258,10 @@ var DappMenuCaller = class extends DappCaller {
|
|
|
3100
3258
|
|
|
3101
3259
|
// src/classes/menu/Resource.ts
|
|
3102
3260
|
import { assertEx as assertEx27 } from "@xylabs/assert";
|
|
3103
|
-
import {
|
|
3261
|
+
import {
|
|
3262
|
+
isDappNavItemSelection,
|
|
3263
|
+
isDappNavMenuConfig
|
|
3264
|
+
} from "@xyo-network/os-model";
|
|
3104
3265
|
|
|
3105
3266
|
// src/classes/menu/Queries.ts
|
|
3106
3267
|
import { PayloadDivinerQuerySchema as PayloadDivinerQuerySchema11 } from "@xyo-network/diviner-payload-model";
|
|
@@ -3231,11 +3392,7 @@ var DappMenuResource = class extends DappCaller {
|
|
|
3231
3392
|
// src/helpers/monitor/XyOsMonitor.ts
|
|
3232
3393
|
var DEFAULT_MONITORING_EVENT_NAME = "System Task Duration";
|
|
3233
3394
|
globalThis.getXyOsGlobal = globalThis.getXyOsGlobal ?? (() => {
|
|
3234
|
-
return {
|
|
3235
|
-
tracking: {
|
|
3236
|
-
trackEvent: (_event, _properties) => void 0
|
|
3237
|
-
}
|
|
3238
|
-
};
|
|
3395
|
+
return { tracking: { trackEvent: (_event, _properties) => void 0 } };
|
|
3239
3396
|
});
|
|
3240
3397
|
var xyOsGlobal = globalThis.getXyOsGlobal();
|
|
3241
3398
|
var XyOsMonitor = class _XyOsMonitor {
|
|
@@ -3245,7 +3402,10 @@ var XyOsMonitor = class _XyOsMonitor {
|
|
|
3245
3402
|
this.performanceTimers.set(name, performance.now());
|
|
3246
3403
|
}
|
|
3247
3404
|
stopTimer(eventConfig) {
|
|
3248
|
-
const {
|
|
3405
|
+
const {
|
|
3406
|
+
additionalProperties,
|
|
3407
|
+
name
|
|
3408
|
+
} = eventConfig;
|
|
3249
3409
|
const start = this.performanceTimers.get(name);
|
|
3250
3410
|
if (start) {
|
|
3251
3411
|
const end = performance.now();
|
|
@@ -3273,12 +3433,18 @@ var profileModuleEvents = (mod) => {
|
|
|
3273
3433
|
mod.onAny(async (eventName, args) => {
|
|
3274
3434
|
const mod2 = modRef.deref();
|
|
3275
3435
|
if (mod2) {
|
|
3276
|
-
const data = profileData[mod2.address] ?? {
|
|
3436
|
+
const data = profileData[mod2.address] ?? {
|
|
3437
|
+
allEventCount: 0,
|
|
3438
|
+
eventCounts: {}
|
|
3439
|
+
};
|
|
3277
3440
|
profileData[mod2.address] = data;
|
|
3278
3441
|
data.allEventCount += 1;
|
|
3279
3442
|
data.eventCounts[eventName] = (data.eventCounts[eventName] ?? 0) + 1;
|
|
3280
3443
|
if (eventName === "querySendStarted") {
|
|
3281
|
-
const {
|
|
3444
|
+
const {
|
|
3445
|
+
query,
|
|
3446
|
+
payloads = []
|
|
3447
|
+
} = args;
|
|
3282
3448
|
const pairs = await PayloadBuilder10.dataHashPairs(payloads);
|
|
3283
3449
|
const foundPair = pairs.find(([, hash]) => hash === query.query);
|
|
3284
3450
|
if (foundPair) {
|