UNPKG

@magiceden/magiceden-sdk

Version:

A TypeScript SDK for interacting with Magic Eden's API across multiple chains.

22 lines (21 loc) 900 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EVMAddressToLowerCaseSchema = exports.EVMAddressSchema = exports.zEVMAddress = void 0; exports.isValidEvmAddress = isValidEvmAddress; const viem_1 = require("viem"); const zod_1 = require("zod"); const VALID_EVM_ADDRESS = /^(((0x)?[0-9a-fA-F]{40})|(XE[0-9]{2}[0-9A-Za-z]{30,31}))$/; exports.zEVMAddress = zod_1.z.string().regex(VALID_EVM_ADDRESS); exports.EVMAddressSchema = zod_1.z.string().superRefine((addr, ctx) => { if (!isValidEvmAddress(addr)) { ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, message: `Invalid EVM address: ${addr}`, }); } return zod_1.z.NEVER; }); exports.EVMAddressToLowerCaseSchema = exports.EVMAddressSchema.transform((addr) => addr.toLowerCase()); function isValidEvmAddress(address) { return (0, viem_1.isAddress)(address); }