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/esm/index.js
CHANGED
@@ -271,7 +271,7 @@ var _network, _event;
|
|
271
271
|
var XverseConnector = class extends BaseConnector {
|
272
272
|
constructor() {
|
273
273
|
super();
|
274
|
-
__privateAdd(this, _network, "
|
274
|
+
__privateAdd(this, _network, "Mainnet");
|
275
275
|
__privateAdd(this, _event, new EventEmitter());
|
276
276
|
this.metadata = {
|
277
277
|
id: "xverse",
|
@@ -2545,21 +2545,18 @@ function useBtcWalletSelector() {
|
|
2545
2545
|
return context;
|
2546
2546
|
},
|
2547
2547
|
getNetwork: getNetwork2,
|
2548
|
-
switchNetwork
|
2549
|
-
console.log("switchNetwork:", network);
|
2550
|
-
yield switchNetwork(network);
|
2551
|
-
}),
|
2548
|
+
switchNetwork,
|
2552
2549
|
sendBitcoin: sendBitcoin2
|
2553
2550
|
};
|
2554
2551
|
}, [
|
2555
2552
|
accounts,
|
2556
|
-
context,
|
2557
|
-
disconnect,
|
2558
2553
|
getNetwork2,
|
2559
2554
|
switchNetwork,
|
2555
|
+
sendBitcoin2,
|
2560
2556
|
openConnectModal,
|
2561
2557
|
requestDirectAccount,
|
2562
|
-
|
2558
|
+
context,
|
2559
|
+
disconnect
|
2563
2560
|
]);
|
2564
2561
|
return hook;
|
2565
2562
|
}
|
@@ -3497,6 +3494,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3497
3494
|
getAccounts,
|
3498
3495
|
verifyOwner,
|
3499
3496
|
signMessage,
|
3497
|
+
isSignedIn,
|
3500
3498
|
signAndSendTransaction,
|
3501
3499
|
signAndSendTransactions
|
3502
3500
|
};
|
@@ -3504,25 +3502,43 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3504
3502
|
const currentConfig = isDev ? walletConfig.dev : walletConfig[options.network.networkId];
|
3505
3503
|
const walletNetwork = isDev ? "dev" : options.network.networkId;
|
3506
3504
|
yield initBtcContext();
|
3507
|
-
function setupBtcContextListeners(
|
3505
|
+
function setupBtcContextListeners() {
|
3508
3506
|
return __async(this, null, function* () {
|
3509
|
-
const
|
3507
|
+
const handleConnectionUpdate = () => __async(this, null, function* () {
|
3508
|
+
yield checkBtcNetwork(walletNetwork);
|
3509
|
+
const accountId = state.getAccount();
|
3510
|
+
const btcContext = window.btcContext;
|
3511
|
+
if (accountId && btcContext.account) {
|
3512
|
+
setupWalletButton(walletNetwork, wallet, btcContext);
|
3513
|
+
} else {
|
3514
|
+
removeWalletButton();
|
3515
|
+
setTimeout(() => {
|
3516
|
+
handleConnectionUpdate();
|
3517
|
+
}, 5e3);
|
3518
|
+
}
|
3519
|
+
});
|
3520
|
+
const context = window.btcContext.getContext();
|
3510
3521
|
context.on("updatePublicKey", (btcPublicKey) => __async(this, null, function* () {
|
3511
|
-
|
3512
|
-
|
3513
|
-
initConnected(walletNetwork, wallet);
|
3522
|
+
console.log("updatePublicKey");
|
3523
|
+
const { nearAddress } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
3514
3524
|
emitter.emit("accountsChanged", {
|
3515
|
-
accounts: [{ accountId:
|
3525
|
+
accounts: [{ accountId: nearAddress }]
|
3516
3526
|
});
|
3527
|
+
yield handleConnectionUpdate();
|
3517
3528
|
}));
|
3518
3529
|
context.on("btcLoginError", () => __async(this, null, function* () {
|
3530
|
+
console.log("btcLoginError");
|
3519
3531
|
emitter.emit("accountsChanged", { accounts: [] });
|
3532
|
+
yield handleConnectionUpdate();
|
3520
3533
|
}));
|
3521
3534
|
context.on("btcLogOut", () => __async(this, null, function* () {
|
3535
|
+
console.log("btcLogOut");
|
3522
3536
|
emitter.emit("accountsChanged", { accounts: [] });
|
3537
|
+
yield handleConnectionUpdate();
|
3523
3538
|
}));
|
3539
|
+
yield handleConnectionUpdate();
|
3524
3540
|
if ("autoConnect" in metadata && metadata.autoConnect && localStorage.getItem("near-wallet-selector:selectedWalletId") === '"btc-wallet"') {
|
3525
|
-
yield btcContext.autoConnect();
|
3541
|
+
yield window.btcContext.autoConnect();
|
3526
3542
|
}
|
3527
3543
|
});
|
3528
3544
|
}
|
@@ -3543,7 +3559,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3543
3559
|
delayMs: 500
|
3544
3560
|
}
|
3545
3561
|
);
|
3546
|
-
yield setupBtcContextListeners(
|
3562
|
+
yield setupBtcContextListeners();
|
3547
3563
|
return btcContext;
|
3548
3564
|
});
|
3549
3565
|
}
|
@@ -3554,22 +3570,22 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3554
3570
|
}
|
3555
3571
|
function getNearAccountByBtcPublicKey(btcPublicKey) {
|
3556
3572
|
return __async(this, null, function* () {
|
3557
|
-
const
|
3573
|
+
const nearAddress = yield nearCall2(
|
3558
3574
|
currentConfig.accountContractId,
|
3559
3575
|
"get_chain_signature_near_account_id",
|
3560
3576
|
{ btc_public_key: btcPublicKey }
|
3561
3577
|
);
|
3562
|
-
const
|
3578
|
+
const nearPublicKey = yield nearCall2(
|
3563
3579
|
currentConfig.accountContractId,
|
3564
3580
|
"get_chain_signature_near_account_public_key",
|
3565
3581
|
{ btc_public_key: btcPublicKey }
|
3566
3582
|
);
|
3567
|
-
state.saveAccount(
|
3568
|
-
state.savePublicKey(
|
3583
|
+
state.saveAccount(nearAddress);
|
3584
|
+
state.savePublicKey(nearPublicKey);
|
3569
3585
|
state.saveBtcPublicKey(btcPublicKey);
|
3570
3586
|
return {
|
3571
|
-
|
3572
|
-
|
3587
|
+
nearAddress,
|
3588
|
+
nearPublicKey
|
3573
3589
|
};
|
3574
3590
|
});
|
3575
3591
|
}
|
@@ -3587,12 +3603,11 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3587
3603
|
if (!btcPublicKey) {
|
3588
3604
|
throw new Error("No connected BTC wallet, please connect your BTC wallet first.");
|
3589
3605
|
}
|
3590
|
-
const {
|
3591
|
-
initConnected(walletNetwork, wallet);
|
3606
|
+
const { nearAddress, nearPublicKey } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
3592
3607
|
return [
|
3593
3608
|
{
|
3594
|
-
accountId:
|
3595
|
-
publicKey:
|
3609
|
+
accountId: nearAddress,
|
3610
|
+
publicKey: nearPublicKey
|
3596
3611
|
}
|
3597
3612
|
];
|
3598
3613
|
});
|
@@ -3607,13 +3622,17 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3607
3622
|
const btcContext = window.btcContext;
|
3608
3623
|
if (metadata.syncLogOut) {
|
3609
3624
|
btcContext.logout();
|
3610
|
-
yield delay(300);
|
3611
3625
|
}
|
3612
3626
|
state.clear();
|
3613
3627
|
window.localStorage.removeItem("near-wallet-selector:selectedWalletId");
|
3614
3628
|
removeWalletButton();
|
3615
3629
|
});
|
3616
3630
|
}
|
3631
|
+
function isSignedIn() {
|
3632
|
+
const accountId = state.getAccount();
|
3633
|
+
const publicKey = state.getPublicKey();
|
3634
|
+
return accountId && publicKey;
|
3635
|
+
}
|
3617
3636
|
function getAccounts() {
|
3618
3637
|
return __async(this, null, function* () {
|
3619
3638
|
return [{ accountId: state.getAccount() }];
|
@@ -3847,22 +3866,20 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3847
3866
|
return { txBytes, txHex, hash };
|
3848
3867
|
});
|
3849
3868
|
}
|
3850
|
-
function
|
3869
|
+
function checkBtcNetwork(network) {
|
3851
3870
|
return __async(this, null, function* () {
|
3852
|
-
const
|
3853
|
-
|
3854
|
-
|
3855
|
-
|
3856
|
-
|
3857
|
-
|
3858
|
-
|
3859
|
-
|
3860
|
-
checkAndSetupWalletButton();
|
3861
|
-
}, 5e3);
|
3862
|
-
}
|
3871
|
+
const btcContext = window.btcContext;
|
3872
|
+
if (!btcContext.account)
|
3873
|
+
return;
|
3874
|
+
const btcNetwork = yield btcContext.getNetwork();
|
3875
|
+
console.log("btcNetwork:", btcNetwork, network);
|
3876
|
+
const networkMap = {
|
3877
|
+
livenet: ["mainnet"],
|
3878
|
+
testnet: ["testnet", "dev"]
|
3863
3879
|
};
|
3864
|
-
|
3865
|
-
|
3880
|
+
if (!networkMap[btcNetwork].includes(network)) {
|
3881
|
+
yield btcContext.switchNetwork(btcNetwork === "livenet" ? "testnet" : "livenet");
|
3882
|
+
}
|
3866
3883
|
});
|
3867
3884
|
}
|
3868
3885
|
return wallet;
|
@@ -3906,7 +3923,7 @@ function setupBTCWallet({
|
|
3906
3923
|
|
3907
3924
|
// src/index.ts
|
3908
3925
|
var getVersion = () => {
|
3909
|
-
return "0.3.
|
3926
|
+
return "0.3.20";
|
3910
3927
|
};
|
3911
3928
|
if (typeof window !== "undefined") {
|
3912
3929
|
window.__BTC_WALLET_VERSION = getVersion();
|