@arkade-os/skill 0.1.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.
Files changed (40) hide show
  1. package/README.md +116 -0
  2. package/SKILL.md +269 -0
  3. package/cli/arkade.mjs +1018 -0
  4. package/dist/cjs/index.js +88 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/skills/arkadeBitcoin.js +359 -0
  7. package/dist/cjs/skills/arkadeBitcoin.js.map +1 -0
  8. package/dist/cjs/skills/index.js +78 -0
  9. package/dist/cjs/skills/index.js.map +1 -0
  10. package/dist/cjs/skills/lendaswap.js +458 -0
  11. package/dist/cjs/skills/lendaswap.js.map +1 -0
  12. package/dist/cjs/skills/lightning.js +287 -0
  13. package/dist/cjs/skills/lightning.js.map +1 -0
  14. package/dist/cjs/skills/types.js +11 -0
  15. package/dist/cjs/skills/types.js.map +1 -0
  16. package/dist/esm/index.js +72 -0
  17. package/dist/esm/index.js.map +1 -0
  18. package/dist/esm/skills/arkadeBitcoin.js +354 -0
  19. package/dist/esm/skills/arkadeBitcoin.js.map +1 -0
  20. package/dist/esm/skills/index.js +69 -0
  21. package/dist/esm/skills/index.js.map +1 -0
  22. package/dist/esm/skills/lendaswap.js +453 -0
  23. package/dist/esm/skills/lendaswap.js.map +1 -0
  24. package/dist/esm/skills/lightning.js +282 -0
  25. package/dist/esm/skills/lightning.js.map +1 -0
  26. package/dist/esm/skills/types.js +10 -0
  27. package/dist/esm/skills/types.js.map +1 -0
  28. package/dist/types/index.d.ts +72 -0
  29. package/dist/types/index.d.ts.map +1 -0
  30. package/dist/types/skills/arkadeBitcoin.d.ts +218 -0
  31. package/dist/types/skills/arkadeBitcoin.d.ts.map +1 -0
  32. package/dist/types/skills/index.d.ts +67 -0
  33. package/dist/types/skills/index.d.ts.map +1 -0
  34. package/dist/types/skills/lendaswap.d.ts +152 -0
  35. package/dist/types/skills/lendaswap.d.ts.map +1 -0
  36. package/dist/types/skills/lightning.d.ts +181 -0
  37. package/dist/types/skills/lightning.d.ts.map +1 -0
  38. package/dist/types/skills/types.d.ts +548 -0
  39. package/dist/types/skills/types.d.ts.map +1 -0
  40. package/package.json +65 -0
@@ -0,0 +1,548 @@
1
+ /**
2
+ * Type definitions for Arkade SDK skills.
3
+ *
4
+ * These types define the interfaces for Bitcoin and Lightning skills
5
+ * designed for agent integration.
6
+ *
7
+ * @module skills/types
8
+ */
9
+ import type { ArkTransaction, SettlementEvent, FeeInfo } from "@arkade-os/sdk";
10
+ /**
11
+ * Base interface for all skills.
12
+ * Skills are modular capabilities that can be added to wallets.
13
+ */
14
+ export interface Skill {
15
+ /** Unique identifier for the skill */
16
+ readonly name: string;
17
+ /** Human-readable description of the skill's capabilities */
18
+ readonly description: string;
19
+ /** Version of the skill implementation */
20
+ readonly version: string;
21
+ }
22
+ /**
23
+ * Represents a Bitcoin address with its type and purpose.
24
+ */
25
+ export interface BitcoinAddress {
26
+ /** The encoded address string */
27
+ address: string;
28
+ /** Type of address */
29
+ type: "ark" | "boarding" | "onchain";
30
+ /** Description of the address purpose */
31
+ description: string;
32
+ }
33
+ /**
34
+ * Parameters for sending Bitcoin.
35
+ */
36
+ export interface SendParams {
37
+ /** Destination address (Ark address for offchain, Bitcoin address for onchain) */
38
+ address: string;
39
+ /** Amount in satoshis */
40
+ amount: number;
41
+ /** Optional fee rate in sat/vB */
42
+ feeRate?: number;
43
+ /** Optional memo for the transaction */
44
+ memo?: string;
45
+ }
46
+ /**
47
+ * Parameters for onboarding Bitcoin from onchain to offchain (Ark).
48
+ */
49
+ export interface OnboardParams {
50
+ /** Fee information for the settlement */
51
+ feeInfo: FeeInfo;
52
+ /** Optional specific amount to onboard (defaults to all available) */
53
+ amount?: bigint;
54
+ /** Optional callback for settlement events */
55
+ eventCallback?: (event: SettlementEvent) => void;
56
+ }
57
+ /**
58
+ * Parameters for offboarding Bitcoin from offchain (Ark) to onchain.
59
+ */
60
+ export interface OffboardParams {
61
+ /** Destination onchain Bitcoin address */
62
+ destinationAddress: string;
63
+ /** Fee information for the settlement */
64
+ feeInfo: FeeInfo;
65
+ /** Optional specific amount to offboard (defaults to all available) */
66
+ amount?: bigint;
67
+ /** Optional callback for settlement events */
68
+ eventCallback?: (event: SettlementEvent) => void;
69
+ }
70
+ /**
71
+ * Result of a send operation.
72
+ */
73
+ export interface SendResult {
74
+ /** Transaction identifier */
75
+ txid: string;
76
+ /** Type of transaction */
77
+ type: "ark" | "onchain" | "lightning";
78
+ /** Amount sent in satoshis */
79
+ amount: number;
80
+ /** Fee paid in satoshis (if known) */
81
+ fee?: number;
82
+ }
83
+ /**
84
+ * Result of an onboard/offboard operation.
85
+ */
86
+ export interface RampResult {
87
+ /** Commitment transaction ID */
88
+ commitmentTxid: string;
89
+ /** Amount moved in satoshis */
90
+ amount: bigint;
91
+ }
92
+ /**
93
+ * Balance information with breakdown by type.
94
+ */
95
+ export interface BalanceInfo {
96
+ /** Total available balance in satoshis */
97
+ total: number;
98
+ /** Offchain (Ark) balance breakdown */
99
+ offchain: {
100
+ /** Settled VTXOs */
101
+ settled: number;
102
+ /** Pending VTXOs awaiting confirmation */
103
+ preconfirmed: number;
104
+ /** Total offchain available */
105
+ available: number;
106
+ /** Recoverable funds (swept or subdust) */
107
+ recoverable: number;
108
+ };
109
+ /** Onchain balance breakdown */
110
+ onchain: {
111
+ /** Confirmed boarding UTXOs */
112
+ confirmed: number;
113
+ /** Unconfirmed boarding UTXOs */
114
+ unconfirmed: number;
115
+ /** Total boarding balance */
116
+ total: number;
117
+ };
118
+ }
119
+ /**
120
+ * Incoming funds notification.
121
+ */
122
+ export interface IncomingFundsEvent {
123
+ /** Type of incoming funds */
124
+ type: "utxo" | "vtxo";
125
+ /** Amount received in satoshis */
126
+ amount: number;
127
+ /** Transaction or VTXO IDs */
128
+ ids: string[];
129
+ }
130
+ /**
131
+ * Interface for Bitcoin skills that can send and receive Bitcoin.
132
+ */
133
+ export interface BitcoinSkill extends Skill {
134
+ /**
135
+ * Get addresses for receiving Bitcoin.
136
+ * @returns Array of available addresses with their types
137
+ */
138
+ getReceiveAddresses(): Promise<BitcoinAddress[]>;
139
+ /**
140
+ * Get the primary Ark address for receiving offchain Bitcoin.
141
+ * @returns The Ark address string
142
+ */
143
+ getArkAddress(): Promise<string>;
144
+ /**
145
+ * Get the boarding address for receiving onchain Bitcoin (to be onboarded).
146
+ * @returns The boarding address string
147
+ */
148
+ getBoardingAddress(): Promise<string>;
149
+ /**
150
+ * Get the current balance with breakdown.
151
+ * @returns Balance information
152
+ */
153
+ getBalance(): Promise<BalanceInfo>;
154
+ /**
155
+ * Send Bitcoin to an address.
156
+ * @param params Send parameters
157
+ * @returns Result of the send operation
158
+ */
159
+ send(params: SendParams): Promise<SendResult>;
160
+ /**
161
+ * Get transaction history.
162
+ * @returns Array of transactions
163
+ */
164
+ getTransactionHistory(): Promise<ArkTransaction[]>;
165
+ /**
166
+ * Wait for incoming funds (blocking).
167
+ * @param timeoutMs Optional timeout in milliseconds
168
+ * @returns Information about the incoming funds
169
+ */
170
+ waitForIncomingFunds(timeoutMs?: number): Promise<IncomingFundsEvent>;
171
+ }
172
+ /**
173
+ * Interface for skills that support on/off ramping between onchain and offchain.
174
+ */
175
+ export interface RampSkill extends Skill {
176
+ /**
177
+ * Onboard Bitcoin from onchain to offchain (Ark).
178
+ * @param params Onboard parameters
179
+ * @returns Result of the onboard operation
180
+ */
181
+ onboard(params: OnboardParams): Promise<RampResult>;
182
+ /**
183
+ * Offboard Bitcoin from offchain (Ark) to onchain.
184
+ * @param params Offboard parameters
185
+ * @returns Result of the offboard operation
186
+ */
187
+ offboard(params: OffboardParams): Promise<RampResult>;
188
+ }
189
+ /**
190
+ * Lightning Network invoice for receiving payments.
191
+ */
192
+ export interface LightningInvoice {
193
+ /** BOLT11 encoded invoice string */
194
+ bolt11: string;
195
+ /** Payment hash */
196
+ paymentHash: string;
197
+ /** Amount in satoshis */
198
+ amount: number;
199
+ /** Invoice description */
200
+ description?: string;
201
+ /** Expiry time in seconds */
202
+ expirySeconds: number;
203
+ /** Creation timestamp */
204
+ createdAt: Date;
205
+ /** Preimage (available after payment or when creating) */
206
+ preimage?: string;
207
+ }
208
+ /**
209
+ * Parameters for creating a Lightning invoice.
210
+ */
211
+ export interface CreateInvoiceParams {
212
+ /** Amount in satoshis */
213
+ amount: number;
214
+ /** Invoice description */
215
+ description?: string;
216
+ }
217
+ /**
218
+ * Parameters for paying a Lightning invoice.
219
+ */
220
+ export interface PayInvoiceParams {
221
+ /** BOLT11 encoded invoice string */
222
+ bolt11: string;
223
+ }
224
+ /**
225
+ * Result of a Lightning payment.
226
+ */
227
+ export interface PaymentResult {
228
+ /** Payment preimage (proof of payment) */
229
+ preimage: string;
230
+ /** Amount paid in satoshis */
231
+ amount: number;
232
+ /** Transaction ID (Ark txid for the swap) */
233
+ txid: string;
234
+ }
235
+ /**
236
+ * Fee information for Lightning swaps.
237
+ */
238
+ export interface LightningFees {
239
+ /** Submarine swap fees (send to Lightning) */
240
+ submarine: {
241
+ /** Percentage fee (e.g., 0.01 = 0.01%) */
242
+ percentage: number;
243
+ /** Miner fees in satoshis */
244
+ minerFees: number;
245
+ };
246
+ /** Reverse swap fees (receive from Lightning) */
247
+ reverse: {
248
+ /** Percentage fee (e.g., 0.01 = 0.01%) */
249
+ percentage: number;
250
+ /** Miner fees in satoshis */
251
+ minerFees: {
252
+ lockup: number;
253
+ claim: number;
254
+ };
255
+ };
256
+ }
257
+ /**
258
+ * Limits for Lightning swaps.
259
+ */
260
+ export interface LightningLimits {
261
+ /** Minimum swap amount in satoshis */
262
+ min: number;
263
+ /** Maximum swap amount in satoshis */
264
+ max: number;
265
+ }
266
+ /**
267
+ * Status of a Lightning swap.
268
+ */
269
+ export type SwapStatus = "pending" | "invoice.set" | "invoice.pending" | "invoice.paid" | "invoice.settled" | "invoice.expired" | "invoice.failedToPay" | "swap.created" | "swap.expired" | "transaction.mempool" | "transaction.confirmed" | "transaction.claimed" | "transaction.refunded" | "transaction.failed" | "transaction.lockupFailed" | "transaction.claim.pending";
270
+ /**
271
+ * Information about a pending swap.
272
+ */
273
+ export interface SwapInfo {
274
+ /** Swap ID */
275
+ id: string;
276
+ /** Swap type */
277
+ type: "submarine" | "reverse";
278
+ /** Current status */
279
+ status: SwapStatus;
280
+ /** Amount in satoshis */
281
+ amount: number;
282
+ /** Creation timestamp */
283
+ createdAt: Date;
284
+ /** Invoice (if applicable) */
285
+ invoice?: string;
286
+ }
287
+ /**
288
+ * Interface for Lightning Network skills.
289
+ */
290
+ export interface LightningSkill extends Skill {
291
+ /**
292
+ * Create a Lightning invoice for receiving payment.
293
+ * Uses Boltz reverse swap to receive Lightning into Arkade.
294
+ * @param params Invoice parameters
295
+ * @returns The created invoice
296
+ */
297
+ createInvoice(params: CreateInvoiceParams): Promise<LightningInvoice>;
298
+ /**
299
+ * Pay a Lightning invoice.
300
+ * Uses Boltz submarine swap to send from Arkade to Lightning.
301
+ * @param params Payment parameters
302
+ * @returns Result of the payment
303
+ */
304
+ payInvoice(params: PayInvoiceParams): Promise<PaymentResult>;
305
+ /**
306
+ * Check if the Lightning skill is available and configured.
307
+ * @returns true if Lightning is available
308
+ */
309
+ isAvailable(): Promise<boolean>;
310
+ /**
311
+ * Get fee information for Lightning swaps.
312
+ * @returns Fee structure for swaps
313
+ */
314
+ getFees(): Promise<LightningFees>;
315
+ /**
316
+ * Get limits for Lightning swaps.
317
+ * @returns Min/max limits for swaps
318
+ */
319
+ getLimits(): Promise<LightningLimits>;
320
+ /**
321
+ * Get pending swaps.
322
+ * @returns Array of pending swap information
323
+ */
324
+ getPendingSwaps(): Promise<SwapInfo[]>;
325
+ /**
326
+ * Get swap history.
327
+ * @returns Array of all swaps (pending and completed)
328
+ */
329
+ getSwapHistory(): Promise<SwapInfo[]>;
330
+ }
331
+ /**
332
+ * Supported EVM chains for stablecoin swaps.
333
+ */
334
+ export type EvmChain = "polygon" | "ethereum" | "arbitrum";
335
+ /**
336
+ * Supported stablecoin tokens.
337
+ * Format: {asset}_{network}
338
+ */
339
+ export type StablecoinToken = "usdc_pol" | "usdc_eth" | "usdc_arb" | "usdt_pol" | "usdt_eth" | "usdt_arb";
340
+ /**
341
+ * Bitcoin source types for swaps.
342
+ */
343
+ export type BtcSource = "btc_arkade" | "btc_lightning" | "btc_onchain";
344
+ /**
345
+ * Parameters for swapping BTC to stablecoins.
346
+ */
347
+ export interface BtcToStablecoinParams {
348
+ /** EVM address to receive stablecoins */
349
+ targetAddress: string;
350
+ /** Target stablecoin token */
351
+ targetToken: StablecoinToken;
352
+ /** Target EVM chain */
353
+ targetChain: EvmChain;
354
+ /** Amount in satoshis to swap */
355
+ sourceAmount?: number;
356
+ /** Expected target amount (for quotes) */
357
+ targetAmount?: number;
358
+ /** Optional referral code for fee discounts */
359
+ referralCode?: string;
360
+ }
361
+ /**
362
+ * Parameters for swapping stablecoins to BTC.
363
+ */
364
+ export interface StablecoinToBtcParams {
365
+ /** Source EVM chain */
366
+ sourceChain: EvmChain;
367
+ /** Source stablecoin token */
368
+ sourceToken: StablecoinToken;
369
+ /** Amount of stablecoins to swap (use proper decimals, e.g., 6 for USDC) */
370
+ sourceAmount: number;
371
+ /** Arkade address to receive BTC */
372
+ targetAddress: string;
373
+ /** EVM wallet address (for token allowance) */
374
+ userAddress: string;
375
+ /** Optional referral code for fee discounts */
376
+ referralCode?: string;
377
+ }
378
+ /**
379
+ * Result of a stablecoin swap creation.
380
+ */
381
+ export interface StablecoinSwapResult {
382
+ /** Unique swap ID */
383
+ swapId: string;
384
+ /** Swap status */
385
+ status: StablecoinSwapStatus;
386
+ /** Source amount */
387
+ sourceAmount: number;
388
+ /** Target amount (expected) */
389
+ targetAmount: number;
390
+ /** Exchange rate used */
391
+ exchangeRate: number;
392
+ /** Fee information */
393
+ fee: {
394
+ amount: number;
395
+ percentage: number;
396
+ };
397
+ /** Expiry timestamp */
398
+ expiresAt: Date;
399
+ /** Payment details (for funding the swap) */
400
+ paymentDetails?: {
401
+ /** Address to send funds to */
402
+ address: string;
403
+ /** Call data for EVM transactions (if applicable) */
404
+ callData?: string;
405
+ };
406
+ }
407
+ /**
408
+ * Status of a stablecoin swap.
409
+ */
410
+ export type StablecoinSwapStatus = "pending" | "awaiting_funding" | "funded" | "processing" | "completed" | "expired" | "refunded" | "failed";
411
+ /**
412
+ * Information about a stablecoin swap.
413
+ */
414
+ export interface StablecoinSwapInfo {
415
+ /** Swap ID */
416
+ id: string;
417
+ /** Swap direction */
418
+ direction: "btc_to_stablecoin" | "stablecoin_to_btc";
419
+ /** Current status */
420
+ status: StablecoinSwapStatus;
421
+ /** Source token/asset */
422
+ sourceToken: string;
423
+ /** Target token/asset */
424
+ targetToken: string;
425
+ /** Source amount */
426
+ sourceAmount: number;
427
+ /** Target amount */
428
+ targetAmount: number;
429
+ /** Exchange rate */
430
+ exchangeRate: number;
431
+ /** Creation timestamp */
432
+ createdAt: Date;
433
+ /** Completion timestamp (if completed) */
434
+ completedAt?: Date;
435
+ /** Transaction ID (if completed) */
436
+ txid?: string;
437
+ }
438
+ /**
439
+ * Quote for a stablecoin swap.
440
+ */
441
+ export interface StablecoinQuote {
442
+ /** Source token */
443
+ sourceToken: string;
444
+ /** Target token */
445
+ targetToken: string;
446
+ /** Source amount */
447
+ sourceAmount: number;
448
+ /** Target amount (after fees) */
449
+ targetAmount: number;
450
+ /** Exchange rate */
451
+ exchangeRate: number;
452
+ /** Fee breakdown */
453
+ fee: {
454
+ amount: number;
455
+ percentage: number;
456
+ };
457
+ /** Quote expiry */
458
+ expiresAt: Date;
459
+ }
460
+ /**
461
+ * Available trading pair for stablecoin swaps.
462
+ */
463
+ export interface StablecoinPair {
464
+ /** Source token */
465
+ from: string;
466
+ /** Target token */
467
+ to: string;
468
+ /** Minimum amount */
469
+ minAmount: number;
470
+ /** Maximum amount */
471
+ maxAmount: number;
472
+ /** Fee percentage */
473
+ feePercentage: number;
474
+ }
475
+ /**
476
+ * Interface for stablecoin swap skills.
477
+ */
478
+ export interface StablecoinSwapSkill extends Skill {
479
+ /**
480
+ * Check if the skill is available and properly configured.
481
+ * @returns true if available
482
+ */
483
+ isAvailable(): Promise<boolean>;
484
+ /**
485
+ * Get a quote for swapping BTC to stablecoins.
486
+ * @param sourceAmount Amount in satoshis
487
+ * @param targetToken Target stablecoin
488
+ * @returns Quote with exchange rate and fees
489
+ */
490
+ getQuoteBtcToStablecoin(sourceAmount: number, targetToken: StablecoinToken): Promise<StablecoinQuote>;
491
+ /**
492
+ * Get a quote for swapping stablecoins to BTC.
493
+ * @param sourceAmount Amount of stablecoins
494
+ * @param sourceToken Source stablecoin
495
+ * @returns Quote with exchange rate and fees
496
+ */
497
+ getQuoteStablecoinToBtc(sourceAmount: number, sourceToken: StablecoinToken): Promise<StablecoinQuote>;
498
+ /**
499
+ * Swap BTC from Arkade to stablecoins on EVM.
500
+ * @param params Swap parameters
501
+ * @returns Swap result with ID and status
502
+ */
503
+ swapBtcToStablecoin(params: BtcToStablecoinParams): Promise<StablecoinSwapResult>;
504
+ /**
505
+ * Swap stablecoins from EVM to BTC on Arkade.
506
+ * @param params Swap parameters
507
+ * @returns Swap result with ID and payment details
508
+ */
509
+ swapStablecoinToBtc(params: StablecoinToBtcParams): Promise<StablecoinSwapResult>;
510
+ /**
511
+ * Get the status of a swap.
512
+ * @param swapId Swap ID
513
+ * @returns Current swap information
514
+ */
515
+ getSwapStatus(swapId: string): Promise<StablecoinSwapInfo>;
516
+ /**
517
+ * Get pending stablecoin swaps.
518
+ * @returns Array of pending swaps
519
+ */
520
+ getPendingSwaps(): Promise<StablecoinSwapInfo[]>;
521
+ /**
522
+ * Get stablecoin swap history.
523
+ * @returns Array of all swaps
524
+ */
525
+ getSwapHistory(): Promise<StablecoinSwapInfo[]>;
526
+ /**
527
+ * Get available trading pairs.
528
+ * @returns Array of trading pairs with limits
529
+ */
530
+ getAvailablePairs(): Promise<StablecoinPair[]>;
531
+ /**
532
+ * Claim funds from a completed swap (for EVM-side claims).
533
+ * @param swapId Swap ID
534
+ * @returns Transaction ID
535
+ */
536
+ claimSwap(swapId: string): Promise<{
537
+ txid: string;
538
+ }>;
539
+ /**
540
+ * Refund an expired or failed swap.
541
+ * @param swapId Swap ID
542
+ * @returns Transaction ID
543
+ */
544
+ refundSwap(swapId: string): Promise<{
545
+ txid: string;
546
+ }>;
547
+ }
548
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/skills/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@arkade-os/skill",
3
+ "version": "0.1.0",
4
+ "description": "Arkade SDK skills for agent integration - send and receive Bitcoin over Arkade and Lightning, swap USDC/USDT via LendaSwap",
5
+ "type": "module",
6
+ "main": "./dist/cjs/index.js",
7
+ "module": "./dist/esm/index.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/types/index.d.ts",
12
+ "import": "./dist/esm/index.js",
13
+ "require": "./dist/cjs/index.js",
14
+ "default": "./dist/esm/index.js"
15
+ }
16
+ },
17
+ "bin": {
18
+ "arkade": "./cli/arkade.mjs"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "cli",
23
+ "SKILL.md"
24
+ ],
25
+ "publishConfig": {
26
+ "access": "public",
27
+ "registry": "https://registry.npmjs.org/"
28
+ },
29
+ "dependencies": {
30
+ "@arkade-os/sdk": "^0.3.12",
31
+ "@arkade-os/boltz-swap": "^0.2.18"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^24.0.0",
35
+ "prettier": "^3.6.0",
36
+ "rimraf": "^6.0.0",
37
+ "typescript": "^5.9.0"
38
+ },
39
+ "keywords": [
40
+ "bitcoin",
41
+ "arkade",
42
+ "lightning",
43
+ "skill",
44
+ "agent",
45
+ "cli",
46
+ "mcp",
47
+ "lendaswap",
48
+ "usdc",
49
+ "usdt",
50
+ "stablecoin"
51
+ ],
52
+ "author": "Ark Labs",
53
+ "license": "MIT",
54
+ "engines": {
55
+ "node": ">=20.0.0"
56
+ },
57
+ "scripts": {
58
+ "build": "rimraf dist && pnpm run build:esm && pnpm run build:cjs && pnpm run build:types",
59
+ "build:esm": "tsc -p tsconfig.esm.json --outDir dist/esm",
60
+ "build:cjs": "tsc -p tsconfig.cjs.json --outDir dist/cjs",
61
+ "build:types": "tsc -p tsconfig.json --outDir dist/types --emitDeclarationOnly",
62
+ "format": "prettier --write src cli",
63
+ "lint": "prettier --check src cli"
64
+ }
65
+ }