@xyo-network/xl1-rpc 1.10.1 → 1.11.0

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.
@@ -1048,15 +1048,17 @@ var RpcXyoSigner = class {
1048
1048
  from
1049
1049
  ]);
1050
1050
  }
1051
- signTransaction(_tx) {
1052
- throw new Error("Method not implemented.");
1051
+ async signTransaction(tx) {
1052
+ return await this.transport.sendRequest("xyoSigner_signTransaction", [
1053
+ tx
1054
+ ]);
1053
1055
  }
1054
1056
  };
1055
1057
  var JsonRpcXyoSigner = class extends RpcXyoSigner {
1056
1058
  };
1057
1059
 
1058
1060
  // src/provider/signer/MemoryXyoSigner.ts
1059
- import { buildTransaction } from "@xyo-network/xl1-protocol-sdk";
1061
+ import { buildTransaction, signTransaction } from "@xyo-network/xl1-protocol-sdk";
1060
1062
  var MemoryXyoSigner = class {
1061
1063
  _account;
1062
1064
  constructor(account) {
@@ -1079,8 +1081,9 @@ var MemoryXyoSigner = class {
1079
1081
  );
1080
1082
  return transaction[0];
1081
1083
  }
1082
- signTransaction(_tx) {
1083
- throw new Error("Method not implemented.");
1084
+ async signTransaction(tx) {
1085
+ const txBW = await signTransaction(tx[0], this._account);
1086
+ return [txBW, tx[1]];
1084
1087
  }
1085
1088
  };
1086
1089
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/engine/requestSchemas.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromProvider.ts","../../src/provider/client/MemoryXyoClient.ts","../../src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts","../../src/provider/client/PermissionsStore/MemoryPermissionsStore.ts","../../src/provider/connection/HttpRpcXyoConnection.ts","../../src/transport/HttpRpcTransport.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/types/schema/XyoGatewayRpcSchemas.ts","../../src/transport/MemoryRpcTransport.ts","../../src/transport/post-message/LegacyPostMessageRpcTransport.ts","../../src/transport/post-message/helpers.ts","../../src/transport/post-message/resolveData.ts","../../src/transport/post-message/SessionEnvelope.ts","../../src/provider/datalake/AbstractXyoDataLake.ts","../../src/provider/datalake/ArchivistXyoDataLake.ts","../../src/provider/datalake/HttpXyoDataLake.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/connection/XyoConnection.ts","../../src/provider/gateway/Abstract.ts","../../src/provider/gateway/MemoryXyoGateway.ts","../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts"],"sourcesContent":["import type { AnyZodObject } from 'zod'\n\nexport const requestSchemas: Record<string, AnyZodObject | undefined> = {}\n","import type { XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromSigner = (signer: XyoSigner): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_createSignedTransaction: params => signer.createSignedTransaction(...(params ?? [])),\n xyoSigner_signTransaction: params => signer.signTransaction(...(params ?? [])),\n }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_accountBalance: params => viewer.accountBalance(...(params ?? [])),\n xyoViewer_accountHistory: params => viewer.accountHistory(...(params ?? [])),\n xyoViewer_blockByHash: params => viewer.blockByHash(...(params ?? [])),\n xyoViewer_blockByNumber: params => viewer.blockByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_chainId: params => viewer.chainId(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_currentBlockHash: params => viewer.currentBlockHash(...(params ?? [])),\n xyoViewer_currentBlockNumber: params => viewer.currentBlockNumber(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transactionByBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transactionByBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transactionByHash(...(params ?? [])),\n }\n}\n","import type { XyoConnectionProvider } from '@xyo-network/xl1-protocol'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromSigner } from './rpcMethodHandlersFromSigner.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\n\nexport const rpcMethodHandlersFromProvider = (provider: XyoConnectionProvider): XyoProviderRpcMethodHandlers => {\n const {\n runner, signer, viewer,\n } = provider\n let result: XyoProviderRpcMethodHandlers = { xyoProvider_send: params => (provider as Required<XyoConnectionProvider>).send(...(params ?? [])) }\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (signer) result = { ...result, ...rpcMethodHandlersFromSigner(signer) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n return result\n}\n","import type {\n PermissionsProvider, XyoClient, XyoGatewayProvider,\n} from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoClient implements XyoClient {\n gateways: Readonly<Record<string, XyoGatewayProvider>>\n permissions: PermissionsProvider\n\n constructor(gateways: Readonly<Record<string, XyoGatewayProvider>>, permissions: PermissionsProvider) {\n this.gateways = gateways\n this.permissions = permissions\n }\n}\n","import { type RpcTransport } from '../../../transport/index.ts'\nimport type { XyoGatewayRpcSchemas } from '../../../types/index.ts'\nimport type { PermissionsStore } from './PermissionsStore.ts'\n\nexport const getPermissionsStoreFromTransport = (_transport: RpcTransport<typeof XyoGatewayRpcSchemas>): PermissionsStore => {\n throw new Error('Not implemented')\n // return {\n // getPermissions: () => transport.sendRequest('xyoGateway_getPermissions'),\n // requestPermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_requestPermissions', permissions),\n // revokePermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_revokePermissions', permissions),\n // }\n}\n","import type { Promisable } from '@xylabs/promise'\nimport type { InvokerPermission, Permission } from '@xyo-network/xl1-protocol'\n\nimport type { PermissionsStore } from './PermissionsStore.ts'\n\nexport class MemoryPermissionsStore implements PermissionsStore {\n private readonly _store: Map<string, InvokerPermission> = new Map()\n\n getPermissions(): Promisable<InvokerPermission[]> {\n return [...this._store.values()]\n }\n\n requestPermissions(permissions: Permission[]): Promisable<boolean> {\n const now = Date.now()\n for (const perm of permissions) {\n const key = this.getKey(perm)\n this._store.set(key, { ...perm, date: now })\n }\n return true\n }\n\n revokePermissions(permissions: Permission[]): Promisable<boolean> {\n for (const perm of permissions) {\n const key = this.getKey(perm)\n this._store.delete(key)\n }\n return true\n }\n\n private getKey(permission: Permission): string {\n return `${permission.invoker}::${permission.capability}`\n }\n}\n","import { isDefined, isString } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoDataLakeProvider } from '@xyo-network/xl1-protocol'\nimport { isDataLakeProvider } from '@xyo-network/xl1-protocol'\n\nimport { HttpRpcTransport } from '../../transport/index.ts'\nimport { XyoRunnerRpcSchemas, XyoViewerRpcSchemas } from '../../types/index.ts'\nimport { HttpXyoDataLake } from '../datalake/index.ts'\nimport { JsonRpcXyoRunner } from '../runner/index.ts'\nimport { MemoryXyoSigner } from '../signer/index.ts'\nimport { JsonRpcXyoViewer } from '../viewer/index.ts'\nimport { XyoConnection } from './XyoConnection.ts'\n\nexport interface RpcXyoProviderParams {\n account?: AccountInstance\n endpoint: string\n storage?: string | XyoDataLakeProvider\n}\n\nexport class HttpRpcXyoConnection extends XyoConnection {\n constructor(params: RpcXyoProviderParams) {\n const {\n account, endpoint, storage: storageParam,\n } = params\n const signer = isDefined(account) ? new MemoryXyoSigner(account) : undefined\n const transport = new HttpRpcTransport(endpoint, { ...XyoRunnerRpcSchemas, ...XyoViewerRpcSchemas })\n const runner = new JsonRpcXyoRunner(transport)\n const viewer = new JsonRpcXyoViewer(transport)\n const storage = isDataLakeProvider(storageParam) ? storageParam : isString(storageParam) ? new HttpXyoDataLake(storageParam) : undefined\n super({\n signer, runner, viewer, storage,\n })\n }\n}\n\n/**\n * @deprecated Use `HttpRpcXyoConnection` instead.\n */\nexport class RpcXyoConnection extends HttpRpcXyoConnection {}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isError, isUndefinedOrNull } from '@xylabs/typeof'\nimport { isAxiosError } from 'axios'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n try {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n } 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}`)\n }\n }\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import {\n asHex, hexToBigInt, toHex,\n} from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => asHex(toHex(x)))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(asHex(toHex(x), true)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { asHash } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => asHash(v, true))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v) as LocalSequence)\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v) as QualifiedSequence)\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema,\n HydratedTransactionSchema,\n PayloadSchema, SignedHydratedTransactionSchema, SignedTransactionBoundWitnessSchema,\n TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n xyoSigner_signTransaction: {\n params: {\n to: z.tuple([HydratedTransactionSchema]),\n from: z.tuple([HydratedTransactionSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema,\n from: SignedHydratedTransactionSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n PayloadSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_accountHistory: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: z.array(z.array(PayloadSchema)),\n from: z.array(z.array(PayloadSchema)),\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { Hex } from '@xylabs/hex'\nimport { z } from 'zod'\n\nimport type { XyoGatewayRpcMethodName } from '../XyoGatewayRpc.ts'\nimport { BlockBoundWitnessSchema, HydratedTransactionSchema } from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const ChainConnectionSchema = z.object({\n chainId: z.union([z.string(), z.custom<Hex>()]).optional(),\n name: z.string(),\n url: z.string(),\n})\n\nexport const CaveatTypesSchema = z.enum(['chain', 'expiration', 'filteredResponse', 'rateLimit'])\n\nexport const CaveatsSchema = z.object({\n type: CaveatTypesSchema,\n value: z.unknown(), // JsonValue is usually unknown, adjust if you have a stricter type\n})\n\nexport const PermissionSchema = z.object({\n capability: z.string(),\n caveats: CaveatsSchema.array().optional(),\n invoker: z.string(),\n})\n\nexport const InvokerPermissionSchema = PermissionSchema.extend({ date: z.number().optional() })\n\nexport type ChainConnection = z.infer<typeof ChainConnectionSchema>\n\nexport const XyoGatewayRpcSchemas: RpcSchemaMap<XyoGatewayRpcMethodName> = {\n /*\n xyoGateway_addConnection: {\n params: {\n to: z.tuple([ChainConnectionSchema]),\n from: z.tuple([ChainConnectionSchema]),\n },\n result: {\n to: z.tuple([z.boolean()]),\n from: z.tuple([z.boolean()]),\n },\n },\n xyoGateway_connections: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(ChainConnectionSchema),\n from: z.array(ChainConnectionSchema),\n },\n },\n xyoGateway_getPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(InvokerPermissionSchema),\n from: z.array(InvokerPermissionSchema),\n },\n },\n xyoGateway_requestPermissions: {\n params: {\n to: z.array(PermissionSchema),\n from: z.array(PermissionSchema),\n },\n result: {\n to: z.boolean(),\n from: z.boolean(),\n },\n },\n xyoGateway_revokePermissions: {\n params: {\n to: z.array(PermissionSchema),\n from: z.array(PermissionSchema),\n },\n result: {\n to: z.boolean(),\n from: z.boolean(),\n },\n },\n xyoGateway_activeConnection: {\n params: {\n from: z.never(),\n to: z.never(),\n },\n result: {\n from: z.string().optional(),\n to: z.string().optional(),\n },\n },\n */\n xyoGateway_submitTransaction: {\n params: {\n from: z.array(\n HydratedTransactionSchema,\n ),\n to: z.array(\n HydratedTransactionSchema,\n ),\n },\n result: {\n from: BlockBoundWitnessSchema,\n to: BlockBoundWitnessSchema,\n },\n },\n}\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport {\n isJsonRpcError,\n isJsonRpcSuccess,\n} from '@metamask/utils'\nimport { isDefined } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../../types/index.ts'\nimport { jsonrpc, XyoGatewayRpcSchemas } from '../../types/index.ts'\nimport type { RpcTransport } from '../RpcTransport.ts'\nimport { isRpcError } from './helpers.ts'\nimport { resolvedEvent } from './resolveData.ts'\n\nconst isValidBaseRpcEvent = (data: any) => {\n return !!(data && typeof data === 'object'\n && 'jsonrpc' in data && data.jsonrpc === '2.0'\n && 'method' in data && typeof data.method === 'string'\n && 'id' in data && typeof data.id === 'string')\n}\n\nconst isRpcResponse = (data: any, targetId: string) => {\n return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && 'result' in data && Array.isArray(data.result)\n}\n\n/** @deprecated - now part of a client gateway */\nexport class LegacyPostMessageRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly destination?: string\n protected readonly schemas: T\n protected readonly sessionId?: string\n\n constructor(defaultDestination?: string, schemas: T = XyoGatewayRpcSchemas as T, sessionId?: string) {\n this.schemas = schemas\n this.destination = defaultDestination\n this.sessionId = sessionId\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n 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.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n body.params = (isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params\n\n return await new Promise((resolve, reject) => {\n const id = body.id\n\n const handler = (event: MessageEvent) => {\n if (event.origin !== globalThis.window.origin) return\n if (!isRpcResponse(event.data, id as string)) return\n const data = resolvedEvent(event, id as string)\n if (data === false) return\n\n globalThis.removeEventListener('message', handler)\n\n if (data.legacyEventData) {\n // Handle legacy event data\n if (data.legacyEventData.result.some(isRpcError)) {\n reject(data.legacyEventData.result[0])\n } else {\n resolve(data.legacyEventData.result[0])\n }\n return\n }\n\n if (data.eventData) {\n // Handle new event data\n if (isJsonRpcError(data.eventData)) {\n reject(data.eventData)\n return\n }\n if (isJsonRpcSuccess(data.eventData)) {\n resolve(data.eventData)\n return\n }\n reject(new Error('Unexpected response format'))\n }\n }\n\n globalThis.addEventListener('message', handler)\n\n globalThis.postMessage(\n {\n data: body,\n destination: this.destination,\n sessionId: this.sessionId,\n },\n globalThis.location.origin,\n )\n })\n }\n}\n\n/** @deprecated - use LegacyPostMessageRpcTransport but rely on wallet release > 1.17.1 to handle the postMessage flow */\nexport const PostMessageRpcTransport = LegacyPostMessageRpcTransport\n","import type { JsonRpcRequest } from '@metamask/utils'\nimport type { JsonObject } from '@xylabs/object'\n\n/** @deprecated - no longer part of the public rpc implementation */\nexport type JsonRpcRequestWithId = JsonRpcRequest & {\n id: string\n}\n\n/** @deprecated - no longer part of the public rpc implementation */\nexport interface RpcError extends JsonObject {\n error: boolean\n message: string\n}\n\n/** @deprecated - no longer part of the public rpc implementation */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, sonarjs/deprecation\nexport const isRpcError = (data: any): data is RpcError => {\n return (\n data\n && typeof data === 'object'\n && 'error' in data\n && data.error\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * NOTE: This file is to help resolve the data from a postMessage event in the transport\n * layer. Older implementations require the id to be at the top level, while newer\n * implementations nest the id inside a data object. Once the wallet extension is updated\n * to always use the nested structure, this file can be removed.\n */\n\ntype ResolvedEventData = {\n eventData?: any\n legacyEventData?: any\n}\n\n// If the id is present in the eventData and matches the targetId, return the eventData\n// and mark it as legacyEventData since newer implementations nest the id inside a data object\nconst hasMatchingId = (eventData: any, targetId: string): false | ResolvedEventData => {\n return eventData?.id === targetId ? { legacyEventData: eventData } : false\n}\n\n// If the id is present in the data object of the eventData and matches the targetId,\n// return the eventData as eventData so its clear that this is a newer implementation\nconst hasMatchingNestedId = (eventData: any, targetId: string): false | ResolvedEventData => {\n return eventData?.data?.id === targetId ? { eventData: eventData.data } : false\n}\n\nexport const resolvedEvent = (event: MessageEvent, targetId: string): false | ResolvedEventData => {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n return hasMatchingId(event.data, targetId) || hasMatchingNestedId(event.data, targetId)\n}\n","import type { JsonRpcRequest } from '@metamask/utils'\nimport type { JsonValue } from '@xylabs/object'\n\nexport interface SessionMessageEnvelope<T extends JsonValue> {\n data: T\n destination?: string\n sessionId: string\n}\n\n/** Only intended for web pages where the xyo global object was injected */\n/** @deprecated - this is now handled in the wallet extension */\nexport const buildSessionMessageRequest = <T extends JsonRpcRequest>(data: T, destination?: string) => {\n const request: SessionMessageEnvelope<T> = {\n data,\n destination,\n sessionId: globalThis.xyo.walletExtensionId() ?? '',\n }\n\n return request\n}\n","import type { Hash } from '@xylabs/hex'\nimport { ObjectHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport {\n type DataLakeData,\n isHashPayload,\n type XyoDataLakeProvider,\n} from '@xyo-network/xl1-protocol'\n\nexport abstract class AbstractXyoDataLake implements XyoDataLakeProvider {\n async fetch(hashes: Hash[], maxDepth: number = 10): Promise<DataLakeData[]> {\n const results: DataLakeData[] = await this.get(hashes)\n if (maxDepth > 0) {\n const hashPayloads = results.filter(isHashPayload)\n const otherPayloads = results.filter(item => !isHashPayload(item))\n const found = await this.fetch(hashPayloads.map(item => item.hash), maxDepth - 1)\n const foundHashes = await Promise.all(found.map(async item => isAnyPayload(item) ? await PayloadBuilder.hash(item) : ObjectHasher.hashBytes(item)))\n const notFound = hashPayloads.filter(item => !foundHashes.includes(item.hash))\n return [...otherPayloads, ...found, ...notFound]\n }\n return results\n }\n\n async trace(hash: Hash): Promise<[DataLakeData | undefined, Payload[]]> {\n const [result] = await this.get([hash])\n if (isHashPayload(result)) {\n const [payload, route] = await this.trace(result.hash)\n return [payload, [result, ...route]]\n }\n return [result, []]\n }\n\n abstract add(items: DataLakeData[]): Promise<DataLakeData[]>\n\n abstract get(hashes: Hash[]): Promise<DataLakeData[]>\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Hash } from '@xylabs/hex'\nimport type { ReadWriteArchivist } from '@xyo-network/archivist-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport { type DataLakeData } from '@xyo-network/xl1-protocol'\n\nimport { AbstractXyoDataLake } from './AbstractXyoDataLake.ts'\n\nexport class ArchivistXyoDataLake extends AbstractXyoDataLake {\n private _archivist: ReadWriteArchivist\n\n constructor(archivist: ReadWriteArchivist) {\n super()\n this._archivist = archivist\n }\n\n async add(items: DataLakeData[]): Promise<DataLakeData[]> {\n const payloads = items.filter(isAnyPayload)\n assertEx(payloads.length === items.length, () => 'Some items are not payloads')\n return await this._archivist.insert(payloads)\n }\n\n async get(hashes: Hash[]): Promise<DataLakeData[]> {\n return await this._archivist.get(hashes)\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { AxiosJson } from '@xylabs/axios'\nimport { exists } from '@xylabs/exists'\nimport type { Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport { isArrayBuffer, isDefined } from '@xylabs/typeof'\nimport { isAnyPayload, type Payload } from '@xyo-network/payload-model'\nimport { type DataLakeData, isHashPayload } from '@xyo-network/xl1-protocol'\nimport { Axios } from 'axios'\n\nimport { AbstractXyoDataLake } from './AbstractXyoDataLake.ts'\n\nexport class HttpXyoDataLake extends AbstractXyoDataLake {\n private _axiosGet: Axios\n private _axiosInsertBlob: Axios\n private _axiosInsertJson: AxiosJson\n private _endpoint: string\n\n constructor(endpoint: string) {\n super()\n this._endpoint = endpoint\n this._axiosInsertJson = new AxiosJson({ baseURL: endpoint })\n this._axiosInsertBlob = new Axios({ baseURL: endpoint, headers: { 'Content-Type': 'application/octet-stream', 'Accept': 'application/octet-stream' } })\n this._axiosGet = new Axios({ baseURL: endpoint, headers: { 'Content-Type': 'application/json', 'Accept': 'application/octet-stream, application/json' } })\n }\n\n get endpoint(): string {\n return this._endpoint\n }\n\n async add(items: DataLakeData[]): Promise<DataLakeData[]> {\n const results: DataLakeData[] = []\n for (const item of items) {\n if (isAnyPayload(item)) {\n const result = await this.addPayload(item)\n if (isAnyPayload(result)) {\n results.push(result)\n } else if (isDefined(result)) {\n assertEx(false, () => 'Expected result to be a Payload')\n }\n } else if (isArrayBuffer(item)) {\n const result = await this.addArrayBuffer(item)\n if (isAnyPayload(result)) {\n results.push(result)\n } else if (isDefined(result)) {\n assertEx(false, () => 'Expected result to be a Payload')\n }\n }\n }\n return results\n }\n\n async get(hashes: Hash[]): Promise<DataLakeData[]> {\n return (await Promise.all(hashes.map(async (hash) => {\n return await this.getOne(hash)\n }))).filter(exists)\n }\n\n protected async addArrayBuffer(item: ArrayBuffer): Promise<ArrayBuffer | undefined> {\n const result = await this._axiosInsertBlob.post('/insert', item)\n if (result.status < 200 || result.status >= 300) {\n throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`)\n }\n if (!isArrayBuffer(result.data)) {\n throw new Error('Invalid response from server (expected a ArrayBuffer)')\n }\n\n return result.data\n }\n\n protected async addPayload(item: Payload): Promise<Payload | undefined> {\n const result = await this._axiosInsertJson.post('/insert', item)\n if (result.status < 200 || result.status >= 300) {\n throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`)\n }\n if (!isAnyPayload(result.data)) {\n throw new Error('Invalid response from server (expected a Payload)')\n }\n\n return result.data\n }\n\n protected async fetchOne(hash: Hash, maxDepth: number = Number.MAX_SAFE_INTEGER): Promise<DataLakeData | undefined> {\n if (maxDepth <= 0) {\n return undefined\n }\n const result = await this.getOne(hash)\n if (isHashPayload(result)) {\n return await this.fetchOne(result.hash, maxDepth - 1)\n }\n return result\n }\n\n protected getOne(hash: Hash): Promisable<DataLakeData | undefined> {\n return this._axiosGet.get(`/get/${hash}`).then((response) => {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`Failed to get item [${response.status}]: ${response.statusText}`)\n }\n if (!isAnyPayload(response.data)) {\n throw new Error('Invalid response from server (expected a Payload)')\n }\n return response.data\n })\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { PayloadBundle } from '@xyo-network/payload-model'\nimport { PayloadBundleSchema } from '@xyo-network/payload-model'\nimport type {\n HydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n const flattened = flattenHydratedTransaction(transaction)\n\n const pendingArchivist = await this.getPendingArchivist()\n\n const txHash = await PayloadBuilder.hash(transaction[0])\n const payloadBundle: PayloadBundle = {\n schema: PayloadBundleSchema, payloads: flattened, root: txHash,\n }\n\n await pendingArchivist.insert([payloadBundle])\n\n return txHash\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const archivist = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(archivist), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return assertEx(this._pendingArchivist, () => `Error: Could not resolve pending archivist at ${this.pendingArchivistPath}`)\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\n\nexport class RpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n\n signTransaction(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {\n throw new Error('Method not implemented.')\n }\n}\n\n/**\n * @deprecated Use `RpcXyoSigner` instead.\n */\nexport class JsonRpcXyoSigner extends RpcXyoSigner {}\n","import type { Address } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n\n signTransaction(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {\n throw new Error('Method not implemented.')\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport type {\n HydratedBlock, HydratedTransaction,\n TransactionBoundWitness,\n Transfer,\n XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<HydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<HydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<HydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<HydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address, Hex } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isAnyPayload, type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n HydratedTransaction,\n TransactionBoundWitness, TransactionFeesBigInt,\n TransactionOptions, XyoConnectionProvider, XyoDataLakeProvider, XyoDataLakeViewer, XyoNetwork, XyoRunner, XyoSigner, XyoViewer,\n} from '@xyo-network/xl1-protocol'\nimport { defaultTransactionFees, isDataLakeProvider } from '@xyo-network/xl1-protocol'\nimport { HydratedTransactionWrapper } from '@xyo-network/xl1-wrappers'\n\nexport class XyoConnection implements XyoConnectionProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _storage?: XyoDataLakeProvider | XyoDataLakeViewer\n private readonly _viewer?: XyoViewer\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n storage?: XyoDataLakeProvider | XyoDataLakeViewer\n viewer?: XyoViewer\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._storage = params?.storage\n this._viewer = params?.viewer\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n /** @deprecated use signer from gateway instead */\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get storage(): XyoDataLakeProvider | XyoDataLakeViewer | undefined {\n return this._storage\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n /** @deprecated use submitTransaction instead */\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Hex,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n // eslint-disable-next-line sonarjs/deprecation\n return (await this.submitTransaction(elevatedPayloads, additionalPayloads, {\n chain, nbf, exp, from, fees,\n }))[0]\n }\n\n /** @deprecated use addPayloadsToChain from gateway instead */\n async submitTransaction(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n {\n chain, exp, fees, from, nbf,\n }: TransactionOptions = {},\n ): Promise<HydratedTransaction> {\n const viewer = assertEx(this.viewer, () => 'No viewer available')\n // eslint-disable-next-line sonarjs/deprecation\n const signer = assertEx(this.signer, () => 'No signer available')\n const runner = assertEx(this.runner, () => 'No runner available')\n const storage = this.storage\n const chainResolved = chain ?? await viewer.chainId()\n if (chainResolved === undefined) throw new Error('Failed to determine chain')\n const nbfResolved = Math.max(await viewer.currentBlockNumber() ?? 0, nbf ?? 0)\n const expResolved = exp ?? (nbfResolved + 1000)\n const feesResolved = fees ?? defaultTransactionFees\n const fromResolved = from ?? await signer.address()\n if (fromResolved === undefined) throw new Error('Failed to determine from address')\n // eslint-disable-next-line sonarjs/deprecation\n const signedTransaction = assertEx(await signer.createSignedTransaction(\n chainResolved,\n elevatedPayloads,\n additionalPayloads,\n nbfResolved,\n expResolved,\n feesResolved,\n fromResolved,\n ), () => 'Failed to create transaction')\n const hydratedTransaction: HydratedTransaction = [await PayloadBuilder.addStorageMeta(signedTransaction),\n await PayloadBuilder.addStorageMeta(elevatedPayloads)]\n\n // if storage configured, add the external payloads to it\n if (isDataLakeProvider(storage)) {\n const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction)\n await storage.add(Object.values(wrapper.externalPayloads).filter(isAnyPayload))\n }\n\n assertEx(await runner.broadcastTransaction(hydratedTransaction), () => 'Failed to broadcast transaction')\n\n return hydratedTransaction\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport {\n type AllowedBlockPayload,\n type HydratedTransaction, type XyoConnectionProvider, type XyoGatewayProvider, type XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildUnsignedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport abstract class AbstractXyoGateway implements XyoGatewayProvider {\n async addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, HydratedTransaction]> {\n const connection = await this.connection()\n const viewer = assertEx(connection.viewer, () => 'No viewer available on connection')\n const signer = await this.signer()\n const chainId = await viewer.chainId()\n const nbf = await viewer.currentBlockNumber()\n const tx = await buildUnsignedTransaction(chainId, onChain, offChain, nbf, nbf + 1000, await signer.address())\n const hash = await this.addTransactionToChain(tx)\n return [hash, tx]\n }\n\n async addTransactionToChain(tx: HydratedTransaction): Promise<Hash> {\n const connection = await this.connection()\n const signer = await this.signer()\n const runner = assertEx(connection.runner, () => 'No runner available on connection')\n const signedTx = await signer.signTransaction(tx)\n return await runner.broadcastTransaction(\n [await PayloadBuilder.addStorageMeta(signedTx[0]),\n await PayloadBuilder.addStorageMeta(signedTx[1])],\n )\n }\n\n /** @deprecated use addPayloadsToChain instead */\n async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction> {\n const connection = await this.connection()\n // eslint-disable-next-line sonarjs/deprecation\n assertEx(connection.submitTransaction, () => 'Active connection does not support transaction submission')\n // eslint-disable-next-line sonarjs/deprecation\n const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads)\n return assertEx(tx, () => 'Transaction submission failed')\n }\n\n abstract connection(): Promisable<XyoConnectionProvider>\n abstract signer(): Promisable<XyoSigner>\n}\n","import type { XyoConnectionProvider, XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport { AbstractXyoGateway } from './Abstract.ts'\n\nexport class MemoryXyoGateway extends AbstractXyoGateway {\n private readonly _connection: XyoConnectionProvider\n private readonly _signer: XyoSigner\n\n constructor(signer: XyoSigner, connection: XyoConnectionProvider) {\n super()\n this._signer = signer\n this._connection = connection\n }\n\n connection(): XyoConnectionProvider {\n return this._connection\n }\n\n signer(): XyoSigner {\n return this._signer\n }\n}\n","import { isUndefined } from '@xylabs/typeof'\nimport type {\n GatewayName,\n NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: GatewayName\n\n constructor(networkId: GatewayName) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { GatewayName } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: GatewayName\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet' as GatewayName,\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence' as GatewayName,\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local' as GatewayName,\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<GatewayName, StatusNetwork> = {\n ['mainnet' as GatewayName]: MainNetworkStats,\n ['sequence' as GatewayName]: SequenceNetworkStats,\n ['local' as GatewayName]: LocalNetworkStats,\n}\n"],"mappings":"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","names":["isDefined","isDataLakeProvider","z","z","z","z","z","toHex","HexRegEx","z","z","z","toHex","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","v4","v4","v4","v4","id","isAnyPayload","isAnyPayload","assertEx","AxiosJson","isDefined","isAnyPayload","isHashPayload","AxiosJson","isAnyPayload","isDefined","assertEx","isHashPayload","PayloadBuilder","assertEx","PayloadBuilder","flattenHydratedTransaction","assertEx","PayloadBuilder","isAnyPayload","isDefined","isDataLakeProvider","assertEx","PayloadBuilder"]}
1
+ {"version":3,"sources":["../../src/engine/requestSchemas.ts","../../src/engine/rpcMethodHandlersFromRunner.ts","../../src/engine/rpcMethodHandlersFromSigner.ts","../../src/engine/rpcMethodHandlersFromViewer.ts","../../src/engine/rpcMethodHandlersFromProvider.ts","../../src/provider/client/MemoryXyoClient.ts","../../src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts","../../src/provider/client/PermissionsStore/MemoryPermissionsStore.ts","../../src/provider/connection/HttpRpcXyoConnection.ts","../../src/transport/HttpRpcTransport.ts","../../src/types/ErrorCodes.ts","../../src/types/JsonRpc.ts","../../src/types/schema/XyoProviderRpcSchemas.ts","../../src/types/schema/common/AddressSchema.ts","../../src/types/schema/common/BigIntSchema.ts","../../src/types/schema/common/BlockBoundWitnessSchema.ts","../../src/types/schema/common/BoundWitnessSchema.ts","../../src/types/schema/common/HashSchema.ts","../../src/types/schema/common/HexSchema.ts","../../src/types/schema/common/PayloadSchema.ts","../../src/types/schema/common/StorageMetaSchema.ts","../../src/types/schema/common/SequenceSchema.ts","../../src/types/schema/common/HydratedBlockSchema.ts","../../src/types/schema/common/HydratedTransactionSchema.ts","../../src/types/schema/common/TransactionBoundWitnessSchema.ts","../../src/types/schema/common/TransactionFees.ts","../../src/types/schema/XyoRunnerRpcSchemas.ts","../../src/types/schema/XyoSignerRpcSchemas.ts","../../src/types/schema/XyoViewerRpcSchemas.ts","../../src/types/schema/AllRpcSchemas.ts","../../src/types/schema/createRequestSchema.ts","../../src/types/schema/createResponseSchema.ts","../../src/types/schema/XyoGatewayRpcSchemas.ts","../../src/transport/MemoryRpcTransport.ts","../../src/transport/post-message/LegacyPostMessageRpcTransport.ts","../../src/transport/post-message/helpers.ts","../../src/transport/post-message/resolveData.ts","../../src/transport/post-message/SessionEnvelope.ts","../../src/provider/datalake/AbstractXyoDataLake.ts","../../src/provider/datalake/ArchivistXyoDataLake.ts","../../src/provider/datalake/HttpXyoDataLake.ts","../../src/provider/runner/JsonRpcXyoRunner.ts","../../src/provider/runner/MemoryXyoRunner.ts","../../src/provider/runner/NodeXyoRunner.ts","../../src/provider/signer/JsonRpcXyoSigner.ts","../../src/provider/signer/MemoryXyoSigner.ts","../../src/provider/viewer/JsonRpcXyoViewer.ts","../../src/provider/connection/XyoConnection.ts","../../src/provider/gateway/Abstract.ts","../../src/provider/gateway/MemoryXyoGateway.ts","../../src/provider/network/MemoryXyoNetwork.ts","../../src/provider/network/lib/FailedNetworkStatusPayloads.ts","../../src/provider/network/lib/StatusNetworks.ts"],"sourcesContent":["import type { AnyZodObject } from 'zod'\n\nexport const requestSchemas: Record<string, AnyZodObject | undefined> = {}\n","import type { XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoRunnerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromRunner = (runner: XyoRunner): XyoRunnerRpcMethodHandlers => {\n return { xyoRunner_broadcastTransaction: params => runner.broadcastTransaction(...(params ?? [])) }\n}\n","import type { XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport type { XyoSignerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromSigner = (signer: XyoSigner): XyoSignerRpcMethodHandlers => {\n return {\n xyoSigner_address: params => signer.address(...(params ?? [])),\n xyoSigner_createSignedTransaction: params => signer.createSignedTransaction(...(params ?? [])),\n xyoSigner_signTransaction: params => signer.signTransaction(...(params ?? [])),\n }\n}\n","import type { XyoViewer } from '@xyo-network/xl1-protocol'\n\nimport type { XyoViewerRpcMethodHandlers } from '../types/index.ts'\n\nexport const rpcMethodHandlersFromViewer = (viewer: XyoViewer): XyoViewerRpcMethodHandlers => {\n return {\n xyoViewer_accountBalance: params => viewer.accountBalance(...(params ?? [])),\n xyoViewer_accountHistory: params => viewer.accountHistory(...(params ?? [])),\n xyoViewer_blockByHash: params => viewer.blockByHash(...(params ?? [])),\n xyoViewer_blockByNumber: params => viewer.blockByNumber(...(params ?? [])),\n xyoViewer_blocksByHash: params => viewer.blocksByHash(...(params ?? [])),\n xyoViewer_chainId: params => viewer.chainId(...(params ?? [])),\n xyoViewer_currentBlock: params => viewer.currentBlock(...(params ?? [])),\n xyoViewer_currentBlockHash: params => viewer.currentBlockHash(...(params ?? [])),\n xyoViewer_currentBlockNumber: params => viewer.currentBlockNumber(...(params ?? [])),\n xyoViewer_transactionByBlockHashAndIndex: params => viewer.transactionByBlockHashAndIndex(...(params ?? [])),\n xyoViewer_transactionByBlockNumberAndIndex: params => viewer.transactionByBlockNumberAndIndex(...(params ?? [])),\n xyoViewer_transactionByHash: params => viewer.transactionByHash(...(params ?? [])),\n }\n}\n","import type { XyoConnectionProvider } from '@xyo-network/xl1-protocol'\n\nimport type { XyoProviderRpcMethodHandlers } from '../types/index.ts'\nimport { rpcMethodHandlersFromRunner } from './rpcMethodHandlersFromRunner.ts'\nimport { rpcMethodHandlersFromSigner } from './rpcMethodHandlersFromSigner.ts'\nimport { rpcMethodHandlersFromViewer } from './rpcMethodHandlersFromViewer.ts'\n\nexport const rpcMethodHandlersFromProvider = (provider: XyoConnectionProvider): XyoProviderRpcMethodHandlers => {\n const {\n runner, signer, viewer,\n } = provider\n let result: XyoProviderRpcMethodHandlers = { xyoProvider_send: params => (provider as Required<XyoConnectionProvider>).send(...(params ?? [])) }\n if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) }\n if (signer) result = { ...result, ...rpcMethodHandlersFromSigner(signer) }\n if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) }\n return result\n}\n","import type {\n PermissionsProvider, XyoClient, XyoGatewayProvider,\n} from '@xyo-network/xl1-protocol'\n\nexport class MemoryXyoClient implements XyoClient {\n gateways: Readonly<Record<string, XyoGatewayProvider>>\n permissions: PermissionsProvider\n\n constructor(gateways: Readonly<Record<string, XyoGatewayProvider>>, permissions: PermissionsProvider) {\n this.gateways = gateways\n this.permissions = permissions\n }\n}\n","import { type RpcTransport } from '../../../transport/index.ts'\nimport type { XyoGatewayRpcSchemas } from '../../../types/index.ts'\nimport type { PermissionsStore } from './PermissionsStore.ts'\n\nexport const getPermissionsStoreFromTransport = (_transport: RpcTransport<typeof XyoGatewayRpcSchemas>): PermissionsStore => {\n throw new Error('Not implemented')\n // return {\n // getPermissions: () => transport.sendRequest('xyoGateway_getPermissions'),\n // requestPermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_requestPermissions', permissions),\n // revokePermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_revokePermissions', permissions),\n // }\n}\n","import type { Promisable } from '@xylabs/promise'\nimport type { InvokerPermission, Permission } from '@xyo-network/xl1-protocol'\n\nimport type { PermissionsStore } from './PermissionsStore.ts'\n\nexport class MemoryPermissionsStore implements PermissionsStore {\n private readonly _store: Map<string, InvokerPermission> = new Map()\n\n getPermissions(): Promisable<InvokerPermission[]> {\n return [...this._store.values()]\n }\n\n requestPermissions(permissions: Permission[]): Promisable<boolean> {\n const now = Date.now()\n for (const perm of permissions) {\n const key = this.getKey(perm)\n this._store.set(key, { ...perm, date: now })\n }\n return true\n }\n\n revokePermissions(permissions: Permission[]): Promisable<boolean> {\n for (const perm of permissions) {\n const key = this.getKey(perm)\n this._store.delete(key)\n }\n return true\n }\n\n private getKey(permission: Permission): string {\n return `${permission.invoker}::${permission.capability}`\n }\n}\n","import { isDefined, isString } from '@xylabs/typeof'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { XyoDataLakeProvider } from '@xyo-network/xl1-protocol'\nimport { isDataLakeProvider } from '@xyo-network/xl1-protocol'\n\nimport { HttpRpcTransport } from '../../transport/index.ts'\nimport { XyoRunnerRpcSchemas, XyoViewerRpcSchemas } from '../../types/index.ts'\nimport { HttpXyoDataLake } from '../datalake/index.ts'\nimport { JsonRpcXyoRunner } from '../runner/index.ts'\nimport { MemoryXyoSigner } from '../signer/index.ts'\nimport { JsonRpcXyoViewer } from '../viewer/index.ts'\nimport { XyoConnection } from './XyoConnection.ts'\n\nexport interface RpcXyoProviderParams {\n account?: AccountInstance\n endpoint: string\n storage?: string | XyoDataLakeProvider\n}\n\nexport class HttpRpcXyoConnection extends XyoConnection {\n constructor(params: RpcXyoProviderParams) {\n const {\n account, endpoint, storage: storageParam,\n } = params\n const signer = isDefined(account) ? new MemoryXyoSigner(account) : undefined\n const transport = new HttpRpcTransport(endpoint, { ...XyoRunnerRpcSchemas, ...XyoViewerRpcSchemas })\n const runner = new JsonRpcXyoRunner(transport)\n const viewer = new JsonRpcXyoViewer(transport)\n const storage = isDataLakeProvider(storageParam) ? storageParam : isString(storageParam) ? new HttpXyoDataLake(storageParam) : undefined\n super({\n signer, runner, viewer, storage,\n })\n }\n}\n\n/**\n * @deprecated Use `HttpRpcXyoConnection` instead.\n */\nexport class RpcXyoConnection extends HttpRpcXyoConnection {}\n","import type {\n JsonRpcFailure, JsonRpcRequest, JsonRpcSuccess,\n} from '@metamask/utils'\nimport { AxiosJson } from '@xylabs/axios'\nimport { isError, isUndefinedOrNull } from '@xylabs/typeof'\nimport { isAxiosError } from 'axios'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport { jsonrpc } from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly _rpcUrl: string\n protected readonly _schemas: T\n\n constructor(rpcUrl: string, schemas: T) {\n this._rpcUrl = rpcUrl\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n return await this.callRpc(this._rpcUrl, this._schemas, method, params)\n }\n\n private async callRpc<\n TSchemas extends RpcSchemaMap,\n TMethod extends keyof TSchemas,\n >(\n url: string,\n schemas: TSchemas,\n method: TMethod,\n params?: z.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n try {\n const id = v4()\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n if (params) {\n body.params = schemas[method].params.to.parse(params)\n }\n\n const res = await new AxiosJson().post(url, body)\n\n const json = res.data\n if (isUndefinedOrNull(json) || (json as Partial<JsonRpcFailure>).error) {\n throw new Error((json as JsonRpcFailure).error.message)\n }\n\n return schemas[method].result.from.parse((json as JsonRpcSuccess).result)\n } 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}`)\n }\n }\n}\n","// NOTE: See https://www.npmjs.com/package/@metamask/rpc-errors for\n// better error codes & protocol specific error codes. Migrate to that\n// if fuller support is needed.\nexport const JsonRpcErrorCodes: Record<string, { code: number; message: string }> = {\n InternalError: { code: -32_603, message: 'Internal JSON-RPC error (unexpected exception).' },\n InvalidParams: { code: -32_602, message: 'Invalid method parameter(s).' },\n InvalidRequest: { code: -32_600, message: 'The JSON sent is not a valid Request object.' },\n MethodNotFound: { code: -32_601, message: 'The method does not exist or is not available.' },\n}\n","export const jsonrpc = '2.0' as const\n","import { z } from 'zod'\n\nimport type { XyoProviderRpcMethodName } from '../XyoProviderRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, PayloadSchema, SignedTransactionBoundWitnessSchema, TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoProviderRpcSchemas: RpcSchemaMap<XyoProviderRpcMethodName> = {\n xyoProvider_send: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n}\n","import type { Address } from '@xylabs/hex'\nimport { toAddress } from '@xylabs/hex'\nimport { AddressRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledAddressRegEx = new RegExp(AddressRegEx)\n\nexport const AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)\nexport const AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform<Address>(v => toAddress(v))\n","import {\n asHex, hexToBigInt, toHex,\n} from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst CompiledHexRegEx = new RegExp(HexRegEx)\n\nexport const BigIntToStringSchema = z.bigint().nonnegative().transform(x => asHex(toHex(x)))\nexport const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(asHex(toHex(x), true)))\n","import { z } from 'zod'\n\nimport {\n SignedBoundWitnessSchema, SignedBoundWitnessWithStorageMetaSchema, UnsignedBoundWitnessSchema, UnsignedBoundWitnessWithStorageMetaSchema,\n} from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockNumberSchema = z.number().int().nonnegative()\n\nconst BlockBoundWitnessFieldsSchema = z.object({\n block: BlockNumberSchema,\n chain: HexToStringSchema,\n previous: HexToStringSchema.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HexToStringSchema).optional(),\n})\n\nexport const BlockBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const BlockBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n\nexport const SignedBlockBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\nexport const SignedBlockBoundWitnessWithStorageMetaSchema = SignedBoundWitnessWithStorageMetaSchema\n .merge(BlockBoundWitnessFieldsSchema)\n .passthrough()\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { z } from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const SchemaIdSchema = z.string()\n\nconst BoundWitnessRequiredFieldsSchema = z.object({\n addresses: z.array(AddressToStringSchema),\n payload_hashes: z.array(HashToStringSchema),\n payload_schemas: z.array(SchemaIdSchema),\n previous_hashes: z.array(HashToStringSchema.nullable()),\n})\n\nconst BoundWitnessMetaSchema = z.object({\n $destination: AddressToStringSchema.optional(),\n $sourceQuery: HashToStringSchema.optional(),\n})\n\nexport const UnsignedBoundWitnessSchema = PayloadSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema\n .extend({ schema: z.literal(BoundWitnessSchema) })\n .merge(BoundWitnessRequiredFieldsSchema)\n .merge(BoundWitnessMetaSchema)\n .passthrough()\n\nexport const SignedBoundWitnessSchema = UnsignedBoundWitnessSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n\nexport const SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema\n .extend(\n { $signatures: z.array(HexToStringSchema) },\n )\n .passthrough()\n","import type { Hash } from '@xylabs/hex'\nimport { asHash } from '@xylabs/hex'\nimport { HashRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))\nexport const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => asHash(v, true))\n","import type { Hex } from '@xylabs/hex'\nimport { toHex } from '@xylabs/hex'\nimport { HexRegEx } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nexport const HexToStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx))\nexport const HexFromStringSchema = z.string().toLowerCase().regex(new RegExp(HexRegEx)).transform<Hex>(v => toHex(v))\n","import { z } from 'zod'\n\nimport { StorageMetaSchema } from './StorageMetaSchema.ts'\n\nexport const PayloadSchema = z.object({ schema: z.string() }).passthrough()\nexport const PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough()\n","import { z } from 'zod'\n\nimport { HashToStringSchema } from './HashSchema.ts'\nimport { SequenceToStringSchema } from './SequenceSchema.ts'\n\nexport const StorageMetaSchema = z.object({\n _hash: HashToStringSchema,\n _dataHash: HashToStringSchema,\n _sequence: SequenceToStringSchema,\n})\n\nexport function WithStorageMetaSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n return StorageMetaSchema.extend({ value: valueSchema })\n}\n","import { toHex } from '@xylabs/hex'\nimport type {\n LocalSequence,\n QualifiedSequence,\n} from '@xyo-network/payload-model'\nimport { SequenceConstants } from '@xyo-network/payload-model'\nimport { HexRegExMinMax } from '@xyo-network/payload-wrapper'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\nexport const LocalSequenceToStringSchema = z.string().regex(LocalSequenceRegex)\nexport const LocalSequenceFromStringSchema = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v) as LocalSequence)\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\nexport const QualifiedSequenceToStringSchema = z.string().regex(QualifiedSequenceRegex)\nexport const QualifiedSequenceFromStringSchema = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v) as QualifiedSequence)\n\nexport const SequenceToStringSchema = z.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema])\nexport const SequenceFromStringSchema = z.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema])\n","import { z } from 'zod'\n\nimport {\n BlockBoundWitnessSchema, BlockBoundWitnessWithStorageMetaSchema, SignedBlockBoundWitnessSchema, SignedBlockBoundWitnessWithStorageMetaSchema,\n} from './BlockBoundWitnessSchema.ts'\nimport { PayloadSchema, PayloadWithStorageMetaSchema } from './PayloadSchema.ts'\n\nexport const HydratedBlockSchema = z.tuple([\n BlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const HydratedBlockWithStorageMetaSchema = z.tuple([\n BlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n\nexport const SignedHydratedBlockSchema = z.tuple([\n SignedBlockBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedBlockWithStorageMetaSchema = z.tuple([\n SignedBlockBoundWitnessWithStorageMetaSchema,\n z.array(PayloadWithStorageMetaSchema),\n])\n","import { z } from 'zod'\n\nimport { PayloadSchema } from './PayloadSchema.ts'\nimport { SignedTransactionBoundWitnessSchema, TransactionBoundWitnessSchema } from './TransactionBoundWitnessSchema.ts'\n\nexport const HydratedTransactionSchema = z.tuple([\n TransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n\nexport const SignedHydratedTransactionSchema = z.tuple([\n SignedTransactionBoundWitnessSchema,\n z.array(PayloadSchema),\n])\n","import z from 'zod'\n\nimport { AddressToStringSchema } from './AddressSchema.ts'\nimport { BlockNumberSchema } from './BlockBoundWitnessSchema.ts'\nimport { SignedBoundWitnessSchema, UnsignedBoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport { HexToStringSchema } from './HexSchema.ts'\n\nexport const BlockStartSchema = z.object({ nbf: BlockNumberSchema })\nexport const BlockEndSchema = z.object({ exp: BlockNumberSchema })\nexport const BlockDurationSchema = z.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema })\n\nexport const TransactionFeesSchema = z.object({\n fees: z.object({\n base: HexToStringSchema,\n gasLimit: HexToStringSchema,\n gasPrice: HexToStringSchema,\n priority: HexToStringSchema,\n }),\n})\n\nconst TransactionBoundWitnessFields = z.object({ chain: AddressToStringSchema })\n\nexport const TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n\nexport const SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema\n .merge(BlockDurationSchema)\n .merge(TransactionFeesSchema)\n .merge(TransactionBoundWitnessFields)\n .passthrough()\n","import { z } from 'zod'\n\nimport { BigIntFromStringSchema, BigIntToStringSchema } from './BigIntSchema.ts'\n\nexport const TransactionFeesToStingSchema = z.object({\n base: BigIntToStringSchema,\n gasLimit: BigIntToStringSchema,\n gasPrice: BigIntToStringSchema,\n priority: BigIntToStringSchema,\n})\n\nexport const TransactionFeesFromStingSchema = z.object({\n base: BigIntFromStringSchema,\n gasLimit: BigIntFromStringSchema,\n gasPrice: BigIntFromStringSchema,\n priority: BigIntFromStringSchema,\n})\n","import { z } from 'zod'\n\nimport type { XyoRunnerRpcMethodName } from '../XyoRunnerRpc.ts'\nimport {\n HashFromStringSchema,\n HashToStringSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoRunnerRpcSchemas: RpcSchemaMap<XyoRunnerRpcMethodName> = {\n xyoRunner_broadcastTransaction: {\n params: {\n to: z.tuple([SignedHydratedTransactionSchema]),\n from: z.tuple([SignedHydratedTransactionSchema]),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoSignerRpcMethodName } from '../XyoSignerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema,\n HydratedTransactionSchema,\n PayloadSchema, SignedHydratedTransactionSchema, SignedTransactionBoundWitnessSchema,\n TransactionFeesFromStingSchema,\n TransactionFeesToStingSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoSignerRpcSchemas: RpcSchemaMap<XyoSignerRpcMethodName> = {\n xyoSigner_address: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoSigner_createSignedTransaction: {\n params: {\n to: z.tuple([\n AddressFromStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesToStingSchema,\n AddressFromStringSchema.optional(),\n ]),\n from: z.tuple([\n AddressToStringSchema,\n z.array(PayloadSchema),\n z.array(PayloadSchema),\n z.number().nonnegative(),\n z.number().nonnegative(),\n TransactionFeesFromStingSchema,\n AddressToStringSchema.optional(),\n ]),\n },\n result: {\n to: SignedTransactionBoundWitnessSchema,\n from: SignedTransactionBoundWitnessSchema,\n },\n },\n xyoSigner_signTransaction: {\n params: {\n to: z.tuple([HydratedTransactionSchema]),\n from: z.tuple([HydratedTransactionSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema,\n from: SignedHydratedTransactionSchema,\n },\n },\n}\n","import { z } from 'zod'\n\nimport type { XyoViewerRpcMethodName } from '../XyoViewerRpc.ts'\nimport {\n AddressFromStringSchema, AddressToStringSchema, BigIntFromStringSchema, BigIntToStringSchema,\n BlockNumberSchema,\n HashFromStringSchema, HashToStringSchema,\n PayloadSchema,\n SignedHydratedBlockSchema,\n SignedHydratedTransactionSchema,\n} from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const XyoViewerRpcSchemas: RpcSchemaMap<XyoViewerRpcMethodName> = {\n xyoViewer_accountBalance: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: BigIntToStringSchema,\n from: BigIntFromStringSchema,\n },\n },\n xyoViewer_accountHistory: {\n params: {\n to: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n from: z.union([\n z.tuple([AddressToStringSchema]),\n z.tuple([AddressToStringSchema, z.number()]),\n z.tuple([AddressToStringSchema, z.number(), z.boolean()]),\n ]),\n },\n result: {\n to: z.array(z.array(PayloadSchema)),\n from: z.array(z.array(PayloadSchema)),\n },\n },\n xyoViewer_blockByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blockByNumber: {\n params: {\n to: z.tuple([z.number()]),\n from: z.tuple([z.number()]),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_blocksByHash: {\n params: {\n to: z.tuple([HashToStringSchema, z.number().optional()]),\n from: z.tuple([HashFromStringSchema, z.number().optional()]),\n },\n result: {\n to: z.array(SignedHydratedBlockSchema),\n from: z.array(SignedHydratedBlockSchema),\n },\n },\n xyoViewer_chainId: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: AddressToStringSchema,\n from: AddressFromStringSchema,\n },\n },\n xyoViewer_currentBlock: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: SignedHydratedBlockSchema,\n from: SignedHydratedBlockSchema,\n },\n },\n xyoViewer_currentBlockHash: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: HashToStringSchema,\n from: HashFromStringSchema,\n },\n },\n xyoViewer_currentBlockNumber: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: BlockNumberSchema,\n from: BlockNumberSchema,\n },\n },\n xyoViewer_transactionByBlockHashAndIndex: {\n params: {\n to: z.tuple([HashToStringSchema, z.number()]),\n from: z.tuple([HashFromStringSchema, z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByBlockNumberAndIndex: {\n params: {\n to: z.tuple([z.number(), z.number()]),\n from: z.tuple([z.number(), z.number()]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n xyoViewer_transactionByHash: {\n params: {\n to: z.tuple([HashToStringSchema]),\n from: z.tuple([HashFromStringSchema]),\n },\n result: {\n to: SignedHydratedTransactionSchema.nullable(),\n from: SignedHydratedTransactionSchema.nullable(),\n },\n },\n}\n","import type { RpcSchemaMap } from './RpcSchemaMap.ts'\nimport { XyoProviderRpcSchemas } from './XyoProviderRpcSchemas.ts'\nimport { XyoRunnerRpcSchemas } from './XyoRunnerRpcSchemas.ts'\nimport { XyoSignerRpcSchemas } from './XyoSignerRpcSchemas.ts'\nimport { XyoViewerRpcSchemas } from './XyoViewerRpcSchemas.ts'\n\nexport const AllRpcSchemas: RpcSchemaMap = {\n ...XyoProviderRpcSchemas,\n ...XyoRunnerRpcSchemas,\n ...XyoSignerRpcSchemas,\n ...XyoViewerRpcSchemas,\n}\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createRequestSchema = <TParams extends z.ZodTypeAny, TMethodName extends string = string>(\n methodName: TMethodName,\n paramsSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n method: z.literal(methodName),\n params: paramsSchema,\n })\n","import type { ZodUndefined } from 'zod'\nimport { z } from 'zod'\n\nimport { jsonrpc } from '../JsonRpc.ts'\n\nexport const createResponseSchema = <TParams extends z.ZodTypeAny>(\n resultSchema: TParams | ZodUndefined = z.undefined(),\n) =>\n z.object({\n id: z.union([z.string(), z.number()]),\n jsonrpc: z.literal(jsonrpc),\n result: resultSchema,\n })\n","import type { Hex } from '@xylabs/hex'\nimport { z } from 'zod'\n\nimport type { XyoGatewayRpcMethodName } from '../XyoGatewayRpc.ts'\nimport { BlockBoundWitnessSchema, HydratedTransactionSchema } from './common/index.ts'\nimport type { RpcSchemaMap } from './RpcSchemaMap.ts'\n\nexport const ChainConnectionSchema = z.object({\n chainId: z.union([z.string(), z.custom<Hex>()]).optional(),\n name: z.string(),\n url: z.string(),\n})\n\nexport const CaveatTypesSchema = z.enum(['chain', 'expiration', 'filteredResponse', 'rateLimit'])\n\nexport const CaveatsSchema = z.object({\n type: CaveatTypesSchema,\n value: z.unknown(), // JsonValue is usually unknown, adjust if you have a stricter type\n})\n\nexport const PermissionSchema = z.object({\n capability: z.string(),\n caveats: CaveatsSchema.array().optional(),\n invoker: z.string(),\n})\n\nexport const InvokerPermissionSchema = PermissionSchema.extend({ date: z.number().optional() })\n\nexport type ChainConnection = z.infer<typeof ChainConnectionSchema>\n\nexport const XyoGatewayRpcSchemas: RpcSchemaMap<XyoGatewayRpcMethodName> = {\n /*\n xyoGateway_addConnection: {\n params: {\n to: z.tuple([ChainConnectionSchema]),\n from: z.tuple([ChainConnectionSchema]),\n },\n result: {\n to: z.tuple([z.boolean()]),\n from: z.tuple([z.boolean()]),\n },\n },\n xyoGateway_connections: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(ChainConnectionSchema),\n from: z.array(ChainConnectionSchema),\n },\n },\n xyoGateway_getPermissions: {\n params: {\n to: z.array(z.any()).length(0).optional(),\n from: z.array(z.any()).length(0).optional(),\n },\n result: {\n to: z.array(InvokerPermissionSchema),\n from: z.array(InvokerPermissionSchema),\n },\n },\n xyoGateway_requestPermissions: {\n params: {\n to: z.array(PermissionSchema),\n from: z.array(PermissionSchema),\n },\n result: {\n to: z.boolean(),\n from: z.boolean(),\n },\n },\n xyoGateway_revokePermissions: {\n params: {\n to: z.array(PermissionSchema),\n from: z.array(PermissionSchema),\n },\n result: {\n to: z.boolean(),\n from: z.boolean(),\n },\n },\n xyoGateway_activeConnection: {\n params: {\n from: z.never(),\n to: z.never(),\n },\n result: {\n from: z.string().optional(),\n to: z.string().optional(),\n },\n },\n */\n xyoGateway_submitTransaction: {\n params: {\n from: z.array(\n HydratedTransactionSchema,\n ),\n to: z.array(\n HydratedTransactionSchema,\n ),\n },\n result: {\n from: BlockBoundWitnessSchema,\n to: BlockBoundWitnessSchema,\n },\n },\n}\n","import type { JsonRpcEngine } from '@metamask/json-rpc-engine'\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport { isObject } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../types/index.ts'\nimport {\n AllRpcSchemas, createRequestSchema, createResponseSchema, jsonrpc,\n} from '../types/index.ts'\nimport type { RpcTransport } from './RpcTransport.ts'\n\nexport class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {\n protected readonly _rpcEngine: JsonRpcEngine\n protected readonly _schemas: T\n protected readonly requestSchemas: Record<string, z.AnyZodObject> = {}\n protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}\n\n constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {\n this._rpcEngine = rpcEngine\n this._schemas = schemas\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n // Get schema for method\n // Get handler for method\n const schema = this._schemas[method]\n let requestSchema = this.requestSchemas[method]\n if (!isObject(requestSchema)) {\n requestSchema = createRequestSchema(method, schema.params.to)\n this.requestSchemas[method] = requestSchema\n }\n const req: JsonRpcRequest = {\n jsonrpc, id: v4(), method: method as string, params,\n }\n const request = requestSchema.parse(req) as JsonRpcRequest\n const response = await this._rpcEngine.handle(request)\n let responseSchema = this.responseSchemas[method]\n if (!isObject(responseSchema)) {\n responseSchema = createResponseSchema(schema.result.from)\n this.responseSchemas[method] = responseSchema\n }\n return responseSchema.parse(response)?.result\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { JsonRpcRequest } from '@metamask/utils'\nimport {\n isJsonRpcError,\n isJsonRpcSuccess,\n} from '@metamask/utils'\nimport { isDefined } from '@xylabs/typeof'\nimport { v4 } from 'uuid'\nimport type { z } from 'zod'\n\nimport type { RpcSchemaMap } from '../../types/index.ts'\nimport { jsonrpc, XyoGatewayRpcSchemas } from '../../types/index.ts'\nimport type { RpcTransport } from '../RpcTransport.ts'\nimport { isRpcError } from './helpers.ts'\nimport { resolvedEvent } from './resolveData.ts'\n\nconst isValidBaseRpcEvent = (data: any) => {\n return !!(data && typeof data === 'object'\n && 'jsonrpc' in data && data.jsonrpc === '2.0'\n && 'method' in data && typeof data.method === 'string'\n && 'id' in data && typeof data.id === 'string')\n}\n\nconst isRpcResponse = (data: any, targetId: string) => {\n return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && 'result' in data && Array.isArray(data.result)\n}\n\n/** @deprecated - now part of a client gateway */\nexport class LegacyPostMessageRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {\n protected readonly destination?: string\n protected readonly schemas: T\n protected readonly sessionId?: string\n\n constructor(defaultDestination?: string, schemas: T = XyoGatewayRpcSchemas as T, sessionId?: string) {\n this.schemas = schemas\n this.destination = defaultDestination\n this.sessionId = sessionId\n }\n\n async sendRequest<\n TMethod extends keyof T & string,\n >(\n method: TMethod,\n params?: z.infer<T[TMethod]['params']['to']>,\n ): Promise<z.infer<T[TMethod]['result']['from']>> {\n 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.infer<TSchemas[TMethod]['params']['to']>,\n ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {\n const body: JsonRpcRequest = {\n jsonrpc,\n id,\n method: method as string,\n }\n\n body.params = (isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params\n\n return await new Promise((resolve, reject) => {\n const id = body.id\n\n const handler = (event: MessageEvent) => {\n if (event.origin !== globalThis.window.origin) return\n if (!isRpcResponse(event.data, id as string)) return\n const data = resolvedEvent(event, id as string)\n if (data === false) return\n\n globalThis.removeEventListener('message', handler)\n\n if (data.legacyEventData) {\n // Handle legacy event data\n if (data.legacyEventData.result.some(isRpcError)) {\n reject(data.legacyEventData.result[0])\n } else {\n resolve(data.legacyEventData.result[0])\n }\n return\n }\n\n if (data.eventData) {\n // Handle new event data\n if (isJsonRpcError(data.eventData)) {\n reject(data.eventData)\n return\n }\n if (isJsonRpcSuccess(data.eventData)) {\n resolve(data.eventData)\n return\n }\n reject(new Error('Unexpected response format'))\n }\n }\n\n globalThis.addEventListener('message', handler)\n\n globalThis.postMessage(\n {\n data: body,\n destination: this.destination,\n sessionId: this.sessionId,\n },\n globalThis.location.origin,\n )\n })\n }\n}\n\n/** @deprecated - use LegacyPostMessageRpcTransport but rely on wallet release > 1.17.1 to handle the postMessage flow */\nexport const PostMessageRpcTransport = LegacyPostMessageRpcTransport\n","import type { JsonRpcRequest } from '@metamask/utils'\nimport type { JsonObject } from '@xylabs/object'\n\n/** @deprecated - no longer part of the public rpc implementation */\nexport type JsonRpcRequestWithId = JsonRpcRequest & {\n id: string\n}\n\n/** @deprecated - no longer part of the public rpc implementation */\nexport interface RpcError extends JsonObject {\n error: boolean\n message: string\n}\n\n/** @deprecated - no longer part of the public rpc implementation */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, sonarjs/deprecation\nexport const isRpcError = (data: any): data is RpcError => {\n return (\n data\n && typeof data === 'object'\n && 'error' in data\n && data.error\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * NOTE: This file is to help resolve the data from a postMessage event in the transport\n * layer. Older implementations require the id to be at the top level, while newer\n * implementations nest the id inside a data object. Once the wallet extension is updated\n * to always use the nested structure, this file can be removed.\n */\n\ntype ResolvedEventData = {\n eventData?: any\n legacyEventData?: any\n}\n\n// If the id is present in the eventData and matches the targetId, return the eventData\n// and mark it as legacyEventData since newer implementations nest the id inside a data object\nconst hasMatchingId = (eventData: any, targetId: string): false | ResolvedEventData => {\n return eventData?.id === targetId ? { legacyEventData: eventData } : false\n}\n\n// If the id is present in the data object of the eventData and matches the targetId,\n// return the eventData as eventData so its clear that this is a newer implementation\nconst hasMatchingNestedId = (eventData: any, targetId: string): false | ResolvedEventData => {\n return eventData?.data?.id === targetId ? { eventData: eventData.data } : false\n}\n\nexport const resolvedEvent = (event: MessageEvent, targetId: string): false | ResolvedEventData => {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n return hasMatchingId(event.data, targetId) || hasMatchingNestedId(event.data, targetId)\n}\n","import type { JsonRpcRequest } from '@metamask/utils'\nimport type { JsonValue } from '@xylabs/object'\n\nexport interface SessionMessageEnvelope<T extends JsonValue> {\n data: T\n destination?: string\n sessionId: string\n}\n\n/** Only intended for web pages where the xyo global object was injected */\n/** @deprecated - this is now handled in the wallet extension */\nexport const buildSessionMessageRequest = <T extends JsonRpcRequest>(data: T, destination?: string) => {\n const request: SessionMessageEnvelope<T> = {\n data,\n destination,\n sessionId: globalThis.xyo.walletExtensionId() ?? '',\n }\n\n return request\n}\n","import type { Hash } from '@xylabs/hex'\nimport { ObjectHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport {\n type DataLakeData,\n isHashPayload,\n type XyoDataLakeProvider,\n} from '@xyo-network/xl1-protocol'\n\nexport abstract class AbstractXyoDataLake implements XyoDataLakeProvider {\n async fetch(hashes: Hash[], maxDepth: number = 10): Promise<DataLakeData[]> {\n const results: DataLakeData[] = await this.get(hashes)\n if (maxDepth > 0) {\n const hashPayloads = results.filter(isHashPayload)\n const otherPayloads = results.filter(item => !isHashPayload(item))\n const found = await this.fetch(hashPayloads.map(item => item.hash), maxDepth - 1)\n const foundHashes = await Promise.all(found.map(async item => isAnyPayload(item) ? await PayloadBuilder.hash(item) : ObjectHasher.hashBytes(item)))\n const notFound = hashPayloads.filter(item => !foundHashes.includes(item.hash))\n return [...otherPayloads, ...found, ...notFound]\n }\n return results\n }\n\n async trace(hash: Hash): Promise<[DataLakeData | undefined, Payload[]]> {\n const [result] = await this.get([hash])\n if (isHashPayload(result)) {\n const [payload, route] = await this.trace(result.hash)\n return [payload, [result, ...route]]\n }\n return [result, []]\n }\n\n abstract add(items: DataLakeData[]): Promise<DataLakeData[]>\n\n abstract get(hashes: Hash[]): Promise<DataLakeData[]>\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Hash } from '@xylabs/hex'\nimport type { ReadWriteArchivist } from '@xyo-network/archivist-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport { type DataLakeData } from '@xyo-network/xl1-protocol'\n\nimport { AbstractXyoDataLake } from './AbstractXyoDataLake.ts'\n\nexport class ArchivistXyoDataLake extends AbstractXyoDataLake {\n private _archivist: ReadWriteArchivist\n\n constructor(archivist: ReadWriteArchivist) {\n super()\n this._archivist = archivist\n }\n\n async add(items: DataLakeData[]): Promise<DataLakeData[]> {\n const payloads = items.filter(isAnyPayload)\n assertEx(payloads.length === items.length, () => 'Some items are not payloads')\n return await this._archivist.insert(payloads)\n }\n\n async get(hashes: Hash[]): Promise<DataLakeData[]> {\n return await this._archivist.get(hashes)\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { AxiosJson } from '@xylabs/axios'\nimport { exists } from '@xylabs/exists'\nimport type { Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport { isArrayBuffer, isDefined } from '@xylabs/typeof'\nimport { isAnyPayload, type Payload } from '@xyo-network/payload-model'\nimport { type DataLakeData, isHashPayload } from '@xyo-network/xl1-protocol'\nimport { Axios } from 'axios'\n\nimport { AbstractXyoDataLake } from './AbstractXyoDataLake.ts'\n\nexport class HttpXyoDataLake extends AbstractXyoDataLake {\n private _axiosGet: Axios\n private _axiosInsertBlob: Axios\n private _axiosInsertJson: AxiosJson\n private _endpoint: string\n\n constructor(endpoint: string) {\n super()\n this._endpoint = endpoint\n this._axiosInsertJson = new AxiosJson({ baseURL: endpoint })\n this._axiosInsertBlob = new Axios({ baseURL: endpoint, headers: { 'Content-Type': 'application/octet-stream', 'Accept': 'application/octet-stream' } })\n this._axiosGet = new Axios({ baseURL: endpoint, headers: { 'Content-Type': 'application/json', 'Accept': 'application/octet-stream, application/json' } })\n }\n\n get endpoint(): string {\n return this._endpoint\n }\n\n async add(items: DataLakeData[]): Promise<DataLakeData[]> {\n const results: DataLakeData[] = []\n for (const item of items) {\n if (isAnyPayload(item)) {\n const result = await this.addPayload(item)\n if (isAnyPayload(result)) {\n results.push(result)\n } else if (isDefined(result)) {\n assertEx(false, () => 'Expected result to be a Payload')\n }\n } else if (isArrayBuffer(item)) {\n const result = await this.addArrayBuffer(item)\n if (isAnyPayload(result)) {\n results.push(result)\n } else if (isDefined(result)) {\n assertEx(false, () => 'Expected result to be a Payload')\n }\n }\n }\n return results\n }\n\n async get(hashes: Hash[]): Promise<DataLakeData[]> {\n return (await Promise.all(hashes.map(async (hash) => {\n return await this.getOne(hash)\n }))).filter(exists)\n }\n\n protected async addArrayBuffer(item: ArrayBuffer): Promise<ArrayBuffer | undefined> {\n const result = await this._axiosInsertBlob.post('/insert', item)\n if (result.status < 200 || result.status >= 300) {\n throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`)\n }\n if (!isArrayBuffer(result.data)) {\n throw new Error('Invalid response from server (expected a ArrayBuffer)')\n }\n\n return result.data\n }\n\n protected async addPayload(item: Payload): Promise<Payload | undefined> {\n const result = await this._axiosInsertJson.post('/insert', item)\n if (result.status < 200 || result.status >= 300) {\n throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`)\n }\n if (!isAnyPayload(result.data)) {\n throw new Error('Invalid response from server (expected a Payload)')\n }\n\n return result.data\n }\n\n protected async fetchOne(hash: Hash, maxDepth: number = Number.MAX_SAFE_INTEGER): Promise<DataLakeData | undefined> {\n if (maxDepth <= 0) {\n return undefined\n }\n const result = await this.getOne(hash)\n if (isHashPayload(result)) {\n return await this.fetchOne(result.hash, maxDepth - 1)\n }\n return result\n }\n\n protected getOne(hash: Hash): Promisable<DataLakeData | undefined> {\n return this._axiosGet.get(`/get/${hash}`).then((response) => {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`Failed to get item [${response.status}]: ${response.statusText}`)\n }\n if (!isAnyPayload(response.data)) {\n throw new Error('Invalid response from server (expected a Payload)')\n }\n return response.data\n })\n }\n}\n","import { type Hash } from '@xylabs/hex'\nimport type { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoRunnerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoRunner implements XyoRunner {\n protected readonly transport: RpcTransport<typeof XyoRunnerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoRunnerRpcSchemas>) {\n this.transport = transport\n }\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoRunner implements XyoRunner {\n protected _archivist: MemoryArchivist | undefined\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n const archivist = await this.getArchivist()\n await archivist.insert(flattenHydratedTransaction(transaction))\n return await PayloadBuilder.hash(transaction[0])\n }\n\n protected async getArchivist(): Promise<MemoryArchivist> {\n if (!this._archivist) {\n this._archivist = await MemoryArchivist.create({ account: 'random' })\n }\n return this._archivist\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { type Hash } from '@xylabs/hex'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { PayloadBundle } from '@xyo-network/payload-model'\nimport { PayloadBundleSchema } from '@xyo-network/payload-model'\nimport type {\n HydratedTransaction,\n XyoRunner,\n} from '@xyo-network/xl1-protocol'\nimport { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class NodeXyoRunner implements XyoRunner {\n // TODO: Make configurable with defaults\n protected readonly node: NodeInstance\n protected readonly pendingArchivistPath: ModuleIdentifier = 'XYOChain:Pending:PendingTransactions'\n\n private _pendingArchivist: ArchivistInstance | undefined\n\n constructor(node: NodeInstance) {\n this.node = node\n }\n\n async broadcastTransaction(transaction: HydratedTransaction): Promise<Hash> {\n const flattened = flattenHydratedTransaction(transaction)\n\n const pendingArchivist = await this.getPendingArchivist()\n\n const txHash = await PayloadBuilder.hash(transaction[0])\n const payloadBundle: PayloadBundle = {\n schema: PayloadBundleSchema, payloads: flattened, root: txHash,\n }\n\n await pendingArchivist.insert([payloadBundle])\n\n return txHash\n }\n\n protected getArchivist = async (identifier: ModuleIdentifier) => {\n const archivist = await this.node.resolve(identifier)\n return assertEx(asArchivistInstance(archivist), () => `Error: Could not resolve ${identifier} to an archivist instance`)\n }\n\n protected getPendingArchivist = async () => {\n if (this._pendingArchivist) return this._pendingArchivist\n this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath)\n return assertEx(this._pendingArchivist, () => `Error: Could not resolve pending archivist at ${this.pendingArchivistPath}`)\n }\n}\n","import { type Address } from '@xylabs/hex'\nimport type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n TransactionBoundWitness,\n TransactionFeesBigInt,\n XyoSigner,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoSignerRpcSchemas } from '../../types/index.ts'\n\nexport class RpcXyoSigner implements XyoSigner {\n protected readonly transport: RpcTransport<typeof XyoSignerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>) {\n this.transport = transport\n }\n\n async address(): Promise<Address> {\n return await this.transport.sendRequest('xyoSigner_address')\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [\n chain,\n elevatedPayloads,\n additionalPayloads,\n nbf,\n exp,\n fees,\n from,\n ])\n }\n\n async signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<[Signed<TransactionBoundWitness>, Payload[]]> {\n return await this.transport.sendRequest('xyoSigner_signTransaction', [\n tx,\n ])\n }\n}\n\n/**\n * @deprecated Use `RpcXyoSigner` instead.\n */\nexport class JsonRpcXyoSigner extends RpcXyoSigner {}\n","import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'\nimport { type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildTransaction, signTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport class MemoryXyoSigner implements XyoSigner {\n protected readonly _account: AccountInstance\n\n constructor(account: AccountInstance) {\n this._account = account\n }\n\n address(): Address {\n return this._account.address\n }\n\n async createSignedTransaction(\n chain: Address,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promise<Signed<TransactionBoundWitness>> {\n const fromAddress = from ?? this._account.address\n const transaction = await buildTransaction(\n chain,\n elevatedPayloads,\n additionalPayloads,\n this._account,\n nbf,\n exp,\n fromAddress,\n fees,\n )\n return transaction[0]\n }\n\n async signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<[Signed<TransactionBoundWitness>, Payload[]]> {\n const txBW = await signTransaction(tx[0], this._account)\n return [txBW, tx[1]]\n }\n}\n","import { type Address, type Hash } from '@xylabs/hex'\nimport type {\n HydratedBlock, HydratedTransaction,\n TransactionBoundWitness,\n Transfer,\n XyoViewer,\n} from '@xyo-network/xl1-protocol'\n\nimport type { RpcTransport } from '../../transport/index.ts'\nimport type { XyoViewerRpcSchemas } from '../../types/index.ts'\nexport class JsonRpcXyoViewer implements XyoViewer {\n protected readonly transport: RpcTransport<typeof XyoViewerRpcSchemas>\n\n constructor(transport: RpcTransport<typeof XyoViewerRpcSchemas>) {\n this.transport = transport\n }\n\n async accountBalance(address: Address): Promise<bigint> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async accountHistory(address: Address): Promise<[TransactionBoundWitness[], Transfer[]]> {\n return await this.transport.sendRequest('xyoViewer_accountBalance', [address])\n }\n\n async blockByHash(hash: Hash): Promise<HydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])\n }\n\n async blockByNumber(blockNumber: number): Promise<HydratedBlock | null> {\n return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])\n }\n\n async blocksByHash(hash: Hash, limit?: number): Promise<HydratedBlock[]> {\n return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])\n }\n\n async chainId(): Promise<Address> {\n return await this.transport.sendRequest('xyoViewer_chainId')\n }\n\n async currentBlock(): Promise<HydratedBlock> {\n return await this.transport.sendRequest('xyoViewer_currentBlock')\n }\n\n async currentBlockHash(): Promise<Hash> {\n return await this.transport.sendRequest('xyoViewer_currentBlockHash')\n }\n\n async currentBlockNumber(): Promise<number> {\n return await this.transport.sendRequest('xyoViewer_currentBlockNumber')\n }\n\n async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])\n }\n\n async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])\n }\n\n async transactionByHash(transactionHash: Hash): Promise<HydratedTransaction | null> {\n return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Address, Hex } from '@xylabs/hex'\nimport type { Signed } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isAnyPayload, type Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n HydratedTransaction,\n TransactionBoundWitness, TransactionFeesBigInt,\n TransactionOptions, XyoConnectionProvider, XyoDataLakeProvider, XyoDataLakeViewer, XyoNetwork, XyoRunner, XyoSigner, XyoViewer,\n} from '@xyo-network/xl1-protocol'\nimport { defaultTransactionFees, isDataLakeProvider } from '@xyo-network/xl1-protocol'\nimport { HydratedTransactionWrapper } from '@xyo-network/xl1-wrappers'\n\nexport class XyoConnection implements XyoConnectionProvider {\n private readonly _network?: XyoNetwork\n private readonly _runner?: XyoRunner\n private readonly _signer?: XyoSigner\n private readonly _storage?: XyoDataLakeProvider | XyoDataLakeViewer\n private readonly _viewer?: XyoViewer\n\n constructor(params?: {\n network?: XyoNetwork\n runner?: XyoRunner\n signer?: XyoSigner\n storage?: XyoDataLakeProvider | XyoDataLakeViewer\n viewer?: XyoViewer\n }) {\n this._network = params?.network\n this._runner = params?.runner\n this._signer = params?.signer\n this._storage = params?.storage\n this._viewer = params?.viewer\n }\n\n get network(): XyoNetwork | undefined {\n return this._network\n }\n\n get runner(): XyoRunner | undefined {\n return this._runner\n }\n\n /** @deprecated use signer from gateway instead */\n get signer(): XyoSigner | undefined {\n return this._signer\n }\n\n get storage(): XyoDataLakeProvider | XyoDataLakeViewer | undefined {\n return this._storage\n }\n\n get viewer(): XyoViewer | undefined {\n return this._viewer\n }\n\n /** @deprecated use submitTransaction instead */\n async send(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n chain?: Hex,\n nbf?: number,\n exp?: number,\n from?: Address,\n fees?: TransactionFeesBigInt,\n ): Promise<Signed<TransactionBoundWitness>> {\n // eslint-disable-next-line sonarjs/deprecation\n return (await this.submitTransaction(elevatedPayloads, additionalPayloads, {\n chain, nbf, exp, from, fees,\n }))[0]\n }\n\n /** @deprecated use addPayloadsToChain from gateway instead */\n async submitTransaction(\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n {\n chain, exp, fees, from, nbf,\n }: TransactionOptions = {},\n ): Promise<HydratedTransaction> {\n const viewer = assertEx(this.viewer, () => 'No viewer available')\n // eslint-disable-next-line sonarjs/deprecation\n const signer = assertEx(this.signer, () => 'No signer available')\n const runner = assertEx(this.runner, () => 'No runner available')\n const storage = this.storage\n const chainResolved = chain ?? await viewer.chainId()\n if (chainResolved === undefined) throw new Error('Failed to determine chain')\n const nbfResolved = Math.max(await viewer.currentBlockNumber() ?? 0, nbf ?? 0)\n const expResolved = exp ?? (nbfResolved + 1000)\n const feesResolved = fees ?? defaultTransactionFees\n const fromResolved = from ?? await signer.address()\n if (fromResolved === undefined) throw new Error('Failed to determine from address')\n // eslint-disable-next-line sonarjs/deprecation\n const signedTransaction = assertEx(await signer.createSignedTransaction(\n chainResolved,\n elevatedPayloads,\n additionalPayloads,\n nbfResolved,\n expResolved,\n feesResolved,\n fromResolved,\n ), () => 'Failed to create transaction')\n const hydratedTransaction: HydratedTransaction = [await PayloadBuilder.addStorageMeta(signedTransaction),\n await PayloadBuilder.addStorageMeta(elevatedPayloads)]\n\n // if storage configured, add the external payloads to it\n if (isDataLakeProvider(storage)) {\n const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction)\n await storage.add(Object.values(wrapper.externalPayloads).filter(isAnyPayload))\n }\n\n assertEx(await runner.broadcastTransaction(hydratedTransaction), () => 'Failed to broadcast transaction')\n\n return hydratedTransaction\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Hash } from '@xylabs/hex'\nimport type { Promisable } from '@xylabs/promise'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type {\n AllowedBlockPayload,\n SignedHydratedTransaction,\n XyoConnectionProvider, XyoGatewayProvider, XyoSigner,\n} from '@xyo-network/xl1-protocol'\nimport { buildUnsignedTransaction } from '@xyo-network/xl1-protocol-sdk'\n\nexport abstract class AbstractXyoGateway implements XyoGatewayProvider {\n async addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, SignedHydratedTransaction]> {\n const connection = await this.connection()\n const viewer = assertEx(connection.viewer, () => 'No viewer available on connection')\n const signer = await this.signer()\n const chainId = await viewer.chainId()\n const nbf = await viewer.currentBlockNumber()\n const tx = await buildUnsignedTransaction(chainId, onChain, offChain, nbf, nbf + 1000, await signer.address())\n const hash = await this.addTransactionToChain(tx)\n return [hash, tx]\n }\n\n async addTransactionToChain(tx: SignedHydratedTransaction): Promise<Hash> {\n const connection = await this.connection()\n const signer = await this.signer()\n const runner = assertEx(connection.runner, () => 'No runner available on connection')\n const signedTx = await signer.signTransaction(tx)\n return await runner.broadcastTransaction(\n [await PayloadBuilder.addStorageMeta(signedTx[0]),\n await PayloadBuilder.addStorageMeta(signedTx[1])],\n )\n }\n\n /** @deprecated use addPayloadsToChain instead */\n async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<SignedHydratedTransaction> {\n const connection = await this.connection()\n // eslint-disable-next-line sonarjs/deprecation\n assertEx(connection.submitTransaction, () => 'Active connection does not support transaction submission')\n // eslint-disable-next-line sonarjs/deprecation\n const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads)\n return assertEx(tx, () => 'Transaction submission failed')\n }\n\n abstract connection(): Promisable<XyoConnectionProvider>\n abstract signer(): Promisable<XyoSigner>\n}\n","import type { XyoConnectionProvider, XyoSigner } from '@xyo-network/xl1-protocol'\n\nimport { AbstractXyoGateway } from './Abstract.ts'\n\nexport class MemoryXyoGateway extends AbstractXyoGateway {\n private readonly _connection: XyoConnectionProvider\n private readonly _signer: XyoSigner\n\n constructor(signer: XyoSigner, connection: XyoConnectionProvider) {\n super()\n this._signer = signer\n this._connection = connection\n }\n\n connection(): XyoConnectionProvider {\n return this._connection\n }\n\n signer(): XyoSigner {\n return this._signer\n }\n}\n","import { isUndefined } from '@xylabs/typeof'\nimport type {\n GatewayName,\n NetworkStatus, XyoNetwork,\n} from '@xyo-network/xl1-protocol'\nimport { isNetworkStatus } from '@xyo-network/xl1-protocol'\nimport axios from 'axios'\n\nimport {\n errorStatus, StatusNetworks, unknownStatus,\n} from './lib/index.ts'\n\nexport class MemoryXyoNetwork implements XyoNetwork {\n protected readonly _networkId: GatewayName\n\n constructor(networkId: GatewayName) {\n this._networkId = networkId\n }\n\n async status(): Promise<NetworkStatus> {\n const statusNetwork = StatusNetworks[this._networkId]\n if (isUndefined(statusNetwork)) {\n throw new Error(`Unknown status network ID: ${this._networkId}`)\n }\n\n return await this.makeRequest(statusNetwork.statusUrl)\n }\n\n private async makeRequest(url: string): Promise<NetworkStatus> {\n try {\n const response = await axios.get(url)\n if (isNetworkStatus(response.data)) {\n return response.data\n } else {\n if (response.status === 200) {\n console.error('Unknown network status response:', response.data)\n\n return unknownStatus\n }\n return errorStatus\n }\n } catch (error) {\n console.error('Error fetching network status:', error)\n return errorStatus\n }\n }\n}\n","import type { NetworkStatus } from '@xyo-network/xl1-protocol'\nimport { NetworkStatusSchema } from '@xyo-network/xl1-protocol'\n\nexport const unknownStatus: NetworkStatus = {\n description: 'Unknown Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n\nexport const errorStatus: NetworkStatus = {\n description: 'Error Fetching Network Status',\n schema: NetworkStatusSchema,\n state: 'unknown',\n}\n","import type { GatewayName } from '@xyo-network/xl1-protocol'\n\nexport type StatusNetwork = {\n id: GatewayName\n statusUrl: string\n}\n\nexport const MainNetworkStats: StatusNetwork = {\n id: 'mainnet' as GatewayName,\n statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',\n}\n\nexport const SequenceNetworkStats: StatusNetwork = {\n id: 'sequence' as GatewayName,\n statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',\n}\n\nexport const LocalNetworkStats: StatusNetwork = {\n id: 'local' as GatewayName,\n statusUrl: 'http://localhost:3002/chain-network-status-local.json',\n}\n\nexport const StatusNetworks: Record<GatewayName, StatusNetwork> = {\n ['mainnet' as GatewayName]: MainNetworkStats,\n ['sequence' as GatewayName]: SequenceNetworkStats,\n ['local' as GatewayName]: LocalNetworkStats,\n}\n"],"mappings":"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","names":["isDefined","isDataLakeProvider","z","z","z","z","z","toHex","HexRegEx","z","z","z","toHex","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","v4","v4","v4","v4","id","isAnyPayload","isAnyPayload","assertEx","AxiosJson","isDefined","isAnyPayload","isHashPayload","AxiosJson","isAnyPayload","isDefined","assertEx","isHashPayload","PayloadBuilder","assertEx","PayloadBuilder","flattenHydratedTransaction","assertEx","PayloadBuilder","isAnyPayload","isDefined","isDataLakeProvider","assertEx","PayloadBuilder"]}
@@ -1,12 +1,12 @@
1
1
  import type { Hash } from '@xylabs/hex';
2
2
  import type { Promisable } from '@xylabs/promise';
3
3
  import type { Payload } from '@xyo-network/payload-model';
4
- import { type AllowedBlockPayload, type HydratedTransaction, type XyoConnectionProvider, type XyoGatewayProvider, type XyoSigner } from '@xyo-network/xl1-protocol';
4
+ import type { AllowedBlockPayload, SignedHydratedTransaction, XyoConnectionProvider, XyoGatewayProvider, XyoSigner } from '@xyo-network/xl1-protocol';
5
5
  export declare abstract class AbstractXyoGateway implements XyoGatewayProvider {
6
- addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, HydratedTransaction]>;
7
- addTransactionToChain(tx: HydratedTransaction): Promise<Hash>;
6
+ addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, SignedHydratedTransaction]>;
7
+ addTransactionToChain(tx: SignedHydratedTransaction): Promise<Hash>;
8
8
  /** @deprecated use addPayloadsToChain instead */
9
- submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction>;
9
+ submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<SignedHydratedTransaction>;
10
10
  abstract connection(): Promisable<XyoConnectionProvider>;
11
11
  abstract signer(): Promisable<XyoSigner>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/provider/gateway/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAC9F,MAAM,2BAA2B,CAAA;AAGlC,8BAAsB,kBAAmB,YAAW,kBAAkB;IAC9D,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAW7G,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,iDAAiD;IAC3C,iBAAiB,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS7H,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,qBAAqB,CAAC;IACxD,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;CACzC"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/provider/gateway/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EACrD,MAAM,2BAA2B,CAAA;AAGlC,8BAAsB,kBAAmB,YAAW,kBAAkB;IAC9D,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAWnH,qBAAqB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,iDAAiD;IAC3C,iBAAiB,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IASnI,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,qBAAqB,CAAC;IACxD,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;CACzC"}
@@ -1,5 +1,4 @@
1
1
  import { type Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
2
  import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model';
4
3
  import type { Payload } from '@xyo-network/payload-model';
5
4
  import type { AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner } from '@xyo-network/xl1-protocol';
@@ -10,7 +9,7 @@ export declare class RpcXyoSigner implements XyoSigner {
10
9
  constructor(transport: RpcTransport<typeof XyoSignerRpcSchemas>);
11
10
  address(): Promise<Address>;
12
11
  createSignedTransaction(chain: Address, elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], nbf: number, exp: number, fees: TransactionFeesBigInt, from?: Address): Promise<Signed<TransactionBoundWitness>>;
13
- signTransaction(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]>;
12
+ signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<[Signed<TransactionBoundWitness>, Payload[]]>;
14
13
  }
15
14
  /**
16
15
  * @deprecated Use `RpcXyoSigner` instead.
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcXyoSigner.d.ts","sourceRoot":"","sources":["../../../../src/provider/signer/JsonRpcXyoSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,SAAS,EACV,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE/D,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAA;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAIzD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,uBAAuB,CAC3B,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,EAAE,OAAO,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,qBAAqB,EAC3B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAY3C,eAAe,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CAG3I;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;CAAG"}
1
+ {"version":3,"file":"JsonRpcXyoSigner.d.ts","sourceRoot":"","sources":["../../../../src/provider/signer/JsonRpcXyoSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,SAAS,EACV,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE/D,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAA;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAIzD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,uBAAuB,CAC3B,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,EAAE,OAAO,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,qBAAqB,EAC3B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAYrC,eAAe,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CAK7I;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;CAAG"}
@@ -1,5 +1,4 @@
1
1
  import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
2
  import type { AccountInstance } from '@xyo-network/account-model';
4
3
  import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model';
5
4
  import { type Payload } from '@xyo-network/payload-model';
@@ -9,6 +8,6 @@ export declare class MemoryXyoSigner implements XyoSigner {
9
8
  constructor(account: AccountInstance);
10
9
  address(): Address;
11
10
  createSignedTransaction(chain: Address, elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], nbf: number, exp: number, fees: TransactionFeesBigInt, from?: Address): Promise<Signed<TransactionBoundWitness>>;
12
- signTransaction(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]>;
11
+ signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<[Signed<TransactionBoundWitness>, Payload[]]>;
13
12
  }
14
13
  //# sourceMappingURL=MemoryXyoSigner.d.ts.map