Documentation ¶
Index ¶
- Variables
- func SlotToElapsedMilliseconds(history *EraHistory, slot uint64) uint64
- type AcquireMempoolResponse
- type ChainSync
- type ChainSyncFunc
- type ChainSyncOption
- type ChainSyncOptions
- type Client
- func (c *Client) ChainSync(ctx context.Context, callback ChainSyncFunc, opts ...ChainSyncOption) (*ChainSync, error)
- func (c *Client) ChainTip(ctx context.Context) (chainsync.Point, error)
- func (c *Client) CurrentEpoch(ctx context.Context) (uint64, error)
- func (c *Client) CurrentProtocolParameters(ctx context.Context) (json.RawMessage, error)
- func (c *Client) EraStart(ctx context.Context) (statequery.EraStart, error)
- func (c *Client) EraSummaries(ctx context.Context) (*EraHistory, error)
- func (c *Client) EvaluateTx(ctx context.Context, data string) (response *EvaluateTxResponse, err error)
- func (c *Client) EvaluateTxWithAdditionalUtxos(ctx context.Context, data string, additionalUtxos []shared.Utxo) (response *EvaluateTxResponse, err error)
- func (c *Client) GenesisConfig(ctx context.Context, era string) (json.RawMessage, error)
- func (c *Client) MonitorMempool(ctx context.Context, callback MonitorMempoolFunc, opts ...MonitorMempoolOption) (*MonitorMempool, error)
- func (c *Client) StartTime(ctx context.Context) (string, error)
- func (c *Client) SubmitTx(ctx context.Context, data string) (s *SubmitTxResponse, err error)
- func (c *Client) UtxosByAddress(ctx context.Context, addresses ...string) ([]shared.Utxo, error)
- func (c *Client) UtxosByTxIn(ctx context.Context, txIns ...chainsync.TxInQuery) ([]shared.Utxo, error)
- type EraBound
- type EraHistory
- type EraParameters
- type EraSummary
- type Error
- type EvaluateResponse
- type EvaluateTx
- type EvaluateTxError
- type EvaluateTxResponse
- type ExUnits
- type ExUnitsBudget
- type Fault
- type KeyValue
- type Logger
- type Map
- type MonitorMempool
- type MonitorMempoolFunc
- type MonitorMempoolOption
- type MonitorMempoolOptions
- type MonitorState
- type NextTransactionResponse
- type Option
- type Options
- type Response
- type ResponseTx
- type Store
- type SubmitTx
- type SubmitTxError
- type SubmitTxPayload
- type SubmitTxResponse
- type Validator
Constants ¶
This section is empty.
Variables ¶
var DefaultLogger = defaultLogger{}
DefaultLogger logs via the log package
var NopLogger = nopLogger{}
NopLogger logs nothing
Functions ¶
func SlotToElapsedMilliseconds ¶ added in v0.9.0
func SlotToElapsedMilliseconds(history *EraHistory, slot uint64) uint64
Types ¶
type AcquireMempoolResponse ¶ added in v0.9.0
type ChainSync ¶
type ChainSync struct {
// contains filtered or unexported fields
}
ChainSync provides control over a given ChainSync connection
type ChainSyncFunc ¶
ChainSyncFunc callback containing json encoded chainsync.Response
type ChainSyncOption ¶
type ChainSyncOption func(opts *ChainSyncOptions)
ChainSyncOption provides functional options for ChainSync
func WithMinSlot ¶
func WithMinSlot(slot uint64) ChainSyncOption
WithMinSlot ignores any activity prior to the specified slot
func WithPoints ¶
func WithPoints(points ...chainsync.Point) ChainSyncOption
WithPoints allows starting from an optional point
func WithReconnect ¶
func WithReconnect(enabled bool) ChainSyncOption
WithReconnect attempt to reconnect to ogmios if connection drops
func WithStore ¶
func WithStore(store Store) ChainSyncOption
WithStore specifies store to persist points to; defaults to no persistence
type ChainSyncOptions ¶
type ChainSyncOptions struct {
// contains filtered or unexported fields
}
ChainSyncOptions configuration parameters
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client provides a client for the chain sync protocol only
func (*Client) ChainSync ¶
func (c *Client) ChainSync(ctx context.Context, callback ChainSyncFunc, opts ...ChainSyncOption) (*ChainSync, error)
ChainSync replays the blockchain by invoking the callback for each block By default, ChainSync stores no checkpoints and always restarts from origin. These can be overridden via WithPoints and WithStore
func (*Client) CurrentProtocolParameters ¶
func (*Client) EraSummaries ¶
func (c *Client) EraSummaries(ctx context.Context) (*EraHistory, error)
func (*Client) EvaluateTx ¶ added in v0.9.0
func (c *Client) EvaluateTx(ctx context.Context, data string) (response *EvaluateTxResponse, err error)
EvaluateTx measures the script execution costs of a transaction. https://ogmios.dev/mini-protocols/local-tx-submission/ https://github.com/CardanoSolutions/ogmios/blob/v6.0/docs/content/mini-protocols/local-tx-submission.md
func (*Client) EvaluateTxWithAdditionalUtxos ¶ added in v0.9.0
func (*Client) GenesisConfig ¶ added in v0.9.0
func (*Client) MonitorMempool ¶ added in v0.9.0
func (c *Client) MonitorMempool(ctx context.Context, callback MonitorMempoolFunc, opts ...MonitorMempoolOption) (*MonitorMempool, error)
func (*Client) SubmitTx ¶
SubmitTx submits the transaction via ogmios https://ogmios.dev/mini-protocols/local-tx-submission/
func (*Client) UtxosByAddress ¶
type EraBound ¶
type EraBound struct { Time statequery.EraSeconds `json:"time"` Slot uint64 `json:"slot"` Epoch uint64 `json:"epoch"` }
type EraHistory ¶
type EraHistory struct {
Summaries []EraSummary
}
type EraParameters ¶
type EraParameters struct { EpochLength uint64 `json:"epochLength"` SlotLength statequery.EraMilliseconds `json:"slotLength"` SafeZone uint64 `json:"safeZone"` }
type EraSummary ¶
type EraSummary struct { Start EraBound `json:"start"` End EraBound `json:"end"` Parameters EraParameters `json:"parameters"` }
type Error ¶
type Error struct { Type string `json:"type,omitempty"` Version string `json:"version,omitempty"` ServiceName string `json:"servicename,omitempty"` Fault Fault `json:"fault,omitempty"` }
Error encapsulates errors from ogmios
type EvaluateResponse ¶ added in v0.9.0
type EvaluateTx ¶ added in v0.9.0
type EvaluateTx struct {
Cbor string `json:"cbor"`
}
type EvaluateTxError ¶ added in v0.9.0
type EvaluateTxError struct { Code int Message string Data json.RawMessage }
type EvaluateTxResponse ¶ added in v0.9.0
type EvaluateTxResponse struct { ExUnits []ExUnits Error *EvaluateTxError }
type ExUnits ¶ added in v0.9.0
type ExUnits struct { Validator Validator `json:"validator"` Budget ExUnitsBudget `json:"budget"` }
type ExUnitsBudget ¶ added in v0.9.0
type Fault ¶
type Fault struct { Code string `json:"code,omitempty"` // Code identifies error String string `json:"string,omitempty"` // String provides human readable description }
Fault provides additional context for ogmios errors
type MonitorMempool ¶ added in v0.9.0
type MonitorMempool struct {
// contains filtered or unexported fields
}
func (*MonitorMempool) Close ¶ added in v0.9.0
func (c *MonitorMempool) Close() error
func (*MonitorMempool) Done ¶ added in v0.9.0
func (c *MonitorMempool) Done() <-chan struct{}
func (*MonitorMempool) Err ¶ added in v0.9.0
func (c *MonitorMempool) Err() <-chan error
type MonitorMempoolFunc ¶ added in v0.9.0
type MonitorMempoolOption ¶ added in v0.9.0
type MonitorMempoolOption func(opts *MonitorMempoolOptions)
type MonitorMempoolOptions ¶ added in v0.9.0
type MonitorMempoolOptions struct {
// contains filtered or unexported fields
}
type MonitorState ¶ added in v0.9.0
type MonitorState int
const ( AcquireMempool MonitorState = iota NextTransaction )
type NextTransactionResponse ¶ added in v0.9.0
type Option ¶
type Option func(*Options)
Option to cardano client
func WithEndpoint ¶
WithEndpoint allows ogmios endpoint to set; defaults to ws://127.0.0.1:1337
func WithInterval ¶
WithInterval specifies how frequently to save checkpoints when reading
func WithLogger ¶
WithLogger allows custom logger to be specified
func WithPipeline ¶
WithPipeline allows number of pipelined ogmios requests to be provided
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options available to ogmios client
type Response ¶
type Response struct {
Transaction ResponseTx `json:"transaction,omitempty" dynamodbav:"transaction,omitempty"`
}
type ResponseTx ¶ added in v0.9.0
type ResponseTx struct {
ID string `json:"id,omitempty" dynamodbav:"id,omitempty"`
}
type Store ¶
type Store interface { // Save the point; save will be called multiple times and should only // keep track of the most recent points Save(ctx context.Context, point chainsync.Point) error // Load saved points Load(ctx context.Context) (chainsync.Points, error) }
Store allows points to be saved and retrieved to allow graceful recovery after shutdown
func NewLoggingStore ¶
NewLoggingStore logs Save requests, but does not actually save points
type SubmitTxError ¶
type SubmitTxError struct { Code int Message string Data json.RawMessage }
type SubmitTxPayload ¶ added in v0.9.0
type SubmitTxPayload struct {
CBOR string `json:"cbor"`
}
type SubmitTxResponse ¶ added in v0.9.0
type SubmitTxResponse struct { ID string Error *SubmitTxError }