Skip to content

add new price provider with base asset#110

Open
shivam-ef wants to merge 9 commits intodevfrom
update-price-provider
Open

add new price provider with base asset#110
shivam-ef wants to merge 9 commits intodevfrom
update-price-provider

Conversation

@shivam-ef
Copy link
Copy Markdown
Contributor

@shivam-ef shivam-ef commented Mar 24, 2026

Note

High Risk
High risk because it introduces a new price provider implementation and an on-chain upgrade/config bundle that changes how token prices are sourced and converted, impacting collateral/borrowing and liquidation logic.

Overview
Introduces PriceProviderV2, replacing per-asset booleans with a configurable baseAsset field so tokens can be priced in arbitrary base assets (e.g., ETH/BTC/EUR) and converted to USD at read time; adds base-asset bookkeeping plus stricter config validation and safe removal controls.

Adds a Gnosis Safe upgrade script and generated transaction bundle to upgrade the existing PriceProvider proxy to V2 and set configs for 19 OP mainnet tokens (including a new liquidEUR), and updates OP deployment configs/fixtures to include liquidEUR support and switch sethfi to an accountant oracle.

Reviewed by Cursor Bugbot for commit 63cfbd0. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ef47d29520

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/oracle/PriceProviderV2.sol Outdated
Comment thread src/oracle/PriceProviderV2.sol
Comment thread scripts/gnosis-txs/UpgradeToPriceProviderV2.s.sol Outdated
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 63cfbd0. Configure here.

@@ -0,0 +1 @@
{"chainId":"10","safeAddress":"0xa6cf33124cb342d1c604cac87986b965f428aac4","meta": { "txBuilderVersion": "1.16.5" }, "transactions": [{"to":"0x44dd2372fe7b97c4b4d6a7d4decf72466485bacb","value":"0","data":"0x4f1ef2860000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d9051900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001be40e1b0b54000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000068f180fcce6836688e9084f035309e29bf0a2095000000000000000000000000dcb612005417dc906ff72c87df732e5a90d49e1100000000000000000000000042000000000000000000000000000000000000060000000000000000000000000b2c639c533813f4aa9d7837caf62653d097ff8500000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000080eede496655fb9047dd39d9f418d5483ed600df000000000000000000000000d83e3d560ba6f05094d9d8b3eb8aaea571d1864e000000000000000000000000a519afbc91986c0e7501d7e34968fee51cd901ac000000000000000000000000e0080d2f853ecddbd81a643dc10da075df26fd3f000000000000000000000000e5d3854736e0d513aae2d8d708ad94d14fd56a6a00000000000000000000000086b5780b606940eb59a062aa85a07959518c016100000000000000000000000008c6f91e2b681faf5e17227f2a44c307b3c1364c000000000000000000000000939778d83b46b456224a33fb59630b11dec566630000000000000000000000005a7facb970d094b6c7ff1df0ea68d99e6e73cbff000000000000000000000000f0bb20865277abd641a307ece5ee04e79073416c0000000000000000000000005f46d540b6ed704c3c8789105f30e075aa900726000000000000000000000000657e8c867d8b37dcc18fa4caead9c45eb088c642000000000000000000000000cc476b1a49bcdf5192561e87b6fb8ea78aa28c1300000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000017e000000000000000000000000013e3ee699d1909e989722e753853ae30b17e08c5000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d702dd976fb76fffc2d3963d037dfdae5b04e593000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062779cdaadd1eb782eb4ff534739b55763a48385000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a035b1fe0000000000000000000000000000000000000000000000000000000000000000000000000000000013e3ee699d1909e989722e753853ae30b17e08c5000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016a9fa2fda030272ce99b29cf780dfa30361e0f3000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ecef79e109e997bca29c1c0897ec9d7b03647f5e000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008bf42811876e1b692d0e70f61b80e1fbc68ef1bf000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000006978000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f860581483253b81ecb0e89b2b978a202de553d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a035b1fe000000000000000000000000000000000000000000000000000000000000000000000000000000002acd77fefed51fa80fbf1520701c73ac506d4381000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a035b1fe000000000000000000000000000000000000000000000000000000000000000000000000000000003e377b4e02bc848ade3c289477f21441b7e014c2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a035b1fe0000000000000000000000000000000000000000000000000000000000000000000000000000000058ddf77a329ccbe2f4c2114c64ed9e12ec8a13560000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008454985aa5bc30162ac258d3ccf89e9ba6604d99000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a035b1fe00000000000000000000000000000000000000000000000000000000000000000000000000000000c315d6e14ddcdc7407784e2caf815d131bc1d3e7000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2c639c533813f4aa9d7837caf62653d097ff850000000000000000000000000000000000000000000000000000000000000004679aefce00000000000000000000000000000000000000000000000000000000000000000000000000000000eb440b36f61bf62e0c54c622944545f159c3b790000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004679aefce00000000000000000000000000000000000000000000000000000000000000000000000000000000b4479d436dda5c1a79bd88d282725615202406e3000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000002a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d05d94a5f1e76c18fbeb7a13d17c8a314088198000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000002a30000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000004679aefce00000000000000000000000000000000000000000000000000000000000000000000000000000000ea23ac6d7d11f6b181d6b98174d334478adae6b0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068f180fcce6836688e9084f035309e29bf0a20950000000000000000000000000000000000000000000000000000000000000004679aefce000000000000000000000000000000000000000000000000000000000000000000000000000000001b293dc39f94157fa0d1d36d7e0090c8b8b8c13f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068f180fcce6836688e9084f035309e29bf0a20950000000000000000000000000000000000000000000000000000000000000004679aefce0000000000000000000000000000000000000000000000000000000000000000000000000000000001b910c1aa51cdc4a2a84d76cb255c4974bf8a190000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcb612005417dc906ff72c87df732e5a90d49e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}]} No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale output JSON uses wrong sethfi oracle configuration

High Severity

The committed output/UpgradeToPriceProviderV2.json transaction bundle doesn't match the current script. The old sethfi Pyth oracle (0x8454985aA5bc30162aC258D3CCf89E9BA6604d99) is present in the output, while the new accountant oracle (0x05A1552c5e18F5A0BB9571b5F2D6a4765ebdA32b) defined as SETHFI_ORACLE in the script is completely absent. The output was generated from a prior script version where sethfi used a Pyth oracle without a base asset, rather than the current accountant oracle with ETHFI as baseAsset. If this Gnosis Safe transaction bundle is submitted as-is, sethfi would be configured with the wrong oracle type, wrong decimals (16 vs 18), and no base-asset conversion.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 63cfbd0. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant