Documentation
¶
Index ¶
- Constants
- Variables
- func ExponentialBackoff(wait time.Duration) time.Duration
- func HTTPTimeoutsSettings(w http.ResponseWriter, r *http.Request, client *Client)
- func NopBackoff(d time.Duration) time.Duration
- func ParseTimeouts(value string) ([]time.Duration, bool, error)
- type Backoff
- type Client
- func (c *Client) Block(ctx context.Context, blockID string) (starknet.Block, error)
- func (c *Client) BlockHeader(ctx context.Context, blockID string) (starknet.BlockHeader, error)
- func (c *Client) BlockTrace(ctx context.Context, blockHash string) (starknet.BlockTrace, error)
- func (c *Client) CasmClassDefinition(ctx context.Context, classHash *felt.Felt) (starknet.CasmClass, error)
- func (c *Client) ClassDefinition(ctx context.Context, classHash *felt.Felt) (starknet.ClassDefinition, error)
- func (c *Client) FeeTokenAddresses(ctx context.Context) (starknet.FeeTokenAddresses, error)
- func (c *Client) PreConfirmedBlockLatest(ctx context.Context, blockIdentifier string, knownTransactionCount uint64) (starknet.PreConfirmedUpdate, uint64, error)
- func (c *Client) PreConfirmedBlockWithIdentifier(ctx context.Context, blockNumber string, blockIdentifier string, ...) (starknet.PreConfirmedUpdate, error)
- func (c *Client) PublicKey(ctx context.Context) (felt.Felt, error)
- func (c *Client) SetTimeouts(timeouts []time.Duration, fixed bool)
- func (c *Client) Signature(ctx context.Context, blockID string) (starknet.Signature, error)
- func (c *Client) StateUpdate(ctx context.Context, blockID string) (starknet.StateUpdate, error)
- func (c *Client) StateUpdateWithBlockAndSignature(ctx context.Context, blockID string) (starknet.StateUpdateWithBlockAndSignature, error)
- func (c *Client) Transaction(ctx context.Context, transactionHash *felt.Felt) (starknet.DeprecatedTransactionStatus, error)deprecated
- func (c *Client) TransactionStatus(ctx context.Context, transactionHash *felt.Felt) (starknet.TransactionStatus, error)
- type EventListener
- type Option
- func WithAPIKey(key string) Option
- func WithBackoff(b Backoff) Option
- func WithHTTPClient(client *http.Client) Option
- func WithListener(l EventListener) Option
- func WithLogger(logger log.StructuredLogger) Option
- func WithMaxRetries(num int) Option
- func WithMaxWait(d time.Duration) Option
- func WithMinWait(d time.Duration) Option
- func WithTimeouts(timeouts []time.Duration, fixed bool) Option
- func WithUserAgent(ua string) Option
- type Reader
- type SelectiveListener
- type StatusError
- type Timeouts
- type Validatable
Constants ¶
const (
DefaultTimeouts = "5s"
)
const (
PreConfirmedBlankIdentifier = "0x0"
)
Variables ¶
var ErrDeprecatedCompiledClass = errors.New("deprecated compiled class")
var ErrInvalidFeederResponse = errors.New("invalid feeder response")
var ErrPreConfirmedBlockNotFound = errors.New("pre-confirmed block not found")
ErrPreConfirmedBlockNotFound is returned by the pre-confirmed queries when the gateway answers 400, meaning the requested block is not (or no longer) in the pre-confirmed window.
Functions ¶
func HTTPTimeoutsSettings ¶ added in v0.14.4
func HTTPTimeoutsSettings(w http.ResponseWriter, r *http.Request, client *Client)
func ParseTimeouts ¶ added in v0.14.3
ParseTimeouts parses a comma-separated string of duration values into a slice of time.Duration. Returns: - the parsed timeout values - if a fixed or dynamic timeouts should be used - an error in case the string cannot be parsed
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewTestClient ¶
NewTestClient returns a client and a function to close a test server.
func (*Client) BlockHeader ¶ added in v0.15.22
func (*Client) BlockTrace ¶ added in v0.7.2
func (*Client) CasmClassDefinition ¶ added in v0.15.9
func (*Client) ClassDefinition ¶
func (*Client) FeeTokenAddresses ¶ added in v0.15.7
func (*Client) PreConfirmedBlockLatest ¶ added in v0.16.5
func (c *Client) PreConfirmedBlockLatest( ctx context.Context, blockIdentifier string, knownTransactionCount uint64, ) (starknet.PreConfirmedUpdate, uint64, error)
PreConfirmedBlockLatest fetches the highest pre_confirmed block the server currently exposes. The response carries its block_number so the caller can discover the pre_confirmed tip without tracking the height itself. Pass an empty identifier and zero txCount for a full reply.
func (*Client) PreConfirmedBlockWithIdentifier ¶ added in v0.16.1
func (c *Client) PreConfirmedBlockWithIdentifier( ctx context.Context, blockNumber string, blockIdentifier string, knownTransactionCount uint64, ) (starknet.PreConfirmedUpdate, error)
PreConfirmedBlockWithIdentifier fetches the pre_confirmed block at the given height, using the given block identifier and known transaction count to tell the server what the caller already has.
blockIdentifier and knownTransactionCount enable delta sync: the server uses them to decide whether to return a no-change marker, only the transactions appended since knownTransactionCount, or the full block when the round identifier no longer matches. Set both to zero values to get a full block.
func (*Client) SetTimeouts ¶ added in v0.16.6
SetTimeouts atomically replaces the timeouts of a live client. It is used by the PUT /feeder/timeouts endpoint.
func (*Client) StateUpdate ¶
func (*Client) StateUpdateWithBlockAndSignature ¶ added in v0.16.1
func (*Client) Transaction
deprecated
func (*Client) TransactionStatus ¶ added in v0.15.20
func (c *Client) TransactionStatus( ctx context.Context, transactionHash *felt.Felt, ) (starknet.TransactionStatus, error)
TransactionStatus calls the get_transaction_status endpoint which returns only status fields (finality, execution status, block hash) without the full transaction body.
type EventListener ¶ added in v0.8.2
type Option ¶ added in v0.16.6
type Option func(*options)
Option is a functional option for configuring the feeder client.
func WithAPIKey ¶ added in v0.16.6
func WithBackoff ¶ added in v0.16.6
func WithHTTPClient ¶ added in v0.16.6
func WithListener ¶ added in v0.16.6
func WithListener(l EventListener) Option
func WithLogger ¶ added in v0.16.6
func WithLogger(logger log.StructuredLogger) Option
func WithMaxRetries ¶ added in v0.16.6
func WithMaxWait ¶ added in v0.16.6
func WithMinWait ¶ added in v0.16.6
func WithUserAgent ¶ added in v0.16.6
type Reader ¶ added in v0.16.1
type Reader interface {
Block(ctx context.Context, blockID string) (starknet.Block, error)
BlockHeader(ctx context.Context, blockID string) (starknet.BlockHeader, error)
BlockTrace(ctx context.Context, blockHash string) (starknet.BlockTrace, error)
CasmClassDefinition(ctx context.Context, classHash *felt.Felt) (starknet.CasmClass, error)
ClassDefinition(ctx context.Context, classHash *felt.Felt) (starknet.ClassDefinition, error)
FeeTokenAddresses(ctx context.Context) (starknet.FeeTokenAddresses, error)
PreConfirmedBlockWithIdentifier(
ctx context.Context,
blockNumber string,
blockIdentifier string,
knownTransactionCount uint64,
) (starknet.PreConfirmedUpdate, error)
PreConfirmedBlockLatest(
ctx context.Context,
blockIdentifier string,
knownTransactionCount uint64,
) (starknet.PreConfirmedUpdate, uint64, error)
PublicKey(ctx context.Context) (felt.Felt, error)
Signature(ctx context.Context, blockID string) (starknet.Signature, error)
StateUpdate(ctx context.Context, blockID string) (starknet.StateUpdate, error)
StateUpdateWithBlockAndSignature(
ctx context.Context,
blockID string,
) (starknet.StateUpdateWithBlockAndSignature, error)
// Deprecated: Use TransactionStatus() instead.
Transaction(
ctx context.Context,
transactionHash *felt.Felt,
) (starknet.DeprecatedTransactionStatus, error)
TransactionStatus(
ctx context.Context,
transactionHash *felt.Felt,
) (starknet.TransactionStatus, error)
}
type SelectiveListener ¶ added in v0.8.2
func (*SelectiveListener) OnResponse ¶ added in v0.8.2
func (l *SelectiveListener) OnResponse(urlPath string, status int, took time.Duration)
type StatusError ¶ added in v0.16.6
type StatusError struct {
Code int
}
StatusError reports a non-OK HTTP status from the feeder gateway.
func (*StatusError) Error ¶ added in v0.16.6
func (e *StatusError) Error() string
type Timeouts ¶ added in v0.14.3
type Timeouts struct {
// contains filtered or unexported fields
}
func (*Timeouts) DecreaseTimeout ¶ added in v0.14.3
func (t *Timeouts) DecreaseTimeout()
func (*Timeouts) GetCurrentTimeout ¶ added in v0.14.3
func (*Timeouts) IncreaseTimeout ¶ added in v0.14.3
func (t *Timeouts) IncreaseTimeout()
type Validatable ¶ added in v0.16.5
Validatable is a generic constraint satisfied by a pointer type *T whose underlying value type T can validate itself. Implementers provide a Validate method with a pointer receiver that checks the receiver's fields and returns an error if validation fails.