Documentation ¶
Overview ¶
sequence-relayer v0.4.1 e4df7ceb0987a6b6fd6a61d65e57a0a072b101aa -- Code generated by webrpc-gen@v0.18.7 with golang generator. DO NOT EDIT.
webrpc-gen -schema=relayer.ridl -target=golang -pkg=proto -client -out=./clients/relayer.gen.go
Index ¶
- Constants
- Variables
- func HTTPRequestHeaders(ctx context.Context) (http.Header, bool)
- func MethodNameFromContext(ctx context.Context) string
- func RequestFromContext(ctx context.Context) *http.Request
- func ServiceNameFromContext(ctx context.Context) string
- func WebRPCSchemaHash() string
- func WebRPCSchemaVersion() string
- func WebRPCVersion() string
- func WithHTTPRequestHeaders(ctx context.Context, h http.Header) (context.Context, error)
- type ETHTxnStatus
- type FeeOption
- type FeeToken
- type FeeTokenType
- type GasSponsor
- type GasSponsorUsage
- type GasTank
- type GasTankBalanceAdjustment
- type HTTPClient
- type MetaTxn
- type MetaTxnEntry
- type MetaTxnLog
- type MetaTxnReceipt
- type MetaTxnReceiptLog
- type NumTxnsRelayed
- type Page
- type Relayer
- type RelayerClient
- type RuntimeChecks
- type RuntimeStatus
- type SenderStatus
- type SentTransactionsFilter
- type SequenceContext
- type SimulateResult
- type SortBy
- type SortOrder
- type Transaction
- type TransferType
- type TxnLogTransfer
- type TxnLogUser
- type Version
- type WebRPCError
Constants ¶
const RelayerPathPrefix = "/rpc/Relayer/"
Variables ¶
var ( HTTPClientRequestHeadersCtxKey = &contextKey{"HTTPClientRequestHeaders"} HTTPRequestCtxKey = &contextKey{"HTTPRequest"} ServiceNameCtxKey = &contextKey{"ServiceName"} MethodNameCtxKey = &contextKey{"MethodName"} )
var ( ErrWebrpcEndpoint = WebRPCError{Code: 0, Name: "WebrpcEndpoint", Message: "endpoint error", HTTPStatus: 400} ErrWebrpcRequestFailed = WebRPCError{Code: -1, Name: "WebrpcRequestFailed", Message: "request failed", HTTPStatus: 400} ErrWebrpcBadRoute = WebRPCError{Code: -2, Name: "WebrpcBadRoute", Message: "bad route", HTTPStatus: 404} ErrWebrpcBadMethod = WebRPCError{Code: -3, Name: "WebrpcBadMethod", Message: "bad method", HTTPStatus: 405} ErrWebrpcBadRequest = WebRPCError{Code: -4, Name: "WebrpcBadRequest", Message: "bad request", HTTPStatus: 400} ErrWebrpcBadResponse = WebRPCError{Code: -5, Name: "WebrpcBadResponse", Message: "bad response", HTTPStatus: 500} ErrWebrpcServerPanic = WebRPCError{Code: -6, Name: "WebrpcServerPanic", Message: "server panic", HTTPStatus: 500} ErrWebrpcInternalError = WebRPCError{Code: -7, Name: "WebrpcInternalError", Message: "internal error", HTTPStatus: 500} ErrWebrpcClientDisconnected = WebRPCError{Code: -8, Name: "WebrpcClientDisconnected", Message: "client disconnected", HTTPStatus: 400} ErrWebrpcStreamLost = WebRPCError{Code: -9, Name: "WebrpcStreamLost", Message: "stream lost", HTTPStatus: 400} ErrWebrpcStreamFinished = WebRPCError{Code: -10, Name: "WebrpcStreamFinished", Message: "stream finished", HTTPStatus: 200} )
Webrpc errors
var ( ErrPermissionDenied = WebRPCError{Code: 1001, Name: "PermissionDenied", Message: "Permission denied", HTTPStatus: 403} ErrMethodNotFound = WebRPCError{Code: 1003, Name: "MethodNotFound", Message: "Method not found", HTTPStatus: 404} ErrAborted = WebRPCError{Code: 1005, Name: "Aborted", Message: "Request aborted", HTTPStatus: 400} ErrGeoblocked = WebRPCError{Code: 1006, Name: "Geoblocked", Message: "Geoblocked region", HTTPStatus: 451} ErrInvalidArgument = WebRPCError{Code: 2001, Name: "InvalidArgument", Message: "Invalid argument", HTTPStatus: 400} ErrQueryFailed = WebRPCError{Code: 2003, Name: "QueryFailed", Message: "Query failed", HTTPStatus: 400} ErrNotFound = WebRPCError{Code: 3000, Name: "NotFound", Message: "Resource not found", HTTPStatus: 400} ErrInsufficientFee = WebRPCError{Code: 3004, Name: "InsufficientFee", Message: "Insufficient fee", HTTPStatus: 402} )
Schema errors
var ETHTxnStatus_name = map[uint]string{
0: "UNKNOWN",
1: "DROPPED",
2: "QUEUED",
3: "SENT",
4: "SUCCEEDED",
5: "PARTIALLY_FAILED",
6: "FAILED",
}
var ETHTxnStatus_value = map[string]uint{
"UNKNOWN": 0,
"DROPPED": 1,
"QUEUED": 2,
"SENT": 3,
"SUCCEEDED": 4,
"PARTIALLY_FAILED": 5,
"FAILED": 6,
}
var FeeTokenType_name = map[uint32]string{
0: "UNKNOWN",
1: "ERC20_TOKEN",
2: "ERC1155_TOKEN",
}
var FeeTokenType_value = map[string]uint32{
"UNKNOWN": 0,
"ERC20_TOKEN": 1,
"ERC1155_TOKEN": 2,
}
var SortOrder_name = map[uint32]string{
0: "DESC",
1: "ASC",
}
var SortOrder_value = map[string]uint32{
"DESC": 0,
"ASC": 1,
}
var TransferType_name = map[uint32]string{
0: "SEND",
1: "RECEIVE",
2: "BRIDGE_DEPOSIT",
3: "BRIDGE_WITHDRAW",
4: "BURN",
5: "UNKNOWN",
}
var TransferType_value = map[string]uint32{
"SEND": 0,
"RECEIVE": 1,
"BRIDGE_DEPOSIT": 2,
"BRIDGE_WITHDRAW": 3,
"BURN": 4,
"UNKNOWN": 5,
}
var WebRPCServices = map[string][]string{
"Relayer": {
"Ping",
"Version",
"RuntimeStatus",
"GetSequenceContext",
"GetChainID",
"SendMetaTxn",
"GetMetaTxnNonce",
"GetMetaTxnReceipt",
"Simulate",
"UpdateMetaTxnGasLimits",
"FeeTokens",
"FeeOptions",
"GetMetaTxnNetworkFeeOptions",
"GetMetaTransactions",
"SentTransactions",
"PendingTransactions",
"GetGasTank",
"AddGasTank",
"UpdateGasTank",
"GetGasSponsor",
"AddressGasSponsors",
"ListGasSponsors",
"AddGasSponsor",
"UpdateGasSponsor",
"RemoveGasSponsor",
"ReportGasSponsorUsage",
"NextGasTankBalanceAdjustmentNonce",
"AdjustGasTankBalance",
"GetGasTankBalanceAdjustment",
"ListGasTankBalanceAdjustments",
},
}
Functions ¶
func MethodNameFromContext ¶ added in v0.31.0
func RequestFromContext ¶ added in v0.31.0
func ServiceNameFromContext ¶ added in v0.31.0
Types ¶
type ETHTxnStatus ¶
type ETHTxnStatus uint
const ( ETHTxnStatus_UNKNOWN ETHTxnStatus = 0 // txn rejected by relayer ETHTxnStatus_DROPPED ETHTxnStatus = 1 // txn accepted by relayer, waiting to be sent ETHTxnStatus_QUEUED ETHTxnStatus = 2 // txn sent, waiting for txn to be mined ETHTxnStatus_SENT ETHTxnStatus = 3 // txn mined, all txns in the bundle succeeded ETHTxnStatus_SUCCEEDED ETHTxnStatus = 4 // txn mined, but some txns in the bundle failed ETHTxnStatus_PARTIALLY_FAILED ETHTxnStatus = 5 // txn mined, but all txns in the bundle failed ETHTxnStatus_FAILED ETHTxnStatus = 6 )
func (*ETHTxnStatus) Is ¶ added in v0.31.0
func (x *ETHTxnStatus) Is(values ...ETHTxnStatus) bool
func (ETHTxnStatus) MarshalText ¶ added in v0.31.0
func (x ETHTxnStatus) MarshalText() ([]byte, error)
func (ETHTxnStatus) String ¶
func (x ETHTxnStatus) String() string
func (*ETHTxnStatus) UnmarshalText ¶ added in v0.31.0
func (x *ETHTxnStatus) UnmarshalText(b []byte) error
type FeeTokenType ¶ added in v0.4.12
type FeeTokenType uint32
const ( FeeTokenType_UNKNOWN FeeTokenType = 0 FeeTokenType_ERC20_TOKEN FeeTokenType = 1 FeeTokenType_ERC1155_TOKEN FeeTokenType = 2 )
func (*FeeTokenType) Is ¶ added in v0.31.0
func (x *FeeTokenType) Is(values ...FeeTokenType) bool
func (FeeTokenType) MarshalText ¶ added in v0.31.0
func (x FeeTokenType) MarshalText() ([]byte, error)
func (FeeTokenType) String ¶ added in v0.4.12
func (x FeeTokenType) String() string
func (*FeeTokenType) UnmarshalText ¶ added in v0.31.0
func (x *FeeTokenType) UnmarshalText(b []byte) error
type GasSponsor ¶ added in v0.13.0
type GasSponsor struct { ID uint64 `json:"id" db:"id,omitempty"` GasTankID uint64 `json:"gasTankId" db:"gas_tank_id,omitempty"` ProjectID uint64 `json:"projectId" db:"project_id"` Address prototyp.Hash `json:"address" db:"address"` Name string `json:"name" db:"name"` Active bool `json:"active" db:"active"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at,omitempty"` CreatedAt *time.Time `json:"createdAt" db:"created_at,omitempty"` DeletedAt *time.Time `json:"-" db:"deleted_at,omitempty"` }
type GasSponsorUsage ¶ added in v0.13.0
type GasSponsorUsage struct { Name string `json:"name" db:"name"` ID uint64 `json:"id" db:"gas_sponsor_id,omitempty"` TotalGasUsed int64 `json:"totalGasUsed" db:"total_gas_used"` TotalTxnFees float64 `json:"totalTxnFees" db:"total_txn_fees"` TotalTxnFeesUSD decimal.Decimal `json:"totalTxnFeesUsd" db:"total_txn_fees_usd"` AvgGasPrice float64 `json:"avgGasPrice" db:"avg_gas_price"` TotalTxns int64 `json:"totalTxns" db:"total_txns"` StartTime *time.Time `json:"startTime"` EndTime *time.Time `json:"endTime"` }
type GasTank ¶ added in v0.29.1
type GasTank struct { ID uint64 `json:"id" db:"id,omitempty"` Name string `json:"name" db:"name"` CurrentBalance decimal.Decimal `json:"currentBalance" db:"current_balance"` Unlimited bool `json:"unlimited" db:"unlimited"` FeeMarkupFactor decimal.Decimal `json:"feeMarkupFactor" db:"fee_markup_factor"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at,omitempty"` CreatedAt *time.Time `json:"createdAt" db:"created_at,omitempty"` }
type GasTankBalanceAdjustment ¶ added in v0.29.1
type GasTankBalanceAdjustment struct { GasTankID uint64 `json:"gasTankId" db:"gas_tank_id"` Nonce uint64 `json:"nonce" db:"nonce"` Amount decimal.Decimal `json:"amount" db:"amount"` TotalBalance decimal.Decimal `json:"totalBalance" db:"total_balance"` BalanceTimestamp time.Time `json:"balanceTimestamp" db:"balance_timestamp"` CreatedAt *time.Time `json:"createdAt" db:"created_at,omitempty"` }
type HTTPClient ¶
HTTPClient is the interface used by generated clients to send HTTP requests. It is fulfilled by *(net/http).Client, which is sufficient for most users. Users can provide their own implementation for special retry policies.
type MetaTxn ¶
type MetaTxn struct { WalletAddress string `json:"walletAddress" db:"wallet_address"` // TODO (later): rename this to `to: string` Contract string `json:"contract" db:"to_address"` // TODO: rename to 'execdata' Input string `json:"input" db:"tx_data"` }
TODO: rename this to MetaTxnRaw (eventually), we can leave it for now to not break compat or name it, MetaTxnArgs ..?
type MetaTxnEntry ¶ added in v0.4.12
type MetaTxnEntry struct { ID uint64 `json:"id" db:"id,omitempty"` MetaTxnID string `json:"metaTxnID" db:"metatx_logs_id"` TxnStatus ETHTxnStatus `json:"txnStatus" db:"status"` TxnRevertReason string `json:"txnRevertReason" db:"revert_reason"` Index uint64 `json:"index" db:"index"` Logs []interface{} `json:"logs" db:"logs,omitempty"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at,omitempty"` CreatedAt *time.Time `json:"createdAt" db:"created_at,omitempty"` }
TODO: review
type MetaTxnLog ¶ added in v0.4.12
type MetaTxnLog struct { ID uint64 `json:"id" db:"id,omitempty"` ProjectID uint64 `json:"projectId" db:"project_id"` // this is optional, but we don't specify txnHash?: string, // otherwise it sets go.field.type to pointer-type which we dont want. TxnHash prototyp.HashMaybe `json:"txnHash" db:"txn_hash"` // TODO: this should be txnNonce?: string, but pgx giving issues // with *prototyp.BigInt scanning TxnNonce prototyp.BigInt `json:"txnNonce" db:"txn_nonce"` MetaTxnID *string `json:"metaTxnID" db:"meta_txn_id"` TxnStatus ETHTxnStatus `json:"txnStatus" db:"txn_status"` TxnRevertReason string `json:"txnRevertReason" db:"txn_revert_reason"` Requeues uint `json:"requeues" db:"requeues"` QueuedAt *time.Time `json:"queuedAt" db:"queued_at,omitempty"` SentAt *time.Time `json:"sentAt" db:"sent_at,omitempty"` MinedAt *time.Time `json:"minedAt" db:"mined_at,omitempty"` Target prototyp.Hash `json:"target" db:"target"` Input prototyp.Hash `json:"input" db:"input"` // TODO: review this field.. we may not want it.. what goes in here..? is it just // the input/target from MetaTxn above? we already have these as separate columns.. TxnArgs map[string]interface{} `json:"txnArgs" db:"txn_args"` TxnReceipt map[string]interface{} `json:"txnReceipt" db:"txn_receipt,omitempty"` WalletAddress prototyp.Hash `json:"walletAddress" db:"wallet_address"` MetaTxnNonce prototyp.BigInt `json:"metaTxnNonce" db:"metatx_nonce"` GasLimit uint64 `json:"gasLimit" db:"gas_limit"` GasPrice prototyp.BigInt `json:"gasPrice" db:"gas_price"` GasUsed uint64 `json:"gasUsed" db:"gas_used"` GasEstimated uint64 `json:"gasEstimated" db:"gas_estimated"` GasFeeMarkup *uint64 `json:"gasFeeMarkup" db:"gas_fee_markup"` UsdRate prototyp.BigInt `json:"usdRate" db:"usd_rate"` CreditsUsed uint64 `json:"creditsUsed" db:"credits_used"` IsWhitelisted bool `json:"isWhitelisted" db:"is_whitelisted,omitempty"` GasSponsor *uint64 `json:"gasSponsor" db:"gas_sponsor_id,omitempty"` GasTank *uint64 `json:"gasTank" db:"gas_tank_id,omitempty"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at,omitempty"` CreatedAt *time.Time `json:"createdAt" db:"created_at,omitempty"` }
TODO: review
type MetaTxnReceipt ¶
type MetaTxnReceipt struct { ID string `json:"id"` Status string `json:"status"` RevertReason *string `json:"revertReason"` Index uint `json:"index"` Logs []*MetaTxnReceiptLog `json:"logs"` Receipts []*MetaTxnReceipt `json:"receipts"` TxnReceipt string `json:"txnReceipt"` }
type MetaTxnReceiptLog ¶ added in v0.4.12
type NumTxnsRelayed ¶ added in v0.29.1
type Page ¶ added in v0.4.12
type Page struct { // Common for both numbered pages and cursor: Number of items per page PageSize *uint32 `json:"pageSize"` // Numbered pages: Page number, this is multiplied by the value of the <pageSize> parameter. Page *uint32 `json:"page"` More *bool `json:"more"` // Number of total items on this query. TotalRecords *uint64 `json:"totalRecords"` // Cursor: column to compare before/after to Column *string `json:"column"` // Cursor: return column < before - include to get previous page Before *interface{} `json:"before"` // Cursor: return column > after - include to get next page After *interface{} `json:"after"` // Sorting filter Sort []*SortBy `json:"sort"` }
Page represents a results page. This can be used both to request a page and to store the state of a page.
type Relayer ¶
type Relayer interface { Ping(ctx context.Context) (bool, error) Version(ctx context.Context) (*Version, error) RuntimeStatus(ctx context.Context) (*RuntimeStatus, error) GetSequenceContext(ctx context.Context) (*SequenceContext, error) // TODO: return a string instead GetChainID(ctx context.Context) (uint64, error) // // Transactions // // TODO (future): rename this to just, 'SendTransaction(txn: MetaTransaction)' or 'SendTransaction(txn: SignedTransaction)', or something.. // TODO: rename return txnHash: string to metaTxnID: string SendMetaTxn(ctx context.Context, call *MetaTxn, quote *string) (bool, string, error) GetMetaTxnNonce(ctx context.Context, walletContractAddress string, space *string) (string, error) // TODO: one day, make GetMetaTxnReceipt respond immediately with receipt or not // and add WaitTransactionReceipt method, which will block and wait, similar to how GetMetaTxnReceipt // is implemented now. // For backwards compat, we can leave the current GetMetaTxnReceipt how it is, an deprecate it, and introduce // new, GetTransactionReceipt and WaitTransactionReceipt methods // we can also accept metaTxnId and txnHash .. so can take either or.. I wonder if ERC-4337 has any convention on this? GetMetaTxnReceipt(ctx context.Context, metaTxID string) (*MetaTxnReceipt, error) Simulate(ctx context.Context, wallet string, transactions string) ([]*SimulateResult, error) // TODO: deprecated, to be removed by https://github.com/0xsequence/stack/pull/356 at a later date UpdateMetaTxnGasLimits(ctx context.Context, walletAddress string, walletConfig interface{}, payload string) (string, error) FeeTokens(ctx context.Context) (bool, []*FeeToken, error) FeeOptions(ctx context.Context, wallet string, to string, data string, simulate *bool) ([]*FeeOption, bool, *string, error) // TODO: deprecated, to be removed by https://github.com/0xsequence/stack/pull/356 at a later date GetMetaTxnNetworkFeeOptions(ctx context.Context, walletConfig interface{}, payload string) ([]*FeeOption, error) GetMetaTransactions(ctx context.Context, projectId uint64, gasTankId uint64, page *Page) (*Page, []*MetaTxnLog, error) // Sent transactions from an account. If filter is omitted then it will return all transactions. SentTransactions(ctx context.Context, filter *SentTransactionsFilter, page *Page) (*Page, []*Transaction, error) // Pending transactions waiting to be mined for an account. This endpoint is just a sugar of `SentTransactions` // with the filter set to pending: true. PendingTransactions(ctx context.Context, page *Page) (*Page, []*Transaction, error) GetGasTank(ctx context.Context, id uint64) (*GasTank, error) AddGasTank(ctx context.Context, name string, feeMarkupFactor float64, unlimited *bool) (bool, *GasTank, error) UpdateGasTank(ctx context.Context, id uint64, name *string, feeMarkupFactor *float64, unlimited *bool) (bool, *GasTank, error) GetGasSponsor(ctx context.Context, id uint64) (*GasSponsor, error) AddressGasSponsors(ctx context.Context, address string, page *Page) (*Page, []*GasSponsor, error) ListGasSponsors(ctx context.Context, projectId uint64, gasTankId uint64, page *Page) (*Page, []*GasSponsor, error) AddGasSponsor(ctx context.Context, projectId uint64, gasTankId uint64, address string, name *string, active *bool) (bool, *GasSponsor, error) UpdateGasSponsor(ctx context.Context, id uint64, name *string, active *bool) (bool, *GasSponsor, error) RemoveGasSponsor(ctx context.Context, id uint64) (bool, error) ReportGasSponsorUsage(ctx context.Context, projectId uint64, gasTankId uint64, startTime *time.Time, endTime *time.Time) ([]*GasSponsorUsage, error) NextGasTankBalanceAdjustmentNonce(ctx context.Context, id uint64) (uint64, error) AdjustGasTankBalance(ctx context.Context, id uint64, nonce uint64, amount float64) (bool, *GasTankBalanceAdjustment, error) GetGasTankBalanceAdjustment(ctx context.Context, id uint64, nonce uint64) (*GasTankBalanceAdjustment, error) ListGasTankBalanceAdjustments(ctx context.Context, id uint64, page *Page) (*Page, []*GasTankBalanceAdjustment, error) }
type RelayerClient ¶ added in v0.31.0
type RelayerClient interface { Ping(ctx context.Context) (bool, error) Version(ctx context.Context) (*Version, error) RuntimeStatus(ctx context.Context) (*RuntimeStatus, error) GetSequenceContext(ctx context.Context) (*SequenceContext, error) // TODO: return a string instead GetChainID(ctx context.Context) (uint64, error) // // Transactions // // TODO (future): rename this to just, 'SendTransaction(txn: MetaTransaction)' or 'SendTransaction(txn: SignedTransaction)', or something.. // TODO: rename return txnHash: string to metaTxnID: string SendMetaTxn(ctx context.Context, call *MetaTxn, quote *string) (bool, string, error) GetMetaTxnNonce(ctx context.Context, walletContractAddress string, space *string) (string, error) // TODO: one day, make GetMetaTxnReceipt respond immediately with receipt or not // and add WaitTransactionReceipt method, which will block and wait, similar to how GetMetaTxnReceipt // is implemented now. // For backwards compat, we can leave the current GetMetaTxnReceipt how it is, an deprecate it, and introduce // new, GetTransactionReceipt and WaitTransactionReceipt methods // we can also accept metaTxnId and txnHash .. so can take either or.. I wonder if ERC-4337 has any convention on this? GetMetaTxnReceipt(ctx context.Context, metaTxID string) (*MetaTxnReceipt, error) Simulate(ctx context.Context, wallet string, transactions string) ([]*SimulateResult, error) // TODO: deprecated, to be removed by https://github.com/0xsequence/stack/pull/356 at a later date UpdateMetaTxnGasLimits(ctx context.Context, walletAddress string, walletConfig interface{}, payload string) (string, error) FeeTokens(ctx context.Context) (bool, []*FeeToken, error) FeeOptions(ctx context.Context, wallet string, to string, data string, simulate *bool) ([]*FeeOption, bool, *string, error) // TODO: deprecated, to be removed by https://github.com/0xsequence/stack/pull/356 at a later date GetMetaTxnNetworkFeeOptions(ctx context.Context, walletConfig interface{}, payload string) ([]*FeeOption, error) GetMetaTransactions(ctx context.Context, projectId uint64, gasTankId uint64, page *Page) (*Page, []*MetaTxnLog, error) // Sent transactions from an account. If filter is omitted then it will return all transactions. SentTransactions(ctx context.Context, filter *SentTransactionsFilter, page *Page) (*Page, []*Transaction, error) // Pending transactions waiting to be mined for an account. This endpoint is just a sugar of `SentTransactions` // with the filter set to pending: true. PendingTransactions(ctx context.Context, page *Page) (*Page, []*Transaction, error) GetGasTank(ctx context.Context, id uint64) (*GasTank, error) AddGasTank(ctx context.Context, name string, feeMarkupFactor float64, unlimited *bool) (bool, *GasTank, error) UpdateGasTank(ctx context.Context, id uint64, name *string, feeMarkupFactor *float64, unlimited *bool) (bool, *GasTank, error) GetGasSponsor(ctx context.Context, id uint64) (*GasSponsor, error) AddressGasSponsors(ctx context.Context, address string, page *Page) (*Page, []*GasSponsor, error) ListGasSponsors(ctx context.Context, projectId uint64, gasTankId uint64, page *Page) (*Page, []*GasSponsor, error) AddGasSponsor(ctx context.Context, projectId uint64, gasTankId uint64, address string, name *string, active *bool) (bool, *GasSponsor, error) UpdateGasSponsor(ctx context.Context, id uint64, name *string, active *bool) (bool, *GasSponsor, error) RemoveGasSponsor(ctx context.Context, id uint64) (bool, error) ReportGasSponsorUsage(ctx context.Context, projectId uint64, gasTankId uint64, startTime *time.Time, endTime *time.Time) ([]*GasSponsorUsage, error) NextGasTankBalanceAdjustmentNonce(ctx context.Context, id uint64) (uint64, error) AdjustGasTankBalance(ctx context.Context, id uint64, nonce uint64, amount float64) (bool, *GasTankBalanceAdjustment, error) GetGasTankBalanceAdjustment(ctx context.Context, id uint64, nonce uint64) (*GasTankBalanceAdjustment, error) ListGasTankBalanceAdjustments(ctx context.Context, id uint64, page *Page) (*Page, []*GasTankBalanceAdjustment, error) }
func NewRelayerClient ¶
func NewRelayerClient(addr string, client HTTPClient) RelayerClient
type RuntimeChecks ¶ added in v0.5.6
type RuntimeChecks struct { }
type RuntimeStatus ¶
type RuntimeStatus struct { // overall status, true/false HealthOK bool `json:"healthOK"` StartTime time.Time `json:"startTime"` Uptime uint64 `json:"uptime"` Ver string `json:"ver"` Branch string `json:"branch"` CommitHash string `json:"commitHash"` UseEIP1559 bool `json:"useEIP1559"` Senders []*SenderStatus `json:"senders"` Checks *RuntimeChecks `json:"checks"` NumTxnsRelayed *NumTxnsRelayed `json:"numTxnsRelayed"` }
type SenderStatus ¶ added in v0.5.6
type SentTransactionsFilter ¶ added in v0.4.12
type SequenceContext ¶
type SimulateResult ¶ added in v0.13.0
type SortOrder ¶ added in v0.4.12
type SortOrder uint32
func (SortOrder) MarshalText ¶ added in v0.31.0
func (*SortOrder) UnmarshalText ¶ added in v0.31.0
type Transaction ¶ added in v0.4.12
type Transaction struct { TxnHash *string `json:"txnHash"` BlockNumber uint64 `json:"blockNumber"` ChainId uint64 `json:"chainId"` MetaTxnID *string `json:"metaTxnID"` Transfers []*TxnLogTransfer `json:"transfers"` // TODO: review .. Users map[string]*TxnLogUser `json:"users"` // - contracts?: map<string, Contract> TODO: review.. this gives us contract metadata which is useful // - tokenMetadata?: map<string,map<string,TokenMetadata>> Timestamp *time.Time `json:"timestamp" db:"ts,omitempty"` }
TODO: review and update this type ..
type TransferType ¶ added in v0.4.12
type TransferType uint32
const ( TransferType_SEND TransferType = 0 TransferType_RECEIVE TransferType = 1 TransferType_BRIDGE_DEPOSIT TransferType = 2 TransferType_BRIDGE_WITHDRAW TransferType = 3 TransferType_BURN TransferType = 4 TransferType_UNKNOWN TransferType = 5 )
func (*TransferType) Is ¶ added in v0.31.0
func (x *TransferType) Is(values ...TransferType) bool
func (TransferType) MarshalText ¶ added in v0.31.0
func (x TransferType) MarshalText() ([]byte, error)
func (TransferType) String ¶ added in v0.4.12
func (x TransferType) String() string
func (*TransferType) UnmarshalText ¶ added in v0.31.0
func (x *TransferType) UnmarshalText(b []byte) error
type TxnLogTransfer ¶ added in v0.4.12
type TxnLogUser ¶ added in v0.4.12
type TxnLogUser struct {
Username string `json:"username"`
}
TODO: remove this.. we're not going to include username here anymore, the client will have to do it.
type WebRPCError ¶ added in v0.31.0
type WebRPCError struct { Name string `json:"error"` Code int `json:"code"` Message string `json:"msg"` Cause string `json:"cause,omitempty"` HTTPStatus int `json:"status"` // contains filtered or unexported fields }
func ErrorWithCause
deprecated
added in
v0.31.0
func ErrorWithCause(rpcErr WebRPCError, cause error) WebRPCError
Deprecated: Use .WithCause() method on WebRPCError.
func (WebRPCError) Error ¶ added in v0.31.0
func (e WebRPCError) Error() string
func (WebRPCError) Is ¶ added in v0.31.0
func (e WebRPCError) Is(target error) bool
func (WebRPCError) Unwrap ¶ added in v0.31.0
func (e WebRPCError) Unwrap() error
func (WebRPCError) WithCause ¶ added in v0.31.0
func (e WebRPCError) WithCause(cause error) WebRPCError
func (WebRPCError) WithCausef ¶ added in v0.31.0
func (e WebRPCError) WithCausef(format string, args ...interface{}) WebRPCError