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

Deploy 119 and 120 - Curve Pool Booster Mainnet and Arbitrum #2367

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

clement-ux
Copy link
Contributor

@clement-ux clement-ux commented Jan 27, 2025

Description:

Deploy on Mainnet and Arbitrum: Curve Pool Booster.

Dependencies:

Deployment:

  • 119_pool_booster_curve.js
  • 120_pool_booster_curve.js

Contracts:

  • Arbitrum
Contract Address
Curve Pool Booster Proxy 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8
Curve Pool Booster Implementation 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499
  • Mainnet
Contract Address
Curve Pool Booster Proxy 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8
Curve Pool Booster Implementation 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499

Governance

  • No governance process.

Deploy checklist

Two reviewers complete the following checklist:

- [ ] All deployed contracts are listed in the deploy PR's description
- [ ] Deployed contract's verified code (and all dependencies) match the code in master
- [ ] Contract constructors have correct arguments
- [ ] The transactions that interacted with the newly deployed contract match the deploy script.
- [ ] Governance proposal matches the deploy script
- [ ] Smoke tests pass after fork test execution of the governance proposal

@clement-ux clement-ux added the deployment Deploying smart contract label Jan 27, 2025
Copy link

codecov bot commented Jan 27, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 51.31%. Comparing base (7a85a76) to head (810c52c).
Report is 3 commits behind head on clement/pool-booster-curve.

Additional details and impacted files
@@                      Coverage Diff                       @@
##           clement/pool-booster-curve    #2367      +/-   ##
==============================================================
- Coverage                       51.93%   51.31%   -0.63%     
==============================================================
  Files                              92       92              
  Lines                            4513     4513              
  Branches                         1195     1195              
==============================================================
- Hits                             2344     2316      -28     
- Misses                           2166     2194      +28     
  Partials                            3        3              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@naddison36
Copy link
Collaborator

naddison36 commented Jan 28, 2025

Mainnet

  • All deployed contracts are listed in the deploy PR's description
    • CurvePoolBoosterProxy
    • CurvePoolBooster
  • Deployed contract's verified code (and all dependencies) match the code in master
    • CurvePoolBoosterProxy
    • CurvePoolBooster
  • Contract constructors have correct arguments
  • The transactions that interacted with the newly deployed contract match the deploy script.
    • CreateX is a little different in the initialize is done in the same tx as the deploy of the proxy
  • Governance proposal matches the deploy script
    • There are none
  • Smoke tests pass after fork test execution of the governance proposal
sol2uml diff 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8 .,node_modules -v
Compared the "CurvePoolBoosterProxy" contract with address 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/proxies/InitializeGov
sol2uml diff 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499 .,node_modules
Compared the "CurvePoolBooster" contract with address 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/governance/Strategizable.sol
match   contracts/interfaces/ICampaignRemoteManager.sol
match   contracts/strategies/CurvePoolBooster.sol
match   contracts/utils/Initializable.sol

Remember to mark proxy contracts in Etherscan
Screenshot 2025-01-28 at 3 25 58 pm

Here's a trace of the deploy txs since this is the first time Origin has used CreateX

ffecfbfd5e8c4e6c

Arbitrum

  • All deployed contracts are listed in the deploy PR's description
    • CurvePoolBoosterProxy
    • CurvePoolBooster
  • Deployed contract's verified code (and all dependencies) match the code in master
    • CurvePoolBoosterProxy
    • CurvePoolBooster
  • Contract constructors have correct arguments
  • The transactions that interacted with the newly deployed contract match the deploy script.
    • CreateX is a little different in the initialize is done in the same tx as the deploy of the proxy
  • Governance proposal matches the deploy script
    • There are none
  • Smoke tests pass after fork test execution of the governance proposal
sol2uml diff 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8 .,node_modules -n arbitrum 
Compared the "CurvePoolBoosterProxy" contract with address 0xF4c001dfe53C584425d7943395C7E57b10BD1DC8 on arbitrum
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol
match   contracts/proxies/Proxies.sol
sol2uml diff 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499 .,node_modules -n arbitrum 
Compared the "CurvePoolBooster" contract with address 0x5c1eFE0D9C367eB3e93Acc0c272821f06507A499 on arbitrum
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/governance/Strategizable.sol
match   contracts/interfaces/ICampaignRemoteManager.sol
match   contracts/strategies/CurvePoolBooster.sol
match   contracts/utils/Initializable.sol

@naddison36 naddison36 merged commit 33cebda into clement/pool-booster-curve Jan 30, 2025
12 of 20 checks passed
@naddison36 naddison36 deleted the clement/deploy_119 branch January 30, 2025 09:05
naddison36 added a commit that referenced this pull request Jan 30, 2025
* feat: Implement Curve Pool Booster.

* feat: Add proxy for Curve Pool Booster.

* feaat: prepare deployment file for Curve Pool Booster.

* feat: add deployment file for Curve Pool Booster.

* feat: Add more test.

* Revert "Merge remote-tracking branch 'origin/master' into clement/pool-booster-curve"

This reverts commit b3de3b0, reversing
changes made to e65f962.

* fix: bring back latest changes on master.

* Fix tests

* feat: send ETH back.

* feat: Add events.

* feat: rescue tokens.

* feat: add possiblity to blacklist users.

* feat: add convex vecrv voter.

* prettier

* feat: Add fee.

* fix: adjust deploy number.

* fix: adjust deployment file with new Curve Pool.

* feat: add new curve pool/gauge.

* fix: use `Strategizable`instead of operator.

* prettier.

* fix: adjust event names.

* docs: add natspec to functions.

* fix: prevent `feeCollector` to be address(0).

* fix: use `call` instead of `transfer` for ETH.

* fix: use internal logic for setters.

* fix: adjust event name.

* fix: cache balance for gas.

* fix: ensure receiver is not address(0).

* fix: type adjustment.

* fix: emit event when fees are collected.

* fix: add onlyGovernor for initialization.

* fix: use safeApprove.

* fix: add natspec.

* fix: group logic.

* fix: use multichain strategist.

* prettier.

* fix: adjust deployment number.

* fix: adjust comments.

* fix: change from BASE_FEE to FEE_BASE.

* fix: add reentrancy blocker.

* fix: handle rebasing token for fees.

* linter + prettier.

* Add `closeCampaign()`  to CurvePoolBooster. (#2360)

* feat: add closeCampaign function to CurvePoolBooster.

* fix: remove immutable from campaignRemoteManager.

* fix: adjust naming and prettier.

* feat: configure deploymment with CreateX.

* fix: use encodeFunctionData to encodeWithSignature.

* feat: add arbitrum deployment file for CurvePoolBooster.

* feat: create a funciton for encodedSalt.

* feat: create multichainStrategist variable.

* fix: change proxy owner.

* try something.

* fix: adjust with new CampaignRemoteManager.

* fix merge conflit.

* fix: add more tests.

* feat: add extra test for Curve Pool Booster.

* prettier.

* fix: add missing`nonReentrant`.

* fix: approve 0 before approving.

* fix: gas optimization.

* fix: adjust salt.

* Ran prettier for js files

* Fixed deployName in Arb deploy of Pool Booster

* Deploy 119 and 120 - Curve Pool Booster Mainnet and Arbitrum (#2367)

* fix: adjust deployName.

* fix: deploy 119 and 120.

* feat: add safeTransfer for USDT.

* fix: adjust deployed address for CurvePoolBooster.

* fix: simplidy tests.

* Fixed Arb deploy script of Curve Pool Booster

* FIxed forked coverage tests

* Disabled OUSD AMO fork tests

* Fixed CurvePoolBooster fork test

* Fixed SimpleHarvester fork tests

---------

Co-authored-by: Shahul Hameed <[email protected]>
Co-authored-by: Domen Grabec <[email protected]>
Co-authored-by: Nicholas Addison <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployment Deploying smart contract
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants