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 CHANGED
@@ -99,31 +99,50 @@ const balance = await getBtcBalance(address: string);
99
99
  // Returns balance in satoshis
100
100
  ```
101
101
 
102
- ### `estimateDepositAmount`
102
+ ### `getDepositAmount`
103
103
 
104
- Estimate the amount of BTC tokens that will be received on NEAR after depositing native BTC through Satoshi bridge. This takes into account bridge fees and minimum deposit requirements.
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 { estimateDepositAmount } from 'btc-wallet';
107
+ import { getDepositAmount } from 'btc-wallet';
108
108
 
109
- // Estimate receivable amount
110
- const receiveAmount = await estimateDepositAmount(
111
- amount: string, // amount in smallest units (satoshis)
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' // optional: defaults to NEAR network environment
113
+ env?: 'mainnet' | 'testnet' | 'private_mainnet' | 'dev' // Optional: Defaults to NEAR network environment
114
114
  }
115
115
  );
116
116
 
117
- // Example
118
- const amount = '100000000'; // 1 BTC in satoshis
119
- const estimatedReceive = await estimateDepositAmount(amount);
120
- console.log('Estimated receive amount:', estimatedReceive);
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
- The estimated amount will be less than the input amount due to:
124
- - Bridge fees
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
 
@@ -0,0 +1,6 @@
1
+ import { type WalletMetadata } from './base';
2
+ import { InjectedConnector } from './injected';
3
+ export declare class BinanceConnector extends InjectedConnector {
4
+ readonly metadata: WalletMetadata;
5
+ constructor();
6
+ }
@@ -8,3 +8,4 @@ export { UnisatConnector } from './unisat';
8
8
  export { WizzConnector } from './wizz';
9
9
  export { XverseConnector } from './xverse';
10
10
  export { MagicEdenConnector } from './magicEden';
11
+ export { BinanceConnector } from './binance';
@@ -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
+ }
@@ -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;