@@ -5,7 +5,7 @@ use crate::bitcoin::{Txid, io};
55use crate :: logging:: Logger ;
66use crate :: store:: { PaymentId , StoreTransaction , TxStatus } ;
77use crate :: trusted_wallet:: { Payment , TrustedError , TrustedWalletInterface } ;
8- use crate :: { Event , EventQueue , ExtraConfig , InitFailure , PaymentType , Seed , WalletConfig } ;
8+ use crate :: { Event , EventQueue , InitFailure , PaymentType , Seed , WalletConfig } ;
99
1010use ldk_node:: bitcoin:: hashes:: Hash ;
1111use ldk_node:: bitcoin:: hashes:: sha256:: Hash as Sha256 ;
@@ -21,8 +21,8 @@ use bitcoin_payment_instructions::PaymentMethod;
2121use bitcoin_payment_instructions:: amount:: Amount ;
2222
2323use spark_wallet:: {
24- DefaultSigner , Order , PagingFilter , PayLightningInvoiceResult , SparkWallet , SparkWalletError ,
25- SspUserRequest , TransferStatus , WalletEvent , WalletTransfer ,
24+ DefaultSigner , Order , PagingFilter , PayLightningInvoiceResult , SparkWallet , SparkWalletConfig ,
25+ SparkWalletError , SspUserRequest , TransferStatus , WalletEvent , WalletTransfer ,
2626} ;
2727
2828use tokio:: sync:: watch;
@@ -226,37 +226,32 @@ const SPARK_SYNC_OFFSET_KEY: &str = "sync_offset";
226226impl Spark {
227227 /// Initialize a new Spark wallet instance with the given configuration.
228228 pub ( crate ) async fn init (
229- config : & WalletConfig , store : Arc < dyn KVStore + Sync + Send > , event_queue : Arc < EventQueue > ,
230- logger : Arc < Logger > ,
229+ config : & WalletConfig , spark_config : SparkWalletConfig ,
230+ store : Arc < dyn KVStore + Sync + Send > , event_queue : Arc < EventQueue > , logger : Arc < Logger > ,
231231 ) -> Result < Self , InitFailure > {
232- let extra_config = match & config. extra_config {
233- ExtraConfig :: Spark ( sp) => sp. clone ( ) ,
234- _ => unreachable ! ( "Not reachable, we are in Spark" ) ,
235- } ;
236-
237- if config. network != extra_config. network . into ( ) {
232+ if config. network != spark_config. network . into ( ) {
238233 Err ( TrustedError :: InvalidNetwork ) ?
239234 }
240235
241236 let signer = match & config. seed {
242237 Seed :: Seed64 ( bytes) => {
243238 // hash the seed to make sure it does not conflict with the lightning keys
244239 let seed = Sha256 :: hash ( bytes) ;
245- DefaultSigner :: new ( & seed[ ..] , extra_config . network )
240+ DefaultSigner :: new ( & seed[ ..] , spark_config . network )
246241 . map_err ( |e| TrustedError :: Other ( format ! ( "Failed to create signer: {e}" ) ) ) ?
247242 } ,
248243 Seed :: Mnemonic { mnemonic, passphrase } => {
249244 // We don't hash the seed here, as mnemonics are meant to be easily recoverable
250245 // and if we hashed them, then you could not recover your spark coins from the mnemonic
251246 // in separate wallets.
252247 let seed = mnemonic. to_seed ( passphrase. as_deref ( ) . unwrap_or ( "" ) ) ;
253- DefaultSigner :: new ( & seed[ ..] , extra_config . network )
248+ DefaultSigner :: new ( & seed[ ..] , spark_config . network )
254249 . map_err ( |e| TrustedError :: Other ( format ! ( "Failed to create signer: {e}" ) ) ) ?
255250 } ,
256251 } ;
257252
258253 let spark_wallet = Arc :: new (
259- SparkWallet :: connect ( extra_config , signer)
254+ SparkWallet :: connect ( spark_config , signer)
260255 . await
261256 . map_err ( |e| InitFailure :: TrustedFailure ( e. into ( ) ) ) ?,
262257 ) ;
0 commit comments