Documentation
¶
Index ¶
- type AccountInfoCommand
- type AccountInfoResult
- type AccountLinesCommand
- type AccountLinesResult
- type AccountOffersCommand
- type AccountOffersResult
- type AccountTxCommand
- type AccountTxResult
- type BinaryLedgerData
- type BinaryLedgerDataCommand
- type BinaryLedgerDataResult
- type BookOffersCommand
- type BookOffersResult
- type Command
- type CommandError
- type FeeCommand
- type FeeResult
- type LedgerCommand
- type LedgerDataCommand
- type LedgerDataResult
- type LedgerHeaderCommand
- type LedgerHeaderResult
- type LedgerResult
- type LedgerStreamMsg
- type OrderBookSubscription
- type PathFindAlternative
- type PathFindCreateCommand
- type PathFindCreateResult
- type Remote
- func (r *Remote) AccountInfo(a data.Account) (*AccountInfoResult, error)
- func (r *Remote) AccountLines(account data.Account, ledgerIndex interface{}) (*AccountLinesResult, error)
- func (r *Remote) AccountOffers(account data.Account, ledgerIndex interface{}) (*AccountOffersResult, error)
- func (r *Remote) AccountTx(account data.Account, pageSize int, minLedger, maxLedger int64) chan *data.TransactionWithMetaData
- func (r *Remote) BookOffers(taker data.Account, ledgerIndex interface{}, pays, gets data.Asset, ...) (*BookOffersResult, error)
- func (r *Remote) Close()
- func (r *Remote) Fee() (*FeeResult, error)
- func (r *Remote) Ledger(ledger interface{}, transactions bool) (*LedgerResult, error)
- func (r *Remote) LedgerData(ledger interface{}, marker *data.Hash256) (*LedgerDataResult, error)
- func (r *Remote) LedgerHeader(ledger interface{}) (*LedgerHeaderResult, error)
- func (r *Remote) PathFindCreate(src, dest data.Account, amt data.Amount, sendMax *data.Amount, ...) (*PathFindCreateResult, error)
- func (r *Remote) RipplePathFind(src, dest data.Account, amount data.Amount, srcCurr *[]data.Currency) (*RipplePathFindResult, error)
- func (r *Remote) StreamLedgerData(ledger interface{}) chan data.LedgerEntrySlice
- func (r *Remote) Submit(tx data.Transaction) (*SubmitResult, error)
- func (r *Remote) SubmitBatch(txs []data.Transaction) ([]*SubmitResult, error)
- func (r *Remote) Subscribe(ledger, transactions, transactionsProposed, server bool) (*SubscribeResult, error)
- func (r *Remote) SubscribeOrderBooks(books []OrderBookSubscription) (*SubscribeResult, error)
- func (r *Remote) Tx(hash data.Hash256) (*TxResult, error)
- type RipplePathFindCommand
- type RipplePathFindResult
- type ServerStreamMsg
- type SourceCurrency
- type SubmitCommand
- type SubmitResult
- type SubscribeCommand
- type SubscribeResult
- type Syncer
- type TransactionStreamMsg
- type TxCommand
- type TxResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountInfoCommand ¶
type AccountInfoCommand struct {
*Command
Account data.Account `json:"account"`
Result *AccountInfoResult `json:"result,omitempty"`
}
type AccountInfoResult ¶
type AccountInfoResult struct {
LedgerSequence uint32 `json:"ledger_current_index"`
AccountData data.AccountRoot `json:"account_data"`
}
type AccountLinesCommand ¶
type AccountLinesResult ¶
type AccountOffersCommand ¶
type AccountOffersResult ¶
type AccountTxCommand ¶
type AccountTxCommand struct {
*Command
Account data.Account `json:"account"`
MinLedger int64 `json:"ledger_index_min"`
MaxLedger int64 `json:"ledger_index_max"`
Binary bool `json:"binary,omitempty"`
Forward bool `json:"forward,omitempty"`
Limit int `json:"limit,omitempty"`
Marker map[string]interface{} `json:"marker,omitempty"`
Result *AccountTxResult `json:"result,omitempty"`
}
type AccountTxResult ¶
type AccountTxResult struct {
Marker map[string]interface{} `json:"marker,omitempty"`
Transactions data.TransactionSlice `json:"transactions,omitempty"`
}
type BinaryLedgerData ¶
type BinaryLedgerDataCommand ¶
type BinaryLedgerDataCommand struct {
*Command
Ledger interface{} `json:"ledger"`
Binary bool `json:"binary"`
Marker *data.Hash256 `json:"marker,omitempty"`
Result *BinaryLedgerDataResult `json:"result,omitempty"`
}
type BinaryLedgerDataResult ¶
type BookOffersCommand ¶
type BookOffersResult ¶
type BookOffersResult struct {
LedgerSequence uint32 `json:"ledger_index"`
Offers []data.OrderBookOffer `json:"offers"`
}
type Command ¶
type Command struct {
*CommandError
Id uint64 `json:"id"`
Name string `json:"command"`
Type string `json:"type,omitempty"`
Status string `json:"status,omitempty"`
Ready chan struct{} `json:"-"`
}
func (*Command) IncrementId ¶
func (c *Command) IncrementId()
type CommandError ¶
type CommandError struct {
Name string `json:"error"`
Code int `json:"error_code"`
Message string `json:"error_message"`
}
func (*CommandError) Error ¶
func (e *CommandError) Error() string
type FeeCommand ¶
type FeeResult ¶
type FeeResult struct {
CurrentLedgerSize uint32 `json:"current_ledger_size,string"`
CurrentQueueSize uint32 `json:"current_queue_size,string"`
Drops struct {
BaseFee data.Value `json:"base_fee"`
MedianFee data.Value `json:"median_fee"`
MinimumFee data.Value `json:"minimum_fee"`
OpenLedgerFee data.Value `json:"open_ledger_fee"`
} `json:"drops"`
ExpectedLedgerSize uint32 `json:"expected_ledger_size,string"`
Levels struct {
MedianLevel data.Value `json:"median_level"`
MinimumLevel data.Value `json:"minimum_level"`
OpenLedgerLevel data.Value `json:"open_ledger_level"`
ReferenceLevel data.Value `json:"reference_level"`
} `json:"levels"`
MaxQueueSize uint32 `json:"max_queue_size,string"`
Status string `json:"status"`
}
type LedgerCommand ¶
type LedgerCommand struct {
*Command
LedgerIndex interface{} `json:"ledger_index"`
Accounts bool `json:"accounts"`
Transactions bool `json:"transactions"`
Expand bool `json:"expand"`
Result *LedgerResult `json:"result,omitempty"`
}
type LedgerDataCommand ¶
type LedgerDataCommand struct {
*Command
Ledger interface{} `json:"ledger"`
Marker *data.Hash256 `json:"marker,omitempty"`
Result *LedgerDataResult `json:"result,omitempty"`
}
type LedgerDataResult ¶
type LedgerHeaderCommand ¶
type LedgerHeaderCommand struct {
*Command
Ledger interface{} `json:"ledger"`
Result *LedgerHeaderResult
}
type LedgerHeaderResult ¶
type LedgerResult ¶
type LedgerStreamMsg ¶
type LedgerStreamMsg struct {
FeeBase uint64 `json:"fee_base"`
FeeRef uint64 `json:"fee_ref"`
LedgerSequence uint32 `json:"ledger_index"`
LedgerHash data.Hash256 `json:"ledger_hash"`
LedgerTime data.RippleTime `json:"ledger_time"`
ReserveBase uint64 `json:"reserve_base"`
ReserveIncrement uint64 `json:"reserve_inc"`
ValidatedLedgers string `json:"validated_ledgers"`
TxnCount uint32 `json:"txn_count"` // Only streamed, not in the subscribe result.
}
Fields from subscribed ledger stream messages
type OrderBookSubscription ¶
type PathFindAlternative ¶
type PathFindCreateCommand ¶
type PathFindCreateCommand struct {
*Command
Subcommand string `json:"subcommand"`
SourceAccount data.Account `json:"source_account"`
DestinationAccount data.Account `json:"destination_account"`
DestinationAmount data.Amount `json:"destination_amount"`
SendMax *data.Amount `json:"send_max,omitempty"`
SourceCurrencies *[]SourceCurrency `json:"source_currencies,omitempty"`
// All commands have Result in their struct?
Result *PathFindCreateResult
}
https://ripple.com/build/rippled-apis/#path-find
{
"id": 8,
"command": "path_find",
"subcommand": "create",
"source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"destination_amount": {
"value": "0.001",
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
}
}
type PathFindCreateResult ¶
type Remote ¶
type Remote struct {
Incoming chan interface{}
// contains filtered or unexported fields
}
func NewRemote ¶
NewRemote returns a new remote session connected to the specified server endpoint URI. To close the connection, use Close().
func (*Remote) AccountInfo ¶
func (r *Remote) AccountInfo(a data.Account) (*AccountInfoResult, error)
Synchronously requests account info
func (*Remote) AccountLines ¶
func (r *Remote) AccountLines(account data.Account, ledgerIndex interface{}) (*AccountLinesResult, error)
Synchronously requests account line info
func (*Remote) AccountOffers ¶
func (r *Remote) AccountOffers(account data.Account, ledgerIndex interface{}) (*AccountOffersResult, error)
Synchronously requests account offers
func (*Remote) AccountTx ¶
func (r *Remote) AccountTx(account data.Account, pageSize int, minLedger, maxLedger int64) chan *data.TransactionWithMetaData
Retrieve all transactions for an account via https://ripple.com/build/rippled-apis/#account-tx. Will call `account_tx` multiple times, if a marker is returned. Transactions are returned asynchonously to the channel returned by this function.
Use minLedger -1 for the earliest ledger available. Use maxLedger -1 for the most recent validated ledger.
func (*Remote) BookOffers ¶
func (*Remote) Close ¶
func (r *Remote) Close()
Close shuts down the Remote session and blocks until all internal goroutines have been cleaned up. Any commands that are pending a response will return with an error.
func (*Remote) Ledger ¶
func (r *Remote) Ledger(ledger interface{}, transactions bool) (*LedgerResult, error)
Synchronously gets a single ledger
func (*Remote) LedgerData ¶
func (r *Remote) LedgerData(ledger interface{}, marker *data.Hash256) (*LedgerDataResult, error)
Synchronously gets ledger entries
func (*Remote) LedgerHeader ¶
func (r *Remote) LedgerHeader(ledger interface{}) (*LedgerHeaderResult, error)
func (*Remote) PathFindCreate ¶
func (r *Remote) PathFindCreate(src, dest data.Account, amt data.Amount, sendMax *data.Amount, sourceCurrencies *[]SourceCurrency) (*PathFindCreateResult, error)
func (*Remote) RipplePathFind ¶
func (r *Remote) RipplePathFind(src, dest data.Account, amount data.Amount, srcCurr *[]data.Currency) (*RipplePathFindResult, error)
Synchronously requests paths
func (*Remote) StreamLedgerData ¶
func (r *Remote) StreamLedgerData(ledger interface{}) chan data.LedgerEntrySlice
Asynchronously retrieve all data for a ledger using the binary form
func (*Remote) Submit ¶
func (r *Remote) Submit(tx data.Transaction) (*SubmitResult, error)
Synchronously submit a single transaction
func (*Remote) SubmitBatch ¶
func (r *Remote) SubmitBatch(txs []data.Transaction) ([]*SubmitResult, error)
Synchronously submit multiple transactions
func (*Remote) Subscribe ¶
func (r *Remote) Subscribe(ledger, transactions, transactionsProposed, server bool) (*SubscribeResult, error)
Synchronously subscribe to streams and receive a confirmation message Streams are recived asynchronously over the Incoming channel
func (*Remote) SubscribeOrderBooks ¶
func (r *Remote) SubscribeOrderBooks(books []OrderBookSubscription) (*SubscribeResult, error)
type RipplePathFindCommand ¶
type RipplePathFindCommand struct {
*Command
SrcAccount data.Account `json:"source_account"`
SrcCurrencies *[]data.Currency `json:"source_currencies,omitempty"`
DestAccount data.Account `json:"destination_account"`
DestAmount data.Amount `json:"destination_amount"`
Result *RipplePathFindResult `json:"result,omitempty"`
}
type RipplePathFindResult ¶
type RipplePathFindResult struct {
Alternatives []struct {
SrcAmount data.Amount `json:"source_amount"`
PathsComputed data.PathSet `json:"paths_computed,omitempty"`
PathsCanonical data.PathSet `json:"paths_canonical,omitempty"`
}
DestAccount data.Account `json:"destination_account"`
DestCurrencies []data.Currency `json:"destination_currencies"`
}
type ServerStreamMsg ¶
type ServerStreamMsg struct {
Status string `json:"server_status"`
BaseFee uint64 `json:"base_fee"`
LoadBase uint64 `json:"load_base"`
LoadFactor uint64 `json:"load_factor"`
LoadFactorFeeEscalation uint64 `json:"load_factor_fee_escalation"`
LoadFactorFeeQueue uint64 `json:"load_factor_fee_queue"`
LoadFactorFeeReference uint64 `json:"load_factor_fee_reference"`
LoadFactorServer uint64 `json:"load_factor_server"`
HostID string `json:"hostid"`
}
Fields from subscribed server status stream messages
func (*ServerStreamMsg) TransactionCost ¶
func (s *ServerStreamMsg) TransactionCost() uint64
type SourceCurrency ¶
type SourceCurrency struct {
Currency string `json:"currency"`
}
type SubmitCommand ¶
type SubmitCommand struct {
*Command
TxBlob string `json:"tx_blob"`
Result *SubmitResult `json:"result,omitempty"`
}
type SubmitResult ¶
type SubscribeCommand ¶
type SubscribeCommand struct {
*Command
Streams []string `json:"streams"`
Books []OrderBookSubscription `json:"books,omitempty"`
Result *SubscribeResult `json:"result,omitempty"`
}
type SubscribeResult ¶
type SubscribeResult struct {
// Contains one or both of these, depending what streams were subscribed
*LedgerStreamMsg
*ServerStreamMsg
// Contains "bids" and "asks" when "both" is true.
Asks []data.OrderBookOffer
Bids []data.OrderBookOffer
// Contains "offers" when "both" is false.
Offers []data.OrderBookOffer
}
type TransactionStreamMsg ¶
type TransactionStreamMsg struct {
Transaction data.TransactionWithMetaData `json:"transaction"`
EngineResult data.TransactionResult `json:"engine_result"`
EngineResultCode int `json:"engine_result_code"`
EngineResultMessage string `json:"engine_result_message"`
LedgerHash data.Hash256 `json:"ledger_hash"`
LedgerSequence uint32 `json:"ledger_index"`
Status string
Validated bool
}
Fields from subscribed transaction stream messages
func (*TransactionStreamMsg) UnmarshalJSON ¶
func (msg *TransactionStreamMsg) UnmarshalJSON(b []byte) error
type TxResult ¶
type TxResult struct {
data.TransactionWithMetaData
Validated bool `json:"validated"`
}
func (*TxResult) UnmarshalJSON ¶
A shim to populate the Validated field before passing control on to TransactionWithMetaData.UnmarshalJSON