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 ¶
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 log.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.