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.

33 lines (32 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assetParamsParsers = void 0; const zod_1 = require("zod"); const types_1 = require("../types"); const common_1 = require("./common"); const AssetObjectSchema = zod_1.z .object({ token: common_1.addressSchema, chain_id: zod_1.z.number(), symbol: zod_1.z.string(), decimals: zod_1.z.number() }) .transform((raw) => ({ token: raw.token, chainId: raw.chain_id, symbol: raw.symbol, decimals: raw.decimals, })); const GetAssetsParamsSchema = zod_1.z .object({ assets: zod_1.z.array(AssetObjectSchema), }) .transform((raw) => ({ assets: raw.assets, })); const AssetsParamsSchema = zod_1.z .object({ assets: zod_1.z.array(AssetObjectSchema), }) .transform((raw) => ({ assets: raw.assets, })); exports.assetParamsParsers = { [types_1.RPCMethod.GetAssets]: (params) => GetAssetsParamsSchema.parse(params), [types_1.RPCMethod.Assets]: (params) => AssetsParamsSchema.parse(params), };