import Account from "js-conflux-sdk/dist/types/wallet/Account"; import { Signer } from "./signer"; export class JsonRpcSigner extends Signer { account: Promise; constructor(provider, address: string, account?) { super(provider); this.account = account; this.address = address // this.cfxClient.wallet.set(this.address, this.account); // if (typeof (addressOrIndex) === "string") { // this.address = addressOrIndex; // this.index = null; // this.account = this.getAccountByAddress(addressOrIndex) // } else if (typeof (addressOrIndex) === "number") { // this.index = addressOrIndex; // this.account = this.getAccountByIndex(addressOrIndex) // // this.address = this.account.address; // } } public async getAccount(addressOrIndex: string | number = 0): Promise { var address: string; if (typeof (addressOrIndex) === "string") { address = addressOrIndex; var index = 0; } else if (typeof (addressOrIndex) === "number") { var index = addressOrIndex; const addressArray = await this.cfxClient.request({ method: "cfx_accounts" }); address = addressArray[addressOrIndex]; } var account = await this.cfxClient.getAccount(address) return account; } }