btc-wallet 0.3.3 → 0.3.5
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 +16 -0
- package/dist/core/btcWalletSelectorContext.d.ts +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +182 -118
- package/dist/index.js.map +4 -4
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/request.d.ts +1 -1
- package/esm/index.js +180 -116
- package/esm/index.js.map +4 -4
- package/package.json +1 -1
- package/dist/core/bridgeSupplyUtils.d.ts +0 -10
@@ -0,0 +1,16 @@
|
|
1
|
+
export declare function getBtcGasPrice(): Promise<number>;
|
2
|
+
export declare function getBtcBalance(): Promise<{
|
3
|
+
rawBalance: any;
|
4
|
+
balance: number;
|
5
|
+
}>;
|
6
|
+
export declare function sendBitcoin(address: string, amount: string, feeRate: number): Promise<string>;
|
7
|
+
interface ExecuteBurrowSupplyParams {
|
8
|
+
/** btc amount, e.g. 0.01 */
|
9
|
+
amount: string;
|
10
|
+
/** fee rate, if not provided, will use the recommended fee rate from the btc node */
|
11
|
+
feeRate?: number;
|
12
|
+
/** is dev environment */
|
13
|
+
isDev?: boolean;
|
14
|
+
}
|
15
|
+
export declare function executeBurrowSupply({ amount, feeRate, isDev, }: ExecuteBurrowSupplyParams): Promise<void>;
|
16
|
+
export {};
|
@@ -5,13 +5,13 @@ export declare function BtcWalletSelectorContextProvider({ children, }: {
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element;
|
6
6
|
export declare function useBtcWalletSelector(): {
|
7
7
|
login: () => Promise<string | null>;
|
8
|
-
autoConnect: () => Promise<
|
8
|
+
autoConnect: () => Promise<void>;
|
9
9
|
logout: () => void;
|
10
10
|
account: string | null;
|
11
|
-
getPublicKey: () =>
|
11
|
+
getPublicKey: () => any;
|
12
12
|
signMessage: (msg: string) => any;
|
13
13
|
getContext: () => any;
|
14
|
-
|
14
|
+
getNetwork: () => Promise<"livenet" | "testnet">;
|
15
15
|
sendBitcoin: (toAddress: string, satoshis: number, options?: {
|
16
16
|
feeRate: number;
|
17
17
|
}) => Promise<string>;
|
package/dist/index.d.ts
CHANGED
@@ -3,5 +3,5 @@ export { ConnectProvider } from './context';
|
|
3
3
|
export * from './hooks';
|
4
4
|
export * from './core/btcWalletSelectorContext';
|
5
5
|
export * from './core/setupBTCWallet';
|
6
|
-
export * from './core/
|
6
|
+
export * from './core/btcUtils';
|
7
7
|
export declare const getVersion: () => string;
|
package/dist/index.js
CHANGED
@@ -91,7 +91,10 @@ __export(src_exports, {
|
|
91
91
|
WizzConnector: () => WizzConnector,
|
92
92
|
XverseConnector: () => XverseConnector,
|
93
93
|
executeBurrowSupply: () => executeBurrowSupply,
|
94
|
+
getBtcBalance: () => getBtcBalance,
|
95
|
+
getBtcGasPrice: () => getBtcGasPrice,
|
94
96
|
getVersion: () => getVersion,
|
97
|
+
sendBitcoin: () => sendBitcoin,
|
95
98
|
setupBTCWallet: () => setupBTCWallet,
|
96
99
|
useAccountContract: () => useAccountContract,
|
97
100
|
useAccounts: () => useAccounts,
|
@@ -320,7 +323,7 @@ var _network, _event;
|
|
320
323
|
var XverseConnector = class extends BaseConnector {
|
321
324
|
constructor() {
|
322
325
|
super();
|
323
|
-
__privateAdd(this, _network, "
|
326
|
+
__privateAdd(this, _network, "Testnet");
|
324
327
|
__privateAdd(this, _event, new import_events.default());
|
325
328
|
this.metadata = {
|
326
329
|
id: "xverse",
|
@@ -740,7 +743,16 @@ var useAccounts = () => {
|
|
740
743
|
// src/hooks/useBTCProvider.ts
|
741
744
|
var import_react = require("react");
|
742
745
|
var useBTCProvider = () => {
|
743
|
-
const {
|
746
|
+
const {
|
747
|
+
connector,
|
748
|
+
provider,
|
749
|
+
accounts,
|
750
|
+
getPublicKey,
|
751
|
+
signMessage,
|
752
|
+
getNetwork: getNetwork2,
|
753
|
+
switchNetwork,
|
754
|
+
sendBitcoin: sendBitcoin2
|
755
|
+
} = useConnectProvider();
|
744
756
|
const sendInscription = (0, import_react.useCallback)(
|
745
757
|
(address, inscriptionId, options) => __async(void 0, null, function* () {
|
746
758
|
if (!connector) {
|
@@ -751,7 +763,17 @@ var useBTCProvider = () => {
|
|
751
763
|
}),
|
752
764
|
[connector]
|
753
765
|
);
|
754
|
-
return {
|
766
|
+
return {
|
767
|
+
provider,
|
768
|
+
accounts,
|
769
|
+
getPublicKey,
|
770
|
+
signMessage,
|
771
|
+
getNetwork: getNetwork2,
|
772
|
+
switchNetwork,
|
773
|
+
sendBitcoin: sendBitcoin2,
|
774
|
+
sendInscription,
|
775
|
+
connector
|
776
|
+
};
|
755
777
|
};
|
756
778
|
|
757
779
|
// src/hooks/useConnectModal.ts
|
@@ -1340,6 +1362,27 @@ var checkBTCVersion = (accountContracts, accountContractKey, version) => {
|
|
1340
1362
|
return accountContracts[accountContractKey].some((item) => item.version === version);
|
1341
1363
|
};
|
1342
1364
|
var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
1365
|
+
function retryOperation(_0, _1) {
|
1366
|
+
return __async(this, arguments, function* (operation, shouldStop, {
|
1367
|
+
maxRetries = 3,
|
1368
|
+
delayMs = 1e3
|
1369
|
+
} = {}) {
|
1370
|
+
let retries = 0;
|
1371
|
+
while (retries <= maxRetries) {
|
1372
|
+
const result = yield operation();
|
1373
|
+
if (shouldStop(result)) {
|
1374
|
+
return result;
|
1375
|
+
}
|
1376
|
+
if (retries === maxRetries) {
|
1377
|
+
console.warn("Max retries reached");
|
1378
|
+
return result;
|
1379
|
+
}
|
1380
|
+
retries++;
|
1381
|
+
yield delay(delayMs);
|
1382
|
+
}
|
1383
|
+
throw new Error("Unexpected execution path");
|
1384
|
+
});
|
1385
|
+
}
|
1343
1386
|
|
1344
1387
|
// src/utils/ethereumUtils.ts
|
1345
1388
|
var import_util2 = require("@ethereumjs/util");
|
@@ -2105,7 +2148,7 @@ var ConnectProvider = ({
|
|
2105
2148
|
}),
|
2106
2149
|
[connector]
|
2107
2150
|
);
|
2108
|
-
const
|
2151
|
+
const getNetwork2 = (0, import_react10.useCallback)(() => __async(void 0, null, function* () {
|
2109
2152
|
if (!connector) {
|
2110
2153
|
throw new Error("Wallet not connected!");
|
2111
2154
|
}
|
@@ -2289,7 +2332,7 @@ var ConnectProvider = ({
|
|
2289
2332
|
signMessage,
|
2290
2333
|
evmAccount,
|
2291
2334
|
smartAccount,
|
2292
|
-
getNetwork,
|
2335
|
+
getNetwork: getNetwork2,
|
2293
2336
|
switchNetwork,
|
2294
2337
|
sendBitcoin: sendBitcoin2,
|
2295
2338
|
accountContract,
|
@@ -2443,21 +2486,18 @@ function InitBtcWalletSelectorContext() {
|
|
2443
2486
|
}
|
2444
2487
|
function useBtcWalletSelector() {
|
2445
2488
|
const { openConnectModal, openConnectModalAsync, disconnect, requestDirectAccount } = useConnectModal();
|
2446
|
-
const { accounts, sendBitcoin: sendBitcoin2, getPublicKey, provider, signMessage, connector } = useBTCProvider();
|
2489
|
+
const { accounts, sendBitcoin: sendBitcoin2, getPublicKey, provider, signMessage, connector, getNetwork: getNetwork2 } = useBTCProvider();
|
2447
2490
|
const publicKey = (0, import_react11.useRef)(null);
|
2448
2491
|
const signMessageFn = (0, import_react11.useRef)(null);
|
2449
2492
|
const connectorRef = (0, import_react11.useRef)(null);
|
2450
|
-
const providerRef = (0, import_react11.useRef)(null);
|
2451
|
-
const [updater, setUpdater] = (0, import_react11.useState)(1);
|
2452
2493
|
const context = (0, import_react11.useContext)(WalletSelectorContext);
|
2453
2494
|
(0, import_react11.useEffect)(() => {
|
2454
2495
|
if (provider) {
|
2455
2496
|
getPublicKey().then((res) => {
|
2456
2497
|
publicKey.current = res;
|
2457
2498
|
});
|
2458
|
-
providerRef.current = provider;
|
2459
2499
|
}
|
2460
|
-
}, [provider
|
2500
|
+
}, [provider]);
|
2461
2501
|
(0, import_react11.useEffect)(() => {
|
2462
2502
|
signMessageFn.current = signMessage;
|
2463
2503
|
}, [signMessage]);
|
@@ -2480,67 +2520,53 @@ function useBtcWalletSelector() {
|
|
2480
2520
|
}
|
2481
2521
|
};
|
2482
2522
|
}, [connector]);
|
2483
|
-
|
2484
|
-
|
2485
|
-
|
2486
|
-
|
2487
|
-
|
2488
|
-
|
2489
|
-
setUpdater(updater + 1);
|
2490
|
-
if (openConnectModal) {
|
2491
|
-
yield openConnectModal();
|
2492
|
-
}
|
2493
|
-
return null;
|
2494
|
-
}),
|
2495
|
-
autoConnect: () => __async(this, null, function* () {
|
2496
|
-
let times = 0;
|
2497
|
-
while (!connectorRef.current) {
|
2498
|
-
yield delay(500);
|
2499
|
-
if (times++ > 10) {
|
2500
|
-
return null;
|
2501
|
-
}
|
2502
|
-
}
|
2503
|
-
requestDirectAccount(connectorRef.current).catch((e) => {
|
2504
|
-
context.emit("btcLoginError");
|
2505
|
-
});
|
2506
|
-
}),
|
2507
|
-
logout: () => {
|
2508
|
-
const accountId = accounts && accounts.length ? accounts[0] : null;
|
2509
|
-
if (!accountId)
|
2510
|
-
return;
|
2511
|
-
disconnect == null ? void 0 : disconnect();
|
2512
|
-
context.emit("btcLogOut");
|
2513
|
-
},
|
2514
|
-
account: accounts && accounts.length ? accounts[0] : null,
|
2515
|
-
getPublicKey: () => __async(this, null, function* () {
|
2516
|
-
let times = 0;
|
2517
|
-
while (!publicKey.current) {
|
2518
|
-
yield delay(1e3);
|
2519
|
-
if (times++ > 10) {
|
2520
|
-
return null;
|
2523
|
+
const hook = (0, import_react11.useMemo)(() => {
|
2524
|
+
return {
|
2525
|
+
login: () => __async(this, null, function* () {
|
2526
|
+
const account = accounts && accounts.length ? accounts[0] : null;
|
2527
|
+
if (account) {
|
2528
|
+
return account;
|
2521
2529
|
}
|
2522
|
-
|
2523
|
-
|
2524
|
-
}),
|
2525
|
-
signMessage: (msg) => {
|
2526
|
-
return signMessageFn.current(msg);
|
2527
|
-
},
|
2528
|
-
getContext: () => {
|
2529
|
-
return context;
|
2530
|
-
},
|
2531
|
-
getBalance: () => __async(this, null, function* () {
|
2532
|
-
let times = 0;
|
2533
|
-
while (!providerRef.current) {
|
2534
|
-
yield delay(500);
|
2535
|
-
if (times++ > 10) {
|
2536
|
-
return null;
|
2530
|
+
if (openConnectModal) {
|
2531
|
+
yield openConnectModal();
|
2537
2532
|
}
|
2538
|
-
|
2539
|
-
|
2540
|
-
|
2541
|
-
|
2542
|
-
|
2543
|
-
|
2533
|
+
return null;
|
2534
|
+
}),
|
2535
|
+
autoConnect: () => __async(this, null, function* () {
|
2536
|
+
requestDirectAccount(connectorRef.current).catch((e) => {
|
2537
|
+
context.emit("btcLoginError");
|
2538
|
+
});
|
2539
|
+
}),
|
2540
|
+
logout: () => {
|
2541
|
+
const accountId = accounts && accounts.length ? accounts[0] : null;
|
2542
|
+
if (!accountId)
|
2543
|
+
return;
|
2544
|
+
disconnect == null ? void 0 : disconnect();
|
2545
|
+
context.emit("btcLogOut");
|
2546
|
+
},
|
2547
|
+
account: accounts && accounts.length ? accounts[0] : null,
|
2548
|
+
getPublicKey: () => {
|
2549
|
+
return publicKey.current;
|
2550
|
+
},
|
2551
|
+
signMessage: (msg) => {
|
2552
|
+
return signMessageFn.current(msg);
|
2553
|
+
},
|
2554
|
+
getContext: () => {
|
2555
|
+
return context;
|
2556
|
+
},
|
2557
|
+
getNetwork: getNetwork2,
|
2558
|
+
sendBitcoin: sendBitcoin2
|
2559
|
+
};
|
2560
|
+
}, [
|
2561
|
+
accounts,
|
2562
|
+
context,
|
2563
|
+
disconnect,
|
2564
|
+
getNetwork2,
|
2565
|
+
openConnectModal,
|
2566
|
+
requestDirectAccount,
|
2567
|
+
sendBitcoin2
|
2568
|
+
]);
|
2569
|
+
return hook;
|
2544
2570
|
}
|
2545
2571
|
|
2546
2572
|
// src/core/setupBTCWallet.ts
|
@@ -2548,7 +2574,7 @@ var import_near_api_js = require("near-api-js");
|
|
2548
2574
|
var import_transactions = require("@near-js/transactions");
|
2549
2575
|
var import_key_pair = require("near-api-js/lib/utils/key_pair");
|
2550
2576
|
var import_transaction = require("near-api-js/lib/transaction");
|
2551
|
-
var
|
2577
|
+
var import_utils5 = require("@near-js/utils");
|
2552
2578
|
var import_bs58 = __toESM(require("bs58"), 1);
|
2553
2579
|
var import_js_sha256 = require("js-sha256");
|
2554
2580
|
|
@@ -2946,8 +2972,15 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
2946
2972
|
}
|
2947
2973
|
];
|
2948
2974
|
}
|
2949
|
-
|
2950
|
-
const btcPublicKey = yield btcContext.getPublicKey()
|
2975
|
+
yield btcContext.login();
|
2976
|
+
const btcPublicKey = yield retryOperation(btcContext.getPublicKey, (res) => !!res, {
|
2977
|
+
maxRetries: 40,
|
2978
|
+
delayMs: 3e3
|
2979
|
+
});
|
2980
|
+
console.log("btcPublicKey:", btcPublicKey);
|
2981
|
+
if (!btcPublicKey) {
|
2982
|
+
throw new Error("No connected BTC wallet, please connect your BTC wallet first.");
|
2983
|
+
}
|
2951
2984
|
const { nearTempAddress, nearTempPublicKey } = yield getNearAccountByBtcPublicKey(btcPublicKey);
|
2952
2985
|
return [
|
2953
2986
|
{
|
@@ -3040,7 +3073,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
|
|
3040
3073
|
transaction.receiverId,
|
3041
3074
|
BigInt(nearNonceNumber) + BigInt(index),
|
3042
3075
|
newActions,
|
3043
|
-
(0,
|
3076
|
+
(0, import_utils5.baseDecode)(header.hash)
|
3044
3077
|
);
|
3045
3078
|
const txBytes = (0, import_transaction.encodeTransaction)(_transaction);
|
3046
3079
|
const txHex = Array.from(
|
@@ -3182,11 +3215,31 @@ function pollTransactionStatuses(network, hashes) {
|
|
3182
3215
|
});
|
3183
3216
|
}
|
3184
3217
|
|
3185
|
-
// src/core/
|
3218
|
+
// src/core/btcUtils.ts
|
3186
3219
|
var import_near_api_js2 = require("near-api-js");
|
3187
3220
|
var import_big = __toESM(require("big.js"), 1);
|
3188
|
-
function
|
3221
|
+
function getBtcProvider() {
|
3222
|
+
if (typeof window === "undefined" || !window.btcContext) {
|
3223
|
+
throw new Error("BTC Provider is not initialized.");
|
3224
|
+
}
|
3225
|
+
return window.btcContext;
|
3226
|
+
}
|
3227
|
+
function getNetwork() {
|
3189
3228
|
return __async(this, null, function* () {
|
3229
|
+
const network = yield getBtcProvider().getNetwork();
|
3230
|
+
console.log("btc network:", network);
|
3231
|
+
return network === "livenet" ? "mainnet" : "testnet";
|
3232
|
+
});
|
3233
|
+
}
|
3234
|
+
function getBtcRpcUrl() {
|
3235
|
+
return __async(this, null, function* () {
|
3236
|
+
const network = yield getNetwork();
|
3237
|
+
return btcRpcUrls[network];
|
3238
|
+
});
|
3239
|
+
}
|
3240
|
+
function nearViewMethod(contractId, methodName, args) {
|
3241
|
+
return __async(this, null, function* () {
|
3242
|
+
const network = yield getNetwork();
|
3190
3243
|
const nearProvider = new import_near_api_js2.providers.FailoverRpcProvider(
|
3191
3244
|
nearRpcUrls[network].map(
|
3192
3245
|
(url) => new import_near_api_js2.providers.JsonRpcProvider({ url })
|
@@ -3202,41 +3255,16 @@ function nearViewMethod(contractId, methodName, args, network) {
|
|
3202
3255
|
return JSON.parse(Buffer.from(res.result).toString());
|
3203
3256
|
});
|
3204
3257
|
}
|
3205
|
-
function getDepositAddress(btcPublicKey, contractId
|
3258
|
+
function getDepositAddress(btcPublicKey, contractId) {
|
3206
3259
|
return __async(this, null, function* () {
|
3207
|
-
const res = yield nearViewMethod(
|
3208
|
-
|
3209
|
-
|
3210
|
-
|
3211
|
-
|
3212
|
-
BtcPublicKey: { btc_public_key: btcPublicKey, dapp_operation: "Burrowland->Supply" }
|
3213
|
-
}
|
3214
|
-
},
|
3215
|
-
network
|
3216
|
-
);
|
3260
|
+
const res = yield nearViewMethod(contractId, "get_user_dapp_deposit_address", {
|
3261
|
+
deposit_type: {
|
3262
|
+
BtcPublicKey: { btc_public_key: btcPublicKey, dapp_operation: "Burrowland->Supply" }
|
3263
|
+
}
|
3264
|
+
});
|
3217
3265
|
return res;
|
3218
3266
|
});
|
3219
3267
|
}
|
3220
|
-
function getGasPrice(network) {
|
3221
|
-
return __async(this, null, function* () {
|
3222
|
-
const defaultFeeRate = 100;
|
3223
|
-
try {
|
3224
|
-
const btcRpcUrl = btcRpcUrls[network];
|
3225
|
-
const res = yield fetch(`${btcRpcUrl}/v1/fees/recommended`).then((res2) => res2.json());
|
3226
|
-
const feeRate = res.fastestFee;
|
3227
|
-
return feeRate || defaultFeeRate;
|
3228
|
-
} catch (error) {
|
3229
|
-
return defaultFeeRate;
|
3230
|
-
}
|
3231
|
-
});
|
3232
|
-
}
|
3233
|
-
function sendBitcoin(btcProvider, address, amount, feeRate) {
|
3234
|
-
return __async(this, null, function* () {
|
3235
|
-
const satoshis = new import_big.default(amount).mul(__pow(10, 8)).toNumber();
|
3236
|
-
const txHash = yield btcProvider.sendBitcoin(address, satoshis, { feeRate });
|
3237
|
-
return txHash;
|
3238
|
-
});
|
3239
|
-
}
|
3240
3268
|
function receiveDepositMsg(_0, _1) {
|
3241
3269
|
return __async(this, arguments, function* (baseUrl, {
|
3242
3270
|
btcPublicKey,
|
@@ -3261,27 +3289,63 @@ function checkTransactionStatus(baseUrl, txHash) {
|
|
3261
3289
|
return res;
|
3262
3290
|
});
|
3263
3291
|
}
|
3292
|
+
function getBtcGasPrice() {
|
3293
|
+
return __async(this, null, function* () {
|
3294
|
+
const defaultFeeRate = 100;
|
3295
|
+
try {
|
3296
|
+
const btcRpcUrl = yield getBtcRpcUrl();
|
3297
|
+
const res = yield fetch(`${btcRpcUrl}/v1/fees/recommended`).then((res2) => res2.json());
|
3298
|
+
const feeRate = res.fastestFee;
|
3299
|
+
return feeRate || defaultFeeRate;
|
3300
|
+
} catch (error) {
|
3301
|
+
return defaultFeeRate;
|
3302
|
+
}
|
3303
|
+
});
|
3304
|
+
}
|
3305
|
+
function getBtcBalance() {
|
3306
|
+
return __async(this, null, function* () {
|
3307
|
+
var _a;
|
3308
|
+
const { account } = yield retryOperation(getBtcProvider, (res2) => !!res2.account);
|
3309
|
+
if (!account) {
|
3310
|
+
console.error("BTC Account is not available.");
|
3311
|
+
return { rawBalance: 0, balance: 0 };
|
3312
|
+
}
|
3313
|
+
const btcRpcUrl = yield getBtcRpcUrl();
|
3314
|
+
const res = yield fetch(`${btcRpcUrl}/address/${account}/utxo`).then((res2) => res2.json());
|
3315
|
+
const rawBalance = (_a = res.filter((item) => {
|
3316
|
+
var _a2;
|
3317
|
+
return (_a2 = item == null ? void 0 : item.status) == null ? void 0 : _a2.confirmed;
|
3318
|
+
})) == null ? void 0 : _a.reduce((acc, cur) => acc + cur.value, 0);
|
3319
|
+
const balance = rawBalance / __pow(10, 8);
|
3320
|
+
return { rawBalance, balance };
|
3321
|
+
});
|
3322
|
+
}
|
3323
|
+
function sendBitcoin(address, amount, feeRate) {
|
3324
|
+
return __async(this, null, function* () {
|
3325
|
+
const { sendBitcoin: sendBitcoin2 } = getBtcProvider();
|
3326
|
+
const satoshis = new import_big.default(amount).mul(__pow(10, 8)).toNumber();
|
3327
|
+
const txHash = yield sendBitcoin2(address, satoshis, { feeRate });
|
3328
|
+
return txHash;
|
3329
|
+
});
|
3330
|
+
}
|
3264
3331
|
function executeBurrowSupply(_0) {
|
3265
3332
|
return __async(this, arguments, function* ({
|
3266
3333
|
amount,
|
3267
3334
|
feeRate,
|
3268
|
-
|
3335
|
+
isDev = false
|
3269
3336
|
}) {
|
3270
3337
|
try {
|
3271
|
-
|
3272
|
-
|
3273
|
-
|
3274
|
-
const
|
3275
|
-
const network = environment === "dev" ? "testnet" : environment;
|
3276
|
-
const config = walletConfig[environment];
|
3277
|
-
const btcPublicKey = yield btcProvider.getPublicKey();
|
3338
|
+
const { getPublicKey } = getBtcProvider();
|
3339
|
+
const network = yield getNetwork();
|
3340
|
+
const config = walletConfig[isDev ? "dev" : network];
|
3341
|
+
const btcPublicKey = yield getPublicKey();
|
3278
3342
|
if (!btcPublicKey) {
|
3279
3343
|
throw new Error("BTC Public Key is not available.");
|
3280
3344
|
}
|
3281
|
-
const address = yield getDepositAddress(btcPublicKey, config.contractId
|
3282
|
-
const _feeRate = feeRate || (yield
|
3345
|
+
const address = yield getDepositAddress(btcPublicKey, config.contractId);
|
3346
|
+
const _feeRate = feeRate || (yield getBtcGasPrice());
|
3283
3347
|
console.log("feeRate", _feeRate);
|
3284
|
-
const txHash = yield sendBitcoin(
|
3348
|
+
const txHash = yield sendBitcoin(address, amount, _feeRate);
|
3285
3349
|
const receiveDepositMsgRes = yield receiveDepositMsg(config.base_url, { btcPublicKey, txHash });
|
3286
3350
|
console.log("receiveDepositMsg resp:", receiveDepositMsgRes);
|
3287
3351
|
const checkTransactionStatusRes = yield checkTransactionStatus(config.base_url, txHash);
|
@@ -3294,7 +3358,7 @@ function executeBurrowSupply(_0) {
|
|
3294
3358
|
|
3295
3359
|
// src/index.ts
|
3296
3360
|
var getVersion = () => {
|
3297
|
-
return "0.3.
|
3361
|
+
return "0.3.5";
|
3298
3362
|
};
|
3299
3363
|
if (typeof window !== "undefined") {
|
3300
3364
|
window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();
|