@xyo-network/react-chain-network 1.5.29 → 1.5.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser/index.mjs
CHANGED
|
@@ -319,7 +319,7 @@ import { assertEx } from "@xylabs/assert";
|
|
|
319
319
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
320
320
|
import { initBridge } from "@xyo-network/chain-orchestration";
|
|
321
321
|
import { findMostRecentBlock, hydrateBlock } from "@xyo-network/chain-protocol";
|
|
322
|
-
import {
|
|
322
|
+
import { ChainBlockNumberIterationService } from "@xyo-network/chain-services";
|
|
323
323
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
324
324
|
var FINALIZED_ARCHIVIST = "XYOChain:Chain:Finalized";
|
|
325
325
|
var NetworkProvider = class _NetworkProvider {
|
|
@@ -393,7 +393,7 @@ var NetworkProvider = class _NetworkProvider {
|
|
|
393
393
|
const head = assertEx(await findMostRecentBlock(chainArchivist, {
|
|
394
394
|
cursor: startingBlock
|
|
395
395
|
}), () => "Unable to find most recent block");
|
|
396
|
-
const iterator = await
|
|
396
|
+
const iterator = await ChainBlockNumberIterationService.create({
|
|
397
397
|
chainArchivist,
|
|
398
398
|
head
|
|
399
399
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/menu/Avatar.tsx","../../src/context/network/context.ts","../../src/context/network/Provider.tsx","../../src/helpers/getNetworkNodes.ts","../../src/helpers/getNetworkNode.ts","../../src/helpers/manifest/network.json","../../src/helpers/manifest/networkManifest.ts","../../src/helpers/initNetworkNode.ts","../../src/images/icons/local/index.tsx","../../src/images/icons/mainnet/index.tsx","../../src/images/icons/sequence/index.tsx","../../src/models/Bootstrap.ts","../../src/helpers/Networks.ts","../../src/context/network/use.ts","../../src/components/menu/Icon.tsx","../../src/components/menu/MenuItem.tsx","../../src/components/status/Alert.tsx","../../src/components/status/Dialog.tsx","../../src/provider/NetworkProvider.ts"],"sourcesContent":["import type { AvatarProps } from '@mui/material'\nimport { Avatar } from '@mui/material'\nimport React from 'react'\n\nimport { useChainNetwork } from '../../context/index.ts'\nimport { NetworkIcon } from './Icon.tsx'\n\nexport const NetworkAvatar: React.FC<AvatarProps & { icon?: string; name?: string }> = ({\n icon, name, ...props\n}) => {\n return (\n <Avatar\n sx={{\n backgroundColor: 'white', height: 30, width: 30,\n }}\n alt={name}\n {...props}\n >\n <NetworkIcon icon={icon} />\n </Avatar>\n )\n}\n\nexport const ActiveNetworkAvatar: React.FC<AvatarProps> = (props) => {\n const { activeNetwork } = useChainNetwork()\n\n return (\n <NetworkAvatar\n icon={activeNetwork?.icon}\n name={activeNetwork?.name}\n {...props}\n />\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ChainNetworkState } from './state.ts'\n\nexport const ChainNetworkContext = createContextEx<ChainNetworkState>()\n","import { ErrorRender } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport { SequenceNetwork } from '../../helpers/index.ts'\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { ChainNetworkContext } from './context.ts'\nimport type { ChainNetworkState } from './state.ts'\n\nexport interface ChainNetworkProviderProps extends PropsWithChildren {\n getActiveNetwork?: () => Promise<NetworkBootstrap | undefined>\n networks?: NetworkBootstrap[]\n setActiveNetwork?: (networkId: NetworkBootstrap['id']) => Promise<NetworkBootstrap>\n}\n\nexport const ChainNetworkProvider: React.FC<ChainNetworkProviderProps> = ({\n children, getActiveNetwork, networks, setActiveNetwork: setActiveNetworkExternal,\n}) => {\n const [activeNetwork, setActiveNetwork] = useState<NetworkBootstrap>()\n const [error, setError] = useState<Error>()\n\n // Set the active network upon initialization\n const [resolvedActiveNetwork, activeNetworkError] = usePromise(async () => {\n // ensure networks are loaded\n if (!networks) return\n // get last saved active network\n const activeNetwork = await getActiveNetwork?.()\n // ensure the active network saved is found in the list of networks\n if (activeNetwork && networks?.find(network => network.id === activeNetwork.id)) {\n // Set the active network if it exists\n return activeNetwork\n } else {\n // Set the default network if no active network exists\n const defaultNetwork = networks.find(network => network.id === SequenceNetwork.id) ?? networks[1]\n await setActiveNetworkExternal?.(defaultNetwork.id)\n\n // Set the active network in the context\n return defaultNetwork\n }\n }, [networks])\n\n useMemo(() => {\n if (resolvedActiveNetwork) {\n setActiveNetwork(resolvedActiveNetwork)\n }\n }, [resolvedActiveNetwork])\n\n const updateActiveNetwork = useCallback((networkId: NetworkBootstrap['id']) => {\n setError(undefined)\n const network = networks?.find(network => network.id === networkId)\n if (!network) {\n setError(new Error(`Network with id ${networkId} not found`))\n return\n }\n // set internally\n setActiveNetwork(network)\n // set externally\n void setActiveNetworkExternal?.(networkId)\n }, [networks])\n\n const value: ChainNetworkState = useMemo(() => ({\n activeNetwork,\n networks,\n provided: true,\n updateActiveNetwork,\n walletNetworkError: error ?? activeNetworkError,\n }), [activeNetwork, networks, updateActiveNetwork])\n\n return (\n <ChainNetworkContext value={value}>\n <ErrorRender error={error ?? activeNetworkError} scope=\"WalletNetworkProvider\" />\n {children}\n </ChainNetworkContext>\n )\n}\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nconst networkNodeMap = new Map<string, AttachableNodeInstance>()\n\nexport const getNetworkNodes = () => {\n return networkNodeMap\n}\n","import { ManifestWrapper } from '@xyo-network/manifest-wrapper'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { HDWallet } from '@xyo-network/wallet'\n\nimport { NetworkNodeManifest } from './manifest/index.ts'\n\nexport const getNetworkNode = async () => {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, await HDWallet.random(), new ModuleFactoryLocator())\n const [node] = await wrapper.loadNodes()\n return node\n}\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}","import type { PackageManifestPayload } from '@xyo-network/manifest-model'\n\nimport node from './network.json' with { type: 'json' }\n\n/**\n * Root Node Manifest\n */\nexport const NetworkNodeManifest = node as PackageManifestPayload\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\nimport { getNetworkNodes } from './getNetworkNodes.ts'\n\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap): Promise<AttachableNodeInstance> => {\n const networkNodeMap = getNetworkNodes()\n if (networkNodeMap.has(activeNetwork.url)) return networkNodeMap.get(activeNetwork.url)!\n\n const activeNetworkNode = await getNetworkNode()\n networkNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport LocalNetworkSvg from './XL1_Logo_Icon_Localhost.svg?react'\nexport const LocalNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={LocalNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as LocalNetworkIconString } from './XL1_Logo_Icon_Localhost.svg?raw'\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport MainNetworkSvg from './XL1_Logo_Icon_Mainnet.svg?react'\nexport const MainNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={MainNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as MainNetworkIconString } from './XL1_Logo_Icon_Mainnet.svg?raw'\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport SequenceNetworkSvg from './XL1_Logo_Icon_Testnet.svg?react'\nexport const SequenceNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={SequenceNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as SequenceNetworkIconString } from './XL1_Logo_Icon_Testnet.svg?raw'\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { ChainInformation, NetworkId } from '@xyo-network/xl1-protocol'\n\nexport const NetworkBootstrapSchema = 'network.xyo.network.bootstrap' as const\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** Url for accessing the network explorer */\n explorerUrl?: string\n /** string representation of the icon (svg) */\n icon?: string\n /** Machine-readable identifier */\n id: NetworkId\n /** Human-readable identifier */\n name: string\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n /** Url for accessing the network */\n url: string\n}\n\n/** Note: Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields {\n /** Address of the chain, i.e. smart contract address */\n chainInfo?: ChainInformation\n}\n\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n","import {\n LocalNetworkIconString, MainNetworkIconString, SequenceNetworkIconString,\n} from '../images/index.ts'\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\nexport const MainNetwork: NetworkBootstrap = {\n description: 'Main Network for XYO Layer 1',\n icon: MainNetworkIconString,\n id: 'mainnet',\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://api.chain.xyo.network',\n explorerUrl: 'https://explore.xyo.network',\n}\n\nexport const SequenceNetwork: NetworkBootstrap = {\n description: 'Test Network for XYO Layer 1',\n icon: SequenceNetworkIconString,\n id: 'sequence',\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://beta.api.chain.xyo.network',\n explorerUrl: 'https://beta.explore.xyo.network',\n}\n\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local',\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'http://localhost:8080',\n explorerUrl: 'http://localhost:3000',\n}\n\nexport const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { ChainNetworkContext } from './context.ts'\n\nexport const useChainNetwork = (required = true) => useContextEx(ChainNetworkContext, 'WalletNetwork', required)\n","import type { IconProps } from '@mui/material'\nimport { Icon } from '@mui/material'\nimport React from 'react'\n\nexport const NetworkIcon: React.FC<IconProps & { icon?: string }> = ({ icon, ...props }) => {\n return (\n <Icon\n sx={{\n display: 'inline-flex', alignItems: 'center', justifyContent: 'center',\n }}\n ref={(ref) => {\n if (ref && icon !== undefined) {\n ref.innerHTML = icon\n }\n }}\n {...props}\n />\n )\n}\n","import type { MenuItemProps } from '@mui/material'\nimport { ListItemText } from '@mui/material'\nimport { ActiveMenuItem } from '@xyo-network/react-chain-shared'\nimport type { NetworkId } from '@xyo-network/xl1-protocol'\nimport type { MouseEvent as ReactMouseEvent } from 'react'\nimport React from 'react'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { NetworkAvatar } from './Avatar.tsx'\n\nexport interface NetworkMenuItemProps extends MenuItemProps {\n active?: boolean\n network?: NetworkBootstrap\n updateActiveNetwork?: (networkId: NetworkId) => void\n}\n\nexport const NetworkMenuItem: React.FC<NetworkMenuItemProps> = ({\n active, network, onClick, updateActiveNetwork, ...props\n}) => {\n const handleClick = (event: ReactMouseEvent<HTMLLIElement, MouseEvent>) => {\n if (network === undefined) throw new Error('Network is undefined')\n updateActiveNetwork?.(network.id)\n onClick?.(event)\n }\n\n return (\n <ActiveMenuItem\n title={network?.name}\n disableRipple\n onClick={handleClick}\n active={active}\n {...props}\n >\n <NetworkAvatar icon={network?.icon} name={network?.name} />\n <ListItemText>{network?.name}</ListItemText>\n </ActiveMenuItem>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Button,\n} from '@mui/material'\nimport type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport React, { useMemo, useState } from 'react'\n\nimport { NetworkStatusDialog } from './Dialog.tsx'\n\nexport interface NetworkStatusAlertProps extends AlertProps {\n status?: NetworkStatus\n}\n\nexport const NetworkStatusAlert: React.FC<NetworkStatusAlertProps> = ({ status, ...props }) => {\n const [open, setOpen] = useState(false)\n const handleClose = () => setOpen(false)\n\n const severity = useMemo(() => {\n if (!status) return\n switch (status.state) {\n case 'online': {\n return 'success'\n }\n case 'offline': {\n return 'error'\n }\n case 'degraded': {\n return 'warning'\n }\n case 'unknown': {\n return 'error'\n }\n }\n }, [status])\n\n return (\n <Alert severity={severity} {...props}>\n <AlertTitle>{status?.description}</AlertTitle>\n {status?.updates && status.updates.length > 0 && (\n <>\n <Button color={severity} variant=\"outlined\" size=\"small\" onClick={() => setOpen(true)}>\n Updates\n </Button>\n <NetworkStatusDialog open={open} onClose={handleClose} updates={status.updates} />\n </>\n )}\n </Alert>\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle, List, ListItem, Typography,\n} from '@mui/material'\nimport type { NetworkStatusUpdate } from '@xyo-network/xl1-protocol'\nimport React from 'react'\n\nexport interface NetworkStatusDialogProps extends DialogProps {\n updates: NetworkStatusUpdate[]\n}\n\nexport const NetworkStatusDialog: React.FC<NetworkStatusDialogProps> = ({ updates, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Recent Status Updates</DialogTitle>\n <DialogContent>\n <List>\n {updates.map(({\n start, end, update,\n }) => (\n <ListItem\n key={start + update}\n sx={{\n flexDirection: 'column', alignItems: 'start', pl: 0,\n }}\n >\n <Typography>\n {update}\n </Typography>\n <Typography gutterBottom sx={{ opacity: 0.75, fontSize: '.8333rem' }}>\n Start:\n {' '}\n {new Date(start).toLocaleString()}\n {' '}\n <br />\n End:\n {' '}\n {new Date(end).toLocaleString()}\n </Typography>\n </ListItem>\n ))}\n </List>\n </DialogContent>\n <DialogActions>\n <Button onClick={e => props.onClose?.(e, 'backdropClick')} color=\"primary\" variant=\"outlined\">\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","/* eslint-disable sonarjs/deprecation */\nimport { assertEx } from '@xylabs/assert'\nimport type { Address, Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { BridgeInstance } from '@xyo-network/bridge-model'\nimport { initBridge } from '@xyo-network/chain-orchestration'\nimport { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'\nimport { XyoChainBlockNumberIterator } from '@xyo-network/chain-services'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n ChainInformation,\n HydratedBlock, SignedHydratedBlock, SignedHydratedTransaction, TransactionBoundWitness,\n TransactionFeesBigInt,\n Transfer,\n XyoRunner,\n XyoSigner,\n XyoViewer,\n XyoWallet,\n} from '@xyo-network/xl1-protocol'\n\nexport const FINALIZED_ARCHIVIST = 'XYOChain:Chain:Finalized' as const\n\nexport interface NetworkProviderParams {\n chainInformation?: ChainInformation\n network: string\n}\n\n// TODO: change back to implementing XyoProvider which requires sub objects\n/**\n * @deprecated Use MemoryXyoProvider instead\n */\nexport class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunner {\n private _bridge: BridgeInstance\n\n constructor(bridge: BridgeInstance) {\n this._bridge = bridge\n }\n\n private get bridge() {\n return assertEx(this._bridge, () => 'Bridge not set')\n }\n\n static async create({ network }: NetworkProviderParams): Promise<NetworkProvider> {\n const bridge = await initBridge(network)\n return new NetworkProvider(bridge)\n }\n\n accountBalance(_address: Address): Promisable<bigint> {\n throw new Error('Method not implemented.')\n }\n\n accountHistory(_address: Address): Promisable<[TransactionBoundWitness[], Transfer[]]> {\n throw new Error('Method not implemented.')\n }\n\n accounts(): Promisable<Address[]> {\n throw new Error('Method not implemented.')\n }\n\n addChain(_chain: Address, _name?: string): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n address(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n blockByHash(_hash: Hash): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blockByNumber(_blockNumber: number): Promisable<SignedHydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blocksByHash(_hash: Hash, _limit?: number): Promisable<SignedHydratedBlock[]> {\n throw new Error('Method not implemented.')\n }\n\n broadcastTransaction(_transaction: SignedHydratedTransaction): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n chain(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chainId(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chains(): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n createSignedTransaction(\n _chain: Address,\n _elevatedPayloads: AllowedBlockPayload[],\n _additionalPayloads: Payload[],\n _nbf: number,\n _exp: number,\n _fees: TransactionFeesBigInt,\n _from?: Address,\n ): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n currentBlock(): Promisable<SignedHydratedBlock> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockHash(): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockNumber(): Promisable<number> {\n throw new Error('Method not implemented.')\n }\n\n permissions(): Promisable<Record<string, object>> {\n throw new Error('Method not implemented.')\n }\n\n async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {\n const chainArchivist = await this.getFinalizedArchivist()\n const head = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')\n const iterator = await XyoChainBlockNumberIterator.create({ chainArchivist, head })\n const blocks = await iterator.previous(head.block, count)\n\n let hydratedBlocks: HydratedBlock[] = []\n for (const block of blocks) {\n hydratedBlocks.push(await hydrateBlock(chainArchivist, await PayloadBuilder.hash(block)))\n }\n return hydratedBlocks\n }\n\n requestPermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n switchChain(_chain: Address): Promisable<void> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByHash(_transactionHash: Hash): Promisable<SignedHydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n private async getFinalizedArchivist(): Promise<ArchivistInstance> {\n const bridge = this.bridge\n const mod = assertEx(await bridge.resolve(FINALIZED_ARCHIVIST), () => `${FINALIZED_ARCHIVIST} not found`)\n return assertEx(asArchivistInstance(mod), () => `${FINALIZED_ARCHIVIST} is not an archivist`)\n }\n}\n"],"mappings":"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","names":["Avatar","React","createContextEx","ChainNetworkContext","ErrorRender","usePromise","React","useCallback","useMemo","useState","networkNodeMap","Map","getNetworkNodes","ManifestWrapper","ModuleFactoryLocator","HDWallet","NetworkNodeManifest","node","getNetworkNode","wrapper","ManifestWrapper","NetworkNodeManifest","HDWallet","random","ModuleFactoryLocator","node","loadNodes","initNetworkNode","activeNetwork","networkNodeMap","getNetworkNodes","has","url","get","activeNetworkNode","getNetworkNode","set","SvgIcon","React","LocalNetworkSvg","LocalNetworkIconString","default","SvgIcon","React","MainNetworkSvg","MainNetworkIconString","default","SvgIcon","React","SequenceNetworkSvg","SequenceNetworkIconString","default","AsObjectFactory","isPayloadOfSchemaType","NetworkBootstrapSchema","isNetworkBootstrap","asOptionalNetwork","createOptional","MainNetwork","description","icon","MainNetworkIconString","id","name","schema","NetworkBootstrapSchema","symbol","url","explorerUrl","SequenceNetwork","SequenceNetworkIconString","LocalNetwork","LocalNetworkIconString","DefaultNetworks","ChainNetworkProvider","children","getActiveNetwork","networks","setActiveNetwork","setActiveNetworkExternal","activeNetwork","useState","error","setError","resolvedActiveNetwork","activeNetworkError","usePromise","find","network","id","defaultNetwork","SequenceNetwork","useMemo","updateActiveNetwork","useCallback","networkId","undefined","Error","value","provided","walletNetworkError","React","ChainNetworkContext","ErrorRender","scope","useContextEx","useChainNetwork","required","useContextEx","ChainNetworkContext","Icon","React","NetworkIcon","icon","props","React","Icon","sx","display","alignItems","justifyContent","ref","undefined","innerHTML","NetworkAvatar","icon","name","props","React","Avatar","sx","backgroundColor","height","width","alt","NetworkIcon","ActiveNetworkAvatar","activeNetwork","useChainNetwork","ListItemText","ActiveMenuItem","React","NetworkMenuItem","active","network","onClick","updateActiveNetwork","props","handleClick","event","undefined","Error","id","React","ActiveMenuItem","title","name","disableRipple","NetworkAvatar","icon","ListItemText","Alert","AlertTitle","Button","React","useMemo","useState","Button","Dialog","DialogActions","DialogContent","DialogTitle","List","ListItem","Typography","React","NetworkStatusDialog","updates","props","React","Dialog","DialogTitle","DialogContent","List","map","start","end","update","ListItem","key","sx","flexDirection","alignItems","pl","Typography","gutterBottom","opacity","fontSize","Date","toLocaleString","br","DialogActions","Button","onClick","e","onClose","color","variant","NetworkStatusAlert","status","props","open","setOpen","useState","handleClose","severity","useMemo","state","React","Alert","AlertTitle","description","updates","length","Button","color","variant","size","onClick","NetworkStatusDialog","onClose","assertEx","asArchivistInstance","initBridge","findMostRecentBlock","hydrateBlock","XyoChainBlockNumberIterator","PayloadBuilder","FINALIZED_ARCHIVIST","NetworkProvider","_bridge","bridge","assertEx","create","network","initBridge","accountBalance","_address","Error","accountHistory","accounts","addChain","_chain","_name","address","blockByHash","_hash","blockByNumber","_blockNumber","blocksByHash","_limit","broadcastTransaction","_transaction","chain","chainId","chains","createSignedTransaction","_elevatedPayloads","_additionalPayloads","_nbf","_exp","_fees","_from","currentBlock","currentBlockHash","currentBlockNumber","permissions","previousBlocks","startingBlock","count","chainArchivist","getFinalizedArchivist","head","findMostRecentBlock","cursor","iterator","XyoChainBlockNumberIterator","blocks","previous","block","hydratedBlocks","push","hydrateBlock","PayloadBuilder","hash","requestPermissions","_permissions","revokePermissions","signTransaction","switchChain","transactionByBlockHashAndIndex","_blockHash","_transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","_transactionHash","mod","resolve","asArchivistInstance"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/menu/Avatar.tsx","../../src/context/network/context.ts","../../src/context/network/Provider.tsx","../../src/helpers/getNetworkNodes.ts","../../src/helpers/getNetworkNode.ts","../../src/helpers/manifest/network.json","../../src/helpers/manifest/networkManifest.ts","../../src/helpers/initNetworkNode.ts","../../src/images/icons/local/index.tsx","../../src/images/icons/mainnet/index.tsx","../../src/images/icons/sequence/index.tsx","../../src/models/Bootstrap.ts","../../src/helpers/Networks.ts","../../src/context/network/use.ts","../../src/components/menu/Icon.tsx","../../src/components/menu/MenuItem.tsx","../../src/components/status/Alert.tsx","../../src/components/status/Dialog.tsx","../../src/provider/NetworkProvider.ts"],"sourcesContent":["import type { AvatarProps } from '@mui/material'\nimport { Avatar } from '@mui/material'\nimport React from 'react'\n\nimport { useChainNetwork } from '../../context/index.ts'\nimport { NetworkIcon } from './Icon.tsx'\n\nexport const NetworkAvatar: React.FC<AvatarProps & { icon?: string; name?: string }> = ({\n icon, name, ...props\n}) => {\n return (\n <Avatar\n sx={{\n backgroundColor: 'white', height: 30, width: 30,\n }}\n alt={name}\n {...props}\n >\n <NetworkIcon icon={icon} />\n </Avatar>\n )\n}\n\nexport const ActiveNetworkAvatar: React.FC<AvatarProps> = (props) => {\n const { activeNetwork } = useChainNetwork()\n\n return (\n <NetworkAvatar\n icon={activeNetwork?.icon}\n name={activeNetwork?.name}\n {...props}\n />\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ChainNetworkState } from './state.ts'\n\nexport const ChainNetworkContext = createContextEx<ChainNetworkState>()\n","import { ErrorRender } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport { SequenceNetwork } from '../../helpers/index.ts'\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { ChainNetworkContext } from './context.ts'\nimport type { ChainNetworkState } from './state.ts'\n\nexport interface ChainNetworkProviderProps extends PropsWithChildren {\n getActiveNetwork?: () => Promise<NetworkBootstrap | undefined>\n networks?: NetworkBootstrap[]\n setActiveNetwork?: (networkId: NetworkBootstrap['id']) => Promise<NetworkBootstrap>\n}\n\nexport const ChainNetworkProvider: React.FC<ChainNetworkProviderProps> = ({\n children, getActiveNetwork, networks, setActiveNetwork: setActiveNetworkExternal,\n}) => {\n const [activeNetwork, setActiveNetwork] = useState<NetworkBootstrap>()\n const [error, setError] = useState<Error>()\n\n // Set the active network upon initialization\n const [resolvedActiveNetwork, activeNetworkError] = usePromise(async () => {\n // ensure networks are loaded\n if (!networks) return\n // get last saved active network\n const activeNetwork = await getActiveNetwork?.()\n // ensure the active network saved is found in the list of networks\n if (activeNetwork && networks?.find(network => network.id === activeNetwork.id)) {\n // Set the active network if it exists\n return activeNetwork\n } else {\n // Set the default network if no active network exists\n const defaultNetwork = networks.find(network => network.id === SequenceNetwork.id) ?? networks[1]\n await setActiveNetworkExternal?.(defaultNetwork.id)\n\n // Set the active network in the context\n return defaultNetwork\n }\n }, [networks])\n\n useMemo(() => {\n if (resolvedActiveNetwork) {\n setActiveNetwork(resolvedActiveNetwork)\n }\n }, [resolvedActiveNetwork])\n\n const updateActiveNetwork = useCallback((networkId: NetworkBootstrap['id']) => {\n setError(undefined)\n const network = networks?.find(network => network.id === networkId)\n if (!network) {\n setError(new Error(`Network with id ${networkId} not found`))\n return\n }\n // set internally\n setActiveNetwork(network)\n // set externally\n void setActiveNetworkExternal?.(networkId)\n }, [networks])\n\n const value: ChainNetworkState = useMemo(() => ({\n activeNetwork,\n networks,\n provided: true,\n updateActiveNetwork,\n walletNetworkError: error ?? activeNetworkError,\n }), [activeNetwork, networks, updateActiveNetwork])\n\n return (\n <ChainNetworkContext value={value}>\n <ErrorRender error={error ?? activeNetworkError} scope=\"WalletNetworkProvider\" />\n {children}\n </ChainNetworkContext>\n )\n}\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nconst networkNodeMap = new Map<string, AttachableNodeInstance>()\n\nexport const getNetworkNodes = () => {\n return networkNodeMap\n}\n","import { ManifestWrapper } from '@xyo-network/manifest-wrapper'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { HDWallet } from '@xyo-network/wallet'\n\nimport { NetworkNodeManifest } from './manifest/index.ts'\n\nexport const getNetworkNode = async () => {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, await HDWallet.random(), new ModuleFactoryLocator())\n const [node] = await wrapper.loadNodes()\n return node\n}\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}","import type { PackageManifestPayload } from '@xyo-network/manifest-model'\n\nimport node from './network.json' with { type: 'json' }\n\n/**\n * Root Node Manifest\n */\nexport const NetworkNodeManifest = node as PackageManifestPayload\n","import type { AttachableNodeInstance } from '@xyo-network/node-model'\n\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\nimport { getNetworkNodes } from './getNetworkNodes.ts'\n\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap): Promise<AttachableNodeInstance> => {\n const networkNodeMap = getNetworkNodes()\n if (networkNodeMap.has(activeNetwork.url)) return networkNodeMap.get(activeNetwork.url)!\n\n const activeNetworkNode = await getNetworkNode()\n networkNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport LocalNetworkSvg from './XL1_Logo_Icon_Localhost.svg?react'\nexport const LocalNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={LocalNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as LocalNetworkIconString } from './XL1_Logo_Icon_Localhost.svg?raw'\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport MainNetworkSvg from './XL1_Logo_Icon_Mainnet.svg?react'\nexport const MainNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={MainNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as MainNetworkIconString } from './XL1_Logo_Icon_Mainnet.svg?raw'\n","import { SvgIcon } from '@mui/material'\nimport React from 'react'\n\nimport SequenceNetworkSvg from './XL1_Logo_Icon_Testnet.svg?react'\nexport const SequenceNetworkIcon = (props: React.ComponentProps<typeof SvgIcon>) => {\n return (\n <SvgIcon\n viewBox=\"0 0 256 256\"\n component={SequenceNetworkSvg}\n {...props}\n />\n )\n}\n\nexport { default as SequenceNetworkIconString } from './XL1_Logo_Icon_Testnet.svg?raw'\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { ChainInformation, NetworkId } from '@xyo-network/xl1-protocol'\n\nexport const NetworkBootstrapSchema = 'network.xyo.network.bootstrap' as const\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** Url for accessing the network explorer */\n explorerUrl?: string\n /** string representation of the icon (svg) */\n icon?: string\n /** Machine-readable identifier */\n id: NetworkId\n /** Human-readable identifier */\n name: string\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n /** Url for accessing the network */\n url: string\n}\n\n/** Note: Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields {\n /** Address of the chain, i.e. smart contract address */\n chainInfo?: ChainInformation\n}\n\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n","import {\n LocalNetworkIconString, MainNetworkIconString, SequenceNetworkIconString,\n} from '../images/index.ts'\nimport type { NetworkBootstrap } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\nexport const MainNetwork: NetworkBootstrap = {\n description: 'Main Network for XYO Layer 1',\n icon: MainNetworkIconString,\n id: 'mainnet',\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://api.chain.xyo.network',\n explorerUrl: 'https://explore.xyo.network',\n}\n\nexport const SequenceNetwork: NetworkBootstrap = {\n description: 'Test Network for XYO Layer 1',\n icon: SequenceNetworkIconString,\n id: 'sequence',\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://beta.api.chain.xyo.network',\n explorerUrl: 'https://beta.explore.xyo.network',\n}\n\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local',\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'http://localhost:8080',\n explorerUrl: 'http://localhost:3000',\n}\n\nexport const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { ChainNetworkContext } from './context.ts'\n\nexport const useChainNetwork = (required = true) => useContextEx(ChainNetworkContext, 'WalletNetwork', required)\n","import type { IconProps } from '@mui/material'\nimport { Icon } from '@mui/material'\nimport React from 'react'\n\nexport const NetworkIcon: React.FC<IconProps & { icon?: string }> = ({ icon, ...props }) => {\n return (\n <Icon\n sx={{\n display: 'inline-flex', alignItems: 'center', justifyContent: 'center',\n }}\n ref={(ref) => {\n if (ref && icon !== undefined) {\n ref.innerHTML = icon\n }\n }}\n {...props}\n />\n )\n}\n","import type { MenuItemProps } from '@mui/material'\nimport { ListItemText } from '@mui/material'\nimport { ActiveMenuItem } from '@xyo-network/react-chain-shared'\nimport type { NetworkId } from '@xyo-network/xl1-protocol'\nimport type { MouseEvent as ReactMouseEvent } from 'react'\nimport React from 'react'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { NetworkAvatar } from './Avatar.tsx'\n\nexport interface NetworkMenuItemProps extends MenuItemProps {\n active?: boolean\n network?: NetworkBootstrap\n updateActiveNetwork?: (networkId: NetworkId) => void\n}\n\nexport const NetworkMenuItem: React.FC<NetworkMenuItemProps> = ({\n active, network, onClick, updateActiveNetwork, ...props\n}) => {\n const handleClick = (event: ReactMouseEvent<HTMLLIElement, MouseEvent>) => {\n if (network === undefined) throw new Error('Network is undefined')\n updateActiveNetwork?.(network.id)\n onClick?.(event)\n }\n\n return (\n <ActiveMenuItem\n title={network?.name}\n disableRipple\n onClick={handleClick}\n active={active}\n {...props}\n >\n <NetworkAvatar icon={network?.icon} name={network?.name} />\n <ListItemText>{network?.name}</ListItemText>\n </ActiveMenuItem>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Button,\n} from '@mui/material'\nimport type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport React, { useMemo, useState } from 'react'\n\nimport { NetworkStatusDialog } from './Dialog.tsx'\n\nexport interface NetworkStatusAlertProps extends AlertProps {\n status?: NetworkStatus\n}\n\nexport const NetworkStatusAlert: React.FC<NetworkStatusAlertProps> = ({ status, ...props }) => {\n const [open, setOpen] = useState(false)\n const handleClose = () => setOpen(false)\n\n const severity = useMemo(() => {\n if (!status) return\n switch (status.state) {\n case 'online': {\n return 'success'\n }\n case 'offline': {\n return 'error'\n }\n case 'degraded': {\n return 'warning'\n }\n case 'unknown': {\n return 'error'\n }\n }\n }, [status])\n\n return (\n <Alert severity={severity} {...props}>\n <AlertTitle>{status?.description}</AlertTitle>\n {status?.updates && status.updates.length > 0 && (\n <>\n <Button color={severity} variant=\"outlined\" size=\"small\" onClick={() => setOpen(true)}>\n Updates\n </Button>\n <NetworkStatusDialog open={open} onClose={handleClose} updates={status.updates} />\n </>\n )}\n </Alert>\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle, List, ListItem, Typography,\n} from '@mui/material'\nimport type { NetworkStatusUpdate } from '@xyo-network/xl1-protocol'\nimport React from 'react'\n\nexport interface NetworkStatusDialogProps extends DialogProps {\n updates: NetworkStatusUpdate[]\n}\n\nexport const NetworkStatusDialog: React.FC<NetworkStatusDialogProps> = ({ updates, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Recent Status Updates</DialogTitle>\n <DialogContent>\n <List>\n {updates.map(({\n start, end, update,\n }) => (\n <ListItem\n key={start + update}\n sx={{\n flexDirection: 'column', alignItems: 'start', pl: 0,\n }}\n >\n <Typography>\n {update}\n </Typography>\n <Typography gutterBottom sx={{ opacity: 0.75, fontSize: '.8333rem' }}>\n Start:\n {' '}\n {new Date(start).toLocaleString()}\n {' '}\n <br />\n End:\n {' '}\n {new Date(end).toLocaleString()}\n </Typography>\n </ListItem>\n ))}\n </List>\n </DialogContent>\n <DialogActions>\n <Button onClick={e => props.onClose?.(e, 'backdropClick')} color=\"primary\" variant=\"outlined\">\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","/* eslint-disable sonarjs/deprecation */\nimport { assertEx } from '@xylabs/assert'\nimport type { Address, Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { BridgeInstance } from '@xyo-network/bridge-model'\nimport { initBridge } from '@xyo-network/chain-orchestration'\nimport { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'\nimport { ChainBlockNumberIterationService } from '@xyo-network/chain-services'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n BlockBoundWitness,\n ChainInformation,\n HydratedBlock, HydratedTransaction, TransactionBoundWitness,\n TransactionFeesBigInt,\n Transfer,\n XyoRunner,\n XyoSigner,\n XyoViewer,\n XyoWallet,\n} from '@xyo-network/xl1-protocol'\n\nexport const FINALIZED_ARCHIVIST = 'XYOChain:Chain:Finalized' as const\n\nexport interface NetworkProviderParams {\n chainInformation?: ChainInformation\n network: string\n}\n\n// TODO: change back to implementing XyoProvider which requires sub objects\n/**\n * @deprecated Use MemoryXyoProvider instead\n */\nexport class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunner {\n private _bridge: BridgeInstance\n\n constructor(bridge: BridgeInstance) {\n this._bridge = bridge\n }\n\n private get bridge() {\n return assertEx(this._bridge, () => 'Bridge not set')\n }\n\n static async create({ network }: NetworkProviderParams): Promise<NetworkProvider> {\n const bridge = await initBridge(network)\n return new NetworkProvider(bridge)\n }\n\n accountBalance(_address: Address): Promisable<bigint> {\n throw new Error('Method not implemented.')\n }\n\n accountHistory(_address: Address): Promisable<[TransactionBoundWitness[], Transfer[]]> {\n throw new Error('Method not implemented.')\n }\n\n accounts(): Promisable<Address[]> {\n throw new Error('Method not implemented.')\n }\n\n addChain(_chain: Address, _name?: string): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n address(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n blockByHash(_hash: Hash): Promisable<HydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blockByNumber(_blockNumber: number): Promisable<HydratedBlock | null> {\n throw new Error('Method not implemented.')\n }\n\n blocksByHash(_hash: Hash, _limit?: number): Promisable<HydratedBlock[]> {\n throw new Error('Method not implemented.')\n }\n\n broadcastTransaction(_transaction: HydratedTransaction): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n chain(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chainId(): Promisable<Address> {\n throw new Error('Method not implemented.')\n }\n\n chains(): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n createSignedTransaction(\n _chain: Address,\n _elevatedPayloads: AllowedBlockPayload[],\n _additionalPayloads: Payload[],\n _nbf: number,\n _exp: number,\n _fees: TransactionFeesBigInt,\n _from?: Address,\n ): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n currentBlock(): Promisable<HydratedBlock> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockHash(): Promisable<Hash> {\n throw new Error('Method not implemented.')\n }\n\n currentBlockNumber(): Promisable<number> {\n throw new Error('Method not implemented.')\n }\n\n permissions(): Promisable<Record<string, object>> {\n throw new Error('Method not implemented.')\n }\n\n async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {\n const chainArchivist = await this.getFinalizedArchivist()\n const head: BlockBoundWitness = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')\n const iterator = await ChainBlockNumberIterationService.create({ chainArchivist, head })\n const blocks = await iterator.previous(head.block, count)\n\n let hydratedBlocks: HydratedBlock[] = []\n for (const block of blocks) {\n hydratedBlocks.push(await hydrateBlock(chainArchivist, await PayloadBuilder.hash(block)))\n }\n return hydratedBlocks\n }\n\n requestPermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): Promisable<object> {\n throw new Error('Method not implemented.')\n }\n\n signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>> {\n throw new Error('Method not implemented.')\n }\n\n switchChain(_chain: Address): Promisable<void> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<HydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<HydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n transactionByHash(_transactionHash: Hash): Promisable<HydratedTransaction | null> {\n throw new Error('Method not implemented.')\n }\n\n private async getFinalizedArchivist(): Promise<ArchivistInstance> {\n const bridge = this.bridge\n const mod = assertEx(await bridge.resolve(FINALIZED_ARCHIVIST), () => `${FINALIZED_ARCHIVIST} not found`)\n return assertEx(asArchivistInstance(mod), () => `${FINALIZED_ARCHIVIST} is not an archivist`)\n }\n}\n"],"mappings":"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","names":["Avatar","React","createContextEx","ChainNetworkContext","ErrorRender","usePromise","React","useCallback","useMemo","useState","networkNodeMap","Map","getNetworkNodes","ManifestWrapper","ModuleFactoryLocator","HDWallet","NetworkNodeManifest","node","getNetworkNode","wrapper","ManifestWrapper","NetworkNodeManifest","HDWallet","random","ModuleFactoryLocator","node","loadNodes","initNetworkNode","activeNetwork","networkNodeMap","getNetworkNodes","has","url","get","activeNetworkNode","getNetworkNode","set","SvgIcon","React","LocalNetworkSvg","LocalNetworkIconString","default","SvgIcon","React","MainNetworkSvg","MainNetworkIconString","default","SvgIcon","React","SequenceNetworkSvg","SequenceNetworkIconString","default","AsObjectFactory","isPayloadOfSchemaType","NetworkBootstrapSchema","isNetworkBootstrap","asOptionalNetwork","createOptional","MainNetwork","description","icon","MainNetworkIconString","id","name","schema","NetworkBootstrapSchema","symbol","url","explorerUrl","SequenceNetwork","SequenceNetworkIconString","LocalNetwork","LocalNetworkIconString","DefaultNetworks","ChainNetworkProvider","children","getActiveNetwork","networks","setActiveNetwork","setActiveNetworkExternal","activeNetwork","useState","error","setError","resolvedActiveNetwork","activeNetworkError","usePromise","find","network","id","defaultNetwork","SequenceNetwork","useMemo","updateActiveNetwork","useCallback","networkId","undefined","Error","value","provided","walletNetworkError","React","ChainNetworkContext","ErrorRender","scope","useContextEx","useChainNetwork","required","useContextEx","ChainNetworkContext","Icon","React","NetworkIcon","icon","props","React","Icon","sx","display","alignItems","justifyContent","ref","undefined","innerHTML","NetworkAvatar","icon","name","props","React","Avatar","sx","backgroundColor","height","width","alt","NetworkIcon","ActiveNetworkAvatar","activeNetwork","useChainNetwork","ListItemText","ActiveMenuItem","React","NetworkMenuItem","active","network","onClick","updateActiveNetwork","props","handleClick","event","undefined","Error","id","React","ActiveMenuItem","title","name","disableRipple","NetworkAvatar","icon","ListItemText","Alert","AlertTitle","Button","React","useMemo","useState","Button","Dialog","DialogActions","DialogContent","DialogTitle","List","ListItem","Typography","React","NetworkStatusDialog","updates","props","React","Dialog","DialogTitle","DialogContent","List","map","start","end","update","ListItem","key","sx","flexDirection","alignItems","pl","Typography","gutterBottom","opacity","fontSize","Date","toLocaleString","br","DialogActions","Button","onClick","e","onClose","color","variant","NetworkStatusAlert","status","props","open","setOpen","useState","handleClose","severity","useMemo","state","React","Alert","AlertTitle","description","updates","length","Button","color","variant","size","onClick","NetworkStatusDialog","onClose","assertEx","asArchivistInstance","initBridge","findMostRecentBlock","hydrateBlock","ChainBlockNumberIterationService","PayloadBuilder","FINALIZED_ARCHIVIST","NetworkProvider","_bridge","bridge","assertEx","create","network","initBridge","accountBalance","_address","Error","accountHistory","accounts","addChain","_chain","_name","address","blockByHash","_hash","blockByNumber","_blockNumber","blocksByHash","_limit","broadcastTransaction","_transaction","chain","chainId","chains","createSignedTransaction","_elevatedPayloads","_additionalPayloads","_nbf","_exp","_fees","_from","currentBlock","currentBlockHash","currentBlockNumber","permissions","previousBlocks","startingBlock","count","chainArchivist","getFinalizedArchivist","head","findMostRecentBlock","cursor","iterator","ChainBlockNumberIterationService","blocks","previous","block","hydratedBlocks","push","hydrateBlock","PayloadBuilder","hash","requestPermissions","_permissions","revokePermissions","signTransaction","switchChain","transactionByBlockHashAndIndex","_blockHash","_transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","_transactionHash","mod","resolve","asArchivistInstance"]}
|
|
@@ -3,7 +3,7 @@ import type { Promisable } from '@xylabs/promise';
|
|
|
3
3
|
import type { Signed } from '@xyo-network/boundwitness-model';
|
|
4
4
|
import type { BridgeInstance } from '@xyo-network/bridge-model';
|
|
5
5
|
import type { Payload } from '@xyo-network/payload-model';
|
|
6
|
-
import type { AllowedBlockPayload, ChainInformation, HydratedBlock,
|
|
6
|
+
import type { AllowedBlockPayload, ChainInformation, HydratedBlock, HydratedTransaction, TransactionBoundWitness, TransactionFeesBigInt, Transfer, XyoRunner, XyoSigner, XyoViewer, XyoWallet } from '@xyo-network/xl1-protocol';
|
|
7
7
|
export declare const FINALIZED_ARCHIVIST: "XYOChain:Chain:Finalized";
|
|
8
8
|
export interface NetworkProviderParams {
|
|
9
9
|
chainInformation?: ChainInformation;
|
|
@@ -22,15 +22,15 @@ export declare class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet,
|
|
|
22
22
|
accounts(): Promisable<Address[]>;
|
|
23
23
|
addChain(_chain: Address, _name?: string): Promisable<object>;
|
|
24
24
|
address(): Promisable<Address>;
|
|
25
|
-
blockByHash(_hash: Hash): Promisable<
|
|
26
|
-
blockByNumber(_blockNumber: number): Promisable<
|
|
27
|
-
blocksByHash(_hash: Hash, _limit?: number): Promisable<
|
|
28
|
-
broadcastTransaction(_transaction:
|
|
25
|
+
blockByHash(_hash: Hash): Promisable<HydratedBlock | null>;
|
|
26
|
+
blockByNumber(_blockNumber: number): Promisable<HydratedBlock | null>;
|
|
27
|
+
blocksByHash(_hash: Hash, _limit?: number): Promisable<HydratedBlock[]>;
|
|
28
|
+
broadcastTransaction(_transaction: HydratedTransaction): Promisable<Hash>;
|
|
29
29
|
chain(): Promisable<Address>;
|
|
30
30
|
chainId(): Promisable<Address>;
|
|
31
31
|
chains(): Promisable<object>;
|
|
32
32
|
createSignedTransaction(_chain: Address, _elevatedPayloads: AllowedBlockPayload[], _additionalPayloads: Payload[], _nbf: number, _exp: number, _fees: TransactionFeesBigInt, _from?: Address): Promisable<Signed<TransactionBoundWitness>>;
|
|
33
|
-
currentBlock(): Promisable<
|
|
33
|
+
currentBlock(): Promisable<HydratedBlock>;
|
|
34
34
|
currentBlockHash(): Promisable<Hash>;
|
|
35
35
|
currentBlockNumber(): Promisable<number>;
|
|
36
36
|
permissions(): Promisable<Record<string, object>>;
|
|
@@ -39,9 +39,9 @@ export declare class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet,
|
|
|
39
39
|
revokePermissions(_permissions: object): Promisable<object>;
|
|
40
40
|
signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>>;
|
|
41
41
|
switchChain(_chain: Address): Promisable<void>;
|
|
42
|
-
transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<
|
|
43
|
-
transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<
|
|
44
|
-
transactionByHash(_transactionHash: Hash): Promisable<
|
|
42
|
+
transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<HydratedTransaction | null>;
|
|
43
|
+
transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<HydratedTransaction | null>;
|
|
44
|
+
transactionByHash(_transactionHash: Hash): Promisable<HydratedTransaction | null>;
|
|
45
45
|
private getFinalizedArchivist;
|
|
46
46
|
}
|
|
47
47
|
//# sourceMappingURL=NetworkProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/provider/NetworkProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,
|
|
1
|
+
{"version":3,"file":"NetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/provider/NetworkProvider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/react-chain-network",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.31",
|
|
5
5
|
"description": "XYO Layer One React SDK",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -38,39 +38,39 @@
|
|
|
38
38
|
"start": "storybook dev -p 6006"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@xylabs/assert": "^4.11.
|
|
42
|
-
"@xylabs/hex": "^4.11.
|
|
43
|
-
"@xylabs/object": "^4.11.
|
|
44
|
-
"@xylabs/promise": "^4.11.
|
|
41
|
+
"@xylabs/assert": "^4.11.20",
|
|
42
|
+
"@xylabs/hex": "^4.11.20",
|
|
43
|
+
"@xylabs/object": "^4.11.20",
|
|
44
|
+
"@xylabs/promise": "^4.11.20",
|
|
45
45
|
"@xylabs/react-error": "^6.3.4",
|
|
46
46
|
"@xylabs/react-promise": "^6.3.4",
|
|
47
47
|
"@xylabs/react-shared": "^6.3.4",
|
|
48
|
-
"@xyo-network/archivist-model": "^3.18.
|
|
49
|
-
"@xyo-network/boundwitness-model": "^3.18.
|
|
50
|
-
"@xyo-network/bridge-model": "^3.18.
|
|
51
|
-
"@xyo-network/chain-orchestration": "^1.5.
|
|
52
|
-
"@xyo-network/chain-protocol": "^1.5.
|
|
53
|
-
"@xyo-network/chain-services": "^1.5.
|
|
54
|
-
"@xyo-network/manifest-model": "^3.18.
|
|
55
|
-
"@xyo-network/manifest-wrapper": "^3.18.
|
|
56
|
-
"@xyo-network/module-factory-locator": "^3.18.
|
|
57
|
-
"@xyo-network/node-model": "^3.18.
|
|
58
|
-
"@xyo-network/payload-builder": "^3.18.
|
|
59
|
-
"@xyo-network/payload-model": "^3.18.
|
|
60
|
-
"@xyo-network/react-chain-shared": "^1.5.
|
|
61
|
-
"@xyo-network/wallet": "^3.18.
|
|
62
|
-
"@xyo-network/xl1-protocol": "^1.4.
|
|
48
|
+
"@xyo-network/archivist-model": "^3.18.8",
|
|
49
|
+
"@xyo-network/boundwitness-model": "^3.18.8",
|
|
50
|
+
"@xyo-network/bridge-model": "^3.18.8",
|
|
51
|
+
"@xyo-network/chain-orchestration": "^1.5.31",
|
|
52
|
+
"@xyo-network/chain-protocol": "^1.5.31",
|
|
53
|
+
"@xyo-network/chain-services": "^1.5.31",
|
|
54
|
+
"@xyo-network/manifest-model": "^3.18.8",
|
|
55
|
+
"@xyo-network/manifest-wrapper": "^3.18.8",
|
|
56
|
+
"@xyo-network/module-factory-locator": "^3.18.8",
|
|
57
|
+
"@xyo-network/node-model": "^3.18.8",
|
|
58
|
+
"@xyo-network/payload-builder": "^3.18.8",
|
|
59
|
+
"@xyo-network/payload-model": "^3.18.8",
|
|
60
|
+
"@xyo-network/react-chain-shared": "^1.5.31",
|
|
61
|
+
"@xyo-network/wallet": "^3.18.8",
|
|
62
|
+
"@xyo-network/xl1-protocol": "^1.4.33"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@emotion/react": "^11.14.0",
|
|
66
66
|
"@emotion/styled": "^11.14.0",
|
|
67
67
|
"@mui/icons-material": "^7.1.1",
|
|
68
68
|
"@mui/material": "^7.1.1",
|
|
69
|
-
"@storybook/react-vite": "^9.0.
|
|
70
|
-
"@types/react": "^19.1.
|
|
69
|
+
"@storybook/react-vite": "^9.0.9",
|
|
70
|
+
"@types/react": "^19.1.8",
|
|
71
71
|
"@xylabs/ts-scripts-yarn3": "^6.5.8",
|
|
72
72
|
"@xylabs/tsconfig-react": "^6.5.8",
|
|
73
|
-
"knip": "^5.
|
|
73
|
+
"knip": "^5.61.0",
|
|
74
74
|
"react": "^19.1.0",
|
|
75
75
|
"react-dom": "^19.1.0",
|
|
76
76
|
"react-router-dom": "^7.6.2",
|
|
@@ -8,13 +8,14 @@ import type { Signed } from '@xyo-network/boundwitness-model'
|
|
|
8
8
|
import type { BridgeInstance } from '@xyo-network/bridge-model'
|
|
9
9
|
import { initBridge } from '@xyo-network/chain-orchestration'
|
|
10
10
|
import { findMostRecentBlock, hydrateBlock } from '@xyo-network/chain-protocol'
|
|
11
|
-
import {
|
|
11
|
+
import { ChainBlockNumberIterationService } from '@xyo-network/chain-services'
|
|
12
12
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
13
13
|
import type { Payload } from '@xyo-network/payload-model'
|
|
14
14
|
import type {
|
|
15
15
|
AllowedBlockPayload,
|
|
16
|
+
BlockBoundWitness,
|
|
16
17
|
ChainInformation,
|
|
17
|
-
HydratedBlock,
|
|
18
|
+
HydratedBlock, HydratedTransaction, TransactionBoundWitness,
|
|
18
19
|
TransactionFeesBigInt,
|
|
19
20
|
Transfer,
|
|
20
21
|
XyoRunner,
|
|
@@ -70,19 +71,19 @@ export class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunn
|
|
|
70
71
|
throw new Error('Method not implemented.')
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
blockByHash(_hash: Hash): Promisable<
|
|
74
|
+
blockByHash(_hash: Hash): Promisable<HydratedBlock | null> {
|
|
74
75
|
throw new Error('Method not implemented.')
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
blockByNumber(_blockNumber: number): Promisable<
|
|
78
|
+
blockByNumber(_blockNumber: number): Promisable<HydratedBlock | null> {
|
|
78
79
|
throw new Error('Method not implemented.')
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
blocksByHash(_hash: Hash, _limit?: number): Promisable<
|
|
82
|
+
blocksByHash(_hash: Hash, _limit?: number): Promisable<HydratedBlock[]> {
|
|
82
83
|
throw new Error('Method not implemented.')
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
broadcastTransaction(_transaction:
|
|
86
|
+
broadcastTransaction(_transaction: HydratedTransaction): Promisable<Hash> {
|
|
86
87
|
throw new Error('Method not implemented.')
|
|
87
88
|
}
|
|
88
89
|
|
|
@@ -110,7 +111,7 @@ export class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunn
|
|
|
110
111
|
throw new Error('Method not implemented.')
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
currentBlock(): Promisable<
|
|
114
|
+
currentBlock(): Promisable<HydratedBlock> {
|
|
114
115
|
throw new Error('Method not implemented.')
|
|
115
116
|
}
|
|
116
117
|
|
|
@@ -128,8 +129,8 @@ export class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunn
|
|
|
128
129
|
|
|
129
130
|
async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {
|
|
130
131
|
const chainArchivist = await this.getFinalizedArchivist()
|
|
131
|
-
const head = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')
|
|
132
|
-
const iterator = await
|
|
132
|
+
const head: BlockBoundWitness = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')
|
|
133
|
+
const iterator = await ChainBlockNumberIterationService.create({ chainArchivist, head })
|
|
133
134
|
const blocks = await iterator.previous(head.block, count)
|
|
134
135
|
|
|
135
136
|
let hydratedBlocks: HydratedBlock[] = []
|
|
@@ -155,15 +156,15 @@ export class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunn
|
|
|
155
156
|
throw new Error('Method not implemented.')
|
|
156
157
|
}
|
|
157
158
|
|
|
158
|
-
transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<
|
|
159
|
+
transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<HydratedTransaction | null> {
|
|
159
160
|
throw new Error('Method not implemented.')
|
|
160
161
|
}
|
|
161
162
|
|
|
162
|
-
transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<
|
|
163
|
+
transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<HydratedTransaction | null> {
|
|
163
164
|
throw new Error('Method not implemented.')
|
|
164
165
|
}
|
|
165
166
|
|
|
166
|
-
transactionByHash(_transactionHash: Hash): Promisable<
|
|
167
|
+
transactionByHash(_transactionHash: Hash): Promisable<HydratedTransaction | null> {
|
|
167
168
|
throw new Error('Method not implemented.')
|
|
168
169
|
}
|
|
169
170
|
|