@xyo-network/dapp-template 4.2.5 → 4.2.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAO7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAM7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAA"}
@@ -1,4 +1,3 @@
1
- export * from './components/host/XyOsHost.tsx';
2
1
  export * from './components/index.ts';
3
2
  export { default as accountsDappManifest } from './dapp.manifest.json';
4
3
  export * from './Params.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
@@ -1,51 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/components/host/XyOsHost.tsx
5
- import { Typography } from "@mui/material";
6
- import { FlexCol } from "@xylabs/react-flexbox";
7
- import { usePromise } from "@xylabs/react-promise";
8
- import { HDWallet } from "@xyo-network/account";
9
- import { Kernel } from "@xyo-network/kernel";
10
- import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
11
- import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
12
- import { EventBus, XyOs } from "@xyo-network/os-runtime";
13
- import React, { useMemo } from "react";
14
- var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
15
- const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [
16
- wallet
17
- ]);
18
- const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [
19
- kernel
20
- ]);
21
- const kernelToUse = useMemo(() => kernel ?? new Kernel(), [
22
- kernel
23
- ]);
24
- const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [
25
- locator2
26
- ]);
27
- const [os, error] = usePromise(async () => {
28
- if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
29
- const os2 = new XyOs({
30
- kernel: kernelToUse,
31
- eventBus: new EventBus(),
32
- locator: locatorToUse
33
- });
34
- await os2.boot(walletToUse, locatorToUse);
35
- return os2;
36
- }
37
- }, [
38
- kernelToUse,
39
- walletToUse,
40
- locator2,
41
- eventBusToUse,
42
- locatorToUse
43
- ]);
44
- return os ? /* @__PURE__ */ React.createElement(XyOsUiContextProvider, {
45
- value: os
46
- }, children) : /* @__PURE__ */ React.createElement(FlexCol, null, /* @__PURE__ */ React.createElement(Typography, null, "wallet:", walletToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "kernel:", kernelToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os:", os ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os-error:", error?.message));
47
- }, "XyOsHost");
48
-
49
4
  // src/components/host/DappHost.tsx
50
5
  import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
51
6
  import { DappRendered } from "@xyo-network/os-react-runtime";
@@ -90,7 +45,7 @@ var DappInitializer = class {
90
45
  };
91
46
 
92
47
  // src/helpers/registration/useInitializeDappAdHoc.tsx
93
- import { usePromise as usePromise2 } from "@xylabs/react-promise";
48
+ import { usePromise } from "@xylabs/react-promise";
94
49
  import { useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext } from "@xyo-network/os-react-runtime";
95
50
  var dappState = {
96
51
  active: true,
@@ -99,7 +54,7 @@ var dappState = {
99
54
  };
100
55
  var useInitializeDappAdHoc = /* @__PURE__ */ __name((dapp) => {
101
56
  const xyOs = useXyOsUiContext();
102
- const [installedDapp, nodeCreateError] = usePromise2(async () => {
57
+ const [installedDapp, nodeCreateError] = usePromise(async () => {
103
58
  if (xyOs && dapp) {
104
59
  const installer = new DappInitializer({
105
60
  allowedNames: [
@@ -133,6 +88,51 @@ var useInitializeDappAdHoc = /* @__PURE__ */ __name((dapp) => {
133
88
  };
134
89
  }, "useInitializeDappAdHoc");
135
90
 
91
+ // src/components/host/XyOsHost.tsx
92
+ import { Typography } from "@mui/material";
93
+ import { FlexCol } from "@xylabs/react-flexbox";
94
+ import { usePromise as usePromise2 } from "@xylabs/react-promise";
95
+ import { HDWallet } from "@xyo-network/account";
96
+ import { Kernel } from "@xyo-network/kernel";
97
+ import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
98
+ import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
99
+ import { EventBus, XyOs } from "@xyo-network/os-runtime";
100
+ import React, { useMemo } from "react";
101
+ var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
102
+ const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [
103
+ wallet
104
+ ]);
105
+ const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [
106
+ kernel
107
+ ]);
108
+ const kernelToUse = useMemo(() => kernel ?? new Kernel(), [
109
+ kernel
110
+ ]);
111
+ const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [
112
+ locator2
113
+ ]);
114
+ const [os, error] = usePromise2(async () => {
115
+ if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
116
+ const os2 = new XyOs({
117
+ kernel: kernelToUse,
118
+ eventBus: new EventBus(),
119
+ locator: locatorToUse
120
+ });
121
+ await os2.boot(walletToUse, locatorToUse);
122
+ return os2;
123
+ }
124
+ }, [
125
+ kernelToUse,
126
+ walletToUse,
127
+ locator2,
128
+ eventBusToUse,
129
+ locatorToUse
130
+ ]);
131
+ return os ? /* @__PURE__ */ React.createElement(XyOsUiContextProvider, {
132
+ value: os
133
+ }, children) : /* @__PURE__ */ React.createElement(FlexCol, null, /* @__PURE__ */ React.createElement(Typography, null, "wallet:", walletToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "kernel:", kernelToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os:", os ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os-error:", error?.message));
134
+ }, "XyOsHost");
135
+
136
136
  // src/components/host/DappHost.tsx
137
137
  var DappHostInner = /* @__PURE__ */ __name(({ dapp }) => {
138
138
  const { context, dappMenu, dappState: dappState2, dappWallet, errors } = useInitializeDappAdHoc(dapp);
@@ -186,7 +186,7 @@ var dapp_manifest_default = {
186
186
  {
187
187
  config: {
188
188
  accountPath: "0'",
189
- name: "Node",
189
+ name: "CustomDappNode",
190
190
  schema: "network.xyo.node.config"
191
191
  },
192
192
  modules: {
@@ -196,12 +196,7 @@ var dapp_manifest_default = {
196
196
  config: {
197
197
  accountPath: "1'",
198
198
  name: "DappArchivist",
199
- dbName: "DappArchivist",
200
- storeName: "payloads",
201
- schema: "network.xyo.archivist.config",
202
- labels: {
203
- "network.xyo.archivist.persistence.scope": "device"
204
- }
199
+ schema: "network.xyo.archivist.config"
205
200
  }
206
201
  }
207
202
  ]
@@ -212,7 +207,6 @@ var dapp_manifest_default = {
212
207
  };
213
208
 
214
209
  // src/Params.ts
215
- import { IndexedDbArchivist } from "@xyo-network/archivist-indexeddb";
216
210
  import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
217
211
 
218
212
  // src/icon/Icon.tsx
@@ -263,7 +257,6 @@ var CustomDappIconSvg = `
263
257
 
264
258
  // src/Params.ts
265
259
  var locator = new ModuleFactoryLocator2();
266
- locator.register(IndexedDbArchivist);
267
260
  var CustomDappParams = {
268
261
  iconSvg: CustomDappIconSvg,
269
262
  locator
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/host/XyOsHost.tsx","../../src/components/host/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { HDWallet, type WalletInstance } from '@xyo-network/account'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' assert { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.js'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["Typography","FlexCol","usePromise","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","FlexCol","DappRendered","React","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
1
+ {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { HDWallet, type WalletInstance } from '@xyo-network/account'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' assert { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.js'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAO7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAM7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAA"}
@@ -1,4 +1,3 @@
1
- export * from './components/host/XyOsHost.tsx';
2
1
  export * from './components/index.ts';
3
2
  export { default as accountsDappManifest } from './dapp.manifest.json';
4
3
  export * from './Params.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
@@ -1,51 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/components/host/XyOsHost.tsx
5
- import { Typography } from "@mui/material";
6
- import { FlexCol } from "@xylabs/react-flexbox";
7
- import { usePromise } from "@xylabs/react-promise";
8
- import { HDWallet } from "@xyo-network/account";
9
- import { Kernel } from "@xyo-network/kernel";
10
- import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
11
- import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
12
- import { EventBus, XyOs } from "@xyo-network/os-runtime";
13
- import React, { useMemo } from "react";
14
- var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
15
- const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [
16
- wallet
17
- ]);
18
- const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [
19
- kernel
20
- ]);
21
- const kernelToUse = useMemo(() => kernel ?? new Kernel(), [
22
- kernel
23
- ]);
24
- const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [
25
- locator2
26
- ]);
27
- const [os, error] = usePromise(async () => {
28
- if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
29
- const os2 = new XyOs({
30
- kernel: kernelToUse,
31
- eventBus: new EventBus(),
32
- locator: locatorToUse
33
- });
34
- await os2.boot(walletToUse, locatorToUse);
35
- return os2;
36
- }
37
- }, [
38
- kernelToUse,
39
- walletToUse,
40
- locator2,
41
- eventBusToUse,
42
- locatorToUse
43
- ]);
44
- return os ? /* @__PURE__ */ React.createElement(XyOsUiContextProvider, {
45
- value: os
46
- }, children) : /* @__PURE__ */ React.createElement(FlexCol, null, /* @__PURE__ */ React.createElement(Typography, null, "wallet:", walletToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "kernel:", kernelToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os:", os ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os-error:", error?.message));
47
- }, "XyOsHost");
48
-
49
4
  // src/components/host/DappHost.tsx
50
5
  import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
51
6
  import { DappRendered } from "@xyo-network/os-react-runtime";
@@ -90,7 +45,7 @@ var DappInitializer = class {
90
45
  };
91
46
 
92
47
  // src/helpers/registration/useInitializeDappAdHoc.tsx
93
- import { usePromise as usePromise2 } from "@xylabs/react-promise";
48
+ import { usePromise } from "@xylabs/react-promise";
94
49
  import { useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext } from "@xyo-network/os-react-runtime";
95
50
  var dappState = {
96
51
  active: true,
@@ -99,7 +54,7 @@ var dappState = {
99
54
  };
100
55
  var useInitializeDappAdHoc = /* @__PURE__ */ __name((dapp) => {
101
56
  const xyOs = useXyOsUiContext();
102
- const [installedDapp, nodeCreateError] = usePromise2(async () => {
57
+ const [installedDapp, nodeCreateError] = usePromise(async () => {
103
58
  if (xyOs && dapp) {
104
59
  const installer = new DappInitializer({
105
60
  allowedNames: [
@@ -133,6 +88,51 @@ var useInitializeDappAdHoc = /* @__PURE__ */ __name((dapp) => {
133
88
  };
134
89
  }, "useInitializeDappAdHoc");
135
90
 
91
+ // src/components/host/XyOsHost.tsx
92
+ import { Typography } from "@mui/material";
93
+ import { FlexCol } from "@xylabs/react-flexbox";
94
+ import { usePromise as usePromise2 } from "@xylabs/react-promise";
95
+ import { HDWallet } from "@xyo-network/account";
96
+ import { Kernel } from "@xyo-network/kernel";
97
+ import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
98
+ import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
99
+ import { EventBus, XyOs } from "@xyo-network/os-runtime";
100
+ import React, { useMemo } from "react";
101
+ var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
102
+ const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [
103
+ wallet
104
+ ]);
105
+ const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [
106
+ kernel
107
+ ]);
108
+ const kernelToUse = useMemo(() => kernel ?? new Kernel(), [
109
+ kernel
110
+ ]);
111
+ const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [
112
+ locator2
113
+ ]);
114
+ const [os, error] = usePromise2(async () => {
115
+ if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
116
+ const os2 = new XyOs({
117
+ kernel: kernelToUse,
118
+ eventBus: new EventBus(),
119
+ locator: locatorToUse
120
+ });
121
+ await os2.boot(walletToUse, locatorToUse);
122
+ return os2;
123
+ }
124
+ }, [
125
+ kernelToUse,
126
+ walletToUse,
127
+ locator2,
128
+ eventBusToUse,
129
+ locatorToUse
130
+ ]);
131
+ return os ? /* @__PURE__ */ React.createElement(XyOsUiContextProvider, {
132
+ value: os
133
+ }, children) : /* @__PURE__ */ React.createElement(FlexCol, null, /* @__PURE__ */ React.createElement(Typography, null, "wallet:", walletToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "kernel:", kernelToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os:", os ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os-error:", error?.message));
134
+ }, "XyOsHost");
135
+
136
136
  // src/components/host/DappHost.tsx
137
137
  var DappHostInner = /* @__PURE__ */ __name(({ dapp }) => {
138
138
  const { context, dappMenu, dappState: dappState2, dappWallet, errors } = useInitializeDappAdHoc(dapp);
@@ -186,7 +186,7 @@ var dapp_manifest_default = {
186
186
  {
187
187
  config: {
188
188
  accountPath: "0'",
189
- name: "Node",
189
+ name: "CustomDappNode",
190
190
  schema: "network.xyo.node.config"
191
191
  },
192
192
  modules: {
@@ -196,12 +196,7 @@ var dapp_manifest_default = {
196
196
  config: {
197
197
  accountPath: "1'",
198
198
  name: "DappArchivist",
199
- dbName: "DappArchivist",
200
- storeName: "payloads",
201
- schema: "network.xyo.archivist.config",
202
- labels: {
203
- "network.xyo.archivist.persistence.scope": "device"
204
- }
199
+ schema: "network.xyo.archivist.config"
205
200
  }
206
201
  }
207
202
  ]
@@ -212,7 +207,6 @@ var dapp_manifest_default = {
212
207
  };
213
208
 
214
209
  // src/Params.ts
215
- import { IndexedDbArchivist } from "@xyo-network/archivist-indexeddb";
216
210
  import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
217
211
 
218
212
  // src/icon/Icon.tsx
@@ -263,7 +257,6 @@ var CustomDappIconSvg = `
263
257
 
264
258
  // src/Params.ts
265
259
  var locator = new ModuleFactoryLocator2();
266
- locator.register(IndexedDbArchivist);
267
260
  var CustomDappParams = {
268
261
  iconSvg: CustomDappIconSvg,
269
262
  locator
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/host/XyOsHost.tsx","../../src/components/host/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { HDWallet, type WalletInstance } from '@xyo-network/account'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' assert { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.js'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["Typography","FlexCol","usePromise","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","FlexCol","DappRendered","React","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
1
+ {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { HDWallet, type WalletInstance } from '@xyo-network/account'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' assert { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.js'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/dapp-template",
3
- "version": "4.2.5",
3
+ "version": "4.2.6",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -41,15 +41,14 @@
41
41
  "@xylabs/react-flexbox": "^5.3.14",
42
42
  "@xylabs/react-promise": "^5.3.14",
43
43
  "@xyo-network/account": "^3.6.6",
44
- "@xyo-network/archivist-indexeddb": "^3.6.6",
45
- "@xyo-network/kernel": "^4.2.5",
46
- "@xyo-network/kernel-model": "^4.2.5",
44
+ "@xyo-network/kernel": "^4.2.6",
45
+ "@xyo-network/kernel-model": "^4.2.6",
47
46
  "@xyo-network/module-factory-locator": "^3.6.6",
48
47
  "@xyo-network/object": "^3.6.6",
49
- "@xyo-network/os-model": "^4.2.5",
50
- "@xyo-network/os-react-model": "^4.2.5",
51
- "@xyo-network/os-react-runtime": "^4.2.5",
52
- "@xyo-network/os-runtime": "^4.2.5",
48
+ "@xyo-network/os-model": "^4.2.6",
49
+ "@xyo-network/os-react-model": "^4.2.6",
50
+ "@xyo-network/os-react-runtime": "^4.2.6",
51
+ "@xyo-network/os-runtime": "^4.2.6",
53
52
  "@xyo-network/payload-model": "^3.6.6",
54
53
  "@xyo-network/react-node": "^4.3.1",
55
54
  "@xyo-network/react-sdk": "^4.3.1",
package/src/Params.ts CHANGED
@@ -1,11 +1,9 @@
1
- import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'
2
1
  import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'
3
2
  import type { UnregisteredDapp } from '@xyo-network/os-model'
4
3
 
5
4
  import { CustomDappIconSvg } from './icon/index.ts'
6
5
 
7
6
  const locator = new ModuleFactoryLocator()
8
- locator.register(IndexedDbArchivist)
9
7
 
10
8
  export const CustomDappParams: UnregisteredDapp['params'] = {
11
9
  iconSvg: CustomDappIconSvg,
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "config": {
6
6
  "accountPath": "0'",
7
- "name": "Node",
7
+ "name": "CustomDappNode",
8
8
  "schema": "network.xyo.node.config"
9
9
  },
10
10
  "modules": {
@@ -14,12 +14,7 @@
14
14
  "config": {
15
15
  "accountPath": "1'",
16
16
  "name": "DappArchivist",
17
- "dbName": "DappArchivist",
18
- "storeName": "payloads",
19
- "schema": "network.xyo.archivist.config",
20
- "labels": {
21
- "network.xyo.archivist.persistence.scope": "device"
22
- }
17
+ "schema": "network.xyo.archivist.config"
23
18
  }
24
19
  }
25
20
  ]
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './components/host/XyOsHost.tsx'
2
1
  export * from './components/index.ts'
3
2
  export { default as accountsDappManifest } from './dapp.manifest.json'
4
3
  export * from './Params.ts'