@xyo-network/xl1-rpc 1.3.29 → 1.3.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.
@@ -75,7 +75,7 @@ var MemoryXyoNetwork = class {
75
75
 
76
76
  // src/provider/provider/MemoryXyoProvider.ts
77
77
  import { assertEx } from "@xylabs/assert";
78
- import { defaultFees } from "@xyo-network/xl1-protocol-sdk";
78
+ import { defaultTransactionFees } from "@xyo-network/xl1-protocol";
79
79
  var MemoryXyoProvider = class {
80
80
  static {
81
81
  __name(this, "MemoryXyoProvider");
@@ -113,7 +113,7 @@ var MemoryXyoProvider = class {
113
113
  const nbfValue = nbf === void 0 ? await this._viewer?.currentBlockNumber() : nbf;
114
114
  if (nbfValue === void 0) throw new Error("Failed to determine nbf");
115
115
  const expValue = exp === void 0 ? nbfValue + 1e3 : exp;
116
- const feesValue = fees === void 0 ? defaultFees : fees;
116
+ const feesValue = fees === void 0 ? defaultTransactionFees : fees;
117
117
  const fromValue = from === void 0 ? await this._signer?.address() : from;
118
118
  if (fromValue === void 0) throw new Error("Failed to determine from address");
119
119
  const signedTransaction = assertEx(await this._signer?.createSignedTransaction(chainValue, elevatedPayloads, additionalPayloads, nbfValue, expValue, feesValue, fromValue), () => "Failed to create transaction");
@@ -256,6 +256,11 @@ var JsonRpcXyoViewer = class {
256
256
  address
257
257
  ]);
258
258
  }
259
+ async accountHistory(address) {
260
+ return await this.transport.sendRequest("xyoViewer_accountBalance", [
261
+ address
262
+ ]);
263
+ }
259
264
  async blockByHash(hash) {
260
265
  return await this.transport.sendRequest("xyoViewer_blockByHash", [
261
266
  hash
@@ -741,6 +746,42 @@ var XyoViewerRpcSchemas = {
741
746
  from: BigIntFromStringSchema
742
747
  }
743
748
  },
749
+ xyoViewer_accountHistory: {
750
+ params: {
751
+ to: z17.union([
752
+ z17.tuple([
753
+ AddressToStringSchema
754
+ ]),
755
+ z17.tuple([
756
+ AddressToStringSchema,
757
+ z17.number()
758
+ ]),
759
+ z17.tuple([
760
+ AddressToStringSchema,
761
+ z17.number(),
762
+ z17.boolean()
763
+ ])
764
+ ]),
765
+ from: z17.union([
766
+ z17.tuple([
767
+ AddressToStringSchema
768
+ ]),
769
+ z17.tuple([
770
+ AddressToStringSchema,
771
+ z17.number()
772
+ ]),
773
+ z17.tuple([
774
+ AddressToStringSchema,
775
+ z17.number(),
776
+ z17.boolean()
777
+ ])
778
+ ])
779
+ },
780
+ result: {
781
+ to: z17.array(z17.array(PayloadSchema)),
782
+ from: z17.array(z17.array(PayloadSchema))
783
+ }
784
+ },
744
785
  xyoViewer_blockByHash: {
745
786
  params: {
746
787
  to: z17.tuple([
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts","../../src/provider/provider/MemoryXyoProvider.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/wallet/JsonRpcXyoWallet.ts","../../src/provider/wallet/MemoryXyoWallet.ts","../../src/transport/HttpRpcTransport.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/XyoWalletRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/transport/MemoryRpcTransport.ts"],"sourcesContent":["import { isUndefined } from '@xylabs/typeof'\nimport type {\n NetworkId, NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: NetworkId\n\n constructor(networkId: NetworkId) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { NetworkId } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: NetworkId\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet',\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence',\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local',\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<NetworkId, StatusNetwork> = {\n mainnet: MainNetworkStats,\n sequence: SequenceNetworkStats,\n local: LocalNetworkStats,\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoNetwork, XyoProvider, XyoRunner, XyoSigner, XyoViewer, XyoWallet,\n} from '@xyo-network/xl1-protocol'\nimport { defaultFees } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoProvider implements XyoProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _viewer?: XyoViewer\n private readonly _wallet?: XyoWallet\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n viewer?: XyoViewer\n wallet?: XyoWallet\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._viewer = params?.viewer\n this._wallet = params?.wallet\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n get wallet(): XyoWallet | undefined {\n return this._wallet\n }\n\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Address,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n const chainValue = chain === undefined ? await this._wallet?.chain() : chain\n if (chainValue === undefined) throw new Error('Failed to determine chain')\n const nbfValue = nbf === undefined ? await this._viewer?.currentBlockNumber() : nbf\n if (nbfValue === undefined) throw new Error('Failed to determine nbf')\n const expValue = exp === undefined ? nbfValue + 1000 : exp\n const feesValue = fees === undefined ? defaultFees : fees\n const fromValue = from === undefined ? await this._signer?.address() : from\n if (fromValue === undefined) throw new Error('Failed to determine from address')\n const signedTransaction = assertEx(await this._signer?.createSignedTransaction(\n chainValue,\n elevatedPayloads,\n additionalPayloads,\n nbfValue,\n expValue,\n feesValue,\n fromValue,\n ), () => 'Failed to create transaction')\n assertEx(await this.runner?.broadcastTransaction([signedTransaction, elevatedPayloads]), () => 'Failed to broadcast transaction')\n return signedTransaction\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type {\n SignedHydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const pendingArchivist = await this.getPendingArchivist()\n await pendingArchivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const diviner = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(diviner), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return this._pendingArchivist\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n}\n","import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport {\n type SignedHydratedBlock, type SignedHydratedTransaction, type XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<SignedHydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoWalletRpcSchemas } from '../../types/index.ts'\n\nexport class JsonRpcXyoWallet implements XyoWallet {\n protected readonly transport: RpcTransport<typeof XyoWalletRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoWalletRpcSchemas>) {\n this.transport = transport\n }\n\n async accounts(): Promise<Address[]> {\n return await this.transport.sendRequest('xyoWallet_accounts')\n }\n\n async addChain(chain: Address, name?: string): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_addChain', [chain, name])\n }\n\n async chain(): Promise<Address> {\n return await this.transport.sendRequest('xyoWallet_chain')\n }\n\n async chains(): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_chains')\n }\n\n async permissions(): Promise<Record<string, object>> {\n return await this.transport.sendRequest('xyoWallet_permissions')\n }\n\n async requestPermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_requestPermissions', [permissions])\n }\n\n async revokePermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_revokePermissions', [permissions])\n }\n\n async switchChain(chain: Address): Promise<void> {\n return await this.transport.sendRequest('xyoWallet_switchChain', [chain])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { isDefined } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoWallet implements XyoWallet {\n protected readonly _account: AccountInstance\n protected _chain: Address | undefined\n protected readonly _chains: Record<Address, string | undefined> = {}\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n accounts(): Address[] {\n return [this._account.address]\n }\n\n addChain(chain: Address, name?: string): object {\n this._chains[chain] = name\n return this.chains()\n }\n\n chain(): Address {\n return assertEx(this._chain, () => 'Chain not set')\n }\n\n chains(): object {\n return this._chains\n }\n\n permissions(): Record<string, object> {\n throw new Error('Method not implemented.')\n }\n\n requestPermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n switchChain(chain: Address): void {\n if (isDefined(this._chains[chain])) {\n this._chain = chain\n } else {\n throw new Error(`Chain ${chain} not found in wallet`)\n }\n }\n}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isUndefinedOrNull } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n }\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import { hexToBigInt, toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => toHex(x))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(toHex(x)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => toHex(v))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v))\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v))\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoWalletRpcMethodName } from '../XyoWalletRpc.ts'\nimport {\n AddressFromStringSchema,\n AddressToStringSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoWalletRpcSchemas: RpcSchemaMap<XyoWalletRpcMethodName> = {\n xyoWallet_accounts: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(AddressToStringSchema),\n from: z.array(AddressFromStringSchema),\n },\n },\n xyoWallet_addChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_chain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoWallet_chains: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_permissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_requestPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_revokePermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_switchChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\nimport { XyoWalletRpcSchemas } from './XyoWalletRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoWalletRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n"],"mappings":"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","names":["isUndefined","isNetworkStatus","axios","NetworkStatusSchema","unknownStatus","description","schema","state","errorStatus","MainNetworkStats","id","statusUrl","SequenceNetworkStats","LocalNetworkStats","StatusNetworks","mainnet","sequence","local","MemoryXyoNetwork","_networkId","constructor","networkId","status","statusNetwork","StatusNetworks","isUndefined","Error","makeRequest","statusUrl","url","response","axios","get","isNetworkStatus","data","console","error","unknownStatus","errorStatus","assertEx","defaultFees","MemoryXyoProvider","_network","_runner","_signer","_viewer","_wallet","constructor","params","network","runner","signer","viewer","wallet","send","elevatedPayloads","additionalPayloads","chain","nbf","exp","from","fees","chainValue","undefined","Error","nbfValue","currentBlockNumber","expValue","feesValue","defaultFees","fromValue","address","signedTransaction","assertEx","createSignedTransaction","broadcastTransaction","JsonRpcXyoRunner","transport","constructor","broadcastTransaction","transaction","sendRequest","MemoryArchivist","PayloadBuilder","flattenHydratedTransaction","MemoryXyoRunner","_archivist","broadcastTransaction","transaction","archivist","getArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","MemoryArchivist","create","account","assertEx","asArchivistInstance","PayloadBuilder","flattenHydratedTransaction","NodeXyoRunner","node","pendingArchivistPath","_pendingArchivist","constructor","broadcastTransaction","transaction","pendingArchivist","getPendingArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","getArchivist","identifier","diviner","resolve","assertEx","asArchivistInstance","JsonRpcXyoSigner","transport","constructor","address","sendRequest","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","buildTransaction","MemoryXyoSigner","_account","constructor","account","address","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","fromAddress","transaction","buildTransaction","JsonRpcXyoViewer","transport","constructor","accountBalance","address","sendRequest","blockByHash","hash","blockByNumber","blockNumber","blocksByHash","limit","chainId","currentBlock","currentBlockHash","currentBlockNumber","transactionByBlockHashAndIndex","blockHash","transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","transactionHash","JsonRpcXyoWallet","transport","constructor","accounts","sendRequest","addChain","chain","name","chains","permissions","requestPermissions","revokePermissions","switchChain","assertEx","isDefined","MemoryXyoWallet","_account","_chain","_chains","constructor","account","accounts","address","addChain","chain","name","chains","assertEx","permissions","Error","requestPermissions","_permissions","revokePermissions","switchChain","isDefined","AxiosJson","isUndefinedOrNull","v4","JsonRpcErrorCodes","InternalError","code","message","InvalidParams","InvalidRequest","MethodNotFound","jsonrpc","z","toAddress","AddressRegEx","z","CompiledAddressRegEx","RegExp","AddressToStringSchema","string","toLowerCase","regex","AddressFromStringSchema","transform","v","hexToBigInt","toHex","HexRegEx","z","CompiledHexRegEx","RegExp","BigIntToStringSchema","bigint","nonnegative","transform","x","BigIntFromStringSchema","string","regex","z","BoundWitnessSchema","z","toHex","HashRegEx","z","HashToStringSchema","string","toLowerCase","regex","RegExp","HashFromStringSchema","transform","v","toHex","HexRegEx","z","HexToStringSchema","string","toLowerCase","regex","RegExp","HexFromStringSchema","transform","v","z","z","toHex","SequenceConstants","HexRegExMinMax","z","LocalSequenceRegex","RegExp","localSequenceBytes","LocalSequenceToStringSchema","string","regex","LocalSequenceFromStringSchema","transform","v","QualifiedSequenceRegex","qualifiedSequenceBytes","QualifiedSequenceToStringSchema","QualifiedSequenceFromStringSchema","SequenceToStringSchema","union","SequenceFromStringSchema","StorageMetaSchema","z","object","_hash","HashToStringSchema","_dataHash","_sequence","SequenceToStringSchema","PayloadSchema","z","object","schema","string","passthrough","PayloadWithStorageMetaSchema","extend","StorageMetaSchema","shape","SchemaIdSchema","z","string","BoundWitnessRequiredFieldsSchema","object","addresses","array","AddressToStringSchema","payload_hashes","HashToStringSchema","payload_schemas","previous_hashes","nullable","BoundWitnessMetaSchema","$destination","optional","$sourceQuery","UnsignedBoundWitnessSchema","PayloadSchema","extend","schema","literal","BoundWitnessSchema","merge","passthrough","UnsignedBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedBoundWitnessSchema","$signatures","HexToStringSchema","SignedBoundWitnessWithStorageMetaSchema","BlockNumberSchema","z","number","int","nonnegative","BlockBoundWitnessFieldsSchema","object","block","chain","HexToStringSchema","previous","nullable","protocol","optional","step_hashes","array","BlockBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","BlockBoundWitnessWithStorageMetaSchema","UnsignedBoundWitnessWithStorageMetaSchema","SignedBlockBoundWitnessSchema","SignedBoundWitnessSchema","SignedBlockBoundWitnessWithStorageMetaSchema","SignedBoundWitnessWithStorageMetaSchema","z","HydratedBlockSchema","z","tuple","BlockBoundWitnessSchema","array","PayloadSchema","HydratedBlockWithStorageMetaSchema","BlockBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedHydratedBlockSchema","SignedBlockBoundWitnessSchema","SignedHydratedBlockWithStorageMetaSchema","SignedBlockBoundWitnessWithStorageMetaSchema","z","z","BlockStartSchema","z","object","nbf","BlockNumberSchema","BlockEndSchema","exp","BlockDurationSchema","TransactionFeesSchema","fees","base","HexToStringSchema","gasLimit","gasPrice","priority","TransactionBoundWitnessFields","chain","AddressToStringSchema","TransactionBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","SignedTransactionBoundWitnessSchema","SignedBoundWitnessSchema","HydratedTransactionSchema","z","tuple","TransactionBoundWitnessSchema","array","PayloadSchema","SignedHydratedTransactionSchema","SignedTransactionBoundWitnessSchema","z","TransactionFeesToStingSchema","z","object","base","BigIntToStringSchema","gasLimit","gasPrice","priority","TransactionFeesFromStingSchema","BigIntFromStringSchema","XyoProviderRpcSchemas","xyoProvider_send","params","to","z","tuple","AddressFromStringSchema","array","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","optional","from","AddressToStringSchema","TransactionFeesFromStingSchema","result","SignedTransactionBoundWitnessSchema","z","XyoRunnerRpcSchemas","xyoRunner_broadcastTransaction","params","to","z","tuple","SignedHydratedTransactionSchema","from","result","HashToStringSchema","HashFromStringSchema","z","XyoSignerRpcSchemas","xyoSigner_address","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoSigner_createSignedTransaction","tuple","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","TransactionFeesFromStingSchema","SignedTransactionBoundWitnessSchema","z","XyoViewerRpcSchemas","xyoViewer_accountBalance","params","to","z","union","tuple","AddressToStringSchema","number","boolean","from","result","BigIntToStringSchema","BigIntFromStringSchema","xyoViewer_blockByHash","HashToStringSchema","HashFromStringSchema","SignedHydratedBlockSchema","xyoViewer_blockByNumber","xyoViewer_blocksByHash","optional","array","xyoViewer_chainId","any","length","AddressFromStringSchema","xyoViewer_currentBlock","xyoViewer_currentBlockHash","xyoViewer_currentBlockNumber","BlockNumberSchema","xyoViewer_transactionByBlockHashAndIndex","SignedHydratedTransactionSchema","nullable","xyoViewer_transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","z","XyoWalletRpcSchemas","xyoWallet_accounts","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoWallet_addChain","xyoWallet_chain","xyoWallet_chains","xyoWallet_permissions","xyoWallet_requestPermissions","xyoWallet_revokePermissions","xyoWallet_switchChain","AllRpcSchemas","XyoProviderRpcSchemas","XyoRunnerRpcSchemas","XyoSignerRpcSchemas","XyoViewerRpcSchemas","XyoWalletRpcSchemas","z","createRequestSchema","methodName","paramsSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","method","params","z","createResponseSchema","resultSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","result","HttpRpcTransport","_rpcUrl","_schemas","constructor","rpcUrl","schemas","sendRequest","method","params","callRpc","url","id","v4","body","jsonrpc","to","parse","res","AxiosJson","post","json","data","isUndefinedOrNull","error","Error","message","result","from","isObject","v4","MemoryRpcTransport","_rpcEngine","_schemas","requestSchemas","responseSchemas","constructor","rpcEngine","schemas","AllRpcSchemas","sendRequest","method","params","schema","requestSchema","isObject","createRequestSchema","to","req","jsonrpc","id","v4","request","parse","response","handle","responseSchema","createResponseSchema","result","from"]}
1
+ {"version":3,"sources":["../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts","../../src/provider/provider/MemoryXyoProvider.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/wallet/JsonRpcXyoWallet.ts","../../src/provider/wallet/MemoryXyoWallet.ts","../../src/transport/HttpRpcTransport.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/XyoWalletRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/transport/MemoryRpcTransport.ts"],"sourcesContent":["import { isUndefined } from '@xylabs/typeof'\nimport type {\n NetworkId, NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: NetworkId\n\n constructor(networkId: NetworkId) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { NetworkId } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: NetworkId\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet',\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence',\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local',\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<NetworkId, StatusNetwork> = {\n mainnet: MainNetworkStats,\n sequence: SequenceNetworkStats,\n local: LocalNetworkStats,\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport {\n type AllowedBlockPayload, defaultTransactionFees,\n type TransactionBoundWitness, type TransactionFeesBigInt, type XyoNetwork, type XyoProvider, type XyoRunner, type XyoSigner, type XyoViewer, type XyoWallet,\n} from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoProvider implements XyoProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _viewer?: XyoViewer\n private readonly _wallet?: XyoWallet\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n viewer?: XyoViewer\n wallet?: XyoWallet\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._viewer = params?.viewer\n this._wallet = params?.wallet\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n get wallet(): XyoWallet | undefined {\n return this._wallet\n }\n\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Address,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n const chainValue = chain === undefined ? await this._wallet?.chain() : chain\n if (chainValue === undefined) throw new Error('Failed to determine chain')\n const nbfValue = nbf === undefined ? await this._viewer?.currentBlockNumber() : nbf\n if (nbfValue === undefined) throw new Error('Failed to determine nbf')\n const expValue = exp === undefined ? nbfValue + 1000 : exp\n const feesValue = fees === undefined ? defaultTransactionFees : fees\n const fromValue = from === undefined ? await this._signer?.address() : from\n if (fromValue === undefined) throw new Error('Failed to determine from address')\n const signedTransaction = assertEx(await this._signer?.createSignedTransaction(\n chainValue,\n elevatedPayloads,\n additionalPayloads,\n nbfValue,\n expValue,\n feesValue,\n fromValue,\n ), () => 'Failed to create transaction')\n assertEx(await this.runner?.broadcastTransaction([signedTransaction, elevatedPayloads]), () => 'Failed to broadcast transaction')\n return signedTransaction\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type {\n SignedHydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const pendingArchivist = await this.getPendingArchivist()\n await pendingArchivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const diviner = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(diviner), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return this._pendingArchivist\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n}\n","import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport type {\n SignedHydratedBlock, SignedHydratedTransaction,\n TransactionBoundWitness,\n Transfer,\n XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<SignedHydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoWalletRpcSchemas } from '../../types/index.ts'\n\nexport class JsonRpcXyoWallet implements XyoWallet {\n protected readonly transport: RpcTransport<typeof XyoWalletRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoWalletRpcSchemas>) {\n this.transport = transport\n }\n\n async accounts(): Promise<Address[]> {\n return await this.transport.sendRequest('xyoWallet_accounts')\n }\n\n async addChain(chain: Address, name?: string): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_addChain', [chain, name])\n }\n\n async chain(): Promise<Address> {\n return await this.transport.sendRequest('xyoWallet_chain')\n }\n\n async chains(): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_chains')\n }\n\n async permissions(): Promise<Record<string, object>> {\n return await this.transport.sendRequest('xyoWallet_permissions')\n }\n\n async requestPermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_requestPermissions', [permissions])\n }\n\n async revokePermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_revokePermissions', [permissions])\n }\n\n async switchChain(chain: Address): Promise<void> {\n return await this.transport.sendRequest('xyoWallet_switchChain', [chain])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { isDefined } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoWallet implements XyoWallet {\n protected readonly _account: AccountInstance\n protected _chain: Address | undefined\n protected readonly _chains: Record<Address, string | undefined> = {}\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n accounts(): Address[] {\n return [this._account.address]\n }\n\n addChain(chain: Address, name?: string): object {\n this._chains[chain] = name\n return this.chains()\n }\n\n chain(): Address {\n return assertEx(this._chain, () => 'Chain not set')\n }\n\n chains(): object {\n return this._chains\n }\n\n permissions(): Record<string, object> {\n throw new Error('Method not implemented.')\n }\n\n requestPermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n switchChain(chain: Address): void {\n if (isDefined(this._chains[chain])) {\n this._chain = chain\n } else {\n throw new Error(`Chain ${chain} not found in wallet`)\n }\n }\n}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isUndefinedOrNull } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n }\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import { hexToBigInt, toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => toHex(x))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(toHex(x)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => toHex(v))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v))\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v))\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n PayloadSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_accountHistory: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: z.array(z.array(PayloadSchema)),\n from: z.array(z.array(PayloadSchema)),\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoWalletRpcMethodName } from '../XyoWalletRpc.ts'\nimport {\n AddressFromStringSchema,\n AddressToStringSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoWalletRpcSchemas: RpcSchemaMap<XyoWalletRpcMethodName> = {\n xyoWallet_accounts: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(AddressToStringSchema),\n from: z.array(AddressFromStringSchema),\n },\n },\n xyoWallet_addChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_chain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoWallet_chains: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_permissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_requestPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_revokePermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_switchChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\nimport { XyoWalletRpcSchemas } from './XyoWalletRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoWalletRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n"],"mappings":"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","names":["isUndefined","isNetworkStatus","axios","NetworkStatusSchema","unknownStatus","description","schema","state","errorStatus","MainNetworkStats","id","statusUrl","SequenceNetworkStats","LocalNetworkStats","StatusNetworks","mainnet","sequence","local","MemoryXyoNetwork","_networkId","constructor","networkId","status","statusNetwork","StatusNetworks","isUndefined","Error","makeRequest","statusUrl","url","response","axios","get","isNetworkStatus","data","console","error","unknownStatus","errorStatus","assertEx","defaultTransactionFees","MemoryXyoProvider","_network","_runner","_signer","_viewer","_wallet","constructor","params","network","runner","signer","viewer","wallet","send","elevatedPayloads","additionalPayloads","chain","nbf","exp","from","fees","chainValue","undefined","Error","nbfValue","currentBlockNumber","expValue","feesValue","defaultTransactionFees","fromValue","address","signedTransaction","assertEx","createSignedTransaction","broadcastTransaction","JsonRpcXyoRunner","transport","constructor","broadcastTransaction","transaction","sendRequest","MemoryArchivist","PayloadBuilder","flattenHydratedTransaction","MemoryXyoRunner","_archivist","broadcastTransaction","transaction","archivist","getArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","MemoryArchivist","create","account","assertEx","asArchivistInstance","PayloadBuilder","flattenHydratedTransaction","NodeXyoRunner","node","pendingArchivistPath","_pendingArchivist","constructor","broadcastTransaction","transaction","pendingArchivist","getPendingArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","getArchivist","identifier","diviner","resolve","assertEx","asArchivistInstance","JsonRpcXyoSigner","transport","constructor","address","sendRequest","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","buildTransaction","MemoryXyoSigner","_account","constructor","account","address","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","fromAddress","transaction","buildTransaction","JsonRpcXyoViewer","transport","constructor","accountBalance","address","sendRequest","accountHistory","blockByHash","hash","blockByNumber","blockNumber","blocksByHash","limit","chainId","currentBlock","currentBlockHash","currentBlockNumber","transactionByBlockHashAndIndex","blockHash","transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","transactionHash","JsonRpcXyoWallet","transport","constructor","accounts","sendRequest","addChain","chain","name","chains","permissions","requestPermissions","revokePermissions","switchChain","assertEx","isDefined","MemoryXyoWallet","_account","_chain","_chains","constructor","account","accounts","address","addChain","chain","name","chains","assertEx","permissions","Error","requestPermissions","_permissions","revokePermissions","switchChain","isDefined","AxiosJson","isUndefinedOrNull","v4","JsonRpcErrorCodes","InternalError","code","message","InvalidParams","InvalidRequest","MethodNotFound","jsonrpc","z","toAddress","AddressRegEx","z","CompiledAddressRegEx","RegExp","AddressToStringSchema","string","toLowerCase","regex","AddressFromStringSchema","transform","v","hexToBigInt","toHex","HexRegEx","z","CompiledHexRegEx","RegExp","BigIntToStringSchema","bigint","nonnegative","transform","x","BigIntFromStringSchema","string","regex","z","BoundWitnessSchema","z","toHex","HashRegEx","z","HashToStringSchema","string","toLowerCase","regex","RegExp","HashFromStringSchema","transform","v","toHex","HexRegEx","z","HexToStringSchema","string","toLowerCase","regex","RegExp","HexFromStringSchema","transform","v","z","z","toHex","SequenceConstants","HexRegExMinMax","z","LocalSequenceRegex","RegExp","localSequenceBytes","LocalSequenceToStringSchema","string","regex","LocalSequenceFromStringSchema","transform","v","QualifiedSequenceRegex","qualifiedSequenceBytes","QualifiedSequenceToStringSchema","QualifiedSequenceFromStringSchema","SequenceToStringSchema","union","SequenceFromStringSchema","StorageMetaSchema","z","object","_hash","HashToStringSchema","_dataHash","_sequence","SequenceToStringSchema","PayloadSchema","z","object","schema","string","passthrough","PayloadWithStorageMetaSchema","extend","StorageMetaSchema","shape","SchemaIdSchema","z","string","BoundWitnessRequiredFieldsSchema","object","addresses","array","AddressToStringSchema","payload_hashes","HashToStringSchema","payload_schemas","previous_hashes","nullable","BoundWitnessMetaSchema","$destination","optional","$sourceQuery","UnsignedBoundWitnessSchema","PayloadSchema","extend","schema","literal","BoundWitnessSchema","merge","passthrough","UnsignedBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedBoundWitnessSchema","$signatures","HexToStringSchema","SignedBoundWitnessWithStorageMetaSchema","BlockNumberSchema","z","number","int","nonnegative","BlockBoundWitnessFieldsSchema","object","block","chain","HexToStringSchema","previous","nullable","protocol","optional","step_hashes","array","BlockBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","BlockBoundWitnessWithStorageMetaSchema","UnsignedBoundWitnessWithStorageMetaSchema","SignedBlockBoundWitnessSchema","SignedBoundWitnessSchema","SignedBlockBoundWitnessWithStorageMetaSchema","SignedBoundWitnessWithStorageMetaSchema","z","HydratedBlockSchema","z","tuple","BlockBoundWitnessSchema","array","PayloadSchema","HydratedBlockWithStorageMetaSchema","BlockBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedHydratedBlockSchema","SignedBlockBoundWitnessSchema","SignedHydratedBlockWithStorageMetaSchema","SignedBlockBoundWitnessWithStorageMetaSchema","z","z","BlockStartSchema","z","object","nbf","BlockNumberSchema","BlockEndSchema","exp","BlockDurationSchema","TransactionFeesSchema","fees","base","HexToStringSchema","gasLimit","gasPrice","priority","TransactionBoundWitnessFields","chain","AddressToStringSchema","TransactionBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","SignedTransactionBoundWitnessSchema","SignedBoundWitnessSchema","HydratedTransactionSchema","z","tuple","TransactionBoundWitnessSchema","array","PayloadSchema","SignedHydratedTransactionSchema","SignedTransactionBoundWitnessSchema","z","TransactionFeesToStingSchema","z","object","base","BigIntToStringSchema","gasLimit","gasPrice","priority","TransactionFeesFromStingSchema","BigIntFromStringSchema","XyoProviderRpcSchemas","xyoProvider_send","params","to","z","tuple","AddressFromStringSchema","array","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","optional","from","AddressToStringSchema","TransactionFeesFromStingSchema","result","SignedTransactionBoundWitnessSchema","z","XyoRunnerRpcSchemas","xyoRunner_broadcastTransaction","params","to","z","tuple","SignedHydratedTransactionSchema","from","result","HashToStringSchema","HashFromStringSchema","z","XyoSignerRpcSchemas","xyoSigner_address","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoSigner_createSignedTransaction","tuple","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","TransactionFeesFromStingSchema","SignedTransactionBoundWitnessSchema","z","XyoViewerRpcSchemas","xyoViewer_accountBalance","params","to","z","union","tuple","AddressToStringSchema","number","boolean","from","result","BigIntToStringSchema","BigIntFromStringSchema","xyoViewer_accountHistory","array","PayloadSchema","xyoViewer_blockByHash","HashToStringSchema","HashFromStringSchema","SignedHydratedBlockSchema","xyoViewer_blockByNumber","xyoViewer_blocksByHash","optional","xyoViewer_chainId","any","length","AddressFromStringSchema","xyoViewer_currentBlock","xyoViewer_currentBlockHash","xyoViewer_currentBlockNumber","BlockNumberSchema","xyoViewer_transactionByBlockHashAndIndex","SignedHydratedTransactionSchema","nullable","xyoViewer_transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","z","XyoWalletRpcSchemas","xyoWallet_accounts","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoWallet_addChain","xyoWallet_chain","xyoWallet_chains","xyoWallet_permissions","xyoWallet_requestPermissions","xyoWallet_revokePermissions","xyoWallet_switchChain","AllRpcSchemas","XyoProviderRpcSchemas","XyoRunnerRpcSchemas","XyoSignerRpcSchemas","XyoViewerRpcSchemas","XyoWalletRpcSchemas","z","createRequestSchema","methodName","paramsSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","method","params","z","createResponseSchema","resultSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","result","HttpRpcTransport","_rpcUrl","_schemas","constructor","rpcUrl","schemas","sendRequest","method","params","callRpc","url","id","v4","body","jsonrpc","to","parse","res","AxiosJson","post","json","data","isUndefinedOrNull","error","Error","message","result","from","isObject","v4","MemoryRpcTransport","_rpcEngine","_schemas","requestSchemas","responseSchemas","constructor","rpcEngine","schemas","AllRpcSchemas","sendRequest","method","params","schema","requestSchema","isObject","createRequestSchema","to","req","jsonrpc","id","v4","request","parse","response","handle","responseSchema","createResponseSchema","result","from"]}
@@ -347,6 +347,42 @@ var XyoViewerRpcSchemas = {
347
347
  from: BigIntFromStringSchema
348
348
  }
349
349
  },
350
+ xyoViewer_accountHistory: {
351
+ params: {
352
+ to: z17.union([
353
+ z17.tuple([
354
+ AddressToStringSchema
355
+ ]),
356
+ z17.tuple([
357
+ AddressToStringSchema,
358
+ z17.number()
359
+ ]),
360
+ z17.tuple([
361
+ AddressToStringSchema,
362
+ z17.number(),
363
+ z17.boolean()
364
+ ])
365
+ ]),
366
+ from: z17.union([
367
+ z17.tuple([
368
+ AddressToStringSchema
369
+ ]),
370
+ z17.tuple([
371
+ AddressToStringSchema,
372
+ z17.number()
373
+ ]),
374
+ z17.tuple([
375
+ AddressToStringSchema,
376
+ z17.number(),
377
+ z17.boolean()
378
+ ])
379
+ ])
380
+ },
381
+ result: {
382
+ to: z17.array(z17.array(PayloadSchema)),
383
+ from: z17.array(z17.array(PayloadSchema))
384
+ }
385
+ },
350
386
  xyoViewer_blockByHash: {
351
387
  params: {
352
388
  to: z17.tuple([
@@ -615,6 +651,7 @@ var rpcMethodHandlersFromSigner = /* @__PURE__ */ __name((signer) => {
615
651
  var rpcMethodHandlersFromViewer = /* @__PURE__ */ __name((viewer) => {
616
652
  return {
617
653
  xyoViewer_accountBalance: /* @__PURE__ */ __name((params) => viewer.accountBalance(...params ?? []), "xyoViewer_accountBalance"),
654
+ xyoViewer_accountHistory: /* @__PURE__ */ __name((params) => viewer.accountHistory(...params ?? []), "xyoViewer_accountHistory"),
618
655
  xyoViewer_blockByHash: /* @__PURE__ */ __name((params) => viewer.blockByHash(...params ?? []), "xyoViewer_blockByHash"),
619
656
  xyoViewer_blockByNumber: /* @__PURE__ */ __name((params) => viewer.blockByNumber(...params ?? []), "xyoViewer_blockByNumber"),
620
657
  xyoViewer_blocksByHash: /* @__PURE__ */ __name((params) => viewer.blocksByHash(...params ?? []), "xyoViewer_blocksByHash"),
@@ -776,7 +813,7 @@ var MemoryXyoNetwork = class {
776
813
 
777
814
  // src/provider/provider/MemoryXyoProvider.ts
778
815
  import { assertEx } from "@xylabs/assert";
779
- import { defaultFees } from "@xyo-network/xl1-protocol-sdk";
816
+ import { defaultTransactionFees } from "@xyo-network/xl1-protocol";
780
817
  var MemoryXyoProvider = class {
781
818
  static {
782
819
  __name(this, "MemoryXyoProvider");
@@ -814,7 +851,7 @@ var MemoryXyoProvider = class {
814
851
  const nbfValue = nbf === void 0 ? await this._viewer?.currentBlockNumber() : nbf;
815
852
  if (nbfValue === void 0) throw new Error("Failed to determine nbf");
816
853
  const expValue = exp === void 0 ? nbfValue + 1e3 : exp;
817
- const feesValue = fees === void 0 ? defaultFees : fees;
854
+ const feesValue = fees === void 0 ? defaultTransactionFees : fees;
818
855
  const fromValue = from === void 0 ? await this._signer?.address() : from;
819
856
  if (fromValue === void 0) throw new Error("Failed to determine from address");
820
857
  const signedTransaction = assertEx(await this._signer?.createSignedTransaction(chainValue, elevatedPayloads, additionalPayloads, nbfValue, expValue, feesValue, fromValue), () => "Failed to create transaction");
@@ -957,6 +994,11 @@ var JsonRpcXyoViewer = class {
957
994
  address
958
995
  ]);
959
996
  }
997
+ async accountHistory(address) {
998
+ return await this.transport.sendRequest("xyoViewer_accountBalance", [
999
+ address
1000
+ ]);
1001
+ }
960
1002
  async blockByHash(hash) {
961
1003
  return await this.transport.sendRequest("xyoViewer_blockByHash", [
962
1004
  hash
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/engine/rpcEngineFromProvider.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/XyoWalletRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromWallet.ts","../../src/engine/rpcMethodHandlersFromProvider.ts","../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts","../../src/provider/provider/MemoryXyoProvider.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/wallet/JsonRpcXyoWallet.ts","../../src/provider/wallet/MemoryXyoWallet.ts","../../src/transport/HttpRpcTransport.ts","../../src/transport/MemoryRpcTransport.ts"],"sourcesContent":["import { createAsyncMiddleware, JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { Json } from '@metamask/utils'\nimport type { XyoProvider } from '@xyo-network/xl1-protocol'\nimport type { AnyZodObject } from 'zod'\n\nimport {\n AllRpcSchemas, createRequestSchema, JsonRpcErrorCodes,\n} from '../types/index.ts'\nimport { rpcMethodHandlersFromProvider } from './rpcMethodHandlersFromProvider.ts'\n\nconst requestSchemas: Record<string, AnyZodObject | undefined> = {}\n\nexport const rpcEngineFromProvider = (provider: XyoProvider) => {\n const engine = new JsonRpcEngine()\n const handlers = rpcMethodHandlersFromProvider(provider)\n engine.push(\n createAsyncMiddleware(async (req, res) => {\n // Get method name\n const method = req.method as keyof typeof handlers & keyof typeof requestSchemas\n // Get schema for method\n const handler = handlers[method]\n // Get handler for method\n const schema = AllRpcSchemas[method]\n\n // If no schema or handler exists\n if (schema === undefined || handler === undefined) {\n // return method not found error\n res.error = JsonRpcErrorCodes.MethodNotFound\n return\n }\n\n // Validate request according to schema\n let requestSchema = requestSchemas[method]\n if (requestSchema == undefined) {\n requestSchema = createRequestSchema(method, schema.params.from)\n requestSchemas[method] = requestSchema\n }\n\n const parsed = requestSchema.safeParse(req)\n // If validation fails\n if (!parsed.success) {\n res.error = {\n // Return invalid params error\n ...JsonRpcErrorCodes.InvalidParams,\n // with the specific validation error message\n message: parsed.error.message,\n }\n return\n }\n\n // Call handler with validated params\n const { params } = parsed.data\n const result = await handler(params as never)\n // Parse handler result according to schema\n res.result = schema.result.to.parse(result) as Json\n }),\n )\n return engine\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import { hexToBigInt, toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => toHex(x))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(toHex(x)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => toHex(v))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v))\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v))\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoWalletRpcMethodName } from '../XyoWalletRpc.ts'\nimport {\n AddressFromStringSchema,\n AddressToStringSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoWalletRpcSchemas: RpcSchemaMap<XyoWalletRpcMethodName> = {\n xyoWallet_accounts: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(AddressToStringSchema),\n from: z.array(AddressFromStringSchema),\n },\n },\n xyoWallet_addChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_chain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoWallet_chains: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_permissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_requestPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_revokePermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_switchChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\nimport { XyoWalletRpcSchemas } from './XyoWalletRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoWalletRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromSigner = (signer: XyoSigner): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_createSignedTransaction: params => signer.createSignedTransaction(...(params ?? [])),\n }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_accountBalance: params => viewer.accountBalance(...(params ?? [])),\n xyoViewer_blockByHash: params => viewer.blockByHash(...(params ?? [])),\n xyoViewer_blockByNumber: params => viewer.blockByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_chainId: params => viewer.chainId(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_currentBlockHash: params => viewer.currentBlockHash(...(params ?? [])),\n xyoViewer_currentBlockNumber: params => viewer.currentBlockNumber(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transactionByBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transactionByBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transactionByHash(...(params ?? [])),\n }\n}\n","import type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { XyoWalletRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromWallet = (wallet: XyoWallet): XyoWalletRpcMethodHandlers => {\n return {\n xyoWallet_accounts: params => wallet.accounts(...(params ?? [])),\n xyoWallet_addChain: params => wallet.addChain(...(params ?? [])),\n xyoWallet_chain: params => wallet.chain(...(params ?? [])),\n xyoWallet_chains: params => wallet.chains(...(params ?? [])),\n xyoWallet_permissions: params => wallet.permissions(...(params ?? [])),\n xyoWallet_requestPermissions: params => wallet.requestPermissions(...(params ?? [])),\n xyoWallet_revokePermissions: params => wallet.revokePermissions(...(params ?? [])),\n xyoWallet_switchChain: params => wallet.switchChain(...(params ?? [])),\n }\n}\n","import type { XyoProvider } from '@xyo-network/xl1-protocol'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromSigner } from './rpcMethodHandlersFromSigner.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\nimport { rpcMethodHandlersFromWallet } from './rpcMethodHandlersFromWallet.ts'\n\nexport const rpcMethodHandlersFromProvider = (provider: XyoProvider): XyoProviderRpcMethodHandlers => {\n const {\n runner, signer, viewer, wallet,\n } = provider\n let result: XyoProviderRpcMethodHandlers = { xyoProvider_send: params => (provider as Required<XyoProvider>).send(...(params ?? [])) }\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (signer) result = { ...result, ...rpcMethodHandlersFromSigner(signer) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n if (wallet) result = { ...result, ...rpcMethodHandlersFromWallet(wallet) }\n return result\n}\n","import { isUndefined } from '@xylabs/typeof'\nimport type {\n NetworkId, NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: NetworkId\n\n constructor(networkId: NetworkId) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { NetworkId } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: NetworkId\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet',\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence',\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local',\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<NetworkId, StatusNetwork> = {\n mainnet: MainNetworkStats,\n sequence: SequenceNetworkStats,\n local: LocalNetworkStats,\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoNetwork, XyoProvider, XyoRunner, XyoSigner, XyoViewer, XyoWallet,\n} from '@xyo-network/xl1-protocol'\nimport { defaultFees } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoProvider implements XyoProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _viewer?: XyoViewer\n private readonly _wallet?: XyoWallet\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n viewer?: XyoViewer\n wallet?: XyoWallet\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._viewer = params?.viewer\n this._wallet = params?.wallet\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n get wallet(): XyoWallet | undefined {\n return this._wallet\n }\n\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Address,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n const chainValue = chain === undefined ? await this._wallet?.chain() : chain\n if (chainValue === undefined) throw new Error('Failed to determine chain')\n const nbfValue = nbf === undefined ? await this._viewer?.currentBlockNumber() : nbf\n if (nbfValue === undefined) throw new Error('Failed to determine nbf')\n const expValue = exp === undefined ? nbfValue + 1000 : exp\n const feesValue = fees === undefined ? defaultFees : fees\n const fromValue = from === undefined ? await this._signer?.address() : from\n if (fromValue === undefined) throw new Error('Failed to determine from address')\n const signedTransaction = assertEx(await this._signer?.createSignedTransaction(\n chainValue,\n elevatedPayloads,\n additionalPayloads,\n nbfValue,\n expValue,\n feesValue,\n fromValue,\n ), () => 'Failed to create transaction')\n assertEx(await this.runner?.broadcastTransaction([signedTransaction, elevatedPayloads]), () => 'Failed to broadcast transaction')\n return signedTransaction\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type {\n SignedHydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const pendingArchivist = await this.getPendingArchivist()\n await pendingArchivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const diviner = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(diviner), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return this._pendingArchivist\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n}\n","import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport {\n type SignedHydratedBlock, type SignedHydratedTransaction, type XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<SignedHydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoWalletRpcSchemas } from '../../types/index.ts'\n\nexport class JsonRpcXyoWallet implements XyoWallet {\n protected readonly transport: RpcTransport<typeof XyoWalletRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoWalletRpcSchemas>) {\n this.transport = transport\n }\n\n async accounts(): Promise<Address[]> {\n return await this.transport.sendRequest('xyoWallet_accounts')\n }\n\n async addChain(chain: Address, name?: string): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_addChain', [chain, name])\n }\n\n async chain(): Promise<Address> {\n return await this.transport.sendRequest('xyoWallet_chain')\n }\n\n async chains(): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_chains')\n }\n\n async permissions(): Promise<Record<string, object>> {\n return await this.transport.sendRequest('xyoWallet_permissions')\n }\n\n async requestPermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_requestPermissions', [permissions])\n }\n\n async revokePermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_revokePermissions', [permissions])\n }\n\n async switchChain(chain: Address): Promise<void> {\n return await this.transport.sendRequest('xyoWallet_switchChain', [chain])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { isDefined } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoWallet implements XyoWallet {\n protected readonly _account: AccountInstance\n protected _chain: Address | undefined\n protected readonly _chains: Record<Address, string | undefined> = {}\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n accounts(): Address[] {\n return [this._account.address]\n }\n\n addChain(chain: Address, name?: string): object {\n this._chains[chain] = name\n return this.chains()\n }\n\n chain(): Address {\n return assertEx(this._chain, () => 'Chain not set')\n }\n\n chains(): object {\n return this._chains\n }\n\n permissions(): Record<string, object> {\n throw new Error('Method not implemented.')\n }\n\n requestPermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n switchChain(chain: Address): void {\n if (isDefined(this._chains[chain])) {\n this._chain = chain\n } else {\n throw new Error(`Chain ${chain} not found in wallet`)\n }\n }\n}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isUndefinedOrNull } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n }\n}\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n"],"mappings":";;;;AAAA,SAASA,uBAAuBC,qBAAqB;;;ACG9C,IAAMC,oBAAuE;EAClFC,eAAe;IAAEC,MAAM;IAASC,SAAS;EAAkD;EAC3FC,eAAe;IAAEF,MAAM;IAASC,SAAS;EAA+B;EACxEE,gBAAgB;IAAEH,MAAM;IAASC,SAAS;EAA+C;EACzFG,gBAAgB;IAAEJ,MAAM;IAASC,SAAS;EAAiD;AAC7F;;;ACRO,IAAMI,UAAU;;;ACAvB,SAASC,KAAAA,WAAS;;;ACClB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,SAAS;AAElB,IAAMC,uBAAuB,IAAIC,OAAOH,YAAAA;AAEjC,IAAMI,wBAAwBH,EAAEI,OAAM,EAAGC,YAAW,EAAGC,MAAML,oBAAAA;AAC7D,IAAMM,0BAA0BP,EAAEI,OAAM,EAAGC,YAAW,EAAGC,MAAML,oBAAAA,EAAsBO,UAAmBC,CAAAA,MAAKX,UAAUW,CAAAA,CAAAA;;;ACR9H,SAASC,aAAaC,aAAa;AACnC,SAASC,gBAAgB;AACzB,SAASC,KAAAA,UAAS;AAElB,IAAMC,mBAAmB,IAAIC,OAAOH,QAAAA;AAE7B,IAAMI,uBAAuBH,GAAEI,OAAM,EAAGC,YAAW,EAAGC,UAAUC,CAAAA,MAAKT,MAAMS,CAAAA,CAAAA;AAC3E,IAAMC,yBAAyBR,GAAES,OAAM,EAAGC,MAAMT,gBAAAA,EAAkBK,UAAUC,CAAAA,MAAKV,YAAYC,MAAMS,CAAAA,CAAAA,CAAAA;;;ACP1G,SAASI,KAAAA,UAAS;;;ACAlB,SAASC,0BAA0B;AACnC,SAASC,KAAAA,UAAS;;;ACAlB,SAASC,SAAAA,cAAa;AACtB,SAASC,iBAAiB;AAC1B,SAASC,KAAAA,UAAS;AAEX,IAAMC,qBAAqBD,GAAEE,OAAM,EAAGC,YAAW,EAAGC,MAAM,IAAIC,OAAON,SAAAA,CAAAA;AACrE,IAAMO,uBAAuBN,GAAEE,OAAM,EAAGC,YAAW,EAAGC,MAAM,IAAIC,OAAON,SAAAA,CAAAA,EAAYQ,UAAgBC,CAAAA,MAAKV,OAAMU,CAAAA,CAAAA;;;ACLrH,SAASC,SAAAA,cAAa;AACtB,SAASC,YAAAA,iBAAgB;AACzB,SAASC,KAAAA,UAAS;AAEX,IAAMC,oBAAoBD,GAAEE,OAAM,EAAGC,YAAW,EAAGC,MAAM,IAAIC,OAAON,SAAAA,CAAAA;AACpE,IAAMO,sBAAsBN,GAAEE,OAAM,EAAGC,YAAW,EAAGC,MAAM,IAAIC,OAAON,SAAAA,CAAAA,EAAWQ,UAAeC,CAAAA,MAAKV,OAAMU,CAAAA,CAAAA;;;ACNlH,SAASC,KAAAA,UAAS;;;ACAlB,SAASC,KAAAA,UAAS;;;ACAlB,SAASC,SAAAA,cAAa;AAKtB,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,KAAAA,UAAS;AAElB,IAAMC,qBAAqB,IAAIC,OAAOH,eAAeD,kBAAkBK,oBAAoBL,kBAAkBK,kBAAkB,CAAA;AACxH,IAAMC,8BAA8BJ,GAAEK,OAAM,EAAGC,MAAML,kBAAAA;AACrD,IAAMM,gCAAgCP,GAAEK,OAAM,EAAGC,MAAML,kBAAAA,EAAoBO,UAAyBC,CAAAA,MAAKZ,OAAMY,CAAAA,CAAAA;AAEtH,IAAMC,yBAAyB,IAAIR,OAAOH,eAAeD,kBAAkBa,wBAAwBb,kBAAkBa,sBAAsB,CAAA;AACpI,IAAMC,kCAAkCZ,GAAEK,OAAM,EAAGC,MAAMI,sBAAAA;AACzD,IAAMG,oCAAoCb,GAAEK,OAAM,EAAGC,MAAMI,sBAAAA,EAAwBF,UAA6BC,CAAAA,MAAKZ,OAAMY,CAAAA,CAAAA;AAE3H,IAAMK,yBAAyBd,GAAEe,MAAM;EAACX;EAA6BQ;CAAgC;AACrG,IAAMI,2BAA2BhB,GAAEe,MAAM;EAACR;EAA+BM;CAAkC;;;ADb3G,IAAMI,oBAAoBC,GAAEC,OAAO;EACxCC,OAAOC;EACPC,WAAWD;EACXE,WAAWC;AACb,CAAA;;;ADLO,IAAMC,gBAAgBC,GAAEC,OAAO;EAAEC,QAAQF,GAAEG,OAAM;AAAG,CAAA,EAAGC,YAAW;AAClE,IAAMC,+BAA+BN,cAAcO,OAAOC,kBAAkBC,KAAK,EAAEJ,YAAW;;;AHG9F,IAAMK,iBAAiBC,GAAEC,OAAM;AAEtC,IAAMC,mCAAmCF,GAAEG,OAAO;EAChDC,WAAWJ,GAAEK,MAAMC,qBAAAA;EACnBC,gBAAgBP,GAAEK,MAAMG,kBAAAA;EACxBC,iBAAiBT,GAAEK,MAAMN,cAAAA;EACzBW,iBAAiBV,GAAEK,MAAMG,mBAAmBG,SAAQ,CAAA;AACtD,CAAA;AAEA,IAAMC,yBAAyBZ,GAAEG,OAAO;EACtCU,cAAcP,sBAAsBQ,SAAQ;EAC5CC,cAAcP,mBAAmBM,SAAQ;AAC3C,CAAA;AAEO,IAAME,6BAA6BC,cACvCC,OAAO;EAAEC,QAAQnB,GAAEoB,QAAQC,kBAAAA;AAAoB,CAAA,EAC/CC,MAAMpB,gCAAAA,EACNoB,MAAMV,sBAAAA,EACNW,YAAW;AAEP,IAAMC,4CAA4CC,6BACtDP,OAAO;EAAEC,QAAQnB,GAAEoB,QAAQC,kBAAAA;AAAoB,CAAA,EAC/CC,MAAMpB,gCAAAA,EACNoB,MAAMV,sBAAAA,EACNW,YAAW;AAEP,IAAMG,2BAA2BV,2BACrCE,OACC;EAAES,aAAa3B,GAAEK,MAAMuB,iBAAAA;AAAmB,CAAA,EAE3CL,YAAW;AAEP,IAAMM,0CAA0CL,0CACpDN,OACC;EAAES,aAAa3B,GAAEK,MAAMuB,iBAAAA;AAAmB,CAAA,EAE3CL,YAAW;;;ADrCP,IAAMO,oBAAoBC,GAAEC,OAAM,EAAGC,IAAG,EAAGC,YAAW;AAE7D,IAAMC,gCAAgCJ,GAAEK,OAAO;EAC7CC,OAAOP;EACPQ,OAAOC;EACPC,UAAUD,kBAAkBE,SAAQ;EACpCC,UAAUX,GAAEC,OAAM,EAAGW,SAAQ;EAC7BC,aAAab,GAAEc,MAAMN,iBAAAA,EAAmBI,SAAQ;AAClD,CAAA;AAEO,IAAMG,0BAA0BC,2BACpCC,MAAMb,6BAAAA,EACNc,YAAW;AACP,IAAMC,yCAAyCC,0CACnDH,MAAMb,6BAAAA,EACNc,YAAW;AAEP,IAAMG,gCAAgCC,yBAC1CL,MAAMb,6BAAAA,EACNc,YAAW;AACP,IAAMK,+CAA+CC,wCACzDP,MAAMb,6BAAAA,EACNc,YAAW;;;AO7Bd,SAASO,KAAAA,WAAS;AAOX,IAAMC,sBAAsBC,IAAEC,MAAM;EACzCC;EACAF,IAAEG,MAAMC,aAAAA;CACT;AAEM,IAAMC,qCAAqCL,IAAEC,MAAM;EACxDK;EACAN,IAAEG,MAAMI,4BAAAA;CACT;AAEM,IAAMC,4BAA4BR,IAAEC,MAAM;EAC/CQ;EACAT,IAAEG,MAAMC,aAAAA;CACT;AAEM,IAAMM,2CAA2CV,IAAEC,MAAM;EAC9DU;EACAX,IAAEG,MAAMI,4BAAAA;CACT;;;ACzBD,SAASK,KAAAA,WAAS;;;ACAlB,OAAOC,SAAO;AAOP,IAAMC,mBAAmBC,IAAEC,OAAO;EAAEC,KAAKC;AAAkB,CAAA;AAC3D,IAAMC,iBAAiBJ,IAAEC,OAAO;EAAEI,KAAKF;AAAkB,CAAA;AACzD,IAAMG,sBAAsBN,IAAEC,OAAO;EAAEC,KAAKC;EAAmBE,KAAKF;AAAkB,CAAA;AAEtF,IAAMI,wBAAwBP,IAAEC,OAAO;EAC5CO,MAAMR,IAAEC,OAAO;IACbQ,MAAMC;IACNC,UAAUD;IACVE,UAAUF;IACVG,UAAUH;EACZ,CAAA;AACF,CAAA;AAEA,IAAMI,gCAAgCd,IAAEC,OAAO;EAAEc,OAAOC;AAAsB,CAAA;AAEvE,IAAMC,gCAAgCC,2BAC1CC,MAAMb,mBAAAA,EACNa,MAAMZ,qBAAAA,EACNY,MAAML,6BAAAA,EACNM,YAAW;AAEP,IAAMC,sCAAsCC,yBAChDH,MAAMb,mBAAAA,EACNa,MAAMZ,qBAAAA,EACNY,MAAML,6BAAAA,EACNM,YAAW;;;AD3BP,IAAMG,4BAA4BC,IAAEC,MAAM;EAC/CC;EACAF,IAAEG,MAAMC,aAAAA;CACT;AAEM,IAAMC,kCAAkCL,IAAEC,MAAM;EACrDK;EACAN,IAAEG,MAAMC,aAAAA;CACT;;;AEbD,SAASG,KAAAA,WAAS;AAIX,IAAMC,+BAA+BC,IAAEC,OAAO;EACnDC,MAAMC;EACNC,UAAUD;EACVE,UAAUF;EACVG,UAAUH;AACZ,CAAA;AAEO,IAAMI,iCAAiCP,IAAEC,OAAO;EACrDC,MAAMM;EACNJ,UAAUI;EACVH,UAAUG;EACVF,UAAUE;AACZ,CAAA;;;AbPO,IAAMC,wBAAgE;EAC3EC,kBAAkB;IAChBC,QAAQ;MACNC,IAAIC,IAAEC,MAAM;QACVC;QACAF,IAAEG,MAAMC,aAAAA;QACRJ,IAAEG,MAAMC,aAAAA;QACRJ,IAAEK,OAAM,EAAGC,YAAW;QACtBN,IAAEK,OAAM,EAAGC,YAAW;QACtBC;QACAL,wBAAwBM,SAAQ;OACjC;MACDC,MAAMT,IAAEC,MAAM;QACZS;QACAV,IAAEG,MAAMC,aAAAA;QACRJ,IAAEG,MAAMC,aAAAA;QACRJ,IAAEK,OAAM,EAAGC,YAAW;QACtBN,IAAEK,OAAM,EAAGC,YAAW;QACtBK;QACAD,sBAAsBF,SAAQ;OAC/B;IACH;IACAI,QAAQ;MACNb,IAAIc;MACJJ,MAAMI;IACR;EACF;AACF;;;AcpCA,SAASC,KAAAA,WAAS;AAUX,IAAMC,sBAA4D;EACvEC,gCAAgC;IAC9BC,QAAQ;MACNC,IAAIC,IAAEC,MAAM;QAACC;OAAgC;MAC7CC,MAAMH,IAAEC,MAAM;QAACC;OAAgC;IACjD;IACAE,QAAQ;MACNL,IAAIM;MACJF,MAAMG;IACR;EACF;AACF;;;ACrBA,SAASC,KAAAA,WAAS;AASX,IAAMC,sBAA4D;EACvEC,mBAAmB;IACjBC,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACNP,IAAIQ;MACJF,MAAMG;IACR;EACF;EACAC,mCAAmC;IACjCX,QAAQ;MACNC,IAAIC,IAAEU,MAAM;QACVF;QACAR,IAAEC,MAAMU,aAAAA;QACRX,IAAEC,MAAMU,aAAAA;QACRX,IAAEY,OAAM,EAAGC,YAAW;QACtBb,IAAEY,OAAM,EAAGC,YAAW;QACtBC;QACAN,wBAAwBJ,SAAQ;OACjC;MACDC,MAAML,IAAEU,MAAM;QACZH;QACAP,IAAEC,MAAMU,aAAAA;QACRX,IAAEC,MAAMU,aAAAA;QACRX,IAAEY,OAAM,EAAGC,YAAW;QACtBb,IAAEY,OAAM,EAAGC,YAAW;QACtBE;QACAR,sBAAsBH,SAAQ;OAC/B;IACH;IACAE,QAAQ;MACNP,IAAIiB;MACJX,MAAMW;IACR;EACF;AACF;;;AC9CA,SAASC,KAAAA,WAAS;AAYX,IAAMC,sBAA4D;EACvEC,0BAA0B;IACxBC,QAAQ;MACNC,IAAIC,IAAEC,MAAM;QACVD,IAAEE,MAAM;UAACC;SAAsB;QAC/BH,IAAEE,MAAM;UAACC;UAAuBH,IAAEI,OAAM;SAAG;QAC3CJ,IAAEE,MAAM;UAACC;UAAuBH,IAAEI,OAAM;UAAIJ,IAAEK,QAAO;SAAG;OACzD;MACDC,MAAMN,IAAEC,MAAM;QACZD,IAAEE,MAAM;UAACC;SAAsB;QAC/BH,IAAEE,MAAM;UAACC;UAAuBH,IAAEI,OAAM;SAAG;QAC3CJ,IAAEE,MAAM;UAACC;UAAuBH,IAAEI,OAAM;UAAIJ,IAAEK,QAAO;SAAG;OACzD;IACH;IACAE,QAAQ;MACNR,IAAIS;MACJF,MAAMG;IACR;EACF;EACAC,uBAAuB;IACrBZ,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACS;OAAmB;MAChCL,MAAMN,IAAEE,MAAM;QAACU;OAAqB;IACtC;IACAL,QAAQ;MACNR,IAAIc;MACJP,MAAMO;IACR;EACF;EACAC,yBAAyB;IACvBhB,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACF,IAAEI,OAAM;OAAG;MACxBE,MAAMN,IAAEE,MAAM;QAACF,IAAEI,OAAM;OAAG;IAC5B;IACAG,QAAQ;MACNR,IAAIc;MACJP,MAAMO;IACR;EACF;EACAE,wBAAwB;IACtBjB,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACS;QAAoBX,IAAEI,OAAM,EAAGY,SAAQ;OAAG;MACvDV,MAAMN,IAAEE,MAAM;QAACU;QAAsBZ,IAAEI,OAAM,EAAGY,SAAQ;OAAG;IAC7D;IACAT,QAAQ;MACNR,IAAIC,IAAEiB,MAAMJ,yBAAAA;MACZP,MAAMN,IAAEiB,MAAMJ,yBAAAA;IAChB;EACF;EACAK,mBAAmB;IACjBpB,QAAQ;MACNC,IAAIC,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;MACvCV,MAAMN,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;IAC3C;IACAT,QAAQ;MACNR,IAAII;MACJG,MAAMe;IACR;EACF;EACAC,wBAAwB;IACtBxB,QAAQ;MACNC,IAAIC,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;MACvCV,MAAMN,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;IAC3C;IACAT,QAAQ;MACNR,IAAIc;MACJP,MAAMO;IACR;EACF;EACAU,4BAA4B;IAC1BzB,QAAQ;MACNC,IAAIC,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;MACvCV,MAAMN,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;IAC3C;IACAT,QAAQ;MACNR,IAAIY;MACJL,MAAMM;IACR;EACF;EACAY,8BAA8B;IAC5B1B,QAAQ;MACNC,IAAIC,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;MACvCV,MAAMN,IAAEiB,MAAMjB,IAAEmB,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGJ,SAAQ;IAC3C;IACAT,QAAQ;MACNR,IAAI0B;MACJnB,MAAMmB;IACR;EACF;EACAC,0CAA0C;IACxC5B,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACS;QAAoBX,IAAEI,OAAM;OAAG;MAC5CE,MAAMN,IAAEE,MAAM;QAACU;QAAsBZ,IAAEI,OAAM;OAAG;IAClD;IACAG,QAAQ;MACNR,IAAI4B,gCAAgCC,SAAQ;MAC5CtB,MAAMqB,gCAAgCC,SAAQ;IAChD;EACF;EACAC,4CAA4C;IAC1C/B,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACF,IAAEI,OAAM;QAAIJ,IAAEI,OAAM;OAAG;MACpCE,MAAMN,IAAEE,MAAM;QAACF,IAAEI,OAAM;QAAIJ,IAAEI,OAAM;OAAG;IACxC;IACAG,QAAQ;MACNR,IAAI4B,gCAAgCC,SAAQ;MAC5CtB,MAAMqB,gCAAgCC,SAAQ;IAChD;EACF;EACAE,6BAA6B;IAC3BhC,QAAQ;MACNC,IAAIC,IAAEE,MAAM;QAACS;OAAmB;MAChCL,MAAMN,IAAEE,MAAM;QAACU;OAAqB;IACtC;IACAL,QAAQ;MACNR,IAAI4B,gCAAgCC,SAAQ;MAC5CtB,MAAMqB,gCAAgCC,SAAQ;IAChD;EACF;AACF;;;ACnIA,SAASG,KAAAA,WAAS;AASX,IAAMC,sBAA4D;EACvEC,oBAAoB;IAClBC,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACNP,IAAIC,IAAEC,MAAMM,qBAAAA;MACZF,MAAML,IAAEC,MAAMO,uBAAAA;IAChB;EACF;EACAC,oBAAoB;IAClBX,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;EACAQ,iBAAiB;IACfZ,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACNP,IAAIQ;MACJF,MAAMG;IACR;EACF;EACAG,kBAAkB;IAChBb,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;EACAU,uBAAuB;IACrBd,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;EACAW,8BAA8B;IAC5Bf,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;EACAY,6BAA6B;IAC3BhB,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;EACAa,uBAAuB;IACrBjB,QAAQ;MACNC,IAAIC,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;MACvCC,MAAML,IAAEC,MAAMD,IAAEE,IAAG,CAAA,EAAIC,OAAO,CAAA,EAAGC,SAAQ;IAC3C;IACAE,QAAQ;MACND,MAAML,IAAEE,IAAG;MACXH,IAAIC,IAAEE,IAAG;IACX;EACF;AACF;;;ACnFO,IAAMc,gBAA8B;EACzC,GAAGC;EACH,GAAGC;EACH,GAAGC;EACH,GAAGC;EACH,GAAGC;AACL;;;ACZA,SAASC,KAAAA,WAAS;AAIX,IAAMC,sBAAsB,wBACjCC,YACAC,eAAuCC,IAAEC,UAAS,MAElDD,IAAEE,OAAO;EACPC,IAAIH,IAAEI,MAAM;IAACJ,IAAEK,OAAM;IAAIL,IAAEM,OAAM;GAAG;EACpCC,SAASP,IAAEQ,QAAQD,OAAAA;EACnBE,QAAQT,IAAEQ,QAAQV,UAAAA;EAClBY,QAAQX;AACV,CAAA,GATiC;;;ACJnC,SAASY,KAAAA,WAAS;AAIX,IAAMC,uBAAuB,wBAClCC,eAAuCC,IAAEC,UAAS,MAElDD,IAAEE,OAAO;EACPC,IAAIH,IAAEI,MAAM;IAACJ,IAAEK,OAAM;IAAIL,IAAEM,OAAM;GAAG;EACpCC,SAASP,IAAEQ,QAAQD,OAAAA;EACnBE,QAAQV;AACV,CAAA,GAPkC;;;ACD7B,IAAMW,8BAA8B,wBAACC,WAAAA;AAC1C,SAAO;IAAEC,gCAAgCC,wBAAAA,WAAUF,OAAOG,qBAAoB,GAAKD,UAAU,CAAA,CAAE,GAAtDA;EAAyD;AACpG,GAF2C;;;ACApC,IAAME,8BAA8B,wBAACC,WAAAA;AAC1C,SAAO;IACLC,mBAAmBC,wBAAAA,WAAUF,OAAOG,QAAO,GAAKD,UAAU,CAAA,CAAE,GAAzCA;IACnBE,mCAAmCF,wBAAAA,WAAUF,OAAOK,wBAAuB,GAAKH,UAAU,CAAA,CAAE,GAAzDA;EACrC;AACF,GAL2C;;;ACApC,IAAMI,8BAA8B,wBAACC,WAAAA;AAC1C,SAAO;IACLC,0BAA0BC,wBAAAA,WAAUF,OAAOG,eAAc,GAAKD,UAAU,CAAA,CAAE,GAAhDA;IAC1BE,uBAAuBF,wBAAAA,WAAUF,OAAOK,YAAW,GAAKH,UAAU,CAAA,CAAE,GAA7CA;IACvBI,yBAAyBJ,wBAAAA,WAAUF,OAAOO,cAAa,GAAKL,UAAU,CAAA,CAAE,GAA/CA;IACzBM,wBAAwBN,wBAAAA,WAAUF,OAAOS,aAAY,GAAKP,UAAU,CAAA,CAAE,GAA9CA;IACxBQ,mBAAmBR,wBAAAA,WAAUF,OAAOW,QAAO,GAAKT,UAAU,CAAA,CAAE,GAAzCA;IACnBU,wBAAwBV,wBAAAA,WAAUF,OAAOa,aAAY,GAAKX,UAAU,CAAA,CAAE,GAA9CA;IACxBY,4BAA4BZ,wBAAAA,WAAUF,OAAOe,iBAAgB,GAAKb,UAAU,CAAA,CAAE,GAAlDA;IAC5Bc,8BAA8Bd,wBAAAA,WAAUF,OAAOiB,mBAAkB,GAAKf,UAAU,CAAA,CAAE,GAApDA;IAC9BgB,0CAA0ChB,wBAAAA,WAAUF,OAAOmB,+BAA8B,GAAKjB,UAAU,CAAA,CAAE,GAAhEA;IAC1CkB,4CAA4ClB,wBAAAA,WAAUF,OAAOqB,iCAAgC,GAAKnB,UAAU,CAAA,CAAE,GAAlEA;IAC5CoB,6BAA6BpB,wBAAAA,WAAUF,OAAOuB,kBAAiB,GAAKrB,UAAU,CAAA,CAAE,GAAnDA;EAC/B;AACF,GAd2C;;;ACApC,IAAMsB,8BAA8B,wBAACC,WAAAA;AAC1C,SAAO;IACLC,oBAAoBC,wBAAAA,WAAUF,OAAOG,SAAQ,GAAKD,UAAU,CAAA,CAAE,GAA1CA;IACpBE,oBAAoBF,wBAAAA,WAAUF,OAAOK,SAAQ,GAAKH,UAAU,CAAA,CAAE,GAA1CA;IACpBI,iBAAiBJ,wBAAAA,WAAUF,OAAOO,MAAK,GAAKL,UAAU,CAAA,CAAE,GAAvCA;IACjBM,kBAAkBN,wBAAAA,WAAUF,OAAOS,OAAM,GAAKP,UAAU,CAAA,CAAE,GAAxCA;IAClBQ,uBAAuBR,wBAAAA,WAAUF,OAAOW,YAAW,GAAKT,UAAU,CAAA,CAAE,GAA7CA;IACvBU,8BAA8BV,wBAAAA,WAAUF,OAAOa,mBAAkB,GAAKX,UAAU,CAAA,CAAE,GAApDA;IAC9BY,6BAA6BZ,wBAAAA,WAAUF,OAAOe,kBAAiB,GAAKb,UAAU,CAAA,CAAE,GAAnDA;IAC7Bc,uBAAuBd,wBAAAA,WAAUF,OAAOiB,YAAW,GAAKf,UAAU,CAAA,CAAE,GAA7CA;EACzB;AACF,GAX2C;;;ACIpC,IAAMgB,gCAAgC,wBAACC,aAAAA;AAC5C,QAAM,EACJC,QAAQC,QAAQC,QAAQC,OAAM,IAC5BJ;AACJ,MAAIK,SAAuC;IAAEC,kBAAkBC,wBAAAA,WAAWP,SAAmCQ,KAAI,GAAKD,UAAU,CAAA,CAAE,GAAnEA;EAAsE;AACrI,MAAIN,OAAQI,UAAS;IAAE,GAAGA;IAAQ,GAAGI,4BAA4BR,MAAAA;EAAQ;AACzE,MAAIC,OAAQG,UAAS;IAAE,GAAGA;IAAQ,GAAGK,4BAA4BR,MAAAA;EAAQ;AACzE,MAAIC,OAAQE,UAAS;IAAE,GAAGA;IAAQ,GAAGM,4BAA4BR,MAAAA;EAAQ;AACzE,MAAIC,OAAQC,UAAS;IAAE,GAAGA;IAAQ,GAAGO,4BAA4BR,MAAAA;EAAQ;AACzE,SAAOC;AACT,GAV6C;;;A5BE7C,IAAMQ,iBAA2D,CAAC;AAE3D,IAAMC,wBAAwB,wBAACC,aAAAA;AACpC,QAAMC,SAAS,IAAIC,cAAAA;AACnB,QAAMC,WAAWC,8BAA8BJ,QAAAA;AAC/CC,SAAOI,KACLC,sBAAsB,OAAOC,KAAKC,QAAAA;AAEhC,UAAMC,SAASF,IAAIE;AAEnB,UAAMC,UAAUP,SAASM,MAAAA;AAEzB,UAAME,SAASC,cAAcH,MAAAA;AAG7B,QAAIE,WAAWE,UAAaH,YAAYG,QAAW;AAEjDL,UAAIM,QAAQC,kBAAkBC;AAC9B;IACF;AAGA,QAAIC,gBAAgBnB,eAAeW,MAAAA;AACnC,QAAIQ,iBAAiBJ,QAAW;AAC9BI,sBAAgBC,oBAAoBT,QAAQE,OAAOQ,OAAOC,IAAI;AAC9DtB,qBAAeW,MAAAA,IAAUQ;IAC3B;AAEA,UAAMI,SAASJ,cAAcK,UAAUf,GAAAA;AAEvC,QAAI,CAACc,OAAOE,SAAS;AACnBf,UAAIM,QAAQ;;QAEV,GAAGC,kBAAkBS;;QAErBC,SAASJ,OAAOP,MAAMW;MACxB;AACA;IACF;AAGA,UAAM,EAAEN,OAAM,IAAKE,OAAOK;AAC1B,UAAMC,SAAS,MAAMjB,QAAQS,MAAAA;AAE7BX,QAAImB,SAAShB,OAAOgB,OAAOC,GAAGC,MAAMF,MAAAA;EACtC,CAAA,CAAA;AAEF,SAAO1B;AACT,GA9CqC;;;A6BZrC,SAAS6B,mBAAmB;AAI5B,SAASC,uBAAuB;AAChC,OAAOC,WAAW;;;ACJlB,SAASC,2BAA2B;AAE7B,IAAMC,gBAA+B;EAC1CC,aAAa;EACbC,QAAQH;EACRI,OAAO;AACT;AAEO,IAAMC,cAA6B;EACxCH,aAAa;EACbC,QAAQH;EACRI,OAAO;AACT;;;ACNO,IAAME,mBAAkC;EAC7CC,IAAI;EACJC,WAAW;AACb;AAEO,IAAMC,uBAAsC;EACjDF,IAAI;EACJC,WAAW;AACb;AAEO,IAAME,oBAAmC;EAC9CH,IAAI;EACJC,WAAW;AACb;AAEO,IAAMG,iBAAmD;EAC9DC,SAASN;EACTO,UAAUJ;EACVK,OAAOJ;AACT;;;AFfO,IAAMK,mBAAN,MAAMA;EAXb,OAWaA;;;EACQC;EAEnBC,YAAYC,WAAsB;AAChC,SAAKF,aAAaE;EACpB;EAEA,MAAMC,SAAiC;AACrC,UAAMC,gBAAgBC,eAAe,KAAKL,UAAU;AACpD,QAAIM,YAAYF,aAAAA,GAAgB;AAC9B,YAAM,IAAIG,MAAM,8BAA8B,KAAKP,UAAU,EAAE;IACjE;AAEA,WAAO,MAAM,KAAKQ,YAAYJ,cAAcK,SAAS;EACvD;EAEA,MAAcD,YAAYE,KAAqC;AAC7D,QAAI;AACF,YAAMC,WAAW,MAAMC,MAAMC,IAAIH,GAAAA;AACjC,UAAII,gBAAgBH,SAASI,IAAI,GAAG;AAClC,eAAOJ,SAASI;MAClB,OAAO;AACL,YAAIJ,SAASR,WAAW,KAAK;AAC3Ba,kBAAQC,MAAM,oCAAoCN,SAASI,IAAI;AAE/D,iBAAOG;QACT;AACA,eAAOC;MACT;IACF,SAASF,OAAO;AACdD,cAAQC,MAAM,kCAAkCA,KAAAA;AAChD,aAAOE;IACT;EACF;AACF;;;AG7CA,SAASC,gBAAgB;AAOzB,SAASC,mBAAmB;AAErB,IAAMC,oBAAN,MAAMA;EATb,OASaA;;;EACMC;EACAC;EACAC;EACAC;EACAC;EAEjBC,YAAYC,QAMT;AACD,SAAKN,WAAWM,QAAQC;AACxB,SAAKN,UAAUK,QAAQE;AACvB,SAAKN,UAAUI,QAAQG;AACvB,SAAKN,UAAUG,QAAQI;AACvB,SAAKN,UAAUE,QAAQK;EACzB;EAEA,IAAIJ,UAAkC;AACpC,WAAO,KAAKP;EACd;EAEA,IAAIQ,SAAgC;AAClC,WAAO,KAAKP;EACd;EAEA,IAAIQ,SAAgC;AAClC,WAAO,KAAKP;EACd;EAEA,IAAIQ,SAAgC;AAClC,WAAO,KAAKP;EACd;EAEA,IAAIQ,SAAgC;AAClC,WAAO,KAAKP;EACd;EAEA,MAAMQ,KACJC,kBACAC,oBACAC,OACAC,KACAC,KACAC,MACAC,MAC0C;AAC1C,UAAMC,aAAaL,UAAUM,SAAY,MAAM,KAAKjB,SAASW,MAAAA,IAAUA;AACvE,QAAIK,eAAeC,OAAW,OAAM,IAAIC,MAAM,2BAAA;AAC9C,UAAMC,WAAWP,QAAQK,SAAY,MAAM,KAAKlB,SAASqB,mBAAAA,IAAuBR;AAChF,QAAIO,aAAaF,OAAW,OAAM,IAAIC,MAAM,yBAAA;AAC5C,UAAMG,WAAWR,QAAQI,SAAYE,WAAW,MAAON;AACvD,UAAMS,YAAYP,SAASE,SAAYM,cAAcR;AACrD,UAAMS,YAAYV,SAASG,SAAY,MAAM,KAAKnB,SAAS2B,QAAAA,IAAYX;AACvE,QAAIU,cAAcP,OAAW,OAAM,IAAIC,MAAM,kCAAA;AAC7C,UAAMQ,oBAAoBC,SAAS,MAAM,KAAK7B,SAAS8B,wBACrDZ,YACAP,kBACAC,oBACAS,UACAE,UACAC,WACAE,SAAAA,GACC,MAAM,8BAAA;AACTG,aAAS,MAAM,KAAKvB,QAAQyB,qBAAqB;MAACH;MAAmBjB;KAAiB,GAAG,MAAM,iCAAA;AAC/F,WAAOiB;EACT;AACF;;;AC1EO,IAAMI,mBAAN,MAAMA;EAAb,OAAaA;;;EACQC;EAEnBC,YAAYD,WAAqD;AAC/D,SAAKA,YAAYA;EACnB;EAEA,MAAME,qBAAqBC,aAAuD;AAChF,WAAO,MAAM,KAAKH,UAAUI,YAAY,kCAAkC;MAACD;KAAY;EACzF;AACF;;;ACdA,SAASE,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,kCAAkC;AAEpC,IAAMC,kBAAN,MAAMA;EALb,OAKaA;;;EACDC;EAEV,MAAMC,qBAAqBC,aAAuD;AAChF,UAAMC,YAAY,MAAM,KAAKC,aAAY;AACzC,UAAMD,UAAUE,OAAOC,2BAA2BJ,WAAAA,CAAAA;AAClD,WAAO,MAAMK,eAAeC,KAAKN,YAAY,CAAA,CAAE;EACjD;EAEA,MAAgBE,eAAyC;AACvD,QAAI,CAAC,KAAKJ,YAAY;AACpB,WAAKA,aAAa,MAAMS,gBAAgBC,OAAO;QAAEC,SAAS;MAAS,CAAA;IACrE;AACA,WAAO,KAAKX;EACd;AACF;;;ACrBA,SAASY,YAAAA,iBAAgB;AAGzB,SAASC,2BAA2B;AAGpC,SAASC,kBAAAA,uBAAsB;AAK/B,SAASC,8BAAAA,mCAAkC;AAEpC,IAAMC,gBAAN,MAAMA;EAbb,OAaaA;;;;EAEQC;EACAC,uBAAyC;EAEpDC;EAERC,YAAYH,MAAoB;AAC9B,SAAKA,OAAOA;EACd;EAEA,MAAMI,qBAAqBC,aAAuD;AAChF,UAAMC,mBAAmB,MAAM,KAAKC,oBAAmB;AACvD,UAAMD,iBAAiBE,OAAOC,4BAA2BJ,WAAAA,CAAAA;AACzD,WAAO,MAAMK,gBAAeC,KAAKN,YAAY,CAAA,CAAE;EACjD;EAEUO,eAAe,8BAAOC,eAAAA;AAC9B,UAAMC,UAAU,MAAM,KAAKd,KAAKe,QAAQF,UAAAA;AACxC,WAAOG,UAASC,oBAAoBH,OAAAA,GAAU,MAAM,4BAA4BD,UAAAA,2BAAqC;EACvH,GAHyB;EAKfN,sBAAsB,mCAAA;AAC9B,QAAI,KAAKL,kBAAmB,QAAO,KAAKA;AACxC,SAAKA,oBAAoB,MAAM,KAAKU,aAAa,KAAKX,oBAAoB;AAC1E,WAAO,KAAKC;EACd,GAJgC;AAKlC;;;AC5BO,IAAMgB,mBAAN,MAAMA;EAAb,OAAaA;;;EACQC;EAEnBC,YAAYD,WAAqD;AAC/D,SAAKA,YAAYA;EACnB;EAEA,MAAME,UAA4B;AAChC,WAAO,MAAM,KAAKF,UAAUG,YAAY,mBAAA;EAC1C;EAEA,MAAMC,wBACJC,OACAC,kBACAC,oBACAC,KACAC,KACAC,MACAC,MAC0C;AAC1C,WAAO,MAAM,KAAKX,UAAUG,YAAY,qCAAqC;MAC3EE;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;KACD;EACH;AACF;;;ACnCA,SAASC,wBAAwB;AAE1B,IAAMC,kBAAN,MAAMA;EAFb,OAEaA;;;EACQC;EAEnBC,YAAYC,SAA0B;AACpC,SAAKF,WAAWE;EAClB;EAEAC,UAAmB;AACjB,WAAO,KAAKH,SAASG;EACvB;EAEA,MAAMC,wBACJC,OACAC,kBACAC,oBACAC,KACAC,KACAC,MACAC,MAC0C;AAC1C,UAAMC,cAAcD,QAAQ,KAAKX,SAASG;AAC1C,UAAMU,cAAc,MAAMC,iBACxBT,OACAC,kBACAC,oBACA,KAAKP,UACLQ,KACAC,KACAG,aACAF,IAAAA;AAEF,WAAOG,YAAY,CAAA;EACrB;AACF;;;ACnCO,IAAME,mBAAN,MAAMA;EAAb,OAAaA;;;EACQC;EAEnBC,YAAYD,WAAqD;AAC/D,SAAKA,YAAYA;EACnB;EAEA,MAAME,eAAeC,SAAmC;AACtD,WAAO,MAAM,KAAKH,UAAUI,YAAY,4BAA4B;MAACD;KAAQ;EAC/E;EAEA,MAAME,YAAYC,MAAiD;AACjE,WAAO,MAAM,KAAKN,UAAUI,YAAY,yBAAyB;MAACE;KAAK;EACzE;EAEA,MAAMC,cAAcC,aAA0D;AAC5E,WAAO,MAAM,KAAKR,UAAUI,YAAY,2BAA2B;MAACI;KAAY;EAClF;EAEA,MAAMC,aAAaH,MAAYI,OAAgD;AAC7E,WAAO,MAAM,KAAKV,UAAUI,YAAY,0BAA0B;MAACE;MAAMI;KAAM;EACjF;EAEA,MAAMC,UAA4B;AAChC,WAAO,MAAM,KAAKX,UAAUI,YAAY,mBAAA;EAC1C;EAEA,MAAMQ,eAA6C;AACjD,WAAO,MAAM,KAAKZ,UAAUI,YAAY,wBAAA;EAC1C;EAEA,MAAMS,mBAAkC;AACtC,WAAO,MAAM,KAAKb,UAAUI,YAAY,4BAAA;EAC1C;EAEA,MAAMU,qBAAsC;AAC1C,WAAO,MAAM,KAAKd,UAAUI,YAAY,8BAAA;EAC1C;EAEA,MAAMW,+BAA+BC,WAAiBC,kBAAqE;AACzH,WAAO,MAAM,KAAKjB,UAAUI,YAAY,4CAA4C;MAACY;MAAWC;KAAiB;EACnH;EAEA,MAAMC,iCAAiCV,aAAqBS,kBAAqE;AAC/H,WAAO,MAAM,KAAKjB,UAAUI,YAAY,8CAA8C;MAACI;MAAaS;KAAiB;EACvH;EAEA,MAAME,kBAAkBC,iBAAkE;AACxF,WAAO,MAAM,KAAKpB,UAAUI,YAAY,+BAA+B;MAACgB;KAAgB;EAC1F;AACF;;;ACnDO,IAAMC,mBAAN,MAAMA;EAAb,OAAaA;;;EACQC;EAEnBC,YAAYD,WAAqD;AAC/D,SAAKA,YAAYA;EACnB;EAEA,MAAME,WAA+B;AACnC,WAAO,MAAM,KAAKF,UAAUG,YAAY,oBAAA;EAC1C;EAEA,MAAMC,SAASC,OAAgBC,MAAgC;AAC7D,WAAO,MAAM,KAAKN,UAAUG,YAAY,sBAAsB;MAACE;MAAOC;KAAK;EAC7E;EAEA,MAAMD,QAA0B;AAC9B,WAAO,MAAM,KAAKL,UAAUG,YAAY,iBAAA;EAC1C;EAEA,MAAMI,SAA0B;AAC9B,WAAO,MAAM,KAAKP,UAAUG,YAAY,kBAAA;EAC1C;EAEA,MAAMK,cAA+C;AACnD,WAAO,MAAM,KAAKR,UAAUG,YAAY,uBAAA;EAC1C;EAEA,MAAMM,mBAAmBD,aAAsC;AAC7D,WAAO,MAAM,KAAKR,UAAUG,YAAY,gCAAgC;MAACK;KAAY;EACvF;EAEA,MAAME,kBAAkBF,aAAsC;AAC5D,WAAO,MAAM,KAAKR,UAAUG,YAAY,+BAA+B;MAACK;KAAY;EACtF;EAEA,MAAMG,YAAYN,OAA+B;AAC/C,WAAO,MAAM,KAAKL,UAAUG,YAAY,yBAAyB;MAACE;KAAM;EAC1E;AACF;;;AC5CA,SAASO,YAAAA,iBAAgB;AAEzB,SAASC,iBAAiB;AAInB,IAAMC,kBAAN,MAAMA;EANb,OAMaA;;;EACQC;EACTC;EACSC,UAA+C,CAAC;EAEnEC,YAAYC,SAA0B;AACpC,SAAKJ,WAAWI;EAClB;EAEAC,WAAsB;AACpB,WAAO;MAAC,KAAKL,SAASM;;EACxB;EAEAC,SAASC,OAAgBC,MAAuB;AAC9C,SAAKP,QAAQM,KAAAA,IAASC;AACtB,WAAO,KAAKC,OAAM;EACpB;EAEAF,QAAiB;AACf,WAAOG,UAAS,KAAKV,QAAQ,MAAM,eAAA;EACrC;EAEAS,SAAiB;AACf,WAAO,KAAKR;EACd;EAEAU,cAAsC;AACpC,UAAM,IAAIC,MAAM,yBAAA;EAClB;EAEAC,mBAAmBC,cAA8B;AAC/C,UAAM,IAAIF,MAAM,yBAAA;EAClB;EAEAG,kBAAkBD,cAA8B;AAC9C,UAAM,IAAIF,MAAM,yBAAA;EAClB;EAEAI,YAAYT,OAAsB;AAChC,QAAIU,UAAU,KAAKhB,QAAQM,KAAAA,CAAM,GAAG;AAClC,WAAKP,SAASO;IAChB,OAAO;AACL,YAAM,IAAIK,MAAM,SAASL,KAAAA,sBAA2B;IACtD;EACF;AACF;;;AChDA,SAASW,iBAAiB;AAC1B,SAASC,yBAAyB;AAClC,SAASC,UAAU;AAOZ,IAAMC,mBAAN,MAAMA;EATb,OASaA;;;EACQC;EACAC;EAEnBC,YAAYC,QAAgBC,SAAY;AACtC,SAAKJ,UAAUG;AACf,SAAKF,WAAWG;EAClB;EAEA,MAAMC,YAGJC,QACAC,QACgD;AAChD,WAAO,MAAM,KAAKC,QAAQ,KAAKR,SAAS,KAAKC,UAAUK,QAAQC,MAAAA;EACjE;EAEA,MAAcC,QAIZC,KACAL,SACAE,QACAC,QACuD;AACvD,UAAMG,KAAKC,GAAAA;AACX,UAAMC,OAAuB;MAC3BC;MACAH;MACAJ;IACF;AAEA,QAAIC,QAAQ;AACVK,WAAKL,SAASH,QAAQE,MAAAA,EAAQC,OAAOO,GAAGC,MAAMR,MAAAA;IAChD;AAEA,UAAMS,MAAM,MAAM,IAAIC,UAAAA,EAAYC,KAAKT,KAAKG,IAAAA;AAE5C,UAAMO,OAAOH,IAAII;AACjB,QAAIC,kBAAkBF,IAAAA,KAAUA,KAAiCG,OAAO;AACtE,YAAM,IAAIC,MAAOJ,KAAwBG,MAAME,OAAO;IACxD;AAEA,WAAOpB,QAAQE,MAAAA,EAAQmB,OAAOC,KAAKX,MAAOI,KAAwBM,MAAM;EAC1E;AACF;;;ACzDA,SAASE,gBAAgB;AACzB,SAASC,MAAAA,WAAU;AASZ,IAAMC,qBAAN,MAAMA;EAVb,OAUaA;;;EACQC;EACAC;EACAC,iBAAiD,CAAC;EAClDC,kBAAkD,CAAC;EAEtEC,YAAYC,WAA0BC,UAAaC,eAAoB;AACrE,SAAKP,aAAaK;AAClB,SAAKJ,WAAWK;EAClB;EAEA,MAAME,YAGJC,QACAC,QACgD;AAGhD,UAAMC,SAAS,KAAKV,SAASQ,MAAAA;AAC7B,QAAIG,gBAAgB,KAAKV,eAAeO,MAAAA;AACxC,QAAI,CAACI,SAASD,aAAAA,GAAgB;AAC5BA,sBAAgBE,oBAAoBL,QAAQE,OAAOD,OAAOK,EAAE;AAC5D,WAAKb,eAAeO,MAAAA,IAAUG;IAChC;AACA,UAAMI,MAAsB;MAC1BC;MAASC,IAAIC,IAAAA;MAAMV;MAA0BC;IAC/C;AACA,UAAMU,UAAUR,cAAcS,MAAML,GAAAA;AACpC,UAAMM,WAAW,MAAM,KAAKtB,WAAWuB,OAAOH,OAAAA;AAC9C,QAAII,iBAAiB,KAAKrB,gBAAgBM,MAAAA;AAC1C,QAAI,CAACI,SAASW,cAAAA,GAAiB;AAC7BA,uBAAiBC,qBAAqBd,OAAOe,OAAOC,IAAI;AACxD,WAAKxB,gBAAgBM,MAAAA,IAAUe;IACjC;AACA,WAAOA,eAAeH,MAAMC,QAAAA,GAAWI;EACzC;AACF;","names":["createAsyncMiddleware","JsonRpcEngine","JsonRpcErrorCodes","InternalError","code","message","InvalidParams","InvalidRequest","MethodNotFound","jsonrpc","z","toAddress","AddressRegEx","z","CompiledAddressRegEx","RegExp","AddressToStringSchema","string","toLowerCase","regex","AddressFromStringSchema","transform","v","hexToBigInt","toHex","HexRegEx","z","CompiledHexRegEx","RegExp","BigIntToStringSchema","bigint","nonnegative","transform","x","BigIntFromStringSchema","string","regex","z","BoundWitnessSchema","z","toHex","HashRegEx","z","HashToStringSchema","string","toLowerCase","regex","RegExp","HashFromStringSchema","transform","v","toHex","HexRegEx","z","HexToStringSchema","string","toLowerCase","regex","RegExp","HexFromStringSchema","transform","v","z","z","toHex","SequenceConstants","HexRegExMinMax","z","LocalSequenceRegex","RegExp","localSequenceBytes","LocalSequenceToStringSchema","string","regex","LocalSequenceFromStringSchema","transform","v","QualifiedSequenceRegex","qualifiedSequenceBytes","QualifiedSequenceToStringSchema","QualifiedSequenceFromStringSchema","SequenceToStringSchema","union","SequenceFromStringSchema","StorageMetaSchema","z","object","_hash","HashToStringSchema","_dataHash","_sequence","SequenceToStringSchema","PayloadSchema","z","object","schema","string","passthrough","PayloadWithStorageMetaSchema","extend","StorageMetaSchema","shape","SchemaIdSchema","z","string","BoundWitnessRequiredFieldsSchema","object","addresses","array","AddressToStringSchema","payload_hashes","HashToStringSchema","payload_schemas","previous_hashes","nullable","BoundWitnessMetaSchema","$destination","optional","$sourceQuery","UnsignedBoundWitnessSchema","PayloadSchema","extend","schema","literal","BoundWitnessSchema","merge","passthrough","UnsignedBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedBoundWitnessSchema","$signatures","HexToStringSchema","SignedBoundWitnessWithStorageMetaSchema","BlockNumberSchema","z","number","int","nonnegative","BlockBoundWitnessFieldsSchema","object","block","chain","HexToStringSchema","previous","nullable","protocol","optional","step_hashes","array","BlockBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","BlockBoundWitnessWithStorageMetaSchema","UnsignedBoundWitnessWithStorageMetaSchema","SignedBlockBoundWitnessSchema","SignedBoundWitnessSchema","SignedBlockBoundWitnessWithStorageMetaSchema","SignedBoundWitnessWithStorageMetaSchema","z","HydratedBlockSchema","z","tuple","BlockBoundWitnessSchema","array","PayloadSchema","HydratedBlockWithStorageMetaSchema","BlockBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedHydratedBlockSchema","SignedBlockBoundWitnessSchema","SignedHydratedBlockWithStorageMetaSchema","SignedBlockBoundWitnessWithStorageMetaSchema","z","z","BlockStartSchema","z","object","nbf","BlockNumberSchema","BlockEndSchema","exp","BlockDurationSchema","TransactionFeesSchema","fees","base","HexToStringSchema","gasLimit","gasPrice","priority","TransactionBoundWitnessFields","chain","AddressToStringSchema","TransactionBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","SignedTransactionBoundWitnessSchema","SignedBoundWitnessSchema","HydratedTransactionSchema","z","tuple","TransactionBoundWitnessSchema","array","PayloadSchema","SignedHydratedTransactionSchema","SignedTransactionBoundWitnessSchema","z","TransactionFeesToStingSchema","z","object","base","BigIntToStringSchema","gasLimit","gasPrice","priority","TransactionFeesFromStingSchema","BigIntFromStringSchema","XyoProviderRpcSchemas","xyoProvider_send","params","to","z","tuple","AddressFromStringSchema","array","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","optional","from","AddressToStringSchema","TransactionFeesFromStingSchema","result","SignedTransactionBoundWitnessSchema","z","XyoRunnerRpcSchemas","xyoRunner_broadcastTransaction","params","to","z","tuple","SignedHydratedTransactionSchema","from","result","HashToStringSchema","HashFromStringSchema","z","XyoSignerRpcSchemas","xyoSigner_address","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoSigner_createSignedTransaction","tuple","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","TransactionFeesFromStingSchema","SignedTransactionBoundWitnessSchema","z","XyoViewerRpcSchemas","xyoViewer_accountBalance","params","to","z","union","tuple","AddressToStringSchema","number","boolean","from","result","BigIntToStringSchema","BigIntFromStringSchema","xyoViewer_blockByHash","HashToStringSchema","HashFromStringSchema","SignedHydratedBlockSchema","xyoViewer_blockByNumber","xyoViewer_blocksByHash","optional","array","xyoViewer_chainId","any","length","AddressFromStringSchema","xyoViewer_currentBlock","xyoViewer_currentBlockHash","xyoViewer_currentBlockNumber","BlockNumberSchema","xyoViewer_transactionByBlockHashAndIndex","SignedHydratedTransactionSchema","nullable","xyoViewer_transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","z","XyoWalletRpcSchemas","xyoWallet_accounts","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoWallet_addChain","xyoWallet_chain","xyoWallet_chains","xyoWallet_permissions","xyoWallet_requestPermissions","xyoWallet_revokePermissions","xyoWallet_switchChain","AllRpcSchemas","XyoProviderRpcSchemas","XyoRunnerRpcSchemas","XyoSignerRpcSchemas","XyoViewerRpcSchemas","XyoWalletRpcSchemas","z","createRequestSchema","methodName","paramsSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","method","params","z","createResponseSchema","resultSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","result","rpcMethodHandlersFromRunner","runner","xyoRunner_broadcastTransaction","params","broadcastTransaction","rpcMethodHandlersFromSigner","signer","xyoSigner_address","params","address","xyoSigner_createSignedTransaction","createSignedTransaction","rpcMethodHandlersFromViewer","viewer","xyoViewer_accountBalance","params","accountBalance","xyoViewer_blockByHash","blockByHash","xyoViewer_blockByNumber","blockByNumber","xyoViewer_blocksByHash","blocksByHash","xyoViewer_chainId","chainId","xyoViewer_currentBlock","currentBlock","xyoViewer_currentBlockHash","currentBlockHash","xyoViewer_currentBlockNumber","currentBlockNumber","xyoViewer_transactionByBlockHashAndIndex","transactionByBlockHashAndIndex","xyoViewer_transactionByBlockNumberAndIndex","transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","transactionByHash","rpcMethodHandlersFromWallet","wallet","xyoWallet_accounts","params","accounts","xyoWallet_addChain","addChain","xyoWallet_chain","chain","xyoWallet_chains","chains","xyoWallet_permissions","permissions","xyoWallet_requestPermissions","requestPermissions","xyoWallet_revokePermissions","revokePermissions","xyoWallet_switchChain","switchChain","rpcMethodHandlersFromProvider","provider","runner","signer","viewer","wallet","result","xyoProvider_send","params","send","rpcMethodHandlersFromRunner","rpcMethodHandlersFromSigner","rpcMethodHandlersFromViewer","rpcMethodHandlersFromWallet","requestSchemas","rpcEngineFromProvider","provider","engine","JsonRpcEngine","handlers","rpcMethodHandlersFromProvider","push","createAsyncMiddleware","req","res","method","handler","schema","AllRpcSchemas","undefined","error","JsonRpcErrorCodes","MethodNotFound","requestSchema","createRequestSchema","params","from","parsed","safeParse","success","InvalidParams","message","data","result","to","parse","isUndefined","isNetworkStatus","axios","NetworkStatusSchema","unknownStatus","description","schema","state","errorStatus","MainNetworkStats","id","statusUrl","SequenceNetworkStats","LocalNetworkStats","StatusNetworks","mainnet","sequence","local","MemoryXyoNetwork","_networkId","constructor","networkId","status","statusNetwork","StatusNetworks","isUndefined","Error","makeRequest","statusUrl","url","response","axios","get","isNetworkStatus","data","console","error","unknownStatus","errorStatus","assertEx","defaultFees","MemoryXyoProvider","_network","_runner","_signer","_viewer","_wallet","constructor","params","network","runner","signer","viewer","wallet","send","elevatedPayloads","additionalPayloads","chain","nbf","exp","from","fees","chainValue","undefined","Error","nbfValue","currentBlockNumber","expValue","feesValue","defaultFees","fromValue","address","signedTransaction","assertEx","createSignedTransaction","broadcastTransaction","JsonRpcXyoRunner","transport","constructor","broadcastTransaction","transaction","sendRequest","MemoryArchivist","PayloadBuilder","flattenHydratedTransaction","MemoryXyoRunner","_archivist","broadcastTransaction","transaction","archivist","getArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","MemoryArchivist","create","account","assertEx","asArchivistInstance","PayloadBuilder","flattenHydratedTransaction","NodeXyoRunner","node","pendingArchivistPath","_pendingArchivist","constructor","broadcastTransaction","transaction","pendingArchivist","getPendingArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","getArchivist","identifier","diviner","resolve","assertEx","asArchivistInstance","JsonRpcXyoSigner","transport","constructor","address","sendRequest","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","buildTransaction","MemoryXyoSigner","_account","constructor","account","address","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","fromAddress","transaction","buildTransaction","JsonRpcXyoViewer","transport","constructor","accountBalance","address","sendRequest","blockByHash","hash","blockByNumber","blockNumber","blocksByHash","limit","chainId","currentBlock","currentBlockHash","currentBlockNumber","transactionByBlockHashAndIndex","blockHash","transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","transactionHash","JsonRpcXyoWallet","transport","constructor","accounts","sendRequest","addChain","chain","name","chains","permissions","requestPermissions","revokePermissions","switchChain","assertEx","isDefined","MemoryXyoWallet","_account","_chain","_chains","constructor","account","accounts","address","addChain","chain","name","chains","assertEx","permissions","Error","requestPermissions","_permissions","revokePermissions","switchChain","isDefined","AxiosJson","isUndefinedOrNull","v4","HttpRpcTransport","_rpcUrl","_schemas","constructor","rpcUrl","schemas","sendRequest","method","params","callRpc","url","id","v4","body","jsonrpc","to","parse","res","AxiosJson","post","json","data","isUndefinedOrNull","error","Error","message","result","from","isObject","v4","MemoryRpcTransport","_rpcEngine","_schemas","requestSchemas","responseSchemas","constructor","rpcEngine","schemas","AllRpcSchemas","sendRequest","method","params","schema","requestSchema","isObject","createRequestSchema","to","req","jsonrpc","id","v4","request","parse","response","handle","responseSchema","createResponseSchema","result","from"]}
1
+ {"version":3,"sources":["../../src/engine/rpcEngineFromProvider.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/XyoWalletRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromWallet.ts","../../src/engine/rpcMethodHandlersFromProvider.ts","../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts","../../src/provider/provider/MemoryXyoProvider.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/wallet/JsonRpcXyoWallet.ts","../../src/provider/wallet/MemoryXyoWallet.ts","../../src/transport/HttpRpcTransport.ts","../../src/transport/MemoryRpcTransport.ts"],"sourcesContent":["import { createAsyncMiddleware, JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { Json } from '@metamask/utils'\nimport type { XyoProvider } from '@xyo-network/xl1-protocol'\nimport type { AnyZodObject } from 'zod'\n\nimport {\n AllRpcSchemas, createRequestSchema, JsonRpcErrorCodes,\n} from '../types/index.ts'\nimport { rpcMethodHandlersFromProvider } from './rpcMethodHandlersFromProvider.ts'\n\nconst requestSchemas: Record<string, AnyZodObject | undefined> = {}\n\nexport const rpcEngineFromProvider = (provider: XyoProvider) => {\n const engine = new JsonRpcEngine()\n const handlers = rpcMethodHandlersFromProvider(provider)\n engine.push(\n createAsyncMiddleware(async (req, res) => {\n // Get method name\n const method = req.method as keyof typeof handlers & keyof typeof requestSchemas\n // Get schema for method\n const handler = handlers[method]\n // Get handler for method\n const schema = AllRpcSchemas[method]\n\n // If no schema or handler exists\n if (schema === undefined || handler === undefined) {\n // return method not found error\n res.error = JsonRpcErrorCodes.MethodNotFound\n return\n }\n\n // Validate request according to schema\n let requestSchema = requestSchemas[method]\n if (requestSchema == undefined) {\n requestSchema = createRequestSchema(method, schema.params.from)\n requestSchemas[method] = requestSchema\n }\n\n const parsed = requestSchema.safeParse(req)\n // If validation fails\n if (!parsed.success) {\n res.error = {\n // Return invalid params error\n ...JsonRpcErrorCodes.InvalidParams,\n // with the specific validation error message\n message: parsed.error.message,\n }\n return\n }\n\n // Call handler with validated params\n const { params } = parsed.data\n const result = await handler(params as never)\n // Parse handler result according to schema\n res.result = schema.result.to.parse(result) as Json\n }),\n )\n return engine\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import { hexToBigInt, toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => toHex(x))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(toHex(x)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => toHex(v))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v))\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v))\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n PayloadSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_accountHistory: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: z.array(z.array(PayloadSchema)),\n from: z.array(z.array(PayloadSchema)),\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoWalletRpcMethodName } from '../XyoWalletRpc.ts'\nimport {\n AddressFromStringSchema,\n AddressToStringSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoWalletRpcSchemas: RpcSchemaMap<XyoWalletRpcMethodName> = {\n xyoWallet_accounts: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(AddressToStringSchema),\n from: z.array(AddressFromStringSchema),\n },\n },\n xyoWallet_addChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_chain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoWallet_chains: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_permissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_requestPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_revokePermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n xyoWallet_switchChain: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n from: z.any(),\n to: z.any(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\nimport { XyoWalletRpcSchemas } from './XyoWalletRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoWalletRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromSigner = (signer: XyoSigner): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_createSignedTransaction: params => signer.createSignedTransaction(...(params ?? [])),\n }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_accountBalance: params => viewer.accountBalance(...(params ?? [])),\n xyoViewer_accountHistory: params => viewer.accountHistory(...(params ?? [])),\n xyoViewer_blockByHash: params => viewer.blockByHash(...(params ?? [])),\n xyoViewer_blockByNumber: params => viewer.blockByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_chainId: params => viewer.chainId(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_currentBlockHash: params => viewer.currentBlockHash(...(params ?? [])),\n xyoViewer_currentBlockNumber: params => viewer.currentBlockNumber(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transactionByBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transactionByBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transactionByHash(...(params ?? [])),\n }\n}\n","import type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { XyoWalletRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromWallet = (wallet: XyoWallet): XyoWalletRpcMethodHandlers => {\n return {\n xyoWallet_accounts: params => wallet.accounts(...(params ?? [])),\n xyoWallet_addChain: params => wallet.addChain(...(params ?? [])),\n xyoWallet_chain: params => wallet.chain(...(params ?? [])),\n xyoWallet_chains: params => wallet.chains(...(params ?? [])),\n xyoWallet_permissions: params => wallet.permissions(...(params ?? [])),\n xyoWallet_requestPermissions: params => wallet.requestPermissions(...(params ?? [])),\n xyoWallet_revokePermissions: params => wallet.revokePermissions(...(params ?? [])),\n xyoWallet_switchChain: params => wallet.switchChain(...(params ?? [])),\n }\n}\n","import type { XyoProvider } from '@xyo-network/xl1-protocol'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromSigner } from './rpcMethodHandlersFromSigner.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\nimport { rpcMethodHandlersFromWallet } from './rpcMethodHandlersFromWallet.ts'\n\nexport const rpcMethodHandlersFromProvider = (provider: XyoProvider): XyoProviderRpcMethodHandlers => {\n const {\n runner, signer, viewer, wallet,\n } = provider\n let result: XyoProviderRpcMethodHandlers = { xyoProvider_send: params => (provider as Required<XyoProvider>).send(...(params ?? [])) }\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (signer) result = { ...result, ...rpcMethodHandlersFromSigner(signer) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n if (wallet) result = { ...result, ...rpcMethodHandlersFromWallet(wallet) }\n return result\n}\n","import { isUndefined } from '@xylabs/typeof'\nimport type {\n NetworkId, NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: NetworkId\n\n constructor(networkId: NetworkId) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { NetworkId } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: NetworkId\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet',\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence',\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local',\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<NetworkId, StatusNetwork> = {\n mainnet: MainNetworkStats,\n sequence: SequenceNetworkStats,\n local: LocalNetworkStats,\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport {\n type AllowedBlockPayload, defaultTransactionFees,\n type TransactionBoundWitness, type TransactionFeesBigInt, type XyoNetwork, type XyoProvider, type XyoRunner, type XyoSigner, type XyoViewer, type XyoWallet,\n} from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoProvider implements XyoProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _viewer?: XyoViewer\n private readonly _wallet?: XyoWallet\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n viewer?: XyoViewer\n wallet?: XyoWallet\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._viewer = params?.viewer\n this._wallet = params?.wallet\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n get wallet(): XyoWallet | undefined {\n return this._wallet\n }\n\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Address,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n const chainValue = chain === undefined ? await this._wallet?.chain() : chain\n if (chainValue === undefined) throw new Error('Failed to determine chain')\n const nbfValue = nbf === undefined ? await this._viewer?.currentBlockNumber() : nbf\n if (nbfValue === undefined) throw new Error('Failed to determine nbf')\n const expValue = exp === undefined ? nbfValue + 1000 : exp\n const feesValue = fees === undefined ? defaultTransactionFees : fees\n const fromValue = from === undefined ? await this._signer?.address() : from\n if (fromValue === undefined) throw new Error('Failed to determine from address')\n const signedTransaction = assertEx(await this._signer?.createSignedTransaction(\n chainValue,\n elevatedPayloads,\n additionalPayloads,\n nbfValue,\n expValue,\n feesValue,\n fromValue,\n ), () => 'Failed to create transaction')\n assertEx(await this.runner?.broadcastTransaction([signedTransaction, elevatedPayloads]), () => 'Failed to broadcast transaction')\n return signedTransaction\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type {\n SignedHydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n const pendingArchivist = await this.getPendingArchivist()\n await pendingArchivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const diviner = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(diviner), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return this._pendingArchivist\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n}\n","import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport type {\n SignedHydratedBlock, SignedHydratedTransaction,\n TransactionBoundWitness,\n Transfer,\n XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<SignedHydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<SignedHydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/RpcTransport.ts'\nimport type { XyoWalletRpcSchemas } from '../../types/index.ts'\n\nexport class JsonRpcXyoWallet implements XyoWallet {\n protected readonly transport: RpcTransport<typeof XyoWalletRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoWalletRpcSchemas>) {\n this.transport = transport\n }\n\n async accounts(): Promise<Address[]> {\n return await this.transport.sendRequest('xyoWallet_accounts')\n }\n\n async addChain(chain: Address, name?: string): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_addChain', [chain, name])\n }\n\n async chain(): Promise<Address> {\n return await this.transport.sendRequest('xyoWallet_chain')\n }\n\n async chains(): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_chains')\n }\n\n async permissions(): Promise<Record<string, object>> {\n return await this.transport.sendRequest('xyoWallet_permissions')\n }\n\n async requestPermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_requestPermissions', [permissions])\n }\n\n async revokePermissions(permissions: object): Promise<object> {\n return await this.transport.sendRequest('xyoWallet_revokePermissions', [permissions])\n }\n\n async switchChain(chain: Address): Promise<void> {\n return await this.transport.sendRequest('xyoWallet_switchChain', [chain])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { isDefined } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoWallet } from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoWallet implements XyoWallet {\n protected readonly _account: AccountInstance\n protected _chain: Address | undefined\n protected readonly _chains: Record<Address, string | undefined> = {}\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n accounts(): Address[] {\n return [this._account.address]\n }\n\n addChain(chain: Address, name?: string): object {\n this._chains[chain] = name\n return this.chains()\n }\n\n chain(): Address {\n return assertEx(this._chain, () => 'Chain not set')\n }\n\n chains(): object {\n return this._chains\n }\n\n permissions(): Record<string, object> {\n throw new Error('Method not implemented.')\n }\n\n requestPermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n revokePermissions(_permissions: object): object {\n throw new Error('Method not implemented.')\n }\n\n switchChain(chain: Address): void {\n if (isDefined(this._chains[chain])) {\n this._chain = chain\n } else {\n throw new Error(`Chain ${chain} not found in wallet`)\n }\n }\n}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isUndefinedOrNull } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n }\n}\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n"],"mappings":"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","names":["createAsyncMiddleware","JsonRpcEngine","JsonRpcErrorCodes","InternalError","code","message","InvalidParams","InvalidRequest","MethodNotFound","jsonrpc","z","toAddress","AddressRegEx","z","CompiledAddressRegEx","RegExp","AddressToStringSchema","string","toLowerCase","regex","AddressFromStringSchema","transform","v","hexToBigInt","toHex","HexRegEx","z","CompiledHexRegEx","RegExp","BigIntToStringSchema","bigint","nonnegative","transform","x","BigIntFromStringSchema","string","regex","z","BoundWitnessSchema","z","toHex","HashRegEx","z","HashToStringSchema","string","toLowerCase","regex","RegExp","HashFromStringSchema","transform","v","toHex","HexRegEx","z","HexToStringSchema","string","toLowerCase","regex","RegExp","HexFromStringSchema","transform","v","z","z","toHex","SequenceConstants","HexRegExMinMax","z","LocalSequenceRegex","RegExp","localSequenceBytes","LocalSequenceToStringSchema","string","regex","LocalSequenceFromStringSchema","transform","v","QualifiedSequenceRegex","qualifiedSequenceBytes","QualifiedSequenceToStringSchema","QualifiedSequenceFromStringSchema","SequenceToStringSchema","union","SequenceFromStringSchema","StorageMetaSchema","z","object","_hash","HashToStringSchema","_dataHash","_sequence","SequenceToStringSchema","PayloadSchema","z","object","schema","string","passthrough","PayloadWithStorageMetaSchema","extend","StorageMetaSchema","shape","SchemaIdSchema","z","string","BoundWitnessRequiredFieldsSchema","object","addresses","array","AddressToStringSchema","payload_hashes","HashToStringSchema","payload_schemas","previous_hashes","nullable","BoundWitnessMetaSchema","$destination","optional","$sourceQuery","UnsignedBoundWitnessSchema","PayloadSchema","extend","schema","literal","BoundWitnessSchema","merge","passthrough","UnsignedBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedBoundWitnessSchema","$signatures","HexToStringSchema","SignedBoundWitnessWithStorageMetaSchema","BlockNumberSchema","z","number","int","nonnegative","BlockBoundWitnessFieldsSchema","object","block","chain","HexToStringSchema","previous","nullable","protocol","optional","step_hashes","array","BlockBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","BlockBoundWitnessWithStorageMetaSchema","UnsignedBoundWitnessWithStorageMetaSchema","SignedBlockBoundWitnessSchema","SignedBoundWitnessSchema","SignedBlockBoundWitnessWithStorageMetaSchema","SignedBoundWitnessWithStorageMetaSchema","z","HydratedBlockSchema","z","tuple","BlockBoundWitnessSchema","array","PayloadSchema","HydratedBlockWithStorageMetaSchema","BlockBoundWitnessWithStorageMetaSchema","PayloadWithStorageMetaSchema","SignedHydratedBlockSchema","SignedBlockBoundWitnessSchema","SignedHydratedBlockWithStorageMetaSchema","SignedBlockBoundWitnessWithStorageMetaSchema","z","z","BlockStartSchema","z","object","nbf","BlockNumberSchema","BlockEndSchema","exp","BlockDurationSchema","TransactionFeesSchema","fees","base","HexToStringSchema","gasLimit","gasPrice","priority","TransactionBoundWitnessFields","chain","AddressToStringSchema","TransactionBoundWitnessSchema","UnsignedBoundWitnessSchema","merge","passthrough","SignedTransactionBoundWitnessSchema","SignedBoundWitnessSchema","HydratedTransactionSchema","z","tuple","TransactionBoundWitnessSchema","array","PayloadSchema","SignedHydratedTransactionSchema","SignedTransactionBoundWitnessSchema","z","TransactionFeesToStingSchema","z","object","base","BigIntToStringSchema","gasLimit","gasPrice","priority","TransactionFeesFromStingSchema","BigIntFromStringSchema","XyoProviderRpcSchemas","xyoProvider_send","params","to","z","tuple","AddressFromStringSchema","array","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","optional","from","AddressToStringSchema","TransactionFeesFromStingSchema","result","SignedTransactionBoundWitnessSchema","z","XyoRunnerRpcSchemas","xyoRunner_broadcastTransaction","params","to","z","tuple","SignedHydratedTransactionSchema","from","result","HashToStringSchema","HashFromStringSchema","z","XyoSignerRpcSchemas","xyoSigner_address","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoSigner_createSignedTransaction","tuple","PayloadSchema","number","nonnegative","TransactionFeesToStingSchema","TransactionFeesFromStingSchema","SignedTransactionBoundWitnessSchema","z","XyoViewerRpcSchemas","xyoViewer_accountBalance","params","to","z","union","tuple","AddressToStringSchema","number","boolean","from","result","BigIntToStringSchema","BigIntFromStringSchema","xyoViewer_accountHistory","array","PayloadSchema","xyoViewer_blockByHash","HashToStringSchema","HashFromStringSchema","SignedHydratedBlockSchema","xyoViewer_blockByNumber","xyoViewer_blocksByHash","optional","xyoViewer_chainId","any","length","AddressFromStringSchema","xyoViewer_currentBlock","xyoViewer_currentBlockHash","xyoViewer_currentBlockNumber","BlockNumberSchema","xyoViewer_transactionByBlockHashAndIndex","SignedHydratedTransactionSchema","nullable","xyoViewer_transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","z","XyoWalletRpcSchemas","xyoWallet_accounts","params","to","z","array","any","length","optional","from","result","AddressToStringSchema","AddressFromStringSchema","xyoWallet_addChain","xyoWallet_chain","xyoWallet_chains","xyoWallet_permissions","xyoWallet_requestPermissions","xyoWallet_revokePermissions","xyoWallet_switchChain","AllRpcSchemas","XyoProviderRpcSchemas","XyoRunnerRpcSchemas","XyoSignerRpcSchemas","XyoViewerRpcSchemas","XyoWalletRpcSchemas","z","createRequestSchema","methodName","paramsSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","method","params","z","createResponseSchema","resultSchema","z","undefined","object","id","union","string","number","jsonrpc","literal","result","rpcMethodHandlersFromRunner","runner","xyoRunner_broadcastTransaction","params","broadcastTransaction","rpcMethodHandlersFromSigner","signer","xyoSigner_address","params","address","xyoSigner_createSignedTransaction","createSignedTransaction","rpcMethodHandlersFromViewer","viewer","xyoViewer_accountBalance","params","accountBalance","xyoViewer_accountHistory","accountHistory","xyoViewer_blockByHash","blockByHash","xyoViewer_blockByNumber","blockByNumber","xyoViewer_blocksByHash","blocksByHash","xyoViewer_chainId","chainId","xyoViewer_currentBlock","currentBlock","xyoViewer_currentBlockHash","currentBlockHash","xyoViewer_currentBlockNumber","currentBlockNumber","xyoViewer_transactionByBlockHashAndIndex","transactionByBlockHashAndIndex","xyoViewer_transactionByBlockNumberAndIndex","transactionByBlockNumberAndIndex","xyoViewer_transactionByHash","transactionByHash","rpcMethodHandlersFromWallet","wallet","xyoWallet_accounts","params","accounts","xyoWallet_addChain","addChain","xyoWallet_chain","chain","xyoWallet_chains","chains","xyoWallet_permissions","permissions","xyoWallet_requestPermissions","requestPermissions","xyoWallet_revokePermissions","revokePermissions","xyoWallet_switchChain","switchChain","rpcMethodHandlersFromProvider","provider","runner","signer","viewer","wallet","result","xyoProvider_send","params","send","rpcMethodHandlersFromRunner","rpcMethodHandlersFromSigner","rpcMethodHandlersFromViewer","rpcMethodHandlersFromWallet","requestSchemas","rpcEngineFromProvider","provider","engine","JsonRpcEngine","handlers","rpcMethodHandlersFromProvider","push","createAsyncMiddleware","req","res","method","handler","schema","AllRpcSchemas","undefined","error","JsonRpcErrorCodes","MethodNotFound","requestSchema","createRequestSchema","params","from","parsed","safeParse","success","InvalidParams","message","data","result","to","parse","isUndefined","isNetworkStatus","axios","NetworkStatusSchema","unknownStatus","description","schema","state","errorStatus","MainNetworkStats","id","statusUrl","SequenceNetworkStats","LocalNetworkStats","StatusNetworks","mainnet","sequence","local","MemoryXyoNetwork","_networkId","constructor","networkId","status","statusNetwork","StatusNetworks","isUndefined","Error","makeRequest","statusUrl","url","response","axios","get","isNetworkStatus","data","console","error","unknownStatus","errorStatus","assertEx","defaultTransactionFees","MemoryXyoProvider","_network","_runner","_signer","_viewer","_wallet","constructor","params","network","runner","signer","viewer","wallet","send","elevatedPayloads","additionalPayloads","chain","nbf","exp","from","fees","chainValue","undefined","Error","nbfValue","currentBlockNumber","expValue","feesValue","defaultTransactionFees","fromValue","address","signedTransaction","assertEx","createSignedTransaction","broadcastTransaction","JsonRpcXyoRunner","transport","constructor","broadcastTransaction","transaction","sendRequest","MemoryArchivist","PayloadBuilder","flattenHydratedTransaction","MemoryXyoRunner","_archivist","broadcastTransaction","transaction","archivist","getArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","MemoryArchivist","create","account","assertEx","asArchivistInstance","PayloadBuilder","flattenHydratedTransaction","NodeXyoRunner","node","pendingArchivistPath","_pendingArchivist","constructor","broadcastTransaction","transaction","pendingArchivist","getPendingArchivist","insert","flattenHydratedTransaction","PayloadBuilder","hash","getArchivist","identifier","diviner","resolve","assertEx","asArchivistInstance","JsonRpcXyoSigner","transport","constructor","address","sendRequest","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","buildTransaction","MemoryXyoSigner","_account","constructor","account","address","createSignedTransaction","chain","elevatedPayloads","additionalPayloads","nbf","exp","fees","from","fromAddress","transaction","buildTransaction","JsonRpcXyoViewer","transport","constructor","accountBalance","address","sendRequest","accountHistory","blockByHash","hash","blockByNumber","blockNumber","blocksByHash","limit","chainId","currentBlock","currentBlockHash","currentBlockNumber","transactionByBlockHashAndIndex","blockHash","transactionIndex","transactionByBlockNumberAndIndex","transactionByHash","transactionHash","JsonRpcXyoWallet","transport","constructor","accounts","sendRequest","addChain","chain","name","chains","permissions","requestPermissions","revokePermissions","switchChain","assertEx","isDefined","MemoryXyoWallet","_account","_chain","_chains","constructor","account","accounts","address","addChain","chain","name","chains","assertEx","permissions","Error","requestPermissions","_permissions","revokePermissions","switchChain","isDefined","AxiosJson","isUndefinedOrNull","v4","HttpRpcTransport","_rpcUrl","_schemas","constructor","rpcUrl","schemas","sendRequest","method","params","callRpc","url","id","v4","body","jsonrpc","to","parse","res","AxiosJson","post","json","data","isUndefinedOrNull","error","Error","message","result","from","isObject","v4","MemoryRpcTransport","_rpcEngine","_schemas","requestSchemas","responseSchemas","constructor","rpcEngine","schemas","AllRpcSchemas","sendRequest","method","params","schema","requestSchema","isObject","createRequestSchema","to","req","jsonrpc","id","v4","request","parse","response","handle","responseSchema","createResponseSchema","result","from"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rpcMethodHandlersFromViewer.d.ts","sourceRoot":"","sources":["../../../src/engine/rpcMethodHandlersFromViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE,eAAO,MAAM,2BAA2B,GAAI,QAAQ,SAAS,KAAG,0BAc/D,CAAA"}
1
+ {"version":3,"file":"rpcMethodHandlersFromViewer.d.ts","sourceRoot":"","sources":["../../../src/engine/rpcMethodHandlersFromViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE,eAAO,MAAM,2BAA2B,GAAI,QAAQ,SAAS,KAAG,0BAe/D,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import type { Signed } from '@xyo-network/boundwitness-model';
3
3
  import type { Payload } from '@xyo-network/payload-model';
4
- import type { AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoNetwork, XyoProvider, XyoRunner, XyoSigner, XyoViewer, XyoWallet } from '@xyo-network/xl1-protocol';
4
+ import { type AllowedBlockPayload, type TransactionBoundWitness, type TransactionFeesBigInt, type XyoNetwork, type XyoProvider, type XyoRunner, type XyoSigner, type XyoViewer, type XyoWallet } from '@xyo-network/xl1-protocol';
5
5
  export declare class MemoryXyoProvider implements XyoProvider {
6
6
  private readonly _network?;
7
7
  private readonly _runner?;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryXyoProvider.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/MemoryXyoProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EACzI,MAAM,2BAA2B,CAAA;AAGlC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;gBAExB,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;KACnB;IAQD,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAEpC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAEK,IAAI,CACR,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,EAAE,OAAO,EAAE,EAC7B,KAAK,CAAC,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;CAqB5C"}
1
+ {"version":3,"file":"MemoryXyoProvider.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/MemoryXyoProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAC5J,MAAM,2BAA2B,CAAA;AAElC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;gBAExB,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,MAAM,CAAC,EAAE,SAAS,CAAA;KACnB;IAQD,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAEpC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAEK,IAAI,CACR,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,EAAE,OAAO,EAAE,EAC7B,KAAK,CAAC,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;CAqB5C"}
@@ -1,11 +1,12 @@
1
1
  import { type Address, type Hash } from '@xylabs/hex';
2
- import { type SignedHydratedBlock, type SignedHydratedTransaction, type XyoViewer } from '@xyo-network/xl1-protocol';
2
+ import type { SignedHydratedBlock, SignedHydratedTransaction, TransactionBoundWitness, Transfer, XyoViewer } from '@xyo-network/xl1-protocol';
3
3
  import type { RpcTransport } from '../../transport/RpcTransport.ts';
4
4
  import type { XyoViewerRpcSchemas } from '../../types/index.ts';
5
5
  export declare class JsonRpcXyoViewer implements XyoViewer {
6
6
  protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>;
7
7
  constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>);
8
8
  accountBalance(address: Address): Promise<bigint>;
9
+ accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]>;
9
10
  blockByHash(hash: Hash): Promise<SignedHydratedBlock | null>;
10
11
  blockByNumber(blockNumber: number): Promise<SignedHydratedBlock | null>;
11
12
  blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlock[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcXyoViewer.d.ts","sourceRoot":"","sources":["../../../../src/provider/viewer/JsonRpcXyoViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EACL,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,KAAK,SAAS,EACzE,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,qBAAa,gBAAiB,YAAW,SAAS;IAChD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAA;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAIzD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAI5D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAIvE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIxE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI5C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAIpH,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAI1H,iBAAiB,CAAC,eAAe,EAAE,IAAI,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;CAG1F"}
1
+ {"version":3,"file":"JsonRpcXyoViewer.d.ts","sourceRoot":"","sources":["../../../../src/provider/viewer/JsonRpcXyoViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EACV,mBAAmB,EAAE,yBAAyB,EAC9C,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACV,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,qBAAa,gBAAiB,YAAW,SAAS;IAChD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAA;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAIzD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAIlF,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAI5D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAIvE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIxE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI5C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAIpH,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAI1H,iBAAiB,CAAC,eAAe,EAAE,IAAI,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;CAG1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"XyoViewerRpcSchemas.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/XyoViewerRpcSchemas.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAQhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,sBAAsB,CAuHpE,CAAA"}
1
+ {"version":3,"file":"XyoViewerRpcSchemas.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/XyoViewerRpcSchemas.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAShE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,sBAAsB,CAyIpE,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-rpc",
4
- "version": "1.3.29",
4
+ "version": "1.3.31",
5
5
  "description": "XYO Layer One API",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -55,32 +55,32 @@
55
55
  "@xylabs/axios": "^4.9.18",
56
56
  "@xylabs/hex": "^4.9.18",
57
57
  "@xylabs/typeof": "^4.9.18",
58
- "@xyo-network/account-model": "^3.16.0",
59
- "@xyo-network/archivist-memory": "^3.16.0",
60
- "@xyo-network/archivist-model": "^3.16.0",
61
- "@xyo-network/boundwitness-model": "^3.16.0",
62
- "@xyo-network/module-model": "^3.16.0",
63
- "@xyo-network/node-model": "^3.16.0",
64
- "@xyo-network/payload-builder": "^3.16.0",
65
- "@xyo-network/payload-model": "^3.16.0",
66
- "@xyo-network/payload-wrapper": "^3.16.0",
67
- "@xyo-network/xl1-protocol": "^1.3.17",
68
- "@xyo-network/xl1-protocol-sdk": "^1.3.29",
58
+ "@xyo-network/account-model": "^3.16.1",
59
+ "@xyo-network/archivist-memory": "^3.16.1",
60
+ "@xyo-network/archivist-model": "^3.16.1",
61
+ "@xyo-network/boundwitness-model": "^3.16.1",
62
+ "@xyo-network/module-model": "^3.16.1",
63
+ "@xyo-network/node-model": "^3.16.1",
64
+ "@xyo-network/payload-builder": "^3.16.1",
65
+ "@xyo-network/payload-model": "^3.16.1",
66
+ "@xyo-network/payload-wrapper": "^3.16.1",
67
+ "@xyo-network/xl1-protocol": "^1.3.31",
68
+ "@xyo-network/xl1-protocol-sdk": "^1.3.31",
69
69
  "axios": "^1.9.0",
70
70
  "uuid": "^11.1.0",
71
- "zod": "^3.24.4"
71
+ "zod": "^3.25.7"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@metamask/utils": "^11.4.0",
75
- "@types/node": "^22.15.18",
75
+ "@types/node": "^22.15.20",
76
76
  "@xylabs/ts-scripts-yarn3": "^6.5.7",
77
77
  "@xylabs/tsconfig": "^6.5.7",
78
78
  "@xylabs/vitest-extended": "^4.9.18",
79
- "@xyo-network/account": "^3.16.0",
79
+ "@xyo-network/account": "^3.16.1",
80
80
  "dotenv": "^16.5.0",
81
- "knip": "^5.56.0",
81
+ "knip": "^5.57.0",
82
82
  "typescript": "^5.8.3",
83
- "vitest": "^3.1.3"
83
+ "vitest": "^3.1.4"
84
84
  },
85
85
  "packageManager": "yarn@4.6.0",
86
86
  "engines": {
@@ -5,6 +5,7 @@ import type { XyoViewerRpcMethodHandlers } from '../types/index.ts'
5
5
  export const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {
6
6
  return {
7
7
  xyoViewer_accountBalance: params => viewer.accountBalance(...(params ?? [])),
8
+ xyoViewer_accountHistory: params => viewer.accountHistory(...(params ?? [])),
8
9
  xyoViewer_blockByHash: params => viewer.blockByHash(...(params ?? [])),
9
10
  xyoViewer_blockByNumber: params => viewer.blockByNumber(...(params ?? [])),
10
11
  xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),
@@ -2,10 +2,10 @@ import { assertEx } from '@xylabs/assert'
2
2
  import type { Address } from '@xylabs/hex'
3
3
  import type { Signed } from '@xyo-network/boundwitness-model'
4
4
  import type { Payload } from '@xyo-network/payload-model'
5
- import type {
6
- AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoNetwork, XyoProvider, XyoRunner, XyoSigner, XyoViewer, XyoWallet,
5
+ import {
6
+ type AllowedBlockPayload, defaultTransactionFees,
7
+ type TransactionBoundWitness, type TransactionFeesBigInt, type XyoNetwork, type XyoProvider, type XyoRunner, type XyoSigner, type XyoViewer, type XyoWallet,
7
8
  } from '@xyo-network/xl1-protocol'
8
- import { defaultFees } from '@xyo-network/xl1-protocol-sdk'
9
9
 
10
10
  export class MemoryXyoProvider implements XyoProvider {
11
11
  private readonly _network?: XyoNetwork
@@ -62,7 +62,7 @@ export class MemoryXyoProvider implements XyoProvider {
62
62
  const nbfValue = nbf === undefined ? await this._viewer?.currentBlockNumber() : nbf
63
63
  if (nbfValue === undefined) throw new Error('Failed to determine nbf')
64
64
  const expValue = exp === undefined ? nbfValue + 1000 : exp
65
- const feesValue = fees === undefined ? defaultFees : fees
65
+ const feesValue = fees === undefined ? defaultTransactionFees : fees
66
66
  const fromValue = from === undefined ? await this._signer?.address() : from
67
67
  if (fromValue === undefined) throw new Error('Failed to determine from address')
68
68
  const signedTransaction = assertEx(await this._signer?.createSignedTransaction(
@@ -1,6 +1,9 @@
1
1
  import { type Address, type Hash } from '@xylabs/hex'
2
- import {
3
- type SignedHydratedBlock, type SignedHydratedTransaction, type XyoViewer,
2
+ import type {
3
+ SignedHydratedBlock, SignedHydratedTransaction,
4
+ TransactionBoundWitness,
5
+ Transfer,
6
+ XyoViewer,
4
7
  } from '@xyo-network/xl1-protocol'
5
8
 
6
9
  import type { RpcTransport } from '../../transport/RpcTransport.ts'
@@ -16,6 +19,10 @@ export class JsonRpcXyoViewer implements XyoViewer {
16
19
  return await this.transport.sendRequest('xyoViewer_accountBalance', [address])
17
20
  }
18
21
 
22
+ async accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]> {
23
+ return await this.transport.sendRequest('xyoViewer_accountBalance', [address])
24
+ }
25
+
19
26
  async blockByHash(hash: Hash): Promise<SignedHydratedBlock | null> {
20
27
  return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])
21
28
  }
@@ -5,6 +5,7 @@ import {
5
5
  AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,
6
6
  BlockNumberSchema,
7
7
  HashFromStringSchema, HashToStringSchema,
8
+ PayloadSchema,
8
9
  SignedHydratedBlockSchema,
9
10
  SignedHydratedTransactionSchema,
10
11
  } from './common/index.ts'
@@ -29,6 +30,24 @@ export const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {
29
30
  from: BigIntFromStringSchema,
30
31
  },
31
32
  },
33
+ xyoViewer_accountHistory: {
34
+ params: {
35
+ to: z.union([
36
+ z.tuple([AddressToStringSchema]),
37
+ z.tuple([AddressToStringSchema, z.number()]),
38
+ z.tuple([AddressToStringSchema, z.number(), z.boolean()]),
39
+ ]),
40
+ from: z.union([
41
+ z.tuple([AddressToStringSchema]),
42
+ z.tuple([AddressToStringSchema, z.number()]),
43
+ z.tuple([AddressToStringSchema, z.number(), z.boolean()]),
44
+ ]),
45
+ },
46
+ result: {
47
+ to: z.array(z.array(PayloadSchema)),
48
+ from: z.array(z.array(PayloadSchema)),
49
+ },
50
+ },
32
51
  xyoViewer_blockByHash: {
33
52
  params: {
34
53
  to: z.tuple([HashToStringSchema]),