@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,287 @@
1
+ "use strict";
2
+ /**
3
+ * ArkaLightningSkill - Lightning Network payments via Boltz submarine swaps.
4
+ *
5
+ * This skill provides Lightning Network capabilities for Arkade wallets
6
+ * designed for agent integration (CLI-friendly for agents like MoltBot).
7
+ *
8
+ * @module skills/lightning
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ArkaLightningSkill = void 0;
12
+ exports.createLightningSkill = createLightningSkill;
13
+ const boltz_swap_1 = require("@arkade-os/boltz-swap");
14
+ /**
15
+ * Default Boltz API URLs by network.
16
+ */
17
+ const BOLTZ_API_URLS = {
18
+ bitcoin: "https://api.boltz.exchange",
19
+ mainnet: "https://api.boltz.exchange",
20
+ testnet: "https://testnet.boltz.exchange/api",
21
+ signet: "https://testnet.boltz.exchange/api",
22
+ regtest: "http://localhost:9001",
23
+ mutinynet: "https://mutinynet.boltz.exchange/api",
24
+ };
25
+ /**
26
+ * ArkaLightningSkill provides Lightning Network payment capabilities
27
+ * for Arkade wallets using Boltz submarine swaps.
28
+ *
29
+ * This skill enables:
30
+ * - Receiving Lightning payments into your Arkade wallet (reverse swaps)
31
+ * - Sending Lightning payments from your Arkade wallet (submarine swaps)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import { Wallet, SingleKey } from "@arkade-os/sdk";
36
+ * import { ArkaLightningSkill } from "@arkade-os/skill";
37
+ *
38
+ * // Create a wallet
39
+ * const wallet = await Wallet.create({
40
+ * identity: SingleKey.fromHex(privateKeyHex),
41
+ * arkServerUrl: "https://arkade.computer",
42
+ * });
43
+ *
44
+ * // Create the Lightning skill
45
+ * const lightning = new ArkaLightningSkill({
46
+ * wallet,
47
+ * network: "bitcoin",
48
+ * });
49
+ *
50
+ * // Create an invoice to receive Lightning payment
51
+ * const invoice = await lightning.createInvoice({
52
+ * amount: 50000, // 50,000 sats
53
+ * description: "Payment for coffee",
54
+ * });
55
+ * console.log("Pay this invoice:", invoice.bolt11);
56
+ *
57
+ * // Pay a Lightning invoice
58
+ * const result = await lightning.payInvoice({
59
+ * bolt11: "lnbc...",
60
+ * });
61
+ * console.log("Paid! Preimage:", result.preimage);
62
+ * ```
63
+ */
64
+ class ArkaLightningSkill {
65
+ /**
66
+ * Creates a new ArkaLightningSkill instance.
67
+ *
68
+ * @param config - Configuration options
69
+ */
70
+ constructor(config) {
71
+ this.name = "arka-lightning";
72
+ this.description = "Lightning Network payments via Boltz submarine swaps for Arkade wallets";
73
+ this.version = "1.0.0";
74
+ this.network = config.network;
75
+ const boltzApiUrl = config.boltzApiUrl ||
76
+ BOLTZ_API_URLS[config.network] ||
77
+ BOLTZ_API_URLS.bitcoin;
78
+ this.swapProvider = new boltz_swap_1.BoltzSwapProvider({
79
+ apiUrl: boltzApiUrl,
80
+ network: config.network,
81
+ referralId: config.referralId,
82
+ });
83
+ // Cast wallet to any since boltz-swap expects Wallet from @arkade-os/sdk
84
+ // but we have the local Wallet type - they are structurally identical
85
+ this.arkadeLightning = new boltz_swap_1.ArkadeLightning({
86
+ wallet: config.wallet,
87
+ swapProvider: this.swapProvider,
88
+ arkProvider: config.arkProvider,
89
+ indexerProvider: config.indexerProvider,
90
+ swapManager: config.enableSwapManager
91
+ ? { enableAutoActions: true, autoStart: true }
92
+ : undefined,
93
+ });
94
+ }
95
+ /**
96
+ * Check if the Lightning skill is available.
97
+ *
98
+ * @returns true if the skill is properly configured
99
+ */
100
+ async isAvailable() {
101
+ try {
102
+ await this.swapProvider.getFees();
103
+ return true;
104
+ }
105
+ catch {
106
+ return false;
107
+ }
108
+ }
109
+ /**
110
+ * Create a Lightning invoice for receiving payment.
111
+ *
112
+ * This creates a Boltz reverse swap, which locks funds on Boltz's side
113
+ * when someone pays the invoice. The funds are then claimed into your
114
+ * Arkade wallet as VTXOs.
115
+ *
116
+ * @param params - Invoice parameters
117
+ * @returns The created invoice with payment details
118
+ */
119
+ async createInvoice(params) {
120
+ const response = await this.arkadeLightning.createLightningInvoice({
121
+ amount: params.amount,
122
+ description: params.description,
123
+ });
124
+ // Extract expiry from invoice
125
+ const decoded = (0, boltz_swap_1.decodeInvoice)(response.invoice);
126
+ return {
127
+ bolt11: response.invoice,
128
+ paymentHash: response.paymentHash,
129
+ amount: response.amount,
130
+ description: params.description,
131
+ expirySeconds: decoded.expiry,
132
+ createdAt: new Date(),
133
+ preimage: response.preimage,
134
+ };
135
+ }
136
+ /**
137
+ * Pay a Lightning invoice.
138
+ *
139
+ * This creates a Boltz submarine swap, which sends funds from your
140
+ * Arkade wallet to a swap address. Boltz then pays the Lightning invoice
141
+ * and you receive the preimage as proof of payment.
142
+ *
143
+ * @param params - Payment parameters
144
+ * @returns Result containing the preimage and transaction details
145
+ */
146
+ async payInvoice(params) {
147
+ const response = await this.arkadeLightning.sendLightningPayment({
148
+ invoice: params.bolt11,
149
+ });
150
+ return {
151
+ preimage: response.preimage,
152
+ amount: response.amount,
153
+ txid: response.txid,
154
+ };
155
+ }
156
+ /**
157
+ * Get fee information for Lightning swaps.
158
+ *
159
+ * @returns Fee structure for submarine and reverse swaps
160
+ */
161
+ async getFees() {
162
+ return this.arkadeLightning.getFees();
163
+ }
164
+ /**
165
+ * Get limits for Lightning swaps.
166
+ *
167
+ * @returns Min and max amounts for swaps
168
+ */
169
+ async getLimits() {
170
+ return this.arkadeLightning.getLimits();
171
+ }
172
+ /**
173
+ * Get pending swaps.
174
+ *
175
+ * @returns Array of pending swap information
176
+ */
177
+ async getPendingSwaps() {
178
+ const [reverseSwaps, submarineSwaps] = await Promise.all([
179
+ this.arkadeLightning.getPendingReverseSwaps(),
180
+ this.arkadeLightning.getPendingSubmarineSwaps(),
181
+ ]);
182
+ return [
183
+ ...reverseSwaps.map((swap) => this.mapReverseSwap(swap)),
184
+ ...submarineSwaps.map((swap) => this.mapSubmarineSwap(swap)),
185
+ ];
186
+ }
187
+ /**
188
+ * Get swap history.
189
+ *
190
+ * @returns Array of all swaps (pending and completed)
191
+ */
192
+ async getSwapHistory() {
193
+ const history = await this.arkadeLightning.getSwapHistory();
194
+ return history.map((swap) => swap.type === "reverse"
195
+ ? this.mapReverseSwap(swap)
196
+ : this.mapSubmarineSwap(swap));
197
+ }
198
+ /**
199
+ * Wait for an invoice to be paid and claim the funds.
200
+ *
201
+ * @param pendingSwap - The pending reverse swap from createInvoice
202
+ * @returns Transaction ID of the claimed funds
203
+ */
204
+ async waitAndClaim(pendingSwap) {
205
+ return this.arkadeLightning.waitAndClaim(pendingSwap);
206
+ }
207
+ /**
208
+ * Get the underlying ArkadeLightning instance for advanced operations.
209
+ *
210
+ * @returns The ArkadeLightning instance
211
+ */
212
+ getArkadeLightning() {
213
+ return this.arkadeLightning;
214
+ }
215
+ /**
216
+ * Get the swap provider for direct Boltz API access.
217
+ *
218
+ * @returns The BoltzSwapProvider instance
219
+ */
220
+ getSwapProvider() {
221
+ return this.swapProvider;
222
+ }
223
+ /**
224
+ * Start the background swap manager if enabled.
225
+ */
226
+ async startSwapManager() {
227
+ await this.arkadeLightning.startSwapManager();
228
+ }
229
+ /**
230
+ * Stop the background swap manager.
231
+ */
232
+ async stopSwapManager() {
233
+ await this.arkadeLightning.stopSwapManager();
234
+ }
235
+ /**
236
+ * Dispose of resources and stop the swap manager.
237
+ */
238
+ async dispose() {
239
+ await this.arkadeLightning.dispose();
240
+ }
241
+ mapReverseSwap(swap) {
242
+ return {
243
+ id: swap.id,
244
+ type: "reverse",
245
+ status: swap.status,
246
+ amount: swap.response.onchainAmount,
247
+ createdAt: new Date(swap.createdAt),
248
+ invoice: swap.response.invoice,
249
+ };
250
+ }
251
+ mapSubmarineSwap(swap) {
252
+ // Decode invoice to get amount
253
+ let amount = 0;
254
+ try {
255
+ const decoded = (0, boltz_swap_1.decodeInvoice)(swap.request.invoice);
256
+ amount = decoded.amountSats;
257
+ }
258
+ catch {
259
+ amount = swap.response.expectedAmount;
260
+ }
261
+ return {
262
+ id: swap.id,
263
+ type: "submarine",
264
+ status: swap.status,
265
+ amount,
266
+ createdAt: new Date(swap.createdAt),
267
+ invoice: swap.request.invoice,
268
+ };
269
+ }
270
+ }
271
+ exports.ArkaLightningSkill = ArkaLightningSkill;
272
+ /**
273
+ * Create an ArkaLightningSkill from a wallet and network.
274
+ *
275
+ * @param wallet - The Arkade wallet to use
276
+ * @param network - The network name
277
+ * @param options - Optional configuration
278
+ * @returns A new ArkaLightningSkill instance
279
+ */
280
+ function createLightningSkill(wallet, network, options) {
281
+ return new ArkaLightningSkill({
282
+ wallet,
283
+ network,
284
+ ...options,
285
+ });
286
+ }
287
+ //# sourceMappingURL=lightning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightning.js","sourceRoot":"","sources":["../../../src/skills/lightning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for Arkade SDK skills.
4
+ *
5
+ * These types define the interfaces for Bitcoin and Lightning skills
6
+ * designed for agent integration.
7
+ *
8
+ * @module skills/types
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/skills/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @arkade-os/skill - Arkade SDK Skills for Agent Integration
3
+ *
4
+ * This package provides skills for sending and receiving Bitcoin over
5
+ * Arkade and Lightning, designed for agent integration (CLI-friendly
6
+ * for agents like MoltBot).
7
+ *
8
+ * ## Available Skills
9
+ *
10
+ * - **ArkadeBitcoinSkill**: Send/receive Bitcoin via Arkade with on/off ramp support
11
+ * - **ArkaLightningSkill**: Lightning Network payments via Boltz submarine swaps
12
+ * - **LendaSwapSkill**: USDC/USDT stablecoin swaps via LendaSwap
13
+ *
14
+ * ## Quick Start
15
+ *
16
+ * ```typescript
17
+ * import { Wallet, SingleKey } from "@arkade-os/sdk";
18
+ * import {
19
+ * ArkadeBitcoinSkill,
20
+ * ArkaLightningSkill,
21
+ * LendaSwapSkill,
22
+ * } from "@arkade-os/skill";
23
+ *
24
+ * // Create a wallet (default server: arkade.computer)
25
+ * const wallet = await Wallet.create({
26
+ * identity: SingleKey.fromHex(privateKeyHex),
27
+ * arkServerUrl: "https://arkade.computer",
28
+ * });
29
+ *
30
+ * // Bitcoin operations
31
+ * const bitcoin = new ArkadeBitcoinSkill(wallet);
32
+ * const balance = await bitcoin.getBalance();
33
+ *
34
+ * // Lightning operations
35
+ * const lightning = new ArkaLightningSkill({ wallet, network: "bitcoin" });
36
+ * const invoice = await lightning.createInvoice({ amount: 50000 });
37
+ *
38
+ * // Stablecoin swaps
39
+ * const lendaswap = new LendaSwapSkill({ wallet, apiKey: "..." });
40
+ * const quote = await lendaswap.getQuoteBtcToStablecoin(100000, "usdc_pol");
41
+ * ```
42
+ *
43
+ * ## CLI Usage
44
+ *
45
+ * ```bash
46
+ * # Initialize wallet (default server: arkade.computer)
47
+ * arkade init <private-key-hex>
48
+ *
49
+ * # Show addresses
50
+ * arkade address
51
+ * arkade boarding-address
52
+ *
53
+ * # Check balance
54
+ * arkade balance
55
+ *
56
+ * # Send Bitcoin
57
+ * arkade send <ark-address> <amount-sats>
58
+ *
59
+ * # Lightning
60
+ * arkade ln-invoice <amount> [description]
61
+ * arkade ln-pay <bolt11>
62
+ *
63
+ * # Stablecoins
64
+ * arkade swap-quote <amount> <from> <to>
65
+ * arkade swap-pairs
66
+ * ```
67
+ *
68
+ * @packageDocumentation
69
+ */
70
+ // Re-export all skills and types
71
+ export * from "./skills";
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,iCAAiC;AACjC,cAAc,UAAU,CAAC"}