btc-wallet 0.3.15 → 0.3.17
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/core/btcUtils.d.ts +2 -2
- package/dist/index.js +23 -13
- package/dist/index.js.map +2 -2
- package/esm/index.js +23 -13
- package/esm/index.js.map +2 -2
- package/package.json +1 -1
package/esm/index.js
CHANGED
@@ -2831,7 +2831,13 @@ function request(url, options) {
|
|
2831
2831
|
if (options.shouldStopPolling(data)) {
|
2832
2832
|
return data;
|
2833
2833
|
}
|
2834
|
-
|
2834
|
+
if (options.maxPollingAttempts && options.maxPollingAttempts > 0) {
|
2835
|
+
yield new Promise((resolve) => setTimeout(resolve, options.pollingInterval));
|
2836
|
+
return request(url, __spreadProps(__spreadValues({}, options), {
|
2837
|
+
maxPollingAttempts: options.maxPollingAttempts - 1
|
2838
|
+
}));
|
2839
|
+
}
|
2840
|
+
throw new Error("Polling failed: maximum attempts reached without meeting the condition");
|
2835
2841
|
}
|
2836
2842
|
if (cacheKey) {
|
2837
2843
|
cache.set(cacheKey, { timestamp: Date.now(), data });
|
@@ -3174,6 +3180,7 @@ function nearCall(contractId, methodName, args) {
|
|
3174
3180
|
function getAccountInfo(csna, accountContractId) {
|
3175
3181
|
return __async(this, null, function* () {
|
3176
3182
|
const accountInfo = yield nearCall(accountContractId, "get_account", { account_id: csna });
|
3183
|
+
console.log("get_account accountInfo:", accountInfo);
|
3177
3184
|
return accountInfo;
|
3178
3185
|
});
|
3179
3186
|
}
|
@@ -3244,20 +3251,21 @@ function getBtcBalance() {
|
|
3244
3251
|
}
|
3245
3252
|
const btcRpcUrl = yield getBtcRpcUrl();
|
3246
3253
|
const utxos = yield fetch(`${btcRpcUrl}/address/${account}/utxo`).then((res) => res.json());
|
3254
|
+
const btcDecimals = 8;
|
3247
3255
|
const rawBalance = (utxos == null ? void 0 : utxos.reduce((acc, cur) => acc + cur.value, 0)) || 0;
|
3248
|
-
const balance = rawBalance / __pow(10,
|
3256
|
+
const balance = rawBalance / __pow(10, btcDecimals);
|
3249
3257
|
const feeRate = yield getBtcGasPrice();
|
3250
3258
|
const inputSize = ((utxos == null ? void 0 : utxos.length) || 0) * 66;
|
3251
3259
|
const outputSize = 34;
|
3252
3260
|
const overheadSize = 10;
|
3253
3261
|
const estimatedTxSize = inputSize + outputSize + overheadSize;
|
3254
|
-
const estimatedFee = estimatedTxSize * feeRate
|
3255
|
-
|
3256
|
-
const availableBalance =
|
3262
|
+
const estimatedFee = estimatedTxSize * feeRate;
|
3263
|
+
const availableRawBalance = (rawBalance - estimatedFee).toFixed(0);
|
3264
|
+
const availableBalance = new Big(availableRawBalance).div(__pow(10, btcDecimals)).round(btcDecimals, Big.roundDown).toNumber();
|
3257
3265
|
return {
|
3258
3266
|
rawBalance,
|
3259
3267
|
balance,
|
3260
|
-
availableBalance
|
3268
|
+
availableBalance: Math.max(availableBalance, 0)
|
3261
3269
|
};
|
3262
3270
|
});
|
3263
3271
|
}
|
@@ -3286,7 +3294,8 @@ function getDepositAmount(amount, option) {
|
|
3286
3294
|
);
|
3287
3295
|
const depositAmount = (option == null ? void 0 : option.isEstimate) ? Number(amount) : Math.max(MINIMUM_DEPOSIT_AMOUNT + MINIMUM_DEPOSIT_AMOUNT_BASE, Number(amount));
|
3288
3296
|
const fee = Math.max(Number(fee_min), Number(depositAmount) * fee_rate);
|
3289
|
-
const receiveAmount = new Big(depositAmount).minus(fee).round(0, Big.roundDown).toNumber();
|
3297
|
+
const receiveAmount = new Big(depositAmount).minus(fee).minus(MINIMUM_DEPOSIT_AMOUNT_BASE).round(0, Big.roundDown).toNumber();
|
3298
|
+
console.log("getDepositAmount:", { depositAmount, receiveAmount, fee });
|
3290
3299
|
return {
|
3291
3300
|
depositAmount,
|
3292
3301
|
receiveAmount: Math.max(receiveAmount, 0),
|
@@ -3330,7 +3339,7 @@ function executeBTCDepositAndAction(_0) {
|
|
3330
3339
|
const accountInfo = yield getAccountInfo(csna, config.accountContractId);
|
3331
3340
|
const newActions = [];
|
3332
3341
|
const gasLimit = new Big(50).mul(__pow(10, 12)).toFixed(0);
|
3333
|
-
const repayAction = yield checkGasTokenArrears(accountInfo.debt_info, isDev, false);
|
3342
|
+
const repayAction = yield checkGasTokenArrears(accountInfo == null ? void 0 : accountInfo.debt_info, isDev, false);
|
3334
3343
|
if (repayAction) {
|
3335
3344
|
newActions.push(__spreadProps(__spreadValues({}, repayAction), {
|
3336
3345
|
gas: gasLimit
|
@@ -3600,10 +3609,10 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3600
3609
|
const accountId = state.getAccount();
|
3601
3610
|
const accountInfo = yield getAccountInfo(accountId, currentConfig.accountContractId);
|
3602
3611
|
yield checkGasTokenBalance(accountId, currentConfig.token, isDev);
|
3603
|
-
yield checkGasTokenArrears(accountInfo.debt_info, isDev, true);
|
3612
|
+
yield checkGasTokenArrears(accountInfo == null ? void 0 : accountInfo.debt_info, isDev, true);
|
3604
3613
|
const trans = [...params.transactions];
|
3605
3614
|
console.log("raw trans:", trans);
|
3606
|
-
const gasTokenBalance = accountInfo.gas_token[currentConfig.token] || "0";
|
3615
|
+
const gasTokenBalance = (accountInfo == null ? void 0 : accountInfo.gas_token[currentConfig.token]) || "0";
|
3607
3616
|
const { transferGasTransaction, useNearPayGas, gasLimit } = yield calculateGasStrategy(
|
3608
3617
|
gasTokenBalance,
|
3609
3618
|
trans
|
@@ -3619,7 +3628,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3619
3628
|
trans.map((transaction, index) => convertTransactionToTxHex(transaction, index))
|
3620
3629
|
);
|
3621
3630
|
const nonceFromApi = yield getNonce(currentConfig.base_url, accountId);
|
3622
|
-
const nonce = Number(nonceFromApi) > Number(accountInfo.nonce) ? String(nonceFromApi) : String(accountInfo.nonce);
|
3631
|
+
const nonce = Number(nonceFromApi) > Number(accountInfo == null ? void 0 : accountInfo.nonce) ? String(nonceFromApi) : String(accountInfo == null ? void 0 : accountInfo.nonce);
|
3623
3632
|
const intention = {
|
3624
3633
|
chain_id: "397",
|
3625
3634
|
csna: accountId,
|
@@ -3836,6 +3845,7 @@ function setupBTCWallet({
|
|
3836
3845
|
syncLogOut = true,
|
3837
3846
|
isDev = false
|
3838
3847
|
} = {}) {
|
3848
|
+
console.log("\u26A1\uFE0F BTC Wallet Version:", getVersion());
|
3839
3849
|
const btcWallet = () => __async(this, null, function* () {
|
3840
3850
|
return {
|
3841
3851
|
id: "btc-wallet",
|
@@ -3859,10 +3869,10 @@ function setupBTCWallet({
|
|
3859
3869
|
|
3860
3870
|
// src/index.ts
|
3861
3871
|
var getVersion = () => {
|
3862
|
-
return "0.3.
|
3872
|
+
return "0.3.17";
|
3863
3873
|
};
|
3864
3874
|
if (typeof window !== "undefined") {
|
3865
|
-
window.
|
3875
|
+
window.__BTC_WALLET_VERSION = getVersion();
|
3866
3876
|
}
|
3867
3877
|
export {
|
3868
3878
|
BaseConnector,
|