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