Documentation ¶
Overview ¶
Package message provides the types for messages that are sent between swapd instances.
Index ¶
Constants ¶
const ( Unknown byte = iota // occupies the uninitialized value QueryResponseType RelayClaimRequestType RelayClaimResponseType SendKeysType NotifyETHLockedType )
Identifiers for our p2p message types. The first byte of a message has the identifier below telling us which type to decode the JSON message as.
Variables ¶
This section is empty.
Functions ¶
func DecodeMessage ¶
DecodeMessage decodes the given bytes into a Message
func TypeToString ¶
TypeToString converts a message type into a string.
Types ¶
type NotifyETHLocked ¶
type NotifyETHLocked struct { Address ethcommon.Address `json:"address" validate:"required"` TxHash types.Hash `json:"txHash" validate:"required"` ContractSwapID types.Hash `json:"contractSwapID" validate:"required"` ContractSwap *contracts.SwapCreatorSwap `json:"contractSwap" validate:"required"` }
NotifyETHLocked is sent by XMRTaker to XMRMaker after deploying the swap contract and locking her ether in it
func (*NotifyETHLocked) Encode ¶
func (m *NotifyETHLocked) Encode() ([]byte, error)
Encode implements the Encode() method of the common.Message interface which prepends a message type byte before the message's JSON encoding.
func (*NotifyETHLocked) Type ¶
func (m *NotifyETHLocked) Type() byte
Type implements the Type() method of the common.Message interface
type QueryResponse ¶
QueryResponse ...
func (*QueryResponse) Encode ¶
func (m *QueryResponse) Encode() ([]byte, error)
Encode implements the Encode() method of the common.Message interface which prepends a message type byte before the message's JSON encoding.
func (*QueryResponse) Type ¶
func (m *QueryResponse) Type() byte
Type implements the Type() method of the common.Message interface
type RelayClaimRequest ¶
type RelayClaimRequest struct { // OfferID is non-nil, if the request is from a maker to the taker of an // active swap. It is nil, if the request is being sent to a relay node, // because it advertised in the DHT. OfferID *types.Hash `json:"offerID"` SwapCreatorAddr ethcommon.Address `json:"swapCreatorAddr" validate:"required"` Swap *contracts.SwapCreatorSwap `json:"swap" validate:"required"` Secret []byte `json:"secret" validate:"required,len=32"` Signature []byte `json:"signature" validate:"required,len=65"` }
RelayClaimRequest implements common.Message for our p2p relay claim requests.
func (*RelayClaimRequest) Encode ¶
func (m *RelayClaimRequest) Encode() ([]byte, error)
Encode implements the Encode() method of the common.Message interface which prepends a message type byte before the message's JSON encoding.
func (*RelayClaimRequest) String ¶
func (m *RelayClaimRequest) String() string
String converts the RelayClaimRequest to a string usable for debugging purposes
func (*RelayClaimRequest) Type ¶
func (m *RelayClaimRequest) Type() byte
Type implements the Type() method of the common.Message interface
type RelayClaimResponse ¶
type RelayClaimResponse struct {
TxHash ethcommon.Hash `json:"transactionHash" validate:"required"`
}
RelayClaimResponse implements common.Message for our p2p relay claim responses
func (*RelayClaimResponse) Encode ¶
func (m *RelayClaimResponse) Encode() ([]byte, error)
Encode implements the Encode() method of the common.Message interface which prepends a message type byte before the message's JSON encoding.
func (*RelayClaimResponse) String ¶
func (m *RelayClaimResponse) String() string
String converts the RelayClaimRequest to a string usable for debugging purposes
func (*RelayClaimResponse) Type ¶
func (m *RelayClaimResponse) Type() byte
Type implements the Type() method of the common.Message interface
type SendKeysMessage ¶
type SendKeysMessage struct { OfferID types.Hash `json:"offerID"` // Not set by XMR Maker ProvidedAmount *apd.Decimal `json:"providedAmount" validate:"required"` PublicSpendKey *mcrypto.PublicKey `json:"publicSpendKey" validate:"required"` PrivateViewKey *mcrypto.PrivateViewKey `json:"privateViewKey" validate:"required"` DLEqProof []byte `json:"dleqProof" validate:"required"` Secp256k1PublicKey *secp256k1.PublicKey `json:"secp256k1PublicKey" validate:"required"` EthAddress ethcommon.Address `json:"ethAddress"` // not set by XMR Taker }
SendKeysMessage is sent by both parties to each other to initiate the protocol
func (*SendKeysMessage) Encode ¶
func (m *SendKeysMessage) Encode() ([]byte, error)
Encode implements the Encode() method of the common.Message interface which prepends a message type byte before the message's JSON encoding.
func (*SendKeysMessage) Type ¶
func (m *SendKeysMessage) Type() byte
Type implements the Type() method of the common.Message interface