11import {
2- ArkadeLightning ,
2+ ArkadeSwaps ,
33 BoltzSwapProvider ,
44 decodeInvoice ,
5+ type SwapRepository ,
56 type PendingReverseSwap ,
67 type PendingSubmarineSwap ,
78} from "@arkade-os/boltz-swap" ;
@@ -36,6 +37,7 @@ export interface ArkadeLightningSkillConfig {
3637 boltzApiUrl ?: string ;
3738 referralId ?: string ;
3839 enableSwapManager ?: boolean ;
40+ swapRepository ?: SwapRepository ;
3941}
4042
4143export class ArkadeLightningSkill implements LightningSkill {
@@ -44,7 +46,7 @@ export class ArkadeLightningSkill implements LightningSkill {
4446 "Lightning Network payments via Boltz submarine swaps for Arkade wallets" ;
4547 readonly version = "1.0.0" ;
4648
47- private readonly arkadeLightning : ArkadeLightning ;
49+ private readonly arkadeSwaps : ArkadeSwaps ;
4850 private readonly swapProvider : BoltzSwapProvider ;
4951 private readonly network : NetworkName ;
5052 private readonly swapErrors = new Map < string , string > ( ) ;
@@ -63,20 +65,21 @@ export class ArkadeLightningSkill implements LightningSkill {
6365 referralId : config . referralId ,
6466 } ) ;
6567
66- this . arkadeLightning = new ArkadeLightning ( {
68+ this . arkadeSwaps = new ArkadeSwaps ( {
6769 wallet : config . wallet as ConstructorParameters <
68- typeof ArkadeLightning
70+ typeof ArkadeSwaps
6971 > [ 0 ] [ "wallet" ] ,
7072 swapProvider : this . swapProvider ,
7173 arkProvider : config . arkProvider ,
7274 indexerProvider : config . indexerProvider ,
75+ swapRepository : config . swapRepository ,
7376 swapManager : config . enableSwapManager
74- ? { enableAutoActions : true , autoStart : true }
75- : undefined ,
77+ ? { autoStart : true }
78+ : false ,
7679 } ) ;
7780
7881 // Track swap errors from SwapManager for debugging
79- const manager = this . arkadeLightning . getSwapManager ?.( ) ;
82+ const manager = this . arkadeSwaps . getSwapManager ?.( ) ;
8083 if ( manager ) {
8184 manager . onSwapFailed ?.( ( swap : { id : string } , error : unknown ) => {
8285 const msg = error instanceof Error ? error . message : String ( error ) ;
@@ -96,7 +99,7 @@ export class ArkadeLightningSkill implements LightningSkill {
9699 }
97100
98101 async createInvoice ( params : CreateInvoiceParams ) : Promise < LightningInvoice > {
99- const response = await this . arkadeLightning . createLightningInvoice ( {
102+ const response = await this . arkadeSwaps . createLightningInvoice ( {
100103 amount : params . amount ,
101104 description : params . description ,
102105 } ) ;
@@ -115,7 +118,7 @@ export class ArkadeLightningSkill implements LightningSkill {
115118 }
116119
117120 async payInvoice ( params : PayInvoiceParams ) : Promise < PaymentResult > {
118- const response = await this . arkadeLightning . sendLightningPayment ( {
121+ const response = await this . arkadeSwaps . sendLightningPayment ( {
119122 invoice : params . bolt11 ,
120123 } ) ;
121124
@@ -127,17 +130,17 @@ export class ArkadeLightningSkill implements LightningSkill {
127130 }
128131
129132 async getFees ( ) : Promise < LightningFees > {
130- return this . arkadeLightning . getFees ( ) ;
133+ return this . arkadeSwaps . getFees ( ) ;
131134 }
132135
133136 async getLimits ( ) : Promise < LightningLimits > {
134- return this . arkadeLightning . getLimits ( ) ;
137+ return this . arkadeSwaps . getLimits ( ) ;
135138 }
136139
137140 async getPendingSwaps ( ) : Promise < SwapInfo [ ] > {
138141 // Refresh statuses from Boltz API before returning
139142 try {
140- await this . arkadeLightning . refreshSwapsStatus ( ) ;
143+ await this . arkadeSwaps . refreshSwapsStatus ( ) ;
141144 } catch {
142145 // Non-fatal: return stale data if refresh fails
143146 }
@@ -147,7 +150,7 @@ export class ArkadeLightningSkill implements LightningSkill {
147150 }
148151
149152 async getSwapHistory ( ) : Promise < SwapInfo [ ] > {
150- const history = await this . arkadeLightning . getSwapHistory ( ) ;
153+ const history = await this . arkadeSwaps . getSwapHistory ( ) ;
151154 return history . map ( ( swap ) =>
152155 swap . type === "reverse"
153156 ? this . mapReverseSwap ( swap as PendingReverseSwap )
@@ -158,27 +161,27 @@ export class ArkadeLightningSkill implements LightningSkill {
158161 async waitAndClaim (
159162 pendingSwap : PendingReverseSwap
160163 ) : Promise < { txid : string } > {
161- return this . arkadeLightning . waitAndClaim ( pendingSwap ) ;
164+ return this . arkadeSwaps . waitAndClaim ( pendingSwap ) ;
162165 }
163166
164- getArkadeLightning ( ) : ArkadeLightning {
165- return this . arkadeLightning ;
167+ getArkadeSwaps ( ) : ArkadeSwaps {
168+ return this . arkadeSwaps ;
166169 }
167170
168171 getSwapProvider ( ) : BoltzSwapProvider {
169172 return this . swapProvider ;
170173 }
171174
172175 async startSwapManager ( ) : Promise < void > {
173- await this . arkadeLightning . startSwapManager ( ) ;
176+ await this . arkadeSwaps . startSwapManager ( ) ;
174177 }
175178
176179 async stopSwapManager ( ) : Promise < void > {
177- await this . arkadeLightning . stopSwapManager ( ) ;
180+ await this . arkadeSwaps . stopSwapManager ( ) ;
178181 }
179182
180183 async dispose ( ) : Promise < void > {
181- await this . arkadeLightning . dispose ( ) ;
184+ await this . arkadeSwaps . dispose ( ) ;
182185 }
183186
184187 private mapReverseSwap ( swap : PendingReverseSwap ) : SwapInfo {
0 commit comments