UNPKG

@erc7824/nitrolite

Version:

The Nitrolite SDK empowers developers to build high-performance, scalable web3 applications using state channels. It's designed to provide near-instant transactions and significantly improved user experiences by minimizing direct blockchain interactions.

74 lines (73 loc) 2.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.miscParamsParsers = void 0; const zod_1 = require("zod"); const types_1 = require("../types"); const common_1 = require("./common"); const NetworkInfoObjectSchema = zod_1.z .object({ chain_id: zod_1.z.number(), custody_address: common_1.addressSchema, adjudicator_address: common_1.addressSchema, }) .transform((raw) => ({ chainId: raw.chain_id, custodyAddress: raw.custody_address, adjudicatorAddress: raw.adjudicator_address, })); const GetConfigParamsSchema = zod_1.z .object({ broker_address: common_1.addressSchema, networks: zod_1.z.array(NetworkInfoObjectSchema) }) .strict() .transform((raw) => ({ brokerAddress: raw.broker_address, networks: raw.networks, })); const ErrorParamsSchema = zod_1.z .object({ error: zod_1.z.string() }) .transform((raw) => raw); const RPCEntryObjectSchema = zod_1.z .object({ id: zod_1.z.number(), sender: common_1.addressSchema, req_id: zod_1.z.number(), method: zod_1.z.string(), params: zod_1.z.string(), timestamp: zod_1.z.number(), req_sig: zod_1.z.array(common_1.hexSchema), res_sig: zod_1.z.array(common_1.hexSchema), response: zod_1.z.string(), }) .transform((raw) => ({ id: raw.id, sender: raw.sender, reqId: raw.req_id, method: raw.method, params: raw.params, timestamp: raw.timestamp, reqSig: raw.req_sig, resSig: raw.res_sig, response: raw.response, })); const GetRPCHistoryParamsSchema = zod_1.z .object({ rpc_entries: zod_1.z.array(RPCEntryObjectSchema), }) .transform((raw) => ({ rpcEntries: raw.rpc_entries, })); const GetUserTagParamsSchema = zod_1.z .object({ tag: zod_1.z.string(), }) .strict() .transform((raw) => raw); const parseMessageParams = (params) => { return params; }; exports.miscParamsParsers = { [types_1.RPCMethod.GetConfig]: (params) => GetConfigParamsSchema.parse(params), [types_1.RPCMethod.Error]: (params) => ErrorParamsSchema.parse(params), [types_1.RPCMethod.GetRPCHistory]: (params) => GetRPCHistoryParamsSchema.parse(params), [types_1.RPCMethod.GetUserTag]: (params) => GetUserTagParamsSchema.parse(params), [types_1.RPCMethod.Message]: parseMessageParams, };