horizon

package
v0.0.31 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2018 License: Apache-2.0, BSD-2-Clause-Views, 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 AccountResponse

type AccountResponse struct {
	AccountID      string `json:"id"`
	SequenceNumber string `json:"sequence"`
}

AccountResponse contains account data returned by Horizon

type EffectResponse added in v0.0.29

type EffectResponse struct {
	Type   string `json:"type"`
	Amount string `json:"amount"`
}

EffectResponse contains effect data returned by Horizon

type EffectsPageResponse added in v0.0.29

type EffectsPageResponse struct {
	Embedded struct {
		Records []EffectResponse
	} `json:"_embedded"`
}

EffectsPageResponse contains page of effects returned by Horizon

type Horizon

type Horizon struct {
	ServerURL string
	// contains filtered or unexported fields
}

Horizon implements methods to get (or submit) data from Horizon server

func New

func New(serverURL string) (horizon Horizon)

New creates a new Horizon instance

func (*Horizon) LoadAccount

func (h *Horizon) LoadAccount(accountID string) (response AccountResponse, err error)

LoadAccount loads a single account from Horizon server

func (*Horizon) LoadAccountMergeAmount added in v0.0.29

func (h *Horizon) LoadAccountMergeAmount(p *PaymentResponse) error

LoadAccountMergeAmount loads `account_merge` operation amount from it's effects

func (*Horizon) LoadMemo

func (h *Horizon) LoadMemo(p *PaymentResponse) (err error)

LoadMemo loads memo for a transaction in PaymentResponse

func (*Horizon) LoadOperation added in v0.0.22

func (h *Horizon) LoadOperation(operationID string) (response PaymentResponse, err error)

LoadOperation loads a single operation from Horizon server

func (*Horizon) StreamPayments

func (h *Horizon) StreamPayments(accountID string, cursor *string, onPaymentHandler PaymentHandler) (err error)

StreamPayments streams incoming payments

func (*Horizon) SubmitTransaction

func (h *Horizon) SubmitTransaction(txeBase64 string) (response SubmitTransactionResponse, err error)

SubmitTransaction submits a transaction to Stellar network via Horizon server

type HorizonInterface

type HorizonInterface interface {
	LoadAccount(accountID string) (response AccountResponse, err error)
	LoadMemo(p *PaymentResponse) (err error)
	LoadAccountMergeAmount(p *PaymentResponse) error
	LoadOperation(operationID string) (response PaymentResponse, err error)
	StreamPayments(accountID string, cursor *string, onPaymentHandler PaymentHandler) (err error)
	SubmitTransaction(txeBase64 string) (response SubmitTransactionResponse, err error)
}

HorizonInterface allows mocking Horizon struct object

type PaymentHandler

type PaymentHandler func(PaymentResponse) error

PaymentHandler is a function that is called when a new payment is received

type PaymentResponse

type PaymentResponse struct {
	ID          string `json:"id"`
	Type        string `json:"type"`
	PagingToken string `json:"paging_token"`

	Links struct {
		Transaction struct {
			Href string `json:"href"`
		} `json:"transaction"`
		Effects struct {
			Href string `json:"href"`
		} `json:"effects"`
	} `json:"_links"`

	// payment/path_payment fields
	From        string `json:"from"`
	To          string `json:"to"`
	AssetType   string `json:"asset_type"`
	AssetCode   string `json:"asset_code"`
	AssetIssuer string `json:"asset_issuer"`
	Amount      string `json:"amount"`

	// account_merge
	Account string `json:"account"`
	Into    string `json:"into"`

	// transaction fields
	Memo struct {
		Type  string `json:"memo_type"`
		Value string `json:"memo"`
	} `json:"memo"`

	TransactionID string `json:"transaction_hash"`
}

PaymentResponse contains a single payment data returned by Horizon

type SubmitTransactionResponse

type SubmitTransactionResponse struct {
	Hash       string                           `json:"hash,omitempty"`
	SendAmount string                           `json:"send_amount,omitempty"` // Path payment only.
	ResultXdr  *string                          `json:"result_xdr,omitempty"`  // Only success response.
	Ledger     *uint64                          `json:"ledger"`
	Extras     *SubmitTransactionResponseExtras `json:"extras,omitempty"`
}

SubmitTransactionResponse contains result of submitting transaction to Stellar network

func (*SubmitTransactionResponse) HTTPStatus

func (response *SubmitTransactionResponse) HTTPStatus() int

HTTPStatus implements protocols.SuccessResponse interface

func (*SubmitTransactionResponse) Marshal

func (response *SubmitTransactionResponse) Marshal() []byte

Marshal marshals response

type SubmitTransactionResponseExtras

type SubmitTransactionResponseExtras struct {
	EnvelopeXdr string `json:"envelope_xdr"`
	ResultXdr   string `json:"result_xdr"`
}

SubmitTransactionResponseExtras contains extra information returned by Horizon

Jump to

Keyboard shortcuts

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