UNPKG

@0xsequence/anypay-sdk

Version:

SDK for Anypay functionality

60 lines (59 loc) 2.69 kB
import { Relayer as l } from "@0xsequence/wallet-core"; import n from "./node_modules/.pnpm/isomorphic-fetch@3.0.0_encoding@0.1.13/node_modules/isomorphic-fetch/fetch-npm-browserify.js"; import { useMemo as u } from "react"; import * as o from "./node_modules/.pnpm/viem@2.31.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_zod@3.25.64/node_modules/viem/_esm/chains/index.js"; function a(t) { const e = Object.values(o).find( (r) => r.id === t ); if (!e) throw new Error(`Chain with id ${t} not found`); return e; } function y(t) { if (t === 42161) return new l.Rpc.RpcRelayer( "https://a1b4a8c5d856.ngrok.app/", t, "https://nodes.sequence.app/arbitrum" ); if (t === 8453) return new l.Rpc.RpcRelayer( "https://644a6aeb891e.ngrok.app/", t, "https://nodes.sequence.app/base" ); } function f(t, e) { let r; if (t.env === "local") return e === 42161 ? r = "http://0.0.0.0:9997" : e === 10 ? r = "http://0.0.0.0:9998" : e === 137 ? r = "http://0.0.0.0:9999" : e === 8453 ? r = "http://0.0.0.0:9996" : r = "http://0.0.0.0:9999", r; const p = t.env === "cors-anywhere" ? "http://localhost:8080/https://" : t.env === "dev" && t.useV3Relayers ? "https://v3-" : t.env === "dev" ? "https://dev-relayer.sequence.app" : "https://"; return t.env === "dev" && t.useV3Relayers ? (e === 42161 ? r = "https://v3-arbitrum-relayer.sequence.app" : e === 8453 ? r = "https://v3-base-relayer.sequence.app" : e === 10 ? r = "https://v3-optimism-relayer.sequence.app" : e === 137 ? r = "https://v3-polygon-relayer.sequence.app" : e === 1 ? r = "https://v3-mainnet-relayer.sequence.app" : r = `${p}${a(e).name}-relayer.sequence.app`, r) : (e === 42161 ? r = `${p}arbitrum-relayer.sequence.app` : e === 10 ? r = `${p}optimism-relayer.sequence.app` : e === 137 ? r = `${p}polygon-relayer.sequence.app` : e === 8453 ? r = `${p}base-relayer.sequence.app` : e === 43114 ? r = `${p}avalanche-relayer.sequence.app` : e === 56 ? r = `${p}bsc-relayer.sequence.app` : e === 1 ? r = `${p}mainnet-relayer.sequence.app` : r = `${p}relayer.sequence.app`, r); } function i(t, e) { const r = a(e); if (!r) throw new Error(`Chain with id ${e} not found`); const p = r.rpcUrls.default.http[0]; if (!p) throw new Error(`No RPC URL found for chain ${e}`); const s = f(t, e); return new l.Rpc.RpcRelayer(s, e, p, n); } function v(t) { const e = u(() => /* @__PURE__ */ new Map(), []); return { relayers: e, getRelayer: (p) => { let s = e.get(p); return s || (s = i(t, p), e.set(p, s)), s; }, getBackupRelayer: y }; } export { y as getBackupRelayer, i as getRelayer, v as useRelayers };