package
2.129.31
Repository: https://github.com/bloxroute-labs/gateway.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

Abs returns the absolute value of an integer.
BlobHashesFromTxBinary returns the blob hashes from the transaction binary.
CalculateBundleHash calculate bundle hash from bundle transactions.
CleanupSSLCerts clears the temporary SSL certs written to disk.
CompareLists compares two lists and returns the unique elements in each list.
ContextWithSignal returns a context that is cancelled when the process receives the given termination signal.
ConvertSlice - converts a slice of one type to another.
CreateAPIEndpoint creates NodeEndpoint object from uri:port string of beacon API endpoint.
CreatePrysmEndpoint creates prysm endpoint.
DeserializeNodeType parses the node type from a serialized form.
EnodeToNodeEndpoint converts an enode to a NodeEndpoint.
Exists - checks if a field exists in slice.
ExtractArgsToMap transforms cmd arguments to a map.
Filter - filters a slice based on a predicate.
FromStringToNodeType return nodeType of string name.
GenerateU128 generates random u128 string as subscription ID.
GenerateUUID generates random subscription ID.
GenerateValidEnode generates enode.
GetAccountIDFromBxCertificate get account ID from cert.
GetAccountIDSecretHashFromHeader extracts accountID and secret values from an authorization header.
GetAppMemoryUsage retreive the allocated heap bytes.
GetCertDir getting cert, key and registration files.
GetGID provide the goroutine ID.
GetIP checks the existence of and returns the IP address for a host name.
IsExpiredDate checks if the account is expired Date should have format: 2006-01-02.
LoadCacheFile - load a cache file.
MultiaddrToNodeEndoint converts a multiaddr to a NodeEndpoint.
NewCache creates a new cache with the provided function to get the value if it is not in the cache.
NewLeakyBucketRateLimiter creates a new leakyBucketRateLimiter.
NewMockClock constructor.
NewSSLCerts returns and initializes new storage of SSL certificates.
NewSSLCertsFromFiles receiving cert files info returns and initializes new storage of SSL certificates.
NewSSLCertsPrivateKey returns ssl certs with given private key.
NewTimeSeriesCounter initializes a new time series tracker for the previous duration with the provided fidelity.
NewTimeSeriesCounterPool creates new time series counter pool.
NewTxToolsLeakyBucketRateLimiter creates a RateLimiter using the leaky bucket rate algorithm; it has logging during `Take()` compared to the leakyBucketRateLimiter.
ParseBxCertificate extracts bloXroute specific extension information from the SSL certificates.
ParseRawTransaction parses a raw Ethereum transaction.
ParseStringTransaction is a helper function used by blxr_tx and blxr_batch_tx for processing a rawTransaction here it is used with the blxr_submit_bundle method on gateway.
RemoveItemFromList is a helper function for remove a tx of a tx slice.
RLPTreeFetch returns the RLP tree object.
SerializeStruct returns string representation of struct with denoted pointers.
SetupCAFiles writes the CA files to disk for loading into an SSL context.
SetupSSLFiles writes the fixed test certificates to disk for loading into an SSL context.
TestCerts uses the test certs specified in constants to return an utils.SSLCerts object for connection testing.
TestCertsWithoutSetup uses the test certs specified in constants to return an utils.SSLCerts object for connection testing.
TriggerOnFileChanged triggers the given function when the file changes.
TxCutSidecarFromBinary returns the transaction without sidecar.
TxRLPToBinary converts the transaction RLP to binary.
TxRLPType returns the transaction RLP type.
TxSidecarBlobsFromBinary returns the blobs from the transaction binary.
TxSidecarCommitmentsFromBinary returns the commitments from the transaction binary.
TxSidecarProofsFromBinary returns the proofs from the transaction binary.
UpdateCacheFile - update a cache file.

# Constants

API is the bloxroute SDN.
APISocket is the bloxroute SDN socket broker.
Blockchain represents a blockchain connection type.
CloudAPI is the cloud API instances.
Daily means that the rate limiter manages the rate over a day PerSecond means that the rate limiter manages the rate over a second PerMillisecond means that the rate limiter manages the rate over a millisecond.
DefaultHighLoadBlockSendDelayInitialMS is a default initial delay for sending blocks in milliseconds under high load.
DefaultHighLoadBlockSendDelayIntervalMS is a default interval delay for sending blocks in milliseconds under high load.
DefaultHighLoadBlockSendDelaySecondMS is a default second delay for sending blocks in milliseconds under high load.
DefaultHighLoadTxNumThreshold is a default threshold for high load.
DefaultRegularBlockSendDelayInitialMS is a default initial delay for sending blocks in milliseconds under regular load.
DefaultRegularBlockSendDelayIntervalMS is a default interval delay for sending blocks in milliseconds under regular load.
DefaultRegularBlockSendDelaySecondMS is a default second delay for sending blocks in milliseconds under regular load.
ExternalGateway is a gateway run by anyone.
Gateway collects all the various gateway types.
GRPC is a gRPC connection.
InternalGateway is a gateway run by bloxroute.
Daily means that the rate limiter manages the rate over a day PerSecond means that the rate limiter manages the rate over a second PerMillisecond means that the rate limiter manages the rate over a millisecond.
Daily means that the rate limiter manages the rate over a day PerSecond means that the rate limiter manages the rate over a second PerMillisecond means that the rate limiter manages the rate over a millisecond.
Daily means that the rate limiter manages the rate over a day PerSecond means that the rate limiter manages the rate over a second PerMillisecond means that the rate limiter manages the rate over a millisecond.
RelayProxy is the proxy relay that connects to gateways and sits in front of relays.
SolanaRelay is a relay routing solana messages only.
Websocket is a websocket connection to a node.

# Variables

CLI flag variable definitions.
CLI flag variable definitions.
TBD: remove priority queue and priority from code base.
Ethereum specific flags.
Ethereum specific flags.
Ethereum specific flags.
Ethereum specific flags.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
Ethereum specific flags.
CLI flag variable definitions.
RLP errors.
ErrNodeIDNotEmbedded indicates that the provided certificate does not have a node ID.
RLP errors.
CLI flag variable definitions.
Ethereum specific flags.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
IPResolverHolder.
IsGateway indicates if this instance is a gateway.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
Ethereum specific flags.
CLI flag variable definitions.
Ethereum specific flags.
Ethereum specific flags.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
TODO: this currently must be a file path in current code, not a URL.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.
CLI flag variable definitions.

# Structs

BxSSLProperties represents extension data encoded in bloxroute SSL certificates.
Cache is a thread-safe cache that will call the provided function to get the value if it is not in the cache.
MockClock represents a fake time service for testing purposes.
PublicIPResolver represents ip resolver struct.
RealClock represents the typical clock implementation using the built-in time.Time.
SSLCerts represents the required certificate files for interacting with the BDN.
TimeSeriesCounter tracks the number of occurrences of an event in the last duration of time with the provided timeFrame by keeping last duration/timeFrame entries.
TimeSeriesCounterPool is a pool of time series counters based on peer id.

# Interfaces

Clock should be injected into any component that requires access to time.
IPResolver represents an interface.
RateLimiter represents any struct that can be used to limit the amount of calls per time period.
Ticker wraps the time.Ticker object for mockbility in the test cases.
Timer wraps the time.Timer object for mockability in test cases.

# Type aliases

NodeType represents flag indicating node type (Gateway, Relay, etc.).