@aibtc/mcp-server 1.15.0 → 1.17.0
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/contracts.d.ts +20 -0
- package/dist/config/contracts.d.ts.map +1 -1
- package/dist/config/contracts.js +19 -0
- package/dist/config/contracts.js.map +1 -1
- package/dist/services/erc8004.service.d.ts +92 -0
- package/dist/services/erc8004.service.d.ts.map +1 -0
- package/dist/services/erc8004.service.js +259 -0
- package/dist/services/erc8004.service.js.map +1 -0
- package/dist/services/mempool-api.d.ts +14 -0
- package/dist/services/mempool-api.d.ts.map +1 -1
- package/dist/services/mempool-api.js +22 -0
- package/dist/services/mempool-api.js.map +1 -1
- package/dist/services/sbtc-deposit.service.d.ts +246 -0
- package/dist/services/sbtc-deposit.service.d.ts.map +1 -0
- package/dist/services/sbtc-deposit.service.js +373 -0
- package/dist/services/sbtc-deposit.service.js.map +1 -0
- package/dist/services/wallet-manager.d.ts +4 -0
- package/dist/services/wallet-manager.d.ts.map +1 -1
- package/dist/services/wallet-manager.js +120 -5
- package/dist/services/wallet-manager.js.map +1 -1
- package/dist/tools/erc8004.tools.d.ts +21 -0
- package/dist/tools/erc8004.tools.d.ts.map +1 -0
- package/dist/tools/erc8004.tools.js +347 -0
- package/dist/tools/erc8004.tools.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/sbtc.tools.d.ts.map +1 -1
- package/dist/tools/sbtc.tools.js +192 -0
- package/dist/tools/sbtc.tools.js.map +1 -1
- package/dist/tools/wallet-management.tools.d.ts.map +1 -1
- package/dist/tools/wallet-management.tools.js +41 -0
- package/dist/tools/wallet-management.tools.js.map +1 -1
- package/dist/transactions/builder.d.ts +9 -0
- package/dist/transactions/builder.d.ts.map +1 -1
- package/dist/transactions/builder.js.map +1 -1
- package/dist/utils/bitcoin.d.ts +52 -0
- package/dist/utils/bitcoin.d.ts.map +1 -1
- package/dist/utils/bitcoin.js +72 -0
- package/dist/utils/bitcoin.js.map +1 -1
- package/dist/utils/storage.d.ts +16 -0
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/storage.js +39 -1
- package/dist/utils/storage.js.map +1 -1
- package/package.json +2 -1
- package/skill/references/stacks-defi.md +72 -0
package/dist/tools/sbtc.tools.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getAccount, getWalletAddress, NETWORK } from "../services/x402.service.js";
|
|
3
3
|
import { getSbtcService } from "../services/sbtc.service.js";
|
|
4
|
+
import { getSbtcDepositService } from "../services/sbtc-deposit.service.js";
|
|
4
5
|
import { getExplorerTxUrl } from "../config/networks.js";
|
|
5
6
|
import { createJsonResponse, createErrorResponse, resolveFee } from "../utils/index.js";
|
|
7
|
+
import { getWalletManager } from "../services/wallet-manager.js";
|
|
8
|
+
import { MempoolApi, getMempoolTxUrl } from "../services/mempool-api.js";
|
|
6
9
|
export function registerSbtcTools(server) {
|
|
7
10
|
// Get sBTC balance
|
|
8
11
|
server.registerTool("sbtc_get_balance", {
|
|
@@ -73,6 +76,39 @@ Example: To send 0.001 sBTC, use amount "100000" (satoshis).`,
|
|
|
73
76
|
description: "Get information about how to deposit BTC to receive sBTC.",
|
|
74
77
|
}, async () => {
|
|
75
78
|
try {
|
|
79
|
+
// Try to get wallet account (don't throw if not unlocked)
|
|
80
|
+
const walletManager = getWalletManager();
|
|
81
|
+
let account;
|
|
82
|
+
try {
|
|
83
|
+
account = walletManager.getActiveAccount();
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// Wallet not unlocked - return generic instructions
|
|
87
|
+
account = null;
|
|
88
|
+
}
|
|
89
|
+
// If wallet is unlocked and has Taproot keys, generate real deposit address
|
|
90
|
+
if (account?.taprootPublicKey) {
|
|
91
|
+
const depositService = getSbtcDepositService(NETWORK);
|
|
92
|
+
const reclaimPublicKey = Buffer.from(account.taprootPublicKey).toString("hex");
|
|
93
|
+
const depositAddressInfo = await depositService.buildDepositAddress(account.address, reclaimPublicKey, 80000, // Default max signer fee
|
|
94
|
+
950 // Default reclaim lock time (blocks)
|
|
95
|
+
);
|
|
96
|
+
return createJsonResponse({
|
|
97
|
+
network: NETWORK,
|
|
98
|
+
depositAddress: depositAddressInfo.depositAddress,
|
|
99
|
+
maxSignerFee: `${depositAddressInfo.maxFee} satoshis`,
|
|
100
|
+
reclaimLockTime: `${depositAddressInfo.lockTime} blocks`,
|
|
101
|
+
stacksAddress: account.address,
|
|
102
|
+
instructions: [
|
|
103
|
+
"1. Send BTC to the deposit address above",
|
|
104
|
+
"2. Wait for Bitcoin block confirmations",
|
|
105
|
+
"3. sBTC tokens will be minted to your Stacks address",
|
|
106
|
+
"4. If the deposit fails, you can reclaim your BTC after the lock time expires",
|
|
107
|
+
"Alternatively, use the sbtc_deposit tool to build and broadcast the transaction automatically."
|
|
108
|
+
],
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// Wallet not unlocked - return generic instructions
|
|
76
112
|
const sbtcService = getSbtcService(NETWORK);
|
|
77
113
|
const depositInfo = await sbtcService.getDepositInfo();
|
|
78
114
|
return createJsonResponse({
|
|
@@ -104,5 +140,161 @@ Example: To send 0.001 sBTC, use amount "100000" (satoshis).`,
|
|
|
104
140
|
return createErrorResponse(error);
|
|
105
141
|
}
|
|
106
142
|
});
|
|
143
|
+
// Deposit BTC → sBTC
|
|
144
|
+
server.registerTool("sbtc_deposit", {
|
|
145
|
+
description: `Deposit BTC to receive sBTC on Stacks L2.
|
|
146
|
+
|
|
147
|
+
This builds, signs, and broadcasts a Bitcoin transaction to the sBTC deposit address.
|
|
148
|
+
After confirmation, sBTC tokens are minted to your Stacks address.
|
|
149
|
+
|
|
150
|
+
The transaction uses your wallet's Taproot address for the reclaim path.
|
|
151
|
+
If the deposit fails, you can reclaim your BTC after the lock time expires.
|
|
152
|
+
|
|
153
|
+
By default, only uses cardinal UTXOs (safe to spend - no inscriptions).
|
|
154
|
+
Set includeOrdinals=true to allow spending ordinal UTXOs (advanced users only).`,
|
|
155
|
+
inputSchema: {
|
|
156
|
+
amount: z
|
|
157
|
+
.number()
|
|
158
|
+
.int()
|
|
159
|
+
.positive()
|
|
160
|
+
.describe("Amount to deposit in satoshis (1 BTC = 100,000,000 satoshis)"),
|
|
161
|
+
feeRate: z
|
|
162
|
+
.union([
|
|
163
|
+
z.enum(["fast", "medium", "slow"]),
|
|
164
|
+
z.number().int().positive(),
|
|
165
|
+
])
|
|
166
|
+
.optional()
|
|
167
|
+
.default("medium")
|
|
168
|
+
.describe("Fee rate: 'fast' (~10 min), 'medium' (~30 min), 'slow' (~1 hr), or number in sat/vB"),
|
|
169
|
+
maxSignerFee: z
|
|
170
|
+
.number()
|
|
171
|
+
.int()
|
|
172
|
+
.positive()
|
|
173
|
+
.optional()
|
|
174
|
+
.default(80000)
|
|
175
|
+
.describe("Max fee the sBTC system can charge in satoshis (default: 80000 sats)"),
|
|
176
|
+
reclaimLockTime: z
|
|
177
|
+
.number()
|
|
178
|
+
.int()
|
|
179
|
+
.positive()
|
|
180
|
+
.optional()
|
|
181
|
+
.default(950)
|
|
182
|
+
.describe("Block height when reclaim becomes available if deposit fails (default: 950 blocks)"),
|
|
183
|
+
includeOrdinals: z
|
|
184
|
+
.boolean()
|
|
185
|
+
.optional()
|
|
186
|
+
.default(false)
|
|
187
|
+
.describe("Include ordinal UTXOs (contains inscriptions). Default: false (cardinal only). " +
|
|
188
|
+
"WARNING: Setting this to true may destroy valuable inscriptions!"),
|
|
189
|
+
},
|
|
190
|
+
}, async ({ amount, feeRate, maxSignerFee, reclaimLockTime, includeOrdinals }) => {
|
|
191
|
+
try {
|
|
192
|
+
// Get wallet account (requires unlocked wallet)
|
|
193
|
+
const walletManager = getWalletManager();
|
|
194
|
+
const account = walletManager.getActiveAccount();
|
|
195
|
+
if (!account) {
|
|
196
|
+
throw new Error("Wallet is not unlocked. Use wallet_unlock first to enable transactions.");
|
|
197
|
+
}
|
|
198
|
+
if (!account.btcAddress || !account.taprootAddress || !account.taprootPublicKey) {
|
|
199
|
+
throw new Error("Bitcoin or Taproot keys not available. Please unlock your wallet again.");
|
|
200
|
+
}
|
|
201
|
+
// Resolve fee rate
|
|
202
|
+
let resolvedFeeRate;
|
|
203
|
+
if (typeof feeRate === "number") {
|
|
204
|
+
resolvedFeeRate = feeRate;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
const api = new MempoolApi(NETWORK);
|
|
208
|
+
const feeTiers = await api.getFeeTiers();
|
|
209
|
+
switch (feeRate) {
|
|
210
|
+
case "fast":
|
|
211
|
+
resolvedFeeRate = feeTiers.fast;
|
|
212
|
+
break;
|
|
213
|
+
case "slow":
|
|
214
|
+
resolvedFeeRate = feeTiers.slow;
|
|
215
|
+
break;
|
|
216
|
+
case "medium":
|
|
217
|
+
default:
|
|
218
|
+
resolvedFeeRate = feeTiers.medium;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Get deposit service
|
|
223
|
+
const depositService = getSbtcDepositService(NETWORK);
|
|
224
|
+
// Reclaim public key is the Taproot internal public key (x-only, 32 bytes)
|
|
225
|
+
// Convert Uint8Array to hex string
|
|
226
|
+
const reclaimPublicKey = Buffer.from(account.taprootPublicKey).toString("hex");
|
|
227
|
+
// Step 1: Build and sign the deposit transaction
|
|
228
|
+
// Passing btcPrivateKey allows the service to sign internally using
|
|
229
|
+
// the sbtc package's @scure/btc-signer (avoids version mismatch)
|
|
230
|
+
const depositResult = await depositService.buildDepositTransaction(amount, account.address, // Stacks address to receive sBTC
|
|
231
|
+
account.btcAddress, // Bitcoin address for UTXOs and change
|
|
232
|
+
reclaimPublicKey, resolvedFeeRate, maxSignerFee, reclaimLockTime, account.btcPrivateKey, // Sign with P2WPKH key (inputs are from user's address)
|
|
233
|
+
includeOrdinals);
|
|
234
|
+
// Step 2: Broadcast signed transaction and notify Emily API
|
|
235
|
+
const result = await depositService.broadcastAndNotify(depositResult.txHex, depositResult.depositScript, depositResult.reclaimScript, depositResult.vout);
|
|
236
|
+
const btcAmount = (amount / 100_000_000).toFixed(8);
|
|
237
|
+
return createJsonResponse({
|
|
238
|
+
success: true,
|
|
239
|
+
txid: result.txid,
|
|
240
|
+
explorerUrl: getMempoolTxUrl(result.txid, NETWORK),
|
|
241
|
+
deposit: {
|
|
242
|
+
amount: btcAmount + " BTC",
|
|
243
|
+
amountSats: amount,
|
|
244
|
+
recipient: account.address,
|
|
245
|
+
bitcoinAddress: account.btcAddress,
|
|
246
|
+
taprootAddress: account.taprootAddress,
|
|
247
|
+
maxSignerFee: maxSignerFee + " sats",
|
|
248
|
+
reclaimLockTime: reclaimLockTime + " blocks",
|
|
249
|
+
feeRate: `${resolvedFeeRate} sat/vB`,
|
|
250
|
+
},
|
|
251
|
+
network: NETWORK,
|
|
252
|
+
note: "sBTC tokens will be minted to your Stacks address after Bitcoin transaction confirms.",
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
return createErrorResponse(error);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
// Check sBTC deposit status
|
|
260
|
+
server.registerTool("sbtc_deposit_status", {
|
|
261
|
+
description: "Check the status of an sBTC deposit transaction from Emily API.",
|
|
262
|
+
inputSchema: {
|
|
263
|
+
txid: z.string().describe("Bitcoin transaction ID of the deposit"),
|
|
264
|
+
vout: z
|
|
265
|
+
.number()
|
|
266
|
+
.int()
|
|
267
|
+
.nonnegative()
|
|
268
|
+
.optional()
|
|
269
|
+
.default(0)
|
|
270
|
+
.describe("Output index of the deposit (default: 0)"),
|
|
271
|
+
},
|
|
272
|
+
}, async ({ txid, vout }) => {
|
|
273
|
+
try {
|
|
274
|
+
const depositService = getSbtcDepositService(NETWORK);
|
|
275
|
+
const status = await depositService.getDepositStatus(txid, vout);
|
|
276
|
+
return createJsonResponse({
|
|
277
|
+
txid,
|
|
278
|
+
vout,
|
|
279
|
+
status,
|
|
280
|
+
explorerUrl: getMempoolTxUrl(txid, NETWORK),
|
|
281
|
+
network: NETWORK,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
// Handle 404 (deposit not found) gracefully
|
|
286
|
+
if (error instanceof Error && error.message.includes("404")) {
|
|
287
|
+
return createJsonResponse({
|
|
288
|
+
txid,
|
|
289
|
+
vout,
|
|
290
|
+
status: "not_found",
|
|
291
|
+
message: "Deposit not found in Emily API. It may not be indexed yet, or the transaction may not be a valid sBTC deposit.",
|
|
292
|
+
explorerUrl: getMempoolTxUrl(txid, NETWORK),
|
|
293
|
+
network: NETWORK,
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
return createErrorResponse(error);
|
|
297
|
+
}
|
|
298
|
+
});
|
|
107
299
|
}
|
|
108
300
|
//# sourceMappingURL=sbtc.tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbtc.tools.js","sourceRoot":"","sources":["../../src/tools/sbtc.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sbtc.tools.js","sourceRoot":"","sources":["../../src/tools/sbtc.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-management.tools.d.ts","sourceRoot":"","sources":["../../src/tools/wallet-management.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"wallet-management.tools.d.ts","sourceRoot":"","sources":["../../src/tools/wallet-management.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4iBrE"}
|
|
@@ -303,6 +303,47 @@ WARNING: Only use this in a secure environment! Anyone with the mnemonic can acc
|
|
|
303
303
|
return createErrorResponse(error);
|
|
304
304
|
}
|
|
305
305
|
});
|
|
306
|
+
/**
|
|
307
|
+
* Rotate wallet password
|
|
308
|
+
*/
|
|
309
|
+
server.registerTool("wallet_rotate_password", {
|
|
310
|
+
description: `Change the password for a wallet's encrypted keystore.
|
|
311
|
+
Performs an atomic operation: backs up the keystore, re-encrypts with the new password, verifies the round-trip, then cleans up. If anything fails, the original keystore is restored.
|
|
312
|
+
If the wallet is currently unlocked, it will be locked after rotation (requires re-unlock with new password).`,
|
|
313
|
+
inputSchema: {
|
|
314
|
+
walletId: z
|
|
315
|
+
.string()
|
|
316
|
+
.optional()
|
|
317
|
+
.describe("Wallet ID to rotate password for (uses active wallet if not specified)"),
|
|
318
|
+
oldPassword: z.string().describe("Current wallet password - WARNING: sensitive value"),
|
|
319
|
+
newPassword: z
|
|
320
|
+
.string()
|
|
321
|
+
.min(8)
|
|
322
|
+
.describe("New password (minimum 8 characters) - WARNING: sensitive value"),
|
|
323
|
+
},
|
|
324
|
+
}, async ({ walletId, oldPassword, newPassword }) => {
|
|
325
|
+
try {
|
|
326
|
+
const walletManager = getWalletManager();
|
|
327
|
+
// Resolve wallet ID
|
|
328
|
+
let targetWalletId = walletId;
|
|
329
|
+
if (!targetWalletId) {
|
|
330
|
+
const activeId = await walletManager.getActiveWalletId();
|
|
331
|
+
if (!activeId) {
|
|
332
|
+
return createErrorResponse(new Error("No wallet specified and no active wallet set. Use wallet_list to see available wallets."));
|
|
333
|
+
}
|
|
334
|
+
targetWalletId = activeId;
|
|
335
|
+
}
|
|
336
|
+
await walletManager.rotatePassword(targetWalletId, oldPassword, newPassword);
|
|
337
|
+
return createJsonResponse({
|
|
338
|
+
success: true,
|
|
339
|
+
message: "Password rotated successfully. The wallet has been locked — use wallet_unlock with the new password.",
|
|
340
|
+
walletId: targetWalletId,
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
return createErrorResponse(error);
|
|
345
|
+
}
|
|
346
|
+
});
|
|
306
347
|
/**
|
|
307
348
|
* Set auto-lock timeout
|
|
308
349
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-management.tools.js","sourceRoot":"","sources":["../../src/tools/wallet-management.tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wallet-management.tools.js","sourceRoot":"","sources":["../../src/tools/wallet-management.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,15 @@ export interface Account extends WalletAddresses {
|
|
|
12
12
|
* Bitcoin public key as raw bytes (33 bytes compressed) for building transactions.
|
|
13
13
|
*/
|
|
14
14
|
btcPublicKey?: Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* Taproot private key as raw bytes (32 bytes) for signing Taproot transactions.
|
|
17
|
+
* SECURITY: Never serialize. Only held in memory during session.
|
|
18
|
+
*/
|
|
19
|
+
taprootPrivateKey?: Uint8Array;
|
|
20
|
+
/**
|
|
21
|
+
* Taproot internal public key as raw bytes (32 bytes, x-only) for building Taproot transactions.
|
|
22
|
+
*/
|
|
23
|
+
taprootPublicKey?: Uint8Array;
|
|
15
24
|
network: Network;
|
|
16
25
|
}
|
|
17
26
|
export interface TransferResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/transactions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,OAAQ,SAAQ,eAAe;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA8BzB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB7C;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3B"}
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/transactions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,OAAQ,SAAQ,eAAe;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA8BzB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB7C;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/transactions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EAEpB,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/transactions/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/bitcoin.d.ts
CHANGED
|
@@ -25,6 +25,28 @@ export interface TaprootAddress {
|
|
|
25
25
|
*/
|
|
26
26
|
internalPubKey: string;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Taproot key pair derivation result (includes private key for signing)
|
|
30
|
+
*
|
|
31
|
+
* SECURITY: This interface exposes the private key as Uint8Array.
|
|
32
|
+
* The private key should:
|
|
33
|
+
* - NEVER be serialized to hex string
|
|
34
|
+
* - NEVER be logged or stored persistently
|
|
35
|
+
* - Only be held in memory during signing operations
|
|
36
|
+
* - Be cleared after use (session lock)
|
|
37
|
+
*/
|
|
38
|
+
export interface TaprootKeyPair extends TaprootAddress {
|
|
39
|
+
/**
|
|
40
|
+
* Private key as raw bytes (32 bytes)
|
|
41
|
+
* SECURITY: Never serialize. Use only for Taproot signing.
|
|
42
|
+
*/
|
|
43
|
+
privateKey: Uint8Array;
|
|
44
|
+
/**
|
|
45
|
+
* Internal public key as raw bytes (32 bytes, x-only)
|
|
46
|
+
* Used for building Taproot transactions.
|
|
47
|
+
*/
|
|
48
|
+
internalPubKeyBytes: Uint8Array;
|
|
49
|
+
}
|
|
28
50
|
/**
|
|
29
51
|
* Bitcoin key pair derivation result (includes private key for signing)
|
|
30
52
|
*
|
|
@@ -127,4 +149,34 @@ export declare function deriveBitcoinKeyPair(mnemonic: string, network: Network)
|
|
|
127
149
|
* ```
|
|
128
150
|
*/
|
|
129
151
|
export declare function deriveTaprootAddress(mnemonic: string, network: Network): TaprootAddress;
|
|
152
|
+
/**
|
|
153
|
+
* Derive Bitcoin L1 Taproot key pair from BIP39 mnemonic (includes private key for signing)
|
|
154
|
+
*
|
|
155
|
+
* Follows BIP86 derivation path:
|
|
156
|
+
* - Mainnet: m/86'/0'/0'/0/0 (coin type 0)
|
|
157
|
+
* - Testnet: m/86'/1'/0'/0/0 (coin type 1)
|
|
158
|
+
*
|
|
159
|
+
* Returns Taproot (P2TR) address and key pair:
|
|
160
|
+
* - Mainnet: bc1p... prefix
|
|
161
|
+
* - Testnet: tb1p... prefix
|
|
162
|
+
*
|
|
163
|
+
* SECURITY WARNING: This function returns the private key as Uint8Array.
|
|
164
|
+
* - NEVER serialize the private key
|
|
165
|
+
* - NEVER log or store the private key persistently
|
|
166
|
+
* - Only hold in memory during signing operations
|
|
167
|
+
* - Clear from memory when wallet is locked
|
|
168
|
+
*
|
|
169
|
+
* @param mnemonic - BIP39 mnemonic phrase (12 or 24 words)
|
|
170
|
+
* @param network - Network to derive keys for ('mainnet' | 'testnet')
|
|
171
|
+
* @returns Taproot address, internal public key, and private key (Uint8Array)
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const { address, internalPubKey, privateKey } = deriveTaprootKeyPair(mnemonic, 'mainnet');
|
|
176
|
+
* console.log(address); // bc1p...
|
|
177
|
+
* console.log(internalPubKey); // 32-byte x-only pubkey (hex)
|
|
178
|
+
* // privateKey is Uint8Array(32) - use for signing, never serialize
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export declare function deriveTaprootKeyPair(mnemonic: string, network: Network): TaprootKeyPair;
|
|
130
182
|
//# sourceMappingURL=bitcoin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../src/utils/bitcoin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD;;;OAGG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CAmDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CAiDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CA4ChB"}
|
|
1
|
+
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../src/utils/bitcoin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD;;;OAGG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;;OAGG;IACH,mBAAmB,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD;;;OAGG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CAmDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CAiDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CA4ChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,cAAc,CAqDhB"}
|
package/dist/utils/bitcoin.js
CHANGED
|
@@ -197,4 +197,76 @@ export function deriveTaprootAddress(mnemonic, network) {
|
|
|
197
197
|
internalPubKey,
|
|
198
198
|
};
|
|
199
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Derive Bitcoin L1 Taproot key pair from BIP39 mnemonic (includes private key for signing)
|
|
202
|
+
*
|
|
203
|
+
* Follows BIP86 derivation path:
|
|
204
|
+
* - Mainnet: m/86'/0'/0'/0/0 (coin type 0)
|
|
205
|
+
* - Testnet: m/86'/1'/0'/0/0 (coin type 1)
|
|
206
|
+
*
|
|
207
|
+
* Returns Taproot (P2TR) address and key pair:
|
|
208
|
+
* - Mainnet: bc1p... prefix
|
|
209
|
+
* - Testnet: tb1p... prefix
|
|
210
|
+
*
|
|
211
|
+
* SECURITY WARNING: This function returns the private key as Uint8Array.
|
|
212
|
+
* - NEVER serialize the private key
|
|
213
|
+
* - NEVER log or store the private key persistently
|
|
214
|
+
* - Only hold in memory during signing operations
|
|
215
|
+
* - Clear from memory when wallet is locked
|
|
216
|
+
*
|
|
217
|
+
* @param mnemonic - BIP39 mnemonic phrase (12 or 24 words)
|
|
218
|
+
* @param network - Network to derive keys for ('mainnet' | 'testnet')
|
|
219
|
+
* @returns Taproot address, internal public key, and private key (Uint8Array)
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* const { address, internalPubKey, privateKey } = deriveTaprootKeyPair(mnemonic, 'mainnet');
|
|
224
|
+
* console.log(address); // bc1p...
|
|
225
|
+
* console.log(internalPubKey); // 32-byte x-only pubkey (hex)
|
|
226
|
+
* // privateKey is Uint8Array(32) - use for signing, never serialize
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
export function deriveTaprootKeyPair(mnemonic, network) {
|
|
230
|
+
// Convert mnemonic to seed
|
|
231
|
+
const seed = mnemonicToSeedSync(mnemonic);
|
|
232
|
+
// Create master key from seed
|
|
233
|
+
const masterKey = HDKey.fromMasterSeed(seed);
|
|
234
|
+
// BIP86 derivation path for Taproot
|
|
235
|
+
// m / purpose' / coin_type' / account' / change / address_index
|
|
236
|
+
// Purpose: 86 (Taproot)
|
|
237
|
+
// Coin type: 0 (Bitcoin mainnet) or 1 (Bitcoin testnet)
|
|
238
|
+
// Account: 0 (first account)
|
|
239
|
+
// Change: 0 (external/receiving addresses)
|
|
240
|
+
// Address index: 0 (first address)
|
|
241
|
+
const coinType = network === "mainnet" ? 0 : 1;
|
|
242
|
+
const derivationPath = `m/86'/${coinType}'/0'/0/0`;
|
|
243
|
+
// Derive key at path
|
|
244
|
+
const derivedKey = masterKey.derive(derivationPath);
|
|
245
|
+
if (!derivedKey.publicKey) {
|
|
246
|
+
throw new Error("Failed to derive public key");
|
|
247
|
+
}
|
|
248
|
+
if (!derivedKey.privateKey) {
|
|
249
|
+
throw new Error("Failed to derive private key");
|
|
250
|
+
}
|
|
251
|
+
// Get the network params
|
|
252
|
+
const btcNetwork = network === "testnet" ? btc.TEST_NETWORK : btc.NETWORK;
|
|
253
|
+
// Get x-only internal public key (32 bytes, no prefix)
|
|
254
|
+
// Compressed pubkey is 33 bytes (1 prefix + 32 x-coord), p2tr needs just x-coord
|
|
255
|
+
const xOnlyPubkey = derivedKey.publicKey.slice(1);
|
|
256
|
+
const internalPubKeyBytes = new Uint8Array(xOnlyPubkey);
|
|
257
|
+
const internalPubKey = Buffer.from(xOnlyPubkey).toString("hex");
|
|
258
|
+
// Get private key as Uint8Array (never convert to hex)
|
|
259
|
+
const privateKey = new Uint8Array(derivedKey.privateKey);
|
|
260
|
+
// Create Taproot address (P2TR) using x-only internal key
|
|
261
|
+
const p2tr = btc.p2tr(xOnlyPubkey, undefined, btcNetwork);
|
|
262
|
+
if (!p2tr.address) {
|
|
263
|
+
throw new Error("Failed to generate Taproot address");
|
|
264
|
+
}
|
|
265
|
+
return {
|
|
266
|
+
address: p2tr.address,
|
|
267
|
+
internalPubKey,
|
|
268
|
+
privateKey,
|
|
269
|
+
internalPubKeyBytes,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
200
272
|
//# sourceMappingURL=bitcoin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/utils/bitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/utils/bitcoin.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/storage.d.ts
CHANGED
|
@@ -72,6 +72,10 @@ export declare function readAppConfig(): Promise<AppConfig>;
|
|
|
72
72
|
* Write app config (atomic write)
|
|
73
73
|
*/
|
|
74
74
|
export declare function writeAppConfig(config: AppConfig): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Get keystore file path for a wallet
|
|
77
|
+
*/
|
|
78
|
+
export declare function getKeystorePath(walletId: string): string;
|
|
75
79
|
/**
|
|
76
80
|
* Read keystore for a wallet
|
|
77
81
|
*/
|
|
@@ -96,4 +100,16 @@ export declare function addWalletToIndex(wallet: WalletMetadata): Promise<void>;
|
|
|
96
100
|
* Remove wallet from index
|
|
97
101
|
*/
|
|
98
102
|
export declare function removeWalletFromIndex(walletId: string): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Backup keystore file for a wallet (atomic: temp write + rename)
|
|
105
|
+
*/
|
|
106
|
+
export declare function backupKeystore(walletId: string): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Restore keystore from backup (atomic: temp write + rename, then delete backup)
|
|
109
|
+
*/
|
|
110
|
+
export declare function restoreKeystoreBackup(walletId: string): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Delete keystore backup file (idempotent — ignores missing file)
|
|
113
|
+
*/
|
|
114
|
+
export declare function deleteKeystoreBackup(walletId: string): Promise<void>;
|
|
99
115
|
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA4BrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAOtD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BvD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAU5D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA4BrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAOtD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BvD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAU5D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E"}
|