1+ package htlcswitch
2+
3+ import (
4+ "github.com/btcsuite/btcd/btcec/v2"
5+ "github.com/btcsuite/btcd/btcutil"
6+ "github.com/lightningnetwork/lnd/fn"
7+ "github.com/lightningnetwork/lnd/lnwire"
8+ )
9+
10+ type DynUpdate func (* lnwire.DynPropose )
11+
12+ func WithDustLimit (amt btcutil.Amount ) DynUpdate {
13+ return func (dp * lnwire.DynPropose ) {
14+ dp .DustLimit = fn .Some (amt )
15+ }
16+ }
17+
18+ func WithMaxValueInFlight (amt lnwire.MilliSatoshi ) DynUpdate {
19+ return func (dp * lnwire.DynPropose ) {
20+ dp .MaxValueInFlight = fn .Some (amt )
21+ }
22+ }
23+
24+ func WithChannelReserve (amt btcutil.Amount ) DynUpdate {
25+ return func (dp * lnwire.DynPropose ) {
26+ dp .ChannelReserve = fn .Some (amt )
27+ }
28+ }
29+
30+ func WithCsvDelay (blks uint16 ) DynUpdate {
31+ return func (dp * lnwire.DynPropose ) {
32+ dp .CsvDelay = fn .Some (blks )
33+ }
34+ }
35+
36+ func WithMaxAcceptedHTLCs (max uint16 ) DynUpdate {
37+ return func (dp * lnwire.DynPropose ) {
38+ dp .MaxAcceptedHTLCs = fn .Some (max )
39+ }
40+ }
41+
42+ func WithFundingKey (key btcec.PublicKey ) DynUpdate {
43+ return func (dp * lnwire.DynPropose ) {
44+ dp .FundingKey = fn .Some (key )
45+ }
46+ }
47+
48+ func WithChannelType (ty lnwire.ChannelType ) DynUpdate {
49+
50+ return func (dp * lnwire.DynPropose ) {
51+ dp .ChannelType = fn .Some (ty )
52+ }
53+ }
54+
55+ type dyncommNegotiator struct {}
56+
57+ type DynResponse = fn.Either [lnwire.DynAck , lnwire.DynReject ]
58+
59+ func (* dyncommNegotiator ) recvDynPropose (msg lnwire.DynPropose ) (
60+ DynResponse , error ) {
61+
62+ panic ("NOT IMPLEMENTED: dyncommNegotiator.recvDynPropose" )
63+ }
64+
65+ func (* dyncommNegotiator ) recvDynAck (msg lnwire.DynAck ) (lnwire.DynPropose ,
66+ error ) {
67+
68+ panic ("NOT IMPLEMENTED: dyncommNegotiator.recvDynAck" )
69+ }
70+
71+ func (* dyncommNegotiator ) recvDynReject (msg lnwire.DynReject ) error {
72+ panic ("NOT IMPLEMENTED: dyncommNegotiator.recvDynReject" )
73+ }
74+
75+ func (* dyncommNegotiator ) sendDynPropose (
76+ updates ... DynUpdate ) lnwire.DynPropose {
77+
78+ panic ("NOT IMPLEMENTED: dyncommNegotiator.sendDynPropose" )
79+ }
80+
81+ func (* dyncommNegotiator ) reset () {
82+ panic ("NOT IMPLEMENTED: dyncommNegotiator.reset" )
83+ }
0 commit comments