UNPKG

@ckb-ccc/core

Version:

Core of CCC - CKBer's Codebase

41 lines (40 loc) 1.35 kB
import WebSocket from "isomorphic-ws"; import { MAINNET_SCRIPTS } from "./clientPublicMainnet.advanced.js"; import { ScriptInfo } from "./clientTypes.js"; import { ClientJsonRpc } from "./jsonRpc/index.js"; /** * @public */ export class ClientPublicMainnet extends ClientJsonRpc { constructor(config) { const hasWebSocket = typeof WebSocket !== "undefined"; super(config?.url ?? (hasWebSocket ? "wss://mainnet.ckb.dev/ws" : "https://mainnet.ckb.dev/"), { ...config, fallbacks: config?.fallbacks ?? (hasWebSocket ? [ "wss://mainnet.ckb.dev/ws", "https://mainnet.ckb.dev/", "https://mainnet.ckbapp.dev/", ] : ["https://mainnet.ckb.dev/", "https://mainnet.ckbapp.dev/"]), }); this.config = config; } get scripts() { return this.config?.scripts ?? MAINNET_SCRIPTS; } get addressPrefix() { return "ckb"; } async getKnownScript(script) { const found = this.scripts[script]; if (!found) { throw new Error(`No script information was found for ${script} on ${this.addressPrefix}`); } return ScriptInfo.from(found); } }