btc-wallet 0.4.7-beta → 0.4.8-beta
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +34 -15
- package/dist/connector/binance.d.ts +6 -0
- package/dist/connector/index.d.ts +1 -0
- package/dist/connector/injected.d.ts +1 -0
- package/dist/connector/universalLink.d.ts +8 -0
- package/dist/core/btcUtils.d.ts +0 -6
- package/dist/evmSigner/index.d.ts +20 -20
- package/dist/index.js +434 -324
- package/dist/index.js.map +4 -4
- package/dist/utils/index.d.ts +1 -0
- package/esm/index.js +432 -322
- package/esm/index.js.map +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
@@ -99,31 +99,50 @@ const balance = await getBtcBalance(address: string);
|
|
99
99
|
// Returns balance in satoshis
|
100
100
|
```
|
101
101
|
|
102
|
-
### `
|
102
|
+
### `getDepositAmount`
|
103
103
|
|
104
|
-
|
104
|
+
Calculate the amount of BTC tokens that can be received on NEAR after depositing native BTC through Satoshi Bridge. This takes into account bridge fees and minimum deposit requirements.
|
105
105
|
|
106
106
|
```typescript
|
107
|
-
import {
|
107
|
+
import { getDepositAmount } from 'btc-wallet';
|
108
108
|
|
109
|
-
//
|
110
|
-
const
|
111
|
-
amount: string, //
|
109
|
+
// Calculate receivable amount
|
110
|
+
const result = await getDepositAmount(
|
111
|
+
amount: string, // Amount in satoshi units
|
112
112
|
options?: {
|
113
|
-
env?: 'mainnet' | 'testnet' | 'private_mainnet' | 'dev' //
|
113
|
+
env?: 'mainnet' | 'testnet' | 'private_mainnet' | 'dev' // Optional: Defaults to NEAR network environment
|
114
114
|
}
|
115
115
|
);
|
116
116
|
|
117
|
-
//
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
117
|
+
// Returns
|
118
|
+
interface DepositAmountResult {
|
119
|
+
depositAmount: number; // Original deposit amount
|
120
|
+
totalDepositAmount: number; // Total amount needed including all fees
|
121
|
+
protocolFee: number; // Protocol fee
|
122
|
+
repayAmount: number; // Amount to repay if there's debt
|
123
|
+
newAccountMinDepositAmount: number; // Minimum deposit amount for new accounts
|
124
|
+
}
|
122
125
|
|
123
|
-
|
124
|
-
-
|
125
|
-
- Minimum deposit requirements
|
126
|
+
To complete the deposit, you will need to send `totalDepositAmount` of BTC, which includes:
|
127
|
+
- Original deposit amount
|
126
128
|
- Protocol fees
|
129
|
+
- Repayment amount (if you have existing debt)
|
130
|
+
- New account minimum deposit (for first-time users)
|
131
|
+
```
|
132
|
+
|
133
|
+
### `getWithdrawTransaction`
|
134
|
+
|
135
|
+
Get transaction for withdrawing BTC from NEAR to a specified bitcoin address.
|
136
|
+
|
137
|
+
```typescript
|
138
|
+
import { getWithdrawTransaction } from 'btc-wallet';
|
139
|
+
|
140
|
+
const transaction = await getWithdrawTransaction({
|
141
|
+
btcAddress: string, // Target bitcoin address
|
142
|
+
amount: string, // Amount to withdraw in satoshi units
|
143
|
+
env?: 'mainnet' | 'testnet' | 'private_mainnet' | 'dev' // Optional: Defaults to NEAR network environment
|
144
|
+
});
|
145
|
+
```
|
127
146
|
|
128
147
|
## Requirements
|
129
148
|
|
@@ -4,6 +4,7 @@ export declare abstract class InjectedConnector extends BaseConnector {
|
|
4
4
|
constructor(propertity: string);
|
5
5
|
isReady(): boolean;
|
6
6
|
requestAccounts(): Promise<string[]>;
|
7
|
+
private getUniversalLink;
|
7
8
|
getAccounts(): Promise<string[]>;
|
8
9
|
getPublicKey(): Promise<string>;
|
9
10
|
signMessage(signStr: string, type?: 'ecdsa' | 'bip322-simple'): Promise<string>;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export interface WalletConnectHelper {
|
2
|
+
getUniversalLink(url: string): string;
|
3
|
+
isWalletInstalled(): boolean;
|
4
|
+
}
|
5
|
+
export declare class MobileWalletConnect {
|
6
|
+
static getUniversalLink(walletId: string, url: string): string;
|
7
|
+
static redirectToWallet(walletId: string): Promise<boolean>;
|
8
|
+
}
|
package/dist/core/btcUtils.d.ts
CHANGED
@@ -24,13 +24,7 @@ export declare function getBtcGasPrice(): Promise<number>;
|
|
24
24
|
export declare function getBtcBalance(): Promise<{
|
25
25
|
rawBalance: number;
|
26
26
|
balance: number;
|
27
|
-
maxSpendableBalance: number;
|
28
|
-
availableBalance?: undefined;
|
29
|
-
} | {
|
30
|
-
rawBalance: any;
|
31
|
-
balance: number;
|
32
27
|
availableBalance: number;
|
33
|
-
maxSpendableBalance?: undefined;
|
34
28
|
}>;
|
35
29
|
export declare function getNBTCBalance(address: string, env?: ENV): Promise<{
|
36
30
|
balance: number;
|
@@ -70,6 +70,8 @@ export declare class AASignerProvider {
|
|
70
70
|
withdrawals?: import("viem").Withdrawal[] | undefined;
|
71
71
|
withdrawalsRoot?: import("viem").Hex | undefined;
|
72
72
|
transactions: includeTransactions extends true ? ({
|
73
|
+
input: import("viem").Hex;
|
74
|
+
s: import("viem").Hex;
|
73
75
|
value: bigint;
|
74
76
|
type: "legacy";
|
75
77
|
to: import("viem").Address | null;
|
@@ -85,16 +87,16 @@ export declare class AASignerProvider {
|
|
85
87
|
authorizationList?: undefined;
|
86
88
|
hash: import("viem").Hash;
|
87
89
|
r: import("viem").Hex;
|
88
|
-
s: import("viem").Hex;
|
89
90
|
v: bigint;
|
90
91
|
yParity?: undefined;
|
91
|
-
input: import("viem").Hex;
|
92
92
|
typeHex: import("viem").Hex | null;
|
93
93
|
chainId?: number | undefined;
|
94
94
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
95
95
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
96
96
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
97
97
|
} | {
|
98
|
+
input: import("viem").Hex;
|
99
|
+
s: import("viem").Hex;
|
98
100
|
value: bigint;
|
99
101
|
type: "eip2930";
|
100
102
|
to: import("viem").Address | null;
|
@@ -110,16 +112,16 @@ export declare class AASignerProvider {
|
|
110
112
|
authorizationList?: undefined;
|
111
113
|
hash: import("viem").Hash;
|
112
114
|
r: import("viem").Hex;
|
113
|
-
s: import("viem").Hex;
|
114
115
|
v: bigint;
|
115
116
|
yParity: number;
|
116
|
-
input: import("viem").Hex;
|
117
117
|
typeHex: import("viem").Hex | null;
|
118
118
|
chainId: number;
|
119
119
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
120
120
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
121
121
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
122
122
|
} | {
|
123
|
+
input: import("viem").Hex;
|
124
|
+
s: import("viem").Hex;
|
123
125
|
value: bigint;
|
124
126
|
type: "eip1559";
|
125
127
|
to: import("viem").Address | null;
|
@@ -135,16 +137,16 @@ export declare class AASignerProvider {
|
|
135
137
|
authorizationList?: undefined;
|
136
138
|
hash: import("viem").Hash;
|
137
139
|
r: import("viem").Hex;
|
138
|
-
s: import("viem").Hex;
|
139
140
|
v: bigint;
|
140
141
|
yParity: number;
|
141
|
-
input: import("viem").Hex;
|
142
142
|
typeHex: import("viem").Hex | null;
|
143
143
|
chainId: number;
|
144
144
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
145
145
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
146
146
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
147
147
|
} | {
|
148
|
+
input: import("viem").Hex;
|
149
|
+
s: import("viem").Hex;
|
148
150
|
value: bigint;
|
149
151
|
type: "eip4844";
|
150
152
|
to: import("viem").Address | null;
|
@@ -160,16 +162,16 @@ export declare class AASignerProvider {
|
|
160
162
|
authorizationList?: undefined;
|
161
163
|
hash: import("viem").Hash;
|
162
164
|
r: import("viem").Hex;
|
163
|
-
s: import("viem").Hex;
|
164
165
|
v: bigint;
|
165
166
|
yParity: number;
|
166
|
-
input: import("viem").Hex;
|
167
167
|
typeHex: import("viem").Hex | null;
|
168
168
|
chainId: number;
|
169
169
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
170
170
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
171
171
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
172
172
|
} | {
|
173
|
+
input: import("viem").Hex;
|
174
|
+
s: import("viem").Hex;
|
173
175
|
value: bigint;
|
174
176
|
type: "eip7702";
|
175
177
|
to: import("viem").Address | null;
|
@@ -185,10 +187,8 @@ export declare class AASignerProvider {
|
|
185
187
|
authorizationList: import("viem/_types/experimental/eip7702/types/authorization").SignedAuthorizationList;
|
186
188
|
hash: import("viem").Hash;
|
187
189
|
r: import("viem").Hex;
|
188
|
-
s: import("viem").Hex;
|
189
190
|
v: bigint;
|
190
191
|
yParity: number;
|
191
|
-
input: import("viem").Hex;
|
192
192
|
typeHex: import("viem").Hex | null;
|
193
193
|
chainId: number;
|
194
194
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
@@ -220,6 +220,8 @@ export declare class AASignerProvider {
|
|
220
220
|
} | undefined) => Promise<import("viem").EstimateMaxPriorityFeePerGasReturnType>;
|
221
221
|
getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise<import("viem").GetStorageAtReturnType>;
|
222
222
|
getTransaction: <blockTag extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<blockTag>) => Promise<{
|
223
|
+
input: import("viem").Hex;
|
224
|
+
s: import("viem").Hex;
|
223
225
|
value: bigint;
|
224
226
|
type: "legacy";
|
225
227
|
to: import("viem").Address | null;
|
@@ -235,16 +237,16 @@ export declare class AASignerProvider {
|
|
235
237
|
authorizationList?: undefined;
|
236
238
|
hash: import("viem").Hash;
|
237
239
|
r: import("viem").Hex;
|
238
|
-
s: import("viem").Hex;
|
239
240
|
v: bigint;
|
240
241
|
yParity?: undefined;
|
241
|
-
input: import("viem").Hex;
|
242
242
|
typeHex: import("viem").Hex | null;
|
243
243
|
chainId?: number | undefined;
|
244
244
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
245
245
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
246
246
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
247
247
|
} | {
|
248
|
+
input: import("viem").Hex;
|
249
|
+
s: import("viem").Hex;
|
248
250
|
value: bigint;
|
249
251
|
type: "eip2930";
|
250
252
|
to: import("viem").Address | null;
|
@@ -260,16 +262,16 @@ export declare class AASignerProvider {
|
|
260
262
|
authorizationList?: undefined;
|
261
263
|
hash: import("viem").Hash;
|
262
264
|
r: import("viem").Hex;
|
263
|
-
s: import("viem").Hex;
|
264
265
|
v: bigint;
|
265
266
|
yParity: number;
|
266
|
-
input: import("viem").Hex;
|
267
267
|
typeHex: import("viem").Hex | null;
|
268
268
|
chainId: number;
|
269
269
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
270
270
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
271
271
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
272
272
|
} | {
|
273
|
+
input: import("viem").Hex;
|
274
|
+
s: import("viem").Hex;
|
273
275
|
value: bigint;
|
274
276
|
type: "eip1559";
|
275
277
|
to: import("viem").Address | null;
|
@@ -285,16 +287,16 @@ export declare class AASignerProvider {
|
|
285
287
|
authorizationList?: undefined;
|
286
288
|
hash: import("viem").Hash;
|
287
289
|
r: import("viem").Hex;
|
288
|
-
s: import("viem").Hex;
|
289
290
|
v: bigint;
|
290
291
|
yParity: number;
|
291
|
-
input: import("viem").Hex;
|
292
292
|
typeHex: import("viem").Hex | null;
|
293
293
|
chainId: number;
|
294
294
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
295
295
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
296
296
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
297
297
|
} | {
|
298
|
+
input: import("viem").Hex;
|
299
|
+
s: import("viem").Hex;
|
298
300
|
value: bigint;
|
299
301
|
type: "eip4844";
|
300
302
|
to: import("viem").Address | null;
|
@@ -310,16 +312,16 @@ export declare class AASignerProvider {
|
|
310
312
|
authorizationList?: undefined;
|
311
313
|
hash: import("viem").Hash;
|
312
314
|
r: import("viem").Hex;
|
313
|
-
s: import("viem").Hex;
|
314
315
|
v: bigint;
|
315
316
|
yParity: number;
|
316
|
-
input: import("viem").Hex;
|
317
317
|
typeHex: import("viem").Hex | null;
|
318
318
|
chainId: number;
|
319
319
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|
320
320
|
blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
|
321
321
|
transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
|
322
322
|
} | {
|
323
|
+
input: import("viem").Hex;
|
324
|
+
s: import("viem").Hex;
|
323
325
|
value: bigint;
|
324
326
|
type: "eip7702";
|
325
327
|
to: import("viem").Address | null;
|
@@ -335,10 +337,8 @@ export declare class AASignerProvider {
|
|
335
337
|
authorizationList: import("viem/_types/experimental/eip7702/types/authorization").SignedAuthorizationList;
|
336
338
|
hash: import("viem").Hash;
|
337
339
|
r: import("viem").Hex;
|
338
|
-
s: import("viem").Hex;
|
339
340
|
v: bigint;
|
340
341
|
yParity: number;
|
341
|
-
input: import("viem").Hex;
|
342
342
|
typeHex: import("viem").Hex | null;
|
343
343
|
chainId: number;
|
344
344
|
blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
|