UNPKG

@tan_hoang/test2

Version:
54 lines (53 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Web3Provider = exports.JsonRpcProvider = void 0; const ethers6_1 = require("ethers6"); const js_ext_core_1 = require("@kaiachain/js-ext-core"); const web3rpc_1 = require("@kaiachain/web3rpc"); const signer_1 = require("./signer"); /* eslint-disable no-multi-spaces */ class JsonRpcProvider extends ethers6_1.JsonRpcProvider { constructor(url, network) { super(url, network); const send = (method, params) => { return this.send(method, params); }; this.admin = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.AdminApi); this.debug = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.DebugApi); this.governance = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.GovernanceApi); this.klay = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.KlayApi); this.net = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.NetApi); this.personal = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.PersonalApi); this.txpool = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.TxpoolApi); } } exports.JsonRpcProvider = JsonRpcProvider; class Web3Provider extends ethers6_1.BrowserProvider { constructor(provider, network) { super(provider, network); // temporary solution because this.provider is not receive isKaikas from provider this.provider.isKaikas = provider.isKaikas; const send = (method, params) => { return this.send(method, params); }; this.admin = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.AdminApi); this.debug = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.DebugApi); this.governance = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.GovernanceApi); this.klay = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.KlayApi); this.net = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.NetApi); this.personal = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.PersonalApi); this.txpool = (0, js_ext_core_1.asyncOpenApi)(send, web3rpc_1.TxpoolApi); } async getSigner(addressOrIndex) { if (!addressOrIndex) { addressOrIndex = 0; } if (typeof addressOrIndex === "number") { const accounts = await this.provider.send("eth_accounts", []); (0, ethers6_1.assert)(accounts.length > addressOrIndex, "unknown account #" + addressOrIndex, "UNSUPPORTED_OPERATION", { operation: "getAddress" }); addressOrIndex = await this.provider._getAddress(accounts[addressOrIndex]); } return Promise.resolve(new signer_1.JsonRpcSigner(this, addressOrIndex)); } } exports.Web3Provider = Web3Provider;