btc-wallet 0.1.9 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +26 -13
- package/dist/index.js.map +2 -2
- package/dist/utils/setupBTCWallet.d.ts +1 -0
- package/esm/index.js +26 -13
- package/esm/index.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -10,6 +10,7 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
10
|
var __getProtoOf = Object.getPrototypeOf;
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
12
12
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
13
|
+
var __pow = Math.pow;
|
13
14
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
14
15
|
var __spreadValues = (a, b) => {
|
15
16
|
for (var prop in b || (b = {}))
|
@@ -2491,6 +2492,11 @@ function removeWalletButton() {
|
|
2491
2492
|
// src/utils/setupBTCWallet.ts
|
2492
2493
|
var { transfer, functionCall } = import_transactions.actionCreators;
|
2493
2494
|
var config = {
|
2495
|
+
dev: {
|
2496
|
+
base_url: "https://api.dev.satoshibridge.top/v1",
|
2497
|
+
token: "nbtc1-nsp.dev",
|
2498
|
+
contractId: "dev1-nsp.dev"
|
2499
|
+
},
|
2494
2500
|
testnet: {
|
2495
2501
|
base_url: "https://api.testnet.satoshibridge.top/v1",
|
2496
2502
|
token: "nbtc2-nsp.testnet",
|
@@ -2559,6 +2565,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2559
2565
|
signAndSendTransaction,
|
2560
2566
|
signAndSendTransactions
|
2561
2567
|
};
|
2568
|
+
const currentConfig = "isDev" in metadata && metadata.isDev ? config.dev : config[options.network.networkId];
|
2562
2569
|
initWalletButton(options.network.networkId, wallet);
|
2563
2570
|
if (!inter) {
|
2564
2571
|
inter = setInterval(() => __async(void 0, null, function* () {
|
@@ -2568,6 +2575,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2568
2575
|
const context = btcContext.getContext();
|
2569
2576
|
context.on("updatePublicKey", (btcPublicKey) => __async(void 0, null, function* () {
|
2570
2577
|
const { nearTempAddress } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
2578
|
+
removeWalletButton();
|
2571
2579
|
initWalletButton(options.network.networkId, wallet);
|
2572
2580
|
emitter.emit("accountsChanged", {
|
2573
2581
|
accounts: [
|
@@ -2593,7 +2601,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2593
2601
|
return __async(this, arguments, function* ({ method, args = {} }) {
|
2594
2602
|
const res = yield provider.query({
|
2595
2603
|
request_type: "call_function",
|
2596
|
-
account_id:
|
2604
|
+
account_id: currentConfig.contractId,
|
2597
2605
|
method_name: method,
|
2598
2606
|
args_base64: Buffer.from(JSON.stringify(args)).toString("base64"),
|
2599
2607
|
finality: "optimistic"
|
@@ -2696,7 +2704,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2696
2704
|
nonce: BigInt(rawAccessKey.nonce || 0)
|
2697
2705
|
});
|
2698
2706
|
const publicKeyFormat = import_key_pair.PublicKey.from(publicKey);
|
2699
|
-
const nearNonceApi = yield getNearNonceFromApi(
|
2707
|
+
const nearNonceApi = yield getNearNonceFromApi(currentConfig.base_url, accountId);
|
2700
2708
|
const newTransactions = params.transactions.map((transaction, index) => {
|
2701
2709
|
let nearNonceNumber = accessKey.nonce + BigInt(1);
|
2702
2710
|
if (nearNonceApi) {
|
@@ -2735,19 +2743,24 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2735
2743
|
method: "get_account",
|
2736
2744
|
args: { account_id: accountId }
|
2737
2745
|
});
|
2738
|
-
const nonceApi = yield getNonceFromApi(
|
2746
|
+
const nonceApi = yield getNonceFromApi(currentConfig.base_url, accountId);
|
2739
2747
|
const nonce = Number(nonceApi == null ? void 0 : nonceApi.result_data) > Number(accountInfo.nonce) ? String(nonceApi == null ? void 0 : nonceApi.result_data) : String(accountInfo.nonce);
|
2740
2748
|
const intention = {
|
2741
2749
|
chain_id: "397",
|
2742
2750
|
csna: accountId,
|
2743
2751
|
near_transactions: newTransactions.map((t) => t.txHex),
|
2744
|
-
|
2752
|
+
nonce,
|
2753
|
+
gas_token: currentConfig.token,
|
2745
2754
|
gas_limit: "3000",
|
2746
|
-
|
2755
|
+
use_near_pay_gas: false
|
2747
2756
|
};
|
2757
|
+
const availableBalance = parseFloat(accountInfo.available_balance) / __pow(10, 24);
|
2758
|
+
if (availableBalance > 0.2) {
|
2759
|
+
intention.use_near_pay_gas = true;
|
2760
|
+
}
|
2748
2761
|
const strIntention = JSON.stringify(intention);
|
2749
2762
|
const signature = yield btcContext.signMessage(strIntention);
|
2750
|
-
const result = yield uploadBTCTx(
|
2763
|
+
const result = yield uploadBTCTx(currentConfig.base_url, {
|
2751
2764
|
sig: signature,
|
2752
2765
|
btcPubKey: state.getBtcPublicKey(),
|
2753
2766
|
data: toHex(strIntention)
|
@@ -2781,24 +2794,24 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2781
2794
|
}
|
2782
2795
|
return wallet;
|
2783
2796
|
});
|
2784
|
-
function getNonceFromApi(
|
2785
|
-
return fetch(`${
|
2797
|
+
function getNonceFromApi(url, accountId) {
|
2798
|
+
return fetch(`${url}/nonce?csna=${accountId}`, {
|
2786
2799
|
method: "GET",
|
2787
2800
|
headers: {
|
2788
2801
|
"Content-Type": "application/json"
|
2789
2802
|
}
|
2790
2803
|
}).then((res) => res.json());
|
2791
2804
|
}
|
2792
|
-
function getNearNonceFromApi(
|
2793
|
-
return fetch(`${
|
2805
|
+
function getNearNonceFromApi(url, accountId) {
|
2806
|
+
return fetch(`${url}/nonceNear?csna=${accountId}`, {
|
2794
2807
|
method: "GET",
|
2795
2808
|
headers: {
|
2796
2809
|
"Content-Type": "application/json"
|
2797
2810
|
}
|
2798
2811
|
}).then((res) => res.json());
|
2799
2812
|
}
|
2800
|
-
function uploadBTCTx(
|
2801
|
-
return fetch(`${
|
2813
|
+
function uploadBTCTx(url, data) {
|
2814
|
+
return fetch(`${url}/receiveTransaction`, {
|
2802
2815
|
method: "POST",
|
2803
2816
|
headers: {
|
2804
2817
|
"Content-Type": "application/json"
|
@@ -2882,7 +2895,7 @@ function pollTransactionStatuses(network, hashes) {
|
|
2882
2895
|
|
2883
2896
|
// src/index.ts
|
2884
2897
|
var getVersion = () => {
|
2885
|
-
return "0.1
|
2898
|
+
return "0.2.1";
|
2886
2899
|
};
|
2887
2900
|
if (typeof window !== "undefined") {
|
2888
2901
|
window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();
|