btc-wallet 0.3.18 → 0.3.20
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.js +59 -42
- package/dist/index.js.map +3 -3
- package/esm/index.js +59 -42
- package/esm/index.js.map +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -329,7 +329,7 @@ var _network, _event;
|
|
329
329
|
var XverseConnector = class extends BaseConnector {
|
330
330
|
constructor() {
|
331
331
|
super();
|
332
|
-
__privateAdd(this, _network, "
|
332
|
+
__privateAdd(this, _network, "Mainnet");
|
333
333
|
__privateAdd(this, _event, new import_events.default());
|
334
334
|
this.metadata = {
|
335
335
|
id: "xverse",
|
@@ -2589,21 +2589,18 @@ function useBtcWalletSelector() {
|
|
2589
2589
|
return context;
|
2590
2590
|
},
|
2591
2591
|
getNetwork: getNetwork2,
|
2592
|
-
switchNetwork
|
2593
|
-
console.log("switchNetwork:", network);
|
2594
|
-
yield switchNetwork(network);
|
2595
|
-
}),
|
2592
|
+
switchNetwork,
|
2596
2593
|
sendBitcoin: sendBitcoin2
|
2597
2594
|
};
|
2598
2595
|
}, [
|
2599
2596
|
accounts,
|
2600
|
-
context,
|
2601
|
-
disconnect,
|
2602
2597
|
getNetwork2,
|
2603
2598
|
switchNetwork,
|
2599
|
+
sendBitcoin2,
|
2604
2600
|
openConnectModal,
|
2605
2601
|
requestDirectAccount,
|
2606
|
-
|
2602
|
+
context,
|
2603
|
+
disconnect
|
2607
2604
|
]);
|
2608
2605
|
return hook;
|
2609
2606
|
}
|
@@ -3541,6 +3538,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3541
3538
|
getAccounts,
|
3542
3539
|
verifyOwner,
|
3543
3540
|
signMessage,
|
3541
|
+
isSignedIn,
|
3544
3542
|
signAndSendTransaction,
|
3545
3543
|
signAndSendTransactions
|
3546
3544
|
};
|
@@ -3548,25 +3546,43 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3548
3546
|
const currentConfig = isDev ? walletConfig.dev : walletConfig[options.network.networkId];
|
3549
3547
|
const walletNetwork = isDev ? "dev" : options.network.networkId;
|
3550
3548
|
yield initBtcContext();
|
3551
|
-
function setupBtcContextListeners(
|
3549
|
+
function setupBtcContextListeners() {
|
3552
3550
|
return __async(this, null, function* () {
|
3553
|
-
const
|
3551
|
+
const handleConnectionUpdate = () => __async(this, null, function* () {
|
3552
|
+
yield checkBtcNetwork(walletNetwork);
|
3553
|
+
const accountId = state.getAccount();
|
3554
|
+
const btcContext = window.btcContext;
|
3555
|
+
if (accountId && btcContext.account) {
|
3556
|
+
setupWalletButton(walletNetwork, wallet, btcContext);
|
3557
|
+
} else {
|
3558
|
+
removeWalletButton();
|
3559
|
+
setTimeout(() => {
|
3560
|
+
handleConnectionUpdate();
|
3561
|
+
}, 5e3);
|
3562
|
+
}
|
3563
|
+
});
|
3564
|
+
const context = window.btcContext.getContext();
|
3554
3565
|
context.on("updatePublicKey", (btcPublicKey) => __async(this, null, function* () {
|
3555
|
-
|
3556
|
-
|
3557
|
-
initConnected(walletNetwork, wallet);
|
3566
|
+
console.log("updatePublicKey");
|
3567
|
+
const { nearAddress } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
3558
3568
|
emitter.emit("accountsChanged", {
|
3559
|
-
accounts: [{ accountId:
|
3569
|
+
accounts: [{ accountId: nearAddress }]
|
3560
3570
|
});
|
3571
|
+
yield handleConnectionUpdate();
|
3561
3572
|
}));
|
3562
3573
|
context.on("btcLoginError", () => __async(this, null, function* () {
|
3574
|
+
console.log("btcLoginError");
|
3563
3575
|
emitter.emit("accountsChanged", { accounts: [] });
|
3576
|
+
yield handleConnectionUpdate();
|
3564
3577
|
}));
|
3565
3578
|
context.on("btcLogOut", () => __async(this, null, function* () {
|
3579
|
+
console.log("btcLogOut");
|
3566
3580
|
emitter.emit("accountsChanged", { accounts: [] });
|
3581
|
+
yield handleConnectionUpdate();
|
3567
3582
|
}));
|
3583
|
+
yield handleConnectionUpdate();
|
3568
3584
|
if ("autoConnect" in metadata && metadata.autoConnect && localStorage.getItem("near-wallet-selector:selectedWalletId") === '"btc-wallet"') {
|
3569
|
-
yield btcContext.autoConnect();
|
3585
|
+
yield window.btcContext.autoConnect();
|
3570
3586
|
}
|
3571
3587
|
});
|
3572
3588
|
}
|
@@ -3587,7 +3603,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3587
3603
|
delayMs: 500
|
3588
3604
|
}
|
3589
3605
|
);
|
3590
|
-
yield setupBtcContextListeners(
|
3606
|
+
yield setupBtcContextListeners();
|
3591
3607
|
return btcContext;
|
3592
3608
|
});
|
3593
3609
|
}
|
@@ -3598,22 +3614,22 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3598
3614
|
}
|
3599
3615
|
function getNearAccountByBtcPublicKey(btcPublicKey) {
|
3600
3616
|
return __async(this, null, function* () {
|
3601
|
-
const
|
3617
|
+
const nearAddress = yield nearCall2(
|
3602
3618
|
currentConfig.accountContractId,
|
3603
3619
|
"get_chain_signature_near_account_id",
|
3604
3620
|
{ btc_public_key: btcPublicKey }
|
3605
3621
|
);
|
3606
|
-
const
|
3622
|
+
const nearPublicKey = yield nearCall2(
|
3607
3623
|
currentConfig.accountContractId,
|
3608
3624
|
"get_chain_signature_near_account_public_key",
|
3609
3625
|
{ btc_public_key: btcPublicKey }
|
3610
3626
|
);
|
3611
|
-
state.saveAccount(
|
3612
|
-
state.savePublicKey(
|
3627
|
+
state.saveAccount(nearAddress);
|
3628
|
+
state.savePublicKey(nearPublicKey);
|
3613
3629
|
state.saveBtcPublicKey(btcPublicKey);
|
3614
3630
|
return {
|
3615
|
-
|
3616
|
-
|
3631
|
+
nearAddress,
|
3632
|
+
nearPublicKey
|
3617
3633
|
};
|
3618
3634
|
});
|
3619
3635
|
}
|
@@ -3631,12 +3647,11 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3631
3647
|
if (!btcPublicKey) {
|
3632
3648
|
throw new Error("No connected BTC wallet, please connect your BTC wallet first.");
|
3633
3649
|
}
|
3634
|
-
const {
|
3635
|
-
initConnected(walletNetwork, wallet);
|
3650
|
+
const { nearAddress, nearPublicKey } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
3636
3651
|
return [
|
3637
3652
|
{
|
3638
|
-
accountId:
|
3639
|
-
publicKey:
|
3653
|
+
accountId: nearAddress,
|
3654
|
+
publicKey: nearPublicKey
|
3640
3655
|
}
|
3641
3656
|
];
|
3642
3657
|
});
|
@@ -3651,13 +3666,17 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3651
3666
|
const btcContext = window.btcContext;
|
3652
3667
|
if (metadata.syncLogOut) {
|
3653
3668
|
btcContext.logout();
|
3654
|
-
yield delay(300);
|
3655
3669
|
}
|
3656
3670
|
state.clear();
|
3657
3671
|
window.localStorage.removeItem("near-wallet-selector:selectedWalletId");
|
3658
3672
|
removeWalletButton();
|
3659
3673
|
});
|
3660
3674
|
}
|
3675
|
+
function isSignedIn() {
|
3676
|
+
const accountId = state.getAccount();
|
3677
|
+
const publicKey = state.getPublicKey();
|
3678
|
+
return accountId && publicKey;
|
3679
|
+
}
|
3661
3680
|
function getAccounts() {
|
3662
3681
|
return __async(this, null, function* () {
|
3663
3682
|
return [{ accountId: state.getAccount() }];
|
@@ -3891,22 +3910,20 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3891
3910
|
return { txBytes, txHex, hash };
|
3892
3911
|
});
|
3893
3912
|
}
|
3894
|
-
function
|
3913
|
+
function checkBtcNetwork(network) {
|
3895
3914
|
return __async(this, null, function* () {
|
3896
|
-
const
|
3897
|
-
|
3898
|
-
|
3899
|
-
|
3900
|
-
|
3901
|
-
|
3902
|
-
|
3903
|
-
|
3904
|
-
checkAndSetupWalletButton();
|
3905
|
-
}, 5e3);
|
3906
|
-
}
|
3915
|
+
const btcContext = window.btcContext;
|
3916
|
+
if (!btcContext.account)
|
3917
|
+
return;
|
3918
|
+
const btcNetwork = yield btcContext.getNetwork();
|
3919
|
+
console.log("btcNetwork:", btcNetwork, network);
|
3920
|
+
const networkMap = {
|
3921
|
+
livenet: ["mainnet"],
|
3922
|
+
testnet: ["testnet", "dev"]
|
3907
3923
|
};
|
3908
|
-
|
3909
|
-
|
3924
|
+
if (!networkMap[btcNetwork].includes(network)) {
|
3925
|
+
yield btcContext.switchNetwork(btcNetwork === "livenet" ? "testnet" : "livenet");
|
3926
|
+
}
|
3910
3927
|
});
|
3911
3928
|
}
|
3912
3929
|
return wallet;
|
@@ -3950,7 +3967,7 @@ function setupBTCWallet({
|
|
3950
3967
|
|
3951
3968
|
// src/index.ts
|
3952
3969
|
var getVersion = () => {
|
3953
|
-
return "0.3.
|
3970
|
+
return "0.3.20";
|
3954
3971
|
};
|
3955
3972
|
if (typeof window !== "undefined") {
|
3956
3973
|
window.__BTC_WALLET_VERSION = getVersion();
|