uphold

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2020 License: MPL-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// SettlementDestination is the address of the settlement wallet
	SettlementDestination = os.Getenv("BAT_SETTLEMENT_ADDRESS")

	// AnonCardSettlementAddress is the address of the settlement wallet
	AnonCardSettlementAddress = os.Getenv("ANON_CARD_SETTLEMENT_ADDRESS")
	// UpholdSettlementAddress is the address of the settlement wallet
	UpholdSettlementAddress = os.Getenv("UPHOLD_SETTLEMENT_ADDRESS")
)

Functions

This section is empty.

Types

type CardDetails

type CardDetails struct {
	AvailableBalance decimal.Decimal         `json:"available"`
	Balance          decimal.Decimal         `json:"balance"`
	Currency         altcurrency.AltCurrency `json:"currency"`
	ID               uuid.UUID               `json:"id"`
	Settings         CardSettings            `json:"settings"`
}

CardDetails contains details corresponding to the Uphold card

type CardSettings

type CardSettings struct {
	Protected bool `json:"protected,omitempty"`
}

CardSettings contains settings corresponding to the Uphold card

type HTTPSignedRequest added in v0.1.1

type HTTPSignedRequest struct {
	Headers map[string]string `json:"headers" valid:"-"`
	Body    string            `json:"octets" valid:"json"`
}

HTTPSignedRequest encapsulates a signed HTTP request

type Wallet

type Wallet struct {
	wallet.Info
	PrivKey crypto.Signer
	PubKey  httpsignature.Verifier
}

Wallet a wallet information using Uphold as the provider A wallet corresponds to a single Uphold "card"

func FromWalletInfo

func FromWalletInfo(info wallet.Info) (*Wallet, error)

FromWalletInfo returns an uphold wallet matching the provided wallet info

func New

func New(info wallet.Info, privKey crypto.Signer, pubKey httpsignature.Verifier) (*Wallet, error)

New returns an uphold wallet constructed using the provided parameters NOTE that it does not register a wallet with Uphold if it does not already exist

func (*Wallet) ConfirmTransaction

func (w *Wallet) ConfirmTransaction(id string) (*wallet.TransactionInfo, error)

ConfirmTransaction confirms a previously submitted transaction, moving funds

func (*Wallet) CreateCardAddress added in v0.1.1

func (w *Wallet) CreateCardAddress(network string) (string, error)

CreateCardAddress on network, returning the address

func (*Wallet) GetBalance

func (w *Wallet) GetBalance(refresh bool) (*wallet.Balance, error)

GetBalance returns the last known balance, if refresh is true then the current balance is fetched

func (*Wallet) GetCardDetails

func (w *Wallet) GetCardDetails() (*CardDetails, error)

GetCardDetails returns the details associated with the wallet's backing Uphold card

func (*Wallet) GetTransaction added in v0.1.1

func (w *Wallet) GetTransaction(id string) (*wallet.TransactionInfo, error)

GetTransaction returns info about a previously confirmed transaction

func (*Wallet) GetWalletInfo

func (w *Wallet) GetWalletInfo() wallet.Info

GetWalletInfo returns the info associated with the wallet

func (*Wallet) ListTransactions added in v0.1.1

func (w *Wallet) ListTransactions(limit int, startDate time.Time) ([]wallet.TransactionInfo, error)

ListTransactions for this wallet, pagination not yet supported

func (*Wallet) PrepareRegistration added in v0.1.1

func (w *Wallet) PrepareRegistration(label string) (string, error)

PrepareRegistration returns a b64 encoded serialized signed registration suitable for SubmitRegistration

func (*Wallet) PrepareTransaction

func (w *Wallet) PrepareTransaction(altcurrency altcurrency.AltCurrency, probi decimal.Decimal, destination string, message string) (string, error)

PrepareTransaction returns a b64 encoded serialized signed transaction suitable for SubmitTransaction

func (*Wallet) Register

func (w *Wallet) Register(label string) error

Register a wallet with Uphold with label

func (*Wallet) SubmitRegistration added in v0.1.1

func (w *Wallet) SubmitRegistration(registrationB64 string) error

SubmitRegistration from a b64 encoded signed string

func (*Wallet) SubmitTransaction

func (w *Wallet) SubmitTransaction(transactionB64 string, confirm bool) (*wallet.TransactionInfo, error)

SubmitTransaction submits the base64 encoded transaction for verification but does not move funds

unless confirm is set to true.

func (*Wallet) Transfer

func (w *Wallet) Transfer(altcurrency altcurrency.AltCurrency, probi decimal.Decimal, destination string) (*wallet.TransactionInfo, error)

Transfer moves funds out of the associated wallet and to the specific destination

func (*Wallet) VerifyAnonCardTransaction added in v0.3.0

func (w *Wallet) VerifyAnonCardTransaction(transactionB64 string) (*wallet.TransactionInfo, error)

VerifyAnonCardTransaction calls VerifyTransaction and checks the currency, amount and destination

func (*Wallet) VerifyTransaction

func (w *Wallet) VerifyTransaction(transactionB64 string) (*wallet.TransactionInfo, error)

VerifyTransaction verifies that the transaction is valid NOTE VerifyTransaction guards against transactions that seek to exploit parser differences such as including additional fields that are not understood by this implementation but may be understood by the upstream wallet provider. See DecodeTransaction for details.

Jump to

Keyboard shortcuts

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