@xyo-network/xl1-rpc 1.26.47 → 1.26.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/engine/requestSchemas.ts","../../src/engine/rpcMethodHandlersFromAccountBalanceViewer.ts","../../src/engine/rpcMethodHandlersFromBlockViewer.ts","../../src/engine/rpcMethodHandlersFromFinalizationViewer.ts","../../src/engine/rpcMethodHandlersFromMempoolRunner.ts","../../src/engine/rpcMethodHandlersFromMempoolViewer.ts","../../src/engine/rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromTimeSyncViewer.ts","../../src/engine/rpcMethodHandlersFromTransactionViewer.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromConnection.ts","../../src/engine/rpcMethodHandlersFromNetworkStakeStepRewardsByPositionViewer.ts","../../src/engine/rpcMethodHandlersFromNetworkStakingViewer.ts","../../src/engine/rpcMethodHandlersFromPermissions.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine-node/rpcEngineFromConnection.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/NetworkStakeViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByPositionViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByStakerViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByStepViewerRpc.ts","../../src/types/NetworkStakingStepRewardsTotalViewerRpc.ts","../../src/types/NetworkStakingStepRewardsViewerRpc.ts","../../src/types/schema/AccountBalanceViewerRpcSchemas.ts","../../src/types/schema/BlockViewerRpcSchemas.ts","../../src/types/schema/DataLakeViewerRpcSchema.ts","../../src/types/schema/FinalizationViewerRpcSchemas.ts","../../src/types/schema/MempoolRunnerRpcSchemas.ts","../../src/types/schema/MempoolViewerRpcSchemas.ts","../../src/types/schema/NetworkStakeViewerRpcSchemas.ts","../../src/types/schema/RewardsByPositionViewerRpcSchemas.ts","../../src/types/schema/RewardsByStakerViewerRpcSchemas.ts","../../src/types/schema/RewardsByStepViewerRpcSchemas.ts","../../src/types/schema/RewardsTotalViewerRpcSchemas.ts","../../src/types/schema/StakeTotalsViewerRpcSchemas.ts","../../src/types/schema/StakeViewerRpcSchemas.ts","../../src/types/schema/NoArgsZod.ts","../../src/types/schema/StepRewardsViewerRpcSchemas.ts","../../src/types/schema/StepViewerRpcSchemas.ts","../../src/types/schema/TimeSyncViewerRpcSchema.ts","../../src/types/schema/TransactionViewerRpcSchema.ts","../../src/types/schema/XyoPermissionsRpcSchemas.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/provider/datalake/JsonRpcDataLakeViewer.ts","../../src/provider/datalake/JsonRpcDataLakeViewerMethods.ts","../../src/provider/viewer/JsonRpcAccountBalanceViewer/JsonRpcAccountBalanceViewer.ts","../../src/provider/viewer/JsonRpcAccountBalanceViewer/JsonRpcAccountBalanceViewerMethods.ts","../../src/provider/viewer/JsonRpcViewer.ts","../../src/transport/HttpRpcTransport.ts","../../src/transport/MemoryRpcTransport.ts","../../src/transport/PostMessage/bus/Abstract.ts","../../src/transport/PostMessage/bus/implementations/PostMessage.ts","../../src/transport/PostMessage/bus/validators/hasSessionId.ts","../../src/transport/PostMessage/bus/validators/isEventWithId.ts","../../src/transport/PostMessage/bus/validators/isMessageWithId.ts","../../src/transport/PostMessage/PostMessageRpcTransport.ts","../../src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.ts","../../src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.ts","../../src/provider/viewer/JsonRpcFinalizationViewer/JsonRpcFinalizationViewer.ts","../../src/provider/viewer/JsonRpcFinalizationViewer/JsonRpcFinalizationViewerMethods.ts","../../src/provider/viewer/JsonRpcMempoolViewer/JsonRpcMempoolViewer.ts","../../src/provider/viewer/JsonRpcMempoolViewer/JsonRpcMempoolViewerMethods.ts","../../src/provider/viewer/JsonRpcNetworkStakeStepRewardsViewer/JsonRpcNetworkStakeStepRewardsViewer.ts","../../src/provider/viewer/JsonRpcNetworkStakeStepRewardsViewer/JsonRpcNetworkStakeStepRewardsViewerMethods.ts","../../src/provider/viewer/JsonRpcNetworkStakeViewer/JsonRpcNetworkStakeViewer.ts","../../src/provider/viewer/JsonRpcNetworkStakeViewer/JsonRpcNetworkStakeViewerMethods.ts","../../src/provider/viewer/JsonRpcStakeTotalsViewer/JsonRpcStakeTotalsViewer.ts","../../src/provider/viewer/JsonRpcStakeTotalsViewer/JsonRpcStakeTotalsViewerMethods.ts","../../src/provider/viewer/JsonRpcStakeViewer/JsonRpcStakeViewer.ts","../../src/provider/viewer/JsonRpcStakeViewer/JsonRpcStakeViewerMethods.ts","../../src/provider/viewer/JsonRpcTimeSyncViewer/JsonRpcTimeSyncViewer.ts","../../src/provider/viewer/JsonRpcTimeSyncViewer/JsonRpcTimeSyncViewerMethods.ts","../../src/provider/viewer/JsonRpcTransactionViewer/JsonRpcTransactionViewer.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/permissions/RpcXyoPermissions.ts","../../src/provider/runner/JsonRpcMempoolRunner/JsonRpcMempoolRunner.ts","../../src/provider/runner/JsonRpcMempoolRunner/JsonRpcMempoolRunnerMethods.ts","../../src/provider/runner/JsonRpcRunner.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/JsonRpcXyoSignerMethods.ts"],"sourcesContent":["import type { ZodObject, ZodRawShape } from 'zod'\n\n/** Registry of cached Zod request schemas keyed by RPC method name. */\nexport const requestSchemas: Record<string, ZodObject<ZodRawShape> | undefined> = {}\n","import type { AccountBalanceViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { AccountBalanceViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an AccountBalanceViewer instance. */\nexport const rpcMethodHandlersFromAccountBalanceViewer = (viewer: AccountBalanceViewerMethods): AccountBalanceViewerRpcMethodHandlers => {\n return {\n accountBalanceViewer_qualifiedAccountBalances: params => viewer.qualifiedAccountBalances(...params ?? []),\n accountBalanceViewer_qualifiedAccountBalanceHistories: params => viewer.qualifiedAccountBalanceHistories(...params ?? []),\n }\n}\n","import type { BlockViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { BlockViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a BlockViewer instance. */\nexport const rpcMethodHandlersFromBlockViewer = (viewer: BlockViewerMethods): BlockViewerRpcMethodHandlers => {\n return {\n blockViewer_blocksByHash: params => viewer.blocksByHash(...params ?? []),\n blockViewer_blocksByNumber: params => viewer.blocksByNumber(...params ?? []),\n blockViewer_currentBlock: params => viewer.currentBlock(...params ?? []),\n blockViewer_payloadsByHash: params => viewer.payloadsByHash(...params ?? []),\n }\n}\n","import type { FinalizationViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { FinalizationViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** rpcMethodHandlersFromFinalizationViewer constant. */\nexport const rpcMethodHandlersFromFinalizationViewer = (viewer: FinalizationViewerMethods): FinalizationViewerRpcMethodHandlers => {\n return { finalizationViewer_head: params => viewer.head(...(params ?? [])) }\n}\n","import type { MempoolRunnerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MempoolRunnerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a MempoolRunner instance. */\nexport const rpcMethodHandlersFromMempoolRunner = (runner: MempoolRunnerMethods): MempoolRunnerRpcMethodHandlers => {\n return {\n mempoolRunner_submitBlocks: params => runner.submitBlocks(...params ?? []),\n mempoolRunner_submitTransactions: params => runner.submitTransactions(...params ?? []),\n }\n}\n","import type { MempoolViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MempoolViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a MempoolViewer instance. */\nexport const rpcMethodHandlersFromMempoolViewer = (viewer: MempoolViewerMethods): MempoolViewerRpcMethodHandlers => {\n return {\n mempoolViewer_pendingBlocks: params => viewer.pendingBlocks(...params ?? []),\n mempoolViewer_pendingTransactions: params => viewer.pendingTransactions(...params ?? []),\n }\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers for network staking step rewards by position from a viewer instance. */\nexport const rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer\n = (viewer: NetworkStakeStepRewardsByPositionViewerMethods): NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers => {\n return {\n networkStakingStepRewardsByPositionViewer_bonus: params => viewer.bonus(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_claimed: params => viewer.claimed(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_earned: params => viewer.earned(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_total: params => viewer.total(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_unclaimed: params => viewer.unclaimed(...(params ?? [])),\n }\n }\n","import type { XyoRunner } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoRunner instance. */\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { TimeSyncViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { TimeSyncViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a TimeSyncViewer instance. */\nexport const rpcMethodHandlersFromTimeSyncViewer = (viewer: TimeSyncViewerMethods): TimeSyncViewerRpcMethodHandlers => {\n return {\n timeSyncViewer_convertTime: params => viewer.convertTime(...(params ?? [])),\n timeSyncViewer_currentTime: params => viewer.currentTime(...(params ?? [])),\n timeSyncViewer_currentTimeAndHash: params => viewer.currentTimeAndHash(...(params ?? [])),\n timeSyncViewer_currentTimePayload: params => viewer.currentTimePayload(...(params ?? [])),\n }\n}\n","import type { TransactionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { TransactionViewerRpcMethodHandlers } from '../index-node.ts'\n\n/** Creates RPC method handlers that delegate to a TransactionViewer instance. */\nexport const rpcMethodHandlersFromTransactionViewer = (viewer: TransactionViewerMethods): TransactionViewerRpcMethodHandlers => {\n return { transactionViewer_byHash: params => viewer.byHash(...params ?? []) }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoViewer instance. */\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_networkStakeStepRewardClaimedByAddress: params => viewer.networkStakeStepRewardClaimedByAddress(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressReward: params => viewer.networkStakeStepRewardAddressReward(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressHistory: params => viewer.networkStakeStepRewardAddressHistory(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressShare: params => viewer.networkStakeStepRewardAddressShare(...(params ?? [])),\n xyoViewer_networkStakeStepRewardWeightForAddress: params => viewer.networkStakeStepRewardWeightForAddress?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardUnclaimedByAddress: params => viewer.networkStakeStepRewardUnclaimedByAddress(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPoolShares: params => viewer.networkStakeStepRewardPoolShares(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPoolRewards: params => viewer.networkStakeStepRewardPoolRewards(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPositionWeight: params => viewer.networkStakeStepRewardPositionWeight?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPotentialPositionLoss: params => viewer.networkStakeStepRewardPotentialPositionLoss?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForStep: params => viewer.networkStakeStepRewardForStep?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardRandomizer: params => viewer.networkStakeStepRewardRandomizer?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardStakerCount: params => viewer.networkStakeStepRewardStakerCount?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForStepForPosition: params => viewer.networkStakeStepRewardForStepForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForPosition: params => viewer.networkStakeStepRewardForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForPosition: params => viewer.networkStakeStepRewardsForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForRange: params => viewer.networkStakeStepRewardsForRange?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForStepLevel: params => viewer.networkStakeStepRewardsForStepLevel?.(...(params ?? [])),\n xyoViewer_accountBalance: params => viewer.account.balance.accountBalance(...(params ?? [])),\n xyoViewer_accountBalanceHistory: params => viewer.account.balance.accountBalanceHistory(...(params ?? [])),\n xyoViewer_blocksByNumber: params => viewer.blocksByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_forkHistory: params => viewer.forkHistory(...(params ?? [])),\n xyoViewer_stakeById: params => viewer.stakeById(...(params ?? [])),\n xyoViewer_stakeByStaker: params => viewer.stakeByStaker(...(params ?? [])),\n xyoViewer_stakesByStaked: params => viewer.stakesByStaked(...(params ?? [])),\n xyoViewer_stakesByStaker: params => viewer.stakesByStaker(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transaction.byBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transaction.byBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transaction.byHash(...(params ?? [])),\n xyoViewer_payloadsByHash: params => viewer.payloadsByHash(...(params ?? [])),\n }\n}\n","import type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromAccountBalanceViewer } from './rpcMethodHandlersFromAccountBalanceViewer.ts'\nimport { rpcMethodHandlersFromBlockViewer } from './rpcMethodHandlersFromBlockViewer.ts'\nimport { rpcMethodHandlersFromFinalizationViewer } from './rpcMethodHandlersFromFinalizationViewer.ts'\nimport { rpcMethodHandlersFromMempoolRunner } from './rpcMethodHandlersFromMempoolRunner.ts'\nimport { rpcMethodHandlersFromMempoolViewer } from './rpcMethodHandlersFromMempoolViewer.ts'\nimport { rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer } from './rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromTimeSyncViewer } from './rpcMethodHandlersFromTimeSyncViewer.ts'\nimport { rpcMethodHandlersFromTransactionViewer } from './rpcMethodHandlersFromTransactionViewer.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\n\n/* networkStakeViewer is temporary as a param until it goes into root viewer */\nexport const rpcMethodHandlersFromConnection = (\n connection: XyoConnection,\n// eslint-disable-next-line complexity\n): XyoProviderRpcMethodHandlers => {\n const { runner, viewer } = connection\n let result: XyoProviderRpcMethodHandlers = {}\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n const accountBalanceViewer = viewer?.account?.balance\n if (accountBalanceViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromAccountBalanceViewer(accountBalanceViewer),\n }\n }\n\n const blockViewer = viewer?.block\n if (blockViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromBlockViewer(blockViewer),\n }\n }\n\n const finalizationViewer = viewer?.finalization\n if (finalizationViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromFinalizationViewer(finalizationViewer),\n }\n }\n\n const mempoolViewer = viewer?.mempool\n if (mempoolViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromMempoolViewer(mempoolViewer),\n }\n }\n\n const timeSyncViewer = viewer?.time\n if (timeSyncViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromTimeSyncViewer(timeSyncViewer),\n }\n }\n\n const transactionViewer = viewer?.transaction\n if (transactionViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromTransactionViewer(transactionViewer),\n }\n }\n\n const mempoolRunner = runner?.mempool\n if (mempoolRunner) {\n result = {\n ...result,\n ...rpcMethodHandlersFromMempoolRunner(mempoolRunner),\n }\n }\n\n const networkStakeViewer = viewer?.networkStake\n if (networkStakeViewer?.stepRewards?.position) {\n result = {\n ...result,\n ...rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer(networkStakeViewer.stepRewards.position),\n }\n }\n return result\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a NetworkStakeStepRewardsByPositionViewer instance. */\nexport const rpcMethodHandlersFromNetworkStakeStepRewardsByPositionViewer\n = (viewer: NetworkStakeStepRewardsByPositionViewerMethods): NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers => {\n return {\n networkStakingStepRewardsByPositionViewer_bonus: params => viewer.bonus(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_claimed: params => viewer.claimed(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_earned: params => viewer.earned(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_total: params => viewer.total(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_unclaimed: params => viewer.unclaimed(...(params ?? [])),\n }\n }\n","import type { NetworkStakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakeViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a NetworkStakeViewer instance. */\nexport const rpcMethodHandlersFromNetworkStakingViewer = (viewer: NetworkStakeViewerMethods): NetworkStakeViewerRpcMethodHandlers => {\n return { networkStakeViewer_active: params => viewer.active(...(params ?? [])) }\n}\n","import type { XyoPermissions } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoPermissionsRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoPermissions instance. */\nexport const rpcMethodHandlersFromPermissions = (permissions: XyoPermissions): XyoPermissionsRpcMethodHandlers => {\n return {\n xyoPermissions_getPermissions: params => permissions.getPermissions(...(params ?? [])),\n xyoPermissions_requestPermissions: params => permissions.requestPermissions(...(params ?? [])),\n xyoPermissions_revokePermissions: params => permissions.revokePermissions(...(params ?? [])),\n }\n}\n","import type { XyoSignerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoSigner instance. */\nexport const rpcMethodHandlersFromSigner = (signer: XyoSignerMethods): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_signTransaction: params => signer.signTransaction(...(params ?? [])),\n }\n}\n","import type { Json, JsonRpcMiddleware } from '@metamask/json-rpc-engine/v2'\nimport { JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\nimport type { Logger } from '@xylabs/sdk-js'\nimport type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\nimport { requestSchemas, rpcMethodHandlersFromConnection } from '../engine/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, JsonRpcErrorCodes,\n} from '../types/index.ts'\n\n/* networkStakeViewer is temporary as a param until it goes into root viewer */\nexport const rpcEngineFromConnection = (\n connection: XyoConnection,\n logger?: Logger,\n) => {\n const handlers = rpcMethodHandlersFromConnection(connection)\n const middleware: JsonRpcMiddleware = async ({ request }) => {\n // Get method name\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n const method = request.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 // throw method not found error\n throw new Error(JsonRpcErrorCodes.MethodNotFound.message)\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(request)\n // If validation fails\n if (!parsed.success) {\n logger?.error('RPC Request Validation Error', parsed.error)\n throw new Error(parsed.error.message)\n }\n\n // Call handler with validated params\n const { params } = parsed.data\n try {\n const result = await handler(params as never)\n // Parse handler result according to schema\n return schema.result.to.parse(result) as Json\n } catch (error) {\n logger?.error('RPC Response Handler Error', error)\n throw error\n }\n }\n\n return JsonRpcEngineV2.create({ middleware: [middleware] })\n}\n\nexport function rpcServerFromConnection(connection: XyoConnection, logger?: Logger) {\n const engine = rpcEngineFromConnection(connection, logger)\n return new JsonRpcServer({ engine })\n}\n","// 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.\n/** JsonRpcErrorCodes constant. */\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 UserRejected: { code: 4001, message: 'User rejected the request.' },\n}\n","/** jsonrpc constant. */\nexport const jsonrpc = '2.0' as const\n","import type { NetworkStakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakeViewerRpcNamespace constant. */\nexport const NetworkStakeViewerRpcNamespace = 'networkStakeViewer' as const\n/** NetworkStakeViewerRpcNamespace type. */\nexport type NetworkStakeViewerRpcNamespace = typeof NetworkStakeViewerRpcNamespace\n\n/** NetworkStakeViewerMethodName type. */\nexport type NetworkStakeViewerMethodName = MethodName<NetworkStakeViewerMethods>\n/** NetworkStakeViewerRpcMethodName type. */\nexport type NetworkStakeViewerRpcMethodName = RpcMethodName<NetworkStakeViewerRpcNamespace, NetworkStakeViewerMethodName>\n\n// Map each Network Stake RPC method string to the corresponding function type from NetworkStakeViewer\n/** NetworkStakeViewerRpcMethodHandlers type. */\nexport type NetworkStakeViewerRpcMethodHandlers = {\n [K in NetworkStakeViewerMethodName as NetworkStakeViewerRpcMethodName]: (\n params: Parameters<NetworkStakeViewerMethods[K]>,\n ) => ReturnType<NetworkStakeViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByPositionViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByPositionViewerRpcNamespace = 'networkStakingStepRewardsByPositionViewer' as const\n/** NetworkStakingStepRewardsByPositionViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcNamespace = typeof NetworkStakingStepRewardsByPositionViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByPositionViewerMethodName type. */\nexport type NetworkStakingStepRewardsByPositionViewerMethodName = MethodName<NetworkStakeStepRewardsByPositionViewerMethods>\n/** NetworkStakingStepRewardsByPositionViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByPositionViewerRpcNamespace,\n NetworkStakingStepRewardsByPositionViewerMethodName>\n\n/** NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByPositionViewerMethodName as NetworkStakingStepRewardsByPositionViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByPositionViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByPositionViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByStakerViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByStakerViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByStakerViewerRpcNamespace = 'networkStakingStepRewardsByStakerViewer' as const\n/** NetworkStakingStepRewardsByStakerViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcNamespace = typeof NetworkStakingStepRewardsByStakerViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByStakerViewerMethodName type. */\nexport type NetworkStakingStepRewardsByStakerViewerMethodName = MethodName<NetworkStakeStepRewardsByStakerViewerMethods>\n/** NetworkStakingStepRewardsByStakerViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByStakerViewerRpcNamespace,\n NetworkStakingStepRewardsByStakerViewerMethodName>\n/** NetworkStakingStepRewardsByStakerViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByStakerViewerMethodName as NetworkStakingStepRewardsByStakerViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByStakerViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByStakerViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByStepViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByStepViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByStepViewerRpcNamespace = 'networkStakingStepRewardsByStepViewer' as const\n/** NetworkStakingStepRewardsByStepViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcNamespace = typeof NetworkStakingStepRewardsByStepViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByStepViewerMethodName type. */\nexport type NetworkStakingStepRewardsByStepViewerMethodName = MethodName<NetworkStakeStepRewardsByStepViewerMethods>\n/** NetworkStakingStepRewardsByStepViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByStepViewerRpcNamespace,\n NetworkStakingStepRewardsByStepViewerMethodName>\n/** NetworkStakingStepRewardsByStepViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByStepViewerMethodName as NetworkStakingStepRewardsByStepViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByStepViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByStepViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsTotalViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsTotalViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsTotalViewerRpcNamespace = 'networkStakingStepRewardsTotalViewer' as const\n/** NetworkStakingStepRewardsTotalViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcNamespace = typeof NetworkStakingStepRewardsTotalViewerRpcNamespace\n\n/** NetworkStakingStepRewardsTotalViewerMethodName type. */\nexport type NetworkStakingStepRewardsTotalViewerMethodName = MethodName<NetworkStakeStepRewardsTotalViewerMethods>\n/** NetworkStakingStepRewardsTotalViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsTotalViewerRpcNamespace,\n NetworkStakingStepRewardsTotalViewerMethodName>\n/** NetworkStakingStepRewardsTotalViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsTotalViewerMethodName as NetworkStakingStepRewardsTotalViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsTotalViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsTotalViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsViewerRpcNamespace = 'networkStakingStepRewardsViewer' as const\n/** NetworkStakingStepRewardsViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsViewerRpcNamespace = typeof NetworkStakingStepRewardsViewerRpcNamespace\n\n/** NetworkStakingStepRewardsViewerMethodName type. */\nexport type NetworkStakingStepRewardsViewerMethodName = MethodName<NetworkStakeStepRewardsViewerMethods>\n/** NetworkStakingStepRewardsViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsViewerRpcNamespace, NetworkStakingStepRewardsViewerMethodName>\n\n/** NetworkStakingStepRewardsViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsViewerMethodName]: (\n params: Parameters<NetworkStakeStepRewardsViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsViewerMethods[K]>\n}\n","import {\n AddressZod,\n BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport {\n AccountBalanceHistoryItemZod, ChainQualifiedConfigZod, ChainQualifiedZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { AccountBalanceViewerRpcMethodName } from '../AccountBalanceViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** AccountBalanceViewerRpcSchemas constant. */\nexport const AccountBalanceViewerRpcSchemas = {\n accountBalanceViewer_qualifiedAccountBalances: {\n params: {\n to: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n from: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n },\n result: {\n to: ChainQualifiedZod(z.record(AddressZod, BigIntToJsonZod)),\n from: ChainQualifiedZod(z.record(AddressZod, JsonToBigIntZod)),\n },\n },\n accountBalanceViewer_qualifiedAccountBalanceHistories: {\n params: {\n to: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n from: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n },\n result: {\n to: ChainQualifiedZod(z.record(AddressZod, z.array(AccountBalanceHistoryItemZod))),\n from: ChainQualifiedZod(z.record(AddressZod, z.array(AccountBalanceHistoryItemZod))),\n },\n },\n} satisfies RpcSchemaMap<AccountBalanceViewerRpcMethodName>\n\n/** AccountBalanceViewerRpcSchemas type. */\nexport type AccountBalanceViewerRpcSchemas = typeof AccountBalanceViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { PayloadZod, WithHashMetaZod } from '@xyo-network/sdk-js'\nimport { SignedHydratedBlockWithHashMetaZod, XL1BlockNumberZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { BlockViewerRpcMethodName } from '../BlockViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** BlockViewerRpcSchemas constant. */\nexport const BlockViewerRpcSchemas = {\n blockViewer_blocksByNumber: {\n params: {\n to: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n from: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n blockViewer_blocksByHash: {\n params: {\n to: z.tuple([HashZod, z.number().optional()]),\n from: z.tuple([HashZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n blockViewer_currentBlock: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n blockViewer_payloadsByHash: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(WithHashMetaZod(PayloadZod).loose()),\n from: z.array(WithHashMetaZod(PayloadZod).loose()),\n },\n },\n} satisfies RpcSchemaMap<BlockViewerRpcMethodName>\n\n/** BlockViewerRpcSchemas type. */\nexport type BlockViewerRpcSchemas = typeof BlockViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { PayloadZod } from '@xyo-network/sdk-js'\nimport { ArrayBufferToJsonZod, JsonToArrayBufferZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { DataLakeViewerRpcMethodName } from '../DataLakeViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** DataLakeViewerRpcSchemas constant. */\nexport const DataLakeViewerRpcSchemas = {\n dataLakeViewer_get: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(z.union([PayloadZod.loose(), ArrayBufferToJsonZod])),\n from: z.array(z.union([PayloadZod.loose(), JsonToArrayBufferZod])),\n },\n },\n dataLakeViewer_next: {\n params: {\n to: z.tuple([z.object({}).loose()]),\n from: z.tuple([z.object({}).loose()]),\n },\n result: {\n to: z.array(z.union([PayloadZod.loose(), ArrayBufferToJsonZod])),\n from: z.array(z.union([PayloadZod.loose(), JsonToArrayBufferZod])),\n },\n },\n} satisfies RpcSchemaMap<DataLakeViewerRpcMethodName>\n\n/** DataLakeViewerRpcSchemas type. */\nexport type DataLakeViewerRpcSchemas = typeof DataLakeViewerRpcSchemas\n","import { SignedHydratedBlockWithHashMetaZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { FinalizationViewerRpcMethodName } from '../FinalizationViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** FinalizationViewerRpcSchemas constant. */\nexport const FinalizationViewerRpcSchemas = {\n finalizationViewer_head: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n} satisfies RpcSchemaMap<FinalizationViewerRpcMethodName>\n\n/** FinalizationViewerRpcSchemas type. */\nexport type FinalizationViewerRpcSchemas = typeof FinalizationViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedBlockZod, SignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { MempoolRunnerRpcMethodName } from '../MempoolRunnerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** MempoolRunnerRpcSchemas constant. */\nexport const MempoolRunnerRpcSchemas = {\n mempoolRunner_submitBlocks: {\n params: {\n to: z.tuple([z.array(SignedHydratedBlockZod)]),\n from: z.tuple([z.array(SignedHydratedBlockZod)]),\n },\n result: {\n to: z.array(HashZod),\n from: z.array(HashZod),\n },\n },\n mempoolRunner_submitTransactions: {\n params: {\n to: z.tuple([z.array(SignedHydratedTransactionZod)]),\n from: z.tuple([z.array(SignedHydratedTransactionZod)]),\n },\n result: {\n to: z.array(HashZod),\n from: z.array(HashZod),\n },\n },\n} satisfies RpcSchemaMap<MempoolRunnerRpcMethodName>\n\n/** MempoolRunnerRpcSchemas type. */\nexport type MempoolRunnerRpcSchemas = typeof MempoolRunnerRpcSchemas\n","import {\n PendingBlocksOptionsZod, PendingTransactionsOptionsZod, SignedHydratedBlockWithHashMetaZod, SignedHydratedTransactionWithHashMetaZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { MempoolViewerRpcMethodName } from '../MempoolViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** MempoolViewerRpcSchemas constant. */\nexport const MempoolViewerRpcSchemas = {\n mempoolViewer_pendingBlocks: {\n params: {\n to: z.tuple([PendingBlocksOptionsZod.optional()]),\n from: z.tuple([PendingBlocksOptionsZod.optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n mempoolViewer_pendingTransactions: {\n params: {\n to: z.tuple([PendingTransactionsOptionsZod.optional()]),\n from: z.tuple([PendingTransactionsOptionsZod.optional()]),\n },\n result: {\n to: z.array(SignedHydratedTransactionWithHashMetaZod),\n from: z.array(SignedHydratedTransactionWithHashMetaZod),\n },\n },\n} satisfies RpcSchemaMap<MempoolViewerRpcMethodName>\n\n/** MempoolViewerRpcSchemas type. */\nexport type MempoolViewerRpcSchemas = typeof MempoolViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { BlockNumberZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakeViewerRpcMethodName } from '../NetworkStakeViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakeViewerRpcSchemas constant. */\nexport const NetworkStakeViewerRpcSchemas = {\n networkStakeViewer_active: {\n params: {\n to: z.tuple([BlockNumberZod.optional()]),\n from: z.tuple([BlockNumberZod.optional()]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, z.number()]),\n from: z.tuple([JsonToBigIntZod, z.number()]),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakeViewerRpcMethodName>\n\n/** NetworkStakeViewerRpcSchemas type. */\nexport type NetworkStakeViewerRpcSchemas = typeof NetworkStakeViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodName } from '../NetworkStakingStepRewardsByPositionViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByPositionViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByPositionViewerRpcSchemas = {\n networkStakingStepRewardsByPositionViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByPositionViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByPositionViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcSchemas = typeof NetworkStakingStepRewardsByPositionViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByStakerViewerRpcMethodName } from '../NetworkStakingStepRewardsByStakerViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByStakerViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByStakerViewerRpcSchemas = {\n networkStakingStepRewardsByStakerViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByStakerViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByStakerViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcSchemas = typeof NetworkStakingStepRewardsByStakerViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByStepViewerRpcMethodName } from '../NetworkStakingStepRewardsByStepViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByStepViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByStepViewerRpcSchemas = {\n networkStakingStepRewardsByStepViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByStepViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByStepViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcSchemas = typeof NetworkStakingStepRewardsByStepViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsTotalViewerRpcMethodName } from '../NetworkStakingStepRewardsTotalViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsTotalViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsTotalViewerRpcSchemas = {\n networkStakingStepRewardsTotalViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsTotalViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsTotalViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcSchemas = typeof NetworkStakingStepRewardsTotalViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1 } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StakeTotalsViewerRpcMethodName } from '../StakeTotalsViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StakeTotalsViewerRpcSchemas constant. */\nexport const StakeTotalsViewerRpcSchemas = {\n stakeTotalsViewer_active: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_activeByStaked: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_activeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_pending: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_pendingByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_withdrawn: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_withdrawnByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n} satisfies RpcSchemaMap<StakeTotalsViewerRpcMethodName>\n\n/** StakeTotalsViewerRpcSchemas type. */\nexport type StakeTotalsViewerRpcSchemas = typeof StakeTotalsViewerRpcSchemas\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { JsonToStakeZod, StakeToJsonZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StakeViewerRpcMethodName } from '../StakeViewerRpc.ts'\nimport { NoArgsZod } from './NoArgsZod.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StakeViewerRpcSchemas constant. */\nexport const StakeViewerRpcSchemas = {\n stakeViewer_minWithdrawalBlocks: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n stakeViewer_rewardsContract: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n stakeViewer_stakeById: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n stakeViewer_stakeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number()]),\n from: z.tuple([AddressZod, z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n stakeViewer_stakesByStaker: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakeViewer_stakesByStaked: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakeViewer_stakingTokenAddress: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n} satisfies RpcSchemaMap<StakeViewerRpcMethodName>\n\n/** StakeViewerRpcSchemas type. */\nexport type StakeViewerRpcSchemas = typeof StakeViewerRpcSchemas\n","import { z } from 'zod'\n\n/** NoArgsZod constant. */\nexport const NoArgsZod = z.tuple([]).default([])\n","import type { NetworkStakingStepRewardsViewerRpcMethodName } from '../NetworkStakingStepRewardsViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsViewerRpcSchemas = {} satisfies RpcSchemaMap<NetworkStakingStepRewardsViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsViewerRpcSchemas = typeof NetworkStakingStepRewardsViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport {\n JsonToStakeZod, StakeToJsonZod, StepIdentityZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StepViewerMethodName } from '../StepViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StepViewerRpcSchemas constant. */\nexport const StepViewerRpcSchemas = {\n randomizer: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n stake: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n stakers: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n weight: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n positionCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n positions: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakerCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n} satisfies RpcSchemaMap<StepViewerMethodName>\n\n/** StepViewerRpcSchemas type. */\nexport type StepViewerRpcSchemas = typeof StepViewerRpcSchemas\n","import { TimeDomainZod, TimePayloadZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { TimeSyncViewerRpcMethodName } from '../TimeSyncViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** TimeSyncViewerRpcSchemas constant. */\nexport const TimeSyncViewerRpcSchemas = {\n timeSyncViewer_convertTime: {\n params: {\n from: z.tuple([TimeDomainZod, TimeDomainZod, z.number()]),\n to: z.tuple([TimeDomainZod, TimeDomainZod, z.number()]),\n },\n result: {\n from: z.number(),\n to: z.number(),\n },\n },\n timeSyncViewer_currentTime: {\n params: {\n from: z.tuple([TimeDomainZod]),\n to: z.tuple([TimeDomainZod]),\n },\n result: {\n from: z.tuple([TimeDomainZod, z.number()]),\n to: z.tuple([TimeDomainZod, z.number()]),\n },\n },\n timeSyncViewer_currentTimeAndHash: {\n params: {\n from: z.tuple([TimeDomainZod]),\n to: z.tuple([TimeDomainZod]),\n },\n result: {\n from: z.tuple([z.number(), z.nullable(z.string())]),\n to: z.tuple([z.number(), z.nullable(z.string())]),\n },\n },\n timeSyncViewer_currentTimePayload: {\n params: {\n from: z.tuple([]).default([]),\n to: z.tuple([]).default([]),\n },\n result: {\n from: TimePayloadZod,\n to: TimePayloadZod,\n },\n },\n} satisfies RpcSchemaMap<TimeSyncViewerRpcMethodName>\n\n/** TimeSyncViewerRpcSchemas type. */\nexport type TimeSyncViewerRpcSchemas = typeof TimeSyncViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionWithHashMetaZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { TransactionViewerRpcMethodName } from '../TransactionViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** TransactionViewerRpcSchemas constant. */\nexport const TransactionViewerRpcSchemas = {\n /** @deprecated use byBlockHashAndIndex instead */\n transactionViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashZod, z.number()]),\n from: z.tuple([HashZod, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n /** @deprecated use byBlockNumberAndIndex instead */\n transactionViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n transactionViewer_byHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n /** @deprecated use byHash instead */\n transactionViewer_transactionByHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n} satisfies RpcSchemaMap<TransactionViewerRpcMethodName>\n\n/** TransactionViewerRpcSchemas type. */\nexport type TransactionViewerRpcSchemas = typeof TransactionViewerRpcSchemas\n","import {\n InvokerPermissionZod, PermissionRequestZod, RequestedPermissionZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoPermissionsRpcMethodName } from '../XyoPermissions.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoPermissionsRpcSchemas constant. */\nexport const XyoPermissionsRpcSchemas = {\n xyoPermissions_getPermissions: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: z.array(InvokerPermissionZod),\n from: z.array(InvokerPermissionZod),\n },\n },\n xyoPermissions_requestPermissions: {\n params: {\n to: z.tuple([z.array(PermissionRequestZod)]),\n from: z.tuple([z.array(PermissionRequestZod)]),\n },\n result: {\n to: z.array(RequestedPermissionZod),\n from: z.array(RequestedPermissionZod),\n },\n },\n xyoPermissions_revokePermissions: {\n params: {\n to: z.tuple([z.array(PermissionRequestZod)]),\n from: z.tuple([z.array(PermissionRequestZod)]),\n },\n result: {\n to: z.array(RequestedPermissionZod),\n from: z.array(RequestedPermissionZod),\n },\n },\n} satisfies RpcSchemaMap<XyoPermissionsRpcMethodName>\n\n/** XyoPermissionsRpcSchemas type. */\nexport type XyoPermissionsRpcSchemas = typeof XyoPermissionsRpcSchemas\n","import { HashToJsonZod, JsonToHashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoRunnerRpcSchemas constant. */\nexport const XyoRunnerRpcSchemas = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionZod]),\n from: z.tuple([SignedHydratedTransactionZod]),\n },\n result: {\n to: HashToJsonZod,\n from: JsonToHashZod,\n },\n },\n} satisfies RpcSchemaMap<XyoRunnerRpcMethodName>\n\n/** XyoRunnerRpcSchemas type. */\nexport type XyoRunnerRpcSchemas = typeof XyoRunnerRpcSchemas\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionWithHashMetaZod, UnsignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoSignerRpcSchemas constant. */\nexport const XyoSignerRpcSchemas = {\n xyoSigner_address: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n xyoSigner_signTransaction: {\n params: {\n to: z.tuple([UnsignedHydratedTransactionZod]),\n from: z.tuple([UnsignedHydratedTransactionZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod,\n from: SignedHydratedTransactionWithHashMetaZod,\n },\n },\n} as const satisfies RpcSchemaMap<XyoSignerRpcMethodName>\n\n/** XyoSignerRpcSchemas type. */\nexport type XyoSignerRpcSchemas = typeof XyoSignerRpcSchemas\n","import {\n AddressZod,\n BigIntToJsonZod, HashZod, HexZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { PayloadZodLoose } from '@xyo-network/sdk-js'\nimport {\n AccountBalanceHistoryItemZod,\n asAttoXL1,\n JsonToStakeZod, SignedHydratedBlockWithHashMetaZod,\n SignedHydratedTransactionZod,\n StakeToJsonZod, StepIdentityZod,\n XL1BlockNumberZod, XL1BlockRangeZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoViewerRpcSchemas constant. */\nexport const XyoViewerRpcSchemas = {\n xyoViewer_networkStakeStepRewardClaimedByAddress: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardAddressReward: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardAddressHistory: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardAddressShare: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod, JsonToBigIntZod]),\n },\n },\n xyoViewer_networkStakeStepRewardWeightForAddress: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n xyoViewer_networkStakeStepRewardUnclaimedByAddress: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardPoolRewards: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardPositionWeight: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n xyoViewer_networkStakeStepRewardPotentialPositionLoss: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardForStep: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardRandomizer: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardStakerCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n xyoViewer_networkStakeStepRewardPoolShares: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod),\n },\n },\n xyoViewer_networkStakeStepRewardForStepForPosition: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))]),\n },\n },\n xyoViewer_networkStakeStepRewardForPosition: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))]),\n },\n },\n xyoViewer_networkStakeStepRewardsForRange: {\n params: {\n to: z.tuple([z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardsForStepLevel: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardsForPosition: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: z.record(z.string(), z.tuple([BigIntToJsonZod, BigIntToJsonZod])),\n from: z.record(z.string(), z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))])),\n },\n },\n xyoViewer_accountBalance: {\n params: {\n to: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n from: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_accountBalanceHistory: {\n params: {\n to: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n from: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n },\n result: {\n to: z.array(AccountBalanceHistoryItemZod),\n from: z.array(AccountBalanceHistoryItemZod),\n },\n },\n xyoViewer_blocksByNumber: {\n params: {\n to: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n from: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashZod, z.number().optional()]),\n from: z.tuple([HashZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n xyoViewer_forkHistory: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: z.record(z.number(), HexZod),\n from: z.record(z.number(), HexZod),\n },\n },\n xyoViewer_stakeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number()]),\n from: z.tuple([AddressZod, z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n xyoViewer_stakeById: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n xyoViewer_stakesByStaker: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n xyoViewer_stakesByStaked: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashZod, z.number()]),\n from: z.tuple([HashZod, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.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: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.nullable(),\n },\n },\n xyoViewer_payloadsByHash: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(PayloadZodLoose),\n from: z.array(PayloadZodLoose),\n },\n },\n} satisfies RpcSchemaMap<XyoViewerRpcMethodName>\n\n/** XyoViewerRpcSchemas type. */\nexport type XyoViewerRpcSchemas = typeof XyoViewerRpcSchemas\n","import { AccountBalanceViewerRpcSchemas } from './AccountBalanceViewerRpcSchemas.ts'\nimport { BlockViewerRpcSchemas } from './BlockViewerRpcSchemas.ts'\nimport { DataLakeViewerRpcSchemas } from './DataLakeViewerRpcSchema.ts'\nimport { FinalizationViewerRpcSchemas } from './FinalizationViewerRpcSchemas.ts'\nimport { MempoolRunnerRpcSchemas } from './MempoolRunnerRpcSchemas.ts'\nimport { MempoolViewerRpcSchemas } from './MempoolViewerRpcSchemas.ts'\nimport { NetworkStakeViewerRpcSchemas } from './NetworkStakeViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByPositionViewerRpcSchemas } from './RewardsByPositionViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByStakerViewerRpcSchemas } from './RewardsByStakerViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByStepViewerRpcSchemas } from './RewardsByStepViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsTotalViewerRpcSchemas } from './RewardsTotalViewerRpcSchemas.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { StakeTotalsViewerRpcSchemas } from './StakeTotalsViewerRpcSchemas.ts'\nimport { StakeViewerRpcSchemas } from './StakeViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsViewerRpcSchemas } from './StepRewardsViewerRpcSchemas.ts'\nimport { StepViewerRpcSchemas } from './StepViewerRpcSchemas.ts'\nimport { TimeSyncViewerRpcSchemas } from './TimeSyncViewerRpcSchema.ts'\nimport { TransactionViewerRpcSchemas } from './TransactionViewerRpcSchema.ts'\nimport { XyoPermissionsRpcSchemas } from './XyoPermissionsRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\n\n/** AllRpcSchemas constant. */\nexport const AllRpcSchemas = {\n ...AccountBalanceViewerRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoPermissionsRpcSchemas,\n ...NetworkStakeViewerRpcSchemas,\n ...BlockViewerRpcSchemas,\n ...MempoolViewerRpcSchemas,\n ...MempoolRunnerRpcSchemas,\n ...TimeSyncViewerRpcSchemas,\n ...StepViewerRpcSchemas,\n ...DataLakeViewerRpcSchemas,\n ...StakeTotalsViewerRpcSchemas,\n ...StakeViewerRpcSchemas,\n ...NetworkStakingStepRewardsViewerRpcSchemas,\n ...NetworkStakingStepRewardsTotalViewerRpcSchemas,\n ...NetworkStakingStepRewardsByStepViewerRpcSchemas,\n ...NetworkStakingStepRewardsByStakerViewerRpcSchemas,\n ...NetworkStakingStepRewardsByPositionViewerRpcSchemas,\n ...TransactionViewerRpcSchemas,\n ...FinalizationViewerRpcSchemas,\n} satisfies RpcSchemaMap\n\n/** AllRpcSchemas type. */\nexport type AllRpcSchemas = typeof AllRpcSchemas\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\n/** Schema identifier for createRequest payloads. */\nexport const createRequestSchema = <TParams extends z.ZodType, 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\n/** Schema identifier for createResponse payloads. */\nexport const createResponseSchema = <TParams extends z.ZodType>(\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 { DataLakeViewer } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcDataLakeViewerMethods } from './JsonRpcDataLakeViewerMethods.ts'\n\n/** JsonRpcDataLakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcDataLakeViewer extends JsonRpcDataLakeViewerMethods implements DataLakeViewer {\n static readonly dependencies = []\n}\n","import type { Hash, PromisableArray } from '@xylabs/sdk-js'\nimport type { NextOptions, Sequence } from '@xyo-network/sdk-js'\nimport type { DataLakeData, DataLakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\nimport { DataLakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { DataLakeViewerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../viewer/index.ts'\n\n/** JsonRpcDataLakeViewerMethods implementation. */\nexport class JsonRpcDataLakeViewerMethods extends AbstractJsonRpcViewer<DataLakeViewerRpcSchemas> implements DataLakeViewerMethods {\n static readonly defaultMoniker = DataLakeViewerMoniker\n static readonly monikers = [DataLakeViewerMoniker]\n moniker = JsonRpcDataLakeViewerMethods.defaultMoniker\n\n get(_hashes: Hash[]): PromisableArray<DataLakeData> {\n throw new Error('Method [get] not implemented.')\n }\n\n next(_options?: NextOptions<Sequence>): PromisableArray<DataLakeData> {\n throw new Error('Method [next] not implemented.')\n }\n\n protected schemas() {\n return DataLakeViewerRpcSchemas\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport {\n AccountBalanceHistoryItem,\n AccountBalanceViewer, AccountBalanceViewerMoniker, type AttoXL1,\n ChainQualifiedConfig,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcAccountBalanceViewerMethods } from './JsonRpcAccountBalanceViewerMethods.ts'\n\n/** JsonRpcAccountBalanceViewer implementation. */\n@creatableProvider()\nexport class JsonRpcAccountBalanceViewer extends JsonRpcAccountBalanceViewerMethods implements AccountBalanceViewer {\n static readonly defaultMoniker = AccountBalanceViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [AccountBalanceViewerMoniker]\n\n async accountBalance(address: Address, config: ChainQualifiedConfig = {}): Promise<AttoXL1> {\n const result = await this.accountBalances([address], config)\n return result[address]\n }\n\n async accountBalanceHistories(address: Address[], config: ChainQualifiedConfig = {}): Promise<Record<Address, AccountBalanceHistoryItem[]>> {\n const [result] = await this.qualifiedAccountBalanceHistories(address, config)\n return result\n }\n\n async accountBalanceHistory(address: Address, config: ChainQualifiedConfig = {}): Promise<AccountBalanceHistoryItem[]> {\n const result = await this.accountBalanceHistories([address], config)\n return result[address]\n }\n\n async accountBalances(address: Address[], config: ChainQualifiedConfig = {}): Promise<Record<Address, AttoXL1>> {\n const [result] = await this.qualifiedAccountBalances(address, config)\n return result\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem,\n AccountBalanceViewerMethods, AttoXL1, ChainQualified, ChainQualifiedConfig,\n} from '@xyo-network/xl1-protocol-lib'\nimport { AccountBalanceViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { AccountBalanceViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcAccountBalanceViewerMethods implementation. */\nexport class JsonRpcAccountBalanceViewerMethods extends AbstractJsonRpcViewer<AccountBalanceViewerRpcSchemas> implements AccountBalanceViewerMethods {\n moniker = AccountBalanceViewerMoniker\n async qualifiedAccountBalanceHistories(\n addresses: Address[],\n config: ChainQualifiedConfig,\n ): Promise<ChainQualified<Record<Address, AccountBalanceHistoryItem[]>>> {\n return await this.transport.sendRequest<'accountBalanceViewer_qualifiedAccountBalanceHistories'>(\n 'accountBalanceViewer_qualifiedAccountBalanceHistories',\n [addresses, config],\n )\n }\n\n async qualifiedAccountBalances(\n addresses: Address[],\n config: ChainQualifiedConfig,\n ) {\n return await this.transport.sendRequest(\n 'accountBalanceViewer_qualifiedAccountBalances',\n [addresses, config],\n ) as ChainQualified<Record<Address, AttoXL1>>\n }\n\n protected schemas() {\n return AccountBalanceViewerRpcSchemas\n }\n}\n","import type { EventData } from '@xylabs/sdk-js'\nimport type { CreatableProviderEventData, CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk'\nimport {\n AbstractCreatableProvider, HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport {\n HttpRpcTransport, PostMessageRpcTransport, type RpcTransport,\n} from '../../transport/index.ts'\nimport type { RpcSchemaMap } from '../../types/index.ts'\n\n/** Parameters for JsonRpcViewer. */\nexport interface JsonRpcViewerParams<TSchemas extends RpcSchemaMap = RpcSchemaMap> extends CreatableProviderParams {\n transport?: RpcTransport<TSchemas>\n}\n\n/** Abstract base class for JsonRpcViewer implementations. */\nexport abstract class AbstractJsonRpcViewer<TSchemas extends RpcSchemaMap,\n TParams extends JsonRpcViewerParams<TSchemas> = JsonRpcViewerParams<TSchemas>,\n TEventData extends EventData = CreatableProviderEventData> extends AbstractCreatableProvider<TParams, TEventData> {\n protected _transport?: RpcTransport<TSchemas>\n\n protected get transport() {\n return this.params.transport!\n }\n\n override async createHandler() {\n this.params.transport ??= this.createTransport()\n await super.createHandler()\n }\n\n private createTransport(): RpcTransport<TSchemas> {\n const httpRemoteConfig = HttpRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (httpRemoteConfig.success) {\n const { url } = httpRemoteConfig.data\n return new HttpRpcTransport(url, this.schemas())\n }\n const postMessageRemoteConfig = PostMessageRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (postMessageRemoteConfig.success) {\n const { networkId, sessionId } = postMessageRemoteConfig.data\n return new PostMessageRpcTransport(networkId, this.schemas(), sessionId, this.logger)\n }\n throw new Error('Unable to create transport')\n }\n\n protected abstract schemas(): TSchemas\n}\n","import type { JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\nimport type { JsonRpcFailure, JsonRpcSuccess } from '@metamask/utils'\nimport {\n axiosJsonConfig,\n isDefined, isError, isUndefinedOrNull,\n} from '@xylabs/sdk-js'\nimport { Axios, isAxiosError } from 'axios'\nimport { v4 } from 'uuid'\nimport { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\n/** HttpRpcTransport implementation. */\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _passThrough: boolean\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T, passThrough = false) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n this._passThrough = passThrough\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<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.input<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.output<TSchemas[TMethod]['result']['from']>> {\n try {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n const schema = schemas[method]\n\n if (params) {\n body.params = isDefined(schema)\n ? schema.params.to.parse(params) as JsonRpcRequest\n : this._passThrough ? z.json().parse(params) as JsonRpcRequest : undefined\n if (!isDefined(body.params)) {\n throw new Error(`[callRpc] RPC method ${String(method)} missing schema`)\n }\n }\n\n body.params ??= []\n\n const res = await new Axios(axiosJsonConfig()).post(url, body)\n\n const json: unknown = res.data\n if (isUndefinedOrNull(json)) {\n throw new Error(`[callRpc] empty response body (status ${res.status})`)\n }\n if ((json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n const result = isDefined(schema)\n ? schemas[method].result.from.parse((json as JsonRpcSuccess).result) as z.output<TSchemas[TMethod]['result']['from']>\n : (json as JsonRpcSuccess).result as z.output<TSchemas[TMethod]['result']['from']>\n\n return result\n } catch (ex) {\n let message = isError(ex) ? ex.message : String(ex)\n if (isAxiosError(ex)) {\n message = `Http error occurred [${ex.status}|${ex.code ?? '<unknown>'}]: ${ex.message}`\n }\n throw new Error(`Error occurred while calling RPC method ${String(method)}: ${message}`, { cause: ex })\n }\n }\n}\n","import type {\n JsonRpcEngineV2, JsonRpcParams, JsonRpcRequest,\n} from '@metamask/json-rpc-engine/v2'\nimport { JsonRpcServer } from '@metamask/json-rpc-engine/v2'\nimport {\n assertEx, isObject, isString,\n} from '@xylabs/sdk-js'\nimport { v4 } from 'uuid'\nimport type { z, ZodRawShape } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\n/** MemoryRpcTransport implementation. */\nexport class MemoryRpcTransport<T extends RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngineV2\n protected readonly _rpcServer: JsonRpcServer\n protected readonly _schemas: T\n protected readonly requestSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>\n protected readonly responseSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>\n\n constructor(rpcEngine: JsonRpcEngineV2, schemas: T) {\n this._rpcEngine = rpcEngine\n this._rpcServer = new JsonRpcServer({ engine: rpcEngine })\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<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 const stringMethod = assertEx(isString(method) ? method : null, () => 'Method must be a string')\n requestSchema = createRequestSchema(stringMethod, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string,\n }\n if (params !== undefined) {\n req.params = params as JsonRpcParams\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const result = await this._rpcServer.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(result)?.result as z.infer<T[TMethod]['result']['from']>\n }\n}\n","import { isDefined } from '@xylabs/sdk-js'\n\nimport type { MessageBus, MessageBusConnection } from './MessageBus.ts'\n\n/** Abstract base class for MessageBus implementations. */\nexport abstract class AbstractMessageBus<T> implements MessageBus<T> {\n protected connections: MessageBusConnection<T>[] = []\n protected readonly name: string\n protected readonly sessionId: string | undefined\n\n constructor(sessionId?: string, name = 'default') {\n this.name = name\n this.sessionId = sessionId\n this.start()\n }\n\n addConnection(connection: MessageBusConnection<T>): void {\n this.connections.push(connection)\n }\n\n removeConnection(connection: MessageBusConnection<T>): void {\n this.connections = this.connections.filter(c => c !== connection)\n }\n\n protected validateSessionId(sessionId?: string): boolean {\n return isDefined(this.sessionId) && sessionId === this.sessionId\n }\n\n abstract postMessage(message: unknown): void\n\n abstract start(): void\n\n abstract stop(): void\n}\n","import { isDefined } from '@xylabs/sdk-js'\n\nimport { AbstractMessageBus } from '../Abstract.ts'\nimport type { EventWithId } from '../validators/index.ts'\nimport { isEventWithId } from '../validators/index.ts'\n\n/** PostMessageBus implementation. */\nexport class PostMessageBus extends AbstractMessageBus<MessageEvent> {\n constructor(sessionId?: string, name = 'default') {\n super(sessionId, name)\n }\n\n override postMessage(message: unknown, origin = globalThis.location.origin): void {\n globalThis.postMessage(message, origin)\n }\n\n start() {\n globalThis.addEventListener('message', event => this.handleMessage(event))\n }\n\n stop() {\n globalThis.removeEventListener('message', this.handleMessage)\n this.connections.length = 0\n }\n\n private handleMessage = (event: MessageEvent) => {\n if (event.origin !== globalThis.location.origin) return\n if (!this.validateSessionId((event.data as Record<string, unknown>)?.sessionId as string | undefined)) return\n\n for (const connection of this.connections) {\n const { id, listener } = connection\n if (isDefined(id) && isEventWithId(event)) {\n const eventWithId = event as EventWithId\n if (eventWithId.data.data.id === id) listener(event)\n } else {\n listener(event)\n }\n }\n }\n}\n","/** HasSessionId type. */\nexport interface HasSessionId { sessionId?: string }\n/** hasSessionId constant. */\nexport const hasSessionId = (message: unknown): message is HasSessionId => {\n return (\n typeof message === 'object'\n && message !== null\n && 'sessionId' in message\n && typeof message.sessionId === 'string'\n )\n}\n","/** EventWithId type. */\nexport interface EventWithId { data: { data: { id: string } } }\n/** Type guard that checks if a value is a valid EventWithId. */\nexport const isEventWithId = (event: unknown): event is EventWithId => {\n return (\n typeof event === 'object'\n && event !== null\n && 'data' in event\n && typeof event.data === 'object'\n && event.data !== null\n && 'data' in event.data\n && typeof event.data.data === 'object'\n && event.data.data !== null\n && 'id' in event.data.data\n && typeof event.data.data.id === 'string'\n )\n}\n","/** MessageWithId type. */\nexport interface MessageWithId { data: { id: string } }\n/** Type guard that checks if a value is a valid MessageWithId. */\nexport const isMessageWithId = (message: unknown): message is MessageWithId => {\n return (\n typeof message === 'object'\n && message !== null\n && 'data' in message\n && typeof message.data === 'object'\n && message.data !== null\n && 'id' in message.data\n && typeof message.data.id === 'string'\n )\n}\n","import type {\n Json,\n JsonRpcRequest,\n} from '@metamask/json-rpc-engine/v2'\nimport {\n isJsonRpcFailure, isJsonRpcResponse, isJsonRpcSuccess,\n} from '@metamask/utils'\nimport type { Logger } from '@xylabs/sdk-js'\nimport { isDefined } from '@xylabs/sdk-js'\nimport { v4 } from 'uuid'\nimport type * as z from 'zod'\n\nimport type { RpcSchemaMap } from '../../types/index.ts'\nimport { jsonrpc } from '../../types/index.ts'\nimport type { RpcTransport } from '../RpcTransport.ts'\nimport type { MessageBusConnection } from './bus/index.ts'\nimport { PostMessageBus } from './bus/index.ts'\nimport type { SessionMessageEnvelope } from './SessionEnvelope.ts'\n\n/** PostMessageRpcTransport implementation. */\nexport class PostMessageRpcTransport<T extends RpcSchemaMap> implements RpcTransport<T> {\n private readonly _destination?: string\n private readonly _logger?: Logger\n private readonly _schemas: T\n private readonly _sessionId: string | undefined\n\n constructor(\n defaultDestination: string,\n schemas: T,\n sessionId: string,\n logger?: Logger,\n ) {\n this._schemas = schemas\n this._destination = defaultDestination\n this._logger = logger\n this._sessionId = sessionId\n }\n\n protected get destination() {\n return this._destination\n }\n\n protected get logger() {\n return this._logger\n }\n\n protected get schemas() {\n return this._schemas\n }\n\n protected get sessionId() {\n return this._sessionId\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<T[TMethod]['result']['from']>> {\n const id = v4()\n return await this.callRpc(this.schemas, method, id, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n schemas: TSchemas,\n method: TMethod,\n id: string,\n params?: z.input<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.output<TSchemas[TMethod]['result']['from']>> {\n this.logger?.debug(`PostMessageRpcTransport: callRpc method=${String(method)} id=${id}`)\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n params: ((isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params) as Json[],\n }\n\n return await new Promise((resolve, reject) => {\n const postMessageBus = new PostMessageBus(this.sessionId)\n const postMessageConnection: MessageBusConnection<MessageEvent> = {\n listener: (event) => {\n if ('data' in (event.data as Record<string, unknown>) && isJsonRpcResponse((event.data as Record<string, unknown>).data)) {\n const response = (event.data as Record<string, unknown>).data\n if (isJsonRpcSuccess(response) && Array.isArray(response.result)) {\n // Handle successful response\n const ret = schemas[method].result.from.parse(response.result[0]) as z.infer<TSchemas[TMethod]['result']['from']>\n resolve(ret)\n return\n }\n if (isJsonRpcFailure(response)) {\n // Handle error response\n this.logger?.error('Error in PostMessageRpcTransport', response)\n reject(new Error(response.error.message))\n return\n }\n throw new Error(`Invalid response from wallet extension, ${JSON.stringify(event.data)}`)\n }\n },\n id,\n }\n postMessageBus.addConnection(postMessageConnection)\n\n const message: SessionMessageEnvelope<JsonRpcRequest> = {\n data: body, destination: this.destination, sessionId: this.sessionId ?? '',\n }\n postMessageBus.postMessage(message)\n })\n }\n}\n","import { assertEx, type Hash } from '@xylabs/sdk-js'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk-js'\nimport {\n BlockRate,\n type BlockViewer,\n BlockViewerMoniker,\n type ChainId,\n Count,\n type SignedHydratedBlockWithHashMeta,\n StepIndex,\n TimeDurations,\n type XL1BlockNumber,\n XL1BlockRange,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n calculateBlockRate, calculateStepSizeRate, calculateTimeRate, creatableProvider,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport type { BlockViewerRpcSchemas } from '../../../types/index.ts'\nimport type { JsonRpcViewerParams } from '../JsonRpcViewer.ts'\nimport { JsonRpcBlockViewerMethods } from './JsonRpcBlockViewerMethods.ts'\n\nconst MIN_HEAD_POLL_INTERVAL_MS = 5000\n\n/** Parameters for JsonRpcBlockViewer. */\nexport interface JsonRpcBlockViewerParams extends JsonRpcViewerParams<BlockViewerRpcSchemas> {\n headPollIntervalMs?: number\n}\n\n/** JsonRpcBlockViewer implementation. */\n@creatableProvider()\nexport class JsonRpcBlockViewer extends JsonRpcBlockViewerMethods<JsonRpcBlockViewerParams> implements BlockViewer {\n static readonly defaultMoniker = BlockViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [BlockViewerMoniker]\n\n private _headPollHash?: Hash\n private _headPollInProgress = false\n private _headPollTimer: ReturnType<typeof setInterval> | null = null\n\n protected get headPollIntervalMs() {\n return this.params.headPollIntervalMs\n }\n\n static override async paramsHandler(params: Partial<JsonRpcBlockViewerParams> = {}) {\n const headPollIntervalMs = params.headPollIntervalMs\n if (headPollIntervalMs !== undefined) {\n assertEx(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`)\n }\n return {\n ...await super.paramsHandler(params),\n headPollIntervalMs,\n } satisfies JsonRpcBlockViewerParams\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByHash(hash, 1))[0]\n }\n\n async blockByNumber(block: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByNumber(block, 1))[0]\n }\n\n async chainId(blockNumber: XL1BlockNumber | 'latest' = 'latest'): Promise<ChainId> {\n if (blockNumber === 'latest') {\n return (await this.currentBlock())[0].chain\n }\n return (await this.blocksByNumber(blockNumber, 1))[0][0].chain\n }\n\n async currentBlockHash(): Promise<Hash> {\n return (await this.currentBlock())[0]._hash\n }\n\n async currentBlockNumber(): Promise<XL1BlockNumber> {\n return (await this.currentBlock())[0].block\n }\n\n async payloadByHash(hash: Hash): Promise<WithHashMeta<Payload> | null> {\n return (await this.payloadsByHash([hash]))[0] ?? null\n }\n\n async rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await calculateBlockRate(this, range, timeUnit)\n }\n\n async stepSizeRate(start: XL1BlockNumber, stepSizeIndex: StepIndex, count?: Count, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await calculateStepSizeRate(this, start, stepSizeIndex, count, timeUnit)\n }\n\n async timeDurationRate(\n timeConfig: Record<keyof TimeDurations, number>,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promise<BlockRate> {\n return await calculateTimeRate(this, timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts)\n }\n\n protected override async startHandler(): Promise<void> {\n await super.startHandler()\n if (this.headPollIntervalMs === undefined) return\n await this.pollHead(false)\n this.startHeadPolling()\n }\n\n protected override async stopHandler(): Promise<void> {\n this.stopHeadPolling()\n this._headPollHash = undefined\n await super.stopHandler()\n }\n\n private async pollHead(emitOnChange: boolean): Promise<void> {\n if (this._headPollInProgress) return\n this._headPollInProgress = true\n try {\n const block = await this.currentBlock()\n const hash = block[0]._hash\n if (this._headPollHash === undefined) {\n this._headPollHash = hash\n return\n }\n if (hash !== this._headPollHash) {\n this._headPollHash = hash\n if (emitOnChange) {\n await this.emit('headUpdated', { block })\n }\n }\n } catch (ex) {\n this.logger?.error('Error polling block head', ex)\n } finally {\n this._headPollInProgress = false\n }\n }\n\n private startHeadPolling() {\n if (this.headPollIntervalMs === undefined) return\n this.stopHeadPolling()\n this._headPollTimer = setInterval(() => {\n void this.pollHead(true)\n }, this.headPollIntervalMs)\n }\n\n private stopHeadPolling() {\n if (this._headPollTimer) {\n clearInterval(this._headPollTimer)\n this._headPollTimer = null\n }\n }\n}\n","import { type Hash, isDefined } from '@xylabs/sdk-js'\nimport { type Payload, type WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockViewer, BlockViewerMethods, DataLakeViewer, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport { BlockViewerMoniker, DataLakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { addDataLakePayloads, addDataLakePayloadsToPayloads } from '@xyo-network/xl1-protocol-sdk'\n\nimport { BlockViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer, type JsonRpcViewerParams } from '../JsonRpcViewer.ts'\n\n/** JsonRpcBlockViewerMethods implementation. */\nexport class JsonRpcBlockViewerMethods<TParams extends JsonRpcViewerParams<BlockViewerRpcSchemas> = JsonRpcViewerParams<BlockViewerRpcSchemas>>\n extends AbstractJsonRpcViewer<BlockViewerRpcSchemas, TParams, BlockViewer['eventData']>\n implements BlockViewerMethods {\n readonly moniker = BlockViewerMoniker\n\n protected dataLakeViewer?: DataLakeViewer\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_blocksByHash',\n isDefined(limit) ? [hash, limit] : [hash],\n )\n return await Promise.all(result.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n async blocksByNumber(block: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_blocksByNumber',\n isDefined(limit) ? [block, limit] : [block],\n )\n return await Promise.all(result.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async createHandler() {\n await super.createHandler()\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n async currentBlock(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest(\n 'blockViewer_currentBlock',\n [],\n )\n return (await addDataLakePayloads(result, this.dataLakeViewer))[0]\n }\n\n async payloadsByHash(hashes: Hash[]): Promise<WithHashMeta<Payload>[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_payloadsByHash',\n [hashes],\n )\n return (await addDataLakePayloadsToPayloads(hashes, result, this.dataLakeViewer))[0]\n }\n\n protected schemas() {\n return BlockViewerRpcSchemas\n }\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport {\n FinalizationViewer,\n FinalizationViewerMoniker,\n SignedBlockBoundWitnessWithHashMeta,\n type XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcFinalizationViewerMethods } from './JsonRpcFinalizationViewerMethods.ts'\n\n/** JsonRpcFinalizationViewer implementation. */\n@creatableProvider()\nexport class JsonRpcFinalizationViewer extends JsonRpcFinalizationViewerMethods implements FinalizationViewer {\n static readonly defaultMoniker = FinalizationViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [FinalizationViewerMoniker]\n\n async chainId() {\n return (await this.headBlock()).chain\n }\n\n async headBlock(): Promise<SignedBlockBoundWitnessWithHashMeta> {\n return (await this.head())[0]\n }\n\n async headHash(): Promise<Hash> {\n return (await this.head())[0]._hash\n }\n\n async headNumber(): Promise<XL1BlockNumber> {\n return (await this.head())[0].block\n }\n}\n","import type { FinalizationViewerMethods, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'\nimport { FinalizationViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { FinalizationViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcFinalizationViewerMethods implementation. */\nexport class JsonRpcFinalizationViewerMethods extends AbstractJsonRpcViewer<FinalizationViewerRpcSchemas> implements FinalizationViewerMethods {\n readonly moniker = FinalizationViewerMoniker\n\n async head(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest(\n 'finalizationViewer_head',\n [],\n )\n return result\n }\n\n protected schemas() {\n return FinalizationViewerRpcSchemas\n }\n}\n","import { MempoolViewer, MempoolViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcMempoolViewerMethods } from './JsonRpcMempoolViewerMethods.ts'\n\n/** JsonRpcMempoolViewer implementation. */\n@creatableProvider()\nexport class JsonRpcMempoolViewer extends JsonRpcMempoolViewerMethods implements MempoolViewer {\n static readonly defaultMoniker = MempoolViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [MempoolViewerMoniker]\n}\n","import type {\n MempoolViewerMethods, PendingBlocksOptions, PendingTransactionsOptions, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { MempoolViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcMempoolViewerMethods implementation. */\nexport class JsonRpcMempoolViewerMethods extends AbstractJsonRpcViewer<MempoolViewerRpcSchemas> implements MempoolViewerMethods {\n readonly moniker = MempoolViewerMoniker\n async pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'mempoolViewer_pendingBlocks',\n options ? [options] : [],\n )\n return result\n }\n\n async pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'mempoolViewer_pendingTransactions',\n options ? [options] : [],\n )\n return result\n }\n\n protected schemas() {\n return MempoolViewerRpcSchemas\n }\n}\n","import {\n type NetworkStakeStepRewardsByPositionViewer, type NetworkStakeStepRewardsByStakerViewer, type NetworkStakeStepRewardsByStepViewer,\n type NetworkStakeStepRewardsTotalViewer, type NetworkStakeStepRewardsViewer,\n NetworkStakeStepRewardsViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport type { JsonRpcNetworkStakingStepRewardsViewerMethodsParams } from './JsonRpcNetworkStakeStepRewardsViewerMethods.ts'\nimport { JsonRpcNetworkStakeStepRewardsViewerMethods } from './JsonRpcNetworkStakeStepRewardsViewerMethods.ts'\n\n/** Parameters for JsonRpcNetworkStakeStepRewardsViewer. */\nexport interface JsonRpcNetworkStakeStepRewardsViewerParams extends JsonRpcNetworkStakingStepRewardsViewerMethodsParams {\n position?: NetworkStakeStepRewardsByPositionViewer\n staker?: NetworkStakeStepRewardsByStakerViewer\n step?: NetworkStakeStepRewardsByStepViewer\n total?: NetworkStakeStepRewardsTotalViewer\n}\n/** JsonRpcNetworkStakeStepRewardsViewer implementation. */\n@creatableProvider()\nexport class JsonRpcNetworkStakeStepRewardsViewer extends\n JsonRpcNetworkStakeStepRewardsViewerMethods<JsonRpcNetworkStakeStepRewardsViewerParams> implements NetworkStakeStepRewardsViewer {\n static readonly defaultMoniker = NetworkStakeStepRewardsViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [NetworkStakeStepRewardsViewerMoniker]\n\n get position(): NetworkStakeStepRewardsByPositionViewer | undefined {\n return this.params.position\n }\n\n get staker(): NetworkStakeStepRewardsByStakerViewer | undefined {\n return this.params.staker\n }\n\n get step(): NetworkStakeStepRewardsByStepViewer | undefined {\n return this.params.step\n }\n\n get total(): NetworkStakeStepRewardsTotalViewer | undefined {\n return this.params.total\n }\n}\n\n/** @deprecated use JsonRpcNetworkStakeStepRewardsViewer instead */\nexport class JsonRpcNetworkStakingStepRewardsViewer extends JsonRpcNetworkStakeStepRewardsViewer {}\n","import { type NetworkStakeStepRewardsViewerMethods, NetworkStakeStepRewardsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { NetworkStakingStepRewardsViewerRpcSchemas } from '../../../types/index.ts'\nimport type { JsonRpcViewerParams } from '../JsonRpcViewer.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** Parameters for JsonRpcNetworkStakingStepRewardsViewerMethods. */\nexport interface JsonRpcNetworkStakingStepRewardsViewerMethodsParams extends JsonRpcViewerParams<NetworkStakingStepRewardsViewerRpcSchemas> {}\n\n/** JsonRpcNetworkStakeStepRewardsViewerMethods implementation. */\nexport class JsonRpcNetworkStakeStepRewardsViewerMethods<TParams extends\nJsonRpcNetworkStakingStepRewardsViewerMethodsParams = JsonRpcNetworkStakingStepRewardsViewerMethodsParams> extends\n AbstractJsonRpcViewer<NetworkStakingStepRewardsViewerRpcSchemas, TParams> implements NetworkStakeStepRewardsViewerMethods {\n readonly moniker = NetworkStakeStepRewardsViewerMoniker\n protected schemas() {\n return NetworkStakingStepRewardsViewerRpcSchemas\n }\n}\n","import {\n type NetworkStakeStepRewardsViewer, NetworkStakeStepRewardsViewerMoniker, type NetworkStakeViewer, NetworkStakeViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport type { JsonRpcNetworkStakeStepRewardsViewer } from '../JsonRpcNetworkStakeStepRewardsViewer/index.ts'\nimport { JsonRpcNetworkStakeViewerMethods } from './JsonRpcNetworkStakeViewerMethods.ts'\n\n/** JsonRpcNetworkStakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcNetworkStakeViewer extends JsonRpcNetworkStakeViewerMethods implements NetworkStakeViewer {\n static readonly defaultMoniker = NetworkStakeViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [NetworkStakeViewerMoniker]\n\n protected _stepRewards?: NetworkStakeStepRewardsViewer\n\n get stepRewards(): NetworkStakeStepRewardsViewer {\n return this._stepRewards!\n }\n\n override async createHandler() {\n await super.createHandler()\n this._stepRewards = await this.locator.getInstance<JsonRpcNetworkStakeStepRewardsViewer>(NetworkStakeStepRewardsViewerMoniker)\n }\n}\n","import { type NetworkStakeViewerMethods, NetworkStakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { NetworkStakeViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcNetworkStakeViewerMethods implementation. */\nexport class JsonRpcNetworkStakeViewerMethods extends AbstractJsonRpcViewer<NetworkStakeViewerRpcSchemas> implements NetworkStakeViewerMethods {\n readonly moniker = NetworkStakeViewerMoniker\n async active(blockNumber?: number): Promise<[bigint, number]> {\n return (await this.transport.sendRequest('networkStakeViewer_active', [blockNumber]))\n }\n\n protected schemas() {\n return NetworkStakeViewerRpcSchemas\n }\n}\n","import { type StakeTotalsViewer, StakeTotalsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcStakeTotalsViewerMethods } from './JsonRpcStakeTotalsViewerMethods.ts'\n\n/** JsonRpcStakeTotalsViewer implementation. */\n@creatableProvider()\nexport class JsonRpcStakeTotalsViewer extends JsonRpcStakeTotalsViewerMethods implements StakeTotalsViewer {\n static readonly defaultMoniker = StakeTotalsViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [StakeTotalsViewerMoniker]\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport { type StakeTotalsViewerMethods, StakeTotalsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { StakeTotalsViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcStakeTotalsViewerMethods implementation. */\nexport class JsonRpcStakeTotalsViewerMethods extends AbstractJsonRpcViewer<StakeTotalsViewerRpcSchemas> implements StakeTotalsViewerMethods {\n readonly moniker = StakeTotalsViewerMoniker\n\n async active(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_active', [time])\n }\n\n async activeByStaked(staked: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_activeByStaked', [staked, time])\n }\n\n async activeByStaker(address: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_activeByStaker', [address, time])\n }\n\n async pending(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_pending', [time])\n }\n\n async pendingByStaker(staker: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_pendingByStaker', [staker, time])\n }\n\n async withdrawn(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_withdrawn', [time])\n }\n\n async withdrawnByStaker(staker: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_withdrawnByStaker', [staker, time])\n }\n\n protected schemas() {\n return StakeTotalsViewerRpcSchemas\n }\n}\n","import { Promisable } from '@xylabs/sdk-js'\nimport {\n Position,\n StakeEventsViewer, StakeEventsViewerMoniker,\n StakeViewer,\n StakeViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcStakeViewerMethods } from './JsonRpcStakeViewerMethods.ts'\n\n/** JsonRpcStakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcStakeViewer extends JsonRpcStakeViewerMethods implements StakeViewer {\n static readonly defaultMoniker = StakeViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [StakeViewerMoniker]\n\n protected _stakeEvents!: StakeEventsViewer\n\n get stakeEvents() {\n return this._stakeEvents\n }\n\n activeStakes(): Promisable<Position[]> {\n return []\n }\n\n override async createHandler() {\n await super.createHandler()\n this._stakeEvents = await this.locator.getInstance<StakeEventsViewer>(StakeEventsViewerMoniker)\n }\n\n removedStakes(): Promisable<Position[]> {\n return []\n }\n\n withdrawnStakes(): Promisable<Position[]> {\n return []\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type { StakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\nimport { StakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { StakeViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcStakeViewerMethods implementation. */\nexport class JsonRpcStakeViewerMethods extends AbstractJsonRpcViewer<StakeViewerRpcSchemas> implements StakeViewerMethods {\n readonly moniker = StakeViewerMoniker\n\n async minWithdrawalBlocks() {\n return await this.transport.sendRequest('stakeViewer_minWithdrawalBlocks', [])\n }\n\n async rewardsContract() {\n return await this.transport.sendRequest('stakeViewer_rewardsContract', [])\n }\n\n async stakeById(id: number) {\n return await this.transport.sendRequest('stakeViewer_stakeById', [id])\n }\n\n async stakeByStaker(staker: Address, slot: number) {\n return await this.transport.sendRequest('stakeViewer_stakeByStaker', [staker, slot])\n }\n\n async stakesByStaked(staked: Address) {\n return await this.transport.sendRequest('stakeViewer_stakesByStaked', [staked])\n }\n\n async stakesByStaker(staker: Address) {\n return await this.transport.sendRequest('stakeViewer_stakesByStaker', [staker])\n }\n\n async stakingTokenAddress() {\n return await this.transport.sendRequest('stakeViewer_stakingTokenAddress', [])\n }\n\n protected schemas() {\n return StakeViewerRpcSchemas\n }\n}\n","import { type TimeSyncViewer, TimeSyncViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcTimeSyncViewerMethods } from './JsonRpcTimeSyncViewerMethods.ts'\n\n/** JsonRpcTimeSyncViewer implementation. */\n@creatableProvider()\nexport class JsonRpcTimeSyncViewer extends JsonRpcTimeSyncViewerMethods implements TimeSyncViewer {\n static readonly defaultMoniker = TimeSyncViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [TimeSyncViewerMoniker]\n}\n","import type {\n TimeDomain,\n TimePayload, TimeSyncViewerMethods,\n} from '@xyo-network/xl1-protocol-lib'\nimport { TimeSyncViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { TimeSyncViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcTimeSyncViewerMethods implementation. */\nexport class JsonRpcTimeSyncViewerMethods extends AbstractJsonRpcViewer<TimeSyncViewerRpcSchemas>implements TimeSyncViewerMethods {\n readonly moniker = TimeSyncViewerMoniker\n\n async convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promise<number> {\n return await this.transport.sendRequest('timeSyncViewer_convertTime', [fromDomain, toDomain, from])\n }\n\n async currentTime(domain: TimeDomain): Promise<[string, number]> {\n return await this.transport.sendRequest('timeSyncViewer_currentTime', [domain])\n }\n\n async currentTimeAndHash(domain: TimeDomain): Promise<[number, string | null]> {\n return await this.transport.sendRequest('timeSyncViewer_currentTimeAndHash', [domain])\n }\n\n async currentTimePayload(): Promise<TimePayload> {\n return await this.transport.sendRequest('timeSyncViewer_currentTimePayload', [])\n }\n\n protected schemas() {\n return TimeSyncViewerRpcSchemas\n }\n}\n","import {\n assertEx, exists, type Hash,\n} from '@xylabs/sdk-js'\nimport { BoundWitnessSchema } from '@xyo-network/sdk-js'\nimport type {\n BlockViewer, DataLakeViewer, TransactionViewer, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n BlockViewerMoniker, DataLakeViewerMoniker, isTransactionBoundWitnessWithHashMeta, TransactionViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { addDataLakePayloads, creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { TransactionViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer, JsonRpcViewerParams } from '../JsonRpcViewer.ts'\n\n/** Parameters for JsonRpcTransactionViewer. */\nexport interface JsonRpcTransactionViewerParams extends JsonRpcViewerParams<typeof TransactionViewerRpcSchemas> {}\n\n/** JsonRpcTransactionViewer implementation. */\n@creatableProvider()\nexport class JsonRpcTransactionViewer extends AbstractJsonRpcViewer<TransactionViewerRpcSchemas, JsonRpcTransactionViewerParams> implements TransactionViewer {\n static readonly defaultMoniker = TransactionViewerMoniker\n\n static readonly dependencies = [\n BlockViewerMoniker,\n ]\n\n static readonly monikers = [TransactionViewerMoniker]\n\n moniker = JsonRpcTransactionViewer.defaultMoniker\n\n protected dataLakeViewer?: DataLakeViewer\n\n private _blockViewer?: BlockViewer\n\n protected get blockViewer() {\n return this._blockViewer!\n }\n\n async byBlockHashAndIndex(blockHash: Hash, transactionIndex: number) {\n return await this.spanAsync('byBlockHashAndIndex', async () => {\n assertEx(transactionIndex >= 0, () => 'transactionIndex must be greater than or equal to 0')\n try {\n const block = await this.blockViewer.blockByHash(blockHash)\n if (!block) return null\n const blockBoundWitnessIndexes = block[0].payload_schemas.map((schema, index) => schema === BoundWitnessSchema ? index : undefined).filter(exists)\n const blockBoundWitnessHashes = new Set(blockBoundWitnessIndexes.map(index => block[0].payload_hashes[index]))\n const blockBoundWitnesses = block[1].filter(payload => blockBoundWitnessHashes.has(payload._hash) || blockBoundWitnessHashes.has(payload._dataHash))\n const blockTransactionBoundWitnesses = blockBoundWitnesses.filter(isTransactionBoundWitnessWithHashMeta)\n const transaction = blockTransactionBoundWitnesses.at(transactionIndex)\n if (!transaction) return null\n return await this.byHash(transaction._hash)\n } catch {\n return null\n }\n }, this.context)\n }\n\n async byBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex: number) {\n return await this.spanAsync('transactionByBlockNumberAndIndex', async () => {\n try {\n const block = await this.blockViewer.blockByNumber(blockNumber)\n if (!block) return null\n return await this.byBlockHashAndIndex(block[0]._hash, transactionIndex)\n } catch {\n return null\n }\n }, this.context)\n }\n\n async byHash(transactionHash: Hash) {\n const result = (await this.transport.sendRequest('transactionViewer_byHash', [transactionHash]))\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n override async createHandler() {\n await super.createHandler()\n this._blockViewer = await this.locator.getInstance<BlockViewer>(BlockViewerMoniker)\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n async transactionByHash(transactionHash: Hash) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByHash', [transactionHash])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n protected schemas() {\n return TransactionViewerRpcSchemas\n }\n}\n","import {\n type Address, assertEx, type Hash, isUndefined,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n AccountBalanceHistoryItem,\n AccountBalanceViewer,\n AttoXL1,\n BlockRate,\n BlockViewer,\n ChainId,\n ChainQualifiedConfig,\n FinalizationViewer,\n ForkHistory,\n HydratedBlock,\n MempoolViewer,\n NetworkStakeViewer, Position,\n Provider,\n ProviderMoniker,\n SignedHydratedBlockWithHashMeta,\n SignedHydratedTransaction,\n SingleTimeConfig,\n StakeViewer,\n StepIdentity,\n StepViewer,\n TimeDurations,\n TimeSyncViewer,\n TransactionViewer,\n XL1BlockNumber,\n XL1BlockRange,\n XyoViewer,\n XyoViewerV2,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n AccountBalanceViewerMoniker, BlockViewerMoniker, FinalizationViewerMoniker, isSignedHydratedBlock, isSignedHydratedBlockWithHashMeta,\n MempoolViewerMoniker,\n NetworkStakeViewerMoniker, StakeViewerMoniker, StepViewerMoniker, TimeSyncViewerMoniker,\n TransactionViewerMoniker,\n XyoViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { XyoViewerRpcSchemas } from '../../types/index.ts'\nimport type { JsonRpcViewerParams } from './JsonRpcViewer.ts'\nimport { AbstractJsonRpcViewer } from './JsonRpcViewer.ts'\n\n// TODO: remove after back compat need is done\nasync function fixSignedHydratedBlockWithHashMeta(block: HydratedBlock): Promise<SignedHydratedBlockWithHashMeta> {\n if (isSignedHydratedBlockWithHashMeta(block)) {\n return block\n }\n if (isSignedHydratedBlock(block)) {\n return [await PayloadBuilder.addHashMeta(block[0]), await PayloadBuilder.addHashMeta(block[1])]\n }\n throw new Error('Invalid block format')\n}\n\n/** Parameters for JsonRpcXyoViewer. */\nexport interface JsonRpcXyoViewerParams extends JsonRpcViewerParams<typeof XyoViewerRpcSchemas> {\n networkStakeViewer?: NetworkStakeViewer\n}\n\n/** JsonRpcXyoViewerProviders interface. */\nexport interface JsonRpcXyoViewerProviders extends Record<typeof JsonRpcXyoViewer.dependencies[number], Provider<ProviderMoniker>> {\n [AccountBalanceViewerMoniker]: AccountBalanceViewer\n [BlockViewerMoniker]: BlockViewer\n [FinalizationViewerMoniker]: FinalizationViewer\n [MempoolViewerMoniker]: MempoolViewer\n [NetworkStakeViewerMoniker]: NetworkStakeViewer\n [StakeViewerMoniker]: StakeViewer\n [StepViewerMoniker]: StepViewer\n [TimeSyncViewerMoniker]: TimeSyncViewer\n [TransactionViewerMoniker]: TransactionViewer\n}\n\n/** JsonRpcXyoViewer implementation. */\n@creatableProvider()\nexport class JsonRpcXyoViewer extends AbstractJsonRpcViewer<XyoViewerRpcSchemas, JsonRpcXyoViewerParams, XyoViewer['eventData']>\n implements XyoViewer, XyoViewerV2 {\n static readonly defaultMoniker = XyoViewerMoniker\n\n static readonly dependencies = [\n AccountBalanceViewerMoniker,\n BlockViewerMoniker,\n FinalizationViewerMoniker,\n MempoolViewerMoniker,\n NetworkStakeViewerMoniker,\n StakeViewerMoniker,\n StepViewerMoniker,\n TimeSyncViewerMoniker,\n TransactionViewerMoniker,\n ]\n\n static readonly monikers = [XyoViewerMoniker]\n\n moniker = JsonRpcXyoViewer.defaultMoniker\n\n protected _chainId?: ChainId\n\n private _providers: JsonRpcXyoViewerProviders | undefined = undefined\n\n get account() {\n return { balance: assertEx(this.providers?.[AccountBalanceViewerMoniker], () => `AccountBalanceViewer provider not found for ${this.moniker}`) }\n }\n\n get block() {\n return assertEx(this.providers?.[BlockViewerMoniker], () => `BlockViewer provider not found for ${this.moniker}`)\n }\n\n get finalization() {\n return assertEx(this.providers?.[FinalizationViewerMoniker], () => `FinalizationViewer provider not found for ${this.moniker}`)\n }\n\n get mempool() {\n return assertEx(this.providers?.[MempoolViewerMoniker], () => `MempoolViewer provider not found for ${this.moniker}`)\n }\n\n get networkStake() {\n return assertEx(this.providers?.[NetworkStakeViewerMoniker], () => `NetworkStakeViewer provider not found for ${this.moniker}`)\n }\n\n get stake() {\n return assertEx(this.providers?.[StakeViewerMoniker], () => `StakeViewer provider not found for ${this.moniker}`)\n }\n\n get step() {\n return assertEx(this.providers?.[StepViewerMoniker], () => `StepViewer provider not found for ${this.moniker}`)\n }\n\n get time() {\n return assertEx(this.providers?.[TimeSyncViewerMoniker], () => `TimeSyncViewer provider not found for ${this.moniker}`)\n }\n\n get transaction() {\n return assertEx(this.providers?.[TransactionViewerMoniker], () => `TransactionViewer provider not found for ${this.moniker}`)\n }\n\n protected get providers() {\n return this._providers\n }\n\n async accountBalance(address: Address, config: ChainQualifiedConfig = {}): Promise<AttoXL1> {\n return (await this.account.balance.accountBalance(address, config))\n }\n\n async accountBalanceHistory(address: Address, config: ChainQualifiedConfig = {}): Promise<AccountBalanceHistoryItem[]> {\n return (await this.account.balance.accountBalanceHistory(address, config))\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByHash(hash, 1))[0]\n }\n\n async blockByNumber(blockNumber: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByNumber(blockNumber, 1))[0]\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n return await Promise.all((await this.transport.sendRequest(\n 'xyoViewer_blocksByHash',\n [hash, limit],\n )).map(b => fixSignedHydratedBlockWithHashMeta(b)))\n }\n\n async blocksByNumber(blockNumber: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n return await Promise.all((await this.transport.sendRequest(\n 'xyoViewer_blocksByNumber',\n [blockNumber, limit],\n )).map(b => fixSignedHydratedBlockWithHashMeta(b)))\n }\n\n async chainId(blockNumber: XL1BlockNumber | 'latest' = 'latest'): Promise<ChainId> {\n const block = blockNumber === 'latest' ? await this.currentBlock() : await this.blockByNumber(blockNumber)\n if (!block) {\n throw new Error(`Block not found: ${blockNumber}`)\n }\n return block[0].chain\n }\n\n override async createHandler() {\n await super.createHandler()\n this._providers = {\n [AccountBalanceViewerMoniker]: await this.locator.getInstance<AccountBalanceViewer>(AccountBalanceViewerMoniker),\n [BlockViewerMoniker]: await this.locator.getInstance<BlockViewer>(BlockViewerMoniker),\n [FinalizationViewerMoniker]: await this.locator.getInstance<FinalizationViewer>(FinalizationViewerMoniker),\n [MempoolViewerMoniker]: await this.locator.getInstance<MempoolViewer>(MempoolViewerMoniker),\n [StakeViewerMoniker]: await this.locator.getInstance<StakeViewer>(StakeViewerMoniker),\n [StepViewerMoniker]: await this.locator.getInstance<StepViewer>(StepViewerMoniker),\n [NetworkStakeViewerMoniker]: await this.locator.getInstance<NetworkStakeViewer>(NetworkStakeViewerMoniker),\n [TimeSyncViewerMoniker]: await this.locator.getInstance<TimeSyncViewer>(TimeSyncViewerMoniker),\n [TransactionViewerMoniker]: await this.locator.getInstance<TransactionViewer>(TransactionViewerMoniker),\n }\n\n for (const [moniker, provider] of Object.entries(assertEx(this._providers, () => 'Failed to initialize JsonRpcXyoViewer: providers not found'))) {\n if (isUndefined(provider)) {\n throw new Error(`Failed to initialize JsonRpcXyoViewer: missing provider dependency for ${moniker}`)\n }\n }\n }\n\n async currentBlock(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest('xyoViewer_currentBlock')\n return fixSignedHydratedBlockWithHashMeta(result)\n }\n\n async currentBlockHash(): Promise<Hash> {\n return (await this.currentBlock())[0]._hash\n }\n\n async currentBlockNumber(): Promise<XL1BlockNumber> {\n return (await this.currentBlock())[0].block\n }\n\n async forkHistory(): Promise<ForkHistory> {\n return (await this.transport.sendRequest('xyoViewer_forkHistory'))\n }\n\n async networkStakeStepRewardAddressHistory(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressHistory', [address]))\n }\n\n async networkStakeStepRewardAddressReward(context: StepIdentity, address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressReward', [context, address]))\n }\n\n async networkStakeStepRewardAddressShare(context: StepIdentity, address: Address): Promise<[bigint, bigint]> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressShare', [context, address]))\n }\n\n async networkStakeStepRewardClaimedByAddress(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardClaimedByAddress', [address]))\n }\n\n async networkStakeStepRewardForPosition(position: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForPosition', [position, range]))\n }\n\n async networkStakeStepRewardForStep(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForStep', [context]))\n }\n\n async networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForStepForPosition', [context, position]))\n }\n\n async networkStakeStepRewardPoolRewards(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPoolRewards', [context]))\n }\n\n async networkStakeStepRewardPoolShares(context: StepIdentity): Promise<Record<Address, bigint>> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPoolShares', [context]))\n }\n\n async networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promise<bigint> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPositionWeight', [context, position]))\n }\n\n async networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPotentialPositionLoss', [context, position]))\n }\n\n async networkStakeStepRewardRandomizer(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardRandomizer', [context]))\n }\n\n async networkStakeStepRewardStakerCount(context: StepIdentity): Promise<number> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardStakerCount', [context]))\n }\n\n async networkStakeStepRewardUnclaimedByAddress(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardUnclaimedByAddress', [address]))\n }\n\n async networkStakeStepRewardWeightForAddress(context: StepIdentity, address: Address): Promise<bigint> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardWeightForAddress', [context, address]))\n }\n\n async networkStakeStepRewardsForPosition(position: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForPosition', [position, range]))\n }\n\n async networkStakeStepRewardsForRange(range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForRange', [range]))\n }\n\n async networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForStepLevel', [stepLevel, range]))\n }\n\n async payloadByHash(hash: Hash) {\n return (await this.payloadsByHash([hash]))[0] ?? null\n }\n\n async payloadsByHash(hashes: Hash[]) {\n return await PayloadBuilder.addHashMeta(await this.transport.sendRequest(\n 'xyoViewer_payloadsByHash',\n [hashes],\n ))\n }\n\n async rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await this.block.rate(range, timeUnit)\n }\n\n async stakeById(id: number): Promise<Position> {\n return (await this.transport.sendRequest('xyoViewer_stakeById', [id]))\n }\n\n async stakeByStaker(staker: Address, slot: number): Promise<Position> {\n return (await this.transport.sendRequest('xyoViewer_stakeByStaker', [staker, slot]))\n }\n\n async stakesByStaked(staked: Address): Promise<Position[]> {\n return (await this.transport.sendRequest('xyoViewer_stakesByStaked', [staked]))\n }\n\n async stakesByStaker(staker: Address): Promise<Position[]> {\n return (await this.transport.sendRequest('xyoViewer_stakesByStaker', [staker]))\n }\n\n async stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await this.block.stepSizeRate(start, stepIndex, count, timeUnit)\n }\n\n async timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promise<BlockRate> {\n return await this.block.timeDurationRate(timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts)\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 protected schemas() {\n return XyoViewerRpcSchemas\n }\n}\n","import type {\n InvokerPermission,\n PermissionRequest,\n RequestedPermission,\n XyoPermissions,\n} from '@xyo-network/xl1-protocol-lib'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoPermissionsRpcSchemas } from '../../types/index.ts'\n\n/** RpcXyoPermissions implementation. */\nexport class RpcXyoPermissions implements XyoPermissions {\n protected readonly transport: RpcTransport<typeof XyoPermissionsRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoPermissionsRpcSchemas>) {\n this.transport = transport\n }\n\n async getPermissions(): Promise<InvokerPermission[]> {\n return await this.transport.sendRequest('xyoPermissions_getPermissions', [])\n }\n\n async requestPermissions(permissions: PermissionRequest[]): Promise<RequestedPermission[]> {\n return await this.transport.sendRequest('xyoPermissions_requestPermissions', [permissions])\n }\n\n async revokePermissions(_permissions: PermissionRequest): Promise<RequestedPermission[]> {\n await Promise.resolve()\n throw new Error('Method [revokePermissions] not implemented.')\n }\n}\n","import {\n MempoolPruneOptions, type MempoolRunner, MempoolRunnerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcMempoolRunnerMethods } from './JsonRpcMempoolRunnerMethods.ts'\n\n/** JsonRpcMempoolRunner implementation. */\n@creatableProvider()\nexport class JsonRpcMempoolRunner extends JsonRpcMempoolRunnerMethods implements MempoolRunner {\n static readonly defaultMoniker = MempoolRunnerMoniker\n static readonly dependencies = []\n static readonly monikers = [MempoolRunnerMoniker]\n\n prunePendingBlocks(_options?: MempoolPruneOptions): Promise<[number, number]> {\n throw new Error('Method not implemented.')\n }\n\n prunePendingTransactions(_options?: MempoolPruneOptions): Promise<[number, number]> {\n throw new Error('Method not implemented.')\n }\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type {\n MempoolRunnerMethods, SignedHydratedBlock, SignedHydratedTransaction,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolRunnerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { MempoolRunnerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcRunner } from '../JsonRpcRunner.ts'\n\n/** JsonRpcMempoolRunnerMethods implementation. */\nexport class JsonRpcMempoolRunnerMethods extends AbstractJsonRpcRunner<typeof MempoolRunnerRpcSchemas> implements MempoolRunnerMethods {\n readonly moniker = MempoolRunnerMoniker\n async submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]> {\n const result = await this.transport.sendRequest(\n 'mempoolRunner_submitBlocks',\n [blocks],\n )\n return result\n }\n\n async submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]> {\n const result = await this.transport.sendRequest(\n 'mempoolRunner_submitTransactions',\n [transactions],\n )\n return result\n }\n\n protected schemas() {\n return MempoolRunnerRpcSchemas\n }\n}\n","import type { CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk'\nimport {\n AbstractCreatableProvider, HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport {\n HttpRpcTransport, PostMessageRpcTransport, type RpcTransport,\n} from '../../transport/index.ts'\nimport type { RpcSchemaMap } from '../../types/index.ts'\n\n/** Parameters for JsonRpcRunner. */\nexport interface JsonRpcRunnerParams<TSchemas extends RpcSchemaMap = RpcSchemaMap> extends CreatableProviderParams {\n transport?: RpcTransport<TSchemas>\n}\n\n/** Abstract base class for JsonRpcRunner implementations. */\nexport abstract class AbstractJsonRpcRunner<TSchemas extends RpcSchemaMap,\n TParams extends JsonRpcRunnerParams<TSchemas> = JsonRpcRunnerParams<TSchemas>> extends AbstractCreatableProvider<TParams> {\n protected get transport() {\n return this.params.transport!\n }\n\n override async createHandler() {\n this.params.transport ??= this.createTransport()\n await super.createHandler()\n }\n\n private createTransport(): RpcTransport<TSchemas> {\n const httpRemoteConfig = HttpRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (httpRemoteConfig.success) {\n const { url } = httpRemoteConfig.data\n return new HttpRpcTransport(url, this.schemas())\n }\n\n const postMessageRemoteConfig = PostMessageRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (postMessageRemoteConfig.success) {\n const { networkId, sessionId } = postMessageRemoteConfig.data\n return new PostMessageRpcTransport(networkId, this.schemas(), sessionId, this.logger)\n }\n\n throw new Error('Unable to create transport')\n }\n\n protected abstract schemas(): TSchemas\n}\n","import { type Hash } from '@xylabs/sdk-js'\nimport type {\n MempoolRunner, SignedHydratedTransaction, XyoRunner,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolRunnerMoniker, XyoRunnerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { XyoRunnerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcRunner } from './JsonRpcRunner.ts'\n\n/** JsonRpcXyoRunner implementation. */\n@creatableProvider()\nexport class JsonRpcXyoRunner extends AbstractJsonRpcRunner<XyoRunnerRpcSchemas> implements XyoRunner {\n static readonly defaultMoniker = XyoRunnerMoniker\n static readonly dependencies = [MempoolRunnerMoniker]\n static readonly monikers = [XyoRunnerMoniker]\n moniker = JsonRpcXyoRunner.defaultMoniker\n\n private _mempoolRunner?: MempoolRunner\n\n get mempool() {\n return this._mempoolRunner!\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n\n override async createHandler() {\n await super.createHandler()\n this._mempoolRunner = await this.locateAndCreate<MempoolRunner>(MempoolRunnerMoniker)\n }\n\n protected schemas() {\n return XyoRunnerRpcSchemas\n }\n}\n","import { type XyoSigner, XyoSignerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { JsonRpcXyoSignerMethods } from './JsonRpcXyoSignerMethods.ts'\n\n/** JsonRpcXyoSigner implementation. */\nexport class JsonRpcXyoSigner extends JsonRpcXyoSignerMethods implements XyoSigner {\n static readonly defaultMoniker = XyoSignerMoniker\n static readonly dependencies = []\n static readonly monikers = [XyoSignerMoniker]\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type {\n SignedHydratedTransactionWithHashMeta,\n UnsignedHydratedTransaction, XyoSignerMethods,\n} from '@xyo-network/xl1-protocol-lib'\nimport { XyoSignerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { XyoSignerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcRunner } from '../runner/index.ts'\n\n/** JsonRpcXyoSignerMethods implementation. */\nexport class JsonRpcXyoSignerMethods extends AbstractJsonRpcRunner<typeof XyoSignerRpcSchemas> implements XyoSignerMethods {\n readonly moniker = XyoSignerMoniker\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async signTransaction(tx: UnsignedHydratedTransaction): Promise<SignedHydratedTransactionWithHashMeta> {\n return await this.transport.sendRequest('xyoSigner_signTransaction', [tx])\n }\n\n protected schemas() {\n return XyoSignerRpcSchemas\n }\n}\n"],"mappings":"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","names":["z","HashZod","PayloadZod","z","SignedHydratedBlockWithHashMetaZod","z","HashZod","z","SignedHydratedBlockWithHashMetaZod","z","BigIntToJsonZod","JsonToBigIntZod","z","BigIntToJsonZod","JsonToBigIntZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","z","AddressZod","z","z","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","JsonToStakeZod","StakeToJsonZod","z","z","HashZod","SignedHydratedTransactionWithHashMetaZod","z","z","SignedHydratedTransactionZod","z","AddressZod","SignedHydratedTransactionWithHashMetaZod","z","AddressZod","BigIntToJsonZod","HashZod","JsonToBigIntZod","AccountBalanceHistoryItemZod","asAttoXL1","JsonToStakeZod","SignedHydratedBlockWithHashMetaZod","SignedHydratedTransactionZod","StakeToJsonZod","StepIdentityZod","XL1BlockNumberZod","z","z","z","z","z","creatableProvider","DataLakeViewerMoniker","AccountBalanceViewerMoniker","z","z","JsonRpcServer","v4","JsonRpcServer","v4","isDefined","isDefined","isDefined","isDefined","v4","v4","isDefined","AccountBalanceViewerMoniker","assertEx","BlockViewerMoniker","creatableProvider","isDefined","isDefined","block","assertEx","BlockViewerMoniker","creatableProvider","FinalizationViewerMoniker","creatableProvider","FinalizationViewerMoniker","creatableProvider","MempoolViewerMoniker","creatableProvider","MempoolViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","NetworkStakeViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","NetworkStakeViewerMoniker","creatableProvider","StakeTotalsViewerMoniker","creatableProvider","StakeTotalsViewerMoniker","creatableProvider","StakeViewerMoniker","creatableProvider","StakeViewerMoniker","creatableProvider","TimeSyncViewerMoniker","creatableProvider","TimeSyncViewerMoniker","creatableProvider","assertEx","BlockViewerMoniker","DataLakeViewerMoniker","addDataLakePayloads","creatableProvider","assertEx","addDataLakePayloads","BlockViewerMoniker","DataLakeViewerMoniker","creatableProvider","assertEx","AccountBalanceViewerMoniker","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","NetworkStakeViewerMoniker","StakeViewerMoniker","TimeSyncViewerMoniker","TransactionViewerMoniker","creatableProvider","assertEx","AccountBalanceViewerMoniker","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","NetworkStakeViewerMoniker","StakeViewerMoniker","TimeSyncViewerMoniker","TransactionViewerMoniker","creatableProvider","DataLakeViewerMoniker","creatableProvider","MempoolRunnerMoniker","creatableProvider","AbstractCreatableProvider","HttpRpcRemoteConfigZod","PostMessageRpcRemoteConfigZod","AbstractCreatableProvider","HttpRpcRemoteConfigZod","PostMessageRpcRemoteConfigZod","MempoolRunnerMoniker","creatableProvider","MempoolRunnerMoniker","creatableProvider","MempoolRunnerMoniker","creatableProvider","XyoSignerMoniker","XyoSignerMoniker"]}
1
+ {"version":3,"sources":["../../src/engine/requestSchemas.ts","../../src/engine/rpcMethodHandlersFromAccountBalanceViewer.ts","../../src/engine/rpcMethodHandlersFromBlockViewer.ts","../../src/engine/rpcMethodHandlersFromFinalizationViewer.ts","../../src/engine/rpcMethodHandlersFromMempoolRunner.ts","../../src/engine/rpcMethodHandlersFromMempoolViewer.ts","../../src/engine/rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromTimeSyncViewer.ts","../../src/engine/rpcMethodHandlersFromTransactionViewer.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromConnection.ts","../../src/engine/rpcMethodHandlersFromNetworkStakeStepRewardsByPositionViewer.ts","../../src/engine/rpcMethodHandlersFromNetworkStakingViewer.ts","../../src/engine/rpcMethodHandlersFromPermissions.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine-node/rpcEngineFromConnection.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/NetworkStakeViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByPositionViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByStakerViewerRpc.ts","../../src/types/NetworkStakingStepRewardsByStepViewerRpc.ts","../../src/types/NetworkStakingStepRewardsTotalViewerRpc.ts","../../src/types/NetworkStakingStepRewardsViewerRpc.ts","../../src/types/schema/AccountBalanceViewerRpcSchemas.ts","../../src/types/schema/BlockViewerRpcSchemas.ts","../../src/types/schema/DataLakeViewerRpcSchema.ts","../../src/types/schema/FinalizationViewerRpcSchemas.ts","../../src/types/schema/MempoolRunnerRpcSchemas.ts","../../src/types/schema/MempoolViewerRpcSchemas.ts","../../src/types/schema/NetworkStakeViewerRpcSchemas.ts","../../src/types/schema/RewardsByPositionViewerRpcSchemas.ts","../../src/types/schema/RewardsByStakerViewerRpcSchemas.ts","../../src/types/schema/RewardsByStepViewerRpcSchemas.ts","../../src/types/schema/RewardsTotalViewerRpcSchemas.ts","../../src/types/schema/StakeTotalsViewerRpcSchemas.ts","../../src/types/schema/StakeViewerRpcSchemas.ts","../../src/types/schema/NoArgsZod.ts","../../src/types/schema/StepRewardsViewerRpcSchemas.ts","../../src/types/schema/StepViewerRpcSchemas.ts","../../src/types/schema/TimeSyncViewerRpcSchema.ts","../../src/types/schema/TransactionViewerRpcSchema.ts","../../src/types/schema/XyoPermissionsRpcSchemas.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/provider/runner/JsonRpcMempoolRunner/JsonRpcMempoolRunner.ts","../../src/provider/runner/JsonRpcMempoolRunner/JsonRpcMempoolRunnerMethods.ts","../../src/provider/runner/JsonRpcRunner.ts","../../src/transport/HttpRpcTransport.ts","../../src/transport/MemoryRpcTransport.ts","../../src/transport/PostMessage/bus/Abstract.ts","../../src/transport/PostMessage/bus/implementations/PostMessage.ts","../../src/transport/PostMessage/bus/validators/hasSessionId.ts","../../src/transport/PostMessage/bus/validators/isEventWithId.ts","../../src/transport/PostMessage/bus/validators/isMessageWithId.ts","../../src/transport/PostMessage/PostMessageRpcTransport.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/viewer/JsonRpcAccountBalanceViewer/JsonRpcAccountBalanceViewer.ts","../../src/provider/viewer/JsonRpcAccountBalanceViewer/JsonRpcAccountBalanceViewerMethods.ts","../../src/provider/viewer/JsonRpcViewer.ts","../../src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.ts","../../src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.ts","../../src/provider/viewer/JsonRpcFinalizationViewer/JsonRpcFinalizationViewer.ts","../../src/provider/viewer/JsonRpcFinalizationViewer/JsonRpcFinalizationViewerMethods.ts","../../src/provider/viewer/JsonRpcMempoolViewer/JsonRpcMempoolViewer.ts","../../src/provider/viewer/JsonRpcMempoolViewer/JsonRpcMempoolViewerMethods.ts","../../src/provider/viewer/JsonRpcNetworkStakeStepRewardsViewer/JsonRpcNetworkStakeStepRewardsViewer.ts","../../src/provider/viewer/JsonRpcNetworkStakeStepRewardsViewer/JsonRpcNetworkStakeStepRewardsViewerMethods.ts","../../src/provider/viewer/JsonRpcNetworkStakeViewer/JsonRpcNetworkStakeViewer.ts","../../src/provider/viewer/JsonRpcNetworkStakeViewer/JsonRpcNetworkStakeViewerMethods.ts","../../src/provider/viewer/JsonRpcStakeTotalsViewer/JsonRpcStakeTotalsViewer.ts","../../src/provider/viewer/JsonRpcStakeTotalsViewer/JsonRpcStakeTotalsViewerMethods.ts","../../src/provider/viewer/JsonRpcStakeViewer/JsonRpcStakeViewer.ts","../../src/provider/viewer/JsonRpcStakeViewer/JsonRpcStakeViewerMethods.ts","../../src/provider/viewer/JsonRpcTimeSyncViewer/JsonRpcTimeSyncViewer.ts","../../src/provider/viewer/JsonRpcTimeSyncViewer/JsonRpcTimeSyncViewerMethods.ts","../../src/provider/viewer/JsonRpcTransactionViewer/JsonRpcTransactionViewer.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/networkTier3Descriptors.ts","../../src/provider/datalake/JsonRpcDataLakeViewer.ts","../../src/provider/datalake/JsonRpcDataLakeViewerMethods.ts","../../src/provider/permissions/RpcXyoPermissions.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/JsonRpcXyoSignerMethods.ts"],"sourcesContent":["import type { ZodObject, ZodRawShape } from 'zod'\n\n/** Registry of cached Zod request schemas keyed by RPC method name. */\nexport const requestSchemas: Record<string, ZodObject<ZodRawShape> | undefined> = {}\n","import type { AccountBalanceViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { AccountBalanceViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an AccountBalanceViewer instance. */\nexport const rpcMethodHandlersFromAccountBalanceViewer = (viewer: AccountBalanceViewerMethods): AccountBalanceViewerRpcMethodHandlers => {\n return {\n accountBalanceViewer_qualifiedAccountBalances: params => viewer.qualifiedAccountBalances(...params ?? []),\n accountBalanceViewer_qualifiedAccountBalanceHistories: params => viewer.qualifiedAccountBalanceHistories(...params ?? []),\n }\n}\n","import type { BlockViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { BlockViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a BlockViewer instance. */\nexport const rpcMethodHandlersFromBlockViewer = (viewer: BlockViewerMethods): BlockViewerRpcMethodHandlers => {\n return {\n blockViewer_blocksByHash: params => viewer.blocksByHash(...params ?? []),\n blockViewer_blocksByNumber: params => viewer.blocksByNumber(...params ?? []),\n blockViewer_currentBlock: params => viewer.currentBlock(...params ?? []),\n blockViewer_payloadsByHash: params => viewer.payloadsByHash(...params ?? []),\n }\n}\n","import type { FinalizationViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { FinalizationViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** rpcMethodHandlersFromFinalizationViewer constant. */\nexport const rpcMethodHandlersFromFinalizationViewer = (viewer: FinalizationViewerMethods): FinalizationViewerRpcMethodHandlers => {\n return { finalizationViewer_head: params => viewer.head(...(params ?? [])) }\n}\n","import type { MempoolRunnerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MempoolRunnerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a MempoolRunner instance. */\nexport const rpcMethodHandlersFromMempoolRunner = (runner: MempoolRunnerMethods): MempoolRunnerRpcMethodHandlers => {\n return {\n mempoolRunner_submitBlocks: params => runner.submitBlocks(...params ?? []),\n mempoolRunner_submitTransactions: params => runner.submitTransactions(...params ?? []),\n }\n}\n","import type { MempoolViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MempoolViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a MempoolViewer instance. */\nexport const rpcMethodHandlersFromMempoolViewer = (viewer: MempoolViewerMethods): MempoolViewerRpcMethodHandlers => {\n return {\n mempoolViewer_pendingBlocks: params => viewer.pendingBlocks(...params ?? []),\n mempoolViewer_pendingTransactions: params => viewer.pendingTransactions(...params ?? []),\n }\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers for network staking step rewards by position from a viewer instance. */\nexport const rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer\n = (viewer: NetworkStakeStepRewardsByPositionViewerMethods): NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers => {\n return {\n networkStakingStepRewardsByPositionViewer_bonus: params => viewer.bonus(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_claimed: params => viewer.claimed(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_earned: params => viewer.earned(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_total: params => viewer.total(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_unclaimed: params => viewer.unclaimed(...(params ?? [])),\n }\n }\n","import type { XyoRunner } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoRunner instance. */\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { TimeSyncViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { TimeSyncViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a TimeSyncViewer instance. */\nexport const rpcMethodHandlersFromTimeSyncViewer = (viewer: TimeSyncViewerMethods): TimeSyncViewerRpcMethodHandlers => {\n return {\n timeSyncViewer_convertTime: params => viewer.convertTime(...(params ?? [])),\n timeSyncViewer_currentTime: params => viewer.currentTime(...(params ?? [])),\n timeSyncViewer_currentTimeAndHash: params => viewer.currentTimeAndHash(...(params ?? [])),\n timeSyncViewer_currentTimePayload: params => viewer.currentTimePayload(...(params ?? [])),\n }\n}\n","import type { TransactionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { TransactionViewerRpcMethodHandlers } from '../index-node.ts'\n\n/** Creates RPC method handlers that delegate to a TransactionViewer instance. */\nexport const rpcMethodHandlersFromTransactionViewer = (viewer: TransactionViewerMethods): TransactionViewerRpcMethodHandlers => {\n return { transactionViewer_byHash: params => viewer.byHash(...params ?? []) }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoViewer instance. */\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_networkStakeStepRewardClaimedByAddress: params => viewer.networkStakeStepRewardClaimedByAddress(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressReward: params => viewer.networkStakeStepRewardAddressReward(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressHistory: params => viewer.networkStakeStepRewardAddressHistory(...(params ?? [])),\n xyoViewer_networkStakeStepRewardAddressShare: params => viewer.networkStakeStepRewardAddressShare(...(params ?? [])),\n xyoViewer_networkStakeStepRewardWeightForAddress: params => viewer.networkStakeStepRewardWeightForAddress?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardUnclaimedByAddress: params => viewer.networkStakeStepRewardUnclaimedByAddress(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPoolShares: params => viewer.networkStakeStepRewardPoolShares(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPoolRewards: params => viewer.networkStakeStepRewardPoolRewards(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPositionWeight: params => viewer.networkStakeStepRewardPositionWeight?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardPotentialPositionLoss: params => viewer.networkStakeStepRewardPotentialPositionLoss?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForStep: params => viewer.networkStakeStepRewardForStep?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardRandomizer: params => viewer.networkStakeStepRewardRandomizer?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardStakerCount: params => viewer.networkStakeStepRewardStakerCount?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForStepForPosition: params => viewer.networkStakeStepRewardForStepForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardForPosition: params => viewer.networkStakeStepRewardForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForPosition: params => viewer.networkStakeStepRewardsForPosition?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForRange: params => viewer.networkStakeStepRewardsForRange?.(...(params ?? [])),\n xyoViewer_networkStakeStepRewardsForStepLevel: params => viewer.networkStakeStepRewardsForStepLevel?.(...(params ?? [])),\n xyoViewer_accountBalance: params => viewer.account.balance.accountBalance(...(params ?? [])),\n xyoViewer_accountBalanceHistory: params => viewer.account.balance.accountBalanceHistory(...(params ?? [])),\n xyoViewer_blocksByNumber: params => viewer.blocksByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_forkHistory: params => viewer.forkHistory(...(params ?? [])),\n xyoViewer_stakeById: params => viewer.stakeById(...(params ?? [])),\n xyoViewer_stakeByStaker: params => viewer.stakeByStaker(...(params ?? [])),\n xyoViewer_stakesByStaked: params => viewer.stakesByStaked(...(params ?? [])),\n xyoViewer_stakesByStaker: params => viewer.stakesByStaker(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transaction.byBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transaction.byBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transaction.byHash(...(params ?? [])),\n xyoViewer_payloadsByHash: params => viewer.payloadsByHash(...(params ?? [])),\n }\n}\n","import type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromAccountBalanceViewer } from './rpcMethodHandlersFromAccountBalanceViewer.ts'\nimport { rpcMethodHandlersFromBlockViewer } from './rpcMethodHandlersFromBlockViewer.ts'\nimport { rpcMethodHandlersFromFinalizationViewer } from './rpcMethodHandlersFromFinalizationViewer.ts'\nimport { rpcMethodHandlersFromMempoolRunner } from './rpcMethodHandlersFromMempoolRunner.ts'\nimport { rpcMethodHandlersFromMempoolViewer } from './rpcMethodHandlersFromMempoolViewer.ts'\nimport { rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer } from './rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromTimeSyncViewer } from './rpcMethodHandlersFromTimeSyncViewer.ts'\nimport { rpcMethodHandlersFromTransactionViewer } from './rpcMethodHandlersFromTransactionViewer.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\n\n/* networkStakeViewer is temporary as a param until it goes into root viewer */\nexport const rpcMethodHandlersFromConnection = (\n connection: XyoConnection,\n// eslint-disable-next-line complexity\n): XyoProviderRpcMethodHandlers => {\n const { runner, viewer } = connection\n let result: XyoProviderRpcMethodHandlers = {}\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n const accountBalanceViewer = viewer?.account?.balance\n if (accountBalanceViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromAccountBalanceViewer(accountBalanceViewer),\n }\n }\n\n const blockViewer = viewer?.block\n if (blockViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromBlockViewer(blockViewer),\n }\n }\n\n const finalizationViewer = viewer?.finalization\n if (finalizationViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromFinalizationViewer(finalizationViewer),\n }\n }\n\n const mempoolViewer = viewer?.mempool\n if (mempoolViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromMempoolViewer(mempoolViewer),\n }\n }\n\n const timeSyncViewer = viewer?.time\n if (timeSyncViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromTimeSyncViewer(timeSyncViewer),\n }\n }\n\n const transactionViewer = viewer?.transaction\n if (transactionViewer) {\n result = {\n ...result,\n ...rpcMethodHandlersFromTransactionViewer(transactionViewer),\n }\n }\n\n const mempoolRunner = runner?.mempool\n if (mempoolRunner) {\n result = {\n ...result,\n ...rpcMethodHandlersFromMempoolRunner(mempoolRunner),\n }\n }\n\n const networkStakeViewer = viewer?.networkStake\n if (networkStakeViewer?.stepRewards?.position) {\n result = {\n ...result,\n ...rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer(networkStakeViewer.stepRewards.position),\n }\n }\n return result\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a NetworkStakeStepRewardsByPositionViewer instance. */\nexport const rpcMethodHandlersFromNetworkStakeStepRewardsByPositionViewer\n = (viewer: NetworkStakeStepRewardsByPositionViewerMethods): NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers => {\n return {\n networkStakingStepRewardsByPositionViewer_bonus: params => viewer.bonus(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_claimed: params => viewer.claimed(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_earned: params => viewer.earned(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_total: params => viewer.total(...(params ?? [])),\n networkStakingStepRewardsByPositionViewer_unclaimed: params => viewer.unclaimed(...(params ?? [])),\n }\n }\n","import type { NetworkStakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { NetworkStakeViewerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to a NetworkStakeViewer instance. */\nexport const rpcMethodHandlersFromNetworkStakingViewer = (viewer: NetworkStakeViewerMethods): NetworkStakeViewerRpcMethodHandlers => {\n return { networkStakeViewer_active: params => viewer.active(...(params ?? [])) }\n}\n","import type { XyoPermissions } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoPermissionsRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoPermissions instance. */\nexport const rpcMethodHandlersFromPermissions = (permissions: XyoPermissions): XyoPermissionsRpcMethodHandlers => {\n return {\n xyoPermissions_getPermissions: params => permissions.getPermissions(...(params ?? [])),\n xyoPermissions_requestPermissions: params => permissions.requestPermissions(...(params ?? [])),\n xyoPermissions_revokePermissions: params => permissions.revokePermissions(...(params ?? [])),\n }\n}\n","import type { XyoSignerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\n/** Creates RPC method handlers that delegate to an XyoSigner instance. */\nexport const rpcMethodHandlersFromSigner = (signer: XyoSignerMethods): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_signTransaction: params => signer.signTransaction(...(params ?? [])),\n }\n}\n","import type { Json, JsonRpcMiddleware } from '@metamask/json-rpc-engine/v2'\nimport { JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\nimport type { Logger } from '@xylabs/sdk-js'\nimport type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\nimport { requestSchemas, rpcMethodHandlersFromConnection } from '../engine/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, JsonRpcErrorCodes,\n} from '../types/index.ts'\n\n/* networkStakeViewer is temporary as a param until it goes into root viewer */\nexport const rpcEngineFromConnection = (\n connection: XyoConnection,\n logger?: Logger,\n) => {\n const handlers = rpcMethodHandlersFromConnection(connection)\n const middleware: JsonRpcMiddleware = async ({ request }) => {\n // Get method name\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n const method = request.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 // throw method not found error\n throw new Error(JsonRpcErrorCodes.MethodNotFound.message)\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(request)\n // If validation fails\n if (!parsed.success) {\n logger?.error('RPC Request Validation Error', parsed.error)\n throw new Error(parsed.error.message)\n }\n\n // Call handler with validated params\n const { params } = parsed.data\n try {\n const result = await handler(params as never)\n // Parse handler result according to schema\n return schema.result.to.parse(result) as Json\n } catch (error) {\n logger?.error('RPC Response Handler Error', error)\n throw error\n }\n }\n\n return JsonRpcEngineV2.create({ middleware: [middleware] })\n}\n\nexport function rpcServerFromConnection(connection: XyoConnection, logger?: Logger) {\n const engine = rpcEngineFromConnection(connection, logger)\n return new JsonRpcServer({ engine })\n}\n","// 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.\n/** JsonRpcErrorCodes constant. */\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 UserRejected: { code: 4001, message: 'User rejected the request.' },\n}\n","/** jsonrpc constant. */\nexport const jsonrpc = '2.0' as const\n","import type { NetworkStakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakeViewerRpcNamespace constant. */\nexport const NetworkStakeViewerRpcNamespace = 'networkStakeViewer' as const\n/** NetworkStakeViewerRpcNamespace type. */\nexport type NetworkStakeViewerRpcNamespace = typeof NetworkStakeViewerRpcNamespace\n\n/** NetworkStakeViewerMethodName type. */\nexport type NetworkStakeViewerMethodName = MethodName<NetworkStakeViewerMethods>\n/** NetworkStakeViewerRpcMethodName type. */\nexport type NetworkStakeViewerRpcMethodName = RpcMethodName<NetworkStakeViewerRpcNamespace, NetworkStakeViewerMethodName>\n\n// Map each Network Stake RPC method string to the corresponding function type from NetworkStakeViewer\n/** NetworkStakeViewerRpcMethodHandlers type. */\nexport type NetworkStakeViewerRpcMethodHandlers = {\n [K in NetworkStakeViewerMethodName as NetworkStakeViewerRpcMethodName]: (\n params: Parameters<NetworkStakeViewerMethods[K]>,\n ) => ReturnType<NetworkStakeViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByPositionViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByPositionViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByPositionViewerRpcNamespace = 'networkStakingStepRewardsByPositionViewer' as const\n/** NetworkStakingStepRewardsByPositionViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcNamespace = typeof NetworkStakingStepRewardsByPositionViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByPositionViewerMethodName type. */\nexport type NetworkStakingStepRewardsByPositionViewerMethodName = MethodName<NetworkStakeStepRewardsByPositionViewerMethods>\n/** NetworkStakingStepRewardsByPositionViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByPositionViewerRpcNamespace,\n NetworkStakingStepRewardsByPositionViewerMethodName>\n\n/** NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByPositionViewerMethodName as NetworkStakingStepRewardsByPositionViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByPositionViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByPositionViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByStakerViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByStakerViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByStakerViewerRpcNamespace = 'networkStakingStepRewardsByStakerViewer' as const\n/** NetworkStakingStepRewardsByStakerViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcNamespace = typeof NetworkStakingStepRewardsByStakerViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByStakerViewerMethodName type. */\nexport type NetworkStakingStepRewardsByStakerViewerMethodName = MethodName<NetworkStakeStepRewardsByStakerViewerMethods>\n/** NetworkStakingStepRewardsByStakerViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByStakerViewerRpcNamespace,\n NetworkStakingStepRewardsByStakerViewerMethodName>\n/** NetworkStakingStepRewardsByStakerViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByStakerViewerMethodName as NetworkStakingStepRewardsByStakerViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByStakerViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByStakerViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsByStepViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsByStepViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsByStepViewerRpcNamespace = 'networkStakingStepRewardsByStepViewer' as const\n/** NetworkStakingStepRewardsByStepViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcNamespace = typeof NetworkStakingStepRewardsByStepViewerRpcNamespace\n\n/** NetworkStakingStepRewardsByStepViewerMethodName type. */\nexport type NetworkStakingStepRewardsByStepViewerMethodName = MethodName<NetworkStakeStepRewardsByStepViewerMethods>\n/** NetworkStakingStepRewardsByStepViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsByStepViewerRpcNamespace,\n NetworkStakingStepRewardsByStepViewerMethodName>\n/** NetworkStakingStepRewardsByStepViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsByStepViewerMethodName as NetworkStakingStepRewardsByStepViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsByStepViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsByStepViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsTotalViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsTotalViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsTotalViewerRpcNamespace = 'networkStakingStepRewardsTotalViewer' as const\n/** NetworkStakingStepRewardsTotalViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcNamespace = typeof NetworkStakingStepRewardsTotalViewerRpcNamespace\n\n/** NetworkStakingStepRewardsTotalViewerMethodName type. */\nexport type NetworkStakingStepRewardsTotalViewerMethodName = MethodName<NetworkStakeStepRewardsTotalViewerMethods>\n/** NetworkStakingStepRewardsTotalViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsTotalViewerRpcNamespace,\n NetworkStakingStepRewardsTotalViewerMethodName>\n/** NetworkStakingStepRewardsTotalViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsTotalViewerMethodName as NetworkStakingStepRewardsTotalViewerRpcMethodName]: (\n params: Parameters<NetworkStakeStepRewardsTotalViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsTotalViewerMethods[K]>\n}\n","import type { NetworkStakeStepRewardsViewerMethods } from '@xyo-network/xl1-protocol-lib'\n\nimport type { MethodName, RpcMethodName } from './RpcMethodName.ts'\n\n/** NetworkStakingStepRewardsViewerRpcNamespace constant. */\nexport const NetworkStakingStepRewardsViewerRpcNamespace = 'networkStakingStepRewardsViewer' as const\n/** NetworkStakingStepRewardsViewerRpcNamespace type. */\nexport type NetworkStakingStepRewardsViewerRpcNamespace = typeof NetworkStakingStepRewardsViewerRpcNamespace\n\n/** NetworkStakingStepRewardsViewerMethodName type. */\nexport type NetworkStakingStepRewardsViewerMethodName = MethodName<NetworkStakeStepRewardsViewerMethods>\n/** NetworkStakingStepRewardsViewerRpcMethodName type. */\nexport type NetworkStakingStepRewardsViewerRpcMethodName = RpcMethodName<NetworkStakingStepRewardsViewerRpcNamespace, NetworkStakingStepRewardsViewerMethodName>\n\n/** NetworkStakingStepRewardsViewerRpcMethodHandlers type. */\nexport type NetworkStakingStepRewardsViewerRpcMethodHandlers = {\n [K in NetworkStakingStepRewardsViewerMethodName]: (\n params: Parameters<NetworkStakeStepRewardsViewerMethods[K]>,\n ) => ReturnType<NetworkStakeStepRewardsViewerMethods[K]>\n}\n","import {\n AddressZod,\n BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport {\n AccountBalanceHistoryItemZod, ChainQualifiedConfigZod, ChainQualifiedZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { AccountBalanceViewerRpcMethodName } from '../AccountBalanceViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** AccountBalanceViewerRpcSchemas constant. */\nexport const AccountBalanceViewerRpcSchemas = {\n accountBalanceViewer_qualifiedAccountBalances: {\n params: {\n to: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n from: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n },\n result: {\n to: ChainQualifiedZod(z.record(AddressZod, BigIntToJsonZod)),\n from: ChainQualifiedZod(z.record(AddressZod, JsonToBigIntZod)),\n },\n },\n accountBalanceViewer_qualifiedAccountBalanceHistories: {\n params: {\n to: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n from: z.tuple([z.array(AddressZod), ChainQualifiedConfigZod]),\n },\n result: {\n to: ChainQualifiedZod(z.record(AddressZod, z.array(AccountBalanceHistoryItemZod))),\n from: ChainQualifiedZod(z.record(AddressZod, z.array(AccountBalanceHistoryItemZod))),\n },\n },\n} satisfies RpcSchemaMap<AccountBalanceViewerRpcMethodName>\n\n/** AccountBalanceViewerRpcSchemas type. */\nexport type AccountBalanceViewerRpcSchemas = typeof AccountBalanceViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { PayloadZod, WithHashMetaZod } from '@xyo-network/sdk-js'\nimport { SignedHydratedBlockWithHashMetaZod, XL1BlockNumberZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { BlockViewerRpcMethodName } from '../BlockViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** BlockViewerRpcSchemas constant. */\nexport const BlockViewerRpcSchemas = {\n blockViewer_blocksByNumber: {\n params: {\n to: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n from: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n blockViewer_blocksByHash: {\n params: {\n to: z.tuple([HashZod, z.number().optional()]),\n from: z.tuple([HashZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n blockViewer_currentBlock: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n blockViewer_payloadsByHash: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(WithHashMetaZod(PayloadZod).loose()),\n from: z.array(WithHashMetaZod(PayloadZod).loose()),\n },\n },\n} satisfies RpcSchemaMap<BlockViewerRpcMethodName>\n\n/** BlockViewerRpcSchemas type. */\nexport type BlockViewerRpcSchemas = typeof BlockViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { PayloadZod } from '@xyo-network/sdk-js'\nimport { ArrayBufferToJsonZod, JsonToArrayBufferZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { DataLakeViewerRpcMethodName } from '../DataLakeViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** DataLakeViewerRpcSchemas constant. */\nexport const DataLakeViewerRpcSchemas = {\n dataLakeViewer_get: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(z.union([PayloadZod.loose(), ArrayBufferToJsonZod])),\n from: z.array(z.union([PayloadZod.loose(), JsonToArrayBufferZod])),\n },\n },\n dataLakeViewer_next: {\n params: {\n to: z.tuple([z.object({}).loose()]),\n from: z.tuple([z.object({}).loose()]),\n },\n result: {\n to: z.array(z.union([PayloadZod.loose(), ArrayBufferToJsonZod])),\n from: z.array(z.union([PayloadZod.loose(), JsonToArrayBufferZod])),\n },\n },\n} satisfies RpcSchemaMap<DataLakeViewerRpcMethodName>\n\n/** DataLakeViewerRpcSchemas type. */\nexport type DataLakeViewerRpcSchemas = typeof DataLakeViewerRpcSchemas\n","import { SignedHydratedBlockWithHashMetaZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { FinalizationViewerRpcMethodName } from '../FinalizationViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** FinalizationViewerRpcSchemas constant. */\nexport const FinalizationViewerRpcSchemas = {\n finalizationViewer_head: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n} satisfies RpcSchemaMap<FinalizationViewerRpcMethodName>\n\n/** FinalizationViewerRpcSchemas type. */\nexport type FinalizationViewerRpcSchemas = typeof FinalizationViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedBlockZod, SignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { MempoolRunnerRpcMethodName } from '../MempoolRunnerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** MempoolRunnerRpcSchemas constant. */\nexport const MempoolRunnerRpcSchemas = {\n mempoolRunner_submitBlocks: {\n params: {\n to: z.tuple([z.array(SignedHydratedBlockZod)]),\n from: z.tuple([z.array(SignedHydratedBlockZod)]),\n },\n result: {\n to: z.array(HashZod),\n from: z.array(HashZod),\n },\n },\n mempoolRunner_submitTransactions: {\n params: {\n to: z.tuple([z.array(SignedHydratedTransactionZod)]),\n from: z.tuple([z.array(SignedHydratedTransactionZod)]),\n },\n result: {\n to: z.array(HashZod),\n from: z.array(HashZod),\n },\n },\n} satisfies RpcSchemaMap<MempoolRunnerRpcMethodName>\n\n/** MempoolRunnerRpcSchemas type. */\nexport type MempoolRunnerRpcSchemas = typeof MempoolRunnerRpcSchemas\n","import {\n PendingBlocksOptionsZod, PendingTransactionsOptionsZod, SignedHydratedBlockWithHashMetaZod, SignedHydratedTransactionWithHashMetaZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { MempoolViewerRpcMethodName } from '../MempoolViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** MempoolViewerRpcSchemas constant. */\nexport const MempoolViewerRpcSchemas = {\n mempoolViewer_pendingBlocks: {\n params: {\n to: z.tuple([PendingBlocksOptionsZod.optional()]),\n from: z.tuple([PendingBlocksOptionsZod.optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n mempoolViewer_pendingTransactions: {\n params: {\n to: z.tuple([PendingTransactionsOptionsZod.optional()]),\n from: z.tuple([PendingTransactionsOptionsZod.optional()]),\n },\n result: {\n to: z.array(SignedHydratedTransactionWithHashMetaZod),\n from: z.array(SignedHydratedTransactionWithHashMetaZod),\n },\n },\n} satisfies RpcSchemaMap<MempoolViewerRpcMethodName>\n\n/** MempoolViewerRpcSchemas type. */\nexport type MempoolViewerRpcSchemas = typeof MempoolViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { BlockNumberZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakeViewerRpcMethodName } from '../NetworkStakeViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakeViewerRpcSchemas constant. */\nexport const NetworkStakeViewerRpcSchemas = {\n networkStakeViewer_active: {\n params: {\n to: z.tuple([BlockNumberZod.optional()]),\n from: z.tuple([BlockNumberZod.optional()]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, z.number()]),\n from: z.tuple([JsonToBigIntZod, z.number()]),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakeViewerRpcMethodName>\n\n/** NetworkStakeViewerRpcSchemas type. */\nexport type NetworkStakeViewerRpcSchemas = typeof NetworkStakeViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByPositionViewerRpcMethodName } from '../NetworkStakingStepRewardsByPositionViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByPositionViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByPositionViewerRpcSchemas = {\n networkStakingStepRewardsByPositionViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByPositionViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(z.number(), BigIntToJsonZod),\n from: z.record(z.number(), JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByPositionViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByPositionViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByPositionViewerRpcSchemas = typeof NetworkStakingStepRewardsByPositionViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByStakerViewerRpcMethodName } from '../NetworkStakingStepRewardsByStakerViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByStakerViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByStakerViewerRpcSchemas = {\n networkStakingStepRewardsByStakerViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStakerViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByStakerViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByStakerViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByStakerViewerRpcSchemas = typeof NetworkStakingStepRewardsByStakerViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsByStepViewerRpcMethodName } from '../NetworkStakingStepRewardsByStepViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsByStepViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsByStepViewerRpcSchemas = {\n networkStakingStepRewardsByStepViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n networkStakingStepRewardsByStepViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsByStepViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsByStepViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsByStepViewerRpcSchemas = typeof NetworkStakingStepRewardsByStepViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport { asAttoXL1, RewardsRangeOptionsZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { NetworkStakingStepRewardsTotalViewerRpcMethodName } from '../NetworkStakingStepRewardsTotalViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsTotalViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsTotalViewerRpcSchemas = {\n networkStakingStepRewardsTotalViewer_bonus: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_claimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_earned: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_total: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n networkStakingStepRewardsTotalViewer_unclaimed: {\n params: {\n to: z.tuple([RewardsRangeOptionsZod.optional()]),\n from: z.tuple([RewardsRangeOptionsZod.optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n} satisfies RpcSchemaMap<NetworkStakingStepRewardsTotalViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsTotalViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsTotalViewerRpcSchemas = typeof NetworkStakingStepRewardsTotalViewerRpcSchemas\n","import {\n AddressZod, BigIntToJsonZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { asAttoXL1 } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StakeTotalsViewerRpcMethodName } from '../StakeTotalsViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StakeTotalsViewerRpcSchemas constant. */\nexport const StakeTotalsViewerRpcSchemas = {\n stakeTotalsViewer_active: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_activeByStaked: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_activeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_pending: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_pendingByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_withdrawn: {\n params: {\n to: z.tuple([z.number().optional()]).optional(),\n from: z.tuple([z.number().optional()]).optional(),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n stakeTotalsViewer_withdrawnByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number().optional()]),\n from: z.tuple([AddressZod, z.number().optional()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n} satisfies RpcSchemaMap<StakeTotalsViewerRpcMethodName>\n\n/** StakeTotalsViewerRpcSchemas type. */\nexport type StakeTotalsViewerRpcSchemas = typeof StakeTotalsViewerRpcSchemas\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { JsonToStakeZod, StakeToJsonZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StakeViewerRpcMethodName } from '../StakeViewerRpc.ts'\nimport { NoArgsZod } from './NoArgsZod.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StakeViewerRpcSchemas constant. */\nexport const StakeViewerRpcSchemas = {\n stakeViewer_minWithdrawalBlocks: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n stakeViewer_rewardsContract: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n stakeViewer_stakeById: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n stakeViewer_stakeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number()]),\n from: z.tuple([AddressZod, z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n stakeViewer_stakesByStaker: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakeViewer_stakesByStaked: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakeViewer_stakingTokenAddress: {\n params: {\n to: NoArgsZod,\n from: NoArgsZod,\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n} satisfies RpcSchemaMap<StakeViewerRpcMethodName>\n\n/** StakeViewerRpcSchemas type. */\nexport type StakeViewerRpcSchemas = typeof StakeViewerRpcSchemas\n","import { z } from 'zod'\n\n/** NoArgsZod constant. */\nexport const NoArgsZod = z.tuple([]).default([])\n","import type { NetworkStakingStepRewardsViewerRpcMethodName } from '../NetworkStakingStepRewardsViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** NetworkStakingStepRewardsViewerRpcSchemas constant. */\nexport const NetworkStakingStepRewardsViewerRpcSchemas = {} satisfies RpcSchemaMap<NetworkStakingStepRewardsViewerRpcMethodName>\n\n/** NetworkStakingStepRewardsViewerRpcSchemas type. */\nexport type NetworkStakingStepRewardsViewerRpcSchemas = typeof NetworkStakingStepRewardsViewerRpcSchemas\n","import { BigIntToJsonZod, JsonToBigIntZod } from '@xylabs/sdk-js'\nimport {\n JsonToStakeZod, StakeToJsonZod, StepIdentityZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { StepViewerMethodName } from '../StepViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** StepViewerRpcSchemas constant. */\nexport const StepViewerRpcSchemas = {\n randomizer: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n stake: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n stakers: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n weight: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n positionCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n positions: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n stakerCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n} satisfies RpcSchemaMap<StepViewerMethodName>\n\n/** StepViewerRpcSchemas type. */\nexport type StepViewerRpcSchemas = typeof StepViewerRpcSchemas\n","import { TimeDomainZod, TimePayloadZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { TimeSyncViewerRpcMethodName } from '../TimeSyncViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** TimeSyncViewerRpcSchemas constant. */\nexport const TimeSyncViewerRpcSchemas = {\n timeSyncViewer_convertTime: {\n params: {\n from: z.tuple([TimeDomainZod, TimeDomainZod, z.number()]),\n to: z.tuple([TimeDomainZod, TimeDomainZod, z.number()]),\n },\n result: {\n from: z.number(),\n to: z.number(),\n },\n },\n timeSyncViewer_currentTime: {\n params: {\n from: z.tuple([TimeDomainZod]),\n to: z.tuple([TimeDomainZod]),\n },\n result: {\n from: z.tuple([TimeDomainZod, z.number()]),\n to: z.tuple([TimeDomainZod, z.number()]),\n },\n },\n timeSyncViewer_currentTimeAndHash: {\n params: {\n from: z.tuple([TimeDomainZod]),\n to: z.tuple([TimeDomainZod]),\n },\n result: {\n from: z.tuple([z.number(), z.nullable(z.string())]),\n to: z.tuple([z.number(), z.nullable(z.string())]),\n },\n },\n timeSyncViewer_currentTimePayload: {\n params: {\n from: z.tuple([]).default([]),\n to: z.tuple([]).default([]),\n },\n result: {\n from: TimePayloadZod,\n to: TimePayloadZod,\n },\n },\n} satisfies RpcSchemaMap<TimeSyncViewerRpcMethodName>\n\n/** TimeSyncViewerRpcSchemas type. */\nexport type TimeSyncViewerRpcSchemas = typeof TimeSyncViewerRpcSchemas\n","import { HashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionWithHashMetaZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { TransactionViewerRpcMethodName } from '../TransactionViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** TransactionViewerRpcSchemas constant. */\nexport const TransactionViewerRpcSchemas = {\n /** @deprecated use byBlockHashAndIndex instead */\n transactionViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashZod, z.number()]),\n from: z.tuple([HashZod, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n /** @deprecated use byBlockNumberAndIndex instead */\n transactionViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n transactionViewer_byHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n /** @deprecated use byHash instead */\n transactionViewer_transactionByHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod.nullable(),\n from: SignedHydratedTransactionWithHashMetaZod.nullable(),\n },\n },\n} satisfies RpcSchemaMap<TransactionViewerRpcMethodName>\n\n/** TransactionViewerRpcSchemas type. */\nexport type TransactionViewerRpcSchemas = typeof TransactionViewerRpcSchemas\n","import {\n InvokerPermissionZod, PermissionRequestZod, RequestedPermissionZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoPermissionsRpcMethodName } from '../XyoPermissions.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoPermissionsRpcSchemas constant. */\nexport const XyoPermissionsRpcSchemas = {\n xyoPermissions_getPermissions: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: z.array(InvokerPermissionZod),\n from: z.array(InvokerPermissionZod),\n },\n },\n xyoPermissions_requestPermissions: {\n params: {\n to: z.tuple([z.array(PermissionRequestZod)]),\n from: z.tuple([z.array(PermissionRequestZod)]),\n },\n result: {\n to: z.array(RequestedPermissionZod),\n from: z.array(RequestedPermissionZod),\n },\n },\n xyoPermissions_revokePermissions: {\n params: {\n to: z.tuple([z.array(PermissionRequestZod)]),\n from: z.tuple([z.array(PermissionRequestZod)]),\n },\n result: {\n to: z.array(RequestedPermissionZod),\n from: z.array(RequestedPermissionZod),\n },\n },\n} satisfies RpcSchemaMap<XyoPermissionsRpcMethodName>\n\n/** XyoPermissionsRpcSchemas type. */\nexport type XyoPermissionsRpcSchemas = typeof XyoPermissionsRpcSchemas\n","import { HashToJsonZod, JsonToHashZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoRunnerRpcSchemas constant. */\nexport const XyoRunnerRpcSchemas = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionZod]),\n from: z.tuple([SignedHydratedTransactionZod]),\n },\n result: {\n to: HashToJsonZod,\n from: JsonToHashZod,\n },\n },\n} satisfies RpcSchemaMap<XyoRunnerRpcMethodName>\n\n/** XyoRunnerRpcSchemas type. */\nexport type XyoRunnerRpcSchemas = typeof XyoRunnerRpcSchemas\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { SignedHydratedTransactionWithHashMetaZod, UnsignedHydratedTransactionZod } from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoSignerRpcSchemas constant. */\nexport const XyoSignerRpcSchemas = {\n xyoSigner_address: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: AddressZod,\n from: AddressZod,\n },\n },\n xyoSigner_signTransaction: {\n params: {\n to: z.tuple([UnsignedHydratedTransactionZod]),\n from: z.tuple([UnsignedHydratedTransactionZod]),\n },\n result: {\n to: SignedHydratedTransactionWithHashMetaZod,\n from: SignedHydratedTransactionWithHashMetaZod,\n },\n },\n} as const satisfies RpcSchemaMap<XyoSignerRpcMethodName>\n\n/** XyoSignerRpcSchemas type. */\nexport type XyoSignerRpcSchemas = typeof XyoSignerRpcSchemas\n","import {\n AddressZod,\n BigIntToJsonZod, HashZod, HexZod, JsonToBigIntZod,\n} from '@xylabs/sdk-js'\nimport { PayloadZodLoose } from '@xyo-network/sdk-js'\nimport {\n AccountBalanceHistoryItemZod,\n asAttoXL1,\n JsonToStakeZod, SignedHydratedBlockWithHashMetaZod,\n SignedHydratedTransactionZod,\n StakeToJsonZod, StepIdentityZod,\n XL1BlockNumberZod, XL1BlockRangeZod,\n} from '@xyo-network/xl1-protocol-lib'\nimport { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\n/** XyoViewerRpcSchemas constant. */\nexport const XyoViewerRpcSchemas = {\n xyoViewer_networkStakeStepRewardClaimedByAddress: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardAddressReward: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardAddressHistory: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardAddressShare: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod, JsonToBigIntZod]),\n },\n },\n xyoViewer_networkStakeStepRewardWeightForAddress: {\n params: {\n to: z.tuple([StepIdentityZod, AddressZod]),\n from: z.tuple([StepIdentityZod, AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n xyoViewer_networkStakeStepRewardUnclaimedByAddress: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardPoolRewards: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod.transform(val => asAttoXL1(val))),\n },\n },\n xyoViewer_networkStakeStepRewardPositionWeight: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod,\n },\n },\n xyoViewer_networkStakeStepRewardPotentialPositionLoss: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardForStep: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardRandomizer: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardStakerCount: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.number(),\n from: z.number(),\n },\n },\n xyoViewer_networkStakeStepRewardPoolShares: {\n params: {\n to: z.tuple([StepIdentityZod]),\n from: z.tuple([StepIdentityZod]),\n },\n result: {\n to: z.record(AddressZod, BigIntToJsonZod),\n from: z.record(AddressZod, JsonToBigIntZod),\n },\n },\n xyoViewer_networkStakeStepRewardForStepForPosition: {\n params: {\n to: z.tuple([StepIdentityZod, z.number()]),\n from: z.tuple([StepIdentityZod, z.number()]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))]),\n },\n },\n xyoViewer_networkStakeStepRewardForPosition: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: z.tuple([BigIntToJsonZod, BigIntToJsonZod]),\n from: z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))]),\n },\n },\n xyoViewer_networkStakeStepRewardsForRange: {\n params: {\n to: z.tuple([z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardsForStepLevel: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_networkStakeStepRewardsForPosition: {\n params: {\n to: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n from: z.tuple([z.number(), z.tuple([z.number(), z.number()])]),\n },\n result: {\n to: z.record(z.string(), z.tuple([BigIntToJsonZod, BigIntToJsonZod])),\n from: z.record(z.string(), z.tuple([JsonToBigIntZod.transform(val => asAttoXL1(val)), JsonToBigIntZod.transform(val => asAttoXL1(val))])),\n },\n },\n xyoViewer_accountBalance: {\n params: {\n to: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n from: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n },\n result: {\n to: BigIntToJsonZod,\n from: JsonToBigIntZod.transform(val => asAttoXL1(val)),\n },\n },\n xyoViewer_accountBalanceHistory: {\n params: {\n to: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n from: z.union([z.tuple([AddressZod]), z.tuple([AddressZod, z.union([XL1BlockRangeZod, HashZod])])]),\n },\n result: {\n to: z.array(AccountBalanceHistoryItemZod),\n from: z.array(AccountBalanceHistoryItemZod),\n },\n },\n xyoViewer_blocksByNumber: {\n params: {\n to: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n from: z.tuple([XL1BlockNumberZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashZod, z.number().optional()]),\n from: z.tuple([HashZod, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockWithHashMetaZod),\n from: z.array(SignedHydratedBlockWithHashMetaZod),\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: SignedHydratedBlockWithHashMetaZod,\n from: SignedHydratedBlockWithHashMetaZod,\n },\n },\n xyoViewer_forkHistory: {\n params: {\n to: z.tuple([]).default([]),\n from: z.tuple([]).default([]),\n },\n result: {\n to: z.record(z.number(), HexZod),\n from: z.record(z.number(), HexZod),\n },\n },\n xyoViewer_stakeByStaker: {\n params: {\n to: z.tuple([AddressZod, z.number()]),\n from: z.tuple([AddressZod, z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n xyoViewer_stakeById: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: StakeToJsonZod,\n from: JsonToStakeZod,\n },\n },\n xyoViewer_stakesByStaker: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n xyoViewer_stakesByStaked: {\n params: {\n to: z.tuple([AddressZod]),\n from: z.tuple([AddressZod]),\n },\n result: {\n to: z.array(StakeToJsonZod),\n from: z.array(JsonToStakeZod),\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashZod, z.number()]),\n from: z.tuple([HashZod, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.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: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashZod]),\n from: z.tuple([HashZod]),\n },\n result: {\n to: SignedHydratedTransactionZod.nullable(),\n from: SignedHydratedTransactionZod.nullable(),\n },\n },\n xyoViewer_payloadsByHash: {\n params: {\n to: z.tuple([z.array(HashZod)]),\n from: z.tuple([z.array(HashZod)]),\n },\n result: {\n to: z.array(PayloadZodLoose),\n from: z.array(PayloadZodLoose),\n },\n },\n} satisfies RpcSchemaMap<XyoViewerRpcMethodName>\n\n/** XyoViewerRpcSchemas type. */\nexport type XyoViewerRpcSchemas = typeof XyoViewerRpcSchemas\n","import { AccountBalanceViewerRpcSchemas } from './AccountBalanceViewerRpcSchemas.ts'\nimport { BlockViewerRpcSchemas } from './BlockViewerRpcSchemas.ts'\nimport { DataLakeViewerRpcSchemas } from './DataLakeViewerRpcSchema.ts'\nimport { FinalizationViewerRpcSchemas } from './FinalizationViewerRpcSchemas.ts'\nimport { MempoolRunnerRpcSchemas } from './MempoolRunnerRpcSchemas.ts'\nimport { MempoolViewerRpcSchemas } from './MempoolViewerRpcSchemas.ts'\nimport { NetworkStakeViewerRpcSchemas } from './NetworkStakeViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByPositionViewerRpcSchemas } from './RewardsByPositionViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByStakerViewerRpcSchemas } from './RewardsByStakerViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsByStepViewerRpcSchemas } from './RewardsByStepViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsTotalViewerRpcSchemas } from './RewardsTotalViewerRpcSchemas.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { StakeTotalsViewerRpcSchemas } from './StakeTotalsViewerRpcSchemas.ts'\nimport { StakeViewerRpcSchemas } from './StakeViewerRpcSchemas.ts'\nimport { NetworkStakingStepRewardsViewerRpcSchemas } from './StepRewardsViewerRpcSchemas.ts'\nimport { StepViewerRpcSchemas } from './StepViewerRpcSchemas.ts'\nimport { TimeSyncViewerRpcSchemas } from './TimeSyncViewerRpcSchema.ts'\nimport { TransactionViewerRpcSchemas } from './TransactionViewerRpcSchema.ts'\nimport { XyoPermissionsRpcSchemas } from './XyoPermissionsRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\n\n/** AllRpcSchemas constant. */\nexport const AllRpcSchemas = {\n ...AccountBalanceViewerRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n ...XyoPermissionsRpcSchemas,\n ...NetworkStakeViewerRpcSchemas,\n ...BlockViewerRpcSchemas,\n ...MempoolViewerRpcSchemas,\n ...MempoolRunnerRpcSchemas,\n ...TimeSyncViewerRpcSchemas,\n ...StepViewerRpcSchemas,\n ...DataLakeViewerRpcSchemas,\n ...StakeTotalsViewerRpcSchemas,\n ...StakeViewerRpcSchemas,\n ...NetworkStakingStepRewardsViewerRpcSchemas,\n ...NetworkStakingStepRewardsTotalViewerRpcSchemas,\n ...NetworkStakingStepRewardsByStepViewerRpcSchemas,\n ...NetworkStakingStepRewardsByStakerViewerRpcSchemas,\n ...NetworkStakingStepRewardsByPositionViewerRpcSchemas,\n ...TransactionViewerRpcSchemas,\n ...FinalizationViewerRpcSchemas,\n} satisfies RpcSchemaMap\n\n/** AllRpcSchemas type. */\nexport type AllRpcSchemas = typeof AllRpcSchemas\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\n/** Schema identifier for createRequest payloads. */\nexport const createRequestSchema = <TParams extends z.ZodType, 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\n/** Schema identifier for createResponse payloads. */\nexport const createResponseSchema = <TParams extends z.ZodType>(\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 {\n MempoolPruneOptions, type MempoolRunner, MempoolRunnerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcMempoolRunnerMethods } from './JsonRpcMempoolRunnerMethods.ts'\n\n/** JsonRpcMempoolRunner implementation. */\n@creatableProvider()\nexport class JsonRpcMempoolRunner extends JsonRpcMempoolRunnerMethods implements MempoolRunner {\n static readonly defaultMoniker = MempoolRunnerMoniker\n static readonly dependencies = []\n static readonly monikers = [MempoolRunnerMoniker]\n\n prunePendingBlocks(_options?: MempoolPruneOptions): Promise<[number, number]> {\n throw new Error('Method not implemented.')\n }\n\n prunePendingTransactions(_options?: MempoolPruneOptions): Promise<[number, number]> {\n throw new Error('Method not implemented.')\n }\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type {\n MempoolRunnerMethods, SignedHydratedBlock, SignedHydratedTransaction,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolRunnerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { MempoolRunnerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcRunner } from '../JsonRpcRunner.ts'\n\n/** JsonRpcMempoolRunnerMethods implementation. */\nexport class JsonRpcMempoolRunnerMethods extends AbstractJsonRpcRunner<typeof MempoolRunnerRpcSchemas> implements MempoolRunnerMethods {\n readonly moniker = MempoolRunnerMoniker\n async submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]> {\n const result = await this.transport.sendRequest(\n 'mempoolRunner_submitBlocks',\n [blocks],\n )\n return result\n }\n\n async submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]> {\n const result = await this.transport.sendRequest(\n 'mempoolRunner_submitTransactions',\n [transactions],\n )\n return result\n }\n\n protected schemas() {\n return MempoolRunnerRpcSchemas\n }\n}\n","import type { CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk'\nimport {\n AbstractCreatableProvider, HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport {\n HttpRpcTransport, PostMessageRpcTransport, type RpcTransport,\n} from '../../transport/index.ts'\nimport type { RpcSchemaMap } from '../../types/index.ts'\n\n/** Parameters for JsonRpcRunner. */\nexport interface JsonRpcRunnerParams<TSchemas extends RpcSchemaMap = RpcSchemaMap> extends CreatableProviderParams {\n transport?: RpcTransport<TSchemas>\n}\n\n/** Abstract base class for JsonRpcRunner implementations. */\nexport abstract class AbstractJsonRpcRunner<TSchemas extends RpcSchemaMap,\n TParams extends JsonRpcRunnerParams<TSchemas> = JsonRpcRunnerParams<TSchemas>> extends AbstractCreatableProvider<TParams> {\n protected get transport() {\n return this.params.transport!\n }\n\n override async createHandler() {\n this.params.transport ??= this.createTransport()\n await super.createHandler()\n }\n\n private createTransport(): RpcTransport<TSchemas> {\n const httpRemoteConfig = HttpRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (httpRemoteConfig.success) {\n const { url } = httpRemoteConfig.data\n return new HttpRpcTransport(url, this.schemas())\n }\n\n const postMessageRemoteConfig = PostMessageRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (postMessageRemoteConfig.success) {\n const { networkId, sessionId } = postMessageRemoteConfig.data\n return new PostMessageRpcTransport(networkId, this.schemas(), sessionId, this.logger)\n }\n\n throw new Error('Unable to create transport')\n }\n\n protected abstract schemas(): TSchemas\n}\n","import type { JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\nimport type { JsonRpcFailure, JsonRpcSuccess } from '@metamask/utils'\nimport {\n axiosJsonConfig,\n isDefined, isError, isUndefinedOrNull,\n} from '@xylabs/sdk-js'\nimport { Axios, isAxiosError } from 'axios'\nimport { v4 } from 'uuid'\nimport { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\n/** HttpRpcTransport implementation. */\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _passThrough: boolean\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T, passThrough = false) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n this._passThrough = passThrough\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<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.input<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.output<TSchemas[TMethod]['result']['from']>> {\n try {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n const schema = schemas[method]\n\n if (params) {\n body.params = isDefined(schema)\n ? schema.params.to.parse(params) as JsonRpcRequest\n : this._passThrough ? z.json().parse(params) as JsonRpcRequest : undefined\n if (!isDefined(body.params)) {\n throw new Error(`[callRpc] RPC method ${String(method)} missing schema`)\n }\n }\n\n body.params ??= []\n\n const res = await new Axios(axiosJsonConfig()).post(url, body)\n\n const json: unknown = res.data\n if (isUndefinedOrNull(json)) {\n throw new Error(`[callRpc] empty response body (status ${res.status})`)\n }\n if ((json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n const result = isDefined(schema)\n ? schemas[method].result.from.parse((json as JsonRpcSuccess).result) as z.output<TSchemas[TMethod]['result']['from']>\n : (json as JsonRpcSuccess).result as z.output<TSchemas[TMethod]['result']['from']>\n\n return result\n } catch (ex) {\n let message = isError(ex) ? ex.message : String(ex)\n if (isAxiosError(ex)) {\n message = `Http error occurred [${ex.status}|${ex.code ?? '<unknown>'}]: ${ex.message}`\n }\n throw new Error(`Error occurred while calling RPC method ${String(method)}: ${message}`, { cause: ex })\n }\n }\n}\n","import type {\n JsonRpcEngineV2, JsonRpcParams, JsonRpcRequest,\n} from '@metamask/json-rpc-engine/v2'\nimport { JsonRpcServer } from '@metamask/json-rpc-engine/v2'\nimport {\n assertEx, isObject, isString,\n} from '@xylabs/sdk-js'\nimport { v4 } from 'uuid'\nimport type { z, ZodRawShape } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\n/** MemoryRpcTransport implementation. */\nexport class MemoryRpcTransport<T extends RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngineV2\n protected readonly _rpcServer: JsonRpcServer\n protected readonly _schemas: T\n protected readonly requestSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>\n protected readonly responseSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>\n\n constructor(rpcEngine: JsonRpcEngineV2, schemas: T) {\n this._rpcEngine = rpcEngine\n this._rpcServer = new JsonRpcServer({ engine: rpcEngine })\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<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 const stringMethod = assertEx(isString(method) ? method : null, () => 'Method must be a string')\n requestSchema = createRequestSchema(stringMethod, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string,\n }\n if (params !== undefined) {\n req.params = params as JsonRpcParams\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const result = await this._rpcServer.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(result)?.result as z.infer<T[TMethod]['result']['from']>\n }\n}\n","import { isDefined } from '@xylabs/sdk-js'\n\nimport type { MessageBus, MessageBusConnection } from './MessageBus.ts'\n\n/** Abstract base class for MessageBus implementations. */\nexport abstract class AbstractMessageBus<T> implements MessageBus<T> {\n protected connections: MessageBusConnection<T>[] = []\n protected readonly name: string\n protected readonly sessionId: string | undefined\n\n constructor(sessionId?: string, name = 'default') {\n this.name = name\n this.sessionId = sessionId\n this.start()\n }\n\n addConnection(connection: MessageBusConnection<T>): void {\n this.connections.push(connection)\n }\n\n removeConnection(connection: MessageBusConnection<T>): void {\n this.connections = this.connections.filter(c => c !== connection)\n }\n\n protected validateSessionId(sessionId?: string): boolean {\n return isDefined(this.sessionId) && sessionId === this.sessionId\n }\n\n abstract postMessage(message: unknown): void\n\n abstract start(): void\n\n abstract stop(): void\n}\n","import { isDefined } from '@xylabs/sdk-js'\n\nimport { AbstractMessageBus } from '../Abstract.ts'\nimport type { EventWithId } from '../validators/index.ts'\nimport { isEventWithId } from '../validators/index.ts'\n\n/** PostMessageBus implementation. */\nexport class PostMessageBus extends AbstractMessageBus<MessageEvent> {\n constructor(sessionId?: string, name = 'default') {\n super(sessionId, name)\n }\n\n override postMessage(message: unknown, origin = globalThis.location.origin): void {\n globalThis.postMessage(message, origin)\n }\n\n start() {\n globalThis.addEventListener('message', event => this.handleMessage(event))\n }\n\n stop() {\n globalThis.removeEventListener('message', this.handleMessage)\n this.connections.length = 0\n }\n\n private handleMessage = (event: MessageEvent) => {\n if (event.origin !== globalThis.location.origin) return\n if (!this.validateSessionId((event.data as Record<string, unknown>)?.sessionId as string | undefined)) return\n\n for (const connection of this.connections) {\n const { id, listener } = connection\n if (isDefined(id) && isEventWithId(event)) {\n const eventWithId = event as EventWithId\n if (eventWithId.data.data.id === id) listener(event)\n } else {\n listener(event)\n }\n }\n }\n}\n","/** HasSessionId type. */\nexport interface HasSessionId { sessionId?: string }\n/** hasSessionId constant. */\nexport const hasSessionId = (message: unknown): message is HasSessionId => {\n return (\n typeof message === 'object'\n && message !== null\n && 'sessionId' in message\n && typeof message.sessionId === 'string'\n )\n}\n","/** EventWithId type. */\nexport interface EventWithId { data: { data: { id: string } } }\n/** Type guard that checks if a value is a valid EventWithId. */\nexport const isEventWithId = (event: unknown): event is EventWithId => {\n return (\n typeof event === 'object'\n && event !== null\n && 'data' in event\n && typeof event.data === 'object'\n && event.data !== null\n && 'data' in event.data\n && typeof event.data.data === 'object'\n && event.data.data !== null\n && 'id' in event.data.data\n && typeof event.data.data.id === 'string'\n )\n}\n","/** MessageWithId type. */\nexport interface MessageWithId { data: { id: string } }\n/** Type guard that checks if a value is a valid MessageWithId. */\nexport const isMessageWithId = (message: unknown): message is MessageWithId => {\n return (\n typeof message === 'object'\n && message !== null\n && 'data' in message\n && typeof message.data === 'object'\n && message.data !== null\n && 'id' in message.data\n && typeof message.data.id === 'string'\n )\n}\n","import type {\n Json,\n JsonRpcRequest,\n} from '@metamask/json-rpc-engine/v2'\nimport {\n isJsonRpcFailure, isJsonRpcResponse, isJsonRpcSuccess,\n} from '@metamask/utils'\nimport type { Logger } from '@xylabs/sdk-js'\nimport { isDefined } from '@xylabs/sdk-js'\nimport { v4 } from 'uuid'\nimport type * as z from 'zod'\n\nimport type { RpcSchemaMap } from '../../types/index.ts'\nimport { jsonrpc } from '../../types/index.ts'\nimport type { RpcTransport } from '../RpcTransport.ts'\nimport type { MessageBusConnection } from './bus/index.ts'\nimport { PostMessageBus } from './bus/index.ts'\nimport type { SessionMessageEnvelope } from './SessionEnvelope.ts'\n\n/** PostMessageRpcTransport implementation. */\nexport class PostMessageRpcTransport<T extends RpcSchemaMap> implements RpcTransport<T> {\n private readonly _destination?: string\n private readonly _logger?: Logger\n private readonly _schemas: T\n private readonly _sessionId: string | undefined\n\n constructor(\n defaultDestination: string,\n schemas: T,\n sessionId: string,\n logger?: Logger,\n ) {\n this._schemas = schemas\n this._destination = defaultDestination\n this._logger = logger\n this._sessionId = sessionId\n }\n\n protected get destination() {\n return this._destination\n }\n\n protected get logger() {\n return this._logger\n }\n\n protected get schemas() {\n return this._schemas\n }\n\n protected get sessionId() {\n return this._sessionId\n }\n\n async sendRequest<\n TMethod extends keyof T,\n >(\n method: TMethod,\n params?: z.input<T[TMethod]['params']['to']>,\n ): Promise<z.output<T[TMethod]['result']['from']>> {\n const id = v4()\n return await this.callRpc(this.schemas, method, id, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n schemas: TSchemas,\n method: TMethod,\n id: string,\n params?: z.input<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.output<TSchemas[TMethod]['result']['from']>> {\n this.logger?.debug(`PostMessageRpcTransport: callRpc method=${String(method)} id=${id}`)\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n params: ((isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params) as Json[],\n }\n\n return await new Promise((resolve, reject) => {\n const postMessageBus = new PostMessageBus(this.sessionId)\n const postMessageConnection: MessageBusConnection<MessageEvent> = {\n listener: (event) => {\n if ('data' in (event.data as Record<string, unknown>) && isJsonRpcResponse((event.data as Record<string, unknown>).data)) {\n const response = (event.data as Record<string, unknown>).data\n if (isJsonRpcSuccess(response) && Array.isArray(response.result)) {\n // Handle successful response\n const ret = schemas[method].result.from.parse(response.result[0]) as z.infer<TSchemas[TMethod]['result']['from']>\n resolve(ret)\n return\n }\n if (isJsonRpcFailure(response)) {\n // Handle error response\n this.logger?.error('Error in PostMessageRpcTransport', response)\n reject(new Error(response.error.message))\n return\n }\n throw new Error(`Invalid response from wallet extension, ${JSON.stringify(event.data)}`)\n }\n },\n id,\n }\n postMessageBus.addConnection(postMessageConnection)\n\n const message: SessionMessageEnvelope<JsonRpcRequest> = {\n data: body, destination: this.destination, sessionId: this.sessionId ?? '',\n }\n postMessageBus.postMessage(message)\n })\n }\n}\n","import { type Hash } from '@xylabs/sdk-js'\nimport type {\n MempoolRunner, SignedHydratedTransaction, XyoRunner,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolRunnerMoniker, XyoRunnerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { XyoRunnerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcRunner } from './JsonRpcRunner.ts'\n\n/** JsonRpcXyoRunner implementation. */\n@creatableProvider()\nexport class JsonRpcXyoRunner extends AbstractJsonRpcRunner<XyoRunnerRpcSchemas> implements XyoRunner {\n static readonly defaultMoniker = XyoRunnerMoniker\n static readonly dependencies = [MempoolRunnerMoniker]\n static readonly monikers = [XyoRunnerMoniker]\n moniker = JsonRpcXyoRunner.defaultMoniker\n\n private _mempoolRunner?: MempoolRunner\n\n get mempool() {\n return this._mempoolRunner!\n }\n\n async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n\n override async createHandler() {\n await super.createHandler()\n this._mempoolRunner = await this.locateAndCreate<MempoolRunner>(MempoolRunnerMoniker)\n }\n\n protected schemas() {\n return XyoRunnerRpcSchemas\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport {\n AccountBalanceHistoryItem,\n AccountBalanceViewer, AccountBalanceViewerMoniker, type AttoXL1,\n ChainQualifiedConfig,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcAccountBalanceViewerMethods } from './JsonRpcAccountBalanceViewerMethods.ts'\n\n/** JsonRpcAccountBalanceViewer implementation. */\n@creatableProvider()\nexport class JsonRpcAccountBalanceViewer extends JsonRpcAccountBalanceViewerMethods implements AccountBalanceViewer {\n static readonly defaultMoniker = AccountBalanceViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [AccountBalanceViewerMoniker]\n\n async accountBalance(address: Address, config: ChainQualifiedConfig = {}): Promise<AttoXL1> {\n const result = await this.accountBalances([address], config)\n return result[address]\n }\n\n async accountBalanceHistories(address: Address[], config: ChainQualifiedConfig = {}): Promise<Record<Address, AccountBalanceHistoryItem[]>> {\n const [result] = await this.qualifiedAccountBalanceHistories(address, config)\n return result\n }\n\n async accountBalanceHistory(address: Address, config: ChainQualifiedConfig = {}): Promise<AccountBalanceHistoryItem[]> {\n const result = await this.accountBalanceHistories([address], config)\n return result[address]\n }\n\n async accountBalances(address: Address[], config: ChainQualifiedConfig = {}): Promise<Record<Address, AttoXL1>> {\n const [result] = await this.qualifiedAccountBalances(address, config)\n return result\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem,\n AccountBalanceViewerMethods, AttoXL1, ChainQualified, ChainQualifiedConfig,\n} from '@xyo-network/xl1-protocol-lib'\nimport { AccountBalanceViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { AccountBalanceViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcAccountBalanceViewerMethods implementation. */\nexport class JsonRpcAccountBalanceViewerMethods extends AbstractJsonRpcViewer<AccountBalanceViewerRpcSchemas> implements AccountBalanceViewerMethods {\n moniker = AccountBalanceViewerMoniker\n async qualifiedAccountBalanceHistories(\n addresses: Address[],\n config: ChainQualifiedConfig,\n ): Promise<ChainQualified<Record<Address, AccountBalanceHistoryItem[]>>> {\n return await this.transport.sendRequest<'accountBalanceViewer_qualifiedAccountBalanceHistories'>(\n 'accountBalanceViewer_qualifiedAccountBalanceHistories',\n [addresses, config],\n )\n }\n\n async qualifiedAccountBalances(\n addresses: Address[],\n config: ChainQualifiedConfig,\n ) {\n return await this.transport.sendRequest(\n 'accountBalanceViewer_qualifiedAccountBalances',\n [addresses, config],\n ) as ChainQualified<Record<Address, AttoXL1>>\n }\n\n protected schemas() {\n return AccountBalanceViewerRpcSchemas\n }\n}\n","import type { EventData } from '@xylabs/sdk-js'\nimport type { CreatableProviderEventData, CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk'\nimport {\n AbstractCreatableProvider, HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport {\n HttpRpcTransport, PostMessageRpcTransport, type RpcTransport,\n} from '../../transport/index.ts'\nimport type { RpcSchemaMap } from '../../types/index.ts'\n\n/** Parameters for JsonRpcViewer. */\nexport interface JsonRpcViewerParams<TSchemas extends RpcSchemaMap = RpcSchemaMap> extends CreatableProviderParams {\n transport?: RpcTransport<TSchemas>\n}\n\n/** Abstract base class for JsonRpcViewer implementations. */\nexport abstract class AbstractJsonRpcViewer<TSchemas extends RpcSchemaMap,\n TParams extends JsonRpcViewerParams<TSchemas> = JsonRpcViewerParams<TSchemas>,\n TEventData extends EventData = CreatableProviderEventData> extends AbstractCreatableProvider<TParams, TEventData> {\n protected _transport?: RpcTransport<TSchemas>\n\n protected get transport() {\n return this.params.transport!\n }\n\n override async createHandler() {\n this.params.transport ??= this.createTransport()\n await super.createHandler()\n }\n\n private createTransport(): RpcTransport<TSchemas> {\n const httpRemoteConfig = HttpRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (httpRemoteConfig.success) {\n const { url } = httpRemoteConfig.data\n return new HttpRpcTransport(url, this.schemas())\n }\n const postMessageRemoteConfig = PostMessageRpcRemoteConfigZod.safeParse(this.config.remote.rpc)\n if (postMessageRemoteConfig.success) {\n const { networkId, sessionId } = postMessageRemoteConfig.data\n return new PostMessageRpcTransport(networkId, this.schemas(), sessionId, this.logger)\n }\n throw new Error('Unable to create transport')\n }\n\n protected abstract schemas(): TSchemas\n}\n","import { assertEx, type Hash } from '@xylabs/sdk-js'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk-js'\nimport {\n BlockRate,\n type BlockViewer,\n BlockViewerMoniker,\n type ChainId,\n Count,\n type SignedHydratedBlockWithHashMeta,\n StepIndex,\n TimeDurations,\n type XL1BlockNumber,\n XL1BlockRange,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n calculateBlockRate, calculateStepSizeRate, calculateTimeRate, creatableProvider,\n} from '@xyo-network/xl1-protocol-sdk'\n\nimport type { BlockViewerRpcSchemas } from '../../../types/index.ts'\nimport type { JsonRpcViewerParams } from '../JsonRpcViewer.ts'\nimport { JsonRpcBlockViewerMethods } from './JsonRpcBlockViewerMethods.ts'\n\nconst MIN_HEAD_POLL_INTERVAL_MS = 5000\n\n/** Parameters for JsonRpcBlockViewer. */\nexport interface JsonRpcBlockViewerParams extends JsonRpcViewerParams<BlockViewerRpcSchemas> {\n headPollIntervalMs?: number\n}\n\n/** JsonRpcBlockViewer implementation. */\n@creatableProvider()\nexport class JsonRpcBlockViewer extends JsonRpcBlockViewerMethods<JsonRpcBlockViewerParams> implements BlockViewer {\n static readonly defaultMoniker = BlockViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [BlockViewerMoniker]\n\n private _headPollHash?: Hash\n private _headPollInProgress = false\n private _headPollTimer: ReturnType<typeof setInterval> | null = null\n\n protected get headPollIntervalMs() {\n return this.params.headPollIntervalMs\n }\n\n static override async paramsHandler(params: Partial<JsonRpcBlockViewerParams> = {}) {\n const headPollIntervalMs = params.headPollIntervalMs\n if (headPollIntervalMs !== undefined) {\n assertEx(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`)\n }\n return {\n ...await super.paramsHandler(params),\n headPollIntervalMs,\n } satisfies JsonRpcBlockViewerParams\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByHash(hash, 1))[0]\n }\n\n async blockByNumber(block: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByNumber(block, 1))[0]\n }\n\n async chainId(blockNumber: XL1BlockNumber | 'latest' = 'latest'): Promise<ChainId> {\n if (blockNumber === 'latest') {\n return (await this.currentBlock())[0].chain\n }\n return (await this.blocksByNumber(blockNumber, 1))[0][0].chain\n }\n\n async currentBlockHash(): Promise<Hash> {\n return (await this.currentBlock())[0]._hash\n }\n\n async currentBlockNumber(): Promise<XL1BlockNumber> {\n return (await this.currentBlock())[0].block\n }\n\n async payloadByHash(hash: Hash): Promise<WithHashMeta<Payload> | null> {\n return (await this.payloadsByHash([hash]))[0] ?? null\n }\n\n async rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await calculateBlockRate(this, range, timeUnit)\n }\n\n async stepSizeRate(start: XL1BlockNumber, stepSizeIndex: StepIndex, count?: Count, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await calculateStepSizeRate(this, start, stepSizeIndex, count, timeUnit)\n }\n\n async timeDurationRate(\n timeConfig: Record<keyof TimeDurations, number>,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promise<BlockRate> {\n return await calculateTimeRate(this, timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts)\n }\n\n protected override async startHandler(): Promise<void> {\n await super.startHandler()\n if (this.headPollIntervalMs === undefined) return\n await this.pollHead(false)\n this.startHeadPolling()\n }\n\n protected override async stopHandler(): Promise<void> {\n this.stopHeadPolling()\n this._headPollHash = undefined\n await super.stopHandler()\n }\n\n private async pollHead(emitOnChange: boolean): Promise<void> {\n if (this._headPollInProgress) return\n this._headPollInProgress = true\n try {\n const block = await this.currentBlock()\n const hash = block[0]._hash\n if (this._headPollHash === undefined) {\n this._headPollHash = hash\n return\n }\n if (hash !== this._headPollHash) {\n this._headPollHash = hash\n if (emitOnChange) {\n await this.emit('headUpdated', { block })\n }\n }\n } catch (ex) {\n this.logger?.error('Error polling block head', ex)\n } finally {\n this._headPollInProgress = false\n }\n }\n\n private startHeadPolling() {\n if (this.headPollIntervalMs === undefined) return\n this.stopHeadPolling()\n this._headPollTimer = setInterval(() => {\n void this.pollHead(true)\n }, this.headPollIntervalMs)\n }\n\n private stopHeadPolling() {\n if (this._headPollTimer) {\n clearInterval(this._headPollTimer)\n this._headPollTimer = null\n }\n }\n}\n","import { type Hash, isDefined } from '@xylabs/sdk-js'\nimport { type Payload, type WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockViewer, BlockViewerMethods, DataLakeViewer, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport { BlockViewerMoniker, DataLakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { addDataLakePayloads, addDataLakePayloadsToPayloads } from '@xyo-network/xl1-protocol-sdk'\n\nimport { BlockViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer, type JsonRpcViewerParams } from '../JsonRpcViewer.ts'\n\n/** JsonRpcBlockViewerMethods implementation. */\nexport class JsonRpcBlockViewerMethods<TParams extends JsonRpcViewerParams<BlockViewerRpcSchemas> = JsonRpcViewerParams<BlockViewerRpcSchemas>>\n extends AbstractJsonRpcViewer<BlockViewerRpcSchemas, TParams, BlockViewer['eventData']>\n implements BlockViewerMethods {\n readonly moniker = BlockViewerMoniker\n\n protected dataLakeViewer?: DataLakeViewer\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_blocksByHash',\n isDefined(limit) ? [hash, limit] : [hash],\n )\n return await Promise.all(result.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n async blocksByNumber(block: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_blocksByNumber',\n isDefined(limit) ? [block, limit] : [block],\n )\n return await Promise.all(result.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async createHandler() {\n await super.createHandler()\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n async currentBlock(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest(\n 'blockViewer_currentBlock',\n [],\n )\n return (await addDataLakePayloads(result, this.dataLakeViewer))[0]\n }\n\n async payloadsByHash(hashes: Hash[]): Promise<WithHashMeta<Payload>[]> {\n const result = await this.transport.sendRequest(\n 'blockViewer_payloadsByHash',\n [hashes],\n )\n return (await addDataLakePayloadsToPayloads(hashes, result, this.dataLakeViewer))[0]\n }\n\n protected schemas() {\n return BlockViewerRpcSchemas\n }\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport {\n FinalizationViewer,\n FinalizationViewerMoniker,\n SignedBlockBoundWitnessWithHashMeta,\n type XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcFinalizationViewerMethods } from './JsonRpcFinalizationViewerMethods.ts'\n\n/** JsonRpcFinalizationViewer implementation. */\n@creatableProvider()\nexport class JsonRpcFinalizationViewer extends JsonRpcFinalizationViewerMethods implements FinalizationViewer {\n static readonly defaultMoniker = FinalizationViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [FinalizationViewerMoniker]\n\n async chainId() {\n return (await this.headBlock()).chain\n }\n\n async headBlock(): Promise<SignedBlockBoundWitnessWithHashMeta> {\n return (await this.head())[0]\n }\n\n async headHash(): Promise<Hash> {\n return (await this.head())[0]._hash\n }\n\n async headNumber(): Promise<XL1BlockNumber> {\n return (await this.head())[0].block\n }\n}\n","import type { FinalizationViewerMethods, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'\nimport { FinalizationViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { FinalizationViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcFinalizationViewerMethods implementation. */\nexport class JsonRpcFinalizationViewerMethods extends AbstractJsonRpcViewer<FinalizationViewerRpcSchemas> implements FinalizationViewerMethods {\n readonly moniker = FinalizationViewerMoniker\n\n async head(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest(\n 'finalizationViewer_head',\n [],\n )\n return result\n }\n\n protected schemas() {\n return FinalizationViewerRpcSchemas\n }\n}\n","import { MempoolViewer, MempoolViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcMempoolViewerMethods } from './JsonRpcMempoolViewerMethods.ts'\n\n/** JsonRpcMempoolViewer implementation. */\n@creatableProvider()\nexport class JsonRpcMempoolViewer extends JsonRpcMempoolViewerMethods implements MempoolViewer {\n static readonly defaultMoniker = MempoolViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [MempoolViewerMoniker]\n}\n","import type {\n MempoolViewerMethods, PendingBlocksOptions, PendingTransactionsOptions, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-lib'\nimport { MempoolViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { MempoolViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcMempoolViewerMethods implementation. */\nexport class JsonRpcMempoolViewerMethods extends AbstractJsonRpcViewer<MempoolViewerRpcSchemas> implements MempoolViewerMethods {\n readonly moniker = MempoolViewerMoniker\n async pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'mempoolViewer_pendingBlocks',\n options ? [options] : [],\n )\n return result\n }\n\n async pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]> {\n const result = await this.transport.sendRequest(\n 'mempoolViewer_pendingTransactions',\n options ? [options] : [],\n )\n return result\n }\n\n protected schemas() {\n return MempoolViewerRpcSchemas\n }\n}\n","import {\n type NetworkStakeStepRewardsByPositionViewer, type NetworkStakeStepRewardsByStakerViewer, type NetworkStakeStepRewardsByStepViewer,\n type NetworkStakeStepRewardsTotalViewer, type NetworkStakeStepRewardsViewer,\n NetworkStakeStepRewardsViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport type { JsonRpcNetworkStakingStepRewardsViewerMethodsParams } from './JsonRpcNetworkStakeStepRewardsViewerMethods.ts'\nimport { JsonRpcNetworkStakeStepRewardsViewerMethods } from './JsonRpcNetworkStakeStepRewardsViewerMethods.ts'\n\n/** Parameters for JsonRpcNetworkStakeStepRewardsViewer. */\nexport interface JsonRpcNetworkStakeStepRewardsViewerParams extends JsonRpcNetworkStakingStepRewardsViewerMethodsParams {\n position?: NetworkStakeStepRewardsByPositionViewer\n staker?: NetworkStakeStepRewardsByStakerViewer\n step?: NetworkStakeStepRewardsByStepViewer\n total?: NetworkStakeStepRewardsTotalViewer\n}\n/** JsonRpcNetworkStakeStepRewardsViewer implementation. */\n@creatableProvider()\nexport class JsonRpcNetworkStakeStepRewardsViewer extends\n JsonRpcNetworkStakeStepRewardsViewerMethods<JsonRpcNetworkStakeStepRewardsViewerParams> implements NetworkStakeStepRewardsViewer {\n static readonly defaultMoniker = NetworkStakeStepRewardsViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [NetworkStakeStepRewardsViewerMoniker]\n\n get position(): NetworkStakeStepRewardsByPositionViewer | undefined {\n return this.params.position\n }\n\n get staker(): NetworkStakeStepRewardsByStakerViewer | undefined {\n return this.params.staker\n }\n\n get step(): NetworkStakeStepRewardsByStepViewer | undefined {\n return this.params.step\n }\n\n get total(): NetworkStakeStepRewardsTotalViewer | undefined {\n return this.params.total\n }\n}\n\n/** @deprecated use JsonRpcNetworkStakeStepRewardsViewer instead */\nexport class JsonRpcNetworkStakingStepRewardsViewer extends JsonRpcNetworkStakeStepRewardsViewer {}\n","import { type NetworkStakeStepRewardsViewerMethods, NetworkStakeStepRewardsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { NetworkStakingStepRewardsViewerRpcSchemas } from '../../../types/index.ts'\nimport type { JsonRpcViewerParams } from '../JsonRpcViewer.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** Parameters for JsonRpcNetworkStakingStepRewardsViewerMethods. */\nexport interface JsonRpcNetworkStakingStepRewardsViewerMethodsParams extends JsonRpcViewerParams<NetworkStakingStepRewardsViewerRpcSchemas> {}\n\n/** JsonRpcNetworkStakeStepRewardsViewerMethods implementation. */\nexport class JsonRpcNetworkStakeStepRewardsViewerMethods<TParams extends\nJsonRpcNetworkStakingStepRewardsViewerMethodsParams = JsonRpcNetworkStakingStepRewardsViewerMethodsParams> extends\n AbstractJsonRpcViewer<NetworkStakingStepRewardsViewerRpcSchemas, TParams> implements NetworkStakeStepRewardsViewerMethods {\n readonly moniker = NetworkStakeStepRewardsViewerMoniker\n protected schemas() {\n return NetworkStakingStepRewardsViewerRpcSchemas\n }\n}\n","import {\n type NetworkStakeStepRewardsViewer, NetworkStakeStepRewardsViewerMoniker, type NetworkStakeViewer, NetworkStakeViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport type { JsonRpcNetworkStakeStepRewardsViewer } from '../JsonRpcNetworkStakeStepRewardsViewer/index.ts'\nimport { JsonRpcNetworkStakeViewerMethods } from './JsonRpcNetworkStakeViewerMethods.ts'\n\n/** JsonRpcNetworkStakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcNetworkStakeViewer extends JsonRpcNetworkStakeViewerMethods implements NetworkStakeViewer {\n static readonly defaultMoniker = NetworkStakeViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [NetworkStakeViewerMoniker]\n\n protected _stepRewards?: NetworkStakeStepRewardsViewer\n\n get stepRewards(): NetworkStakeStepRewardsViewer {\n return this._stepRewards!\n }\n\n override async createHandler() {\n await super.createHandler()\n this._stepRewards = await this.locator.getInstance<JsonRpcNetworkStakeStepRewardsViewer>(NetworkStakeStepRewardsViewerMoniker)\n }\n}\n","import { type NetworkStakeViewerMethods, NetworkStakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { NetworkStakeViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcNetworkStakeViewerMethods implementation. */\nexport class JsonRpcNetworkStakeViewerMethods extends AbstractJsonRpcViewer<NetworkStakeViewerRpcSchemas> implements NetworkStakeViewerMethods {\n readonly moniker = NetworkStakeViewerMoniker\n async active(blockNumber?: number): Promise<[bigint, number]> {\n return (await this.transport.sendRequest('networkStakeViewer_active', [blockNumber]))\n }\n\n protected schemas() {\n return NetworkStakeViewerRpcSchemas\n }\n}\n","import { type StakeTotalsViewer, StakeTotalsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcStakeTotalsViewerMethods } from './JsonRpcStakeTotalsViewerMethods.ts'\n\n/** JsonRpcStakeTotalsViewer implementation. */\n@creatableProvider()\nexport class JsonRpcStakeTotalsViewer extends JsonRpcStakeTotalsViewerMethods implements StakeTotalsViewer {\n static readonly defaultMoniker = StakeTotalsViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [StakeTotalsViewerMoniker]\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport { type StakeTotalsViewerMethods, StakeTotalsViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { StakeTotalsViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcStakeTotalsViewerMethods implementation. */\nexport class JsonRpcStakeTotalsViewerMethods extends AbstractJsonRpcViewer<StakeTotalsViewerRpcSchemas> implements StakeTotalsViewerMethods {\n readonly moniker = StakeTotalsViewerMoniker\n\n async active(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_active', [time])\n }\n\n async activeByStaked(staked: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_activeByStaked', [staked, time])\n }\n\n async activeByStaker(address: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_activeByStaker', [address, time])\n }\n\n async pending(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_pending', [time])\n }\n\n async pendingByStaker(staker: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_pendingByStaker', [staker, time])\n }\n\n async withdrawn(time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_withdrawn', [time])\n }\n\n async withdrawnByStaker(staker: Address, time?: number): Promise<bigint> {\n return await this.transport.sendRequest('stakeTotalsViewer_withdrawnByStaker', [staker, time])\n }\n\n protected schemas() {\n return StakeTotalsViewerRpcSchemas\n }\n}\n","import { Promisable } from '@xylabs/sdk-js'\nimport {\n Position,\n StakeEventsViewer, StakeEventsViewerMoniker,\n StakeViewer,\n StakeViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcStakeViewerMethods } from './JsonRpcStakeViewerMethods.ts'\n\n/** JsonRpcStakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcStakeViewer extends JsonRpcStakeViewerMethods implements StakeViewer {\n static readonly defaultMoniker = StakeViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [StakeViewerMoniker]\n\n protected _stakeEvents!: StakeEventsViewer\n\n get stakeEvents() {\n return this._stakeEvents\n }\n\n activeStakes(): Promisable<Position[]> {\n return []\n }\n\n override async createHandler() {\n await super.createHandler()\n this._stakeEvents = await this.locator.getInstance<StakeEventsViewer>(StakeEventsViewerMoniker)\n }\n\n removedStakes(): Promisable<Position[]> {\n return []\n }\n\n withdrawnStakes(): Promisable<Position[]> {\n return []\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type { StakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\nimport { StakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { StakeViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcStakeViewerMethods implementation. */\nexport class JsonRpcStakeViewerMethods extends AbstractJsonRpcViewer<StakeViewerRpcSchemas> implements StakeViewerMethods {\n readonly moniker = StakeViewerMoniker\n\n async minWithdrawalBlocks() {\n return await this.transport.sendRequest('stakeViewer_minWithdrawalBlocks', [])\n }\n\n async rewardsContract() {\n return await this.transport.sendRequest('stakeViewer_rewardsContract', [])\n }\n\n async stakeById(id: number) {\n return await this.transport.sendRequest('stakeViewer_stakeById', [id])\n }\n\n async stakeByStaker(staker: Address, slot: number) {\n return await this.transport.sendRequest('stakeViewer_stakeByStaker', [staker, slot])\n }\n\n async stakesByStaked(staked: Address) {\n return await this.transport.sendRequest('stakeViewer_stakesByStaked', [staked])\n }\n\n async stakesByStaker(staker: Address) {\n return await this.transport.sendRequest('stakeViewer_stakesByStaker', [staker])\n }\n\n async stakingTokenAddress() {\n return await this.transport.sendRequest('stakeViewer_stakingTokenAddress', [])\n }\n\n protected schemas() {\n return StakeViewerRpcSchemas\n }\n}\n","import { type TimeSyncViewer, TimeSyncViewerMoniker } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcTimeSyncViewerMethods } from './JsonRpcTimeSyncViewerMethods.ts'\n\n/** JsonRpcTimeSyncViewer implementation. */\n@creatableProvider()\nexport class JsonRpcTimeSyncViewer extends JsonRpcTimeSyncViewerMethods implements TimeSyncViewer {\n static readonly defaultMoniker = TimeSyncViewerMoniker\n static readonly dependencies = []\n static readonly monikers = [TimeSyncViewerMoniker]\n}\n","import type {\n TimeDomain,\n TimePayload, TimeSyncViewerMethods,\n} from '@xyo-network/xl1-protocol-lib'\nimport { TimeSyncViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { TimeSyncViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../JsonRpcViewer.ts'\n\n/** JsonRpcTimeSyncViewerMethods implementation. */\nexport class JsonRpcTimeSyncViewerMethods extends AbstractJsonRpcViewer<TimeSyncViewerRpcSchemas>implements TimeSyncViewerMethods {\n readonly moniker = TimeSyncViewerMoniker\n\n async convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promise<number> {\n return await this.transport.sendRequest('timeSyncViewer_convertTime', [fromDomain, toDomain, from])\n }\n\n async currentTime(domain: TimeDomain): Promise<[string, number]> {\n return await this.transport.sendRequest('timeSyncViewer_currentTime', [domain])\n }\n\n async currentTimeAndHash(domain: TimeDomain): Promise<[number, string | null]> {\n return await this.transport.sendRequest('timeSyncViewer_currentTimeAndHash', [domain])\n }\n\n async currentTimePayload(): Promise<TimePayload> {\n return await this.transport.sendRequest('timeSyncViewer_currentTimePayload', [])\n }\n\n protected schemas() {\n return TimeSyncViewerRpcSchemas\n }\n}\n","import {\n assertEx, exists, type Hash,\n} from '@xylabs/sdk-js'\nimport { BoundWitnessSchema } from '@xyo-network/sdk-js'\nimport type {\n BlockViewer, DataLakeViewer, TransactionViewer, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n BlockViewerMoniker, DataLakeViewerMoniker, isTransactionBoundWitnessWithHashMeta, TransactionViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { addDataLakePayloads, creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { TransactionViewerRpcSchemas } from '../../../types/index.ts'\nimport { AbstractJsonRpcViewer, JsonRpcViewerParams } from '../JsonRpcViewer.ts'\n\n/** Parameters for JsonRpcTransactionViewer. */\nexport interface JsonRpcTransactionViewerParams extends JsonRpcViewerParams<typeof TransactionViewerRpcSchemas> {}\n\n/** JsonRpcTransactionViewer implementation. */\n@creatableProvider()\nexport class JsonRpcTransactionViewer extends AbstractJsonRpcViewer<TransactionViewerRpcSchemas, JsonRpcTransactionViewerParams> implements TransactionViewer {\n static readonly defaultMoniker = TransactionViewerMoniker\n\n static readonly dependencies = [\n BlockViewerMoniker,\n ]\n\n static readonly monikers = [TransactionViewerMoniker]\n\n moniker = JsonRpcTransactionViewer.defaultMoniker\n\n protected dataLakeViewer?: DataLakeViewer\n\n private _blockViewer?: BlockViewer\n\n protected get blockViewer() {\n return this._blockViewer!\n }\n\n async byBlockHashAndIndex(blockHash: Hash, transactionIndex: number) {\n return await this.spanAsync('byBlockHashAndIndex', async () => {\n assertEx(transactionIndex >= 0, () => 'transactionIndex must be greater than or equal to 0')\n try {\n const block = await this.blockViewer.blockByHash(blockHash)\n if (!block) return null\n const blockBoundWitnessIndexes = block[0].payload_schemas.map((schema, index) => schema === BoundWitnessSchema ? index : undefined).filter(exists)\n const blockBoundWitnessHashes = new Set(blockBoundWitnessIndexes.map(index => block[0].payload_hashes[index]))\n const blockBoundWitnesses = block[1].filter(payload => blockBoundWitnessHashes.has(payload._hash) || blockBoundWitnessHashes.has(payload._dataHash))\n const blockTransactionBoundWitnesses = blockBoundWitnesses.filter(isTransactionBoundWitnessWithHashMeta)\n const transaction = blockTransactionBoundWitnesses.at(transactionIndex)\n if (!transaction) return null\n return await this.byHash(transaction._hash)\n } catch {\n return null\n }\n }, this.context)\n }\n\n async byBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex: number) {\n return await this.spanAsync('transactionByBlockNumberAndIndex', async () => {\n try {\n const block = await this.blockViewer.blockByNumber(blockNumber)\n if (!block) return null\n return await this.byBlockHashAndIndex(block[0]._hash, transactionIndex)\n } catch {\n return null\n }\n }, this.context)\n }\n\n async byHash(transactionHash: Hash) {\n const result = (await this.transport.sendRequest('transactionViewer_byHash', [transactionHash]))\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n override async createHandler() {\n await super.createHandler()\n this._blockViewer = await this.locator.getInstance<BlockViewer>(BlockViewerMoniker)\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n async transactionByHash(transactionHash: Hash) {\n const result = await this.transport.sendRequest('transactionViewer_transactionByHash', [transactionHash])\n return result ? (await addDataLakePayloads(result, this.dataLakeViewer))[0] : null\n }\n\n protected schemas() {\n return TransactionViewerRpcSchemas\n }\n}\n","import {\n type Address, assertEx, type Hash, isUndefined,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n AccountBalanceHistoryItem,\n AccountBalanceViewer,\n AttoXL1,\n BlockRate,\n BlockViewer,\n ChainId,\n ChainQualifiedConfig,\n FinalizationViewer,\n ForkHistory,\n HydratedBlock,\n MempoolViewer,\n NetworkStakeViewer, Position,\n Provider,\n ProviderMoniker,\n SignedHydratedBlockWithHashMeta,\n SignedHydratedTransaction,\n SingleTimeConfig,\n StakeViewer,\n StepIdentity,\n StepViewer,\n TimeDurations,\n TimeSyncViewer,\n TransactionViewer,\n XL1BlockNumber,\n XL1BlockRange,\n XyoViewer,\n XyoViewerV2,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n AccountBalanceViewerMoniker, BlockViewerMoniker, FinalizationViewerMoniker, isSignedHydratedBlock, isSignedHydratedBlockWithHashMeta,\n MempoolViewerMoniker,\n NetworkStakeViewerMoniker, StakeViewerMoniker, StepViewerMoniker, TimeSyncViewerMoniker,\n TransactionViewerMoniker,\n XyoViewerMoniker,\n} from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { XyoViewerRpcSchemas } from '../../types/index.ts'\nimport type { JsonRpcViewerParams } from './JsonRpcViewer.ts'\nimport { AbstractJsonRpcViewer } from './JsonRpcViewer.ts'\n\n// TODO: remove after back compat need is done\nasync function fixSignedHydratedBlockWithHashMeta(block: HydratedBlock): Promise<SignedHydratedBlockWithHashMeta> {\n if (isSignedHydratedBlockWithHashMeta(block)) {\n return block\n }\n if (isSignedHydratedBlock(block)) {\n return [await PayloadBuilder.addHashMeta(block[0]), await PayloadBuilder.addHashMeta(block[1])]\n }\n throw new Error('Invalid block format')\n}\n\n/** Parameters for JsonRpcXyoViewer. */\nexport interface JsonRpcXyoViewerParams extends JsonRpcViewerParams<typeof XyoViewerRpcSchemas> {\n networkStakeViewer?: NetworkStakeViewer\n}\n\n/** JsonRpcXyoViewerProviders interface. */\nexport interface JsonRpcXyoViewerProviders extends Record<typeof JsonRpcXyoViewer.dependencies[number], Provider<ProviderMoniker>> {\n [AccountBalanceViewerMoniker]: AccountBalanceViewer\n [BlockViewerMoniker]: BlockViewer\n [FinalizationViewerMoniker]: FinalizationViewer\n [MempoolViewerMoniker]: MempoolViewer\n [NetworkStakeViewerMoniker]: NetworkStakeViewer\n [StakeViewerMoniker]: StakeViewer\n [StepViewerMoniker]: StepViewer\n [TimeSyncViewerMoniker]: TimeSyncViewer\n [TransactionViewerMoniker]: TransactionViewer\n}\n\n/** JsonRpcXyoViewer implementation. */\n@creatableProvider()\nexport class JsonRpcXyoViewer extends AbstractJsonRpcViewer<XyoViewerRpcSchemas, JsonRpcXyoViewerParams, XyoViewer['eventData']>\n implements XyoViewer, XyoViewerV2 {\n static readonly defaultMoniker = XyoViewerMoniker\n\n static readonly dependencies = [\n AccountBalanceViewerMoniker,\n BlockViewerMoniker,\n FinalizationViewerMoniker,\n MempoolViewerMoniker,\n NetworkStakeViewerMoniker,\n StakeViewerMoniker,\n StepViewerMoniker,\n TimeSyncViewerMoniker,\n TransactionViewerMoniker,\n ]\n\n static readonly monikers = [XyoViewerMoniker]\n\n moniker = JsonRpcXyoViewer.defaultMoniker\n\n protected _chainId?: ChainId\n\n private _providers: JsonRpcXyoViewerProviders | undefined = undefined\n\n get account() {\n return { balance: assertEx(this.providers?.[AccountBalanceViewerMoniker], () => `AccountBalanceViewer provider not found for ${this.moniker}`) }\n }\n\n get block() {\n return assertEx(this.providers?.[BlockViewerMoniker], () => `BlockViewer provider not found for ${this.moniker}`)\n }\n\n get finalization() {\n return assertEx(this.providers?.[FinalizationViewerMoniker], () => `FinalizationViewer provider not found for ${this.moniker}`)\n }\n\n get mempool() {\n return assertEx(this.providers?.[MempoolViewerMoniker], () => `MempoolViewer provider not found for ${this.moniker}`)\n }\n\n get networkStake() {\n return assertEx(this.providers?.[NetworkStakeViewerMoniker], () => `NetworkStakeViewer provider not found for ${this.moniker}`)\n }\n\n get stake() {\n return assertEx(this.providers?.[StakeViewerMoniker], () => `StakeViewer provider not found for ${this.moniker}`)\n }\n\n get step() {\n return assertEx(this.providers?.[StepViewerMoniker], () => `StepViewer provider not found for ${this.moniker}`)\n }\n\n get time() {\n return assertEx(this.providers?.[TimeSyncViewerMoniker], () => `TimeSyncViewer provider not found for ${this.moniker}`)\n }\n\n get transaction() {\n return assertEx(this.providers?.[TransactionViewerMoniker], () => `TransactionViewer provider not found for ${this.moniker}`)\n }\n\n protected get providers() {\n return this._providers\n }\n\n async accountBalance(address: Address, config: ChainQualifiedConfig = {}): Promise<AttoXL1> {\n return (await this.account.balance.accountBalance(address, config))\n }\n\n async accountBalanceHistory(address: Address, config: ChainQualifiedConfig = {}): Promise<AccountBalanceHistoryItem[]> {\n return (await this.account.balance.accountBalanceHistory(address, config))\n }\n\n async blockByHash(hash: Hash): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByHash(hash, 1))[0]\n }\n\n async blockByNumber(blockNumber: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null> {\n return (await this.blocksByNumber(blockNumber, 1))[0]\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n return await Promise.all((await this.transport.sendRequest(\n 'xyoViewer_blocksByHash',\n [hash, limit],\n )).map(b => fixSignedHydratedBlockWithHashMeta(b)))\n }\n\n async blocksByNumber(blockNumber: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n return await Promise.all((await this.transport.sendRequest(\n 'xyoViewer_blocksByNumber',\n [blockNumber, limit],\n )).map(b => fixSignedHydratedBlockWithHashMeta(b)))\n }\n\n async chainId(blockNumber: XL1BlockNumber | 'latest' = 'latest'): Promise<ChainId> {\n const block = blockNumber === 'latest' ? await this.currentBlock() : await this.blockByNumber(blockNumber)\n if (!block) {\n throw new Error(`Block not found: ${blockNumber}`)\n }\n return block[0].chain\n }\n\n override async createHandler() {\n await super.createHandler()\n this._providers = {\n [AccountBalanceViewerMoniker]: await this.locator.getInstance<AccountBalanceViewer>(AccountBalanceViewerMoniker),\n [BlockViewerMoniker]: await this.locator.getInstance<BlockViewer>(BlockViewerMoniker),\n [FinalizationViewerMoniker]: await this.locator.getInstance<FinalizationViewer>(FinalizationViewerMoniker),\n [MempoolViewerMoniker]: await this.locator.getInstance<MempoolViewer>(MempoolViewerMoniker),\n [StakeViewerMoniker]: await this.locator.getInstance<StakeViewer>(StakeViewerMoniker),\n [StepViewerMoniker]: await this.locator.getInstance<StepViewer>(StepViewerMoniker),\n [NetworkStakeViewerMoniker]: await this.locator.getInstance<NetworkStakeViewer>(NetworkStakeViewerMoniker),\n [TimeSyncViewerMoniker]: await this.locator.getInstance<TimeSyncViewer>(TimeSyncViewerMoniker),\n [TransactionViewerMoniker]: await this.locator.getInstance<TransactionViewer>(TransactionViewerMoniker),\n }\n\n for (const [moniker, provider] of Object.entries(assertEx(this._providers, () => 'Failed to initialize JsonRpcXyoViewer: providers not found'))) {\n if (isUndefined(provider)) {\n throw new Error(`Failed to initialize JsonRpcXyoViewer: missing provider dependency for ${moniker}`)\n }\n }\n }\n\n async currentBlock(): Promise<SignedHydratedBlockWithHashMeta> {\n const result = await this.transport.sendRequest('xyoViewer_currentBlock')\n return fixSignedHydratedBlockWithHashMeta(result)\n }\n\n async currentBlockHash(): Promise<Hash> {\n return (await this.currentBlock())[0]._hash\n }\n\n async currentBlockNumber(): Promise<XL1BlockNumber> {\n return (await this.currentBlock())[0].block\n }\n\n async forkHistory(): Promise<ForkHistory> {\n return (await this.transport.sendRequest('xyoViewer_forkHistory'))\n }\n\n async networkStakeStepRewardAddressHistory(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressHistory', [address]))\n }\n\n async networkStakeStepRewardAddressReward(context: StepIdentity, address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressReward', [context, address]))\n }\n\n async networkStakeStepRewardAddressShare(context: StepIdentity, address: Address): Promise<[bigint, bigint]> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardAddressShare', [context, address]))\n }\n\n async networkStakeStepRewardClaimedByAddress(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardClaimedByAddress', [address]))\n }\n\n async networkStakeStepRewardForPosition(position: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForPosition', [position, range]))\n }\n\n async networkStakeStepRewardForStep(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForStep', [context]))\n }\n\n async networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardForStepForPosition', [context, position]))\n }\n\n async networkStakeStepRewardPoolRewards(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPoolRewards', [context]))\n }\n\n async networkStakeStepRewardPoolShares(context: StepIdentity): Promise<Record<Address, bigint>> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPoolShares', [context]))\n }\n\n async networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promise<bigint> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPositionWeight', [context, position]))\n }\n\n async networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardPotentialPositionLoss', [context, position]))\n }\n\n async networkStakeStepRewardRandomizer(context: StepIdentity) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardRandomizer', [context]))\n }\n\n async networkStakeStepRewardStakerCount(context: StepIdentity): Promise<number> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardStakerCount', [context]))\n }\n\n async networkStakeStepRewardUnclaimedByAddress(address: Address) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardUnclaimedByAddress', [address]))\n }\n\n async networkStakeStepRewardWeightForAddress(context: StepIdentity, address: Address): Promise<bigint> {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardWeightForAddress', [context, address]))\n }\n\n async networkStakeStepRewardsForPosition(position: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForPosition', [position, range]))\n }\n\n async networkStakeStepRewardsForRange(range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForRange', [range]))\n }\n\n async networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]) {\n return (await this.transport.sendRequest('xyoViewer_networkStakeStepRewardsForStepLevel', [stepLevel, range]))\n }\n\n async payloadByHash(hash: Hash) {\n return (await this.payloadsByHash([hash]))[0] ?? null\n }\n\n async payloadsByHash(hashes: Hash[]) {\n return await PayloadBuilder.addHashMeta(await this.transport.sendRequest(\n 'xyoViewer_payloadsByHash',\n [hashes],\n ))\n }\n\n async rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await this.block.rate(range, timeUnit)\n }\n\n async stakeById(id: number): Promise<Position> {\n return (await this.transport.sendRequest('xyoViewer_stakeById', [id]))\n }\n\n async stakeByStaker(staker: Address, slot: number): Promise<Position> {\n return (await this.transport.sendRequest('xyoViewer_stakeByStaker', [staker, slot]))\n }\n\n async stakesByStaked(staked: Address): Promise<Position[]> {\n return (await this.transport.sendRequest('xyoViewer_stakesByStaked', [staked]))\n }\n\n async stakesByStaker(staker: Address): Promise<Position[]> {\n return (await this.transport.sendRequest('xyoViewer_stakesByStaker', [staker]))\n }\n\n async stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promise<BlockRate> {\n return await this.block.stepSizeRate(start, stepIndex, count, timeUnit)\n }\n\n async timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promise<BlockRate> {\n return await this.block.timeDurationRate(timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts)\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 protected schemas() {\n return XyoViewerRpcSchemas\n }\n}\n","import type { ProviderDescriptor, ResolutionContext } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcMempoolRunner, JsonRpcXyoRunner } from './provider/runner/index.ts'\nimport {\n JsonRpcAccountBalanceViewer,\n JsonRpcBlockViewer,\n JsonRpcFinalizationViewer,\n JsonRpcMempoolViewer,\n JsonRpcNetworkStakeStepRewardsViewer,\n JsonRpcNetworkStakeViewer,\n JsonRpcStakeTotalsViewer,\n JsonRpcStakeViewer,\n JsonRpcTimeSyncViewer,\n JsonRpcTransactionViewer,\n JsonRpcXyoViewer,\n} from './provider/viewer/index.ts'\n\nconst passes = (): boolean => true\n\n/**\n * Tier-3 descriptors for `JsonRpc*` providers shipped by `@xyo-network/xl1-rpc`.\n *\n * Each descriptor declares `backings: [{ network, read }]` — they need a\n * JSON-RPC transport to a remote actor (typically the API actor) but no local\n * backing-store access. They are eligible to be resolved in any locator whose\n * `availableBackings` includes `{ network, read }`.\n *\n * Surface assignments follow the litmus test\n * \"point queries → node, cross-key/aggregate → indexed\":\n * - Node-surface viewers (point queries on canonical state).\n * - Indexed-surface viewers (cross-key reverse indexes / aggregations).\n *\n * Importable in two ways:\n * - The full pool: `networkTier3Descriptors`.\n * - Filtered by surface: `nodeNetworkDescriptors` / `indexedNetworkDescriptors`.\n *\n * Consumers (xyo-chain orchestration, browser/dApp gateways) merge this pool\n * with their tier-1/local descriptors and hand the union to `resolveProviders`.\n */\nexport const nodeNetworkDescriptors: readonly ProviderDescriptor<ResolutionContext>[] = [\n {\n id: 'JsonRpcBlockViewer',\n satisfies: [JsonRpcBlockViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcBlockViewer.factory<JsonRpcBlockViewer>(JsonRpcBlockViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcMempoolViewer',\n satisfies: [JsonRpcMempoolViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcMempoolViewer.factory<JsonRpcMempoolViewer>(JsonRpcMempoolViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcMempoolRunner',\n satisfies: [JsonRpcMempoolRunner.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcMempoolRunner.factory<JsonRpcMempoolRunner>(JsonRpcMempoolRunner.dependencies, {}),\n },\n {\n id: 'JsonRpcFinalizationViewer',\n satisfies: [JsonRpcFinalizationViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcFinalizationViewer.factory<JsonRpcFinalizationViewer>(JsonRpcFinalizationViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcAccountBalanceViewer',\n satisfies: [JsonRpcAccountBalanceViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n // AccountBalanceViewer is a point query (`f(address) → balance`) — node-surface,\n // even though indexer-backed today on the producer side.\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcAccountBalanceViewer.factory<JsonRpcAccountBalanceViewer>(JsonRpcAccountBalanceViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcTransactionViewer',\n satisfies: [JsonRpcTransactionViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcTransactionViewer.factory<JsonRpcTransactionViewer>(JsonRpcTransactionViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcTimeSyncViewer',\n satisfies: [JsonRpcTimeSyncViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcTimeSyncViewer.factory<JsonRpcTimeSyncViewer>(JsonRpcTimeSyncViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcXyoViewer',\n satisfies: [JsonRpcXyoViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcXyoViewer.factory<JsonRpcXyoViewer>(JsonRpcXyoViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcXyoRunner',\n satisfies: [JsonRpcXyoRunner.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcXyoRunner.factory<JsonRpcXyoRunner>(JsonRpcXyoRunner.dependencies, {}),\n },\n {\n // StakeTotalsViewer.activeByStaked(addr) is a point query keyed by address — node-surface.\n id: 'JsonRpcStakeTotalsViewer',\n satisfies: [JsonRpcStakeTotalsViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'node',\n preconditions: passes,\n build: () => JsonRpcStakeTotalsViewer.factory<JsonRpcStakeTotalsViewer>(JsonRpcStakeTotalsViewer.dependencies, {}),\n },\n]\n\nexport const indexedNetworkDescriptors: readonly ProviderDescriptor<ResolutionContext>[] = [\n {\n id: 'JsonRpcStakeViewer',\n satisfies: [JsonRpcStakeViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n // StakeViewer.stakesByStaker(addr) / stakesByStaked() are cross-key reverse indexes — indexed.\n surface: 'indexed',\n preconditions: passes,\n build: () => JsonRpcStakeViewer.factory<JsonRpcStakeViewer>(JsonRpcStakeViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcNetworkStakeViewer',\n satisfies: [JsonRpcNetworkStakeViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'indexed',\n preconditions: passes,\n build: () => JsonRpcNetworkStakeViewer.factory<JsonRpcNetworkStakeViewer>(JsonRpcNetworkStakeViewer.dependencies, {}),\n },\n {\n id: 'JsonRpcNetworkStakeStepRewardsViewer',\n satisfies: [JsonRpcNetworkStakeStepRewardsViewer.defaultMoniker],\n tier: 3,\n backings: [{ backing: 'network', mode: 'read' }],\n surface: 'indexed',\n preconditions: passes,\n build: () => JsonRpcNetworkStakeStepRewardsViewer.factory<JsonRpcNetworkStakeStepRewardsViewer>(JsonRpcNetworkStakeStepRewardsViewer.dependencies, {}),\n },\n]\n\n/** All tier-3 JsonRpc descriptors, both node and indexed surfaces. */\nexport const networkTier3Descriptors: readonly ProviderDescriptor<ResolutionContext>[] = [\n ...nodeNetworkDescriptors,\n ...indexedNetworkDescriptors,\n]\n","import { DataLakeViewer } from '@xyo-network/xl1-protocol-lib'\nimport { creatableProvider } from '@xyo-network/xl1-protocol-sdk'\n\nimport { JsonRpcDataLakeViewerMethods } from './JsonRpcDataLakeViewerMethods.ts'\n\n/** JsonRpcDataLakeViewer implementation. */\n@creatableProvider()\nexport class JsonRpcDataLakeViewer extends JsonRpcDataLakeViewerMethods implements DataLakeViewer {\n static readonly dependencies = []\n}\n","import type { Hash, PromisableArray } from '@xylabs/sdk-js'\nimport type { NextOptions, Sequence } from '@xyo-network/sdk-js'\nimport type { DataLakeData, DataLakeViewerMethods } from '@xyo-network/xl1-protocol-lib'\nimport { DataLakeViewerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { DataLakeViewerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcViewer } from '../viewer/index.ts'\n\n/** JsonRpcDataLakeViewerMethods implementation. */\nexport class JsonRpcDataLakeViewerMethods extends AbstractJsonRpcViewer<DataLakeViewerRpcSchemas> implements DataLakeViewerMethods {\n static readonly defaultMoniker = DataLakeViewerMoniker\n static readonly monikers = [DataLakeViewerMoniker]\n moniker = JsonRpcDataLakeViewerMethods.defaultMoniker\n\n get(_hashes: Hash[]): PromisableArray<DataLakeData> {\n throw new Error('Method [get] not implemented.')\n }\n\n next(_options?: NextOptions<Sequence>): PromisableArray<DataLakeData> {\n throw new Error('Method [next] not implemented.')\n }\n\n protected schemas() {\n return DataLakeViewerRpcSchemas\n }\n}\n","import type {\n InvokerPermission,\n PermissionRequest,\n RequestedPermission,\n XyoPermissions,\n} from '@xyo-network/xl1-protocol-lib'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoPermissionsRpcSchemas } from '../../types/index.ts'\n\n/** RpcXyoPermissions implementation. */\nexport class RpcXyoPermissions implements XyoPermissions {\n protected readonly transport: RpcTransport<typeof XyoPermissionsRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoPermissionsRpcSchemas>) {\n this.transport = transport\n }\n\n async getPermissions(): Promise<InvokerPermission[]> {\n return await this.transport.sendRequest('xyoPermissions_getPermissions', [])\n }\n\n async requestPermissions(permissions: PermissionRequest[]): Promise<RequestedPermission[]> {\n return await this.transport.sendRequest('xyoPermissions_requestPermissions', [permissions])\n }\n\n async revokePermissions(_permissions: PermissionRequest): Promise<RequestedPermission[]> {\n await Promise.resolve()\n throw new Error('Method [revokePermissions] not implemented.')\n }\n}\n","import { type XyoSigner, XyoSignerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { JsonRpcXyoSignerMethods } from './JsonRpcXyoSignerMethods.ts'\n\n/** JsonRpcXyoSigner implementation. */\nexport class JsonRpcXyoSigner extends JsonRpcXyoSignerMethods implements XyoSigner {\n static readonly defaultMoniker = XyoSignerMoniker\n static readonly dependencies = []\n static readonly monikers = [XyoSignerMoniker]\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport type {\n SignedHydratedTransactionWithHashMeta,\n UnsignedHydratedTransaction, XyoSignerMethods,\n} from '@xyo-network/xl1-protocol-lib'\nimport { XyoSignerMoniker } from '@xyo-network/xl1-protocol-lib'\n\nimport { XyoSignerRpcSchemas } from '../../types/index.ts'\nimport { AbstractJsonRpcRunner } from '../runner/index.ts'\n\n/** JsonRpcXyoSignerMethods implementation. */\nexport class JsonRpcXyoSignerMethods extends AbstractJsonRpcRunner<typeof XyoSignerRpcSchemas> implements XyoSignerMethods {\n readonly moniker = XyoSignerMoniker\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async signTransaction(tx: UnsignedHydratedTransaction): Promise<SignedHydratedTransactionWithHashMeta> {\n return await this.transport.sendRequest('xyoSigner_signTransaction', [tx])\n }\n\n protected schemas() {\n return XyoSignerRpcSchemas\n }\n}\n"],"mappings":"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","names":["z","HashZod","PayloadZod","z","SignedHydratedBlockWithHashMetaZod","z","HashZod","z","SignedHydratedBlockWithHashMetaZod","z","BigIntToJsonZod","JsonToBigIntZod","z","BigIntToJsonZod","JsonToBigIntZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","RewardsRangeOptionsZod","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","asAttoXL1","z","AddressZod","z","z","z","AddressZod","BigIntToJsonZod","JsonToBigIntZod","JsonToStakeZod","StakeToJsonZod","z","z","HashZod","SignedHydratedTransactionWithHashMetaZod","z","z","SignedHydratedTransactionZod","z","AddressZod","SignedHydratedTransactionWithHashMetaZod","z","AddressZod","BigIntToJsonZod","HashZod","JsonToBigIntZod","AccountBalanceHistoryItemZod","asAttoXL1","JsonToStakeZod","SignedHydratedBlockWithHashMetaZod","SignedHydratedTransactionZod","StakeToJsonZod","StepIdentityZod","XL1BlockNumberZod","z","z","z","z","z","MempoolRunnerMoniker","z","z","JsonRpcServer","v4","JsonRpcServer","v4","isDefined","isDefined","isDefined","isDefined","v4","v4","isDefined","MempoolRunnerMoniker","MempoolRunnerMoniker","creatableProvider","MempoolRunnerMoniker","creatableProvider","AccountBalanceViewerMoniker","creatableProvider","AbstractCreatableProvider","HttpRpcRemoteConfigZod","PostMessageRpcRemoteConfigZod","AbstractCreatableProvider","HttpRpcRemoteConfigZod","PostMessageRpcRemoteConfigZod","AccountBalanceViewerMoniker","creatableProvider","assertEx","BlockViewerMoniker","creatableProvider","isDefined","isDefined","block","assertEx","BlockViewerMoniker","creatableProvider","FinalizationViewerMoniker","creatableProvider","FinalizationViewerMoniker","creatableProvider","MempoolViewerMoniker","creatableProvider","MempoolViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","NetworkStakeViewerMoniker","creatableProvider","NetworkStakeStepRewardsViewerMoniker","NetworkStakeViewerMoniker","creatableProvider","StakeTotalsViewerMoniker","creatableProvider","StakeTotalsViewerMoniker","creatableProvider","StakeViewerMoniker","creatableProvider","StakeViewerMoniker","creatableProvider","TimeSyncViewerMoniker","creatableProvider","TimeSyncViewerMoniker","creatableProvider","assertEx","BlockViewerMoniker","DataLakeViewerMoniker","addDataLakePayloads","creatableProvider","assertEx","addDataLakePayloads","BlockViewerMoniker","DataLakeViewerMoniker","creatableProvider","assertEx","AccountBalanceViewerMoniker","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","NetworkStakeViewerMoniker","StakeViewerMoniker","TimeSyncViewerMoniker","TransactionViewerMoniker","creatableProvider","assertEx","AccountBalanceViewerMoniker","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","NetworkStakeViewerMoniker","StakeViewerMoniker","TimeSyncViewerMoniker","TransactionViewerMoniker","creatableProvider","creatableProvider","DataLakeViewerMoniker","DataLakeViewerMoniker","creatableProvider","XyoSignerMoniker","XyoSignerMoniker"]}