@@ -32,6 +32,7 @@ import (
3232 "github.com/lightninglabs/loop/staticaddr/address"
3333 "github.com/lightninglabs/loop/staticaddr/deposit"
3434 "github.com/lightninglabs/loop/staticaddr/loopin"
35+ "github.com/lightninglabs/loop/staticaddr/openchannel"
3536 "github.com/lightninglabs/loop/staticaddr/withdraw"
3637 "github.com/lightninglabs/loop/swap"
3738 "github.com/lightninglabs/loop/swapserverrpc"
@@ -97,6 +98,7 @@ type swapClientServer struct {
9798 depositManager * deposit.Manager
9899 withdrawalManager * withdraw.Manager
99100 staticLoopInManager * loopin.Manager
101+ openChannelManager * openchannel.Manager
100102 assetClient * assets.TapdClient
101103 swaps map [lntypes.Hash ]loop.SwapInfo
102104 subscribers map [int ]chan <- interface {}
@@ -1963,13 +1965,14 @@ func (s *swapClientServer) GetStaticAddressSummary(ctx context.Context,
19631965 }
19641966
19651967 var (
1966- totalNumDeposits = len (allDeposits )
1967- valueUnconfirmed int64
1968- valueDeposited int64
1969- valueExpired int64
1970- valueWithdrawn int64
1971- valueLoopedIn int64
1972- htlcTimeoutSwept int64
1968+ totalNumDeposits = len (allDeposits )
1969+ valueUnconfirmed int64
1970+ valueDeposited int64
1971+ valueExpired int64
1972+ valueWithdrawn int64
1973+ valueLoopedIn int64
1974+ valueChannelsOpened int64
1975+ htlcTimeoutSwept int64
19731976 )
19741977
19751978 // Value unconfirmed.
@@ -2001,6 +2004,9 @@ func (s *swapClientServer) GetStaticAddressSummary(ctx context.Context,
20012004
20022005 case deposit .HtlcTimeoutSwept :
20032006 htlcTimeoutSwept += value
2007+
2008+ case deposit .ChannelPublished :
2009+ valueChannelsOpened += value
20042010 }
20052011 }
20062012
@@ -2025,6 +2031,7 @@ func (s *swapClientServer) GetStaticAddressSummary(ctx context.Context,
20252031 ValueExpiredSatoshis : valueExpired ,
20262032 ValueWithdrawnSatoshis : valueWithdrawn ,
20272033 ValueLoopedInSatoshis : valueLoopedIn ,
2034+ ValueChannelsOpened : valueChannelsOpened ,
20282035 ValueHtlcTimeoutSweepsSatoshis : htlcTimeoutSwept ,
20292036 }, nil
20302037}
@@ -2134,6 +2141,35 @@ func (s *swapClientServer) populateBlocksUntilExpiry(ctx context.Context,
21342141 return nil
21352142}
21362143
2144+ // StaticOpenChannel initiates an open channel request using static address
2145+ // deposits.
2146+ func (s * swapClientServer ) StaticOpenChannel (ctx context.Context ,
2147+ req * looprpc.OpenChannelRequest ) (* looprpc.StaticOpenChannelResponse ,
2148+ error ) {
2149+
2150+ infof ("Static open channel request received" )
2151+
2152+ chanOpenTxHash , err := s .openChannelManager .DeliverOpenChannelRequest (
2153+ ctx , req ,
2154+ )
2155+
2156+ var (
2157+ txHash string
2158+ errMsg string
2159+ )
2160+ if chanOpenTxHash != nil {
2161+ txHash = chanOpenTxHash .String ()
2162+ }
2163+ if err != nil {
2164+ errMsg = err .Error ()
2165+ }
2166+
2167+ return & looprpc.StaticOpenChannelResponse {
2168+ ChannelOpenTxHash : txHash ,
2169+ Error : errMsg ,
2170+ }, nil
2171+ }
2172+
21372173type filterFunc func (deposits * deposit.Deposit ) bool
21382174
21392175func filter (deposits []* deposit.Deposit , f filterFunc ) []* looprpc.Deposit {
@@ -2187,6 +2223,12 @@ func toClientDepositState(state fsm.StateType) looprpc.DepositState {
21872223 case deposit .LoopedIn :
21882224 return looprpc .DepositState_LOOPED_IN
21892225
2226+ case deposit .OpeningChannel :
2227+ return looprpc .DepositState_OPENING_CHANNEL
2228+
2229+ case deposit .ChannelPublished :
2230+ return looprpc .DepositState_CHANNEL_PUBLISHED
2231+
21902232 case deposit .SweepHtlcTimeout :
21912233 return looprpc .DepositState_SWEEP_HTLC_TIMEOUT
21922234
@@ -2266,6 +2308,12 @@ func toServerState(state looprpc.DepositState) fsm.StateType {
22662308 case looprpc .DepositState_LOOPED_IN :
22672309 return deposit .LoopedIn
22682310
2311+ case looprpc .DepositState_OPENING_CHANNEL :
2312+ return deposit .OpeningChannel
2313+
2314+ case looprpc .DepositState_CHANNEL_PUBLISHED :
2315+ return deposit .ChannelPublished
2316+
22692317 case looprpc .DepositState_SWEEP_HTLC_TIMEOUT :
22702318 return deposit .SweepHtlcTimeout
22712319
0 commit comments