btc-wallet 0.3.6 → 0.3.8
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/config.d.ts +1 -0
 - package/dist/core/btcUtils.d.ts +10 -0
 - package/dist/index.js +123 -35
 - package/dist/index.js.map +3 -3
 - package/esm/index.js +123 -35
 - package/esm/index.js.map +3 -3
 - package/package.json +1 -1
 
    
        package/esm/index.js
    CHANGED
    
    | 
         @@ -2686,21 +2686,24 @@ var walletConfig = { 
     | 
|
| 
       2686 
2686 
     | 
    
         
             
                token: "nbtc-dev.testnet",
         
     | 
| 
       2687 
2687 
     | 
    
         
             
                accountContractId: "acc-dev.testnet",
         
     | 
| 
       2688 
2688 
     | 
    
         
             
                bridgeContractId: "brg-dev.testnet",
         
     | 
| 
       2689 
     | 
    
         
            -
                walletUrl: "https://wallet-dev.satoshibridge.top"
         
     | 
| 
      
 2689 
     | 
    
         
            +
                walletUrl: "https://wallet-dev.satoshibridge.top",
         
     | 
| 
      
 2690 
     | 
    
         
            +
                gasTokenLimit: "3000"
         
     | 
| 
       2690 
2691 
     | 
    
         
             
              },
         
     | 
| 
       2691 
2692 
     | 
    
         
             
              testnet: {
         
     | 
| 
       2692 
2693 
     | 
    
         
             
                base_url: "https://api.testnet.satoshibridge.top",
         
     | 
| 
       2693 
2694 
     | 
    
         
             
                token: "nbtc2-nsp.testnet",
         
     | 
| 
       2694 
2695 
     | 
    
         
             
                accountContractId: "dev2-nsp.testnet",
         
     | 
| 
       2695 
2696 
     | 
    
         
             
                bridgeContractId: "brg2-nsp.testnet",
         
     | 
| 
       2696 
     | 
    
         
            -
                walletUrl: "https://wallet-test.satoshibridge.top"
         
     | 
| 
      
 2697 
     | 
    
         
            +
                walletUrl: "https://wallet-test.satoshibridge.top",
         
     | 
| 
      
 2698 
     | 
    
         
            +
                gasTokenLimit: "3000"
         
     | 
| 
       2697 
2699 
     | 
    
         
             
              },
         
     | 
| 
       2698 
2700 
     | 
    
         
             
              mainnet: {
         
     | 
| 
       2699 
2701 
     | 
    
         
             
                base_url: "https://api.mainnet.satoshibridge.top",
         
     | 
| 
       2700 
2702 
     | 
    
         
             
                token: "",
         
     | 
| 
       2701 
2703 
     | 
    
         
             
                accountContractId: "",
         
     | 
| 
       2702 
2704 
     | 
    
         
             
                bridgeContractId: "",
         
     | 
| 
       2703 
     | 
    
         
            -
                walletUrl: "https://wallet.satoshibridge.top"
         
     | 
| 
      
 2705 
     | 
    
         
            +
                walletUrl: "https://wallet.satoshibridge.top",
         
     | 
| 
      
 2706 
     | 
    
         
            +
                gasTokenLimit: "3000"
         
     | 
| 
       2704 
2707 
     | 
    
         
             
              }
         
     | 
| 
       2705 
2708 
     | 
    
         
             
            };
         
     | 
| 
       2706 
2709 
     | 
    
         
             
            var nearRpcUrls = {
         
     | 
| 
         @@ -2844,6 +2847,7 @@ function pollTransactionStatuses(network, hashes) { 
     | 
|
| 
       2844 
2847 
     | 
    
         
             
            }
         
     | 
| 
       2845 
2848 
     | 
    
         | 
| 
       2846 
2849 
     | 
    
         
             
            // src/core/setupBTCWallet.ts
         
     | 
| 
      
 2850 
     | 
    
         
            +
            import Big from "big.js";
         
     | 
| 
       2847 
2851 
     | 
    
         
             
            var { transfer, functionCall } = actionCreators;
         
     | 
| 
       2848 
2852 
     | 
    
         
             
            var state = {
         
     | 
| 
       2849 
2853 
     | 
    
         
             
              saveAccount(account) {
         
     | 
| 
         @@ -3060,6 +3064,10 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({ 
     | 
|
| 
       3060 
3064 
     | 
    
         
             
                    currentConfig.base_url,
         
     | 
| 
       3061 
3065 
     | 
    
         
             
                    accountId
         
     | 
| 
       3062 
3066 
     | 
    
         
             
                  );
         
     | 
| 
      
 3067 
     | 
    
         
            +
                  const { transferGasTransaction, useNearPayGas } = yield getGasConfig();
         
     | 
| 
      
 3068 
     | 
    
         
            +
                  if (!useNearPayGas && transferGasTransaction) {
         
     | 
| 
      
 3069 
     | 
    
         
            +
                    params.transactions.unshift(transferGasTransaction);
         
     | 
| 
      
 3070 
     | 
    
         
            +
                  }
         
     | 
| 
       3063 
3071 
     | 
    
         
             
                  const newTransactions = params.transactions.map((transaction, index) => {
         
     | 
| 
       3064 
3072 
     | 
    
         
             
                    let nearNonceNumber = accessKey.nonce + BigInt(1);
         
     | 
| 
       3065 
3073 
     | 
    
         
             
                    if (nearNonceFromApi) {
         
     | 
| 
         @@ -3110,19 +3118,10 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({ 
     | 
|
| 
       3110 
3118 
     | 
    
         
             
                    csna: accountId,
         
     | 
| 
       3111 
3119 
     | 
    
         
             
                    near_transactions: newTransactions.map((t) => t.txHex),
         
     | 
| 
       3112 
3120 
     | 
    
         
             
                    gas_token: currentConfig.token,
         
     | 
| 
       3113 
     | 
    
         
            -
                    gas_limit:  
     | 
| 
       3114 
     | 
    
         
            -
                    use_near_pay_gas:  
     | 
| 
      
 3121 
     | 
    
         
            +
                    gas_limit: currentConfig.gasTokenLimit,
         
     | 
| 
      
 3122 
     | 
    
         
            +
                    use_near_pay_gas: useNearPayGas,
         
     | 
| 
       3115 
3123 
     | 
    
         
             
                    nonce
         
     | 
| 
       3116 
3124 
     | 
    
         
             
                  };
         
     | 
| 
       3117 
     | 
    
         
            -
                  const nearAccount = yield provider.query({
         
     | 
| 
       3118 
     | 
    
         
            -
                    request_type: "view_account",
         
     | 
| 
       3119 
     | 
    
         
            -
                    account_id: accountId,
         
     | 
| 
       3120 
     | 
    
         
            -
                    finality: "final"
         
     | 
| 
       3121 
     | 
    
         
            -
                  });
         
     | 
| 
       3122 
     | 
    
         
            -
                  const availableBalance = parseFloat(nearAccount.amount) / __pow(10, 24);
         
     | 
| 
       3123 
     | 
    
         
            -
                  if (availableBalance > 0.2) {
         
     | 
| 
       3124 
     | 
    
         
            -
                    intention.use_near_pay_gas = true;
         
     | 
| 
       3125 
     | 
    
         
            -
                  }
         
     | 
| 
       3126 
3125 
     | 
    
         
             
                  const strIntention = JSON.stringify(intention);
         
     | 
| 
       3127 
3126 
     | 
    
         
             
                  const signature = yield btcContext.signMessage(strIntention);
         
     | 
| 
       3128 
3127 
     | 
    
         
             
                  const result = yield uploadBTCTx(currentConfig.base_url, {
         
     | 
| 
         @@ -3140,6 +3139,48 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({ 
     | 
|
| 
       3140 
3139 
     | 
    
         
             
                  }
         
     | 
| 
       3141 
3140 
     | 
    
         
             
                });
         
     | 
| 
       3142 
3141 
     | 
    
         
             
              }
         
     | 
| 
      
 3142 
     | 
    
         
            +
              function getGasConfig() {
         
     | 
| 
      
 3143 
     | 
    
         
            +
                return __async(this, null, function* () {
         
     | 
| 
      
 3144 
     | 
    
         
            +
                  const accountId = state.getAccount();
         
     | 
| 
      
 3145 
     | 
    
         
            +
                  const nearAccount = yield provider.query({
         
     | 
| 
      
 3146 
     | 
    
         
            +
                    request_type: "view_account",
         
     | 
| 
      
 3147 
     | 
    
         
            +
                    account_id: accountId,
         
     | 
| 
      
 3148 
     | 
    
         
            +
                    finality: "final"
         
     | 
| 
      
 3149 
     | 
    
         
            +
                  });
         
     | 
| 
      
 3150 
     | 
    
         
            +
                  const availableBalance = parseFloat(nearAccount.amount) / __pow(10, 24);
         
     | 
| 
      
 3151 
     | 
    
         
            +
                  if (availableBalance > 0.2) {
         
     | 
| 
      
 3152 
     | 
    
         
            +
                    return { useNearPayGas: true };
         
     | 
| 
      
 3153 
     | 
    
         
            +
                  } else {
         
     | 
| 
      
 3154 
     | 
    
         
            +
                    const gasTokenBalance = yield nearCall2(currentConfig.token, "ft_balance_of", {
         
     | 
| 
      
 3155 
     | 
    
         
            +
                      account_id: accountId
         
     | 
| 
      
 3156 
     | 
    
         
            +
                    });
         
     | 
| 
      
 3157 
     | 
    
         
            +
                    if (new Big(gasTokenBalance).gt(currentConfig.gasTokenLimit)) {
         
     | 
| 
      
 3158 
     | 
    
         
            +
                      const transferGasTransaction = {
         
     | 
| 
      
 3159 
     | 
    
         
            +
                        signerId: accountId,
         
     | 
| 
      
 3160 
     | 
    
         
            +
                        receiverId: currentConfig.token,
         
     | 
| 
      
 3161 
     | 
    
         
            +
                        actions: [
         
     | 
| 
      
 3162 
     | 
    
         
            +
                          {
         
     | 
| 
      
 3163 
     | 
    
         
            +
                            type: "FunctionCall",
         
     | 
| 
      
 3164 
     | 
    
         
            +
                            params: {
         
     | 
| 
      
 3165 
     | 
    
         
            +
                              methodName: "ft_transfer_call",
         
     | 
| 
      
 3166 
     | 
    
         
            +
                              args: {
         
     | 
| 
      
 3167 
     | 
    
         
            +
                                receiver_id: currentConfig.accountContractId,
         
     | 
| 
      
 3168 
     | 
    
         
            +
                                amount: currentConfig.gasTokenLimit,
         
     | 
| 
      
 3169 
     | 
    
         
            +
                                msg: "Deposit"
         
     | 
| 
      
 3170 
     | 
    
         
            +
                              },
         
     | 
| 
      
 3171 
     | 
    
         
            +
                              gas: new Big(50).mul(__pow(10, 12)).toFixed(0),
         
     | 
| 
      
 3172 
     | 
    
         
            +
                              deposit: "1"
         
     | 
| 
      
 3173 
     | 
    
         
            +
                            }
         
     | 
| 
      
 3174 
     | 
    
         
            +
                          }
         
     | 
| 
      
 3175 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 3176 
     | 
    
         
            +
                      };
         
     | 
| 
      
 3177 
     | 
    
         
            +
                      return { transferGasTransaction, useNearPayGas: false };
         
     | 
| 
      
 3178 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 3179 
     | 
    
         
            +
                      throw new Error("No enough gas token balance");
         
     | 
| 
      
 3180 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3181 
     | 
    
         
            +
                  }
         
     | 
| 
      
 3182 
     | 
    
         
            +
                });
         
     | 
| 
      
 3183 
     | 
    
         
            +
              }
         
     | 
| 
       3143 
3184 
     | 
    
         
             
              function initWalletButton(network, wallet2) {
         
     | 
| 
       3144 
3185 
     | 
    
         
             
                return __async(this, null, function* () {
         
     | 
| 
       3145 
3186 
     | 
    
         
             
                  const checkAndSetupWalletButton = () => {
         
     | 
| 
         @@ -3209,7 +3250,7 @@ function toHex(originalString) { 
     | 
|
| 
       3209 
3250 
     | 
    
         
             
            }
         
     | 
| 
       3210 
3251 
     | 
    
         | 
| 
       3211 
3252 
     | 
    
         
             
            // src/core/btcUtils.ts
         
     | 
| 
       3212 
     | 
    
         
            -
            import  
     | 
| 
      
 3253 
     | 
    
         
            +
            import Big2 from "big.js";
         
     | 
| 
       3213 
3254 
     | 
    
         
             
            function getBtcProvider() {
         
     | 
| 
       3214 
3255 
     | 
    
         
             
              if (typeof window === "undefined" || !window.btcContext) {
         
     | 
| 
       3215 
3256 
     | 
    
         
             
                throw new Error("BTC Provider is not initialized.");
         
     | 
| 
         @@ -3229,6 +3270,12 @@ function getBtcRpcUrl() { 
     | 
|
| 
       3229 
3270 
     | 
    
         
             
                return btcRpcUrls[network];
         
     | 
| 
       3230 
3271 
     | 
    
         
             
              });
         
     | 
| 
       3231 
3272 
     | 
    
         
             
            }
         
     | 
| 
      
 3273 
     | 
    
         
            +
            function getConfig(isDev) {
         
     | 
| 
      
 3274 
     | 
    
         
            +
              return __async(this, null, function* () {
         
     | 
| 
      
 3275 
     | 
    
         
            +
                const network = yield getNetwork();
         
     | 
| 
      
 3276 
     | 
    
         
            +
                return walletConfig[isDev ? "dev" : network];
         
     | 
| 
      
 3277 
     | 
    
         
            +
              });
         
     | 
| 
      
 3278 
     | 
    
         
            +
            }
         
     | 
| 
       3232 
3279 
     | 
    
         
             
            function nearCall(contractId, methodName, args) {
         
     | 
| 
       3233 
3280 
     | 
    
         
             
              return __async(this, null, function* () {
         
     | 
| 
       3234 
3281 
     | 
    
         
             
                const network = yield getNetwork();
         
     | 
| 
         @@ -3283,13 +3330,20 @@ function getBtcBalance() { 
     | 
|
| 
       3283 
3330 
     | 
    
         
             
                const { account } = yield retryOperation(getBtcProvider, (res2) => !!res2.account);
         
     | 
| 
       3284 
3331 
     | 
    
         
             
                if (!account) {
         
     | 
| 
       3285 
3332 
     | 
    
         
             
                  console.error("BTC Account is not available.");
         
     | 
| 
       3286 
     | 
    
         
            -
                  return { rawBalance: 0, balance: 0 };
         
     | 
| 
      
 3333 
     | 
    
         
            +
                  return { rawBalance: 0, balance: 0, maxSpendableBalance: 0 };
         
     | 
| 
       3287 
3334 
     | 
    
         
             
                }
         
     | 
| 
       3288 
3335 
     | 
    
         
             
                const btcRpcUrl = yield getBtcRpcUrl();
         
     | 
| 
       3289 
3336 
     | 
    
         
             
                const res = yield fetch(`${btcRpcUrl}/address/${account}/utxo`).then((res2) => res2.json());
         
     | 
| 
       3290 
3337 
     | 
    
         
             
                const rawBalance = res == null ? void 0 : res.reduce((acc, cur) => acc + cur.value, 0);
         
     | 
| 
       3291 
3338 
     | 
    
         
             
                const balance = rawBalance / __pow(10, 8);
         
     | 
| 
       3292 
     | 
    
         
            -
                 
     | 
| 
      
 3339 
     | 
    
         
            +
                const feeRate = yield getBtcGasPrice();
         
     | 
| 
      
 3340 
     | 
    
         
            +
                const maxGasFee = feeRate * 250 / __pow(10, 8);
         
     | 
| 
      
 3341 
     | 
    
         
            +
                const availableBalance = Math.max(0, balance - maxGasFee);
         
     | 
| 
      
 3342 
     | 
    
         
            +
                return {
         
     | 
| 
      
 3343 
     | 
    
         
            +
                  rawBalance,
         
     | 
| 
      
 3344 
     | 
    
         
            +
                  balance,
         
     | 
| 
      
 3345 
     | 
    
         
            +
                  availableBalance
         
     | 
| 
      
 3346 
     | 
    
         
            +
                };
         
     | 
| 
       3293 
3347 
     | 
    
         
             
              });
         
     | 
| 
       3294 
3348 
     | 
    
         
             
            }
         
     | 
| 
       3295 
3349 
     | 
    
         
             
            function sendBitcoin(address, amount, feeRate) {
         
     | 
| 
         @@ -3299,6 +3353,20 @@ function sendBitcoin(address, amount, feeRate) { 
     | 
|
| 
       3299 
3353 
     | 
    
         
             
                return txHash;
         
     | 
| 
       3300 
3354 
     | 
    
         
             
              });
         
     | 
| 
       3301 
3355 
     | 
    
         
             
            }
         
     | 
| 
      
 3356 
     | 
    
         
            +
            function estimateDepositAmount(amount, option) {
         
     | 
| 
      
 3357 
     | 
    
         
            +
              return __async(this, null, function* () {
         
     | 
| 
      
 3358 
     | 
    
         
            +
                const config = yield getConfig((option == null ? void 0 : option.isDev) || false);
         
     | 
| 
      
 3359 
     | 
    
         
            +
                const {
         
     | 
| 
      
 3360 
     | 
    
         
            +
                  deposit_bridge_fee: { fee_min, fee_rate }
         
     | 
| 
      
 3361 
     | 
    
         
            +
                } = yield nearCall(
         
     | 
| 
      
 3362 
     | 
    
         
            +
                  config.bridgeContractId,
         
     | 
| 
      
 3363 
     | 
    
         
            +
                  "get_config",
         
     | 
| 
      
 3364 
     | 
    
         
            +
                  {}
         
     | 
| 
      
 3365 
     | 
    
         
            +
                );
         
     | 
| 
      
 3366 
     | 
    
         
            +
                const fee = Math.max(Number(fee_min), Number(amount) * fee_rate);
         
     | 
| 
      
 3367 
     | 
    
         
            +
                return new Big2(amount).minus(fee).toFixed(0);
         
     | 
| 
      
 3368 
     | 
    
         
            +
              });
         
     | 
| 
      
 3369 
     | 
    
         
            +
            }
         
     | 
| 
       3302 
3370 
     | 
    
         
             
            function executeBTCDepositAndAction(_0) {
         
     | 
| 
       3303 
3371 
     | 
    
         
             
              return __async(this, arguments, function* ({
         
     | 
| 
       3304 
3372 
     | 
    
         
             
                action,
         
     | 
| 
         @@ -3307,18 +3375,26 @@ function executeBTCDepositAndAction(_0) { 
     | 
|
| 
       3307 
3375 
     | 
    
         
             
              }) {
         
     | 
| 
       3308 
3376 
     | 
    
         
             
                try {
         
     | 
| 
       3309 
3377 
     | 
    
         
             
                  const { getPublicKey } = getBtcProvider();
         
     | 
| 
       3310 
     | 
    
         
            -
                  const  
     | 
| 
       3311 
     | 
    
         
            -
                  const config = walletConfig[isDev ? "dev" : network];
         
     | 
| 
      
 3378 
     | 
    
         
            +
                  const config = yield getConfig(isDev);
         
     | 
| 
       3312 
3379 
     | 
    
         
             
                  const btcPublicKey = yield getPublicKey();
         
     | 
| 
       3313 
     | 
    
         
            -
                  const _action = Object.assign( 
     | 
| 
      
 3380 
     | 
    
         
            +
                  const _action = Object.assign(
         
     | 
| 
      
 3381 
     | 
    
         
            +
                    {},
         
     | 
| 
      
 3382 
     | 
    
         
            +
                    __spreadProps(__spreadValues({}, action), {
         
     | 
| 
      
 3383 
     | 
    
         
            +
                      gas: new Big2(100).mul(__pow(10, 12)).toFixed(0)
         
     | 
| 
      
 3384 
     | 
    
         
            +
                    })
         
     | 
| 
      
 3385 
     | 
    
         
            +
                  );
         
     | 
| 
       3314 
3386 
     | 
    
         
             
                  if (!btcPublicKey) {
         
     | 
| 
       3315 
3387 
     | 
    
         
             
                    throw new Error("BTC Public Key is not available.");
         
     | 
| 
       3316 
3388 
     | 
    
         
             
                  }
         
     | 
| 
       3317 
3389 
     | 
    
         
             
                  if (!_action.receiver_id) {
         
     | 
| 
       3318 
3390 
     | 
    
         
             
                    throw new Error("action.receiver_id is required");
         
     | 
| 
       3319 
3391 
     | 
    
         
             
                  }
         
     | 
| 
       3320 
     | 
    
         
            -
                   
     | 
| 
       3321 
     | 
    
         
            -
                     
     | 
| 
      
 3392 
     | 
    
         
            +
                  const amountWithFee = yield estimateDepositAmount(_action.amount, {
         
     | 
| 
      
 3393 
     | 
    
         
            +
                    isDev
         
     | 
| 
      
 3394 
     | 
    
         
            +
                  });
         
     | 
| 
      
 3395 
     | 
    
         
            +
                  _action.amount = amountWithFee;
         
     | 
| 
      
 3396 
     | 
    
         
            +
                  if (!_action.amount || !new Big2(_action.amount || 0).gt(0)) {
         
     | 
| 
      
 3397 
     | 
    
         
            +
                    throw new Error("action.amount is required or deposit amount is not enough");
         
     | 
| 
       3322 
3398 
     | 
    
         
             
                  }
         
     | 
| 
       3323 
3399 
     | 
    
         
             
                  const csna = yield nearCall(
         
     | 
| 
       3324 
3400 
     | 
    
         
             
                    config.accountContractId,
         
     | 
| 
         @@ -3327,37 +3403,48 @@ function executeBTCDepositAndAction(_0) { 
     | 
|
| 
       3327 
3403 
     | 
    
         
             
                      btc_public_key: btcPublicKey
         
     | 
| 
       3328 
3404 
     | 
    
         
             
                    }
         
     | 
| 
       3329 
3405 
     | 
    
         
             
                  );
         
     | 
| 
       3330 
     | 
    
         
            -
                  _action.amount = new Big(_action.amount).toString();
         
     | 
| 
       3331 
     | 
    
         
            -
                  _action.gas = new Big(100).mul(__pow(10, 12)).toFixed(0);
         
     | 
| 
       3332 
3406 
     | 
    
         
             
                  const depositMsg = {
         
     | 
| 
       3333 
3407 
     | 
    
         
             
                    recipient_id: csna,
         
     | 
| 
       3334 
3408 
     | 
    
         
             
                    post_actions: [_action]
         
     | 
| 
       3335 
3409 
     | 
    
         
             
                  };
         
     | 
| 
      
 3410 
     | 
    
         
            +
                  const storageDepositMsg = {};
         
     | 
| 
      
 3411 
     | 
    
         
            +
                  const accountInfo = yield nearCall(
         
     | 
| 
      
 3412 
     | 
    
         
            +
                    config.accountContractId,
         
     | 
| 
      
 3413 
     | 
    
         
            +
                    "get_account",
         
     | 
| 
      
 3414 
     | 
    
         
            +
                    {
         
     | 
| 
      
 3415 
     | 
    
         
            +
                      account_id: csna
         
     | 
| 
      
 3416 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3417 
     | 
    
         
            +
                  );
         
     | 
| 
      
 3418 
     | 
    
         
            +
                  if (!(accountInfo == null ? void 0 : accountInfo.nonce)) {
         
     | 
| 
      
 3419 
     | 
    
         
            +
                    storageDepositMsg.btc_public_key = btcPublicKey;
         
     | 
| 
      
 3420 
     | 
    
         
            +
                  }
         
     | 
| 
       3336 
3421 
     | 
    
         
             
                  const registerRes = yield nearCall(action.receiver_id, "storage_balance_of", {
         
     | 
| 
       3337 
3422 
     | 
    
         
             
                    account_id: csna
         
     | 
| 
       3338 
3423 
     | 
    
         
             
                  });
         
     | 
| 
       3339 
3424 
     | 
    
         
             
                  if (!(registerRes == null ? void 0 : registerRes.available)) {
         
     | 
| 
       3340 
     | 
    
         
            -
                     
     | 
| 
       3341 
     | 
    
         
            -
                       
     | 
| 
       3342 
     | 
    
         
            -
             
     | 
| 
       3343 
     | 
    
         
            -
             
     | 
| 
       3344 
     | 
    
         
            -
                        registration_only: true
         
     | 
| 
       3345 
     | 
    
         
            -
                      },
         
     | 
| 
       3346 
     | 
    
         
            -
                      btc_public_key: btcPublicKey
         
     | 
| 
      
 3425 
     | 
    
         
            +
                    storageDepositMsg.storage_deposit_msg = {
         
     | 
| 
      
 3426 
     | 
    
         
            +
                      contract_id: action.receiver_id,
         
     | 
| 
      
 3427 
     | 
    
         
            +
                      deposit: new Big2(0.25).mul(__pow(10, 24)).toFixed(0),
         
     | 
| 
      
 3428 
     | 
    
         
            +
                      registration_only: true
         
     | 
| 
       3347 
3429 
     | 
    
         
             
                    };
         
     | 
| 
      
 3430 
     | 
    
         
            +
                  }
         
     | 
| 
      
 3431 
     | 
    
         
            +
                  if (Object.keys(storageDepositMsg).length > 0) {
         
     | 
| 
       3348 
3432 
     | 
    
         
             
                    depositMsg.extra_msg = JSON.stringify(storageDepositMsg);
         
     | 
| 
       3349 
3433 
     | 
    
         
             
                  }
         
     | 
| 
       3350 
     | 
    
         
            -
                  console.log(" 
     | 
| 
      
 3434 
     | 
    
         
            +
                  console.log("get_user_deposit_address params:", { deposit_msg: depositMsg });
         
     | 
| 
       3351 
3435 
     | 
    
         
             
                  const userDepositAddress = yield nearCall(
         
     | 
| 
       3352 
3436 
     | 
    
         
             
                    config.bridgeContractId,
         
     | 
| 
       3353 
3437 
     | 
    
         
             
                    "get_user_deposit_address",
         
     | 
| 
       3354 
3438 
     | 
    
         
             
                    { deposit_msg: depositMsg }
         
     | 
| 
       3355 
3439 
     | 
    
         
             
                  );
         
     | 
| 
       3356 
     | 
    
         
            -
                  console.log("userDepositAddress", userDepositAddress);
         
     | 
| 
       3357 
3440 
     | 
    
         
             
                  const _feeRate = feeRate || (yield getBtcGasPrice());
         
     | 
| 
      
 3441 
     | 
    
         
            +
                  console.log("user deposit address:", userDepositAddress);
         
     | 
| 
      
 3442 
     | 
    
         
            +
                  console.log("deposit amount:", new Big2(action.amount).toNumber());
         
     | 
| 
      
 3443 
     | 
    
         
            +
                  console.log("receive amount:", new Big2(_action.amount).toNumber());
         
     | 
| 
      
 3444 
     | 
    
         
            +
                  console.log("fee rate:", _feeRate);
         
     | 
| 
       3358 
3445 
     | 
    
         
             
                  const txHash = yield sendBitcoin(
         
     | 
| 
       3359 
3446 
     | 
    
         
             
                    userDepositAddress,
         
     | 
| 
       3360 
     | 
    
         
            -
                    new  
     | 
| 
      
 3447 
     | 
    
         
            +
                    new Big2(action.amount).toNumber(),
         
     | 
| 
       3361 
3448 
     | 
    
         
             
                    _feeRate
         
     | 
| 
       3362 
3449 
     | 
    
         
             
                  );
         
     | 
| 
       3363 
3450 
     | 
    
         
             
                  yield receiveDepositMsg(config.base_url, {
         
     | 
| 
         @@ -3378,7 +3465,7 @@ function executeBTCDepositAndAction(_0) { 
     | 
|
| 
       3378 
3465 
     | 
    
         | 
| 
       3379 
3466 
     | 
    
         
             
            // src/index.ts
         
     | 
| 
       3380 
3467 
     | 
    
         
             
            var getVersion = () => {
         
     | 
| 
       3381 
     | 
    
         
            -
              return "0.3. 
     | 
| 
      
 3468 
     | 
    
         
            +
              return "0.3.8";
         
     | 
| 
       3382 
3469 
     | 
    
         
             
            };
         
     | 
| 
       3383 
3470 
     | 
    
         
             
            if (typeof window !== "undefined") {
         
     | 
| 
       3384 
3471 
     | 
    
         
             
              window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();
         
     | 
| 
         @@ -3396,6 +3483,7 @@ export { 
     | 
|
| 
       3396 
3483 
     | 
    
         
             
              UnisatConnector,
         
     | 
| 
       3397 
3484 
     | 
    
         
             
              WizzConnector,
         
     | 
| 
       3398 
3485 
     | 
    
         
             
              XverseConnector,
         
     | 
| 
      
 3486 
     | 
    
         
            +
              estimateDepositAmount,
         
     | 
| 
       3399 
3487 
     | 
    
         
             
              executeBTCDepositAndAction,
         
     | 
| 
       3400 
3488 
     | 
    
         
             
              getBtcBalance,
         
     | 
| 
       3401 
3489 
     | 
    
         
             
              getBtcGasPrice,
         
     |