Documentation
¶
Index ¶
Constants ¶
View Source
const ( ConfigGasEstimationFactor = "gasEstimationFactor" ConfigDataFormat = "dataFormat" BlockPollingInterval = "blockPollingInterval" BlockCacheSize = "blockCacheSize" ReceiptCacheEnabled = "receiptCache.enabled" ReceiptCacheSize = "receiptCache.size" ChainTrackingMode = "chainTrackingMode" EventsCatchupPageSize = "events.catchupPageSize" EventsCatchupThreshold = "events.catchupThreshold" EventsCatchupDownscaleRegex = "events.catchupDownscaleRegex" EventsCheckpointBlockGap = "events.checkpointBlockGap" EventsBlockTimestamps = "events.blockTimestamps" EventsFilterPollingInterval = "events.filterPollingInterval" EventsFilterPollingMode = "events.filterPollingMode" RetryInitDelay = "queryLoopRetry.initialDelay" RetryMaxDelay = "queryLoopRetry.maxDelay" RetryFactor = "queryLoopRetry.factor" DeprecatedRetryInitDelay = "retry.initialDelay" DeprecatedRetryMaxDelay = "retry.maxDelay" DeprecatedRetryFactor = "retry.factor" RetryEnabled = "retry.enabled" MaxConcurrentRequests = "maxConcurrentRequests" TxCacheSize = "txCacheSize" HederaCompatibilityMode = "hederaCompatibilityMode" TraceTXForRevertReason = "traceTXForRevertReason" WebSocketsEnabled = "ws.enabled" RPCRoutingMode = "rpcRoutingMode" MaxAsyncBlockFetchConcurrency = "maxAsyncBlockFetchConcurrency" UseGetBlockReceipts = "useGetBlockReceipts" )
View Source
const ( // FilterPollingModeServer uses node-side filters, established with eth_newBlockFilter / eth_newFilter // and polled with eth_getFilterChanges, so the node tracks what is new since the last poll FilterPollingModeServer = ethblocklistener.FilterPollingModeServer // FilterPollingModeClient polls the latest block, and uses stateless eth_getLogs range queries, with // the connector tracking its own in-memory poll positions - avoiding node-side filter state entirely FilterPollingModeClient = ethblocklistener.FilterPollingModeClient )
View Source
const ( DefaultListenerPort = 5102 DefaultGasEstimationFactor = 1.5 DefaultCatchupPageSize = 500 DefaultEventsCatchupThreshold = 500 DefaultEventsCatchupDownscaleRegex = "Response size is larger than.*limit" DefaultEventsCheckpointBlockGap = 50 DefaultRetryInitDelay = "100ms" DefaultRetryMaxDelay = "30s" DefaultRetryDelayFactor = 2.0 )
Variables ¶
This section is empty.
Functions ¶
func InitConfig ¶
func ProtocolIDForReceipt ¶
Types ¶
type Connector ¶
type Connector interface {
ffcapi.API
// RPC returns the JSON/RPC client used for everything the connector does. It owns both
// the HTTP connection pool and the WebSocket (when enabled), and routes each call to one
// of them based on the method name and the configured routing mode.
RPC() ethrpc.Client
// Get the high level block listener functionality, which provides a view of the head of the chain
BlockListener() ethblocklistener.BlockListener
}
func NewEthereumConnector ¶
NewEthereumConnector builds the JSON/RPC client from configuration, and the connector over it.
func NewEthereumConnectorWithRPC ¶ added in v1.5.2
func NewEthereumConnectorWithRPC(ctx context.Context, conf config.Section, rpc ethrpc.Client) (cc Connector, err error)
NewEthereumConnectorWithRPC builds the connector over a pre-constructed JSON/RPC client. The caller owns closing the client - see ethConnector.WaitClosed.
Source Files
¶
- config.go
- deploy_contract_prepare.go
- estimate_gas.go
- ethereum.go
- event_actions.go
- event_enricher.go
- event_listener.go
- event_stream.go
- event_stream_getlogs.go
- exec_query.go
- get_address_balance.go
- get_block_info.go
- get_gas_price.go
- get_next_nonce.go
- get_receipt.go
- new_block_listener.go
- prepare_transaction.go
- send_transaction.go
- statuses.go
Click to show internal directories.
Click to hide internal directories.