From f7225bbfafc302926349cf1d48f6e60cd676aa36 Mon Sep 17 00:00:00 2001 From: imtianx Date: Thu, 11 Apr 2024 17:00:34 +0800 Subject: [PATCH] fix(btc): switch network --- dist/trust-min.js | 4 ++-- src/btc_provider.js | 40 +++++++++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/dist/trust-min.js b/dist/trust-min.js index 65e72650..1c552b91 100644 --- a/dist/trust-min.js +++ b/dist/trust-min.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ea7f311f1d9f38cab2e69913f05af47e9810540b51a56d08a9b3ccb828ca4f0 -size 1996532 +oid sha256:727e26939acaca96b1f1033621623fb167375116385f5ab45d57dec114037808 +size 1997002 diff --git a/src/btc_provider.js b/src/btc_provider.js index 59a953ff..cd3a8f99 100644 --- a/src/btc_provider.js +++ b/src/btc_provider.js @@ -12,7 +12,7 @@ import Utils from "./utils"; const BtcNetworks = { mainnet: "livenet", // mainnet testnet: "testnet", - segnit: "segnit", + segnet: "segnet", } class TrustBtcWeb3Provider extends BaseProvider { @@ -27,7 +27,7 @@ class TrustBtcWeb3Provider extends BaseProvider { } catch (error) { console.log(error); } - if (!(this._network in BtcNetworks)) { + if (!Object.values(BtcNetworks).includes(this._network)) { this._network = BtcNetworks.mainnet; } } @@ -62,7 +62,8 @@ class TrustBtcWeb3Provider extends BaseProvider { account() { return this._request("requestAccounts", { network: this._network }).then((data) => { this.setAddress(data[0]); - this.printLog(data) + this.printLog(data); + this.emitAccountChanged(data); return data; }); } @@ -84,15 +85,20 @@ class TrustBtcWeb3Provider extends BaseProvider { } switchNetwork(network) { - if (!(network in BtcNetworks)) { - throw Error(`cur network is: ${network},only support networl is :${BtcNetworks}`) + if (!Object.values(BtcNetworks).includes(network)) { + throw Error(`cur network is: ${network},only support networks are :${Object.keys(BtcNetworks).join(', ')}}`) } - this._request("switchNetwork", { network: network }) + return this._request("switchNetwork", { network: network }).then((response) => { + this.printLog(response); + this._network = response; + this.emitNetworkChanged(response); + return response; + }); } signMessage(message, type = "ecdsa") { if (type !== "ecdsa" && type !== "bip322-simple") { - throw Error("Invida params, only support type is: ecdsa | bip322-simple") + throw Error("Invalid params, only support type is: ecdsa | bip322-simple") } return this._request("signMessage", { data: message, type: type }).then((response) => { return response; @@ -100,28 +106,36 @@ class TrustBtcWeb3Provider extends BaseProvider { } signPsbt(psbtHex) { - return this._request("signPsbt", { tx: psbtHex }).then((response) => { - this.printLog(response) + return this._request("signPsbt", { data: psbtHex }).then((response) => { + this.printLog(response); return response; }); } pushPsbt(psbtHex) { - return this._request("pushPsbt", { tx: psbtHex }) + return this._request("pushPsbt", { data: psbtHex }) .then((response) => { - this.printLog(response) + this.printLog(response); return response }); } pushTx(signedTx) { - return this._request("submitTransaction", { tx: signedTx }) + return this._request("submitTransaction", { data: signedTx }) .then((response) => { - this.printLog(response) + this.printLog(response); return response; }); } + emitAccountChanged(data) { + this.emit("accountsChanged", data); + } + + emitNetworkChanged(network) { + this.emit("networkChanged", network); + } + /** * @private Internal rpc handler */