Skip to content

Merging CipherOwl Improvements - #115

Open
leozc wants to merge 260 commits into
coinbase:masterfrom
cipherowl-ai:master
Open

Merging CipherOwl Improvements#115
leozc wants to merge 260 commits into
coinbase:masterfrom
cipherowl-ai:master

Conversation

@leozc

@leozc leozc commented Apr 1, 2025

Copy link
Copy Markdown
Contributor

What changed? Why?

  1. This change includes a list of improvements from CipherOwl based on the original ChainStorage from Coinbase
  2. Key improvement:
    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?

  • [ X ] unit test
  • [ X ] integration test
  • functional test
  • adhoc test (described below)
  • running in production

samsuse and others added 30 commits June 18, 2024 16:04
…replicator

# Conflicts:
#	internal/workflow/replicator.go
Signed-off-by: Henry Yang <henry.yang@cipherowl.com>
* Port ethereum beacon support
* Port blockchains client/parser changes
- 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
Byron-X-22 and others added 30 commits July 8, 2026 01:47
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.