Commit 20a93521 authored by metacertain's avatar metacertain Committed by GitHub

feat: disconnect from peer upon refreshment attempt being reset (#2100)

parent 0503716f
...@@ -353,6 +353,7 @@ func (a *Accounting) settle(peer swarm.Address, balance *accountingPeer) error { ...@@ -353,6 +353,7 @@ func (a *Accounting) settle(peer swarm.Address, balance *accountingPeer) error {
acceptedAmount, timestamp, err := a.refreshFunction(context.Background(), peer, paymentAmount, shadowBalance) acceptedAmount, timestamp, err := a.refreshFunction(context.Background(), peer, paymentAmount, shadowBalance)
if err != nil { if err != nil {
_ = a.blocklist(peer, 1)
return fmt.Errorf("refresh failure: %w", err) return fmt.Errorf("refresh failure: %w", err)
} }
......
...@@ -302,7 +302,7 @@ func (s *Service) Pay(ctx context.Context, peer swarm.Address, amount *big.Int, ...@@ -302,7 +302,7 @@ func (s *Service) Pay(ctx context.Context, peer swarm.Address, amount *big.Int,
acceptedAmount := new(big.Int).SetBytes(paymentAck.Amount) acceptedAmount := new(big.Int).SetBytes(paymentAck.Amount)
if acceptedAmount.Cmp(amount) > 0 { if acceptedAmount.Cmp(amount) > 0 {
err = fmt.Errorf("pseudosettle other peer %v accepted payment larger than expected", peer) err = fmt.Errorf("pseudosettle peer %v accepted payment larger than expected", peer)
return nil, 0, err return nil, 0, err
} }
...@@ -333,10 +333,8 @@ func (s *Service) Pay(ctx context.Context, peer swarm.Address, amount *big.Int, ...@@ -333,10 +333,8 @@ func (s *Service) Pay(ctx context.Context, peer swarm.Address, amount *big.Int,
if expectedAllowance.Cmp(acceptedAmount) > 0 { if expectedAllowance.Cmp(acceptedAmount) > 0 {
// disconnect peer // disconnect peer
err = s.p2pService.Blocklist(peer, 1*time.Hour) err = fmt.Errorf("pseudosettle peer %v accepted lower payment than expected", peer)
if err != nil { return nil, 0, err
return nil, 0, err
}
} }
lastTime.Total = lastTime.Total.Add(lastTime.Total, acceptedAmount) lastTime.Total = lastTime.Total.Add(lastTime.Total, acceptedAmount)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment