-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add CoinMarketCap external API #2971
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Thank you for bringing CMC API over and brushing up wiring. While we are here - would it make sense to bring the tests over too?
Also, is CMC client repeating the error discovered by @cytadela8 (with flipped numerator / denominator)?
Yes, thank you for the call-out. To avoid this sort of thing in the future, could we consider renaming |
Happy & failure tests added ✅ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left one small comment.
Please verify that the new wiring logic works with different config settings. Otherwise looks good.
(merged with main because |
🤖 I have created a release *beep* *boop* --- ## [25.0.0](core-v24.29.0...core-v25.0.0) (2024-10-23) ### ⚠ BREAKING CHANGES * **contracts:** integrate protocol defense changes ([#2737](#2737)) ### Features * Add CoinMarketCap external API ([#2971](#2971)) ([c1cb30e](c1cb30e)) * **api:** Implement eth_maxPriorityFeePerGas ([#3135](#3135)) ([35e84cc](35e84cc)) * **api:** Make acceptable values cache lag configurable ([#3028](#3028)) ([6747529](6747529)) * **contracts:** integrate protocol defense changes ([#2737](#2737)) ([c60a348](c60a348)) * **external-node:** save protocol version before opening a batch ([#3136](#3136)) ([d6de4f4](d6de4f4)) * Prover e2e test ([#2975](#2975)) ([0edd796](0edd796)) * **prover:** Add min_provers and dry_run features. Improve metrics and test. ([#3129](#3129)) ([7c28964](7c28964)) * **tee_verifier:** speedup SQL query for new jobs ([#3133](#3133)) ([30ceee8](30ceee8)) * vm2 tracers can access storage ([#3114](#3114)) ([e466b52](e466b52)) * **vm:** Return compressed bytecodes from `push_transaction()` ([#3126](#3126)) ([37f209f](37f209f)) ### Bug Fixes * **call_tracer:** Flat call tracer fixes for blocks ([#3095](#3095)) ([30ddb29](30ddb29)) * **consensus:** preventing config update reverts ([#3148](#3148)) ([caee55f](caee55f)) * **en:** Return `SyncState` health check ([#3142](#3142)) ([abeee81](abeee81)) * **external-node:** delete empty unsealed batch on EN initialization ([#3125](#3125)) ([5d5214b](5d5214b)) * Fix counter metric type to be Counter. ([#3153](#3153)) ([08a3fe7](08a3fe7)) * **mempool:** minor mempool improvements ([#3113](#3113)) ([cd16083](cd16083)) * **prover:** Run for zero queue to allow scaling down to 0 ([#3115](#3115)) ([bbe1919](bbe1919)) * restore instruction count functionality ([#3081](#3081)) ([6159f75](6159f75)) * **state-keeper:** save call trace for upgrade txs ([#3132](#3132)) ([e1c363f](e1c363f)) * **tee_prover:** add zstd compression ([#3144](#3144)) ([7241ae1](7241ae1)) * **tee_verifier:** correctly initialize storage for re-execution ([#3017](#3017)) ([9d88373](9d88373)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <zksync-era-bot@users.noreply.github.com>
What ❔
Adds support for CoinMarketCap as a price API for base token prices.
Why ❔
Currently, the only supported API is CoinGecko. It's not ideal to only support a single 3rd party API here, so this provides some more degrees of freedom, and makes base token less reliant on a single third-party provider.
Checklist
zk fmt
andzk lint
.