Documentation ¶
Index ¶
- type AccountResponse
- type EffectResponse
- type EffectsPageResponse
- type Horizon
- func (h *Horizon) LoadAccount(accountID string) (response AccountResponse, err error)
- func (h *Horizon) LoadAccountMergeAmount(p *PaymentResponse) error
- func (h *Horizon) LoadMemo(p *PaymentResponse) (err error)
- func (h *Horizon) LoadOperation(operationID string) (response PaymentResponse, err error)
- func (h *Horizon) StreamPayments(accountID string, cursor *string, onPaymentHandler PaymentHandler) (err error)
- func (h *Horizon) SubmitTransaction(txeBase64 string) (response SubmitTransactionResponse, err error)
- type HorizonInterface
- type PaymentHandler
- type PaymentResponse
- type SubmitTransactionResponse
- type SubmitTransactionResponseExtras
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 ¶
EffectResponse contains effect data returned by Horizon
type EffectsPageResponse ¶
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 (*Horizon) LoadAccount ¶
func (h *Horizon) LoadAccount(accountID string) (response AccountResponse, err error)
LoadAccount loads a single account from Horizon server
func (*Horizon) LoadAccountMergeAmount ¶
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 ¶
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