Merging CipherOwl Improvements - #115
Open
leozc wants to merge 255 commits into
Open
Conversation
fix merge error for workflow
Add metrics for replicator
TIT-157 Support BCH and LTC
…replicator # Conflicts: # internal/workflow/replicator.go
TIT-158 continuous replicator
Signed-off-by: Henry Yang <henry.yang@cipherowl.com>
* Remove sdk address
* Port ethereum beacon support
* Port blockchains client/parser changes
Merge upstream
- add TronClient to retrive data - set an additional client for TronClient to retrive TransactionInfo data from a independent restapi - support `POST` for restapiClient; - add Tron Parser, mapping the internal transactions of TransactionInfo into EthereumTransactionFlattenedTrace - add `Additional` into `ClientConfig` to support an independent endpoint group in config - add config template for Tron with `additional` inside the chain.client - set `Chain Number` and `Network Number` for Tron - add test case for Tron parser - add test case for restapi http.MethodPOST, fix other cases
Add support for Tron
Robinhood Chain is an Arbitrum Nitro based EVM L2 (mainnet chain ID 4663, testnet 46630). Client and parser reuse the Ethereum implementations, following the same pattern as monad/megaeth. Config tuning follows arbitrum (tier 2, 250ms block time, irreversible distance 1, fast_sync poller). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ror (#160) On Arbitrum Nitro based chains, a transaction terminated by ArbOS before EVM execution (included by the sequencer but failed pre-checks) produces zero call frames, while go-ethereum's callTracer requires exactly one top-level frame per transaction. Such a block fails the whole debug_traceBlockByHash call deterministically with "incorrect number of top-level calls" (e.g. robinhood mainnet block 604227). For robinhood only, fall back to per-transaction tracing when the block-level trace fails with this exact error, and substitute a fake trace for the poisoned transaction (same mechanism as the Optimism whitelist fake trace). The fallback is recorded under a dedicated trace_block result_type=fallback metric. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ze (#164) The ethereum client (shared by robinhood and other EVM chains) hardcoded eth_getTransactionReceipt batching at 100 per JSON-RPC batch call. Wire the existing chain.client.tx_batch_size config (previously only read by the bitcoin client) into the receipt batching loop, falling back to the current default of 100 when unset, so per-chain configs can tune batch size to provider limits. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…tched call (#165) The per-endpoint rps limiter charges one token per HTTP request, but some providers (e.g. QuickNode) count each call inside a JSON-RPC batch against their rate limit individually, forcing operators to budget rps x batch size manually. Add an rps_count_batch endpoint option: jsonrpc BatchCall annotates the request context with the batch size before entering the retry wrapper, and the endpoint round tripper charges that many tokens when the option is enabled. Weights are clamped to a minimum of 1, and the new RateLimiter.WaitWeight waits in burst-sized chunks so a batch larger than the burst no longer errors. Defaults to off; existing endpoints keep the one-token-per-request behavior. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed? Why?
2.1 Adding LTC / Tron Support,
2.2 Adding ZSTD support
2.3 Making ChainStorage more friendly for opensource / k8s environment
How did you test the change?