Documentation ¶
Overview ¶
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount. Its purpose is to be able to have the full payment / disconnect threshold machinery in place without having to send cheques or real values.
Index ¶
- Variables
- type Service
- func (s *Service) Metrics() []prometheus.Collector
- func (s *Service) Pay(ctx context.Context, peer penguin.Address, amount *big.Int, ...) (*big.Int, int64, error)
- func (s *Service) Protocol() p2p.ProtocolSpec
- func (s *Service) SetAccounting(accounting settlement.Accounting)
- func (s *Service) SettlementsReceived() (map[string]*big.Int, error)
- func (s *Service) SettlementsSent() (map[string]*big.Int, error)
- func (s *Service) TotalReceived(peer penguin.Address) (totalReceived *big.Int, err error)
- func (s *Service) TotalSent(peer penguin.Address) (totalSent *big.Int, err error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( SettlementReceivedPrefix = "pseudosettle_total_received_" SettlementSentPrefix = "pseudosettle_total_sent_" ErrSettlementTooSoon = errors.New("settlement too soon") ErrNoPseudoSettlePeer = errors.New("settlement peer not found") ErrDisconnectAllowanceCheckFailed = errors.New("settlement allowance below enforced amount") ErrTimeOutOfSync = errors.New("settlement allowance timestamps differ beyond tolerance") )
Functions ¶
This section is empty.
Types ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func New ¶
func New(streamer p2p.Streamer, logger logging.Logger, store storage.StateStorer, accounting settlement.Accounting, refreshRate *big.Int, p2pService p2p.Service) *Service
func (*Service) Metrics ¶
func (s *Service) Metrics() []prometheus.Collector
func (*Service) Pay ¶
func (s *Service) Pay(ctx context.Context, peer penguin.Address, amount *big.Int, checkAllowance *big.Int) (*big.Int, int64, error)
Pay initiates a payment to the given peer
func (*Service) Protocol ¶
func (s *Service) Protocol() p2p.ProtocolSpec
func (*Service) SetAccounting ¶
func (s *Service) SetAccounting(accounting settlement.Accounting)
func (*Service) SettlementsReceived ¶
SettlementsReceived returns all stored received settlement values for a given type of prefix
func (*Service) SettlementsSent ¶
SettlementsSent returns all stored sent settlement values for a given type of prefix
func (*Service) TotalReceived ¶
TotalReceived returns the total amount received from a peer
Click to show internal directories.
Click to hide internal directories.