Skip to content
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

Release: Sorted oracles update #10891

Merged

Conversation

pahor167
Copy link
Contributor

@pahor167 pahor167 commented Jan 17, 2024

Description

Introduction of equivalent tokens in Sorted Oracles. With this change it is possible for function medianRate called with tokenA argument to return value of tokenB when equivalent token mapping is set between tokenA and tokenB.

Since some tokens have only 6 digits compared to cUSD with 18, multiplier was introduces for equivalent token mapping.

This PR also bring's in already audited Mento's SortedOracles smart contract update: https://github.com/mento-protocol/mento-core/blob/develop/contracts/oracles/SortedOracles.sol

Other changes

Mento tests were also migrated

Tested

Added mento tests and updated some of our unit tests

Related issues

Backwards compatibility

Yes

@pahor167 pahor167 requested a review from a team as a code owner January 17, 2024 15:30
@pahor167 pahor167 changed the base branch from master to release/core-contracts/10 January 17, 2024 15:30
@pahor167 pahor167 changed the title Release Sorted oracles update Release: Sorted oracles update Jan 17, 2024
@martinvol martinvol changed the base branch from release/core-contracts/10 to release/core-contracts/11 January 17, 2024 16:44
@soloseng
Copy link
Contributor

Could you link the issue this fixes or add a description, providing more context for the proposed changes.

packages/protocol/test-sol/stability/SortedOracles.t.sol Outdated Show resolved Hide resolved
packages/protocol/test-sol/stability/SortedOracles.t.sol Outdated Show resolved Hide resolved
packages/protocol/test-sol/stability/SortedOracles.t.sol Outdated Show resolved Hide resolved
packages/protocol/test-sol/stability/SortedOracles.t.sol Outdated Show resolved Hide resolved
import "../../contracts/common/linkedlists/SortedLinkedListWithMedian.sol";
import { Constants } from "../constants.sol";

contract SortedOraclesTest is Test, Constants {
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure if intentional, but there isnt a test for the setBreakerBox() function

Copy link
Contributor

Choose a reason for hiding this comment

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

It's already on Mento's

Copy link
Contributor

Choose a reason for hiding this comment

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

I saw it in the mento test, but according to your comment, it's not realy clear yet if the mento test will stay long term. Might be best to add the breaker tests to this file as well.

@pahor167 pahor167 changed the base branch from release/core-contracts/11 to release/core-contracts/11_2 January 26, 2024 14:08
@pahor167 pahor167 enabled auto-merge (squash) January 26, 2024 22:13
@timmoreton timmoreton merged commit a1d10fb into release/core-contracts/11_2 Jan 27, 2024
25 checks passed
@timmoreton timmoreton deleted the pahor/release/10/sortedOraclesUpdate branch January 27, 2024 21:59
pahor167 added a commit that referenced this pull request Apr 19, 2024
* Release: Sorted oracles update (#10891)

* Sorted oracles update

* integration test fixes

* constants added

* Update packages/protocol/contracts/stability/SortedOracles.sol

Co-authored-by: Martín Volpe <[email protected]>

* Removal of Mento reference

* Update packages/protocol/test-sol/stability/SortedOracles.t.sol

Co-authored-by: soloseng <[email protected]>

* Update packages/protocol/test-sol/stability/SortedOracles.t.sol

Co-authored-by: soloseng <[email protected]>

* PR comments

* Equivalent tokens on top of updated sorted oracles  (Based of CR10) (#10904)

* Brought changes from https://github.com/celo-org/celo-monorepo/pull/10895/files#diff-ba272032c5f1b7e89d5777b3c886685b581324bdf22733ee272e2790f5d631df

* Fuzzy added

---------

Co-authored-by: pahor167 <[email protected]>

* prettify fix

---------

Co-authored-by: Martín Volpe <[email protected]>
Co-authored-by: soloseng <[email protected]>

* FeeCurrency Adapter (#10907)

* FeeCurrency Adapter

* PR comments

* Format documents

* gitmodules

* submodules added

* solidity version fix

* OZ contracts same commit as master

* Revert "OZ contracts same commit as master"

This reverts commit 8d8f2d6.

* OZ to same commit as master

* Getter&Setter for wrapped token

* Proxy added

* split of FeeCurrencyAdapter

* prettier fix

* refactor

* Update packages/protocol/test-sol/stability/FeeCurrencyAdapter.t.sol

Co-authored-by: Martín Volpe <[email protected]>

* PR comments

* PR comments

* Decimals + Total supply added

* Update packages/protocol/contracts-0.8/stability/FeeCurrencyAdapter.sol

* Update packages/protocol/contracts-0.8/stability/FeeCurrencyAdapter.sol

* Trigger

* Wrapper reference removed

* interface added

---------

Co-authored-by: Martín Volpe <[email protected]>
Co-authored-by: Tim Moreton <[email protected]>
Co-authored-by: alvarof2 <[email protected]>

* Calculation of unlockable gold (#10731)

* Fix for historical vote records

* contractkit fix

* lint fix

* Governance version update

* PR comments

* extended test

* Remove console.log

* Test

* lint fix

* version fix

* version fix

---------

Co-authored-by: Martín Volpe <[email protected]>

* Gas Price Minimum should never be zero (#10909)

* GasPriceMinimum backward compatibility fix (#10922)

* Update Dockerfiles (#10915)

* Remove references to packages deleted

* Remove circleci dockerfiles and workflow

* Delete reference to patches folder

* Update workload-id-provider in metadata-crawler-build job (#10916)

Use `master` workload-id-provider pool

* fix ganache dependency resolution (#10917)

* fix & cleanup

* fixed resolved field in lock file

* test

* Tooling fix

* lint fix

* revert of gas price minimum

* Update packages/protocol/lib/compatibility/ast-code.ts

Co-authored-by: Martín Volpe <[email protected]>

---------

Co-authored-by: Javier Cortejoso <[email protected]>
Co-authored-by: soloseng <[email protected]>
Co-authored-by: Martín Volpe <[email protected]>

* Storage gap for FeeCurrencyAdapter (#10933)

Storage gap

* Debit 0 value check (#10930)

* Removal of SortedOracle multiplier (#10931)

* Removal of SortedOracle multiplier

* removal of comment

* Make super of FeeCurrencyAdapterOwnable.sol explicit (#10944)

* Added note to FeeCurrencyAdapter.sol initializer (#10943)

* FeeAdapter debit round up (#10940)

* Round up of debit

* PR comments

* Code quality post audit (#10945)

Code quality

* SortedOracles sourced from Mento core for CR10 (#10946)

* SortedOracles sourced from Mento core

* PR comments

* Update gap size to follow 50 rule (#10948)

* CR11 fix verification (#10951)

* Force AddressSortedLinkedListWithMedian library redeploy for CR11

* CI fix

* PR comments

* yarn lock

* Updates specification of SrotedOracles (#10970)

* Update Natspec for FeeAdapter (#10969)

* dockerfile

---------

Co-authored-by: Martín Volpe <[email protected]>
Co-authored-by: soloseng <[email protected]>
Co-authored-by: Tim Moreton <[email protected]>
Co-authored-by: alvarof2 <[email protected]>
Co-authored-by: Javier Cortejoso <[email protected]>
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.

4 participants