{"version":3,"file":"js/js-heavy-d77cb9eb65ab4908596c.js","mappings":"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","sources":["webpack://app/./app/javascript/src/stores/PowerList.ts","webpack://app/./app/javascript/src/components/PowerListTable.module.css?2335","webpack://app/./app/javascript/src/components/KindTags.tsx","webpack://app/./app/javascript/src/components/Flag.tsx","webpack://app/./app/javascript/src/helpers/numbers.ts","webpack://app/./app/javascript/src/components/SquireSize.tsx","webpack://app/./app/javascript/src/helpers/routes.ts","webpack://app/./app/javascript/src/components/SquireBtcSize.tsx","webpack://app/./app/javascript/src/components/PowerListTable.tsx","webpack://app/./app/javascript/src/components/PowerListStats.module.css?3880","webpack://app/./app/javascript/src/components/PowerListStats.tsx","webpack://app/./app/javascript/src/PowerListContainer.tsx","webpack://app/./app/javascript/src/stores/Megalith.ts","webpack://app/./app/javascript/src/helpers/constants.ts","webpack://app/./app/javascript/src/MegalithContainer.tsx","webpack://app/./app/javascript/src/components/HeaderSimple.module.css?c5a4","webpack://app/./app/javascript/src/components/Logo.tsx","webpack://app/./app/javascript/src/components/Header.tsx","webpack://app/./app/javascript/src/components/FooterSimple.module.css?2f72","webpack://app/./app/javascript/src/components/Footer.tsx","webpack://app/./app/javascript/src/components/ContactContainer.tsx","webpack://app/./app/javascript/src/components/PrivacyAndTermsContainer.tsx","webpack://app/./app/javascript/src/stores/AssetWorkspace.ts","webpack://app/./app/javascript/src/components/AssetTransaction.tsx","webpack://app/./app/javascript/src/components/AssetDetail.tsx","webpack://app/./app/javascript/src/components/AssetTable.tsx","webpack://app/./app/javascript/src/components/AssetStats.tsx","webpack://app/./app/javascript/src/components/partials/KnownUniverses.tsx","webpack://app/./app/javascript/src/AssetsWorkspaceContainer.tsx","webpack://app/./app/javascript/src/helpers/requests.ts","webpack://app/./app/javascript/src/helpers/browser.ts","webpack://app/./app/javascript/src/helpers/nostr.ts","webpack://app/./app/javascript/src/stores/ExplorerWorkspace.ts","webpack://app/./app/javascript/src/helpers/sort.ts","webpack://app/./app/javascript/src/helpers/localStorage.ts","webpack://app/./app/javascript/src/components/ExplorerTable.module.css?6baf","webpack://app/./app/javascript/src/components/ExplorerTable.tsx","webpack://app/./app/javascript/src/components/partials/CustomTextarea.tsx","webpack://app/./app/javascript/src/components/partials/ShowProof.tsx","webpack://app/./app/javascript/src/components/ExplorerValidateAsset.tsx","webpack://app/./app/javascript/src/components/one_asset/LnFi.tsx","webpack://app/./app/javascript/src/components/partials/NostrLoginButton.tsx","webpack://app/./app/javascript/src/components/AssetDetails.tsx","webpack://app/./app/javascript/src/components/ExplorerOneAsset.tsx","webpack://app/./app/javascript/src/components/partials/SampleSearches.tsx","webpack://app/./app/javascript/src/ExplorerWorkspaceContainer.tsx","webpack://app/./app/javascript/src/helpers/actioncable.ts","webpack://app/./app/javascript/src/AppContainer.tsx","webpack://app/./app/javascript/src/jsHeavy.tsx","webpack://app/./app/javascript/src/helpers/dateAndTime.ts"],"sourcesContent":["import _, { get } from \"lodash\";\nimport React from \"react\";\nimport { computed, observable } from \"mobx\";\nimport {\n registerRootStore,\n fromSnapshot,\n frozen,\n Frozen,\n getSnapshot,\n model,\n Model,\n modelAction,\n modelFlow,\n onSnapshot,\n prop,\n Ref,\n undoMiddleware,\n _async,\n _await,\n idProp,\n} from \"mobx-keystone\";\n\nimport { createContext } from \"react\";\n\n@model(\"megalithic/PowerList\")\nexport class PowerList extends Model({\n id: idProp,\n hasLoaded: prop(false),\n powerListDataFrozen: prop | undefined>(),\n}) {\n @modelAction\n setHasLoaded(hasLoaded: boolean) {\n this.hasLoaded = hasLoaded;\n }\n @modelAction\n hydrateDataFromPage() {\n const rootDiv = document.getElementById(\"root\");\n const json = JSON.parse(rootDiv.dataset.hydrate);\n // console.log(\"here is the data from the page\", json);\n this.powerListDataFrozen = frozen(json);\n this.setHasLoaded(true);\n }\n}\n\nexport const runCreatePowerList = () => {\n const powerList = new PowerList({});\n registerRootStore(powerList);\n return powerList;\n};\n\nconst createdPowerList = runCreatePowerList();\n//console.log(\"created workspace\", getSnapshot(createdWorkspace));\nexport const PowerListContext = createContext(createdPowerList);\n\nexport interface PowerListInterface {\n PowerList: PowerList;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"details\":\"EeWg23plFqZbw5xEQTGg\",\"label\":\"gle0AZ_G3ojn5rlZu7ri\",\"redRow\":\"uFOHwasTYBsg4SDvlmw5\",\"testClass\":\"NbTnwxXBHFDtoNs26IxK\"};","import { Box, Chip, Group, Tooltip, rem } from \"@mantine/core\";\nimport {\n IconCoinBitcoin,\n IconDice5,\n IconStatusChange,\n IconRouteAltLeft,\n IconWallet,\n IconBuildingSkyscraper,\n IconCpu,\n IconExchange,\n} from \"@tabler/icons-react\";\nimport React from \"react\";\nimport { isTablet, isMobile, isMobileOnly } from \"react-device-detect\";\ninterface MyComponentProps {\n tags: string[];\n}\n\n// enum kind: {\n// exchange: 0,\n// altcoins: 1,\n// routing: 2,\n// sells_channels: 3,\n// wallet: 4,\n// enterprise: 5,\n// }\n\nconst makeIcon = (name) => {\n if (name == \"sells_channels\") {\n return ;\n }\n if (name == \"altcoins\") {\n return ;\n }\n if (name == \"exchange\") {\n return ;\n }\n if (name == \"routing\") {\n return ;\n }\n if (name == \"wallet\") {\n return ;\n }\n if (name == \"enterprise\") {\n return (\n \n );\n }\n if (name == \"developer\") {\n return ;\n }\n if (name == \"payments\") {\n return ;\n }\n};\n\nconst makeColor = (name) => {\n if (name == \"sells_channels\") {\n return \"gray\";\n }\n if (name == \"altcoins\") {\n return \"#b2f2bb\";\n }\n if (name == \"exchange\") {\n return \"violet\";\n }\n if (name == \"routing\") {\n return \"blue\";\n }\n if (name == \"wallet\") {\n return \"indigo\";\n }\n if (name == \"enterprise\") {\n return \"orange\";\n }\n if (name == \"developer\") {\n return \"cyan\";\n }\n if (name == \"payments\") {\n return \"#fff9db\";\n }\n};\n\nconst makeDisplayName = (name) => {\n if (name == \"sells_channels\" && isMobileOnly) {\n return \"channels\";\n }\n if (name == \"sells_channels\") {\n return \"channel sales\";\n }\n return name;\n};\n\nconst KindTags: React.FC = ({ tags }) => {\n return (\n \n {tags.map((name, index) => (\n // \n \n {makeDisplayName(name)}\n \n // \n ))}\n \n );\n};\n\nexport default KindTags;\n","import React from \"react\";\nimport { Box, Tooltip } from \"@mantine/core\";\nimport { Image } from \"@mantine/core\";\nimport {\n VGFlag,\n FRFlag,\n SVFlag,\n USFlag,\n BVFlag,\n ILFlag,\n CAFlag,\n SCFlag,\n CWFlag,\n DEFlag,\n SGFlag,\n NLFlag,\n SEFlag,\n VNFlag,\n JPFlag,\n LTFlag,\n AUFlag,\n CZFlag,\n FIFlag,\n AEFlag,\n} from \"mantine-flagpack\";\n\ninterface MyComponentProps {\n countryCode: string;\n}\n\nconst flagMap: {\n [key: string]: { labelText: string; Component: React.FC };\n} = {\n VG: { labelText: \"British Virgin Islands\", Component: VGFlag },\n FR: { labelText: \"France\", Component: FRFlag },\n SV: { labelText: \"El Salvador\", Component: SVFlag },\n US: { labelText: \"United States\", Component: USFlag },\n BV: { labelText: \"Bouvet Island\", Component: BVFlag },\n IL: { labelText: \"Israel\", Component: ILFlag },\n CA: { labelText: \"Canada\", Component: CAFlag },\n SC: { labelText: \"Seychelles\", Component: SCFlag },\n CW: { labelText: \"Curaçao\", Component: CWFlag },\n DE: { labelText: \"Germany\", Component: DEFlag },\n SG: { labelText: \"Singapore\", Component: SGFlag },\n NL: { labelText: \"Netherlands\", Component: NLFlag },\n SE: { labelText: \"Sweden\", Component: SEFlag },\n VN: { labelText: \"Vietnam\", Component: VNFlag },\n JP: { labelText: \"Japan\", Component: JPFlag },\n LT: { labelText: \"Lithuania\", Component: LTFlag },\n AU: { labelText: \"Australia\", Component: AUFlag },\n CZ: { labelText: \"Czech Republic\", Component: CZFlag },\n FI: { labelText: \"Finland\", Component: FIFlag },\n AE: { labelText: \"United Arab Emirates\", Component: AEFlag },\n};\n\nconst Flag: React.FC = ({ countryCode }) => {\n const { labelText, Component } = flagMap[countryCode] || {};\n\n return (\n <>\n {countryCode && labelText && Component && (\n \n \n \n \n \n )}\n\n {!countryCode && (\n // \n\n \n \n <>🌍\n \n \n )}\n \n );\n};\n\nexport default Flag;\n","import { format } from \"d3-format\";\nimport { formatDistanceToNow } from \"date-fns\";\nimport numeral from \"numeral\";\n\nexport const formatPriceForMillions = (price: number) => {\n return \"$\" + format(\".2s\")(price).toLowerCase();\n};\n\nexport const formatBitcoinPrice = (btcValue: number, btcInDollars: number) => {\n const dollarAmount = btcValue * btcInDollars;\n const formattedNumber =\n \"$\" + numeral(dollarAmount).format(\"0.0a\").replace(\"m\", \" Million\");\n return formattedNumber;\n};\n\nexport const formatSatoshis = (sats: number) => {\n const formattedSats = Math.floor(sats).toLocaleString();\n return formattedSats + \" satoshis\";\n};\n\nexport const convertSatoshisToUsd = (sats: number, btcInDollars: number) => {\n const dollarAmount = (sats * btcInDollars) / 100000000;\n const formattedPrice = format(\"$.2f\")(dollarAmount);\n return formattedPrice;\n};\n\nexport const formatUSDAmount = (usdAmount: number) => {\n return format(\".0f\")(usdAmount).replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n};\n\nexport const dateTimeToTimeAgo = (dateTime: string) => {\n return formatDistanceToNow(new Date(dateTime), { addSuffix: true });\n};\n\nexport const formatNumberWithCommas = (num: number) => {\n return num.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n};\n\nexport const formatSupply = (supply: number) => {\n if (supply == 1.0) {\n return \"1\";\n } else {\n return format(\".2s\")(supply);\n }\n};\n\nexport const convertKBtoGB = (kb) => parseFloat((kb / 1048576).toFixed(2));\n","import { Box, Chip, Group, Tooltip, rem, Text } from \"@mantine/core\";\nimport { format } from \"d3-format\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport React from \"react\";\nimport { formatPriceForMillions } from \"../helpers/numbers\";\n\ninterface MyComponentProps {\n numBtc: number;\n size: number;\n}\n\nconst formatBTCAmount = (btcAmount) => {\n return format(\".1f\")(btcAmount);\n};\n\nconst SquireSize: React.FC = ({ numBtc, size }) => {\n return (\n // \n {formatPriceForMillions(size)} \n // \n );\n};\n\nexport default SquireSize;\n","export const makeLinkFromSquireName = (name, base_url) => {\n return base_url + \"?n=\" + name.replace(/ /g, \"-\");\n};\n\nexport const sanitizeSquireName = (name) => {\n return name.replace(/ /g, \"-\");\n};\n","import { Box, Chip, Group, Tooltip, rem, Text } from \"@mantine/core\";\nimport { format } from \"d3-format\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport React from \"react\";\nimport { formatPriceForMillions } from \"../helpers/numbers\";\n\ninterface MyComponentProps {\n numBtc: number;\n size: number;\n}\n\nconst formatBTCAmount = (btcAmount) => {\n return format(\".1f\")(btcAmount);\n};\n\nconst SquireBtcSize: React.FC = ({ numBtc, size }) => {\n return \"₿\" + formatBTCAmount(numBtc);\n};\n\nexport default SquireBtcSize;\n","\"use client\";\nimport { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n} from \"@mantine/core\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { DataTable } from \"mantine-datatable\";\nimport { isTablet, isMobile, isMobileOnly } from \"react-device-detect\";\nimport { PowerList } from \"../stores/PowerList\";\nimport { Chip } from \"@mantine/core\";\nimport classes from \"./PowerListTable.module.css\";\nimport { IconCopy, IconX } from \"@tabler/icons-react\";\nimport KindTags from \"./KindTags\";\nimport Flag from \"./Flag\";\nimport Markdown from \"react-markdown\";\nimport SquireSize from \"./SquireSize\";\nimport { format } from \"d3-format\";\nimport { makeLinkFromSquireName, sanitizeSquireName } from \"../helpers/routes\";\nimport SquireBtcSize from \"./SquireBtcSize\";\n\nconst PowerListTable = observer(({ powerList }: { powerList: PowerList }) => {\n useEffect(() => {\n const timeout = setTimeout(() => {\n if (navigatedName()) {\n const name = sanitizeSquireName(navigatedName());\n // console.log(\"name\", name);\n const selector = `[data-row-squire-name=\"${name}\"]`;\n // console.log(\"selector\", selector);\n const element = document.querySelector(selector);\n // console.log(\"found element\", element);\n if (element) {\n scrollToTopOfPage(element);\n }\n }\n }, 100); // 100 milliseconds\n\n return () => clearTimeout(timeout);\n }, []);\n\n function scrollToTopOfPage(element) {\n // Calculate the distance from the top of the page to the element\n var elementRect = element.getBoundingClientRect();\n var absoluteElementTop = elementRect.top + window.pageYOffset;\n\n // Calculate how far the element is from the top of the viewport\n var relativeElementTop = absoluteElementTop - window.pageYOffset;\n\n // Scroll the window by the difference so that the element appears at the top of the viewport\n window.scrollBy({\n top: relativeElementTop,\n left: 0,\n behavior: \"smooth\", // Optional: for smooth scrolling\n });\n }\n\n const navigatedName = () => {\n // Get the current URL\n const currentUrl = window.location.href;\n // Create a URL object\n const url = new URL(currentUrl);\n // Get the search parameters\n const searchParams = url.searchParams;\n // Get the value of the \"name\" parameter\n const name = searchParams.get(\"n\");\n // Decode the parameter value to handle spaces\n if (name) {\n const decodedName = name.replace(/-/g, \" \");\n // console.log(\"decodedName\", decodedName);\n return decodedName;\n }\n return null;\n };\n\n const makeNameWidth = () => {\n if (isMobileOnly) {\n return 90;\n }\n return 150;\n };\n\n const makeCountryWidth = () => {\n if (isMobileOnly) {\n return 60;\n }\n return 80;\n };\n\n const columns = [\n {\n accessor: \"Rank\",\n width: 31,\n title: \"#\",\n },\n { accessor: \"Name\", width: makeNameWidth() },\n {\n accessor: \"Country\",\n width: makeCountryWidth(),\n render: ({ Country }) => ,\n },\n {\n accessor: \"SizeUsd\",\n title: \"Size\",\n render: ({ Size }) => (\n \n ),\n },\n !isMobileOnly && {\n accessor: \"SizeBtc\",\n title: \"Size BTC\",\n render: ({ Size }) => (\n \n ),\n },\n // Add \"Channels\" column only if not mobile\n !isMobileOnly && {\n accessor: \"Channels\",\n render: ({ Channels }) => format(\",\")(Channels),\n },\n {\n accessor: \"Kind\",\n render: ({ Tags }) => ,\n },\n ].filter(Boolean);\n // console.log(powerList.powerListDataFrozen.data.squires);\n return (\n <>\n {\" \"}\n \n // Name === navigatedName() ? classes.redRow : undefined\n // }\n customRowAttributes={({ Name }) => ({\n \"data-row-squire-name\": sanitizeSquireName(Name),\n })}\n records={powerList.powerListDataFrozen.data.squires}\n rowExpansion={{\n initiallyExpanded: ({ record: { Name } }) => Name === navigatedName(),\n content: ({ record }) => (\n <>\n \n {record.Description}\n \n {/* {\" \"} */}\n \n \n {({ copied, copy }) => (\n }\n color={copied ? \"teal\" : \"blue\"}\n onClick={copy}\n >\n {copied ? \"Copied!\" : \"Copy permalink\"}\n \n )}\n \n \n \n \n ),\n }}\n columns={columns}\n />\n \n );\n});\n\nexport default PowerListTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"FyNtCo29zDKqHwwVoo3i\",\"value\":\"rSWFqYY827NJXJ26S046\",\"textValueSmaller\":\"TMXba3uErYoxk2QMOwIl\",\"diff\":\"EqIluJsMo7p2wJBnpJNW\",\"icon\":\"kAX6DmidtfSiym1FkWK4\",\"title\":\"uEn47WWw_HgG_dMFDJ0T\"};","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Paper,\n SimpleGrid,\n} from \"@mantine/core\";\n\nimport {\n IconCoinBitcoin,\n IconCoin,\n IconBolt,\n IconExchange,\n IconCircuitChangeover,\n IconClockHour10,\n} from \"@tabler/icons-react\";\nimport classes from \"./PowerListStats.module.css\";\n\nimport { PowerList } from \"../stores/PowerList\";\nimport {\n dateTimeToTimeAgo,\n formatUSDAmount,\n formatBitcoinPrice,\n formatNumberWithCommas,\n} from \"../helpers/numbers\";\n\nconst PowerListStats = observer(({ powerList }: { powerList: PowerList }) => {\n return (\n \n \n \n \n BTC/USD Price\n \n \n \n\n \n \n $\n {formatUSDAmount(\n powerList.powerListDataFrozen.data.single_setting.btc_usd_price\n )}\n \n {/* 0 ? \"teal\" : \"red\"}\n fz=\"sm\"\n fw={500}\n className={classes.diff}\n >\n {stat.diff}%\n \n */}\n \n \n 1 BTC\n \n \n\n \n \n \n Network Size\n \n \n \n\n \n \n {formatBitcoinPrice(\n powerList.powerListDataFrozen.data.single_setting.btc_usd_price,\n powerList.powerListDataFrozen.data.single_setting\n .total_btc_size_of_network\n )}\n \n \n \n {formatNumberWithCommas(\n powerList.powerListDataFrozen.data.single_setting\n .total_btc_size_of_network\n )}{\" \"}\n BTC\n \n \n \n \n \n Power List Size\n \n \n \n\n \n \n {formatBitcoinPrice(\n powerList.powerListDataFrozen.data.single_setting.btc_usd_price,\n powerList.powerListDataFrozen.data.single_setting\n .total_btc_size_of_power_list\n )}\n \n \n \n {formatNumberWithCommas(\n powerList.powerListDataFrozen.data.single_setting\n .total_btc_size_of_power_list\n )}{\" \"}\n BTC\n \n \n \n \n \n Network Channels\n \n \n \n\n \n \n {formatNumberWithCommas(\n powerList.powerListDataFrozen.data.single_setting\n .total_num_channels_of_network\n )}\n \n \n \n {\n powerList.powerListDataFrozen.data.single_setting\n .edges_made_in_last_24_hours\n }{\" \"}\n created today\n \n\n {/* -- add_column(:single_settings, :edges_made_in_last_24_hours, :integer)\n -> 0.0108s\n-- add_column(:single_settings, :power_list_edges_made_in_last_24_hours, :integer) */}\n \n \n \n \n Power List Channels\n \n \n \n\n \n \n {formatNumberWithCommas(\n powerList.powerListDataFrozen.data.single_setting\n .total_num_channels_of_power_list\n )}\n \n \n \n {\n powerList.powerListDataFrozen.data.single_setting\n .power_list_edges_made_in_last_24_hours\n }{\" \"}\n created today\n \n \n \n \n \n Last Update\n \n \n \n\n \n \n {dateTimeToTimeAgo(\n powerList.powerListDataFrozen.data.single_setting.last_update\n )}\n \n \n \n \n );\n});\n\nexport default PowerListStats;\n\n// 1. btc_usd_price: \"67954.09\"\n// 3. last_gossip_import: \"2024-03-05T14:26:51.948Z\"\n\n// 5. total_btc_size_of_power_list: 3566\n// 6. total_num_channels_of_network: 62754\n// 7. total_num_channels_of_power_list: 28484\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useMemo, useRef } from \"react\";\nimport { PowerList, PowerListContext } from \"./stores/PowerList\";\n\nimport {\n createTheme,\n MantineProvider,\n Container,\n Stack,\n Center,\n Box,\n Anchor,\n Text,\n Divider,\n SimpleGrid,\n} from \"@mantine/core\";\nimport PowerListTable from \"./components/PowerListTable\";\nimport { Notifications } from \"@mantine/notifications\";\nimport { Title } from \"@mantine/core\";\nimport { makeLinkFromSquireName } from \"./helpers/routes\";\nimport PowerListStats from \"./components/PowerListStats\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport { IconBolt } from \"@tabler/icons-react\";\n// const theme = createTheme({\n// /** Put your mantine theme override here */\n// });\n\nconst PowerListContainer: React.FC = observer(() => {\n const powerList = useContext(PowerListContext);\n // const descriptionRef = useRef(null);\n // const scrollToBottom = () => {\n // if (descriptionRef.current) {\n // const scrollableElement = descriptionRef.current;\n // scrollableElement.scrollTop = scrollableElement.scrollHeight;\n // }\n // };\n\n useEffect(() => {\n //console.log(\"starting power list containers\");\n powerList.hydrateDataFromPage();\n }, []);\n\n const makeColumnsForPermalinkGrid = () => {\n if (isMobileOnly) {\n return 4;\n }\n return 8;\n };\n\n return (\n <>\n
\n {powerList.hasLoaded && (\n <>\n \n
\n \n <IconBolt\n style={{ verticalAlign: \"middle\", marginBottom: \"5px\" }}\n size=\"3rem\"\n stroke={2}\n />{\" \"}\n {powerList.powerListDataFrozen?.data.title}{\" \"}\n <IconBolt\n style={{ verticalAlign: \"middle\", marginBottom: \"5px\" }}\n size=\"3rem\"\n stroke={2}\n />{\" \"}\n \n
\n
\n \n The top players on the Bitcoin Lightning Network\n \n
\n\n \n \n\n \n Ranking criteria\n \n \n The Lightning Network is a confusing place. Nodes are constantly\n appearing and disappearing, and many entities run multiple nodes.\n At the same time, many node operators are pseudonymous: While\n their nodes are publicly \"announced\", in practice the identity of\n the node-runner is completely unknown. This is actually a feature,\n not a bug.{\" \"}\n \n \n The Lightning Network was designed for privacy, and with many\n participants operating from jurisdictions with limited freedom of\n speech, or in places where financial freedom is discouraged, it's\n critical that those entities are able to work on a pseudonymous\n basis.{\" \"}\n \n \n For this reason, and to establish a relatively comprehensible\n ranking, we've chosen to include only entities who are making an\n attempt to identify themselves. This means that we're only\n considering participants who either have a publicly known\n identity, or who have made some attempt to publicly identify\n themselves - for example, by creating a website.\n \n \n This ranking is strictly ordered by 'size', also called\n 'capacity', that is, the quantity of Bitcoin that each entity has\n deployed onto the network. On the Lightning Network, these amounts\n are publicly announced, but the destination and frequency of\n actual payments are confidential. This means that some of these\n nodes might have substantial funds allocated to their channels but\n experience minimal transaction activity.\n \n \n permalinks: \n \n {[...powerList.powerListDataFrozen.data.squires]\n .sort((a, b) => a.Name.localeCompare(b.Name))\n .map((item, index) => (\n \n \n \n {item.Name}\n \n \n \n ))}\n \n
\n \n )}\n \n );\n});\n\nexport default PowerListContainer;\n","import _, { get } from \"lodash\";\nimport React from \"react\";\nimport { computed, observable } from \"mobx\";\nimport {\n registerRootStore,\n fromSnapshot,\n frozen,\n Frozen,\n getSnapshot,\n model,\n Model,\n modelAction,\n modelFlow,\n onSnapshot,\n prop,\n Ref,\n undoMiddleware,\n _async,\n _await,\n idProp,\n} from \"mobx-keystone\";\n\nimport { createContext } from \"react\";\n\n@model(\"megalithic/Megalith\")\nexport class Megalith extends Model({\n id: idProp,\n hasLoaded: prop(false),\n megalithDataFrozen: prop | undefined>(),\n}) {\n @modelAction\n setHasLoaded(hasLoaded: boolean) {\n this.hasLoaded = hasLoaded;\n }\n @modelAction\n hydrateDataFromPage() {\n const rootDiv = document.getElementById(\"root\");\n const json = JSON.parse(rootDiv.dataset.hydrate);\n // console.log(\"here is the data from the page\", json);\n this.megalithDataFrozen = frozen(json);\n this.setHasLoaded(true);\n }\n}\n\nexport const runCreateMegalith = () => {\n const megalith = new Megalith({});\n registerRootStore(megalith);\n return megalith;\n};\n\nconst createdMegalith = runCreateMegalith();\n//console.log(\"created workspace\", getSnapshot(createdWorkspace));\nexport const MegalithContext = createContext(createdMegalith);\n\nexport interface MegalithInterface {\n Megalith: Megalith;\n}\n","export const MEGALITH_NODE_ADDRESS =\n \"0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e@164.92.106.32:9735\";\n\nexport const NO_IMAGE_DATA_URL =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASQAAAEkCAIAAAAJm9u7AAAACXBIWXMAAAsTAAALEwEAmpwYAAALr0lEQVR4nO3c32tbdQPH8a/rTBDTXLQespZDXZfUJi0YCmNFrKLDH8hkF7IbZRf+af4B7kbQgZtjTEEaxdjJkrhl1pa05JAlgywMEph7Lr7P8yVPfpzVrf2kad+vq9M05/Qkzfv8/LYvXb582QA4eCdGvQLAcUFsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIEJsgAixASLEBogQGyBCbIAIsQEixAaIEBsgQmyACLEBIsQGiBAbIHJy1CuA/7O2tpZKpYwxP/744/3790e9OthP7NkOl1OnTtmJWCw22jXBviM2QITYABFiO1yq1aqdaLVao10T7LuXLl++POp1AI4F9myACLEBIuN6ny2bza6srLgv8/n8xsaGMcbzvPn5+aWlJft4EAR379595g2raDSaTqdnZ2cTiYR7sFAo1Ov1g77Zde7cObe23dbX14vF4rC5vvjii0gkYqcLhUIul/M87+zZs3b93bvRvfwgCH799ddarTZsmdls1hizvLzslmyMaTQaW1tbbmkhMpnMzMzM3Nyc/bLVat27d8/O6Pv+Bx984J7ZvXr96zA9Pe0WYowpl8v1ej3krRgj4xpbj+npadNXoDEmkUgkEolYLBbycemfy7Kf0eXl5Z9//jnkM3pAuj/xPaLRaPeX09PTnudduHDBPbKyshKNRnO53MWLF6empuyD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\";\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport { Megalith, MegalithContext } from \"./stores/Megalith\";\nimport {\n createTheme,\n MantineProvider,\n Container,\n TextInput,\n CopyButton,\n Button,\n Paper,\n Textarea,\n List,\n Divider,\n Stack,\n Image,\n Box,\n Anchor,\n} from \"@mantine/core\";\nimport { Title, Text } from \"@mantine/core\";\nimport { format } from \"d3-format\";\nimport { formatPriceForMillions } from \"./helpers/numbers\";\nimport { MEGALITH_NODE_ADDRESS } from \"./helpers/constants\";\nimport BuyChannel from \"./components/BuyChannel\";\nimport { IconBrandTelegram, IconCopy, IconQrcode } from \"@tabler/icons-react\";\nimport QRCode from \"react-qr-code\";\n\nconst theme = createTheme({\n /** Put your mantine theme override here */\n});\n\nconst MegalithContainer: React.FC = observer(() => {\n const megalith = useContext(MegalithContext);\n const [showQRCode, setShowQRCode] = useState(false);\n\n useEffect(() => {\n console.log(\"starting megalith container\");\n megalith.hydrateDataFromPage();\n }, []);\n\n const makeBitcoinAmount = () => {\n const btcSize =\n megalith.megalithDataFrozen?.data.megalith_node_info.size_btc;\n return format(\".1f\")(btcSize);\n };\n\n const makeDollarAmount = () => {\n const btcSize =\n megalith.megalithDataFrozen?.data.megalith_node_info.size_btc;\n console.log(\"btc size\", btcSize);\n const btcRate = megalith.megalithDataFrozen?.data.btc_usd_price;\n console.log(\"btc rate\", btcRate);\n return formatPriceForMillions(btcSize * btcRate);\n };\n\n return (\n <>\n {megalith.hasLoaded && (\n <>\n \n \n \n The Megalith Node\n {/* 👋, thanks for visiting. */}\n \n Megalith is one of the biggest and most stable routing nodes on\n the Lightning Network.{\" \"}\n \n \n It's is powered by the relentless ☀️ sun of the American\n Southwest.\n \n Notable features:\n {/* It runs Freedom Tech™. */}\n\n \n \n Running in a secure datacenter\n 99.9999% uptime\n Trunk fiber connection\n Fast global pings\n\n \n {\" \" + makeDollarAmount()} ({makeBitcoinAmount() + \" BTC\"})\n capacity\n \n \n {\n megalith.megalithDataFrozen?.data.megalith_node_info\n .channels\n }{\" \"}\n open channels\n \n \n Industry-leading LSP (Lightning Service Provider)\n \n \n \n \n {/* 🌴 How can the Megalith Node help you? */}\n {/* \n \n We recommend that you\n \n {\" \"}\n open a channel{\" \"}\n \n to Megalith.\n */}\n \n \n ✨ Want to try running your own node?\n \n \n \n \n We've recently released{\" \"}\n Rizful.com, a\n super-fast and easy way to get started with Lightning and Nostr.\n Instantly run a fully-featured Lighthing node in the cloud. No\n technical expertise required.\n \n \n\n \n ✨ Get on NOSTR today\n \n \n \n \n Nostr is decentralized, uncensorable, free, and a lot of fun.\n It's the future's social network, available today.{\" \"}\n \n Follow this guide to get on Nostr\n \n .\n \n \n\n \n ✅ Open a channel to The Megalith Node...\n\n e.currentTarget.select()}\n />\n \n {({ copied, copy }) => (\n }\n color={copied ? \"teal\" : \"blue\"}\n onClick={copy}\n >\n {copied ? \"Copied!\" : \"Copy address\"}\n \n )}\n \n }\n ml=\"sm\"\n onClick={() => setShowQRCode(!showQRCode)}\n >\n {showQRCode ? \"Hide QR Code\" : \"QR Code\"}\n \n {showQRCode && (\n \n \n \n )}\n \n - minimum channel size: 1,000,000 satoshis\n \n \n - need a smaller channel?{\" \"}\n \n Open to our \"small channel\" node\n \n \n \n - opening a channel is free\n \n \n - contact us \n for help\n \n \n\n {/* \n \n ☑️ Improve your RECEIVE payment success rate\n \n {/* get a FREE INBOUND channel from Megalith: */}\n {/* \n 💡 The Megalith Node offers free incoming channels for any node\n that can demonstrate that it receives significant amount &\n frequency of lightning payments.{\" \"}\n */}\n {/* */}\n {/* \n If you would like a free incoming channel, please send us a\n message on Telegram. Include the following info:\n */}\n {/* - your node public key */}\n {/* \n - monthly payment volume expected (sats per month)\n */}\n\n {/* \n \n */}\n {/* */}\n\n 💡 Ready to learn more about Lightning?\n \n For background info, and technical help, check out our{\" \"}\n \n opinionated guide\n \n , designed for new entrants to Lightning. Browse the{\" \"}\n power list to learn about the\n biggest players on the network. If you're interested in Taproot\n Assets, we're maintaining a beta{\" \"}\n buy & sell exchange and{\" \"}\n \n taproot assets explorer\n \n .\n \n \n ⚙️ Looking for a Lightning Service Provider (LSP)?\n \n \n If you're building a wallet or other application, and you need an\n automated API service to open channels for your users, check out\n our{\" \"}\n \n highly-available http-based LSPS1 service\n \n .\n \n \n \n \n )}\n \n );\n});\n\nexport default MegalithContainer;\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"tNcOGFoomewPTnviWcGn\",\"inner\":\"p0OeZ0v2JVpYmB8YucSZ\",\"link\":\"j6_7wAgDsyh0Rtrt7Ts4\"};","// LogoAnchor.tsx\n\nimport React from \"react\";\nimport { Anchor, Text } from \"@mantine/core\";\n\ninterface LogoAnchorProps {\n showImage: boolean;\n}\n\nconst LogoAnchor: React.FC = ({ showImage }) => (\n \n
\n {showImage && (\n \n )}\n megalithic.me\n
\n
\n);\n\nexport default LogoAnchor;\n","import React, { useState } from \"react\";\nimport {\n Container,\n Group,\n Burger,\n Anchor,\n Drawer,\n Image,\n Text,\n} from \"@mantine/core\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport { IconChevronDown } from \"@tabler/icons-react\";\nimport classes from \"./HeaderSimple.module.css\";\nimport LogoAnchor from \"./Logo\";\n\n// console.log(classes);\n\nconst links = [\n { link: \"https://docs.megalithic.me\", label: \"Lightning Docs\" },\n // { link: \"/taproot_assets\", label: \"Exchange\" },\n // { link: \"/taproot_assets_explorer\", label: \"Explorer\" },\n { link: \"/power_list\", label: \"Power List\" },\n { link: \"/\", label: \"Node\" },\n { link: \"/contact\", label: \"Contact\" },\n];\n\nexport function HeaderSimple() {\n const [drawerOpened, { toggle: toggleDrawer, close: closeDrawer }] =\n useDisclosure(false);\n const [active, setActive] = useState(window.location.pathname);\n\n const handleItemClick = (link) => {\n setActive(link.link);\n window.location.href = link.link; // Navigate to the clicked URL\n };\n\n const items = links.map((link) => (\n {\n event.preventDefault();\n handleItemClick(link);\n closeDrawer(); // Close the drawer when an item is clicked\n }}\n >\n {link.label}\n \n ));\n\n return (\n
\n
\n \n \n \n {items}\n \n \n \n
\n\n \n {items}\n \n
\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"fGdug6DslehtRY_xiXhM\",\"inner\":\"Vv3SNENxFX8rT1313CNy\",\"links\":\"MLDGHCHpm4ExOPJcxeh3\"};","import { Container, Group, Anchor, Stack } from \"@mantine/core\";\nimport { MantineLogo } from \"@mantinex/mantine-logo\";\nimport classes from \"./FooterSimple.module.css\";\nimport React, { useState } from \"react\";\nimport LogoAnchor from \"./Logo\";\nconst links = [\n { link: \"/privacy_and_terms\", label: \"Privacy & Terms\" },\n { link: \"/contact\", label: \"Contact Us\" },\n { link: \"https://docs.megalithic.me\", label: \"Lightning Docs\" },\n { link: \"/taproot_assets\", label: \"Taproot Assets Exchange\" },\n { link: \"/taproot_assets_explorer\", label: \"Taproot Assets Explorer\" },\n { link: \"/power_list\", label: \"Power List\" },\n];\nconst handleItemClick = (link) => {\n window.location.href = link.link; // Navigate to the clicked URL\n};\n\nexport function FooterSimple() {\n const items = links.map((link) => (\n \n c=\"dimmed\"\n key={link.label}\n href={link.link}\n onClick={(event) => {\n event.preventDefault();\n handleItemClick(link);\n }}\n size=\"sm\"\n >\n {link.label}\n \n ));\n\n return (\n
\n \n \n \n {items}\n \n \n
\n );\n}\n","import {\n Box,\n Chip,\n Group,\n Paper,\n Stack,\n Title,\n Tooltip,\n rem,\n Anchor,\n Text,\n Button,\n TextInput,\n CopyButton,\n Divider,\n} from \"@mantine/core\";\nimport { IconBrandTelegram, IconCopy } from \"@tabler/icons-react\";\nimport { format } from \"d3-format\";\n\nimport React from \"react\";\n\nconst ContactContainer: React.FC = () => {\n return (\n \n \n Contact The Megalith Node\n \n Please reach out for any questions, comments, or if you have a\n question about the Lightning Network.\n \n \n To send us a public message, use Nostr.{\" \"}\n \n This is our Nostr profile\n \n . Simply write a note, and be sure to tag @Rizful.com.\n \n \n If you're not already on Nostr,{\" \"}\n \n follow this guide to get started\n \n .\n \n\n \n To reach us privately, use Telegram.\n \n \n }\n >\n Send Telegram Message To Megalith Node\n \n \n You can also reach us with email.\n e.currentTarget.select()}\n />\n \n \n {({ copied, copy }) => (\n }\n color={copied ? \"teal\" : \"blue\"}\n onClick={copy}\n >\n {copied ? \"Copied!\" : \"Copy email address\"}\n \n )}\n \n \n \n Who started the Megalith Node?\n \n Hi. We're software developers and Bitcoiners with an interest in\n ethical financial services. We like working on interesting projects\n that can benefit everyone who uses Bitcoin. Do get in touch if you're\n looking for help with something.\n \n \n \n );\n};\n\nexport default ContactContainer;\n","import React from \"react\";\nimport { Text, Title, Paper, Anchor, Stack } from \"@mantine/core\";\n\nconst PrivacyAndTermsContainer: React.FC = () => {\n return (\n \n \n Privacy Policy for Megalithic.me\n\n \n 1. Information We Collect:\n \n\n \n When you visit Megalithic.me, we may collect non-personally\n identifiable information such as your IP address, browser type,\n referring website, pages visited, and the time and date of each visit.\n This information helps us analyze trends, administer the website, and\n improve user experience.\n \n\n \n We do not collect any personally identifiable information (PII) such\n as names, email addresses, or phone numbers, unless voluntarily\n provided by you. For example, if you contact us through our website's\n contact form or sign up for our newsletter, we may collect your email\n address.\n \n\n \n 2. How We Use Your Information:\n \n\n \n We use non-personally identifiable information to analyze website\n usage patterns, identify popular content, and optimize our website's\n performance. If you provide us with your email address, we may use it\n to respond to your inquiries, send newsletters or updates about our\n services, or communicate with you regarding your account.\n \n\n \n 3. Data Security:\n \n\n \n We take reasonable measures to secure and encrypt all data collected\n on Megalithic.me to prevent unauthorized access, disclosure,\n alteration, or destruction of your personal information.\n \n\n \n 4. Cookies and Tracking:\n \n\n \n We use cookies on Megalithic.me for the sole purpose of tracking\n non-personally identifiable information. We do not track, collect, or\n store any personally identifiable information (PII) through cookies or\n other persistent identifiers.\n \n\n \n 6. Your Rights and Choices:\n \n\n \n You have the right to access, correct, or delete any personal\n information we hold about you. You can contact us at any time to\n request access to your data or make changes to it. If you no longer\n wish to receive communications from us, you can opt-out by\n unsubscribing from our newsletter or contacting us directly.\n \n\n \n 7. Data Ownership and Sharing:\n \n\n \n You retain full ownership and control of all data collected on\n Megalithic.me. You can request to delete your data from our servers at\n any time. We do not share, sell, or send your personal information to\n any third parties. Your data is not monetized, mined, or harvested for\n personal or behavioral trends.\n \n\n \n 8. Compliance:\n \n\n \n We comply with the General Data Protection Regulation (GDPR) and the\n Privacy and Electronic Communications Regulations (PECR) by minimizing\n data collection, obtaining consent when necessary, and protecting user\n privacy rights.\n \n\n \n 9. Changes to this Privacy Policy:\n \n\n \n We may update this Privacy Policy from time to time to reflect changes\n in our practices or legal requirements. We encourage you to review\n this Privacy Policy periodically for any updates.\n \n\n \n 10. Contact Us:\n \n\n \n If you have any questions, concerns, or feedback about this Privacy\n Policy or our privacy practices, please contact us at{\" \"}\n info@megalithic.me.\n \n\n \n By using Megalithic.me, you acknowledge that you have read,\n understood, and agreed to the terms of this Privacy Policy.\n \n Terms of Service For Megalithic.me\n\n \n 1. Acceptance of Terms\n \n\n \n By accessing or using our website and Bitcoin Lightning services, you\n agree to comply with these Terms of Service. If you do not agree with\n any part of these terms, you may not access or use our services.\n \n\n \n 2. Bitcoin Lightning Services\n \n\n \n Our website provides Bitcoin Lightning services for your convenience.\n Usage of these services is entirely at your own risk. We disclaim any\n warranty, express or implied, regarding the reliability, availability,\n or security of these services.\n \n\n \n 3. Content Disclaimer\n \n\n \n The content provided on our website is for informational purposes\n only. Nothing on this website constitutes investment advice or\n solicitation to buy or sell any securities or financial instruments.\n \n\n \n 4. Prohibited Activities\n \n\n \n Automated scraping or harvesting of data from our website is strictly\n prohibited. Any unauthorized use of automated tools or software to\n extract information from our website is a violation of these Terms of\n Service.\n \n\n \n 5. Limitation of Liability\n \n\n \n We shall not be liable for any damages, including but not limited to\n direct, indirect, incidental, special, or consequential damages,\n arising out of the use or inability to use our website or Bitcoin\n Lightning services.\n \n \n BY ACCESSING OUR WEBSITE AND USING OUR SERVICES, YOU ACKNOWLEDGE AND\n AGREE THAT WE SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR EXEMPLARY DAMAGES, INCLUDING\n BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA\n OR OTHER INTANGIBLE LOSSES (EVEN IF WE HAVE BEEN ADVISED OF THE\n POSSIBILITY OF SUCH DAMAGES), RESULTING FROM: (I) THE USE OR THE\n INABILITY TO USE OUR SERVICES; (II) THE COST OF PROCUREMENT OF\n SUBSTITUTE GOODS AND SERVICES RESULTING FROM ANY GOODS, DATA,\n INFORMATION OR SERVICES PURCHASED OR OBTAINED OR MESSAGES RECEIVED OR\n TRANSACTIONS ENTERED INTO THROUGH OR FROM OUR SERVICES; (III)\n UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA;\n (IV) STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON OUR SERVICES; (V)\n YOUR RELIANCE ON CONTENT MADE AVAILABLE BY US; OR (VI) ANY OTHER\n MATTER RELATING TO OUR SERVICES.\n \n\n \n 6. Changes to Terms\n \n\n \n We reserve the right to modify or replace these Terms of Service at\n any time. It is your responsibility to check this page periodically\n for changes. Your continued use of our website and services\n constitutes acceptance of the updated terms.\n \n \n 7. Contact Us:\n \n\n \n If you have any questions, concerns, or feedback about these terms of\n service, please contact us at{\" \"}\n info@megalithic.me.\n \n\n \n By using Megalithic.me, you acknowledge that you have read,\n understood, and agreed to these terms of service.\n \n \n \n );\n};\n\nexport default PrivacyAndTermsContainer;\n","import React from \"react\";\nimport { computed, observable } from \"mobx\";\nimport {\n registerRootStore,\n fromSnapshot,\n frozen,\n Frozen,\n getSnapshot,\n model,\n Model,\n modelAction,\n modelFlow,\n onSnapshot,\n prop,\n Ref,\n undoMiddleware,\n _async,\n _await,\n idProp,\n} from \"mobx-keystone\";\nimport { format } from \"d3-format\";\nimport { createContext } from \"react\";\nimport { convertSatoshisToUsd, formatSupply } from \"../helpers/numbers\";\nimport { NO_IMAGE_DATA_URL } from \"../helpers/constants\";\nimport _ from \"lodash\";\n\n@model(\"megalithic/AssetWorkspace\")\nexport class AssetWorkspace extends Model({\n id: idProp,\n hasLoaded: prop(false),\n assetsWorkspaceDataFrozen: prop | undefined>(undefined),\n}) {\n @modelAction\n setHasLoaded(hasLoaded: boolean) {\n this.hasLoaded = hasLoaded;\n }\n @modelAction\n hydrateDataFromPage() {\n const rootDiv = document.getElementById(\"root\");\n const json = JSON.parse(rootDiv.dataset.hydrate);\n // console.log(\"here is the data from the page\", json);\n this.assetsWorkspaceDataFrozen = frozen(json);\n\n this.setHasLoaded(true);\n }\n @computed\n get enhancedOffers() {\n const baseOffers = this.assetsWorkspaceDataFrozen.data.offers;\n const sortedOffers = _.sortBy(baseOffers, \"rank\");\n const enhancedOffers = sortedOffers.map((offer) => {\n const offerWithPrice = {\n ...offer,\n price:\n format(\".2s\")(offer.offerPriceInSatoshis) +\n \" sats \" +\n \" (\" +\n convertSatoshisToUsd(\n offer.offerPriceInSatoshis,\n this.assetsWorkspaceDataFrozen.data.single_setting_data\n .btc_usd_price\n ) +\n \")\",\n formattedSupply: formatSupply(offer.supply),\n action: offer.isBuyOrSell == \"is_buy\" ? \"Sell\" : \"Buy\",\n modifiedImageUrlData: offer.imageUrlData\n ? offer.imageUrlData\n : NO_IMAGE_DATA_URL,\n note: offer.editorialDescription,\n };\n return offerWithPrice;\n });\n return enhancedOffers;\n }\n}\n\nexport const runCreateAssetWorkspace = () => {\n const assetWorkspace = new AssetWorkspace({});\n registerRootStore(assetWorkspace);\n return assetWorkspace;\n};\n\nconst createdAssetWorkspace = runCreateAssetWorkspace();\n//console.log(\"created workspace\", getSnapshot(createdWorkspace));\nexport const AssetWorkspaceContext = createContext(\n createdAssetWorkspace\n);\n\nexport interface AssetWorkspaceInterface {\n AssetWorkspace: AssetWorkspace;\n}\n","import {\n Paper,\n Stack,\n Title,\n Anchor,\n Image,\n Text,\n List,\n Button,\n Divider,\n CopyButton,\n Textarea,\n Center,\n Box,\n} from \"@mantine/core\";\nimport React, { useState } from \"react\";\nimport { formatUnixTimestamp } from \"../helpers/dateAndTime\";\nimport _ from \"lodash\";\nimport { IconBrandTelegram, IconCopy } from \"@tabler/icons-react\";\nimport { AssetProps } from \"./AssetDetail\";\n\nconst AssetTransaction: React.FC = ({ asset }) => {\n const [showContent, setShowContent] = useState(false);\n\n const handleButtonClick = () => {\n setShowContent(true);\n };\n\n const transactionMessage = (asset) => {\n let message = \"\";\n if (asset.isBuyOrSell == \"is_buy\") {\n message +=\n \"Hey Megalith, I want to sell the asset ID \" +\n asset.assetId +\n \". \" +\n \"I want to sell \" +\n asset.offerQuantity +\n \" of this asset, for a total price of \" +\n asset.offerPriceInSatoshis.toLocaleString() +\n \" satoshis.\";\n } else {\n message +=\n \"Hey Megalith, I want to buy the asset ID\" +\n asset.assetId +\n \". \" +\n \"I want to buy \" +\n asset.offerQuantity +\n \" of this asset, for a total price of \" +\n asset.offerPriceInSatoshis.toLocaleString() +\n \" satoshis.\";\n }\n\n return message;\n };\n\n const ctaTransactionMessage = (asset) => {\n if (asset.isBuyOrSell == \"is_buy\") {\n return \"Sell This Asset\";\n }\n return \"Buy This Asset\";\n };\n\n const howToTransactHeadline = (asset) => {\n if (asset.isBuyOrSell == \"is_buy\") {\n return \"How to sell this asset to Megalith\";\n } else {\n return \"How to buy this asset from Megalith\";\n }\n };\n return (\n <>\n {!showContent && (\n \n \n \n )}\n\n {showContent && (\n <>\n \n {howToTransactHeadline(asset)}\n \n \n \n Taproot assets transfers aren't yet enabled on Lightning.\n \n \n Transfers are currently possible using the main chain, at the same\n fee weight as a normal taproot transaction.\n \n \n Taproot Assets transfers are still a little complicated and\n error-prone. For this reason, we're doing all buying and selling\n manually, over Telegram.\n \n \n We don't recommend using any wallet solution except for{\" \"}\n \n tapd\n \n , running alongside{\" \"}\n \n lnd\n \n , running alongside{\" \"}\n \n Bitcoin Core\n \n .\n \n \n To initiate a transaction with Megalith Node, copy the text below\n and send it as a message to us on Telegram.\n \n\n e.currentTarget.select()}\n />\n \n {({ copied, copy }) => (\n }\n color={copied ? \"teal\" : \"blue\"}\n onClick={copy}\n >\n {copied ? \"Copied!\" : \"Copy message\"}\n \n )}\n \n \n \n }\n >\n Send Telegram Message\n \n \n \n )}\n \n );\n};\n\nexport default AssetTransaction;\n","import {\n Paper,\n Stack,\n Title,\n Anchor,\n Image,\n Text,\n List,\n Button,\n Divider,\n CopyButton,\n Textarea,\n Center,\n Box,\n} from \"@mantine/core\";\nimport React from \"react\";\nimport { formatUnixTimestamp } from \"../helpers/dateAndTime\";\nimport _ from \"lodash\";\nimport { IconBrandTelegram, IconCopy } from \"@tabler/icons-react\";\nimport AssetTransaction from \"./AssetTransaction\";\ninterface Asset {\n assetName: string;\n imageUrlData: string | null;\n assetTextData: string | null;\n genesisTransaction: string;\n genesisTimestamp: number;\n assetId: string;\n assetType: \"NORMAL\" | \"COLLECTIBLE\";\n editorialDescription: string | null;\n supply: number;\n isBuyOrSell: \"is_buy\" | \"is_sell\";\n offerQuantity: number;\n offerPriceInSatoshis: number;\n price: string; // Added field\n formattedSupply: string; // Added field\n action: \"Sell\" | \"Buy\"; // Added field\n modifiedImageUrlData: string; // Added field\n note: string | null; // Added field\n}\n\nexport interface AssetProps {\n asset: Asset;\n}\n\nconst AssetDetail: React.FC = ({ asset }) => {\n return (\n \n \n {asset.assetName}\n {asset.editorialDescription && (\n Megalith's note: {asset.editorialDescription}\n )}\n\n \n \n \n\n e.currentTarget.select()}\n />\n \n \n Genesis: {formatUnixTimestamp(asset.genesisTimestamp)}\n \n\n \n Transaction:{\" \"}\n \n {_.truncate(asset.genesisTransaction, {\n length: 15,\n })}\n \n \n Supply: {asset.supply}\n \n Image data: {asset.imageUrlData == null ? \"NO\" : \"YES\"}\n \n \n Text data:{\" \"}\n {asset.assetTextData == null\n ? \"NO\"\n : '\"' + asset.assetTextData + '\"'}\n \n \n \n {asset.isBuyOrSell == \"is_buy\" && (\n <>\n Megalith is buying this asset\n \n Wanted quantity: {asset.offerQuantity}\n \n Offer per asset:{\" \"}\n {(\n asset.offerPriceInSatoshis / asset.offerQuantity\n ).toLocaleString()}{\" \"}\n satoshis\n \n \n Total offer: {asset.offerPriceInSatoshis.toLocaleString()}{\" \"}\n satoshis\n \n \n \n )}\n {asset.isBuyOrSell == \"is_sell\" && (\n <>\n Megalith is selling this asset\n \n Offered quantity: {asset.offerQuantity}\n \n Offer per asset:{\" \"}\n {(\n asset.offerPriceInSatoshis / asset.offerQuantity\n ).toLocaleString()}{\" \"}\n satoshis\n \n \n Total offer: {asset.offerPriceInSatoshis.toLocaleString()}{\" \"}\n satoshis\n \n \n \n )}\n \n \n \n );\n};\n\nexport default AssetDetail;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Image,\n} from \"@mantine/core\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { DataTable } from \"mantine-datatable\";\nimport { isTablet, isMobile, isMobileOnly } from \"react-device-detect\";\nimport { AssetWorkspace } from \"../stores/AssetWorkspace\";\nimport { Chip } from \"@mantine/core\";\nimport classes from \"./AssetTable.module.css\";\nimport { IconCopy, IconX } from \"@tabler/icons-react\";\nimport { format } from \"d3-format\";\nimport AssetDetail from \"./AssetDetail\";\n\nconst AssetTable = observer(\n ({ assetWorkspace }: { assetWorkspace: AssetWorkspace }) => {\n const offers = assetWorkspace.enhancedOffers;\n useEffect(() => {}, []);\n\n // {\n // \"assetName\": \"MegalithGenesisCoin\",\n // \"imageUrlData\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAAC/VBMVEUAAACjoqO5ubmwsLCQkJCWlpZ7e3ucnJzT09PY2NjExMSJiYmwsLBjY2PGxsaPj4/o6Ojd3d2mpqbx/f5iYmJsbGxQaq0xSJKCgoM2SZNZWVlCYqVycnN7e3srSJJRUVGLiotwQYorXJ1PX6A+XaI8RpApUp45Vp5QRYuydKdSc7YlTZp7SJtRTJIlRJBnRY2CTKFcR4yJpt52l9NKZak8T5hcgMMgQY38gaFISEhKbrKQU6pEUpv9iqKJT6bOZJ/hZKHBZJ+TkpRCRYucWLaWVa+9dKczTpn6cqm6fqtYaqzrZaFxQ5tESpGurq+1l7W1Zp00itOjW7v2aqJjh8hjb7EvZqNEaKzXY6B4RJC2tbZUVZipqamPquOrXr5qdbiabKpYYZttN3qbmptVZKY9LYT9laandqm9vb1NX5NYebz8oqXKdKmwXqmLRJFAXJNMVZGaRI9wfsFiNYnAlbFdOHvtcqpjjtNui8zJmbJSNpJeldxFMYz7csyXUqGBn9\",\n // \"assetTextData\": \"The first asset created by Megalithic.me\",\n // \"genesisTransaction\": \"77f867378b1879b7cb4d0b272ab95a66c9b0f76e03fcf31e5269f9beba0344b6:1\",\n // \"genesisTimestamp\": 1713804747,\n // \"assetId\": \"5eb3e9332e8b0d12d4831e26dd9c6553c2467b9a6927e7006953b33987ddcf1e\",\n // \"assetType\": \"NORMAL\",\n // \"editorialDescription\": null,\n // \"supply\": 100,\n // \"isBuyOrSell\": \"is_sell\",\n // \"offerQuantity\": 1,\n // \"offerPriceInSatoshis\": 100000\n // }\n\n // {\n // \"assetName\": \"Bitcoin Wizard\",\n // \"imageUrlData\": \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAkACQAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAA-\",\n // \"assetTextData\": null,\n // \"genesisTransaction\": \"224c73d36ca2fe87b18d8e0e792f8da46ea48400a2eb77dca4cf70b5f48cec92:1\",\n // \"genesisTimestamp\": 1697793814,\n // \"assetId\": \"ca3e585b7353bd1026e9184e6cbb5103b0a9887ddfd1c2d140e99113047a393d\",\n // \"assetType\": \"COLLECTIBLE\",\n // \"editorialDescription\": null,\n // \"supply\": 1,\n // \"isBuyOrSell\": \"is_buy\",\n // \"offerQuantity\": 1,\n // \"offerPriceInSatoshis\": 50000\n // }\n\n const buttonColor = (action: string) => {\n if (action == \"Buy\") {\n return \"teal\";\n }\n return \"blue\";\n };\n\n const columns = [\n {\n title: \"Preview\",\n accessor: \"modifiedImageUrlData\",\n width: 100,\n render: ({ modifiedImageUrlData }) => (\n <>\n \n \n \n \n ),\n },\n\n { title: \"Name\", width: 200, accessor: \"assetName\" },\n !isMobileOnly && {\n title: \"Supply\",\n width: 100,\n accessor: \"formattedSupply\",\n },\n !isMobileOnly && { title: \"Price\", width: 200, accessor: \"price\" },\n !isMobileOnly && {\n title: \"Action\",\n accessor: \"action\",\n render: ({ action }) => (\n \n ),\n },\n !isMobileOnly && { title: \"Note\", accessor: \"note\" },\n ].filter(Boolean);\n\n return (\n <>\n {\" \"}\n \n // Name === navigatedName() ? classes.redRow : undefined\n // }\n // customRowAttributes={({ Name }) => ({\n // \"data-row-squire-name\": sanitizeSquireName(Name),\n // })}\n records={offers}\n rowExpansion={{\n // initiallyExpanded: ({ record: { Name } }) =>\n // Name === navigatedName(),\n initiallyExpanded: () => false,\n\n content: ({ record }) => ,\n }}\n columns={columns}\n />\n \n );\n }\n);\n\nexport default AssetTable;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Paper,\n SimpleGrid,\n Title,\n} from \"@mantine/core\";\n\nimport {\n IconCoinBitcoin,\n IconCoin,\n IconDatabase,\n IconClockHour10,\n IconGift,\n IconCoins,\n IconGif,\n IconPng,\n IconSvg,\n IconJpg,\n IconJson,\n IconAbc,\n IconPhoto,\n IconFileUnknown,\n} from \"@tabler/icons-react\";\nimport classes from \"./PowerListStats.module.css\";\n\nimport { PowerList } from \"../stores/PowerList\";\nimport {\n dateTimeToTimeAgo,\n formatUSDAmount,\n formatBitcoinPrice,\n formatNumberWithCommas,\n convertKBtoGB,\n} from \"../helpers/numbers\";\n\nimport { AssetWorkspace } from \"../stores/AssetWorkspace\";\n\nconst AssetStats = observer(({ assetData }: { assetData: any }) => {\n return (\n <>\n \n \n \n \n Total Known Assets\n \n {/* */}\n \n\n \n \n {assetData.total_assets.toLocaleString()}\n \n \n \n in known universes\n \n \n \n \n \n Universe Data\n \n \n \n\n \n \n {convertKBtoGB(assetData.universe_data_file_size)}\n \n \n \n Gigabytes\n \n \n \n \n \n Last Asset\n \n \n \n\n \n \n {dateTimeToTimeAgo(assetData.most_recently_discovered_asset)}\n \n \n in known universes\n \n \n \n \n \n \n Collectibles\n \n \n \n\n \n \n {assetData.num_collectible_assets.toLocaleString()}\n \n \n \n one-of-a-kind assets\n \n \n \n \n \n Normal Assets\n \n \n \n\n \n \n {assetData.num_normal_assets.toLocaleString()}\n \n \n \n assets created in multiples\n \n \n \n \n \n GIF\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_gif.toLocaleString()}\n \n \n \n assets with GIF image data\n \n \n \n \n \n PNG\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_png.toLocaleString()}\n \n \n \n assets with PNG image data\n \n \n \n \n \n SVG\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_svg.toLocaleString()}\n \n \n \n assets with SVG image data\n \n \n \n \n \n HEIC\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_heic.toLocaleString()}\n \n \n \n assets with HEIC image data\n \n \n \n \n \n WEBP\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_webp.toLocaleString()}\n \n \n \n assets with WEBP image data\n \n \n \n \n \n JPG\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_jpeg.toLocaleString()}\n \n \n \n assets with JPG image data\n \n \n \n \n \n JSON\n \n {/* */}\n \n\n \n \n {assetData.num_assets_in_json.toLocaleString()}\n \n \n \n assets with JSON data\n \n \n \n \n \n Text\n \n {/* */}\n \n\n \n \n {assetData.num_assets_with_valid_text_data.toLocaleString()}\n \n \n \n assets with text data\n \n \n \n \n \n Unknown\n \n \n \n\n \n \n {assetData.num_assets_with_unknown_data_format.toLocaleString()}\n \n \n \n assets with unknown data format\n \n \n \n \n );\n});\n\nexport default AssetStats;\n","import { Code } from \"@mantine/core\";\nimport React from \"react\";\n\nconst KnownUniverses = ({}) => {\n const knownUniverses = `assets.megalith-node.com\nuniverse.lightning.finance\nuniverse.tiramisuwallet.com\nuniverse.nostrassets.com`;\n\n return {knownUniverses};\n};\n\nexport default KnownUniverses;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useMemo, useRef } from \"react\";\nimport { AssetWorkspace, AssetWorkspaceContext } from \"./stores/AssetWorkspace\";\nimport \"@mantine/notifications/styles.css\";\nimport {\n Center,\n Code,\n Stack,\n Title,\n Text,\n List,\n Anchor,\n Paper,\n} from \"@mantine/core\";\n\nimport { isMobileOnly } from \"react-device-detect\";\nimport { IconBolt } from \"@tabler/icons-react\";\nimport AssetTable from \"./components/AssetTable\";\nimport AssetStats from \"./components/AssetStats\";\nimport KnownUniverses from \"./components/partials/KnownUniverses\";\n\nconst AssetWorkspaceContainer: React.FC = observer(() => {\n const assetWorkspace = useContext(AssetWorkspaceContext);\n\n useEffect(() => {\n //console.log(\"starting power list containers\");\n assetWorkspace.hydrateDataFromPage();\n //console.log(assetWorkspace.assetsWorkspaceDataFrozen.data);\n }, []);\n\n return (\n <>\n {assetWorkspace.hasLoaded && (\n <>\n
\n Taproot Assets Exchange\n
\n \n \n Taproot Assets: a responsible assets framework for Lightning\n \n\n \n \n Taproot Assets is a data standard and a set of cryptography\n tools for assets and stablecoins, backed by the security of the\n Bitcoin network, and designed to be transacted over Lightning\n channels.\n \n \n Unlike Ordinals or Runes, asset data is NOT stored on the\n Bitcoin blockchain.\n \n \n No new consensus or standardness rule changes are required to\n support Taproot Assets.\n \n \n Taproot Asset creation transactions look like any other taproot\n UTXOs on the blockchain. They take up very little block space.\n \n {/* \n Taproot Assets can currently be traded on the main Bitcoin\n network, and trading only requires a very space-efficient\n transaction.\n */}\n\n \n Taproot Assets which advertise the \"type: normal\" flag can be\n transferred on the Lightning Network. Megalith is building\n \n {\" \"}\n an automated exchange service{\" \"}\n \n for these types of assets.\n \n \n Existing Lightning nodes are able to forward Taproot Asset\n transfers without upgrading their software.\n \n\n \n Trading these assets over the Lightning Network requires the\n transmission of BTC. This increase the overall utility and\n transaction volume of the Network.\n \n \n \n
\n \n {\" \"}\n Assets That We Are Buying Or Selling\n \n
\n \n\n \n \n Ethical guidelines for dealers in Taproot Assets\n \n \n \n Only accept payment, and redeem payment, in Bitcoin.\n \n \n When Lightning Network support is available, only make trades on\n the Lightning Network, not on the mainchain.\n \n \n Never engage in misleading marketing practices\n \n \n \n \n Some statistics about the known assets\n \n \n\n \n Frequently Asked Questions\n \n \n \n \n The image, text, or JSON data in these assets: Where is it\n stored?\n \n \n This metadata is stored on the creator's computers, and\n redundantly in the Universes. Note that some asset creators are\n attempting to link to external data sources, like images and\n websites, by including URLs in their asset data, but we are\n ignoring these links and only considering data written\n permanently to the Universe stores.\n \n \n What are the Universes?\n \n \n After you create a Taproot Asset, you can sync your asset data\n with a public universe. We currently know about these public\n universes:\n \n\n \n {/* \n Do you plan to offer a trading platform?\n \n \n Yes. After Taproot Assets can be reliably exchanged over the\n Lightning Network, this page will transition into an open,\n permissionless exchange.\n */}\n\n \n How are you deciding which assets you want to buy?\n \n \n We're currently buying early assets that were created by Bitcoin\n believers.\n \n\n \n Is this for Degens?\n \n \n No. If you believe in Bitcoin, you should support increased\n activity on the Lightning Network. Assets and stablecoins are\n two use-cases that won't be going away anytime soon, in fact,\n their adoption is growing, and fast. It's better that these\n needs are fulfilled by Bitcoin, instead of dubious altcoins.\n Taproot Assets allows us to service these needs while\n strengthening Bitcoin's network effects.\n \n \n \n \n )}\n \n );\n});\n\nexport default AssetWorkspaceContainer;\n","export const sendToRailsController = async (data: object, url: string) => {\n try {\n const csrfToken = document\n .querySelector('meta[name=\"csrf-token\"]')\n .getAttribute(\"content\");\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": csrfToken, // Include the CSRF token in the headers\n },\n body: JSON.stringify(data),\n });\n return response.json();\n } catch (err) {\n console.error(err);\n return false;\n }\n};\n","export const updateSearchQueryParam = (newSearchValue) => {\n // Create a URL object based on the current document location\n const currentUrl = new URL(window.location);\n\n // Access the URL's search parameters\n const params = currentUrl.searchParams;\n\n // Get the current value of the 'search' parameter\n const currentSearchValue = params.get(\"search\");\n\n // Check if the current search value is different from the new search value\n if (currentSearchValue !== newSearchValue) {\n // Set the 'search' parameter to the new value\n params.set(\"search\", newSearchValue);\n\n // Update the browser's address bar without reloading the page\n window.history.pushState(\n { search: newSearchValue },\n \"\",\n currentUrl.toString()\n );\n }\n};\n\n// Listen for popstate event to handle browser navigation\nwindow.addEventListener(\"popstate\", (event) => {\n window.location.reload();\n});\n","declare global {\n interface Window {\n nostr?: {\n getPublicKey: () => Promise;\n };\n alby?: {\n nostr: any;\n };\n okxwallet?: {\n nostr: any;\n };\n $onekey?: {\n nostr: any;\n };\n tokenpocket?: {\n nostr: any;\n };\n nostrasset?: {\n nostr?: any;\n };\n _notification?: {\n warning: (options: {\n key: string;\n icon: any;\n message: string;\n description: string;\n }) => void;\n };\n }\n}\n\nimport { nip19 } from \"nostr-tools\";\nimport { notifications } from \"@mantine/notifications\";\n\n// export const tryToGetNostrPublicKey = async () => {\n// if (!window.nostr) {\n// return null;\n// }\n\n// try {\n// const publicKey = await window.nostr.getPublicKey();\n// const npubKey = nip19.npubEncode(publicKey);\n// return npubKey;\n// } catch (error) {\n// console.error(\"Error getting Nostr public key:\", error);\n// return null;\n// }\n// };\n\nexport const NOSTR_PLATFORM_NAMES = {\n GENERIC: \"generic\",\n OKX: \"okx\",\n ONEKEY: \"onekey\",\n TOKENPOCKET: \"tokenpocket\",\n ALBY: \"alby\",\n};\n\nexport const handleNostrButtonAttempt = async (nostrPlatform) => {\n let instanceOfNostrFunction = null;\n\n if (nostrPlatform === NOSTR_PLATFORM_NAMES.ALBY) {\n // if (window.alby) {\n // if (\n // window?.okxwallet?.nostr ||\n // window.$onekey?.nostr ||\n // window?.tokenpocket?.nostr\n // ) {\n // console.log(\"hey, disable the other nostr plugins here cuz u on alby\");\n // }\n\n // }\n instanceOfNostrFunction = window?.alby?.nostr;\n const nPubKey = await handleAlbyWallet(instanceOfNostrFunction);\n return nPubKey;\n } else if (nostrPlatform === NOSTR_PLATFORM_NAMES.OKX) {\n instanceOfNostrFunction = window?.okxwallet?.nostr;\n const nPubKey = await handleOkXWallet(instanceOfNostrFunction);\n return nPubKey;\n } else if (nostrPlatform === NOSTR_PLATFORM_NAMES.ONEKEY) {\n instanceOfNostrFunction = window?.$onekey?.nostr;\n const nPubKey = await handleOneKeyWallet(instanceOfNostrFunction);\n return nPubKey;\n } else if (nostrPlatform === NOSTR_PLATFORM_NAMES.TOKENPOCKET) {\n instanceOfNostrFunction = window?.tokenpocket?.nostr;\n const nPubKey = await handleTokenPocketWallet(instanceOfNostrFunction);\n return nPubKey;\n } else {\n instanceOfNostrFunction = window.nostr;\n const nPubKey = await handleGenericWallet(instanceOfNostrFunction);\n return nPubKey;\n }\n // console.log(\"this is where i would set this nostr platform\", nostrPlatform);\n\n // const publicKey = await instanceOfNostrFunction.getPublicKey();\n // console.log(\"public key after await\", publicKey);\n // return publicKey;\n};\n\nconst handleOkXWallet = async (instanceOfNostrFunction) => {\n try {\n const publicKey = await instanceOfNostrFunction.getPublicKey();\n console.log(\"here is the oks public key need to convert\", publicKey);\n const npubKey = nip19.npubEncode(publicKey);\n console.log(\"here is the npubkey\", npubKey);\n return npubKey;\n } catch (error) {\n console.error(\"Error getting Nostr public key:\", error);\n notifications.show({\n color: \"red\",\n title: \"Error with OKX Wallet\",\n message: \"Please be sure the OKX browser extension is installed.\",\n });\n return null;\n }\n};\n\nconst handleOneKeyWallet = async (instanceOfNostrFunction) => {\n try {\n console.log(\n \"here is the instance where i could await the publickey \",\n instanceOfNostrFunction\n );\n const publicKey = await instanceOfNostrFunction.getPublicKey();\n console.log(\"here is the onekey public key need to convert\", publicKey);\n const npubKey = nip19.npubEncode(publicKey);\n console.log(\"here is the npubkey\", npubKey);\n return npubKey;\n } catch (error) {\n console.error(\"Error getting Nostr public key:\", error);\n notifications.show({\n color: \"red\",\n title: \"Error with OneKey Wallet\",\n message: \"Please be sure the OneKey browser extension is installed.\",\n });\n return null;\n }\n};\n\nconst handleTokenPocketWallet = async (instanceOfNostrFunction) => {\n try {\n console.log(\n \"here is the instance where i could await the publickey \",\n instanceOfNostrFunction\n );\n const publicKey = await instanceOfNostrFunction.getPublicKey();\n console.log(\"here is the onekey public key need to convert\", publicKey);\n const npubKey = nip19.npubEncode(publicKey);\n console.log(\"here is the npubkey\", npubKey);\n return npubKey;\n } catch (error) {\n console.error(\"Error getting Nostr public key:\", error);\n notifications.show({\n color: \"red\",\n title: \"Error with TokenPocket\",\n message: \"Please be sure the TokenPocket browser extension is installed.\",\n });\n return null;\n }\n};\n\nconst handleAlbyWallet = async (instanceOfNostrFunction) => {\n try {\n console.log(\n \"here is the instance where i could await the publickey \",\n instanceOfNostrFunction\n );\n const publicKey = await instanceOfNostrFunction.getPublicKey();\n console.log(\"here is the onekey public key need to convert\", publicKey);\n const npubKey = nip19.npubEncode(publicKey);\n console.log(\"here is the npubkey\", npubKey);\n return npubKey;\n } catch (error) {\n console.error(\"Error getting Nostr public key:\", error);\n notifications.show({\n color: \"red\",\n title: \"Error with Alby\",\n message: \"Please be sure the Alby browser extension is installed.\",\n });\n return null;\n }\n};\n\nconst handleGenericWallet = async (instanceOfNostrFunction) => {\n try {\n console.log(\n \"here is the instance where i could await the publickey \",\n instanceOfNostrFunction\n );\n const publicKey = await instanceOfNostrFunction.getPublicKey();\n console.log(\"here is the onekey public key need to convert\", publicKey);\n const npubKey = nip19.npubEncode(publicKey);\n console.log(\"here is the npubkey\", npubKey);\n return npubKey;\n } catch (error) {\n console.error(\"Error getting Nostr public key:\", error);\n notifications.show({\n color: \"red\",\n title: \"Error with Nostr extension\",\n message: \"Please be sure a Nostr browser extension is installed\",\n });\n return null;\n }\n};\n","import React from \"react\";\nimport { computed, observable } from \"mobx\";\nimport {\n registerRootStore,\n fromSnapshot,\n frozen,\n Frozen,\n getSnapshot,\n model,\n Model,\n modelAction,\n modelFlow,\n onSnapshot,\n prop,\n Ref,\n undoMiddleware,\n _async,\n _await,\n idProp,\n getNodeSandboxManager,\n} from \"mobx-keystone\";\nimport { format } from \"d3-format\";\nimport { createContext } from \"react\";\nimport { convertSatoshisToUsd, formatSupply } from \"../helpers/numbers\";\nimport { NO_IMAGE_DATA_URL } from \"../helpers/constants\";\nimport _ from \"lodash\";\nimport { sendToRailsController } from \"../helpers/requests\";\nimport { updateSearchQueryParam } from \"../helpers/browser\";\nimport { sortOriginalsFirst } from \"../helpers/sort\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport {\n handleNostrButtonAttempt,\n NOSTR_PLATFORM_NAMES,\n} from \"../helpers/nostr\";\nimport {\n setNostrDataToLocalStorage,\n getNostrDataFromLocalStorage,\n} from \"../helpers/localStorage\";\n// import { tryToGetNostrPublicKey } from \"../helpers/nostr\";\n\n@model(\"megalithic/ExplorerWorkspace\")\nexport class ExplorerWorkspace extends Model({\n id: idProp,\n hasLoaded: prop(false),\n isMobile: prop(false),\n explorerWorkspaceDataFrozen: prop | undefined>(undefined),\n searchResultsFrozen: prop>(() => frozen([])),\n searchBoxValue: prop(\"\"),\n searchIsLoading: prop(false),\n previousSearch: prop(undefined),\n workspaceUuid: prop(() => uuidv4()),\n assetProofFrozen: prop>(() => frozen({})),\n assetProofStatus: prop(\"\"),\n assetProofInProgress: prop(false),\n nostrPublicKey: prop(null),\n nostrPlatform: prop(null),\n nostrRelatedData: prop>(() => frozen({})),\n nostrRelatedDataHasPopulated: prop(false),\n}) {\n @computed\n get linkToCurrentSearch() {\n const domain =\n this.explorerWorkspaceDataFrozen.data.environment_details.domain;\n const withIntro =\n \"https://\" +\n domain +\n \"/\" +\n \"taproot_assets_explorer?search=\" +\n this.searchBoxValue;\n return withIntro;\n }\n @computed\n get shouldShowXButton() {\n return this.searchIsLoading == false && this.searchBoxValue.length > 0;\n }\n\n @modelAction\n setHasLoaded(hasLoaded: boolean) {\n this.hasLoaded = hasLoaded;\n }\n @modelAction\n clearSearch() {\n this.searchBoxValue = \"\";\n this.clearSearchResults();\n }\n\n @modelAction\n clearSearchResults() {\n this.searchResultsFrozen = frozen([]);\n }\n @modelAction\n restorePreviousSearch() {\n this.clearSearchResults();\n this.updateSearch(this.previousSearch);\n this.previousSearch = undefined;\n }\n\n @modelAction\n makeANewSearch(asset_universe_id) {\n this.previousSearch = this.searchBoxValue;\n this.updateSearch(asset_universe_id);\n }\n @modelAction\n updateSearch(newValue: string) {\n this.clearSearchResults();\n this.searchBoxValue = newValue;\n if (this.searchBoxValue.length > 0) {\n this.searchIsLoading = true;\n this.submitSearch();\n } else {\n this.searchIsLoading = false;\n }\n updateSearchQueryParam(newValue);\n }\n\n @computed\n get enhancedAssets() {\n const baseAssets = sortOriginalsFirst(this.searchResultsFrozen.data);\n const enhancedAssets = baseAssets.map((asset) => {\n const dateObject = new Date(asset.asset_genesis_date);\n const formattedDate = dateObject.toLocaleDateString(undefined, {\n timeZone: \"UTC\",\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n });\n const formattedTime = dateObject.toLocaleTimeString(undefined, {\n timeZone: \"UTC\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n const enhancedAsset = {\n ...asset,\n modifiedImageUrlData: asset.image_uri\n ? asset.image_uri\n : NO_IMAGE_DATA_URL,\n formattedSupply: formatSupply(asset.asset_total_supply),\n assetGenesisDate: formattedDate,\n assetGenesisTime: formattedTime,\n truncatedAssetName: _.truncate(asset.asset_name, {\n length: 26,\n }),\n isOriginal: asset.duplicate_of_asset_universe_id ? \"false\" : \"true\",\n };\n return enhancedAsset;\n });\n return enhancedAssets;\n }\n @modelFlow\n submitSearch = _async(function* (this: ExplorerWorkspace) {\n const message = {\n query: this.searchBoxValue,\n };\n sendToRailsController(message, \"/search\")\n .then((response) => {\n // console.log(\"response\");\n // console.log(response);\n this.handleSearchResult(response);\n // if (response.original_query == this.searchBoxValue) {\n // this.searchIsLoading = false;\n // }\n })\n .catch((error) => {\n console.log(error);\n });\n });\n\n @modelFlow\n requestAssetValidation = _async(function* (\n this: ExplorerWorkspace,\n proof_as_text: string\n ) {\n this.assetProofStatus = \"\";\n this.assetProofFrozen = frozen({});\n this.assetProofInProgress = true;\n const message = {\n proof_as_text: proof_as_text,\n explorer_workspace_uuid: this.workspaceUuid,\n };\n sendToRailsController(message, \"/validate_asset_ownership\")\n .then((response) => {\n console.log(\"response\");\n console.log(response);\n })\n .catch((error) => {\n console.log(error);\n });\n });\n\n // @modelAction\n // maybeCheckForNostr() {\n // const searchResults = this.enhancedAssets;\n // if (searchResults.length > 1) {\n // //console.log(\"more than one asset\");\n // return;\n // }\n // if (searchResults.length == 0) {\n // //console.log(\"no assets\");\n // return;\n // }\n // const asset = searchResults[0];\n // if (!asset.nostr_directive) {\n // //console.log(\"no nostr directive\");\n // return;\n // }\n // console.log(\"checking for nostr\");\n // this.checkforNostr();\n // }\n\n // @modelFlow\n // checkforNostr = _async(function* (this: ExplorerWorkspace) {\n // const publicKey = yield* _await(tryToGetNostrPublicKey());\n // //console.log(\"here is the public key\", publicKey);\n // if (publicKey) {\n // this.nostrPublicKey = publicKey;\n // this.requestLnfiData(publicKey);\n // }\n // });\n\n @modelAction\n setNostrAlsoToStorage(\n publicKey: string | null,\n nostrPlatform: string | null\n ) {\n this.nostrPublicKey = publicKey;\n this.nostrPlatform = nostrPlatform;\n this.nostrRelatedData = frozen({});\n this.nostrRelatedDataHasPopulated = false;\n setNostrDataToLocalStorage(publicKey, nostrPlatform);\n }\n\n @modelFlow\n handleLoginToNostrButton = _async(function* (\n this: ExplorerWorkspace,\n nostrPlatform: string\n ) {\n const publicKey = yield* _await(handleNostrButtonAttempt(nostrPlatform));\n console.log(\"here is the public key\", publicKey);\n if (publicKey) {\n this.setNostrAlsoToStorage(publicKey, nostrPlatform);\n this.requestLnfiData(publicKey);\n }\n });\n\n @computed\n get thisPageRequiresNostrLogic() {\n if (this.isMobile) {\n return false;\n }\n const searchResults = this.enhancedAssets;\n if (searchResults.length > 1) {\n console.log(\"more than one asset\");\n return false;\n }\n if (searchResults.length == 0) {\n console.log(\"no assets\");\n return false;\n }\n const asset = searchResults[0];\n if (!asset.nostr_directive) {\n console.log(\"no nostr directive\");\n return false;\n }\n return true;\n }\n @modelFlow\n requestLnfiData = _async(function* (\n this: ExplorerWorkspace,\n nostr_public_key: string\n ) {\n const message = {\n nostr_public_key: nostr_public_key,\n };\n sendToRailsController(message, \"/nostr/get_lnfi_data\")\n .then((response) => {\n console.log(\"response\");\n if (response.lnfi_data) {\n this.handleNostrRelatedData(response.lnfi_data.data);\n }\n })\n .catch((error) => {\n console.log(error);\n });\n });\n @modelAction\n handleNostrRelatedData(result: any) {\n this.nostrRelatedData = frozen(result);\n this.nostrRelatedDataHasPopulated = true;\n console.log(this.nostrRelatedData.data);\n }\n\n @modelAction\n afterSearchHasPopulated() {\n if (this.nostrPublicKey) {\n console.log('public key is set\"');\n console.log(\n \"value of this page requires nostr logic\",\n this.thisPageRequiresNostrLogic\n );\n if (this.thisPageRequiresNostrLogic) {\n console.log(\"this page requires nostr logic\");\n this.requestLnfiData(this.nostrPublicKey);\n }\n }\n\n //this.maybeCheckForNostr();\n }\n @modelAction\n handleSearchResult(result: any) {\n console.log(\"result\");\n console.log(result);\n if (result.original_query == this.searchBoxValue) {\n this.searchIsLoading = false;\n }\n this.searchResultsFrozen = frozen(result.results);\n this.afterSearchHasPopulated();\n console.log(\"at end of handle search result\");\n }\n\n @modelAction\n searchBasedOnUrl() {\n const currentUrl = window.location.href;\n const urlObj = new URL(currentUrl);\n const searchQuery = urlObj.searchParams.get(\"search\") || null;\n if (searchQuery) {\n this.updateSearch(searchQuery);\n }\n }\n\n @modelAction\n hydrateDataFromPage() {\n const rootDiv = document.getElementById(\"root\");\n const json = JSON.parse(rootDiv.dataset.hydrate);\n // console.log(\"here is the data from the page\", json);\n this.explorerWorkspaceDataFrozen = frozen(json);\n // console.log(\n // \"here is the data from the page\",\n // this.explorerWorkspaceDataFrozen.data\n // );\n\n this.setHasLoaded(true);\n this.searchBasedOnUrl();\n if (isMobileOnly) {\n this.isMobile = true;\n }\n const nostrData = getNostrDataFromLocalStorage();\n console.log(\"nostr from local storage\", nostrData);\n this.nostrPublicKey = nostrData.nostrPublicKey;\n this.nostrPlatform = nostrData.nostrPlatform;\n }\n\n @modelAction\n handleVerifyAndDecodeProof(data: any) {\n this.assetProofStatus = \"\";\n this.assetProofInProgress = false;\n if (data.outcome == \"success\") {\n this.assetProofFrozen = frozen(data.decoded_proof);\n this.assetProofStatus = \"success\";\n }\n if (data.outcome == \"failure\") {\n this.assetProofStatus = \"failure\";\n this.assetProofFrozen = frozen({});\n }\n }\n\n @computed\n get foo() {\n return \"bar\";\n }\n}\n\nexport const runCreateExplorerWorkspace = () => {\n const explorerWorkspace = new ExplorerWorkspace({});\n registerRootStore(explorerWorkspace);\n return explorerWorkspace;\n};\n\nconst createdExplorerWorkspace = runCreateExplorerWorkspace();\n//console.log(\"created workspace\", getSnapshot(createdWorkspace));\nexport const ExplorerWorkspaceContext = createContext(\n createdExplorerWorkspace\n);\n\nexport interface ExplorerWorkspaceInterface {\n ExplorerWorkspace: ExplorerWorkspace;\n}\n","export const sortOriginalsFirst = (data) => {\n // Create a copy of the data array\n const dataCopy = [...data];\n\n // Sort the copy of the array\n return dataCopy.sort((a, b) => {\n // Your sorting logic remains the same\n if (\n !a.duplicate_of_asset_universe_id &&\n !b.duplicate_of_asset_universe_id\n ) {\n return 0;\n } else if (!a.duplicate_of_asset_universe_id) {\n return -1;\n } else if (!b.duplicate_of_asset_universe_id) {\n return 1;\n } else {\n return 0;\n }\n });\n};\n","export const setNostrDataToLocalStorage = (\n nostrPublicKey: string,\n nostrPlatform: string\n) => {\n localStorage.setItem(\"nostrPublicKey\", nostrPublicKey);\n localStorage.setItem(\"nostrPlatform\", nostrPlatform);\n};\n\nexport const getNostrDataFromLocalStorage = () => {\n const nostrPublicKey = localStorage.getItem(\"nostrPublicKey\");\n const nostrPlatform = localStorage.getItem(\"nostrPlatform\");\n\n return {\n nostrPublicKey: nostrPublicKey === \"null\" ? null : nostrPublicKey,\n nostrPlatform: nostrPlatform === \"null\" ? null : nostrPlatform,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"iXNeHezzrWajCtWJMFUF\"};","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Image,\n Tooltip,\n} from \"@mantine/core\";\n\nimport { DataTable } from \"mantine-datatable\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport { ExplorerWorkspace } from \"../stores/ExplorerWorkspace\";\n\nimport classes from \"./ExplorerTable.module.css\";\nimport { IconCoins, IconGift } from \"@tabler/icons-react\";\n\nconst ExplorerTable = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n const searchResults = explorerWorkspace.enhancedAssets;\n useEffect(() => {}, []);\n\n const columns = [\n {\n title: \"Preview\",\n accessor: \"modifiedImageUrlData\",\n width: 100,\n render: ({ modifiedImageUrlData }) => (\n <>\n \n \n \n \n ),\n },\n\n { title: \"Name\", width: 250, accessor: \"truncatedAssetName\" },\n !isMobileOnly && {\n title: \"Supply\",\n width: 70,\n accessor: \"formattedSupply\",\n },\n !isMobileOnly && {\n title: \"Type\",\n width: 60,\n accessor: \"asset_type\",\n render: ({ asset_type }) => (\n <>\n {asset_type == \"NORMAL\" && (\n \n \n \n )}\n\n {asset_type == \"COLLECTIBLE\" && (\n \n \n \n )}\n \n ),\n },\n !isMobileOnly && {\n title: \"Original\",\n accessor: \"isOriginal\",\n width: 80,\n },\n !isMobileOnly && {\n title: \"Genesis\",\n accessor: \"assetGenesisDate\",\n width: 150,\n },\n ].filter(Boolean);\n\n return (\n <>\n {\" \"}\n {\n console.log(recordEvent.record);\n explorerWorkspace.makeANewSearch(\n recordEvent.record.asset_universe_id\n );\n }}\n // rowExpansion={{\n // initiallyExpanded: () => false,\n\n // content: ({ record }) => ,\n // }}\n columns={columns}\n />\n \n );\n }\n);\n\nexport default ExplorerTable;\n","import React from \"react\";\nimport { Textarea } from \"@mantine/core\";\n\nconst CustomTextarea = ({ label, value, maw }) => {\n return (\n e.currentTarget.select()}\n />\n );\n};\n\nexport default CustomTextarea;\n","import React from \"react\";\nimport { Card, Text, Title, Divider } from \"@mantine/core\";\nimport CustomTextarea from \"./CustomTextarea\";\n\nfunction ShowProof({ data }) {\n return (\n
\n \n Ownership Validated\n Amount owned: {data.asset.amount}\n {/* Number of Proofs: {data.number_of_proofs} */}\n\n Is Burn: {data.is_burn ? \"Yes\" : \"No\"}\n\n \n\n
\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n {data.exclusion_proofs.map((proof, index) => (\n \n ))}\n \n
\n
\n
\n );\n}\n\nexport default ShowProof;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect, useState } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Image,\n Tooltip,\n Paper,\n Textarea,\n Title,\n SimpleGrid,\n Anchor,\n Alert,\n Loader,\n Center,\n} from \"@mantine/core\";\nimport _ from \"lodash\";\n\nimport { DataTable } from \"mantine-datatable\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport { ExplorerWorkspace } from \"../stores/ExplorerWorkspace\";\n\nimport {\n IconArrowNarrowLeft,\n IconCalendarEvent,\n IconCoins,\n IconCopy,\n IconGift,\n IconInfoCircle,\n} from \"@tabler/icons-react\";\nimport classes from \"./PowerListStats.module.css\";\nimport ShowProof from \"./partials/ShowProof\";\n\n// {\n// \"id\": 15684,\n// \"asset_id\": 223,\n// \"asset_metadatum_id\": 21428,\n// \"asset_universe_id\": \"5eb3e9332e8b0d12d4831e26dd9c6553c2467b9a6927e7006953b33987ddcf1e\",\n// \"known_text\": \"The first asset created by Megalithic.me\",\n// \"generated_image_keyword_text\": null,\n// \"generated_text_keyword_text\": \"Megalith, Genesis, Coin\",\n// \"asset_name\": \"MegalithGenesisCoin\",\n// \"image_uri\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAAC/\",\n// \"created_at\": \"2024-05-10T04:00:07.295Z\",\n// \"updated_at\": \"2024-05-12T03:25:15.601Z\",\n// \"editorial_status\": \"editorial_approved\",\n// \"asset_genesis_date\": \"2024-04-22T16:52:27.000Z\",\n// \"computed_text_for_search\": \"The first asset created by Megalithic.me Megalith, Genesis, Coin\",\n// \"tsvector_searchable\": \"'asset':4B 'coin':10B 'creat':5B 'first':3B 'genesi':9B 'megalith':8B 'megalithgenesiscoin':1A 'megalithic.me':7B\",\n// \"asset_type\": \"NORMAL\",\n// \"asset_genesis_height\": 840366,\n// \"asset_genesis_point\": \"77f867378b1879b7cb4d0b272ab95a66c9b0f76e03fcf31e5269f9beba0344b6:1\",\n// \"asset_anchor_point\": \"8e4186ad5a269deff62c5c46f49e5233bcbc6e2deb5bde5f7744659c9931b2f2:0\",\n// \"asset_total_supply\": 100,\n// \"group_key\": \"028ca92f8044d1eecdccd373ec358c4c282eefca0d9258793fea7086c45ad8537b\"\n// }\n\nconst ExplorerValidateAsset = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n const searchResults = explorerWorkspace.enhancedAssets;\n useEffect(() => {}, []);\n const asset = searchResults[0];\n const [value, setValue] = useState(\"\");\n const [scriptKeyValue, setScriptKeyValue] = useState(\"\");\n const allowValidationClick = value.length > 100;\n // const cliCommandOne =\n // `tapcli assets list | jq -r --arg asset_id ` +\n // asset.asset_universe_id +\n // ` '.assets[] | select(.asset_genesis.asset_id == $asset_id) | .script_key'`;\n // const cliCommandTwo =\n // `tapcli proofs proveownership --asset_id ` +\n // asset.asset_universe_id +\n // ` --script_key ` +\n // scriptKeyValue +\n // ` -`;\n const cliCommandCombined =\n `tapcli --network mainnet proofs proveownership --asset_id ` +\n asset.asset_universe_id +\n ` --script_key $(tapcli --network mainnet assets list | jq -r --arg asset_id ` +\n asset.asset_universe_id +\n ` '.assets[] | select(.asset_genesis.asset_id == $asset_id) | .script_key')`;\n\n return (\n <>\n \n Validate Ownership Of This Asset \n \n To validate ownership of this asset, please follow these steps.\n \n\n e.currentTarget.select()}\n />\n setValue(event.currentTarget.value)}\n />\n\n {/* e.currentTarget.select()}\n />\n setScriptKeyValue(event.currentTarget.value)}\n />\n\n {scriptKeyValue.length > 0 && (\n <>\n e.currentTarget.select()}\n />\n setValue(event.currentTarget.value)}\n />\n \n )} */}\n\n {\n explorerWorkspace.requestAssetValidation(value);\n }}\n disabled={!allowValidationClick}\n >\n Validate Now\n \n {explorerWorkspace.assetProofInProgress && (\n <>\n
\n \n
\n \n )}\n\n {explorerWorkspace.assetProofStatus == \"success\" &&\n asset.asset_universe_id ==\n explorerWorkspace.assetProofFrozen.data.asset.asset_genesis\n .asset_id && (\n <>\n \n \n )}\n {explorerWorkspace.assetProofStatus == \"success\" &&\n asset.asset_universe_id !==\n explorerWorkspace.assetProofFrozen.data.asset.asset_genesis\n .asset_id && (\n <>\n }\n >\n This is a valid proof, but for the wrong asset id. This proof\n is for asset id:{\" \"}\n {\n explorerWorkspace.assetProofFrozen.data.asset.asset_genesis\n .asset_id\n }\n \n \n )}\n {explorerWorkspace.assetProofStatus == \"failure\" && (\n <>\n }\n >\n Please be sure you correctly copied the proof_with_witness value\n from the CLI output.\n \n \n )}\n
\n \n );\n }\n);\n\nexport default ExplorerValidateAsset;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useLayoutEffect, useState } from \"react\";\nimport {\n Box,\n Button,\n CopyButton,\n Group,\n Stack,\n Text,\n rem,\n Image,\n Tooltip,\n Paper,\n Textarea,\n Title,\n SimpleGrid,\n Anchor,\n Blockquote,\n} from \"@mantine/core\";\nimport _ from \"lodash\";\n\nimport { DataTable } from \"mantine-datatable\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport { ExplorerWorkspace } from \"../../stores/ExplorerWorkspace\";\n\nconst LnFi = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n const searchResults = explorerWorkspace.enhancedAssets;\n useEffect(() => {}, []);\n const asset = searchResults[0];\n console.log(\"this asset uses nostr\");\n\n const computeBalanceToShow = () => {\n if (!explorerWorkspace.nostrRelatedDataHasPopulated) {\n return null;\n }\n if (\n !explorerWorkspace.nostrRelatedData.data.hasOwnProperty(\n asset.asset_name\n )\n ) {\n return null;\n }\n if (\n !explorerWorkspace.nostrRelatedData.data[asset.asset_name].balanceShow\n ) {\n return null;\n }\n\n return explorerWorkspace.nostrRelatedData.data[asset.asset_name]\n .balanceShow;\n };\n return (\n <>\n {computeBalanceToShow() && (\n <>\n \n You hold {computeBalanceToShow()} {asset.asset_name}\n \n \n )}\n \n );\n }\n);\n\nexport default LnFi;\n","import { observer } from \"mobx-react\";\nimport React, { useState } from \"react\";\nimport { Button, Stack, Modal, Menu, rem } from \"@mantine/core\";\nimport { IconCopy, IconLogout, IconCaretDown } from \"@tabler/icons-react\";\nimport _ from \"lodash\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport { ExplorerWorkspace } from \"../../stores/ExplorerWorkspace\";\nimport { NOSTR_PLATFORM_NAMES } from \"../../helpers/nostr\";\n\nconst NostrLoginButton = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n const [modalOpened, setModalOpened] = useState(false);\n\n const handleLogin = () => {\n setModalOpened(true);\n };\n\n const handleLogout = () => {\n explorerWorkspace.setNostrAlsoToStorage(null, null);\n //window.location.reload();\n };\n\n const closeModal = () => {\n setModalOpened(false);\n };\n\n const truncatedKey = (key) => {\n return `${key.slice(0, 8)}...${key.slice(-8)}`;\n };\n\n return (\n
\n {explorerWorkspace.nostrPublicKey === null ? (\n \n }\n onClick={handleLogin}\n >\n Login with Nostr\n \n ) : (\n \n \n }\n >\n {truncatedKey(explorerWorkspace.nostrPublicKey)}\n \n \n \n }\n onClick={() =>\n navigator.clipboard.writeText(\n explorerWorkspace.nostrPublicKey\n )\n }\n >\n copy nostr address\n \n } onClick={handleLogout}>\n disconnect nostr\n \n \n \n )}\n\n \n \n \n }\n onClick={() => {\n explorerWorkspace.handleLoginToNostrButton(\n NOSTR_PLATFORM_NAMES.OKX\n );\n closeModal();\n }}\n >\n OKX Wallet\n \n \n }\n onClick={() => {\n explorerWorkspace.handleLoginToNostrButton(\n NOSTR_PLATFORM_NAMES.TOKENPOCKET\n );\n closeModal();\n }}\n >\n TokenPocket\n \n \n }\n onClick={() => {\n explorerWorkspace.handleLoginToNostrButton(\n NOSTR_PLATFORM_NAMES.ONEKEY\n );\n closeModal();\n }}\n >\n OneKey\n \n\n \n }\n onClick={() => {\n explorerWorkspace.handleLoginToNostrButton(\n NOSTR_PLATFORM_NAMES.ALBY\n );\n closeModal();\n }}\n >\n Alby\n \n \n }\n onClick={() => {\n explorerWorkspace.handleLoginToNostrButton(\n NOSTR_PLATFORM_NAMES.GENERIC\n );\n closeModal();\n }}\n >\n Any Nostr Extension\n \n \n \n
\n );\n }\n);\n\nexport default NostrLoginButton;\n","import React from \"react\";\nimport { Textarea, Text, Anchor, Group } from \"@mantine/core\";\nimport _ from \"lodash\";\nimport { ExplorerWorkspace } from \"../stores/ExplorerWorkspace\";\n\nconst AssetDetails = ({\n asset,\n explorerWorkspace,\n}: {\n asset: any;\n explorerWorkspace: ExplorerWorkspace;\n}) => {\n return (\n <>\n e.currentTarget.select()}\n />\n e.currentTarget.select()}\n />\n e.currentTarget.select()}\n />\n\n {asset.group_key && (\n e.currentTarget.select()}\n />\n )}\n e.currentTarget.select()}\n />\n\n e.currentTarget.select()}\n />\n\n e.currentTarget.select()}\n />\n {asset.known_text && (\n e.currentTarget.select()}\n />\n )}\n {asset.duplicate_of_asset_universe_id && (\n \n duplicate of{\" \"}\n \n explorerWorkspace.updateSearch(\n asset.duplicate_of_asset_universe_id\n )\n }\n >\n {_.truncate(asset.duplicate_of_asset_universe_id, {\n length: 8,\n omission: \"\",\n })}\n \n \n )}\n \n );\n};\n\nexport default AssetDetails;\n","import React, { useEffect, useState, lazy, Suspense } from \"react\";\nimport {\n Box,\n Button,\n Stack,\n Paper,\n Group,\n Title,\n SimpleGrid,\n Text,\n Loader, // Import a loader component for fallback\n} from \"@mantine/core\";\nimport { observer } from \"mobx-react\";\nimport {\n IconArrowNarrowLeft,\n IconCopy,\n IconChecklist,\n IconCalendarEvent,\n IconCoins,\n IconGift,\n} from \"@tabler/icons-react\";\nimport { CopyButton } from \"@mantine/core\";\nimport { ExplorerWorkspace } from \"../stores/ExplorerWorkspace\";\nimport ExplorerValidateAsset from \"./ExplorerValidateAsset\";\nimport LnFi from \"./one_asset/LnFi\";\nimport NostrLoginButton from \"./partials/NostrLoginButton\";\nimport AssetDetails from \"./AssetDetails\"; // Import the new component\nimport classes from \"./PowerListStats.module.css\";\n\nconst ExplorerBlocks = lazy(() => import(\"./ExplorerBlocks\"));\n\nconst ExplorerOneAsset = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n const searchResults = explorerWorkspace.enhancedAssets;\n useEffect(() => {}, []);\n const asset = searchResults[0];\n\n const [\n shouldShowExplorerValidateAsset,\n setShouldShowExplorerValidateAsset,\n ] = useState(false);\n\n return (\n <>\n \n {explorerWorkspace.previousSearch && (\n \n }\n onClick={() => explorerWorkspace.restorePreviousSearch()}\n >\n back\n \n \n )}\n \n \n {explorerWorkspace.thisPageRequiresNostrLogic && (\n \n )}\n {asset.asset_name}\n \n \n \n {asset.nostr_directive && (\n \n )}\n {\" \"}\n {/* Use the new component */}\n \n \n {({ copied, copy }) => (\n }\n color={copied ? \"teal\" : \"cyan\"}\n onClick={copy}\n >\n {copied ? \"Copied!\" : \"Copy link\"}\n \n )}\n \n\n }\n onClick={() => {\n setShouldShowExplorerValidateAsset(\n !shouldShowExplorerValidateAsset\n );\n }}\n >\n Validate My Ownership\n \n \n {shouldShowExplorerValidateAsset && (\n \n )}\n \n \n\n \n \n \n \n Genesis Date\n \n \n \n\n \n {asset.assetGenesisDate}\n \n \n {asset.assetGenesisTime} (UTC)\n \n \n \n \n \n Asset Type\n \n {asset.asset_type === \"COLLECTIBLE\" && (\n \n )}\n {asset.asset_type === \"NORMAL\" && (\n \n )}\n \n\n \n \n {asset.asset_type}\n \n \n \n \n\n {/* }>\n {asset.genesis_context && asset.genesis_context.length > 0 && (\n \n )}\n */}\n \n \n );\n }\n);\n\nexport default ExplorerOneAsset;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useMemo, useRef } from \"react\";\nimport {\n ExplorerWorkspace,\n ExplorerWorkspaceContext,\n} from \"./stores/ExplorerWorkspace\";\n\nimport {\n Center,\n Code,\n Stack,\n Title,\n Text,\n List,\n Anchor,\n Paper,\n TextInput,\n Loader,\n CloseButton,\n} from \"@mantine/core\";\n\nconst SampleSearches = observer(\n ({ explorerWorkspace }: { explorerWorkspace: ExplorerWorkspace }) => {\n useEffect(() => {}, []);\n return (\n <>\n \n {/* searches.. */}\n demo searches...\n \n asset id:{\" \"}\n \n explorerWorkspace.updateSearch(\n \"f22e93e868a4e24a41935ed52a12301c5bc314d54294d3e618b73b566b55ec93\"\n )\n }\n >\n f22e93\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"af7b850be041d02eba1131ce752ab458e97b15774abd2260170ed055fd3bcf8a\"\n )\n }\n >\n af7b850\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"c5a2ce06b0c8a72142de4df3879825d608491095894663a51e886a01d08921b7\"\n )\n }\n >\n c5a2ce\n \n \n \n text:{\" \"}\n explorerWorkspace.updateSearch(\"btc\")}>\n btc\n \n ,{\" \"}\n explorerWorkspace.updateSearch(\"goose\")}>\n goose\n \n ,{\" \"}\n explorerWorkspace.updateSearch(\"japanese\")}>\n japanese\n \n ,{\" \"}\n explorerWorkspace.updateSearch(\"funny\")}>\n funny\n \n \n \n genesis point:{\" \"}\n \n explorerWorkspace.updateSearch(\n \"877aeb21bc368b2f4dd64c32847924c5da618920e36b0b6fb9ad8af737beb98b:0\"\n )\n }\n >\n 877aeb\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"40e549bbab1072ea0a262ce002763383846e8797994b707f5690f83106e70e36:1\"\n )\n }\n >\n 40e549\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"77f867378b1879b7cb4d0b272ab95a66c9b0f76e03fcf31e5269f9beba0344b6:1\"\n )\n }\n >\n 77f867\n \n \n \n anchor point:{\" \"}\n \n explorerWorkspace.updateSearch(\n \"b8ef8e9030445fac119944190bf2f7a3026c9a12090fe8e422227577707d9ae1:0\"\n )\n }\n >\n b8ef8e90\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"c0d955f96ca9936de1c81cad8ac1ac260d799bbd96c916a6648be5768a53a34a:0\"\n )\n }\n >\n c0d955f\n \n ,{\" \"}\n \n explorerWorkspace.updateSearch(\n \"41b128c7c1c1afc8781a9dab1e7120c2f01c6c0a88e391f6e1d2ad0d9b50db23:0\"\n )\n }\n >\n 41b128\n \n \n \n \n );\n }\n);\n\nexport default SampleSearches;\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useMemo, useRef } from \"react\";\nimport {\n ExplorerWorkspace,\n ExplorerWorkspaceContext,\n} from \"./stores/ExplorerWorkspace\";\n\nimport { startExplorerActionCable } from \"./helpers/actioncable\";\nimport {\n Center,\n Code,\n Stack,\n Title,\n Text,\n List,\n Anchor,\n Paper,\n TextInput,\n Loader,\n CloseButton,\n Divider,\n} from \"@mantine/core\";\nimport AssetTable from \"./components/AssetTable\";\nimport ExplorerTable from \"./components/ExplorerTable\";\nimport ExplorerOneAsset from \"./components/ExplorerOneAsset\";\nimport AssetStats from \"./components/AssetStats\";\nimport SampleSearches from \"./components/partials/SampleSearches\";\nimport KnownUniverses from \"./components/partials/KnownUniverses\";\n\nconst ExplorerWorkspaceContainer: React.FC = observer(() => {\n const explorerWorkspace = useContext(\n ExplorerWorkspaceContext\n );\n\n useEffect(() => {\n //console.log(\"starting power list containers\");\n explorerWorkspace.hydrateDataFromPage();\n //console.log(explorerWorkspace.explorerWorkspaceDataFrozen.data);\n console.log(\n \"explorer workspace exists with\",\n explorerWorkspace.workspaceUuid\n );\n startExplorerActionCable(explorerWorkspace);\n }, []);\n console.log(\"value of search is loading\", explorerWorkspace.searchIsLoading);\n\n return (\n <>\n {explorerWorkspace.hasLoaded && (\n <>\n
\n The Taproot Assets Explorer\n
\n \n \n explorerWorkspace.updateSearch(event.currentTarget.value)\n }\n rightSection={\n explorerWorkspace.searchIsLoading ? (\n \n ) : (\n explorerWorkspace.shouldShowXButton && (\n explorerWorkspace.clearSearch()}\n />\n )\n )\n }\n />\n \n \n {!explorerWorkspace.searchIsLoading && (\n <>\n {explorerWorkspace.searchResultsFrozen.data.length == 0 && (\n \n )}\n\n {explorerWorkspace.searchResultsFrozen.data.length > 1 && (\n \n )}\n {explorerWorkspace.searchResultsFrozen.data.length == 1 && (\n <>\n \n \n )}\n \n )}\n {explorerWorkspace.searchIsLoading && (\n
\n \n
\n )}\n
\n {!explorerWorkspace.searchIsLoading &&\n explorerWorkspace.searchResultsFrozen.data.length !== 1 && (\n <>\n \n \n
\n data from known universes \n
\n \n
\n known universes \n
\n \n \n Are you running a universe server? Please{\" \"}\n contact us so we can list\n it.\n \n
\n
\n \n )}\n \n )}\n \n );\n});\n\nexport default ExplorerWorkspaceContainer;\n","import { createConsumer } from \"@rails/actioncable\";\nimport { ExplorerWorkspace } from \"../stores/ExplorerWorkspace\";\n\ndeclare global {\n interface Window {\n ExplorerChannelSubscription: any;\n }\n}\n\nexport const startExplorerActionCable = (\n explorerWorkspace: ExplorerWorkspace\n) => {\n const consumer = createConsumer();\n //console.log(consumer);\n console.log(\"--in start action cable---\");\n // console.log(\"workspace.channelIndex\", workspace.channelIndex);\n window.ExplorerChannelSubscription = consumer.subscriptions.create(\n {\n channel: \"ExplorerChannel\",\n workspaceUuid: explorerWorkspace.workspaceUuid,\n },\n\n {\n connected() {\n console.log(\"a cable connect\");\n },\n\n disconnected() {\n // Called when the subscription has been terminated by the server\n },\n received(data) {\n console.log(\"data received from rails\", data);\n console.log(data);\n if (data.message == \"verify-and-decode-proof\") {\n explorerWorkspace.handleVerifyAndDecodeProof(data);\n }\n\n // if (data.message == \"question-failed\") {\n // workspace.handleQuestionFailure();\n // }\n },\n }\n );\n};\n","import { observer } from \"mobx-react\";\nimport React, { useContext, useEffect, useMemo, useRef } from \"react\";\n\nimport { createTheme, MantineProvider, Container } from \"@mantine/core\";\n\nimport PowerListContainer from \"./PowerListContainer\";\nimport MegalithContainer from \"./MegalithContainer\";\n\nimport { HeaderSimple } from \"./components/Header\";\nimport { FooterSimple } from \"./components/Footer\";\n\nimport ContactContainer from \"./components/ContactContainer\";\nimport PrivacyAndTermsContainer from \"./components/PrivacyAndTermsContainer\";\nimport AssetsWorkspaceContainer from \"./AssetsWorkspaceContainer\";\nimport ExplorerWorkspaceContainer from \"./ExplorerWorkspaceContainer\";\nimport { Notifications } from \"@mantine/notifications\";\nconst theme = createTheme({\n /** Put your mantine theme override here */\n});\n\nconst AppContainer: React.FC = observer(() => {\n // const descriptionRef = useRef(null);\n // const scrollToBottom = () => {\n // if (descriptionRef.current) {\n // const scrollableElement = descriptionRef.current;\n // scrollableElement.scrollTop = scrollableElement.scrollHeight;\n // }\n // };\n\n useEffect(() => {}, []);\n console.log(window.location.pathname);\n return (\n \n \n \n \n\n {window.location.pathname === \"/power_list\" && }\n {window.location.pathname === \"/\" && }\n {window.location.pathname === \"/contact\" && }\n {window.location.pathname === \"/privacy_and_terms\" && (\n \n )}\n {window.location.pathname === \"/taproot_assets\" && (\n \n )}\n {window.location.pathname === \"/taproot_assets_explorer\" && (\n \n )}\n\n \n \n \n );\n});\n\nexport default AppContainer;\n","import \"@mantine/core/styles.layer.css\";\nimport \"mantine-datatable/styles.layer.css\";\nimport \"@mantine/notifications/styles.layer.css\";\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport AppContainer from \"./AppContainer\";\nimport * as Sentry from \"@sentry/react\";\n\nexport const startProject = () => {\n // const point: Point = { x: 1, y: 2 };\n\n // logPoint(point);\n console.log(\"is js heavy\");\n};\n\nif (window.location.hostname === \"megalithic.me\") {\n Sentry.init({\n dsn: \"https://d8a13bdbc7167f96e23511c4bc091121@o127869.ingest.us.sentry.io/4507302560792576\",\n integrations: [\n Sentry.browserTracingIntegration(),\n Sentry.replayIntegration(),\n ],\n // Performance Monitoring\n tracesSampleRate: 0.0, // Capture 100% of the transactions\n // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled\n tracePropagationTargets: [\"localhost\", /^https:\\/\\/yourserver\\.io\\/api/],\n // Session Replay\n replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n });\n\n // Send a test error to Sentry after page load\n // window.addEventListener(\"load\", () => {\n // Sentry.captureException(new Error(\"This is a test error sent to Sentry.\"));\n // });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const container = document.getElementById(\"root\");\n const root = createRoot(container);\n root.render();\n});\n","import { timeFormat } from \"d3-time-format\";\n\n// Arrow function to convert Unix timestamp to a nicely formatted local time string\nexport const formatUnixTimestamp = (unixTimestamp) => {\n // Convert Unix timestamp to milliseconds, create a Date object, and format it\n /// %I:%M:%S\n return timeFormat(\"%B %d, %Y\")(new Date(unixTimestamp * 1000));\n};\n\nexport const formatUnixTimeStampWithTime = (unixTimestamp) => {\n const utcDate = new Date(unixTimestamp * 1000).toISOString();\n return timeFormat(\"%B %d, %Y %I:%M:%S %p\")(new Date(utcDate));\n};\n"],"names":["PowerList","model","_dec","_applyDecoratedDescriptor","_class2","Model","id","idProp","hasLoaded","prop","powerListDataFrozen","setHasLoaded","this","hydrateDataFromPage","rootDiv","document","getElementById","json","JSON","parse","dataset","hydrate","frozen","prototype","modelAction","Object","getOwnPropertyDescriptor","_class","createdPowerList","runCreatePowerList","powerList","registerRootStore","PowerListContext","createContext","makeIcon","name","React","IconExchange","style","width","rem","height","IconDice5","IconStatusChange","IconRouteAltLeft","IconWallet","IconBuildingSkyscraper","IconCpu","IconCoinBitcoin","makeColor","KindTags","tags","Group","map","index","Chip","icon","key","color","variant","size","radius","checked","isMobileOnly","makeDisplayName","flagMap","VG","labelText","Component","VGFlag","FR","FRFlag","SV","SVFlag","US","USFlag","BV","BVFlag","IL","ILFlag","CA","CAFlag","SC","SCFlag","CW","CWFlag","DE","DEFlag","SG","SGFlag","NL","NLFlag","SE","SEFlag","VN","VNFlag","JP","JPFlag","LT","LTFlag","AU","AUFlag","CZ","CZFlag","FI","FIFlag","AE","AEFlag","Flag","countryCode","Tooltip","label","Box","w","formatPriceForMillions","price","format","toLowerCase","formatBitcoinPrice","btcValue","btcInDollars","dollarAmount","numeral","replace","convertSatoshisToUsd","sats","dateTimeToTimeAgo","dateTime","formatDistanceToNow","Date","addSuffix","formatNumberWithCommas","num","toString","formatSupply","supply","SquireSize","numBtc","makeLinkFromSquireName","base_url","sanitizeSquireName","SquireBtcSize","btcAmount","observer","useEffect","timeout","setTimeout","navigatedName","selector","element","querySelector","elementRect","getBoundingClientRect","relativeElementTop","top","window","pageYOffset","scrollBy","left","behavior","scrollToTopOfPage","clearTimeout","currentUrl","location","href","URL","searchParams","get","columns","accessor","title","render","Country","Size","data","single_setting","btc_usd_price","Channels","Tags","filter","Boolean","DataTable","withTableBorder","borderRadius","withColumnBorders","className","classes","table","striped","highlightOnHover","idAccessor","customRowAttributes","Name","records","squires","rowExpansion","initiallyExpanded","record","content","Stack","details","p","gap","Markdown","Description","Button","component","Link","target","CopyButton","value","copied","copy","leftSection","IconCopy","onClick","SimpleGrid","cols","base","xs","md","Paper","withBorder","justify","Text","c","IconCoin","stroke","align","mt","usdAmount","fz","total_btc_size_of_network","IconBolt","total_btc_size_of_power_list","total_num_channels_of_network","edges_made_in_last_24_hours","IconCircuitChangeover","total_num_channels_of_power_list","power_list_edges_made_in_last_24_hours","IconClockHour10","last_update","useContext","Center","Title","order","verticalAlign","marginBottom","PowerListTable","PowerListStats","Divider","spacing","sort","a","b","localeCompare","item","Anchor","span","Megalith","megalithDataFrozen","createdMegalith","runCreateMegalith","megalith","MegalithContext","MEGALITH_NODE_ADDRESS","NO_IMAGE_DATA_URL","createTheme","showQRCode","setShowQRCode","useState","console","log","Image","mb","h","fit","src","marginRight","List","Item","makeDollarAmount","btcSize","megalith_node_info","size_btc","btcRate","makeBitcoinAmount","channels","Textarea","maw","readOnly","onFocus","e","currentTarget","select","IconQrcode","ml","m","QRCode","LogoAnchor","showImage","textDecoration","display","alignItems","alt","links","link","HeaderSimple","drawerOpened","toggle","toggleDrawer","close","closeDrawer","useDisclosure","active","setActive","pathname","items","undefined","event","preventDefault","handleItemClick","Container","visibleFrom","Burger","opened","hiddenFrom","Drawer","onClose","padding","zIndex","FooterSimple","ContactContainer","IconBrandTelegram","TextInput","PrivacyAndTermsContainer","fw","AssetWorkspace","assetsWorkspaceDataFrozen","enhancedOffers","baseOffers","offers","_","offer","offerPriceInSatoshis","single_setting_data","formattedSupply","action","isBuyOrSell","modifiedImageUrlData","imageUrlData","note","editorialDescription","computed","createdAssetWorkspace","runCreateAssetWorkspace","assetWorkspace","AssetWorkspaceContext","AssetTransaction","asset","showContent","setShowContent","transactionMessage","message","assetId","offerQuantity","toLocaleString","handleButtonClick","ctaTransactionMessage","howToTransactHeadline","autosize","minRows","maxRows","AssetDetail","pr","assetName","overflow","justifyContent","minHeight","maxHeight","formatUnixTimestamp","genesisTimestamp","genesisTransaction","length","assetTextData","buttonColor","assetData","total_assets","IconDatabase","kb","universe_data_file_size","parseFloat","toFixed","most_recently_discovered_asset","IconGift","num_collectible_assets","IconCoins","num_normal_assets","num_assets_in_gif","num_assets_in_png","num_assets_in_svg","num_assets_in_heic","num_assets_in_webp","num_assets_in_jpeg","num_assets_in_json","num_assets_with_valid_text_data","IconFileUnknown","num_assets_with_unknown_data_format","KnownUniverses","Code","block","pt","AssetTable","AssetStats","single_setting_assets_data","sendToRailsController","async","url","csrfToken","getAttribute","fetch","method","headers","body","stringify","err","error","addEventListener","reload","NOSTR_PLATFORM_NAMES","handleOkXWallet","publicKey","instanceOfNostrFunction","getPublicKey","npubKey","nip19","npubEncode","notifications","show","handleOneKeyWallet","handleTokenPocketWallet","handleAlbyWallet","handleGenericWallet","ExplorerWorkspace","isMobile","explorerWorkspaceDataFrozen","searchResultsFrozen","searchBoxValue","searchIsLoading","previousSearch","workspaceUuid","uuidv4","assetProofFrozen","assetProofStatus","assetProofInProgress","nostrPublicKey","nostrPlatform","nostrRelatedData","nostrRelatedDataHasPopulated","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","linkToCurrentSearch","environment_details","domain","shouldShowXButton","clearSearch","clearSearchResults","restorePreviousSearch","updateSearch","makeANewSearch","asset_universe_id","newValue","submitSearch","newSearchValue","params","set","history","pushState","search","updateSearchQueryParam","enhancedAssets","duplicate_of_asset_universe_id","dateObject","asset_genesis_date","formattedDate","toLocaleDateString","timeZone","year","month","day","formattedTime","toLocaleTimeString","hour","minute","second","image_uri","asset_total_supply","assetGenesisDate","assetGenesisTime","truncatedAssetName","asset_name","isOriginal","setNostrAlsoToStorage","setNostrDataToLocalStorage","localStorage","setItem","thisPageRequiresNostrLogic","searchResults","nostr_directive","handleNostrRelatedData","result","afterSearchHasPopulated","requestLnfiData","handleSearchResult","original_query","results","searchBasedOnUrl","searchQuery","nostrData","getNostrDataFromLocalStorage","getItem","handleVerifyAndDecodeProof","outcome","decoded_proof","foo","modelFlow","configurable","enumerable","writable","initializer","_async","query","then","response","catch","proof_as_text","explorer_workspace_uuid","_await","alby","nostr","okxwallet","$onekey","tokenpocket","handleNostrButtonAttempt","nostr_public_key","lnfi_data","createdExplorerWorkspace","runCreateExplorerWorkspace","explorerWorkspace","ExplorerWorkspaceContext","asset_type","onRowClick","recordEvent","CustomTextarea","margin","maxWidth","Card","shadow","amount","is_burn","my","asset_genesis","asset_id","genesis_point","meta_hash","output_index","version","lock_time","relative_lock_time","script_version","script_key","script_key_is_local","asset_group","tweaked_group_key","asset_witness","chain_anchor","anchor_tx","anchor_block_hash","anchor_outpoint","internal_key","merkle_root","tx_merkle_proof","inclusion_proof","exclusion_proofs","proof","split_root_proof","setValue","scriptKeyValue","setScriptKeyValue","allowValidationClick","cliCommandCombined","placeholder","onChange","requestAssetValidation","disabled","Loader","ShowProof","Alert","IconInfoCircle","computeBalanceToShow","hasOwnProperty","balanceShow","Blockquote","cite","modalOpened","setModalOpened","closeModal","handleLogin","Menu","Target","rightSection","IconCaretDown","slice","Dropdown","navigator","clipboard","writeText","IconLogout","handleLogout","Modal","handleLoginToNostrButton","AssetDetails","asset_genesis_point","asset_anchor_point","group_key","asset_genesis_height","known_text","omission","shouldShowExplorerValidateAsset","setShouldShowExplorerValidateAsset","IconArrowNarrowLeft","NostrLoginButton","LnFi","IconChecklist","ExplorerValidateAsset","IconCalendarEvent","consumer","createConsumer","ExplorerChannelSubscription","subscriptions","create","channel","connected","disconnected","received","startExplorerActionCable","CloseButton","SampleSearches","ExplorerTable","ExplorerOneAsset","MantineProvider","defaultColorScheme","theme","fontFamily","fontFamilyMonospace","Notifications","position","PowerListContainer","MegalithContainer","AssetsWorkspaceContainer","ExplorerWorkspaceContainer","hostname","Sentry","dsn","integrations","tracesSampleRate","tracePropagationTargets","replaysSessionSampleRate","replaysOnErrorSampleRate","container","createRoot","AppContainer","unixTimestamp","timeFormat","formatUnixTimeStampWithTime","utcDate","toISOString"],"sourceRoot":""}