btc-wallet 0.3.21 → 0.3.23
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/core/btcUtils.d.ts +2 -0
- package/dist/index.js +48 -25
- package/dist/index.js.map +3 -3
- package/dist/utils/nearUtils.d.ts +1 -1
- package/esm/index.js +48 -25
- package/esm/index.js.map +3 -3
- package/package.json +1 -1
    
        package/dist/core/btcUtils.d.ts
    CHANGED
    
    | @@ -17,6 +17,7 @@ type CheckGasTokenArrearsReturnType<T extends boolean> = T extends true ? void : | |
| 17 17 | 
             
                msg: string;
         | 
| 18 18 | 
             
            } | undefined;
         | 
| 19 19 | 
             
            export declare function checkGasTokenArrears<T extends boolean>(debtInfo: DebtInfo | undefined, isDev: boolean, autoDeposit?: T): Promise<CheckGasTokenArrearsReturnType<T>>;
         | 
| 20 | 
            +
            export declare function queryGasTokenArrears(isDev?: boolean): Promise<DebtInfo | undefined>;
         | 
| 20 21 | 
             
            export declare function getBtcGasPrice(): Promise<number>;
         | 
| 21 22 | 
             
            export declare function getBtcBalance(): Promise<{
         | 
| 22 23 | 
             
                rawBalance: number;
         | 
| @@ -41,6 +42,7 @@ export declare function getDepositAmount(amount: string, option?: { | |
| 41 42 | 
             
                receiveAmount: number;
         | 
| 42 43 | 
             
                fee: number;
         | 
| 43 44 | 
             
            }>;
         | 
| 45 | 
            +
            export declare function getCsnaAccountId(isDev?: boolean): Promise<string>;
         | 
| 44 46 | 
             
            interface ExecuteBTCDepositAndActionParams<T extends boolean = true> {
         | 
| 45 47 | 
             
                action?: {
         | 
| 46 48 | 
             
                    receiver_id: string;
         | 
    
        package/dist/index.js
    CHANGED
    
    | @@ -97,8 +97,10 @@ __export(src_exports, { | |
| 97 97 | 
             
              getAccountInfo: () => getAccountInfo,
         | 
| 98 98 | 
             
              getBtcBalance: () => getBtcBalance,
         | 
| 99 99 | 
             
              getBtcGasPrice: () => getBtcGasPrice,
         | 
| 100 | 
            +
              getCsnaAccountId: () => getCsnaAccountId,
         | 
| 100 101 | 
             
              getDepositAmount: () => getDepositAmount,
         | 
| 101 102 | 
             
              getVersion: () => getVersion,
         | 
| 103 | 
            +
              queryGasTokenArrears: () => queryGasTokenArrears,
         | 
| 102 104 | 
             
              sendBitcoin: () => sendBitcoin,
         | 
| 103 105 | 
             
              setupBTCWallet: () => setupBTCWallet,
         | 
| 104 106 | 
             
              useAccountContract: () => useAccountContract,
         | 
| @@ -2832,10 +2834,10 @@ function pollTransactionStatuses(network, hashes) { | |
| 2832 2834 | 
             
                  currentAttempt++;
         | 
| 2833 2835 | 
             
                  const promises = Array.from(pendingHashes).map((hash) => __async(this, null, function* () {
         | 
| 2834 2836 | 
             
                    try {
         | 
| 2835 | 
            -
                      const  | 
| 2836 | 
            -
                      if ( | 
| 2837 | 
            -
                        console.log(`Transaction ${hash} result:`,  | 
| 2838 | 
            -
                        results.set(hash,  | 
| 2837 | 
            +
                      const result2 = yield provider.txStatus(hash, "unused", "FINAL");
         | 
| 2838 | 
            +
                      if (result2 && result2.status) {
         | 
| 2839 | 
            +
                        console.log(`Transaction ${hash} result:`, result2);
         | 
| 2840 | 
            +
                        results.set(hash, result2);
         | 
| 2839 2841 | 
             
                        pendingHashes.delete(hash);
         | 
| 2840 2842 | 
             
                      }
         | 
| 2841 2843 | 
             
                    } catch (error) {
         | 
| @@ -2855,7 +2857,8 @@ function pollTransactionStatuses(network, hashes) { | |
| 2855 2857 | 
             
                    yield delay(1e4);
         | 
| 2856 2858 | 
             
                  }
         | 
| 2857 2859 | 
             
                }
         | 
| 2858 | 
            -
                 | 
| 2860 | 
            +
                const result = hashes.map((hash) => results.get(hash)).filter(Boolean);
         | 
| 2861 | 
            +
                return result;
         | 
| 2859 2862 | 
             
              });
         | 
| 2860 2863 | 
             
            }
         | 
| 2861 2864 |  | 
| @@ -3306,6 +3309,14 @@ function checkGasTokenArrears(debtInfo, isDev, autoDeposit) { | |
| 3306 3309 | 
             
                }
         | 
| 3307 3310 | 
             
              });
         | 
| 3308 3311 | 
             
            }
         | 
| 3312 | 
            +
            function queryGasTokenArrears(isDev) {
         | 
| 3313 | 
            +
              return __async(this, null, function* () {
         | 
| 3314 | 
            +
                const config = yield getConfig(isDev || false);
         | 
| 3315 | 
            +
                const csna = yield getCsnaAccountId(isDev);
         | 
| 3316 | 
            +
                const accountInfo = yield getAccountInfo(csna, config.accountContractId);
         | 
| 3317 | 
            +
                return accountInfo == null ? void 0 : accountInfo.debt_info;
         | 
| 3318 | 
            +
              });
         | 
| 3319 | 
            +
            }
         | 
| 3309 3320 | 
             
            function getBtcGasPrice() {
         | 
| 3310 3321 | 
             
              return __async(this, null, function* () {
         | 
| 3311 3322 | 
             
                const network = yield getNetwork();
         | 
| @@ -3381,6 +3392,21 @@ function getDepositAmount(amount, option) { | |
| 3381 3392 | 
             
                };
         | 
| 3382 3393 | 
             
              });
         | 
| 3383 3394 | 
             
            }
         | 
| 3395 | 
            +
            function getCsnaAccountId(isDev) {
         | 
| 3396 | 
            +
              return __async(this, null, function* () {
         | 
| 3397 | 
            +
                const config = yield getConfig(isDev || false);
         | 
| 3398 | 
            +
                const { getPublicKey } = getBtcProvider();
         | 
| 3399 | 
            +
                const btcPublicKey = yield getPublicKey();
         | 
| 3400 | 
            +
                const csna = yield nearCall(
         | 
| 3401 | 
            +
                  config.accountContractId,
         | 
| 3402 | 
            +
                  "get_chain_signature_near_account_id",
         | 
| 3403 | 
            +
                  {
         | 
| 3404 | 
            +
                    btc_public_key: btcPublicKey
         | 
| 3405 | 
            +
                  }
         | 
| 3406 | 
            +
                );
         | 
| 3407 | 
            +
                return csna;
         | 
| 3408 | 
            +
              });
         | 
| 3409 | 
            +
            }
         | 
| 3384 3410 | 
             
            function executeBTCDepositAndAction(_0) {
         | 
| 3385 3411 | 
             
              return __async(this, arguments, function* ({
         | 
| 3386 3412 | 
             
                action,
         | 
| @@ -3401,13 +3427,7 @@ function executeBTCDepositAndAction(_0) { | |
| 3401 3427 | 
             
                  if (!amount && !action) {
         | 
| 3402 3428 | 
             
                    throw new Error("amount or action is required");
         | 
| 3403 3429 | 
             
                  }
         | 
| 3404 | 
            -
                  const csna = yield  | 
| 3405 | 
            -
                    config.accountContractId,
         | 
| 3406 | 
            -
                    "get_chain_signature_near_account_id",
         | 
| 3407 | 
            -
                    {
         | 
| 3408 | 
            -
                      btc_public_key: btcPublicKey
         | 
| 3409 | 
            -
                    }
         | 
| 3410 | 
            -
                  );
         | 
| 3430 | 
            +
                  const csna = yield getCsnaAccountId(isDev);
         | 
| 3411 3431 | 
             
                  const rawDepositAmount = (_a = action ? action.amount : amount) != null ? _a : "0";
         | 
| 3412 3432 | 
             
                  if (new import_big.default(rawDepositAmount).lt(0)) {
         | 
| 3413 3433 | 
             
                    throw new Error("amount must be greater than 0");
         | 
| @@ -3424,11 +3444,18 @@ function executeBTCDepositAndAction(_0) { | |
| 3424 3444 | 
             
                      gas: gasLimit
         | 
| 3425 3445 | 
             
                    }));
         | 
| 3426 3446 | 
             
                  }
         | 
| 3427 | 
            -
                  if (action) {
         | 
| 3428 | 
            -
                    newActions.push( | 
| 3429 | 
            -
                       | 
| 3430 | 
            -
             | 
| 3431 | 
            -
             | 
| 3447 | 
            +
                  if (action || !action && new import_big.default((accountInfo == null ? void 0 : accountInfo.gas_token[config.token]) || 0).lt(MINIMUM_DEPOSIT_AMOUNT_BASE)) {
         | 
| 3448 | 
            +
                    newActions.push(
         | 
| 3449 | 
            +
                      action ? __spreadProps(__spreadValues({}, action), {
         | 
| 3450 | 
            +
                        amount: (repayAction == null ? void 0 : repayAction.amount) && !fixedAmount ? new import_big.default(receiveAmount).minus(repayAction.amount).toString() : receiveAmount.toString(),
         | 
| 3451 | 
            +
                        gas: gasLimit
         | 
| 3452 | 
            +
                      }) : {
         | 
| 3453 | 
            +
                        receiver_id: config.accountContractId,
         | 
| 3454 | 
            +
                        amount: MINIMUM_DEPOSIT_AMOUNT_BASE.toString(),
         | 
| 3455 | 
            +
                        msg: JSON.stringify("Deposit"),
         | 
| 3456 | 
            +
                        gas: gasLimit
         | 
| 3457 | 
            +
                      }
         | 
| 3458 | 
            +
                    );
         | 
| 3432 3459 | 
             
                  }
         | 
| 3433 3460 | 
             
                  const depositMsg = {
         | 
| 3434 3461 | 
             
                    recipient_id: csna,
         | 
| @@ -3618,21 +3645,17 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({ | |
| 3618 3645 | 
             
              }
         | 
| 3619 3646 | 
             
              function getNearAccountByBtcPublicKey(btcPublicKey) {
         | 
| 3620 3647 | 
             
                return __async(this, null, function* () {
         | 
| 3621 | 
            -
                  const  | 
| 3622 | 
            -
                    currentConfig.accountContractId,
         | 
| 3623 | 
            -
                    "get_chain_signature_near_account_id",
         | 
| 3624 | 
            -
                    { btc_public_key: btcPublicKey }
         | 
| 3625 | 
            -
                  );
         | 
| 3648 | 
            +
                  const csna = yield getCsnaAccountId(isDev);
         | 
| 3626 3649 | 
             
                  const nearPublicKey = yield nearCall2(
         | 
| 3627 3650 | 
             
                    currentConfig.accountContractId,
         | 
| 3628 3651 | 
             
                    "get_chain_signature_near_account_public_key",
         | 
| 3629 3652 | 
             
                    { btc_public_key: btcPublicKey }
         | 
| 3630 3653 | 
             
                  );
         | 
| 3631 | 
            -
                  state.saveAccount( | 
| 3654 | 
            +
                  state.saveAccount(csna);
         | 
| 3632 3655 | 
             
                  state.savePublicKey(nearPublicKey);
         | 
| 3633 3656 | 
             
                  state.saveBtcPublicKey(btcPublicKey);
         | 
| 3634 3657 | 
             
                  return {
         | 
| 3635 | 
            -
                    nearAddress,
         | 
| 3658 | 
            +
                    nearAddress: csna,
         | 
| 3636 3659 | 
             
                    nearPublicKey
         | 
| 3637 3660 | 
             
                  };
         | 
| 3638 3661 | 
             
                });
         | 
| @@ -3971,7 +3994,7 @@ function setupBTCWallet({ | |
| 3971 3994 |  | 
| 3972 3995 | 
             
            // src/index.ts
         | 
| 3973 3996 | 
             
            var getVersion = () => {
         | 
| 3974 | 
            -
              return "0.3. | 
| 3997 | 
            +
              return "0.3.23";
         | 
| 3975 3998 | 
             
            };
         | 
| 3976 3999 | 
             
            if (typeof window !== "undefined") {
         | 
| 3977 4000 | 
             
              window.__BTC_WALLET_VERSION = getVersion();
         |