package Ġfr . ac in q . phoenix . data Ċ Ċ import Ġfr . ac in q . bitcoin . PublicKey Ċ import Ġfr . ac in q . lightning . C lt v Expiry Delta Ċ import Ġfr . ac in q . lightning . Invoice Default Routing Fees Ċ import Ġfr . ac in q . lightning . Wallet Params Ċ import Ġfr . ac in q . lightning . utils . ms at Ċ import Ġfr . ac in q . lightning . utils . sat Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ object ĠApi Wallet Params Ġ{ ĊĠĠĠ Ġenum Ġclass ĠVersion Ġ{ ĠV 0 Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠV 0 ( val Ġtest net : ĠChain Params , Ġval Ġmain net : ĠChain Params ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġexport ( chain : ĠChain ): ĠWallet Params Ġ= Ġif Ġ( chain . is Main net ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain net . export () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest net . export () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠChain Params ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" latest _ critical _ version ") Ġval Ġlatest Critical Version : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtr amp oline : ĠTr amp oline Params , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġexport (): ĠWallet Params Ġ= Ġtr amp oline . v 2 . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet Params ( nodes . first (). export (), Ġattempts . map Ġ{ Ġit . export () Ġ}, ĠInvoice Default Routing Fees ( 1 0 0 0 . ms at , Ġ 1 0 0 , ĠC lt v Expiry Delta ( 1 4 4 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠTr amp oline Params ( val Ġv 2 : ĠV 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġclass ĠTr amp oline Fees ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" fee _ base _ sat ") Ġval Ġfee Base Sat : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" fee _ per _ m illion ths ") Ġval Ġfee Per M illion ths : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" cl tv _ expiry ") Ġval Ġcl tv Expiry : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġexport (): Ġfr . ac in q . lightning . Tr amp oline Fees Ġ= Ġfr . ac in q . lightning . Tr amp oline Fees ( fee Base Sat . sat , Ġfee Per M illion ths , ĠC lt v Expiry Delta ( cl tv Expiry )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġclass ĠNode Uri ( val Ġname : ĠString , Ġval Ġuri : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġexport (): Ġfr . ac in q . lightning . Node Uri Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= Ġuri . split ("@ ", Ġ": ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠpublicKey Ġ= ĠPublicKey . from Hex ( parts [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġparts [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġparts [ 2 ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfr . ac in q . lightning . Node Uri ( publicKey , Ġhost , Ġport ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġclass ĠV 2 ( val Ġattempts : ĠList < Tr amp oline Fees >, Ġval Ġnodes : ĠList < Node Uri > Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ