Skip to content

Conversation

@naddison36
Copy link
Collaborator

Contract changes:

  • platformAddress and vaultAddress in the InitializableAbstractStrategy changed to be immutables.
  • private deprecated variables added to InitializableAbstractStrategy to preserve the storage slots.
  • constructor added to each of the strategy contracts to take the BaseStrategyConfig struct that contains platformAddress and vaultAddress.
  • the initialize function on the strategy contract changed to not include the platformAddress and vaultAddress params.

Contract change checklist:

  • Code reviewed by 2 reviewers.
  • Copy & paste code review security checklist below this checklist.
  • Unit tests pass
  • Slither tests pass with no warning
  • Echidna tests pass if PR includes changes to OUSD contract (not automated, run manually on local)

* Refactor base strategy to use immutables

* Fixed strategy deployments in 001_core and fixtures

* Generated new strategy diagrams
@rafaelugolini rafaelugolini temporarily deployed to preview-ousd-nicka-abst-8jd0wq July 31, 2023 07:09 Inactive
@rafaelugolini rafaelugolini temporarily deployed to preview-oeth-nicka-abst-m9vozt July 31, 2023 07:09 Inactive
@rafaelugolini rafaelugolini temporarily deployed to preview-ousd-nicka-abst-8jd0wq July 31, 2023 07:16 Inactive
@rafaelugolini rafaelugolini temporarily deployed to preview-oeth-nicka-abst-m9vozt July 31, 2023 07:16 Inactive
@naddison36 naddison36 self-assigned this Jul 31, 2023
@naddison36 naddison36 added contracts Works related to contracts OETH OETH related things OUSD OUSD releated things labels Jul 31, 2023
@naddison36 naddison36 marked this pull request as ready for review July 31, 2023 07:17
/**
* @param _stratConfig The platform and OToken vault addresses
*/
constructor(BaseStrategyConfig memory _stratConfig)
Copy link
Member

Choose a reason for hiding this comment

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

should all these constructor params be calldata instead of memory?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

only storage or memory is supported for struct param.

@sparrowDom
Copy link
Member

There look like ok changes to me on the other hand probably no need to rush it for the code freeze today?

@sparrowDom
Copy link
Member

Ah so we are only scoping today and not doing the actual code freeze.

There are some fork tests failing other than that LGTM

Copy link
Member

@sparrowDom sparrowDom left a comment

Choose a reason for hiding this comment

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

LGTM

@naddison36
Copy link
Collaborator Author

The fork tests are failing as we have removed liquidity from the strategies. They should work again once we reenable the strategies. If not, I'll fix

@naddison36 naddison36 merged commit b238232 into master Aug 1, 2023
@naddison36 naddison36 deleted the nicka/abstract-strategy-gas branch August 1, 2023 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contracts Works related to contracts OETH OETH related things OUSD OUSD releated things

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants