Merge pull request #2513 from cfromknecht/add-base-reward
wtpolicy+wtwire+wtserver: add base reward
This commit is contained in:
commit
f98cc26a6f
@ -48,6 +48,11 @@ type Policy struct {
|
||||
// for this session.
|
||||
MaxUpdates uint16
|
||||
|
||||
// RewardBase is the fixed amount allocated to the tower when the
|
||||
// policy's blob type specifies a reward for the tower. This is taken
|
||||
// before adding the proportional reward.
|
||||
RewardBase uint32
|
||||
|
||||
// RewardRate is the fraction of the total balance of the revoked
|
||||
// commitment that the watchtower is entitled to. This value is
|
||||
// expressed in millionths of the total balance.
|
||||
|
@ -393,6 +393,7 @@ func (s *Server) handleCreateSession(peer Peer, id *wtdb.SessionID,
|
||||
Policy: wtpolicy.Policy{
|
||||
BlobType: req.BlobType,
|
||||
MaxUpdates: req.MaxUpdates,
|
||||
RewardBase: req.RewardBase,
|
||||
RewardRate: req.RewardRate,
|
||||
SweepFeeRate: req.SweepFeeRate,
|
||||
},
|
||||
|
@ -163,6 +163,7 @@ var createSessionTests = []createSessionTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 1000,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -184,6 +185,7 @@ var createSessionTests = []createSessionTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: 0,
|
||||
MaxUpdates: 1000,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -283,6 +285,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 3,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -312,6 +315,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 4,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -335,6 +339,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 4,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -362,6 +367,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 4,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -389,6 +395,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 4,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -418,6 +425,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 4,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -446,6 +454,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 3,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
@ -475,6 +484,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
||||
createMsg: &wtwire.CreateSession{
|
||||
BlobType: blob.TypeDefault,
|
||||
MaxUpdates: 3,
|
||||
RewardBase: 0,
|
||||
RewardRate: 0,
|
||||
SweepFeeRate: 1,
|
||||
},
|
||||
|
@ -20,6 +20,11 @@ type CreateSession struct {
|
||||
// for this session.
|
||||
MaxUpdates uint16
|
||||
|
||||
// RewardBase is the fixed amount allocated to the tower when the
|
||||
// policy's blob type specifies a reward for the tower. This is taken
|
||||
// before adding the proportional reward.
|
||||
RewardBase uint32
|
||||
|
||||
// RewardRate is the fraction of the total balance of the revoked
|
||||
// commitment that the watchtower is entitled to. This value is
|
||||
// expressed in millionths of the total balance.
|
||||
@ -44,6 +49,7 @@ func (m *CreateSession) Decode(r io.Reader, pver uint32) error {
|
||||
return ReadElements(r,
|
||||
&m.BlobType,
|
||||
&m.MaxUpdates,
|
||||
&m.RewardBase,
|
||||
&m.RewardRate,
|
||||
&m.SweepFeeRate,
|
||||
)
|
||||
@ -57,6 +63,7 @@ func (m *CreateSession) Encode(w io.Writer, pver uint32) error {
|
||||
return WriteElements(w,
|
||||
m.BlobType,
|
||||
m.MaxUpdates,
|
||||
m.RewardBase,
|
||||
m.RewardRate,
|
||||
m.SweepFeeRate,
|
||||
)
|
||||
@ -75,5 +82,5 @@ func (m *CreateSession) MsgType() MessageType {
|
||||
//
|
||||
// This is part of the wtwire.Message interface.
|
||||
func (m *CreateSession) MaxPayloadLength(uint32) uint32 {
|
||||
return 16
|
||||
return 2 + 2 + 4 + 4 + 8 // 20
|
||||
}
|
||||
|
@ -11,8 +11,9 @@ func MessageSummary(msg Message) string {
|
||||
|
||||
case *CreateSession:
|
||||
return fmt.Sprintf("blob_type=%s, max_updates=%d "+
|
||||
"reward_rate=%d sweep_fee_rate=%d", msg.BlobType,
|
||||
msg.MaxUpdates, msg.RewardRate, msg.SweepFeeRate)
|
||||
"reward_base=%d reward_rate=%d sweep_fee_rate=%d",
|
||||
msg.BlobType, msg.MaxUpdates, msg.RewardBase,
|
||||
msg.RewardRate, msg.SweepFeeRate)
|
||||
|
||||
case *CreateSessionReply:
|
||||
return fmt.Sprintf("code=%d", msg.Code)
|
||||
|
Loading…
Reference in New Issue
Block a user