Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Interface ¶
type Interface interface {
// EmitCheque sends a signed cheque to a peer.
EmitCheque(ctx context.Context, peer swarm.Address, beneficiary common.Address, amount *big.Int, issue IssueFunc) (balance *big.Int, err error)
}
Interface is the main interface to send messages over swap protocol.
type SendChequeFunc ¶ added in v1.0.0
type SendChequeFunc chequebook.SendChequeFunc
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is the main implementation of the swap protocol.
func New ¶
func New(streamer p2p.Streamer, logger logging.Logger, beneficiary common.Address, priceOracle priceoracle.Service) *Service
New creates a new swap protocol Service.
func (*Service) EmitCheque ¶
func (s *Service) EmitCheque(ctx context.Context, peer swarm.Address, beneficiary common.Address, amount *big.Int, issue IssueFunc) (balance *big.Int, err error)
InitiateCheque attempts to send a cheque to a peer.
func (*Service) Protocol ¶
func (s *Service) Protocol() p2p.ProtocolSpec
type Swap ¶
type Swap interface {
// ReceiveCheque is called by the swap protocol if a cheque is received.
ReceiveCheque(ctx context.Context, peer swarm.Address, cheque *chequebook.SignedCheque, exchangeRate, deduction *big.Int) error
// Handshake is called by the swap protocol when a handshake is received.
Handshake(peer swarm.Address, beneficiary common.Address) error
GetDeductionForPeer(peer swarm.Address) (bool, error)
GetDeductionByPeer(peer swarm.Address) (bool, error)
AddDeductionByPeer(peer swarm.Address) error
}
Swap is the interface the settlement layer should implement to receive cheques.
Click to show internal directories.
Click to hide internal directories.