Help us shape the future of Go! Take the 2026 Go Developer Survey

paymail

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressesService

type AddressesService interface {
	Create(ctx context.Context, newAddress *addressesmodels.NewAddress) error
}

AddressesService is an interface for addresses service

type Cache

type Cache interface {
	GetModel(ctx context.Context, key string, model interface{}) error
	SetModel(ctx context.Context, key string, model interface{}, ttl time.Duration, dependencies ...string) error
}

Cache is an interface that defines the methods to interact with a cache.

type ClientInterface

type ClientInterface = paymail.ClientInterface

ClientInterface is an interface for the paymail client

type ContactsService

type ContactsService interface {
	AddContactRequest(ctx context.Context, fullName, paymail, userID string) (*contactsmodels.Contact, error)
}

ContactsService is an interface for contacts service

type MerkleRootsVerifier

type MerkleRootsVerifier interface {
	VerifyMerkleRoots(ctx context.Context, merkleRoots []*spv.MerkleRootConfirmationRequestItem) (bool, error)
}

MerkleRootsVerifier is an interface for verifying merkle roots

type PayloadFormat

type PayloadFormat uint32

PayloadFormat is the format of the paymail payload

const (
	BasicPaymailPayloadFormat PayloadFormat = iota
	BeefPaymailPayloadFormat
)

Types of Paymail payload formats

func (PayloadFormat) String

func (format PayloadFormat) String() string

type PaymailsService

type PaymailsService interface {
	Find(ctx context.Context, alias, domain string) (*paymailsmodels.Paymail, error)
}

PaymailsService is an interface for paymails service

type ServiceClient

type ServiceClient interface {
	GetSanitizedPaymail(addr string) (*paymail.SanitisedPaymail, error)
	GetCapabilities(ctx context.Context, domain string) (*paymail.CapabilitiesPayload, error)
	GetP2PDestinations(ctx context.Context, address *paymail.SanitisedPaymail, satoshis bsv.Satoshis) (*paymail.PaymentDestinationPayload, error)
	GetP2P(ctx context.Context, domain string) (success bool, p2pDestinationURL, p2pSubmitTxURL string, format PayloadFormat)
	StartP2PTransaction(alias, domain, p2pDestinationURL string, satoshis uint64) (*paymail.PaymentDestinationPayload, error)
	GetPkiForPaymail(ctx context.Context, sPaymail *paymail.SanitisedPaymail) (*paymail.PKIResponse, error)
	AddContactRequest(ctx context.Context, receiverPaymail *paymail.SanitisedPaymail, contactData *paymail.PikeContactRequestPayload) (*paymail.PikeContactRequestResponse, error)
	Notify(ctx context.Context, address string, p2pMetadata *paymail.P2PMetaData, reference string, tx *trx.Transaction) error
}

ServiceClient is a service that aims to make easier paymail operations.

func NewServiceClient

func NewServiceClient(cache Cache, paymailClient ClientInterface, log zerolog.Logger) ServiceClient

NewServiceClient creates a new paymail service client

type TxRecorder

type TxRecorder interface {
	RecordPaymailTransaction(ctx context.Context, tx *trx.Transaction, senderPaymail, receiverPaymail string) error
}

TxRecorder is an interface for recording transactions

type UsersService

type UsersService interface {
	GetPubKey(ctx context.Context, userID string) (*primitives.PublicKey, error)
}

UsersService is an interface for users service

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL