Documentation
¶
Overview ¶
Package horizon contains the type definitions for all of horizon's response resources.
Index ¶
- Variables
- func KeyTypeFromAddress(address string) (string, error)
- func MustKeyTypeFromAddress(address string) string
- type Account
- func (a Account) GetAccountID() string
- func (a Account) GetCreditBalance(code string, issuer string) string
- func (a *Account) GetData(key string) ([]byte, error)
- func (a Account) GetNativeBalance() (string, error)
- func (a Account) GetSequenceNumber() (int64, error)
- func (a *Account) IncrementSequenceNumber() (int64, error)
- func (a *Account) MustGetData(key string) []byte
- func (res Account) PagingToken() string
- func (a *Account) SignerSummary() map[string]int32
- type AccountData
- type AccountFilterConfig
- type AccountFlags
- type AccountThresholds
- type AccountsPage
- type Asset
- type AssetFilterConfig
- type AssetStat
- type AssetStatAccounts
- type AssetStatBalances
- type AssetsPage
- type AsyncTransactionSubmissionResponse
- type Balance
- type ClaimableBalance
- type ClaimableBalanceFlags
- type ClaimableBalances
- type Claimant
- type FeeBumpTransaction
- type FeeDistribution
- type FeeStats
- type InnerTransaction
- type Ledger
- type LedgersPage
- type LiquidityPool
- type LiquidityPoolReserve
- type LiquidityPoolsPage
- type Offer
- type OffersPage
- type OrderBookSummary
- type Path
- type PathsPage
- type Price
- type PriceLevel
- type Root
- type Signer
- type Trade
- type TradeAggregation
- type TradeAggregationsPage
- type TradeEffect
- type TradePrice
- type TradesPage
- type Transaction
- type TransactionPreconditions
- type TransactionPreconditionsLedgerbounds
- type TransactionPreconditionsTimebounds
- type TransactionResultCodes
- type TransactionsPage
Constants ¶
This section is empty.
Variables ¶
var KeyTypeNames = map[strkey.VersionByte]string{ strkey.VersionByteAccountID: "ed25519_public_key", strkey.VersionByteSeed: "ed25519_secret_seed", strkey.VersionByteMuxedAccount: "muxed_account", strkey.VersionByteHashTx: "preauth_tx", strkey.VersionByteHashX: "sha256_hash", strkey.VersionByteSignedPayload: "ed25519_signed_payload", }
KeyTypeNames maps from strkey version bytes into json string values to use in horizon responses.
Functions ¶
func KeyTypeFromAddress ¶
KeyTypeFromAddress converts the version byte of the provided strkey encoded value (for example an account id or a signer key) and returns the appropriate horizon-specific type name.
func MustKeyTypeFromAddress ¶
MustKeyTypeFromAddress is the panicking variant of KeyTypeFromAddress.
Types ¶
type Account ¶
type Account struct {
Links struct {
Self hal.Link `json:"self"`
Transactions hal.Link `json:"transactions"`
Operations hal.Link `json:"operations"`
Payments hal.Link `json:"payments"`
Effects hal.Link `json:"effects"`
Offers hal.Link `json:"offers"`
Trades hal.Link `json:"trades"`
Data hal.Link `json:"data"`
} `json:"_links"`
ID string `json:"id"`
AccountID string `json:"account_id"`
Sequence int64 `json:"sequence,string"`
SequenceLedger uint32 `json:"sequence_ledger,omitempty"`
SequenceTime string `json:"sequence_time,omitempty"`
SubentryCount int32 `json:"subentry_count"`
InflationDestination string `json:"inflation_destination,omitempty"`
HomeDomain string `json:"home_domain,omitempty"`
LastModifiedLedger uint32 `json:"last_modified_ledger"`
LastModifiedTime *time.Time `json:"last_modified_time"`
Thresholds AccountThresholds `json:"thresholds"`
Flags AccountFlags `json:"flags"`
Balances []Balance `json:"balances"`
Signers []Signer `json:"signers"`
Data map[string]string `json:"data"`
NumSponsoring uint32 `json:"num_sponsoring"`
NumSponsored uint32 `json:"num_sponsored"`
Sponsor string `json:"sponsor,omitempty"`
PT string `json:"paging_token"`
}
Account is the summary of an account
func (Account) GetAccountID ¶
GetAccountID returns the Stellar account ID. This is to satisfy the Account interface of txnbuild.
func (Account) GetCreditBalance ¶
GetCreditBalance returns the balance for given code and issuer
func (*Account) GetData ¶
GetData returns decoded value for a given key. If the key does not exist, empty slice will be returned.
func (Account) GetNativeBalance ¶
GetNativeBalance returns the native balance of the account
func (Account) GetSequenceNumber ¶
GetSequenceNumber returns the sequence number of the account, and returns it as a 64-bit integer. TODO: since Account.Sequence was changed to int64, error is no longer needed.
func (*Account) IncrementSequenceNumber ¶
IncrementSequenceNumber increments the internal record of the account's sequence number by 1. This is typically used after a transaction build so that the next transaction to be built will be valid.
func (*Account) MustGetData ¶
MustGetData returns decoded value for a given key. If the key does not exist, empty slice will be returned. If there is an error decoding a value, it will panic.
func (Account) PagingToken ¶
PagingToken implementation for hal.Pageable
func (*Account) SignerSummary ¶
SignerSummary returns a map of signer's keys to weights.
type AccountData ¶
AccountData represents a single data object stored on by an account
type AccountFilterConfig ¶
type AccountFilterConfig struct {
Whitelist []string `json:"whitelist"`
Enabled *bool `json:"enabled"`
LastModified int64 `json:"last_modified,omitempty"`
}
func (*AccountFilterConfig) UnmarshalJSON ¶
func (f *AccountFilterConfig) UnmarshalJSON(data []byte) error
type AccountFlags ¶
type AccountFlags struct {
AuthRequired bool `json:"auth_required"`
AuthRevocable bool `json:"auth_revocable"`
AuthImmutable bool `json:"auth_immutable"`
AuthClawbackEnabled bool `json:"auth_clawback_enabled"`
}
AccountFlags represents the state of an account's flags
type AccountThresholds ¶
type AccountThresholds struct {
LowThreshold byte `json:"low_threshold"`
MedThreshold byte `json:"med_threshold"`
HighThreshold byte `json:"high_threshold"`
}
AccountThresholds represents an accounts "thresholds", the numerical values needed to satisfy the authorization of a given operation.
type AccountsPage ¶
type AccountsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Account `json:"records"`
} `json:"_embedded"`
}
AccountsPage returns a list of account records
type AssetFilterConfig ¶
type AssetFilterConfig struct {
Whitelist []string `json:"whitelist"`
Enabled *bool `json:"enabled"`
LastModified int64 `json:"last_modified,omitempty"`
}
func (*AssetFilterConfig) UnmarshalJSON ¶
func (f *AssetFilterConfig) UnmarshalJSON(data []byte) error
type AssetStat ¶
type AssetStat struct {
Links struct {
Toml hal.Link `json:"toml"`
} `json:"_links"`
base.Asset
PT string `json:"paging_token"`
ContractID string `json:"contract_id,omitempty"`
NumClaimableBalances int32 `json:"num_claimable_balances"`
NumLiquidityPools int32 `json:"num_liquidity_pools"`
NumContracts int32 `json:"num_contracts"`
Accounts AssetStatAccounts `json:"accounts"`
ClaimableBalancesAmount string `json:"claimable_balances_amount"`
LiquidityPoolsAmount string `json:"liquidity_pools_amount"`
ContractsAmount string `json:"contracts_amount"`
Balances AssetStatBalances `json:"balances"`
Flags AccountFlags `json:"flags"`
}
AssetStat represents the statistics for a single Asset
func (AssetStat) PagingToken ¶
PagingToken implementation for hal.Pageable
type AssetStatAccounts ¶
type AssetStatAccounts struct {
Authorized int32 `json:"authorized"`
AuthorizedToMaintainLiabilities int32 `json:"authorized_to_maintain_liabilities"`
}
AssetStatAccounts represents the summarized acount numbers for a single Asset
type AssetStatBalances ¶
type AssetStatBalances struct {
Authorized string `json:"authorized"`
AuthorizedToMaintainLiabilities string `json:"authorized_to_maintain_liabilities"`
}
AssetStatBalances represents the summarized balances for a single Asset
type AssetsPage ¶
type AssetsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []AssetStat
} `json:"_embedded"`
}
AssetsPage contains page of assets returned by Horizon.
type AsyncTransactionSubmissionResponse ¶
type AsyncTransactionSubmissionResponse struct {
// ErrorResultXDR is present only if Status is equal to proto.TXStatusError.
// ErrorResultXDR is a TransactionResult xdr string which contains details on why
// the transaction could not be accepted by stellar-core.
ErrorResultXDR string `json:"error_result_xdr,omitempty"`
// TxStatus represents the status of the transaction submission returned by stellar-core.
// It can be one of: proto.TXStatusPending, proto.TXStatusDuplicate,
// proto.TXStatusTryAgainLater, or proto.TXStatusError.
TxStatus string `json:"tx_status"`
// Hash is a hash of the transaction which can be used to look up whether
// the transaction was included in the ledger.
Hash string `json:"hash"`
}
AsyncTransactionSubmissionResponse represents the response returned by Horizon when using the transaction-async endpoint.
func (AsyncTransactionSubmissionResponse) GetStatus ¶
func (response AsyncTransactionSubmissionResponse) GetStatus() int
type Balance ¶
type Balance struct {
Balance string `json:"balance"`
LiquidityPoolId string `json:"liquidity_pool_id,omitempty"`
Limit string `json:"limit,omitempty"`
BuyingLiabilities string `json:"buying_liabilities,omitempty"`
SellingLiabilities string `json:"selling_liabilities,omitempty"`
Sponsor string `json:"sponsor,omitempty"`
LastModifiedLedger uint32 `json:"last_modified_ledger,omitempty"`
IsAuthorized *bool `json:"is_authorized,omitempty"`
IsAuthorizedToMaintainLiabilities *bool `json:"is_authorized_to_maintain_liabilities,omitempty"`
IsClawbackEnabled *bool `json:"is_clawback_enabled,omitempty"`
base.Asset
}
Balance represents an account's holdings for either a single currency type or shares in a liquidity pool.
type ClaimableBalance ¶
type ClaimableBalance struct {
Links struct {
Self hal.Link `json:"self"`
Transactions hal.Link `json:"transactions"`
Operations hal.Link `json:"operations"`
} `json:"_links"`
BalanceID string `json:"id"`
Asset string `json:"asset"`
Amount string `json:"amount"`
Sponsor string `json:"sponsor,omitempty"`
LastModifiedLedger uint32 `json:"last_modified_ledger"`
LastModifiedTime *time.Time `json:"last_modified_time"`
Claimants []Claimant `json:"claimants"`
Flags ClaimableBalanceFlags `json:"flags"`
PT string `json:"paging_token"`
}
ClaimableBalance represents a claimable balance
func (ClaimableBalance) PagingToken ¶
func (res ClaimableBalance) PagingToken() string
PagingToken implementation for hal.Pageable
type ClaimableBalanceFlags ¶
type ClaimableBalanceFlags struct {
ClawbackEnabled bool `json:"clawback_enabled"`
}
ClaimableBalanceFlags represents the state of a claimable balance's flags
type ClaimableBalances ¶
type ClaimableBalances struct {
Links struct {
Self hal.Link `json:"self"`
} `json:"_links"`
Embedded struct {
Records []ClaimableBalance `json:"records"`
} `json:"_embedded"`
}
type Claimant ¶
type Claimant struct {
Destination string `json:"destination"`
Predicate xdr.ClaimPredicate `json:"predicate"`
}
Claimant represents a claimable balance claimant
type FeeBumpTransaction ¶
type FeeBumpTransaction struct {
Hash string `json:"hash"`
Signatures []string `json:"signatures"`
}
FeeBumpTransaction contains information about a fee bump transaction
type FeeDistribution ¶
type FeeDistribution struct {
Max int64 `json:"max,string"`
Min int64 `json:"min,string"`
Mode int64 `json:"mode,string"`
P10 int64 `json:"p10,string"`
P20 int64 `json:"p20,string"`
P30 int64 `json:"p30,string"`
P40 int64 `json:"p40,string"`
P50 int64 `json:"p50,string"`
P60 int64 `json:"p60,string"`
P70 int64 `json:"p70,string"`
P80 int64 `json:"p80,string"`
P90 int64 `json:"p90,string"`
P95 int64 `json:"p95,string"`
P99 int64 `json:"p99,string"`
}
type FeeStats ¶
type FeeStats struct {
LastLedger uint32 `json:"last_ledger,string"`
LastLedgerBaseFee int64 `json:"last_ledger_base_fee,string"`
LedgerCapacityUsage float64 `json:"ledger_capacity_usage,string"`
FeeCharged FeeDistribution `json:"fee_charged"`
MaxFee FeeDistribution `json:"max_fee"`
}
FeeStats represents a response of fees from horizon To do: implement fee suggestions if agreement is reached in https://github.com/stellar/go/issues/926
type InnerTransaction ¶
type InnerTransaction struct {
Hash string `json:"hash"`
Signatures []string `json:"signatures"`
MaxFee int64 `json:"max_fee,string"`
}
InnerTransaction contains information about the inner transaction contained within a fee bump transaction
type Ledger ¶
type Ledger struct {
Links struct {
Self hal.Link `json:"self"`
Transactions hal.Link `json:"transactions"`
Operations hal.Link `json:"operations"`
Payments hal.Link `json:"payments"`
Effects hal.Link `json:"effects"`
} `json:"_links"`
ID string `json:"id"`
PT string `json:"paging_token"`
Hash string `json:"hash"`
PrevHash string `json:"prev_hash,omitempty"`
Sequence int32 `json:"sequence"`
SuccessfulTransactionCount int32 `json:"successful_transaction_count"`
FailedTransactionCount *int32 `json:"failed_transaction_count"`
OperationCount int32 `json:"operation_count"`
TxSetOperationCount *int32 `json:"tx_set_operation_count"`
ClosedAt time.Time `json:"closed_at"`
TotalCoins string `json:"total_coins"`
FeePool string `json:"fee_pool"`
BaseFee int32 `json:"base_fee_in_stroops"`
BaseReserve int32 `json:"base_reserve_in_stroops"`
MaxTxSetSize int32 `json:"max_tx_set_size"`
ProtocolVersion int32 `json:"protocol_version"`
HeaderXDR string `json:"header_xdr"`
}
Ledger represents a single closed ledger
func (Ledger) PagingToken ¶
type LedgersPage ¶
type LedgersPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Ledger
} `json:"_embedded"`
}
LedgersPage contains page of ledger information returned by Horizon
type LiquidityPool ¶
type LiquidityPool struct {
Links struct {
Self hal.Link `json:"self"`
Transactions hal.Link `json:"transactions"`
Operations hal.Link `json:"operations"`
} `json:"_links"`
ID string `json:"id"`
PT string `json:"paging_token"`
FeeBP uint32 `json:"fee_bp"`
Type string `json:"type"`
TotalTrustlines uint64 `json:"total_trustlines,string"`
Reserves []LiquidityPoolReserve `json:"reserves"`
LastModifiedLedger uint32 `json:"last_modified_ledger"`
LastModifiedTime *time.Time `json:"last_modified_time"`
}
LiquidityPool represents a liquidity pool
func (LiquidityPool) PagingToken ¶
func (res LiquidityPool) PagingToken() string
PagingToken implementation for hal.Pageable
type LiquidityPoolReserve ¶
LiquidityPoolReserve represents a liquidity pool asset reserve
type LiquidityPoolsPage ¶
type LiquidityPoolsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []LiquidityPool `json:"records"`
} `json:"_embedded"`
}
LiquidityPoolsPage returns a list of liquidity pool records
type Offer ¶
type Offer struct {
Links struct {
Self hal.Link `json:"self"`
OfferMaker hal.Link `json:"offer_maker"`
} `json:"_links"`
ID int64 `json:"id,string"`
PT string `json:"paging_token"`
Seller string `json:"seller"`
Selling Asset `json:"selling"`
Buying Asset `json:"buying"`
Amount string `json:"amount"`
PriceR Price `json:"price_r"`
Price string `json:"price"`
LastModifiedLedger int32 `json:"last_modified_ledger"`
LastModifiedTime *time.Time `json:"last_modified_time"`
Sponsor string `json:"sponsor,omitempty"`
}
Offer is the display form of an offer to trade currency.
func (Offer) PagingToken ¶
type OffersPage ¶
type OffersPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Offer `json:"records"`
} `json:"_embedded"`
}
OffersPage returns a list of offers
type OrderBookSummary ¶
type OrderBookSummary struct {
Bids []PriceLevel `json:"bids"`
Asks []PriceLevel `json:"asks"`
Selling Asset `json:"base"`
Buying Asset `json:"counter"`
}
OrderBookSummary represents a snapshot summary of a given order book
type Path ¶
type Path struct {
SourceAssetType string `json:"source_asset_type"`
SourceAssetCode string `json:"source_asset_code,omitempty"`
SourceAssetIssuer string `json:"source_asset_issuer,omitempty"`
SourceAmount string `json:"source_amount"`
DestinationAssetType string `json:"destination_asset_type"`
DestinationAssetCode string `json:"destination_asset_code,omitempty"`
DestinationAssetIssuer string `json:"destination_asset_issuer,omitempty"`
DestinationAmount string `json:"destination_amount"`
Path []Asset `json:"path"`
}
Path represents a single payment path.
func (Path) PagingToken ¶
stub implementation to satisfy pageable interface
type PathsPage ¶
type PathsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Path
} `json:"_embedded"`
}
PathsPage contains records of payment paths found by horizon
type PriceLevel ¶
type PriceLevel struct {
PriceR Price `json:"price_r"`
Price string `json:"price"`
Amount string `json:"amount"`
}
PriceLevel represents an aggregation of offers that share a given price
type Root ¶
type Root struct {
Links struct {
Account hal.Link `json:"account"`
Accounts *hal.Link `json:"accounts,omitempty"`
AccountTransactions hal.Link `json:"account_transactions"`
ClaimableBalances *hal.Link `json:"claimable_balances"`
Assets hal.Link `json:"assets"`
Effects hal.Link `json:"effects"`
FeeStats hal.Link `json:"fee_stats"`
Friendbot *hal.Link `json:"friendbot,omitempty"`
Ledger hal.Link `json:"ledger"`
Ledgers hal.Link `json:"ledgers"`
LiquidityPools *hal.Link `json:"liquidity_pools"`
Offer *hal.Link `json:"offer,omitempty"`
Offers *hal.Link `json:"offers,omitempty"`
Operation hal.Link `json:"operation"`
Operations hal.Link `json:"operations"`
OrderBook hal.Link `json:"order_book"`
Payments hal.Link `json:"payments"`
Self hal.Link `json:"self"`
StrictReceivePaths *hal.Link `json:"strict_receive_paths"`
StrictSendPaths *hal.Link `json:"strict_send_paths"`
TradeAggregations hal.Link `json:"trade_aggregations"`
Trades hal.Link `json:"trades"`
Transaction hal.Link `json:"transaction"`
Transactions hal.Link `json:"transactions"`
} `json:"_links"`
HorizonVersion string `json:"horizon_version"`
StellarCoreVersion string `json:"core_version"`
IngestSequence uint32 `json:"ingest_latest_ledger"`
HorizonSequence int32 `json:"history_latest_ledger"`
HorizonLatestClosedAt time.Time `json:"history_latest_ledger_closed_at"`
HistoryElderSequence int32 `json:"history_elder_ledger"`
CoreSequence int32 `json:"core_latest_ledger"`
NetworkPassphrase string `json:"network_passphrase"`
CurrentProtocolVersion int32 `json:"current_protocol_version"`
SupportedProtocolVersion uint32 `json:"supported_protocol_version"`
CoreSupportedProtocolVersion int32 `json:"core_supported_protocol_version"`
}
Root is the initial map of links into the api.
type Signer ¶
type Signer struct {
Weight int32 `json:"weight"`
Key string `json:"key"`
Type string `json:"type"`
Sponsor string `json:"sponsor,omitempty"`
}
Signer represents one of an account's signers.
type Trade ¶
type Trade struct {
Links struct {
Self hal.Link `json:"self"`
Base hal.Link `json:"base"`
Counter hal.Link `json:"counter"`
Operation hal.Link `json:"operation"`
} `json:"_links"`
ID string `json:"id"`
PT string `json:"paging_token"`
LedgerCloseTime time.Time `json:"ledger_close_time"`
OfferID string `json:"offer_id,omitempty"`
TradeType string `json:"trade_type"`
LiquidityPoolFeeBP uint32 `json:"liquidity_pool_fee_bp,omitempty"`
BaseLiquidityPoolID string `json:"base_liquidity_pool_id,omitempty"`
BaseOfferID string `json:"base_offer_id,omitempty"`
BaseAccount string `json:"base_account,omitempty"`
BaseAmount string `json:"base_amount"`
BaseAssetType string `json:"base_asset_type"`
BaseAssetCode string `json:"base_asset_code,omitempty"`
BaseAssetIssuer string `json:"base_asset_issuer,omitempty"`
CounterLiquidityPoolID string `json:"counter_liquidity_pool_id,omitempty"`
CounterOfferID string `json:"counter_offer_id,omitempty"`
CounterAccount string `json:"counter_account,omitempty"`
CounterAmount string `json:"counter_amount"`
CounterAssetType string `json:"counter_asset_type"`
CounterAssetCode string `json:"counter_asset_code,omitempty"`
CounterAssetIssuer string `json:"counter_asset_issuer,omitempty"`
BaseIsSeller bool `json:"base_is_seller"`
Price TradePrice `json:"price,omitempty"`
}
Trade represents a horizon digested trade
func (Trade) PagingToken ¶
PagingToken implementation for hal.Pageable
type TradeAggregation ¶
type TradeAggregation struct {
Timestamp int64 `json:"timestamp,string"`
TradeCount int64 `json:"trade_count,string"`
BaseVolume string `json:"base_volume"`
CounterVolume string `json:"counter_volume"`
Average string `json:"avg"`
High string `json:"high"`
HighR TradePrice `json:"high_r"`
Low string `json:"low"`
LowR TradePrice `json:"low_r"`
Open string `json:"open"`
OpenR TradePrice `json:"open_r"`
Close string `json:"close"`
CloseR TradePrice `json:"close_r"`
}
TradeAggregation represents trade data aggregation over a period of time
func (TradeAggregation) PagingToken ¶
func (res TradeAggregation) PagingToken() string
PagingToken implementation for hal.Pageable. Not actually used
type TradeAggregationsPage ¶
type TradeAggregationsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []TradeAggregation `json:"records"`
} `json:"_embedded"`
}
TradeAggregationsPage returns a list of aggregated trade records, aggregated by resolution
type TradeEffect ¶
type TradeEffect struct {
Links struct {
Self hal.Link `json:"self"`
Seller hal.Link `json:"seller"`
Buyer hal.Link `json:"buyer"`
Operation hal.Link `json:"operation"`
} `json:"_links"`
ID string `json:"id"`
PT string `json:"paging_token"`
OfferID string `json:"offer_id"`
Seller string `json:"seller"`
SoldAmount string `json:"sold_amount"`
SoldAssetType string `json:"sold_asset_type"`
SoldAssetCode string `json:"sold_asset_code,omitempty"`
SoldAssetIssuer string `json:"sold_asset_issuer,omitempty"`
Buyer string `json:"buyer"`
BoughtAmount string `json:"bought_amount"`
BoughtAssetType string `json:"bought_asset_type"`
BoughtAssetCode string `json:"bought_asset_code,omitempty"`
BoughtAssetIssuer string `json:"bought_asset_issuer,omitempty"`
LedgerCloseTime time.Time `json:"created_at"`
}
TradeEffect represents a trade effect resource.
type TradePrice ¶
TradePrice represents a price for a trade
func (TradePrice) String ¶
func (p TradePrice) String() string
String returns a string representation of the trade price
func (*TradePrice) UnmarshalJSON ¶
func (p *TradePrice) UnmarshalJSON(data []byte) error
UnmarshalJSON implements a custom unmarshaler for TradePrice which can handle a numerator and denominator fields which can be a string or int
type TradesPage ¶
type TradesPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Trade `json:"records"`
} `json:"_embedded"`
}
TradesPage returns a list of trade records
type Transaction ¶
type Transaction struct {
Links struct {
Self hal.Link `json:"self"`
Account hal.Link `json:"account"`
Ledger hal.Link `json:"ledger"`
Operations hal.Link `json:"operations"`
Effects hal.Link `json:"effects"`
Precedes hal.Link `json:"precedes"`
Succeeds hal.Link `json:"succeeds"`
// Temporarily include Transaction as a link so that Transaction
// can be fully compatible with TransactionSuccess
// When TransactionSuccess is removed from the SDKs we can remove this HAL link
Transaction hal.Link `json:"transaction"`
} `json:"_links"`
ID string `json:"id"`
PT string `json:"paging_token"`
Successful bool `json:"successful"`
Hash string `json:"hash"`
Ledger int32 `json:"ledger"`
LedgerCloseTime time.Time `json:"created_at"`
Account string `json:"source_account"`
AccountMuxed string `json:"account_muxed,omitempty"`
AccountMuxedID uint64 `json:"account_muxed_id,omitempty,string"`
AccountSequence int64 `json:"source_account_sequence,string"`
FeeAccount string `json:"fee_account"`
FeeAccountMuxed string `json:"fee_account_muxed,omitempty"`
FeeAccountMuxedID uint64 `json:"fee_account_muxed_id,omitempty,string"`
FeeCharged int64 `json:"fee_charged,string"`
MaxFee int64 `json:"max_fee,string"`
OperationCount int32 `json:"operation_count"`
EnvelopeXdr string `json:"envelope_xdr"`
ResultXdr string `json:"result_xdr"`
ResultMetaXdr string `json:"result_meta_xdr,omitempty"`
FeeMetaXdr string `json:"fee_meta_xdr"`
MemoType string `json:"memo_type"`
MemoBytes string `json:"memo_bytes,omitempty"`
Memo string `json:"memo,omitempty"`
Signatures []string `json:"signatures"`
Preconditions *TransactionPreconditions `json:"preconditions,omitempty"`
FeeBumpTransaction *FeeBumpTransaction `json:"fee_bump_transaction,omitempty"`
InnerTransaction *InnerTransaction `json:"inner_transaction,omitempty"`
}
Transaction represents a single, successful transaction
func (Transaction) MarshalJSON ¶
func (t Transaction) MarshalJSON() ([]byte, error)
MarshalJSON implements a custom marshaler for Transaction. The memo field should be omitted if and only if the memo_type is "none".
func (Transaction) PagingToken ¶
func (t Transaction) PagingToken() string
PagingToken implementation for hal.Pageable
func (*Transaction) UnmarshalJSON ¶
func (t *Transaction) UnmarshalJSON(data []byte) error
UnmarshalJSON implements a custom unmarshaler for Transaction which can handle a max_fee field which can be a string or int
type TransactionPreconditions ¶
type TransactionPreconditions struct {
TimeBounds *TransactionPreconditionsTimebounds `json:"timebounds,omitempty"`
LedgerBounds *TransactionPreconditionsLedgerbounds `json:"ledgerbounds,omitempty"`
MinAccountSequence string `json:"min_account_sequence,omitempty"`
MinAccountSequenceAge string `json:"min_account_sequence_age,omitempty"`
MinAccountSequenceLedgerGap uint32 `json:"min_account_sequence_ledger_gap,omitempty"`
ExtraSigners []string `json:"extra_signers,omitempty"`
}
type TransactionResultCodes ¶
type TransactionResultCodes struct {
TransactionCode string `json:"transaction"`
InnerTransactionCode string `json:"inner_transaction,omitempty"`
OperationCodes []string `json:"operations,omitempty"`
}
TransactionResultCodes represent a summary of result codes returned from a single xdr TransactionResult
type TransactionsPage ¶
type TransactionsPage struct {
Links hal.Links `json:"_links"`
Embedded struct {
Records []Transaction
} `json:"_embedded"`
}
TransactionsPage contains records of transaction information returned by Horizon