@xyo-network/react-chain-network 1.1.0 → 1.1.2

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.
Files changed (37) hide show
  1. package/dist/browser/index.mjs +253 -97
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/types/components/menu/Avatar.d.ts +8 -0
  4. package/dist/types/components/menu/Avatar.d.ts.map +1 -0
  5. package/dist/types/components/menu/index.d.ts +1 -0
  6. package/dist/types/components/menu/index.d.ts.map +1 -1
  7. package/dist/types/context/network/Provider.d.ts.map +1 -1
  8. package/dist/types/helpers/Networks.d.ts +1 -0
  9. package/dist/types/helpers/Networks.d.ts.map +1 -1
  10. package/dist/types/helpers/getBridgedNodes.d.ts +1 -1
  11. package/dist/types/helpers/getNetworkNode.d.ts +1 -1
  12. package/dist/types/images/icons/index.d.ts +2 -0
  13. package/dist/types/images/icons/index.d.ts.map +1 -1
  14. package/dist/types/images/icons/mainnet/index.d.ts +2 -0
  15. package/dist/types/images/icons/mainnet/index.d.ts.map +1 -0
  16. package/dist/types/images/icons/mainnet/xl1-mainnet.d.ts +5 -0
  17. package/dist/types/images/icons/mainnet/xl1-mainnet.d.ts.map +1 -0
  18. package/dist/types/images/icons/testnet/index.d.ts +2 -0
  19. package/dist/types/images/icons/testnet/index.d.ts.map +1 -0
  20. package/dist/types/images/icons/testnet/xl1-testnet.d.ts +5 -0
  21. package/dist/types/images/icons/testnet/xl1-testnet.d.ts.map +1 -0
  22. package/dist/types/models/Bootstrap.d.ts.map +1 -1
  23. package/package.json +26 -26
  24. package/src/components/menu/Avatar.tsx +34 -0
  25. package/src/components/menu/MenuItem.tsx +2 -2
  26. package/src/components/menu/index.ts +1 -0
  27. package/src/context/network/Provider.tsx +5 -2
  28. package/src/helpers/Networks.ts +10 -6
  29. package/src/helpers/initNetworkNode.ts +1 -1
  30. package/src/images/icons/index.ts +2 -0
  31. package/src/images/icons/mainnet/index.ts +1 -0
  32. package/src/images/icons/mainnet/xl1-mainnet.svg +1 -0
  33. package/src/images/icons/mainnet/xl1-mainnet.tsx +33 -0
  34. package/src/images/icons/testnet/index.ts +1 -0
  35. package/src/images/icons/testnet/xl1-testnet.svg +1 -0
  36. package/src/images/icons/testnet/xl1-testnet.tsx +33 -0
  37. package/src/provider/NetworkProvider.ts +1 -1
@@ -1,45 +1,9 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/components/menu/Icon.tsx
5
- import { Icon } from "@mui/material";
6
- import React from "react";
7
- var NetworkIcon = /* @__PURE__ */ __name(({ icon, ...props }) => {
8
- return /* @__PURE__ */ React.createElement(Icon, {
9
- sx: {
10
- display: "inline-flex",
11
- alignItems: "center",
12
- justifyContent: "center"
13
- },
14
- ref: /* @__PURE__ */ __name((ref) => {
15
- if (ref && icon) {
16
- ref.innerHTML = icon;
17
- }
18
- }, "ref"),
19
- ...props
20
- });
21
- }, "NetworkIcon");
22
-
23
- // src/components/menu/MenuItem.tsx
24
- import { ListItemText } from "@mui/material";
25
- import { ActiveMenuItem } from "@xyo-network/react-chain-shared";
26
- import React2 from "react";
27
- var NetworkMenuItem = /* @__PURE__ */ __name(({ active, network, onClick, updateActiveNetwork, ...props }) => {
28
- const handleClick = /* @__PURE__ */ __name((event) => {
29
- if (network === void 0) throw new Error("Network is undefined");
30
- updateActiveNetwork?.(network.id);
31
- onClick?.(event);
32
- }, "handleClick");
33
- return /* @__PURE__ */ React2.createElement(ActiveMenuItem, {
34
- title: network?.name,
35
- disableRipple: true,
36
- onClick: handleClick,
37
- active,
38
- ...props
39
- }, /* @__PURE__ */ React2.createElement(NetworkIcon, {
40
- icon: network?.icon
41
- }), /* @__PURE__ */ React2.createElement(ListItemText, null, network?.name));
42
- }, "NetworkMenuItem");
4
+ // src/components/menu/Avatar.tsx
5
+ import { Avatar } from "@mui/material";
6
+ import React6 from "react";
43
7
 
44
8
  // src/context/network/context.ts
45
9
  import { createContextEx } from "@xylabs/react-shared";
@@ -48,7 +12,7 @@ var ChainNetworkContext = createContextEx();
48
12
  // src/context/network/Provider.tsx
49
13
  import { ErrorRender } from "@xylabs/react-error";
50
14
  import { usePromise } from "@xylabs/react-promise";
51
- import React5, { useCallback, useMemo, useState } from "react";
15
+ import React4, { useCallback, useMemo, useState } from "react";
52
16
 
53
17
  // src/helpers/getBridgedNodes.ts
54
18
  var bridgedNodeMap = /* @__PURE__ */ new Map();
@@ -57,7 +21,7 @@ var getBridgedNodes = /* @__PURE__ */ __name(() => {
57
21
  }, "getBridgedNodes");
58
22
 
59
23
  // src/helpers/initNetworkNode.ts
60
- import { initBridge } from "@xyo-network/chain-sdk";
24
+ import { initBridge } from "@xyo-network/chain-orchestration";
61
25
 
62
26
  // src/helpers/getNetworkNode.ts
63
27
  import { HDWallet } from "@xyo-network/account";
@@ -106,11 +70,11 @@ var initNetworkNode = /* @__PURE__ */ __name(async (activeNetwork) => {
106
70
 
107
71
  // src/images/icons/LocalNetwork.tsx
108
72
  import { createSvgIcon } from "@mui/material";
109
- import React3 from "react";
110
- var LocalNetworkIcon = createSvgIcon(/* @__PURE__ */ React3.createElement("svg", {
73
+ import React from "react";
74
+ var LocalNetworkIcon = createSvgIcon(/* @__PURE__ */ React.createElement("svg", {
111
75
  xmlns: "http://www.w3.org/2000/svg",
112
76
  viewBox: "0 -960 960 960"
113
- }, /* @__PURE__ */ React3.createElement("path", {
77
+ }, /* @__PURE__ */ React.createElement("path", {
114
78
  fill: "currentColor",
115
79
  d: "M40-120v-80h880v80H40Zm120-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z"
116
80
  })), "LocalNetworkIcon");
@@ -120,52 +84,172 @@ var LocalNetworkIconString = `
120
84
  </svg>
121
85
  `;
122
86
 
123
- // src/images/icons/xyoColorLogo.tsx
87
+ // src/images/icons/mainnet/xl1-mainnet.tsx
124
88
  import { createSvgIcon as createSvgIcon2 } from "@mui/material";
125
- import React4 from "react";
126
- var XyoColorLogo = createSvgIcon2(/* @__PURE__ */ React4.createElement("svg", {
89
+ import React2 from "react";
90
+ var xl1Mainnet = createSvgIcon2(/* @__PURE__ */ React2.createElement("svg", {
91
+ id: "Layer_1",
127
92
  xmlns: "http://www.w3.org/2000/svg",
128
- viewBox: "0 0 256 238"
129
- }, /* @__PURE__ */ React4.createElement("path", {
130
- className: "cls-1",
131
- d: "M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z",
132
- fill: "#8d8fc6"
133
- }), /* @__PURE__ */ React4.createElement("path", {
134
- className: "cls-2",
135
- d: "M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z",
136
- fill: "#579fd6"
137
- }), /* @__PURE__ */ React4.createElement("path", {
138
- className: "cls-3",
139
- d: "M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z",
140
- fill: "#f27046"
141
- }), /* @__PURE__ */ React4.createElement("path", {
142
- className: "cls-4",
143
- d: "M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z",
144
- fill: "#eb407a"
145
- })), "XyoColorLogo");
146
- var XyoColorLogoString = `
147
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 238">
148
- <path
149
- className="cls-1"
150
- d="M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z"
151
- fill="#8d8fc6"
152
- />
153
- <path
154
- className="cls-2"
155
- d="M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z"
156
- fill="#579fd6"
157
- />
158
- <path
159
- className="cls-3"
160
- d="M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z"
161
- fill="#f27046"
162
- />
163
- <path
164
- className="cls-4"
165
- d="M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z"
166
- fill="#eb407a"
167
- />
168
- </svg>
93
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
94
+ viewBox: "0 0 256 256"
95
+ }, /* @__PURE__ */ React2.createElement("defs", null, /* @__PURE__ */ React2.createElement("linearGradient", {
96
+ id: "mainnet-linear-gradient",
97
+ x1: "14.52",
98
+ y1: "172.25",
99
+ x2: "172.25",
100
+ y2: "14.52",
101
+ gradientUnits: "userSpaceOnUse"
102
+ }, /* @__PURE__ */ React2.createElement("stop", {
103
+ offset: "0",
104
+ stopColor: "#572aff"
105
+ }), /* @__PURE__ */ React2.createElement("stop", {
106
+ offset: "1",
107
+ stopColor: "#7c82d8"
108
+ })), /* @__PURE__ */ React2.createElement("linearGradient", {
109
+ id: "mainnet-linear-gradient-2",
110
+ x1: "73.92",
111
+ y1: "231.66",
112
+ x2: "231.66",
113
+ y2: "73.92",
114
+ xlinkHref: "#mainnet-linear-gradient"
115
+ }), /* @__PURE__ */ React2.createElement("linearGradient", {
116
+ id: "mainnet-linear-gradient-3",
117
+ x1: "-7.8",
118
+ y1: "149.93",
119
+ x2: "149.93",
120
+ y2: "-7.8",
121
+ xlinkHref: "#mainnet-linear-gradient"
122
+ }), /* @__PURE__ */ React2.createElement("linearGradient", {
123
+ id: "mainnet-linear-gradient-4",
124
+ x1: "59.4",
125
+ y1: "217.13",
126
+ x2: "217.13",
127
+ y2: "59.4",
128
+ xlinkHref: "#mainnet-linear-gradient"
129
+ }), /* @__PURE__ */ React2.createElement("linearGradient", {
130
+ id: "mainnet-linear-gradient-5",
131
+ x1: "159.35",
132
+ y1: "79.63",
133
+ x2: "96.57",
134
+ y2: "176.29",
135
+ xlinkHref: "#mainnet-linear-gradient"
136
+ })), /* @__PURE__ */ React2.createElement("path", {
137
+ fill: "none",
138
+ d: "M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"
139
+ }), /* @__PURE__ */ React2.createElement("path", {
140
+ fill: "url(#mainnet-linear-gradient)",
141
+ d: "M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"
142
+ }), /* @__PURE__ */ React2.createElement("path", {
143
+ fill: "url(#mainnet-linear-gradient-2)",
144
+ d: "M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"
145
+ }), /* @__PURE__ */ React2.createElement("path", {
146
+ fill: "url(#mainnet-linear-gradient-4)",
147
+ d: "M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"
148
+ }), /* @__PURE__ */ React2.createElement("path", {
149
+ fill: "fill:url(#mainnet-linear-gradient-4)",
150
+ d: "M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"
151
+ }), /* @__PURE__ */ React2.createElement("path", {
152
+ className: "mainnet-cls-2",
153
+ d: "M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"
154
+ }), /* @__PURE__ */ React2.createElement("path", {
155
+ fill: "url(#mainnet-linear-gradient-5)",
156
+ d: "M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"
157
+ }), /* @__PURE__ */ React2.createElement("path", {
158
+ fill: "url(#mainnet-linear-gradient-5)",
159
+ d: "M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"
160
+ }), /* @__PURE__ */ React2.createElement("path", {
161
+ fill: "url(#mainnet-linear-gradient-5)",
162
+ d: "M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"
163
+ }), /* @__PURE__ */ React2.createElement("path", {
164
+ fill: "url(#mainnet-linear-gradient-5)",
165
+ d: "M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"
166
+ })), "xl1Mainnet");
167
+ var xl1MainnetString = `
168
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.mainnet-cls-1{fill:none;}.mainnet-cls-2{fill:url(#mainnet-linear-gradient-5);}.mainnet-cls-3{fill:url(#mainnet-linear-gradient-4);}.mainnet-cls-4{fill:url(#mainnet-linear-gradient-3);}.mainnet-cls-5{fill:url(#mainnet-linear-gradient-2);}.mainnet-cls-6{fill:url(#mainnet-linear-gradient);}.mainnet-cls-7{fill:#fff;}</style><linearGradient id="mainnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#572aff"/><stop offset="1" stop-color="#7c82d8"/></linearGradient><linearGradient id="mainnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#mainnet-linear-gradient"/></defs><path class="mainnet-cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="mainnet-cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="mainnet-cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="mainnet-cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="mainnet-cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="mainnet-cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="mainnet-cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="mainnet-cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="mainnet-cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="mainnet-cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
169
+ `;
170
+
171
+ // src/images/icons/testnet/xl1-testnet.tsx
172
+ import { createSvgIcon as createSvgIcon3 } from "@mui/material";
173
+ import React3 from "react";
174
+ var xl1Testnet = createSvgIcon3(/* @__PURE__ */ React3.createElement("svg", {
175
+ id: "Layer_1",
176
+ xmlns: "http://www.w3.org/2000/svg",
177
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
178
+ viewBox: "0 0 256 256"
179
+ }, /* @__PURE__ */ React3.createElement("defs", null, /* @__PURE__ */ React3.createElement("linearGradient", {
180
+ id: "testnet-linear-gradient",
181
+ x1: "14.52",
182
+ y1: "172.25",
183
+ x2: "172.25",
184
+ y2: "14.52",
185
+ gradientUnits: "userSpaceOnUse"
186
+ }, /* @__PURE__ */ React3.createElement("stop", {
187
+ offset: "0",
188
+ stopColor: "#f74504"
189
+ }), /* @__PURE__ */ React3.createElement("stop", {
190
+ offset: "1",
191
+ stopColor: "#f79e04"
192
+ })), /* @__PURE__ */ React3.createElement("linearGradient", {
193
+ id: "testnet-linear-gradient-2",
194
+ x1: "73.92",
195
+ y1: "231.66",
196
+ x2: "231.66",
197
+ y2: "73.92",
198
+ xlinkHref: "#testnet-linear-gradient"
199
+ }), /* @__PURE__ */ React3.createElement("linearGradient", {
200
+ id: "testnet-linear-gradient-3",
201
+ x1: "-7.8",
202
+ y1: "149.93",
203
+ x2: "149.93",
204
+ y2: "-7.8",
205
+ xlinkHref: "#testnet-linear-gradient"
206
+ }), /* @__PURE__ */ React3.createElement("linearGradient", {
207
+ id: "testnet-linear-gradient-4",
208
+ x1: "59.4",
209
+ y1: "217.13",
210
+ x2: "217.13",
211
+ y2: "59.4",
212
+ xlinkHref: "#testnet-linear-gradient"
213
+ }), /* @__PURE__ */ React3.createElement("linearGradient", {
214
+ id: "testnet-linear-gradient-5",
215
+ x1: "159.35",
216
+ y1: "79.63",
217
+ x2: "96.57",
218
+ y2: "176.29",
219
+ xlinkHref: "#testnet-linear-gradient"
220
+ })), /* @__PURE__ */ React3.createElement("path", {
221
+ fill: "none",
222
+ d: "M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"
223
+ }), /* @__PURE__ */ React3.createElement("path", {
224
+ fill: "url(#testnet-linear-gradient)",
225
+ d: "M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"
226
+ }), /* @__PURE__ */ React3.createElement("path", {
227
+ fill: "url(#testnet-linear-gradient-2",
228
+ d: "M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"
229
+ }), /* @__PURE__ */ React3.createElement("path", {
230
+ fill: "url(#testnet-linear-gradient-3",
231
+ d: "M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"
232
+ }), /* @__PURE__ */ React3.createElement("path", {
233
+ fill: "url(#testnet-linear-gradient-4",
234
+ d: "M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"
235
+ }), /* @__PURE__ */ React3.createElement("path", {
236
+ fill: "url(#testnet-linear-gradient-5",
237
+ d: "M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"
238
+ }), /* @__PURE__ */ React3.createElement("path", {
239
+ fill: "#fff",
240
+ d: "M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"
241
+ }), /* @__PURE__ */ React3.createElement("path", {
242
+ fill: "#fff",
243
+ d: "M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"
244
+ }), /* @__PURE__ */ React3.createElement("path", {
245
+ fill: "#fff",
246
+ d: "M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"
247
+ }), /* @__PURE__ */ React3.createElement("path", {
248
+ fill: "#fff",
249
+ d: "M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"
250
+ })), "xl1Testnet");
251
+ var xl1TestnetString = `
252
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.testnet-cls-1{fill:none;}.testnet-cls-2{fill:url(#testnet-linear-gradient-5);}.testnet-cls-3{fill:url(#testnet-linear-gradient-4);}.testnet-cls-4{fill:url(#testnet-linear-gradient-3);}.testnet-cls-5{fill:url(#testnet-linear-gradient-2);}.testnet-cls-6{fill:url(#testnet-linear-gradient);}.testnet-cls-7{fill:#fff;}</style><linearGradient id="testnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f74504"/><stop offset="1" stop-color="#f79e04"/></linearGradient><linearGradient id="testnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#testnet-linear-gradient"/></defs><path class="testnet-cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="testnet-cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="testnet-cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="testnet-cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="testnet-cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="testnet-cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="testnet-cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="testnet-cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="testnet-cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="testnet-cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
169
253
  `;
170
254
 
171
255
  // src/models/Bootstrap.ts
@@ -177,17 +261,17 @@ var asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap);
177
261
 
178
262
  // src/helpers/Networks.ts
179
263
  var MainNetwork = {
180
- description: "Main Node for the XYO Network",
181
- icon: XyoColorLogoString,
264
+ description: "Main Network for XYO Layer 1",
265
+ icon: xl1MainnetString,
182
266
  id: "mainnet",
183
267
  name: "Mainnet",
184
268
  schema: NetworkBootstrapSchema,
185
- symbol: "XYOG",
269
+ symbol: "XL1",
186
270
  url: "https://api.chain.xyo.network"
187
271
  };
188
272
  var SequenceNetwork = {
189
- description: "Test Node for the XYO Network",
190
- icon: XyoColorLogoString,
273
+ description: "Test Network for XYO Layer 1",
274
+ icon: xl1TestnetString,
191
275
  id: "sequence",
192
276
  name: "Sequence",
193
277
  schema: NetworkBootstrapSchema,
@@ -203,9 +287,14 @@ var LocalNetwork = {
203
287
  symbol: "XYOG",
204
288
  url: "http://localhost:8080"
205
289
  };
290
+ var DefaultNetworks = [
291
+ MainNetwork,
292
+ SequenceNetwork,
293
+ LocalNetwork
294
+ ];
206
295
 
207
296
  // src/context/network/Provider.tsx
208
- var ChainNetworkProvider = /* @__PURE__ */ __name(({ children, getActiveNetwork, networks, setActiveNetwork: setActiveNetworkExternal }) => {
297
+ var ChainNetworkProvider = /* @__PURE__ */ __name(({ children, getActiveNetwork, networks = DefaultNetworks, setActiveNetwork: setActiveNetworkExternal }) => {
209
298
  const [activeNetwork, setActiveNetwork] = useState();
210
299
  const [error, setError] = useState();
211
300
  const [resolvedActiveNetwork, activeNetworkError] = usePromise(async () => {
@@ -247,9 +336,9 @@ var ChainNetworkProvider = /* @__PURE__ */ __name(({ children, getActiveNetwork,
247
336
  networks,
248
337
  updateActiveNetwork
249
338
  ]);
250
- return /* @__PURE__ */ React5.createElement(ChainNetworkContext, {
339
+ return /* @__PURE__ */ React4.createElement(ChainNetworkContext, {
251
340
  value
252
- }, /* @__PURE__ */ React5.createElement(ErrorRender, {
341
+ }, /* @__PURE__ */ React4.createElement(ErrorRender, {
253
342
  error: error ?? activeNetworkError,
254
343
  scope: "WalletNetworkProvider"
255
344
  }), children);
@@ -259,11 +348,75 @@ var ChainNetworkProvider = /* @__PURE__ */ __name(({ children, getActiveNetwork,
259
348
  import { useContextEx } from "@xylabs/react-shared";
260
349
  var useChainNetwork = /* @__PURE__ */ __name((required = true) => useContextEx(ChainNetworkContext, "WalletNetwork", required), "useChainNetwork");
261
350
 
351
+ // src/components/menu/Icon.tsx
352
+ import { Icon } from "@mui/material";
353
+ import React5 from "react";
354
+ var NetworkIcon = /* @__PURE__ */ __name(({ icon, ...props }) => {
355
+ return /* @__PURE__ */ React5.createElement(Icon, {
356
+ sx: {
357
+ display: "inline-flex",
358
+ alignItems: "center",
359
+ justifyContent: "center"
360
+ },
361
+ ref: /* @__PURE__ */ __name((ref) => {
362
+ if (ref && icon) {
363
+ ref.innerHTML = icon;
364
+ }
365
+ }, "ref"),
366
+ ...props
367
+ });
368
+ }, "NetworkIcon");
369
+
370
+ // src/components/menu/Avatar.tsx
371
+ var NetworkAvatar = /* @__PURE__ */ __name(({ icon, name, ...props }) => {
372
+ return /* @__PURE__ */ React6.createElement(Avatar, {
373
+ sx: {
374
+ backgroundColor: "white",
375
+ height: 30,
376
+ width: 30
377
+ },
378
+ alt: name,
379
+ ...props
380
+ }, /* @__PURE__ */ React6.createElement(NetworkIcon, {
381
+ icon
382
+ }));
383
+ }, "NetworkAvatar");
384
+ var ActiveNetworkAvatar = /* @__PURE__ */ __name((props) => {
385
+ const { activeNetwork } = useChainNetwork();
386
+ return /* @__PURE__ */ React6.createElement(NetworkAvatar, {
387
+ icon: activeNetwork?.icon,
388
+ name: activeNetwork?.name,
389
+ ...props
390
+ });
391
+ }, "ActiveNetworkAvatar");
392
+
393
+ // src/components/menu/MenuItem.tsx
394
+ import { ListItemText } from "@mui/material";
395
+ import { ActiveMenuItem } from "@xyo-network/react-chain-shared";
396
+ import React7 from "react";
397
+ var NetworkMenuItem = /* @__PURE__ */ __name(({ active, network, onClick, updateActiveNetwork, ...props }) => {
398
+ const handleClick = /* @__PURE__ */ __name((event) => {
399
+ if (network === void 0) throw new Error("Network is undefined");
400
+ updateActiveNetwork?.(network.id);
401
+ onClick?.(event);
402
+ }, "handleClick");
403
+ return /* @__PURE__ */ React7.createElement(ActiveMenuItem, {
404
+ title: network?.name,
405
+ disableRipple: true,
406
+ onClick: handleClick,
407
+ active,
408
+ ...props
409
+ }, /* @__PURE__ */ React7.createElement(NetworkAvatar, {
410
+ icon: network?.icon,
411
+ name: network?.name
412
+ }), /* @__PURE__ */ React7.createElement(ListItemText, null, network?.name));
413
+ }, "NetworkMenuItem");
414
+
262
415
  // src/provider/NetworkProvider.ts
263
416
  import { assertEx } from "@xylabs/assert";
264
417
  import { asArchivistInstance } from "@xyo-network/archivist-model";
418
+ import { initBridge as initBridge2 } from "@xyo-network/chain-orchestration";
265
419
  import { findMostRecentBlock, hydrateBlock } from "@xyo-network/chain-protocol";
266
- import { initBridge as initBridge2 } from "@xyo-network/chain-sdk";
267
420
  import { XyoChainBlockNumberIterator } from "@xyo-network/chain-services";
268
421
  import { PayloadBuilder } from "@xyo-network/payload-builder";
269
422
  var FINALIZED_ARCHIVIST = "XYOChain:Chain:Finalized";
@@ -368,11 +521,14 @@ var NetworkProvider = class _NetworkProvider {
368
521
  }
369
522
  };
370
523
  export {
524
+ ActiveNetworkAvatar,
371
525
  ChainNetworkContext,
372
526
  ChainNetworkProvider,
527
+ DefaultNetworks,
373
528
  FINALIZED_ARCHIVIST,
374
529
  LocalNetwork,
375
530
  MainNetwork,
531
+ NetworkAvatar,
376
532
  NetworkBootstrapSchema,
377
533
  NetworkIcon,
378
534
  NetworkMenuItem,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/menu/Icon.tsx","../../src/components/menu/MenuItem.tsx","../../src/context/network/context.ts","../../src/context/network/Provider.tsx","../../src/helpers/getBridgedNodes.ts","../../src/helpers/initNetworkNode.ts","../../src/helpers/getNetworkNode.ts","../../src/helpers/manifest/network.json","../../src/helpers/manifest/networkManifest.ts","../../src/images/icons/LocalNetwork.tsx","../../src/images/icons/xyoColorLogo.tsx","../../src/models/Bootstrap.ts","../../src/helpers/Networks.ts","../../src/context/network/use.ts","../../src/provider/NetworkProvider.ts"],"sourcesContent":["import type { IconProps } from '@mui/material'\nimport { Icon } from '@mui/material'\nimport React from 'react'\n\nexport const NetworkIcon: React.FC<IconProps & { icon?: string }> = ({ icon, ...props }) => {\n return (\n <Icon\n sx={{\n display: 'inline-flex', alignItems: 'center', justifyContent: 'center',\n }}\n ref={(ref) => {\n if (ref && icon) {\n ref.innerHTML = icon\n }\n }}\n {...props}\n />\n )\n}\n","import type { MenuItemProps } from '@mui/material'\nimport { ListItemText } from '@mui/material'\nimport { ActiveMenuItem } from '@xyo-network/react-chain-shared'\nimport type { MouseEvent as ReactMouseEvent } from 'react'\nimport React from 'react'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { NetworkIcon } from './Icon.tsx'\n\nexport interface NetworkMenuItemProps extends MenuItemProps {\n active?: boolean\n network?: NetworkBootstrap\n updateActiveNetwork?: (networkId: string) => void\n}\n\nexport const NetworkMenuItem: React.FC<NetworkMenuItemProps> = ({\n active, network, onClick, updateActiveNetwork, ...props\n}) => {\n const handleClick = (event: ReactMouseEvent<HTMLLIElement, MouseEvent>) => {\n if (network === undefined) throw new Error('Network is undefined')\n updateActiveNetwork?.(network.id)\n onClick?.(event)\n }\n\n return (\n <ActiveMenuItem\n title={network?.name}\n disableRipple\n onClick={handleClick}\n active={active}\n {...props}\n >\n <NetworkIcon icon={network?.icon} />\n <ListItemText>{network?.name}</ListItemText>\n </ActiveMenuItem>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ChainNetworkState } from './state.ts'\n\nexport const ChainNetworkContext = createContextEx<ChainNetworkState>()\n","import { ErrorRender } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport { MainNetwork } from '../../helpers/index.ts'\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { ChainNetworkContext } from './context.ts'\nimport type { ChainNetworkState } from './state.ts'\n\nexport interface ChainNetworkProviderProps extends PropsWithChildren {\n getActiveNetwork?: () => Promise<NetworkBootstrap | undefined>\n networks?: NetworkBootstrap[]\n setActiveNetwork?: (networkId: NetworkBootstrap['id']) => Promise<NetworkBootstrap>\n}\n\nexport const ChainNetworkProvider: React.FC<ChainNetworkProviderProps> = ({\n children, getActiveNetwork, networks, setActiveNetwork: setActiveNetworkExternal,\n}) => {\n const [activeNetwork, setActiveNetwork] = useState<NetworkBootstrap>()\n const [error, setError] = useState<Error>()\n\n // Set the active network upon initialization\n const [resolvedActiveNetwork, activeNetworkError] = usePromise(async () => {\n // ensure networks are loaded\n if (!networks) return\n // get last saved active network\n const activeNetwork = await getActiveNetwork?.()\n // ensure the active network saved is found in the list of networks\n if (activeNetwork && networks?.find(network => network.id === activeNetwork.id)) {\n // Set the active network if it exists\n return activeNetwork\n } else {\n // Set the default network if no active network exists\n const defaultNetwork = networks.find(network => network.id === MainNetwork.id) ?? networks[0]\n await setActiveNetworkExternal?.(defaultNetwork.id)\n\n // Set the active network in the context\n return defaultNetwork\n }\n }, [networks])\n\n useMemo(() => {\n if (resolvedActiveNetwork) {\n setActiveNetwork(resolvedActiveNetwork)\n }\n }, [resolvedActiveNetwork])\n\n const updateActiveNetwork = useCallback((networkId: NetworkBootstrap['id']) => {\n setError(undefined)\n const network = networks?.find(network => network.id === networkId)\n // set internally\n setActiveNetwork(network)\n // set externally\n void setActiveNetworkExternal?.(networkId)\n }, [networks])\n\n const value = useMemo<ChainNetworkState>(() => ({\n activeNetwork,\n networks,\n provided: true,\n updateActiveNetwork,\n walletNetworkError: error ?? activeNetworkError,\n }), [activeNetwork, networks, updateActiveNetwork])\n\n return (\n <ChainNetworkContext value={value}>\n <ErrorRender error={error ?? activeNetworkError} scope=\"WalletNetworkProvider\" />\n {children}\n </ChainNetworkContext>\n )\n}\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nconst bridgedNodeMap = new Map<string, AttachableNodeInstance>()\n\nexport const getBridgedNodes = () => {\n return bridgedNodeMap\n}\n","import { initBridge } from '@xyo-network/chain-sdk'\nimport type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { getBridgedNodes } from './getBridgedNodes.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\n\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap): Promise<AttachableNodeInstance> => {\n const bridgedNodeMap = getBridgedNodes()\n if (bridgedNodeMap.has(activeNetwork.url)) return bridgedNodeMap.get(activeNetwork.url)!\n\n const bridge = await initBridge(activeNetwork.url)\n const activeNetworkNode = await getNetworkNode()\n await activeNetworkNode.register?.(bridge)\n await activeNetworkNode.attach?.(bridge.address, true)\n bridgedNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n","import { HDWallet } from '@xyo-network/account'\nimport { ManifestWrapper } from '@xyo-network/manifest-wrapper'\n\nimport { NetworkNodeManifest } from './manifest/index.ts'\n\nexport const getNetworkNode = async () => {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, await HDWallet.random())\n const [node] = await wrapper.loadNodes()\n return node\n}\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}","import type { PackageManifestPayload } from '@xyo-network/manifest-model'\n\nimport node from './network.json' with { type: 'json' }\n\n/**\n * Root Node Manifest\n */\nexport const NetworkNodeManifest = node as PackageManifestPayload\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const LocalNetworkIcon = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -960 960 960\">\n <path fill=\"currentColor\" d=\"M40-120v-80h880v80H40Zm120-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z\" />\n </svg>,\n 'LocalNetworkIcon',\n)\n\nexport const LocalNetworkIconString = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"18\" width=\"18\" viewBox=\"0 -960 960 960\">\n <path fill=\"currentColor\" d=\"M40-120v-80h880v80H40Zm120-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z\" />\n </svg>\n`\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const XyoColorLogo = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\">\n <path\n className=\"cls-1\"\n d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"\n fill=\"#8d8fc6\"\n />\n <path\n className=\"cls-2\"\n d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"\n fill=\"#579fd6\"\n />\n <path\n className=\"cls-3\"\n d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"\n fill=\"#f27046\"\n />\n <path\n className=\"cls-4\"\n d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"\n fill=\"#eb407a\"\n />\n </svg>,\n 'XyoColorLogo',\n)\n\nexport const XyoColorLogoString = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\">\n <path\n className=\"cls-1\"\n d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"\n fill=\"#8d8fc6\"\n />\n <path\n className=\"cls-2\"\n d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"\n fill=\"#579fd6\"\n />\n <path\n className=\"cls-3\"\n d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"\n fill=\"#f27046\"\n />\n <path\n className=\"cls-4\"\n d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"\n fill=\"#eb407a\"\n />\n </svg>\n`\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { ChainInformation } from '@xyo-network/chain-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const NetworkBootstrapSchema = 'network.xyo.network.bootstrap' as const\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** string representation of the icon (svg) */\n icon?: string\n /** Machine-readable identifier */\n id: string\n /** Human-readable identifier */\n name: string\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n /** Url for accessing the network */\n url: string\n}\n\n/** Note: Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields {\n /** Address of the chain, i.e. smart contract address */\n chainInfo?: ChainInformation\n}\n\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n","import { LocalNetworkIconString, XyoColorLogoString } from '../images/index.ts'\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\nexport const MainNetwork: NetworkBootstrap = {\n description: 'Main Node for the XYO Network',\n icon: XyoColorLogoString,\n id: 'mainnet',\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XYOG',\n url: 'https://api.chain.xyo.network',\n}\n\nexport const SequenceNetwork: NetworkBootstrap = {\n description: 'Test Node for the XYO Network',\n icon: XyoColorLogoString,\n id: 'sequence',\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XYOG',\n url: 'https://beta.api.chain.xyo.network/',\n}\n\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local',\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XYOG',\n url: 'http://localhost:8080',\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { ChainNetworkContext } from './context.ts'\n\nexport const useChainNetwork = (required = true) => useContextEx(ChainNetworkContext, 'WalletNetwork', required)\n","import { assertEx } from '@xylabs/assert'\nimport type { Address, Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { BridgeInstance } from '@xyo-network/bridge-model'\nimport type {\n ChainInformation,\n HydratedBlock, SignedHydratedBlock, SignedHydratedTransaction, TransactionBoundWitness,\n XyoRunner,\n XyoSigner,\n XyoViewer,\n XyoWallet,\n} from '@xyo-network/chain-model'\nimport { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'\nimport { initBridge } from '@xyo-network/chain-sdk'\nimport { XyoChainBlockNumberIterator } from '@xyo-network/chain-services'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nexport const FINALIZED_ARCHIVIST = 'XYOChain:Chain:Finalized' as const\n\nexport interface NetworkProviderParams {\n chainInformation?: ChainInformation\n network: string\n}\n\n// TODO: change back to implementing XyoProvider which requires sub objects\nexport class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunner {\n private _bridge: BridgeInstance\n\n constructor(bridge: BridgeInstance) {\n this._bridge = bridge\n }\n\n private get bridge() {\n return assertEx(this._bridge, () => 'Bridge not set')\n }\n\n static async create({ network }: NetworkProviderParams): Promise<NetworkProvider> {\n const bridge = await initBridge(network)\n return new NetworkProvider(bridge)\n }\n\n accountBalance(_address: Address, _blockNumber: number, _full: boolean): Promisable<bigint> {\n throw new Error('Method not implemented.')\n }\n\n accounts(): Promisable<Address[]> {\n throw new Error('Method not implemented.')\n }\n\n addChain(_chain: Address, _name?: string): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n address(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n blockByHash(_hash: Hash): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blockByNumber(_blockNumber: number): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blocksByHash(_hash: Hash, _limit?: number): Promisable<SignedHydratedBlock[]> {\n throw new Error('Method not implemented.')\n }\n\n chainId(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chains(): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n currentBlock(): Promisable<SignedHydratedBlock> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockHash(): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockNumber(): Promisable<number> {\n throw new Error('Method not implemented.')\n }\n\n permissions(): Promisable<Record<string, object>> {\n throw new Error('Method not implemented.')\n }\n\n async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {\n const chainArchivist = await this.getFinalizedArchivist()\n const head = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')\n const iterator = await XyoChainBlockNumberIterator.create({ chainArchivist, head })\n const blocks = await iterator.previous(head.block, count)\n\n let hydratedBlocks: HydratedBlock[] = []\n for (const block of blocks) {\n hydratedBlocks.push(await hydrateBlock(chainArchivist, await PayloadBuilder.hash(block)))\n }\n return hydratedBlocks\n }\n\n requestPermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n sendTransaction(_transaction: SignedHydratedTransaction): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n switchChain(_chain: Address): Promisable<void> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByHash(_transactionHash: Hash): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n private async getFinalizedArchivist(): Promise<ArchivistInstance> {\n const bridge = this.bridge\n const mod = assertEx(await bridge.resolve(FINALIZED_ARCHIVIST), () => `${FINALIZED_ARCHIVIST} not found`)\n return assertEx(asArchivistInstance(mod), () => `${FINALIZED_ARCHIVIST} is not an archivist`)\n }\n}\n"],"mappings":";;;;AACA,SAASA,YAAY;AACrB,OAAOC,WAAW;AAEX,IAAMC,cAAuD,wBAAC,EAAEC,MAAM,GAAGC,MAAAA,MAAO;AACrF,SACE,sBAAA,cAACC,MAAAA;IACCC,IAAI;MACFC,SAAS;MAAeC,YAAY;MAAUC,gBAAgB;IAChE;IACAC,KAAK,wBAACA,QAAAA;AACJ,UAAIA,OAAOP,MAAM;AACfO,YAAIC,YAAYR;MAClB;IACF,GAJK;IAKJ,GAAGC;;AAGV,GAdoE;;;ACHpE,SAASQ,oBAAoB;AAC7B,SAASC,sBAAsB;AAE/B,OAAOC,YAAW;AAWX,IAAMC,kBAAkD,wBAAC,EAC9DC,QAAQC,SAASC,SAASC,qBAAqB,GAAGC,MAAAA,MACnD;AACC,QAAMC,cAAc,wBAACC,UAAAA;AACnB,QAAIL,YAAYM,OAAW,OAAM,IAAIC,MAAM,sBAAA;AAC3CL,0BAAsBF,QAAQQ,EAAE;AAChCP,cAAUI,KAAAA;EACZ,GAJoB;AAMpB,SACE,gBAAAI,OAAA,cAACC,gBAAAA;IACCC,OAAOX,SAASY;IAChBC,eAAAA;IACAZ,SAASG;IACTL;IACC,GAAGI;KAEJ,gBAAAM,OAAA,cAACK,aAAAA;IAAYC,MAAMf,SAASe;MAC5B,gBAAAN,OAAA,cAACO,cAAAA,MAAchB,SAASY,IAAAA,CAAAA;AAG9B,GArB+D;;;ACf/D,SAASK,uBAAuB;AAIzB,IAAMC,sBAAsBD,gBAAAA;;;ACJnC,SAASE,mBAAmB;AAC5B,SAASC,kBAAkB;AAE3B,OAAOC,UACLC,aAAaC,SAASC,gBACjB;;;ACHP,IAAMC,iBAAiB,oBAAIC,IAAAA;AAEpB,IAAMC,kBAAkB,6BAAA;AAC7B,SAAOF;AACT,GAF+B;;;ACJ/B,SAASG,kBAAkB;;;ACA3B,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;;;ACDhC;AAAA,EACE,SAAW;AAAA,EACX,OAAS;AAAA,IACP;AAAA,MACE,QAAU;AAAA,QACR,aAAe;AAAA,QACf,MAAQ;AAAA,QACR,QAAU;AAAA,MACZ;AAAA,MACA,SAAW;AAAA,QACT,SAAW,CAAC;AAAA,QACZ,QAAU,CAAC;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAU;AACZ;;;ACTO,IAAMC,sBAAsBC;;;AFF5B,IAAMC,iBAAiB,mCAAA;AAC5B,QAAMC,UAAU,IAAIC,gBAAgBC,qBAAqB,MAAMC,SAASC,OAAM,CAAA;AAC9E,QAAM,CAACC,IAAAA,IAAQ,MAAML,QAAQM,UAAS;AACtC,SAAOD;AACT,GAJ8B;;;ADEvB,IAAME,kBAAkB,8BAAOC,kBAAAA;AACpC,QAAMC,kBAAiBC,gBAAAA;AACvB,MAAID,gBAAeE,IAAIH,cAAcI,GAAG,EAAG,QAAOH,gBAAeI,IAAIL,cAAcI,GAAG;AAEtF,QAAME,SAAS,MAAMC,WAAWP,cAAcI,GAAG;AACjD,QAAMI,oBAAoB,MAAMC,eAAAA;AAChC,QAAMD,kBAAkBE,WAAWJ,MAAAA;AACnC,QAAME,kBAAkBG,SAASL,OAAOM,SAAS,IAAA;AACjDX,EAAAA,gBAAeY,IAAIb,cAAcI,KAAKI,iBAAAA;AAEtC,SAAOA;AACT,GAX+B;;;AIN/B,SAASM,qBAAqB;AAC9B,OAAOC,YAAW;AAEX,IAAMC,mBAAmBF,cAC9B,gBAAAC,OAAA,cAACE,OAAAA;EAAIC,OAAM;EAA6BC,SAAQ;GAC9C,gBAAAJ,OAAA,cAACK,QAAAA;EAAKC,MAAK;EAAeC,GAAE;KAE9B,kBAAA;AAGK,IAAMC,yBAAyB;;;;;;;ACVtC,SAASC,iBAAAA,sBAAqB;AAC9B,OAAOC,YAAW;AAEX,IAAMC,eAAeF,eAC1B,gBAAAC,OAAA,cAACE,OAAAA;EAAIC,OAAM;EAA6BC,SAAQ;GAC9C,gBAAAJ,OAAA,cAACK,QAAAA;EACCC,WAAU;EACVC,GAAE;EACFC,MAAK;IAEP,gBAAAR,OAAA,cAACK,QAAAA;EACCC,WAAU;EACVC,GAAE;EACFC,MAAK;IAEP,gBAAAR,OAAA,cAACK,QAAAA;EACCC,WAAU;EACVC,GAAE;EACFC,MAAK;IAEP,gBAAAR,OAAA,cAACK,QAAAA;EACCC,WAAU;EACVC,GAAE;EACFC,MAAK;KAGT,cAAA;AAGK,IAAMC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BlC,SAASC,uBAAuB;AAGhC,SAASC,6BAA6B;AAE/B,IAAMC,yBAAyB;AAwC/B,IAAMC,qBAAqBF,sBAAwCC,sBAAAA;AAEnE,IAAME,oBAAoBJ,gBAAgBK,eAAeF,kBAAAA;;;AC5CzD,IAAMG,cAAgC;EAC3CC,aAAa;EACbC,MAAMC;EACNC,IAAI;EACJC,MAAM;EACNC,QAAQC;EACRC,QAAQ;EACRC,KAAK;AACP;AAEO,IAAMC,kBAAoC;EAC/CT,aAAa;EACbC,MAAMC;EACNC,IAAI;EACJC,MAAM;EACNC,QAAQC;EACRC,QAAQ;EACRC,KAAK;AACP;AAEO,IAAME,eAAiC;EAC5CV,aAAa;EACbC,MAAMU;EACNR,IAAI;EACJC,MAAM;EACNC,QAAQC;EACRC,QAAQ;EACRC,KAAK;AACP;;;ATdO,IAAMI,uBAA4D,wBAAC,EACxEC,UAAUC,kBAAkBC,UAAUC,kBAAkBC,yBAAwB,MACjF;AACC,QAAM,CAACC,eAAeF,gBAAAA,IAAoBG,SAAAA;AAC1C,QAAM,CAACC,OAAOC,QAAAA,IAAYF,SAAAA;AAG1B,QAAM,CAACG,uBAAuBC,kBAAAA,IAAsBC,WAAW,YAAA;AAE7D,QAAI,CAACT,SAAU;AAEf,UAAMG,iBAAgB,MAAMJ,mBAAAA;AAE5B,QAAII,kBAAiBH,UAAUU,KAAKC,CAAAA,YAAWA,QAAQC,OAAOT,eAAcS,EAAE,GAAG;AAE/E,aAAOT;IACT,OAAO;AAEL,YAAMU,iBAAiBb,SAASU,KAAKC,CAAAA,YAAWA,QAAQC,OAAOE,YAAYF,EAAE,KAAKZ,SAAS,CAAA;AAC3F,YAAME,2BAA2BW,eAAeD,EAAE;AAGlD,aAAOC;IACT;EACF,GAAG;IAACb;GAAS;AAEbe,UAAQ,MAAA;AACN,QAAIR,uBAAuB;AACzBN,uBAAiBM,qBAAAA;IACnB;EACF,GAAG;IAACA;GAAsB;AAE1B,QAAMS,sBAAsBC,YAAY,CAACC,cAAAA;AACvCZ,aAASa,MAAAA;AACT,UAAMR,UAAUX,UAAUU,KAAKC,CAAAA,aAAWA,SAAQC,OAAOM,SAAAA;AAEzDjB,qBAAiBU,OAAAA;AAEjB,SAAKT,2BAA2BgB,SAAAA;EAClC,GAAG;IAAClB;GAAS;AAEb,QAAMoB,QAAQL,QAA2B,OAAO;IAC9CZ;IACAH;IACAqB,UAAU;IACVL;IACAM,oBAAoBjB,SAASG;EAC/B,IAAI;IAACL;IAAeH;IAAUgB;GAAoB;AAElD,SACE,gBAAAO,OAAA,cAACC,qBAAAA;IAAoBJ;KACnB,gBAAAG,OAAA,cAACE,aAAAA;IAAYpB,OAAOA,SAASG;IAAoBkB,OAAM;MACtD5B,QAAAA;AAGP,GAvDyE;;;AUlBzE,SAAS6B,oBAAoB;AAItB,IAAMC,kBAAkB,wBAACC,WAAW,SAASC,aAAaC,qBAAqB,iBAAiBF,QAAAA,GAAxE;;;ACJ/B,SAASG,gBAAgB;AAIzB,SAASC,2BAA2B;AAWpC,SAASC,qBAAqBC,oBAAoB;AAClD,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mCAAmC;AAC5C,SAASC,sBAAsB;AAExB,IAAMC,sBAAsB;AAQ5B,IAAMC,kBAAN,MAAMA,iBAAAA;EA5Bb,OA4BaA;;;EACHC;EAERC,YAAYC,QAAwB;AAClC,SAAKF,UAAUE;EACjB;EAEA,IAAYA,SAAS;AACnB,WAAOC,SAAS,KAAKH,SAAS,MAAM,gBAAA;EACtC;EAEA,aAAaI,OAAO,EAAEC,QAAO,GAAqD;AAChF,UAAMH,SAAS,MAAMI,YAAWD,OAAAA;AAChC,WAAO,IAAIN,iBAAgBG,MAAAA;EAC7B;EAEAK,eAAeC,UAAmBC,cAAsBC,OAAoC;AAC1F,UAAM,IAAIC,MAAM,yBAAA;EAClB;EAEAC,WAAkC;AAChC,UAAM,IAAID,MAAM,yBAAA;EAClB;EAEAE,SAASC,QAAiBC,OAAoC;AAC5D,UAAM,IAAIJ,MAAM,yBAAA;EAClB;EAEAK,UAA+B;AAC7B,UAAM,IAAIL,MAAM,yBAAA;EAClB;EAEAM,YAAYC,OAAqD;AAC/D,UAAM,IAAIP,MAAM,yBAAA;EAClB;EAEAQ,cAAcV,cAA8D;AAC1E,UAAM,IAAIE,MAAM,yBAAA;EAClB;EAEAS,aAAaF,OAAaG,QAAoD;AAC5E,UAAM,IAAIV,MAAM,yBAAA;EAClB;EAEAW,UAA+B;AAC7B,UAAM,IAAIX,MAAM,yBAAA;EAClB;EAEAY,SAA6B;AAC3B,UAAM,IAAIZ,MAAM,yBAAA;EAClB;EAEAa,eAAgD;AAC9C,UAAM,IAAIb,MAAM,yBAAA;EAClB;EAEAc,mBAAqC;AACnC,UAAM,IAAId,MAAM,yBAAA;EAClB;EAEAe,qBAAyC;AACvC,UAAM,IAAIf,MAAM,yBAAA;EAClB;EAEAgB,cAAkD;AAChD,UAAM,IAAIhB,MAAM,yBAAA;EAClB;EAEA,MAAMiB,eAAeC,eAAsBC,QAAQ,IAA8B;AAC/E,UAAMC,iBAAiB,MAAM,KAAKC,sBAAqB;AACvD,UAAMC,OAAO9B,SAAS,MAAM+B,oBAAoBH,gBAAgB;MAAEI,QAAQN;IAAc,CAAA,GAAI,MAAM,kCAAA;AAClG,UAAMO,WAAW,MAAMC,4BAA4BjC,OAAO;MAAE2B;MAAgBE;IAAK,CAAA;AACjF,UAAMK,SAAS,MAAMF,SAASG,SAASN,KAAKO,OAAOV,KAAAA;AAEnD,QAAIW,iBAAkC,CAAA;AACtC,eAAWD,SAASF,QAAQ;AAC1BG,qBAAeC,KAAK,MAAMC,aAAaZ,gBAAgB,MAAMa,eAAeC,KAAKL,KAAAA,CAAAA,CAAAA;IACnF;AACA,WAAOC;EACT;EAEAK,mBAAmBC,cAA0C;AAC3D,UAAM,IAAIpC,MAAM,yBAAA;EAClB;EAEAqC,kBAAkBD,cAA0C;AAC1D,UAAM,IAAIpC,MAAM,yBAAA;EAClB;EAEAsC,gBAAgBC,cAA2D;AACzE,UAAM,IAAIvC,MAAM,yBAAA;EAClB;EAEAwC,gBAAgBD,cAAoF;AAClG,UAAM,IAAIvC,MAAM,yBAAA;EAClB;EAEAyC,YAAYtC,QAAmC;AAC7C,UAAM,IAAIH,MAAM,yBAAA;EAClB;EAEA0C,+BAA+BC,YAAkBC,mBAAyE;AACxH,UAAM,IAAI5C,MAAM,yBAAA;EAClB;EAEA6C,iCAAiC/C,cAAsB8C,mBAAyE;AAC9H,UAAM,IAAI5C,MAAM,yBAAA;EAClB;EAEA8C,kBAAkBC,kBAAsE;AACtF,UAAM,IAAI/C,MAAM,yBAAA;EAClB;EAEA,MAAcqB,wBAAoD;AAChE,UAAM9B,SAAS,KAAKA;AACpB,UAAMyD,MAAMxD,SAAS,MAAMD,OAAO0D,QAAQ9D,mBAAAA,GAAsB,MAAM,GAAGA,mBAAAA,YAA+B;AACxG,WAAOK,SAAS0D,oBAAoBF,GAAAA,GAAM,MAAM,GAAG7D,mBAAAA,sBAAyC;EAC9F;AACF;","names":["Icon","React","NetworkIcon","icon","props","Icon","sx","display","alignItems","justifyContent","ref","innerHTML","ListItemText","ActiveMenuItem","React","NetworkMenuItem","active","network","onClick","updateActiveNetwork","props","handleClick","event","undefined","Error","id","React","ActiveMenuItem","title","name","disableRipple","NetworkIcon","icon","ListItemText","createContextEx","ChainNetworkContext","ErrorRender","usePromise","React","useCallback","useMemo","useState","bridgedNodeMap","Map","getBridgedNodes","initBridge","HDWallet","ManifestWrapper","NetworkNodeManifest","node","getNetworkNode","wrapper","ManifestWrapper","NetworkNodeManifest","HDWallet","random","node","loadNodes","initNetworkNode","activeNetwork","bridgedNodeMap","getBridgedNodes","has","url","get","bridge","initBridge","activeNetworkNode","getNetworkNode","register","attach","address","set","createSvgIcon","React","LocalNetworkIcon","svg","xmlns","viewBox","path","fill","d","LocalNetworkIconString","createSvgIcon","React","XyoColorLogo","svg","xmlns","viewBox","path","className","d","fill","XyoColorLogoString","AsObjectFactory","isPayloadOfSchemaType","NetworkBootstrapSchema","isNetworkBootstrap","asOptionalNetwork","createOptional","MainNetwork","description","icon","XyoColorLogoString","id","name","schema","NetworkBootstrapSchema","symbol","url","SequenceNetwork","LocalNetwork","LocalNetworkIconString","ChainNetworkProvider","children","getActiveNetwork","networks","setActiveNetwork","setActiveNetworkExternal","activeNetwork","useState","error","setError","resolvedActiveNetwork","activeNetworkError","usePromise","find","network","id","defaultNetwork","MainNetwork","useMemo","updateActiveNetwork","useCallback","networkId","undefined","value","provided","walletNetworkError","React","ChainNetworkContext","ErrorRender","scope","useContextEx","useChainNetwork","required","useContextEx","ChainNetworkContext","assertEx","asArchivistInstance","findMostRecentBlock","hydrateBlock","initBridge","XyoChainBlockNumberIterator","PayloadBuilder","FINALIZED_ARCHIVIST","NetworkProvider","_bridge","constructor","bridge","assertEx","create","network","initBridge","accountBalance","_address","_blockNumber","_full","Error","accounts","addChain","_chain","_name","address","blockByHash","_hash","blockByNumber","blocksByHash","_limit","chainId","chains","currentBlock","currentBlockHash","currentBlockNumber","permissions","previousBlocks","startingBlock","count","chainArchivist","getFinalizedArchivist","head","findMostRecentBlock","cursor","iterator","XyoChainBlockNumberIterator","blocks","previous","block","hydratedBlocks","push","hydrateBlock","PayloadBuilder","hash","requestPermissions","_permissions","revokePermissions","sendTransaction","_transaction","signTransaction","switchChain","transactionByBlockHashAndIndex","_blockHash","_transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","_transactionHash","mod","resolve","asArchivistInstance"]}
1
+ {"version":3,"sources":["../../src/components/menu/Avatar.tsx","../../src/context/network/context.ts","../../src/context/network/Provider.tsx","../../src/helpers/getBridgedNodes.ts","../../src/helpers/initNetworkNode.ts","../../src/helpers/getNetworkNode.ts","../../src/helpers/manifest/network.json","../../src/helpers/manifest/networkManifest.ts","../../src/images/icons/LocalNetwork.tsx","../../src/images/icons/mainnet/xl1-mainnet.tsx","../../src/images/icons/testnet/xl1-testnet.tsx","../../src/models/Bootstrap.ts","../../src/helpers/Networks.ts","../../src/context/network/use.ts","../../src/components/menu/Icon.tsx","../../src/components/menu/MenuItem.tsx","../../src/provider/NetworkProvider.ts"],"sourcesContent":["import type { AvatarProps } from '@mui/material'\nimport { Avatar } from '@mui/material'\nimport React from 'react'\n\nimport { useChainNetwork } from '../../context/index.ts'\nimport { NetworkIcon } from './Icon.tsx'\n\nexport const NetworkAvatar: React.FC<AvatarProps & { icon?: string; name?: string }> = ({\n icon, name, ...props\n}) => {\n return (\n <Avatar\n sx={{\n backgroundColor: 'white', height: 30, width: 30,\n }}\n alt={name}\n {...props}\n >\n <NetworkIcon icon={icon} />\n </Avatar>\n )\n}\n\nexport const ActiveNetworkAvatar: React.FC<AvatarProps> = (props) => {\n const { activeNetwork } = useChainNetwork()\n\n return (\n <NetworkAvatar\n icon={activeNetwork?.icon}\n name={activeNetwork?.name}\n {...props}\n />\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ChainNetworkState } from './state.ts'\n\nexport const ChainNetworkContext = createContextEx<ChainNetworkState>()\n","import { ErrorRender } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport {\n DefaultNetworks,\n MainNetwork,\n} from '../../helpers/index.ts'\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { ChainNetworkContext } from './context.ts'\nimport type { ChainNetworkState } from './state.ts'\n\nexport interface ChainNetworkProviderProps extends PropsWithChildren {\n getActiveNetwork?: () => Promise<NetworkBootstrap | undefined>\n networks?: NetworkBootstrap[]\n setActiveNetwork?: (networkId: NetworkBootstrap['id']) => Promise<NetworkBootstrap>\n}\n\nexport const ChainNetworkProvider: React.FC<ChainNetworkProviderProps> = ({\n children, getActiveNetwork, networks = DefaultNetworks, setActiveNetwork: setActiveNetworkExternal,\n}) => {\n const [activeNetwork, setActiveNetwork] = useState<NetworkBootstrap>()\n const [error, setError] = useState<Error>()\n\n // Set the active network upon initialization\n const [resolvedActiveNetwork, activeNetworkError] = usePromise(async () => {\n // ensure networks are loaded\n if (!networks) return\n // get last saved active network\n const activeNetwork = await getActiveNetwork?.()\n // ensure the active network saved is found in the list of networks\n if (activeNetwork && networks?.find(network => network.id === activeNetwork.id)) {\n // Set the active network if it exists\n return activeNetwork\n } else {\n // Set the default network if no active network exists\n const defaultNetwork = networks.find(network => network.id === MainNetwork.id) ?? networks[0]\n await setActiveNetworkExternal?.(defaultNetwork.id)\n\n // Set the active network in the context\n return defaultNetwork\n }\n }, [networks])\n\n useMemo(() => {\n if (resolvedActiveNetwork) {\n setActiveNetwork(resolvedActiveNetwork)\n }\n }, [resolvedActiveNetwork])\n\n const updateActiveNetwork = useCallback((networkId: NetworkBootstrap['id']) => {\n setError(undefined)\n const network = networks?.find(network => network.id === networkId)\n // set internally\n setActiveNetwork(network)\n // set externally\n void setActiveNetworkExternal?.(networkId)\n }, [networks])\n\n const value = useMemo<ChainNetworkState>(() => ({\n activeNetwork,\n networks,\n provided: true,\n updateActiveNetwork,\n walletNetworkError: error ?? activeNetworkError,\n }), [activeNetwork, networks, updateActiveNetwork])\n\n return (\n <ChainNetworkContext value={value}>\n <ErrorRender error={error ?? activeNetworkError} scope=\"WalletNetworkProvider\" />\n {children}\n </ChainNetworkContext>\n )\n}\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nconst bridgedNodeMap = new Map<string, AttachableNodeInstance>()\n\nexport const getBridgedNodes = () => {\n return bridgedNodeMap\n}\n","import { initBridge } from '@xyo-network/chain-orchestration'\nimport type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { getBridgedNodes } from './getBridgedNodes.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\n\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap): Promise<AttachableNodeInstance> => {\n const bridgedNodeMap = getBridgedNodes()\n if (bridgedNodeMap.has(activeNetwork.url)) return bridgedNodeMap.get(activeNetwork.url)!\n\n const bridge = await initBridge(activeNetwork.url)\n const activeNetworkNode = await getNetworkNode()\n await activeNetworkNode.register?.(bridge)\n await activeNetworkNode.attach?.(bridge.address, true)\n bridgedNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n","import { HDWallet } from '@xyo-network/account'\nimport { ManifestWrapper } from '@xyo-network/manifest-wrapper'\n\nimport { NetworkNodeManifest } from './manifest/index.ts'\n\nexport const getNetworkNode = async () => {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, await HDWallet.random())\n const [node] = await wrapper.loadNodes()\n return node\n}\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}","import type { PackageManifestPayload } from '@xyo-network/manifest-model'\n\nimport node from './network.json' with { type: 'json' }\n\n/**\n * Root Node Manifest\n */\nexport const NetworkNodeManifest = node as PackageManifestPayload\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const LocalNetworkIcon = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -960 960 960\">\n <path fill=\"currentColor\" d=\"M40-120v-80h880v80H40Zm120-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z\" />\n </svg>,\n 'LocalNetworkIcon',\n)\n\nexport const LocalNetworkIconString = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"18\" width=\"18\" viewBox=\"0 -960 960 960\">\n <path fill=\"currentColor\" d=\"M40-120v-80h880v80H40Zm120-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z\" />\n </svg>\n`\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const xl1Mainnet = createSvgIcon(\n <svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\">\n <defs>\n <linearGradient id=\"mainnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stopColor=\"#572aff\" />\n <stop offset=\"1\" stopColor=\"#7c82d8\" />\n </linearGradient>\n <linearGradient id=\"mainnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlinkHref=\"#mainnet-linear-gradient\" />\n <linearGradient id=\"mainnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlinkHref=\"#mainnet-linear-gradient\" />\n <linearGradient id=\"mainnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlinkHref=\"#mainnet-linear-gradient\" />\n <linearGradient id=\"mainnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlinkHref=\"#mainnet-linear-gradient\" />\n </defs>\n <path fill=\"none\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\" />\n <path fill=\"url(#mainnet-linear-gradient)\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\" />\n <path fill=\"url(#mainnet-linear-gradient-2)\"d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\" />\n <path fill=\"url(#mainnet-linear-gradient-4)\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\" />\n <path fill=\"fill:url(#mainnet-linear-gradient-4)\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\" />\n <path className=\"mainnet-cls-2\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\" />\n <path fill=\"url(#mainnet-linear-gradient-5)\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\" />\n <path fill=\"url(#mainnet-linear-gradient-5)\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\" />\n <path fill=\"url(#mainnet-linear-gradient-5)\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\" />\n <path fill=\"url(#mainnet-linear-gradient-5)\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\" />\n </svg>,\n 'xl1Mainnet',\n)\n\nexport const xl1MainnetString = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\"><defs><style>.mainnet-cls-1{fill:none;}.mainnet-cls-2{fill:url(#mainnet-linear-gradient-5);}.mainnet-cls-3{fill:url(#mainnet-linear-gradient-4);}.mainnet-cls-4{fill:url(#mainnet-linear-gradient-3);}.mainnet-cls-5{fill:url(#mainnet-linear-gradient-2);}.mainnet-cls-6{fill:url(#mainnet-linear-gradient);}.mainnet-cls-7{fill:#fff;}</style><linearGradient id=\"mainnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#572aff\"/><stop offset=\"1\" stop-color=\"#7c82d8\"/></linearGradient><linearGradient id=\"mainnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlink:href=\"#mainnet-linear-gradient\"/></defs><path class=\"mainnet-cls-1\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\"/><path class=\"mainnet-cls-6\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\"/><path class=\"mainnet-cls-5\" d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\"/><path class=\"mainnet-cls-4\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\"/><path class=\"mainnet-cls-3\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\"/><path class=\"mainnet-cls-2\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\"/><path class=\"mainnet-cls-7\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\"/></svg>\n`\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const xl1Testnet = createSvgIcon(\n <svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\">\n <defs>\n <linearGradient id=\"testnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stopColor=\"#f74504\" />\n <stop offset=\"1\" stopColor=\"#f79e04\" />\n </linearGradient>\n <linearGradient id=\"testnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlinkHref=\"#testnet-linear-gradient\" />\n <linearGradient id=\"testnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlinkHref=\"#testnet-linear-gradient\" />\n <linearGradient id=\"testnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlinkHref=\"#testnet-linear-gradient\" />\n <linearGradient id=\"testnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlinkHref=\"#testnet-linear-gradient\" />\n </defs>\n <path fill=\"none\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\" />\n <path fill=\"url(#testnet-linear-gradient)\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\" />\n <path fill=\"url(#testnet-linear-gradient-2\" d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\" />\n <path fill=\"url(#testnet-linear-gradient-3\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\" />\n <path fill=\"url(#testnet-linear-gradient-4\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\" />\n <path fill=\"url(#testnet-linear-gradient-5\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\" />\n <path fill=\"#fff\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\" />\n <path fill=\"#fff\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\" />\n <path fill=\"#fff\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\" />\n <path fill=\"#fff\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\" />\n </svg>,\n 'xl1Testnet',\n)\n\nexport const xl1TestnetString = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\"><defs><style>.testnet-cls-1{fill:none;}.testnet-cls-2{fill:url(#testnet-linear-gradient-5);}.testnet-cls-3{fill:url(#testnet-linear-gradient-4);}.testnet-cls-4{fill:url(#testnet-linear-gradient-3);}.testnet-cls-5{fill:url(#testnet-linear-gradient-2);}.testnet-cls-6{fill:url(#testnet-linear-gradient);}.testnet-cls-7{fill:#fff;}</style><linearGradient id=\"testnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#f74504\"/><stop offset=\"1\" stop-color=\"#f79e04\"/></linearGradient><linearGradient id=\"testnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlink:href=\"#testnet-linear-gradient\"/></defs><path class=\"testnet-cls-1\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\"/><path class=\"testnet-cls-6\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\"/><path class=\"testnet-cls-5\" d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\"/><path class=\"testnet-cls-4\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\"/><path class=\"testnet-cls-3\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\"/><path class=\"testnet-cls-2\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\"/><path class=\"testnet-cls-7\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\"/><path class=\"testnet-cls-7\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\"/><path class=\"testnet-cls-7\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\"/><path class=\"testnet-cls-7\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\"/></svg>\n`\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { ChainInformation } from '@xyo-network/chain-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const NetworkBootstrapSchema = 'network.xyo.network.bootstrap' as const\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** string representation of the icon (svg) */\n icon?: string\n /** Machine-readable identifier */\n id: string\n /** Human-readable identifier */\n name: string\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n /** Url for accessing the network */\n url: string\n}\n\n/** Note: Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields {\n /** Address of the chain, i.e. smart contract address */\n chainInfo?: ChainInformation\n}\n\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n","import {\n LocalNetworkIconString, xl1MainnetString, xl1TestnetString,\n} from '../images/index.ts'\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\nexport const MainNetwork: NetworkBootstrap = {\n description: 'Main Network for XYO Layer 1',\n icon: xl1MainnetString,\n id: 'mainnet',\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://api.chain.xyo.network',\n}\n\nexport const SequenceNetwork: NetworkBootstrap = {\n description: 'Test Network for XYO Layer 1',\n icon: xl1TestnetString,\n id: 'sequence',\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XYOG',\n url: 'https://beta.api.chain.xyo.network/',\n}\n\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local',\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XYOG',\n url: 'http://localhost:8080',\n}\n\nexport const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { ChainNetworkContext } from './context.ts'\n\nexport const useChainNetwork = (required = true) => useContextEx(ChainNetworkContext, 'WalletNetwork', required)\n","import type { IconProps } from '@mui/material'\nimport { Icon } from '@mui/material'\nimport React from 'react'\n\nexport const NetworkIcon: React.FC<IconProps & { icon?: string }> = ({ icon, ...props }) => {\n return (\n <Icon\n sx={{\n display: 'inline-flex', alignItems: 'center', justifyContent: 'center',\n }}\n ref={(ref) => {\n if (ref && icon) {\n ref.innerHTML = icon\n }\n }}\n {...props}\n />\n )\n}\n","import type { MenuItemProps } from '@mui/material'\nimport { ListItemText } from '@mui/material'\nimport { ActiveMenuItem } from '@xyo-network/react-chain-shared'\nimport type { MouseEvent as ReactMouseEvent } from 'react'\nimport React from 'react'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { NetworkAvatar } from './Avatar.tsx'\n\nexport interface NetworkMenuItemProps extends MenuItemProps {\n active?: boolean\n network?: NetworkBootstrap\n updateActiveNetwork?: (networkId: string) => void\n}\n\nexport const NetworkMenuItem: React.FC<NetworkMenuItemProps> = ({\n active, network, onClick, updateActiveNetwork, ...props\n}) => {\n const handleClick = (event: ReactMouseEvent<HTMLLIElement, MouseEvent>) => {\n if (network === undefined) throw new Error('Network is undefined')\n updateActiveNetwork?.(network.id)\n onClick?.(event)\n }\n\n return (\n <ActiveMenuItem\n title={network?.name}\n disableRipple\n onClick={handleClick}\n active={active}\n {...props}\n >\n <NetworkAvatar icon={network?.icon} name={network?.name} />\n <ListItemText>{network?.name}</ListItemText>\n </ActiveMenuItem>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address, Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { BridgeInstance } from '@xyo-network/bridge-model'\nimport type {\n ChainInformation,\n HydratedBlock, SignedHydratedBlock, SignedHydratedTransaction, TransactionBoundWitness,\n XyoRunner,\n XyoSigner,\n XyoViewer,\n XyoWallet,\n} from '@xyo-network/chain-model'\nimport { initBridge } from '@xyo-network/chain-orchestration'\nimport { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'\nimport { XyoChainBlockNumberIterator } from '@xyo-network/chain-services'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nexport const FINALIZED_ARCHIVIST = 'XYOChain:Chain:Finalized' as const\n\nexport interface NetworkProviderParams {\n chainInformation?: ChainInformation\n network: string\n}\n\n// TODO: change back to implementing XyoProvider which requires sub objects\nexport class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunner {\n private _bridge: BridgeInstance\n\n constructor(bridge: BridgeInstance) {\n this._bridge = bridge\n }\n\n private get bridge() {\n return assertEx(this._bridge, () => 'Bridge not set')\n }\n\n static async create({ network }: NetworkProviderParams): Promise<NetworkProvider> {\n const bridge = await initBridge(network)\n return new NetworkProvider(bridge)\n }\n\n accountBalance(_address: Address, _blockNumber: number, _full: boolean): Promisable<bigint> {\n throw new Error('Method not implemented.')\n }\n\n accounts(): Promisable<Address[]> {\n throw new Error('Method not implemented.')\n }\n\n addChain(_chain: Address, _name?: string): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n address(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n blockByHash(_hash: Hash): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blockByNumber(_blockNumber: number): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blocksByHash(_hash: Hash, _limit?: number): Promisable<SignedHydratedBlock[]> {\n throw new Error('Method not implemented.')\n }\n\n chainId(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chains(): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n currentBlock(): Promisable<SignedHydratedBlock> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockHash(): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockNumber(): Promisable<number> {\n throw new Error('Method not implemented.')\n }\n\n permissions(): Promisable<Record<string, object>> {\n throw new Error('Method not implemented.')\n }\n\n async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {\n const chainArchivist = await this.getFinalizedArchivist()\n const head = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')\n const iterator = await XyoChainBlockNumberIterator.create({ chainArchivist, head })\n const blocks = await iterator.previous(head.block, count)\n\n let hydratedBlocks: HydratedBlock[] = []\n for (const block of blocks) {\n hydratedBlocks.push(await hydrateBlock(chainArchivist, await PayloadBuilder.hash(block)))\n }\n return hydratedBlocks\n }\n\n requestPermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n sendTransaction(_transaction: SignedHydratedTransaction): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n switchChain(_chain: Address): Promisable<void> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByHash(_transactionHash: Hash): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n private async getFinalizedArchivist(): Promise<ArchivistInstance> {\n const bridge = this.bridge\n const mod = assertEx(await bridge.resolve(FINALIZED_ARCHIVIST), () => `${FINALIZED_ARCHIVIST} not found`)\n return assertEx(asArchivistInstance(mod), () => `${FINALIZED_ARCHIVIST} is not an archivist`)\n }\n}\n"],"mappings":"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","names":["Avatar","React","createContextEx","ChainNetworkContext","ErrorRender","usePromise","React","useCallback","useMemo","useState","bridgedNodeMap","Map","getBridgedNodes","initBridge","HDWallet","ManifestWrapper","NetworkNodeManifest","node","getNetworkNode","wrapper","ManifestWrapper","NetworkNodeManifest","HDWallet","random","node","loadNodes","initNetworkNode","activeNetwork","bridgedNodeMap","getBridgedNodes","has","url","get","bridge","initBridge","activeNetworkNode","getNetworkNode","register","attach","address","set","createSvgIcon","React","LocalNetworkIcon","svg","xmlns","viewBox","path","fill","d","LocalNetworkIconString","createSvgIcon","React","xl1Mainnet","svg","id","xmlns","xmlnsXlink","viewBox","defs","linearGradient","x1","y1","x2","y2","gradientUnits","stop","offset","stopColor","xlinkHref","path","fill","d","className","xl1MainnetString","createSvgIcon","React","xl1Testnet","svg","id","xmlns","xmlnsXlink","viewBox","defs","linearGradient","x1","y1","x2","y2","gradientUnits","stop","offset","stopColor","xlinkHref","path","fill","d","xl1TestnetString","AsObjectFactory","isPayloadOfSchemaType","NetworkBootstrapSchema","isNetworkBootstrap","asOptionalNetwork","createOptional","MainNetwork","description","icon","xl1MainnetString","id","name","schema","NetworkBootstrapSchema","symbol","url","SequenceNetwork","xl1TestnetString","LocalNetwork","LocalNetworkIconString","DefaultNetworks","ChainNetworkProvider","children","getActiveNetwork","networks","DefaultNetworks","setActiveNetwork","setActiveNetworkExternal","activeNetwork","useState","error","setError","resolvedActiveNetwork","activeNetworkError","usePromise","find","network","id","defaultNetwork","MainNetwork","useMemo","updateActiveNetwork","useCallback","networkId","undefined","value","provided","walletNetworkError","React","ChainNetworkContext","ErrorRender","scope","useContextEx","useChainNetwork","required","useContextEx","ChainNetworkContext","Icon","React","NetworkIcon","icon","props","React","Icon","sx","display","alignItems","justifyContent","ref","innerHTML","NetworkAvatar","icon","name","props","React","Avatar","sx","backgroundColor","height","width","alt","NetworkIcon","ActiveNetworkAvatar","activeNetwork","useChainNetwork","ListItemText","ActiveMenuItem","React","NetworkMenuItem","active","network","onClick","updateActiveNetwork","props","handleClick","event","undefined","Error","id","React","ActiveMenuItem","title","name","disableRipple","NetworkAvatar","icon","ListItemText","assertEx","asArchivistInstance","initBridge","findMostRecentBlock","hydrateBlock","XyoChainBlockNumberIterator","PayloadBuilder","FINALIZED_ARCHIVIST","NetworkProvider","_bridge","constructor","bridge","assertEx","create","network","initBridge","accountBalance","_address","_blockNumber","_full","Error","accounts","addChain","_chain","_name","address","blockByHash","_hash","blockByNumber","blocksByHash","_limit","chainId","chains","currentBlock","currentBlockHash","currentBlockNumber","permissions","previousBlocks","startingBlock","count","chainArchivist","getFinalizedArchivist","head","findMostRecentBlock","cursor","iterator","XyoChainBlockNumberIterator","blocks","previous","block","hydratedBlocks","push","hydrateBlock","PayloadBuilder","hash","requestPermissions","_permissions","revokePermissions","sendTransaction","_transaction","signTransaction","switchChain","transactionByBlockHashAndIndex","_blockHash","_transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","_transactionHash","mod","resolve","asArchivistInstance"]}
@@ -0,0 +1,8 @@
1
+ import type { AvatarProps } from '@mui/material';
2
+ import React from 'react';
3
+ export declare const NetworkAvatar: React.FC<AvatarProps & {
4
+ icon?: string;
5
+ name?: string;
6
+ }>;
7
+ export declare const ActiveNetworkAvatar: React.FC<AvatarProps>;
8
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAclF,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAUrD,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './Avatar.tsx';
1
2
  export * from './Icon.tsx';
2
3
  export * from './MenuItem.tsx';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/context/network/Provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IAC9D,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACpF;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuDpE,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/context/network/Provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAEN,MAAM,OAAO,CAAA;AAMd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IAC9D,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACpF;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuDpE,CAAA"}
@@ -2,4 +2,5 @@ import type { NetworkBootstrap } from '../models/index.ts';
2
2
  export declare const MainNetwork: NetworkBootstrap;
3
3
  export declare const SequenceNetwork: NetworkBootstrap;
4
4
  export declare const LocalNetwork: NetworkBootstrap;
5
+ export declare const DefaultNetworks: NetworkBootstrap[];
5
6
  //# sourceMappingURL=Networks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Networks.d.ts","sourceRoot":"","sources":["../../../src/helpers/Networks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,eAAO,MAAM,WAAW,EAAE,gBAQzB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,gBAQ7B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAQ1B,CAAA"}
1
+ {"version":3,"file":"Networks.d.ts","sourceRoot":"","sources":["../../../src/helpers/Networks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,eAAO,MAAM,WAAW,EAAE,gBAQzB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,gBAQ7B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAQ1B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAAiD,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { AttachableNodeInstance } from '@xyo-network/node-model';
2
- export declare const getBridgedNodes: () => Map<string, AttachableNodeInstance<import("@xylabs/object").BaseParamsFields & {
2
+ export declare const getBridgedNodes: () => Map<string, AttachableNodeInstance<import("@xylabs/base").BaseParamsFields & {
3
3
  account?: import("@xyo-network/account-model").AccountInstance | "random";
4
4
  addToResolvers?: boolean;
5
5
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -1,4 +1,4 @@
1
- export declare const getNetworkNode: () => Promise<import("@xyo-network/node-memory").MemoryNode<import("@xylabs/object").BaseParamsFields & {
1
+ export declare const getNetworkNode: () => Promise<import("@xyo-network/node-memory").MemoryNode<import("@xylabs/base").BaseParamsFields & {
2
2
  account?: import("@xyo-network/account").AccountInstance | "random";
3
3
  addToResolvers?: boolean;
4
4
  additionalSigners?: import("@xyo-network/account").AccountInstance[];
@@ -1,3 +1,5 @@
1
1
  export * from './LocalNetwork.tsx';
2
+ export * from './mainnet/index.ts';
3
+ export * from './testnet/index.ts';
2
4
  export * from './xyoColorLogo.tsx';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/images/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/images/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './xl1-mainnet.tsx';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/images/icons/mainnet/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const xl1Mainnet: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
2
+ muiName: string;
3
+ };
4
+ export declare const xl1MainnetString = "\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\"><defs><style>.mainnet-cls-1{fill:none;}.mainnet-cls-2{fill:url(#mainnet-linear-gradient-5);}.mainnet-cls-3{fill:url(#mainnet-linear-gradient-4);}.mainnet-cls-4{fill:url(#mainnet-linear-gradient-3);}.mainnet-cls-5{fill:url(#mainnet-linear-gradient-2);}.mainnet-cls-6{fill:url(#mainnet-linear-gradient);}.mainnet-cls-7{fill:#fff;}</style><linearGradient id=\"mainnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#572aff\"/><stop offset=\"1\" stop-color=\"#7c82d8\"/></linearGradient><linearGradient id=\"mainnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlink:href=\"#mainnet-linear-gradient\"/><linearGradient id=\"mainnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlink:href=\"#mainnet-linear-gradient\"/></defs><path class=\"mainnet-cls-1\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\"/><path class=\"mainnet-cls-6\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\"/><path class=\"mainnet-cls-5\" d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\"/><path class=\"mainnet-cls-4\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\"/><path class=\"mainnet-cls-3\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\"/><path class=\"mainnet-cls-2\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\"/><path class=\"mainnet-cls-7\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\"/><path class=\"mainnet-cls-7\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\"/></svg>\n";
5
+ //# sourceMappingURL=xl1-mainnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xl1-mainnet.d.ts","sourceRoot":"","sources":["../../../../../src/images/icons/mainnet/xl1-mainnet.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;;CAwBtB,CAAA;AAED,eAAO,MAAM,gBAAgB,66HAE5B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './xl1-testnet.tsx';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/images/icons/testnet/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const xl1Testnet: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
2
+ muiName: string;
3
+ };
4
+ export declare const xl1TestnetString = "\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 256 256\"><defs><style>.testnet-cls-1{fill:none;}.testnet-cls-2{fill:url(#testnet-linear-gradient-5);}.testnet-cls-3{fill:url(#testnet-linear-gradient-4);}.testnet-cls-4{fill:url(#testnet-linear-gradient-3);}.testnet-cls-5{fill:url(#testnet-linear-gradient-2);}.testnet-cls-6{fill:url(#testnet-linear-gradient);}.testnet-cls-7{fill:#fff;}</style><linearGradient id=\"testnet-linear-gradient\" x1=\"14.52\" y1=\"172.25\" x2=\"172.25\" y2=\"14.52\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#f74504\"/><stop offset=\"1\" stop-color=\"#f79e04\"/></linearGradient><linearGradient id=\"testnet-linear-gradient-2\" x1=\"73.92\" y1=\"231.66\" x2=\"231.66\" y2=\"73.92\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-3\" x1=\"-7.8\" y1=\"149.93\" x2=\"149.93\" y2=\"-7.8\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-4\" x1=\"59.4\" y1=\"217.13\" x2=\"217.13\" y2=\"59.4\" xlink:href=\"#testnet-linear-gradient\"/><linearGradient id=\"testnet-linear-gradient-5\" x1=\"159.35\" y1=\"79.63\" x2=\"96.57\" y2=\"176.29\" xlink:href=\"#testnet-linear-gradient\"/></defs><path class=\"testnet-cls-1\" d=\"M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z\"/><path class=\"testnet-cls-6\" d=\"M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z\"/><path class=\"testnet-cls-5\" d=\"M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z\"/><path class=\"testnet-cls-4\" d=\"M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z\"/><path class=\"testnet-cls-3\" d=\"M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z\"/><path class=\"testnet-cls-2\" d=\"M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z\"/><path class=\"testnet-cls-7\" d=\"M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z\"/><path class=\"testnet-cls-7\" d=\"M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z\"/><path class=\"testnet-cls-7\" d=\"M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z\"/><path class=\"testnet-cls-7\" d=\"M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z\"/></svg>\n";
5
+ //# sourceMappingURL=xl1-testnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xl1-testnet.d.ts","sourceRoot":"","sources":["../../../../../src/images/icons/testnet/xl1-testnet.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;;CAwBtB,CAAA;AAED,eAAO,MAAM,gBAAgB,66HAE5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bootstrap.d.ts","sourceRoot":"","sources":["../../../src/models/Bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,eAAO,MAAM,sBAAsB,EAAG,+BAAwC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,oFAAoF;AACpF,MAAM,WAAW,sBAAuB,SAAQ,aAAa,EAAE,eAAe;IAC5E,wDAAwD;IACxD,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAC/C,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAA;AAEtF,eAAO,MAAM,kBAAkB,+CAAkE,CAAA;AAEjG,eAAO,MAAM,iBAAiB,iDAlCF,iBACrB,qCAiC4E,CAAA"}
1
+ {"version":3,"file":"Bootstrap.d.ts","sourceRoot":"","sources":["../../../src/models/Bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,eAAO,MAAM,sBAAsB,EAAG,+BAAwC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,oFAAoF;AACpF,MAAM,WAAW,sBAAuB,SAAQ,aAAa,EAAE,eAAe;IAC5E,wDAAwD;IACxD,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAC/C,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAA;AAEtF,eAAO,MAAM,kBAAkB,+CAAkE,CAAA;AAEjG,eAAO,MAAM,iBAAiB,uGAAqD,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/react-chain-network",
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "description": "XYO Layer One React SDK",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -38,27 +38,27 @@
38
38
  "start": "storybook dev -p 6006"
39
39
  },
40
40
  "dependencies": {
41
- "@xylabs/assert": "^4.7.15",
42
- "@xylabs/hex": "^4.7.15",
43
- "@xylabs/object": "^4.7.15",
44
- "@xylabs/promise": "^4.7.15",
45
- "@xylabs/react-error": "^6.1.2",
46
- "@xylabs/react-promise": "^6.1.2",
47
- "@xylabs/react-shared": "^6.1.2",
48
- "@xyo-network/account": "^3.10.6",
49
- "@xyo-network/archivist-model": "^3.10.6",
50
- "@xyo-network/boundwitness-model": "^3.10.6",
51
- "@xyo-network/bridge-model": "^3.10.6",
52
- "@xyo-network/chain-model": "^1.1.0",
53
- "@xyo-network/chain-protocol": "^1.1.0",
54
- "@xyo-network/chain-sdk": "^1.1.0",
55
- "@xyo-network/chain-services": "^1.1.0",
56
- "@xyo-network/manifest-model": "^3.10.6",
57
- "@xyo-network/manifest-wrapper": "^3.10.6",
58
- "@xyo-network/node-model": "^3.10.6",
59
- "@xyo-network/payload-builder": "^3.10.6",
60
- "@xyo-network/payload-model": "^3.10.6",
61
- "@xyo-network/react-chain-shared": "^1.1.0",
41
+ "@xylabs/assert": "^4.8.0",
42
+ "@xylabs/hex": "^4.8.0",
43
+ "@xylabs/object": "^4.8.0",
44
+ "@xylabs/promise": "^4.8.0",
45
+ "@xylabs/react-error": "^6.1.12",
46
+ "@xylabs/react-promise": "^6.1.12",
47
+ "@xylabs/react-shared": "^6.1.12",
48
+ "@xyo-network/account": "^3.11.0",
49
+ "@xyo-network/archivist-model": "^3.11.0",
50
+ "@xyo-network/boundwitness-model": "^3.11.0",
51
+ "@xyo-network/bridge-model": "^3.11.0",
52
+ "@xyo-network/chain-model": "^1.1.2",
53
+ "@xyo-network/chain-orchestration": "^1.1.2",
54
+ "@xyo-network/chain-protocol": "^1.1.2",
55
+ "@xyo-network/chain-services": "^1.1.2",
56
+ "@xyo-network/manifest-model": "^3.11.0",
57
+ "@xyo-network/manifest-wrapper": "^3.11.0",
58
+ "@xyo-network/node-model": "^3.11.0",
59
+ "@xyo-network/payload-builder": "^3.11.0",
60
+ "@xyo-network/payload-model": "^3.11.0",
61
+ "@xyo-network/react-chain-shared": "^1.1.2",
62
62
  "@xyo-network/react-shared": "^5.1.1"
63
63
  },
64
64
  "devDependencies": {
@@ -71,14 +71,14 @@
71
71
  "@xylabs/tsconfig-react": "^6.2.1",
72
72
  "react": "^19.1.0",
73
73
  "react-dom": "^19.1.0",
74
- "react-router-dom": "^7.4.1",
75
- "typescript": "^5.8.2"
74
+ "react-router-dom": "^7.5.0",
75
+ "typescript": "^5.8.3"
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@emotion/react": "^11",
79
79
  "@emotion/styled": "^11",
80
- "@mui/icons-material": "^7",
81
- "@mui/material": "^7",
80
+ "@mui/icons-material": ">=6 <=7",
81
+ "@mui/material": ">=6 <=7",
82
82
  "ethers": "^6",
83
83
  "react": "^19",
84
84
  "react-dom": "^19",
@@ -0,0 +1,34 @@
1
+ import type { AvatarProps } from '@mui/material'
2
+ import { Avatar } from '@mui/material'
3
+ import React from 'react'
4
+
5
+ import { useChainNetwork } from '../../context/index.ts'
6
+ import { NetworkIcon } from './Icon.tsx'
7
+
8
+ export const NetworkAvatar: React.FC<AvatarProps & { icon?: string; name?: string }> = ({
9
+ icon, name, ...props
10
+ }) => {
11
+ return (
12
+ <Avatar
13
+ sx={{
14
+ backgroundColor: 'white', height: 30, width: 30,
15
+ }}
16
+ alt={name}
17
+ {...props}
18
+ >
19
+ <NetworkIcon icon={icon} />
20
+ </Avatar>
21
+ )
22
+ }
23
+
24
+ export const ActiveNetworkAvatar: React.FC<AvatarProps> = (props) => {
25
+ const { activeNetwork } = useChainNetwork()
26
+
27
+ return (
28
+ <NetworkAvatar
29
+ icon={activeNetwork?.icon}
30
+ name={activeNetwork?.name}
31
+ {...props}
32
+ />
33
+ )
34
+ }
@@ -5,7 +5,7 @@ import type { MouseEvent as ReactMouseEvent } from 'react'
5
5
  import React from 'react'
6
6
 
7
7
  import type { NetworkBootstrap } from '../../models/index.ts'
8
- import { NetworkIcon } from './Icon.tsx'
8
+ import { NetworkAvatar } from './Avatar.tsx'
9
9
 
10
10
  export interface NetworkMenuItemProps extends MenuItemProps {
11
11
  active?: boolean
@@ -30,7 +30,7 @@ export const NetworkMenuItem: React.FC<NetworkMenuItemProps> = ({
30
30
  active={active}
31
31
  {...props}
32
32
  >
33
- <NetworkIcon icon={network?.icon} />
33
+ <NetworkAvatar icon={network?.icon} name={network?.name} />
34
34
  <ListItemText>{network?.name}</ListItemText>
35
35
  </ActiveMenuItem>
36
36
  )
@@ -1,2 +1,3 @@
1
+ export * from './Avatar.tsx'
1
2
  export * from './Icon.tsx'
2
3
  export * from './MenuItem.tsx'
@@ -5,7 +5,10 @@ import React, {
5
5
  useCallback, useMemo, useState,
6
6
  } from 'react'
7
7
 
8
- import { MainNetwork } from '../../helpers/index.ts'
8
+ import {
9
+ DefaultNetworks,
10
+ MainNetwork,
11
+ } from '../../helpers/index.ts'
9
12
  import type { NetworkBootstrap } from '../../models/index.ts'
10
13
  import { ChainNetworkContext } from './context.ts'
11
14
  import type { ChainNetworkState } from './state.ts'
@@ -17,7 +20,7 @@ export interface ChainNetworkProviderProps extends PropsWithChildren {
17
20
  }
18
21
 
19
22
  export const ChainNetworkProvider: React.FC<ChainNetworkProviderProps> = ({
20
- children, getActiveNetwork, networks, setActiveNetwork: setActiveNetworkExternal,
23
+ children, getActiveNetwork, networks = DefaultNetworks, setActiveNetwork: setActiveNetworkExternal,
21
24
  }) => {
22
25
  const [activeNetwork, setActiveNetwork] = useState<NetworkBootstrap>()
23
26
  const [error, setError] = useState<Error>()
@@ -1,20 +1,22 @@
1
- import { LocalNetworkIconString, XyoColorLogoString } from '../images/index.ts'
1
+ import {
2
+ LocalNetworkIconString, xl1MainnetString, xl1TestnetString,
3
+ } from '../images/index.ts'
2
4
  import type { NetworkBootstrap } from '../models/index.ts'
3
5
  import { NetworkBootstrapSchema } from '../models/index.ts'
4
6
 
5
7
  export const MainNetwork: NetworkBootstrap = {
6
- description: 'Main Node for the XYO Network',
7
- icon: XyoColorLogoString,
8
+ description: 'Main Network for XYO Layer 1',
9
+ icon: xl1MainnetString,
8
10
  id: 'mainnet',
9
11
  name: 'Mainnet',
10
12
  schema: NetworkBootstrapSchema,
11
- symbol: 'XYOG',
13
+ symbol: 'XL1',
12
14
  url: 'https://api.chain.xyo.network',
13
15
  }
14
16
 
15
17
  export const SequenceNetwork: NetworkBootstrap = {
16
- description: 'Test Node for the XYO Network',
17
- icon: XyoColorLogoString,
18
+ description: 'Test Network for XYO Layer 1',
19
+ icon: xl1TestnetString,
18
20
  id: 'sequence',
19
21
  name: 'Sequence',
20
22
  schema: NetworkBootstrapSchema,
@@ -31,3 +33,5 @@ export const LocalNetwork: NetworkBootstrap = {
31
33
  symbol: 'XYOG',
32
34
  url: 'http://localhost:8080',
33
35
  }
36
+
37
+ export const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]
@@ -1,4 +1,4 @@
1
- import { initBridge } from '@xyo-network/chain-sdk'
1
+ import { initBridge } from '@xyo-network/chain-orchestration'
2
2
  import type { AttachableNodeInstance } from '@xyo-network/node-model'
3
3
 
4
4
  import type { NetworkBootstrap } from '../models/index.ts'
@@ -1,2 +1,4 @@
1
1
  export * from './LocalNetwork.tsx'
2
+ export * from './mainnet/index.ts'
3
+ export * from './testnet/index.ts'
2
4
  export * from './xyoColorLogo.tsx'
@@ -0,0 +1 @@
1
+ export * from './xl1-mainnet.tsx'
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.cls-1{fill:none;}.cls-2{fill:url(#linear-gradient-5);}.cls-3{fill:url(#linear-gradient-4);}.cls-4{fill:url(#linear-gradient-3);}.cls-5{fill:url(#linear-gradient-2);}.cls-6{fill:url(#linear-gradient);}.cls-7{fill:#fff;}</style><linearGradient id="linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#572aff"/><stop offset="1" stop-color="#7c82d8"/></linearGradient><linearGradient id="linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#linear-gradient"/></defs><path class="cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
@@ -0,0 +1,33 @@
1
+ /* eslint-disable @stylistic/max-len */
2
+ import { createSvgIcon } from '@mui/material'
3
+ import React from 'react'
4
+
5
+ export const xl1Mainnet = createSvgIcon(
6
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256">
7
+ <defs>
8
+ <linearGradient id="mainnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse">
9
+ <stop offset="0" stopColor="#572aff" />
10
+ <stop offset="1" stopColor="#7c82d8" />
11
+ </linearGradient>
12
+ <linearGradient id="mainnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlinkHref="#mainnet-linear-gradient" />
13
+ <linearGradient id="mainnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlinkHref="#mainnet-linear-gradient" />
14
+ <linearGradient id="mainnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlinkHref="#mainnet-linear-gradient" />
15
+ <linearGradient id="mainnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlinkHref="#mainnet-linear-gradient" />
16
+ </defs>
17
+ <path fill="none" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z" />
18
+ <path fill="url(#mainnet-linear-gradient)" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z" />
19
+ <path fill="url(#mainnet-linear-gradient-2)"d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z" />
20
+ <path fill="url(#mainnet-linear-gradient-4)" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z" />
21
+ <path fill="fill:url(#mainnet-linear-gradient-4)" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z" />
22
+ <path className="mainnet-cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z" />
23
+ <path fill="url(#mainnet-linear-gradient-5)" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z" />
24
+ <path fill="url(#mainnet-linear-gradient-5)" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z" />
25
+ <path fill="url(#mainnet-linear-gradient-5)" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z" />
26
+ <path fill="url(#mainnet-linear-gradient-5)" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z" />
27
+ </svg>,
28
+ 'xl1Mainnet',
29
+ )
30
+
31
+ export const xl1MainnetString = `
32
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.mainnet-cls-1{fill:none;}.mainnet-cls-2{fill:url(#mainnet-linear-gradient-5);}.mainnet-cls-3{fill:url(#mainnet-linear-gradient-4);}.mainnet-cls-4{fill:url(#mainnet-linear-gradient-3);}.mainnet-cls-5{fill:url(#mainnet-linear-gradient-2);}.mainnet-cls-6{fill:url(#mainnet-linear-gradient);}.mainnet-cls-7{fill:#fff;}</style><linearGradient id="mainnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#572aff"/><stop offset="1" stop-color="#7c82d8"/></linearGradient><linearGradient id="mainnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#mainnet-linear-gradient"/><linearGradient id="mainnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#mainnet-linear-gradient"/></defs><path class="mainnet-cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="mainnet-cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="mainnet-cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="mainnet-cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="mainnet-cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="mainnet-cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="mainnet-cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="mainnet-cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="mainnet-cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="mainnet-cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
33
+ `
@@ -0,0 +1 @@
1
+ export * from './xl1-testnet.tsx'
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.cls-1{fill:none;}.cls-2{fill:url(#linear-gradient-5);}.cls-3{fill:url(#linear-gradient-4);}.cls-4{fill:url(#linear-gradient-3);}.cls-5{fill:url(#linear-gradient-2);}.cls-6{fill:url(#linear-gradient);}.cls-7{fill:#fff;}</style><linearGradient id="linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f74504"/><stop offset="1" stop-color="#f79e04"/></linearGradient><linearGradient id="linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#linear-gradient"/></defs><path class="cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
@@ -0,0 +1,33 @@
1
+ /* eslint-disable @stylistic/max-len */
2
+ import { createSvgIcon } from '@mui/material'
3
+ import React from 'react'
4
+
5
+ export const xl1Testnet = createSvgIcon(
6
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256">
7
+ <defs>
8
+ <linearGradient id="testnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse">
9
+ <stop offset="0" stopColor="#f74504" />
10
+ <stop offset="1" stopColor="#f79e04" />
11
+ </linearGradient>
12
+ <linearGradient id="testnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlinkHref="#testnet-linear-gradient" />
13
+ <linearGradient id="testnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlinkHref="#testnet-linear-gradient" />
14
+ <linearGradient id="testnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlinkHref="#testnet-linear-gradient" />
15
+ <linearGradient id="testnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlinkHref="#testnet-linear-gradient" />
16
+ </defs>
17
+ <path fill="none" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z" />
18
+ <path fill="url(#testnet-linear-gradient)" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z" />
19
+ <path fill="url(#testnet-linear-gradient-2" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z" />
20
+ <path fill="url(#testnet-linear-gradient-3" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z" />
21
+ <path fill="url(#testnet-linear-gradient-4" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z" />
22
+ <path fill="url(#testnet-linear-gradient-5" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z" />
23
+ <path fill="#fff" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z" />
24
+ <path fill="#fff" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z" />
25
+ <path fill="#fff" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z" />
26
+ <path fill="#fff" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z" />
27
+ </svg>,
28
+ 'xl1Testnet',
29
+ )
30
+
31
+ export const xl1TestnetString = `
32
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.testnet-cls-1{fill:none;}.testnet-cls-2{fill:url(#testnet-linear-gradient-5);}.testnet-cls-3{fill:url(#testnet-linear-gradient-4);}.testnet-cls-4{fill:url(#testnet-linear-gradient-3);}.testnet-cls-5{fill:url(#testnet-linear-gradient-2);}.testnet-cls-6{fill:url(#testnet-linear-gradient);}.testnet-cls-7{fill:#fff;}</style><linearGradient id="testnet-linear-gradient" x1="14.52" y1="172.25" x2="172.25" y2="14.52" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f74504"/><stop offset="1" stop-color="#f79e04"/></linearGradient><linearGradient id="testnet-linear-gradient-2" x1="73.92" y1="231.66" x2="231.66" y2="73.92" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-3" x1="-7.8" y1="149.93" x2="149.93" y2="-7.8" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-4" x1="59.4" y1="217.13" x2="217.13" y2="59.4" xlink:href="#testnet-linear-gradient"/><linearGradient id="testnet-linear-gradient-5" x1="159.35" y1="79.63" x2="96.57" y2="176.29" xlink:href="#testnet-linear-gradient"/></defs><path class="testnet-cls-1" d="M186.66,85.35c-5.97-8.18-13.6-15.07-22.4-20.17-10.68-6.19-23.06-9.75-36.26-9.75s-25.58,3.56-36.26,9.75c-8.8,5.1-16.43,11.99-22.4,20.17-4.46,6.12-7.99,12.96-10.38,20.32-2.07,6.38-3.27,13.15-3.48,20.17-.02.72-.05,1.43-.05,2.16,0,40.01,32.56,72.57,72.57,72.57s72.57-32.56,72.57-72.57c0-.72-.03-1.44-.05-2.16-.21-7.02-1.41-13.79-3.48-20.17-2.38-7.35-5.91-14.19-10.38-20.32ZM150.31,139.08c6.47,4.14,14.84,5.55,19.59,12.09,9.49,13.07-4.75,28.95-18.78,19.89-8.36-5.4-9.7-16.12-15.65-23.25-5.39-6.45-11.23-5.21-15.78,1.25-5.14,7.31-7.11,17.48-15.28,22.33-15.49,9.19-29.67-10.89-15.62-23.03,6.67-5.76,24.82-9.57,24.99-20.21.16-10.07-16.21-14.45-22.86-18.78-8.83-5.74-11.34-19.34-1.26-25.16,9.9-5.72,19.09,2.39,23.68,10.7,3.44,6.24,8.65,21.97,18.55,16.52,7.29-4.01,9.94-19.23,18.23-25.49,13.22-9.98,28.82,3.35,20.39,17.8-4.93,8.45-17.06,9.5-24.04,16.25-7.51,7.26-3.78,14.21,3.83,19.08Z"/><path class="testnet-cls-6" d="M128,55.43c13.2,0,25.58,3.56,36.26,9.75h45.83l-15.93-27.59c-4.32-7.48-12.3-12.09-20.94-12.09h-90.43c-8.64,0-16.62,4.61-20.94,12.09l-15.93,27.59h45.83c10.68-6.19,23.06-9.75,36.26-9.75Z"/><path class="testnet-cls-5" d="M197.04,105.67h36.43l-11.73-20.32h-35.07c4.46,6.12,7.99,12.96,10.38,20.32Z"/><path class="testnet-cls-4" d="M69.34,85.35h-35.07l-11.73,20.32h36.43c2.38-7.35,5.91-14.19,10.38-20.32Z"/><path class="testnet-cls-3" d="M200.51,125.84c.02.72.05,1.43.05,2.16,0,40.01-32.56,72.57-72.57,72.57s-72.57-32.56-72.57-72.57c0-.72.03-1.44.05-2.16H13.49c-.44,4.88.6,9.86,3.13,14.25l45.22,78.32c4.32,7.48,12.3,12.09,20.94,12.09h90.43c8.64,0,16.62-4.61,20.94-12.09l45.22-78.32c2.53-4.39,3.57-9.37,3.13-14.25h-41.99Z"/><path class="testnet-cls-2" d="M146.47,119.99c6.99-6.76,19.12-7.8,24.04-16.25,8.42-14.45-7.18-27.78-20.39-17.8-8.29,6.26-10.94,21.47-18.23,25.49-9.91,5.45-15.11-10.29-18.55-16.52-4.59-8.31-13.78-16.42-23.68-10.7-10.09,5.83-7.57,19.42,1.26,25.16,6.66,4.33,23.02,8.71,22.86,18.78-.17,10.64-18.33,14.45-24.99,20.21-14.05,12.14.13,32.23,15.62,23.03,8.17-4.85,10.14-15.02,15.28-22.33,4.55-6.47,10.4-7.7,15.78-1.25,5.95,7.13,7.29,17.85,15.65,23.25,14.02,9.06,28.26-6.82,18.78-19.89-4.75-6.54-13.12-7.95-19.59-12.09-7.61-4.87-11.35-11.82-3.83-19.08Z"/><path class="testnet-cls-7" d="M186.66,85.35h35.07l-11.65-20.17h-45.83c8.8,5.1,16.43,11.99,22.4,20.17Z"/><path class="testnet-cls-7" d="M91.74,65.18h-45.83l-11.65,20.17h35.07c5.97-8.18,13.6-15.07,22.4-20.17Z"/><path class="testnet-cls-7" d="M58.96,105.67H22.53l-5.91,10.24c-1.79,3.1-2.82,6.49-3.13,9.93h41.99c.21-7.02,1.41-13.79,3.48-20.17Z"/><path class="testnet-cls-7" d="M200.51,125.84h41.99c-.31-3.44-1.34-6.84-3.13-9.93l-5.91-10.24h-36.43c2.07,6.38,3.27,13.15,3.48,20.17Z"/></svg>
33
+ `
@@ -13,8 +13,8 @@ import type {
13
13
  XyoViewer,
14
14
  XyoWallet,
15
15
  } from '@xyo-network/chain-model'
16
+ import { initBridge } from '@xyo-network/chain-orchestration'
16
17
  import { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'
17
- import { initBridge } from '@xyo-network/chain-sdk'
18
18
  import { XyoChainBlockNumberIterator } from '@xyo-network/chain-services'
19
19
  import { PayloadBuilder } from '@xyo-network/payload-builder'
20
20