Documentation
¶
Index ¶
- Variables
- func IsSupportedToken(token tokens.Token) bool
- func Run(ctx context.Context, cfg Config) error
- func WriteConfigTOML(cfg Config, logCfg log.Config, path string) error
- type APIError
- type Config
- type Cursor
- func (*Cursor) Descriptor() ([]byte, []int)deprecated
- func (x *Cursor) GetBlockHeight() uint64
- func (x *Cursor) GetChainId() uint64
- func (x *Cursor) GetConfLevel() uint32
- func (*Cursor) ProtoMessage()
- func (x *Cursor) ProtoReflect() protoreflect.Message
- func (x *Cursor) Reset()
- func (x *Cursor) String() string
- type CursorChainIdConfLevelIndexKey
- type CursorIndexKey
- type CursorIterator
- type CursorPrimaryKey
- type CursorTable
- type FillOriginData
- type FilledData
- type Handler
- type Order
- type OrderID
- type OrderResolved
- type OrderState
- type PendingData
- type RejectionError
- type SolverStore
- type SpendBounds
- type TokenAmt
Constants ¶
This section is empty.
Variables ¶
View Source
var File_solver_app_solver_proto protoreflect.FileDescriptor
Functions ¶
func IsSupportedToken ¶ added in v0.15.0
Types ¶
type Config ¶
type Config struct {
RPCEndpoints xchain.RPCEndpoints
Network netconf.ID
MonitoringAddr string
APIAddr string
SolverPrivKey string
DBDir string
Tracer tracer.Config
CoinGeckoAPIKey string
}
func DefaultConfig ¶
func DefaultConfig() Config
type Cursor ¶
type Cursor struct {
ChainId uint64 `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
ConfLevel uint32 `protobuf:"varint,2,opt,name=conf_level,json=confLevel,proto3" json:"conf_level,omitempty"`
BlockHeight uint64 `protobuf:"varint,3,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"`
// contains filtered or unexported fields
}
func (*Cursor) Descriptor
deprecated
func (*Cursor) GetBlockHeight ¶
func (*Cursor) GetChainId ¶
func (*Cursor) GetConfLevel ¶
func (*Cursor) ProtoMessage ¶
func (*Cursor) ProtoMessage()
func (*Cursor) ProtoReflect ¶
func (x *Cursor) ProtoReflect() protoreflect.Message
type CursorChainIdConfLevelIndexKey ¶
type CursorChainIdConfLevelIndexKey struct {
// contains filtered or unexported fields
}
func (CursorChainIdConfLevelIndexKey) WithChainId ¶
func (this CursorChainIdConfLevelIndexKey) WithChainId(chain_id uint64) CursorChainIdConfLevelIndexKey
func (CursorChainIdConfLevelIndexKey) WithChainIdConfLevel ¶
func (this CursorChainIdConfLevelIndexKey) WithChainIdConfLevel(chain_id uint64, conf_level uint32) CursorChainIdConfLevelIndexKey
type CursorIndexKey ¶
type CursorIndexKey interface {
// contains filtered or unexported methods
}
type CursorIterator ¶
func (CursorIterator) Value ¶
func (i CursorIterator) Value() (*Cursor, error)
type CursorPrimaryKey ¶
type CursorPrimaryKey = CursorChainIdConfLevelIndexKey
primary key starting index..
type CursorTable ¶
type CursorTable interface {
Insert(ctx context.Context, cursor *Cursor) error
Update(ctx context.Context, cursor *Cursor) error
Save(ctx context.Context, cursor *Cursor) error
Delete(ctx context.Context, cursor *Cursor) error
Has(ctx context.Context, chain_id uint64, conf_level uint32) (found bool, err error)
// Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found.
Get(ctx context.Context, chain_id uint64, conf_level uint32) (*Cursor, error)
List(ctx context.Context, prefixKey CursorIndexKey, opts ...ormlist.Option) (CursorIterator, error)
ListRange(ctx context.Context, from, to CursorIndexKey, opts ...ormlist.Option) (CursorIterator, error)
DeleteBy(ctx context.Context, prefixKey CursorIndexKey) error
DeleteRange(ctx context.Context, from, to CursorIndexKey) error
// contains filtered or unexported methods
}
func NewCursorTable ¶
func NewCursorTable(db ormtable.Schema) (CursorTable, error)
type FillOriginData ¶ added in v0.13.0
type FillOriginData = solvernet.FillOriginData
type FilledData ¶ added in v0.14.0
type FilledData struct {
MinReceived []bindings.IERC7683Output
}
FilledData contains order data that is only available for filled orders.
type Handler ¶ added in v0.14.0
type Handler struct {
// Endpoint is the http endpoint path.
Endpoint string
// ZeroReq returns a zero struct pointer of the request type used for marshaling incoming requests.
ZeroReq func() any
// HandleFunc is the function that handles the request and returns a response.
// The request will be a pointer (same at type returned by ZeroReq).
// The response must be a struct and optional error.
HandleFunc func(context.Context, any) (any, error)
// SkipInstrument skips the handler instrumentation.
SkipInstrument bool
}
type Order ¶ added in v0.13.0
type Order struct {
ID OrderID
Offset uint64
SourceChainID uint64
Status solvernet.OrderStatus
UpdatedBy common.Address
// contains filtered or unexported fields
}
func (Order) MinReceived ¶ added in v0.13.0
func (o Order) MinReceived() ([]bindings.IERC7683Output, error)
func (Order) PendingData ¶ added in v0.14.0
func (o Order) PendingData() (PendingData, error)
type OrderResolved ¶ added in v0.13.0
type OrderResolved = solvernet.OrderResolved
type OrderState ¶ added in v0.13.0
type OrderState = solvernet.OrderState
type PendingData ¶ added in v0.14.0
type PendingData struct {
MinReceived []bindings.IERC7683Output
DestinationSettler common.Address
DestinationChainID uint64
FillInstruction bindings.IERC7683FillInstruction
FillOriginData []byte
MaxSpent []bindings.IERC7683Output
}
PendingData contains order data that is only available for pending orders.
func (PendingData) ParsedFillOriginData ¶ added in v0.14.0
func (d PendingData) ParsedFillOriginData() (FillOriginData, error)
type RejectionError ¶ added in v0.13.0
type RejectionError struct {
Reason types.RejectReason // Succinct human-readable reason for rejection.
Err error // Internal detailed reject condition
}
RejectionError implement error, but represents a logical (expected) rejection, not an unexpected system error. We combine rejections with errors for detailed internal structured errors.
func (*RejectionError) Error ¶ added in v0.13.0
func (r *RejectionError) Error() string
Error implements error.
type SolverStore ¶
type SolverStore interface {
CursorTable() CursorTable
// contains filtered or unexported methods
}
func NewSolverStore ¶
func NewSolverStore(db ormtable.Schema) (SolverStore, error)
type SpendBounds ¶ added in v0.15.0
type SpendBounds struct {
MinSpend *big.Int // minimum spend amount
MaxSpend *big.Int // maximum spend amount
}
func GetSpendBounds ¶ added in v0.15.0
func GetSpendBounds(token tokens.Token) (SpendBounds, bool)
func (SpendBounds) DepositBounds ¶ added in v0.15.0
func (b SpendBounds) DepositBounds(price types.Price) SpendBounds
DepositBounds returns the equivalent deposit bounds by dividing the spend bounds (expense) by the given price.
Click to show internal directories.
Click to hide internal directories.