Skip to content

test: integration revshare late opt in#33

Merged
0xDiscotech merged 66 commits into
sc-feat/revshare-setupfrom
test/integration-revshare-opt-out
Oct 17, 2025
Merged

test: integration revshare late opt in#33
0xDiscotech merged 66 commits into
sc-feat/revshare-setupfrom
test/integration-revshare-opt-out

Conversation

@0xChin
Copy link
Copy Markdown
Member

@0xChin 0xChin commented Oct 16, 2025

Gas Limits fix

The late opt in task was, like in the previous task, using a fixed gas limit for all txs, in this case it was using 300k gas for calling setters (too high) and for deploying contracts (too low). it has been fixed based on the deployments gas costs computed in our previous tenderly simulations. the setters gas limits might change given it hasn't yet been simulated, and it's now in 50k

Late opt in integration tests

Two tests were added, considering there is a scenario were a custom calculator is used, and another were the default one is used. In the last one (the default calculator scenario), 2 contracts are deployed (L1 Withdrawer, SuperchainRevSharesCalculator). Given that it is not in the same order as if the chain did opt-in, the precalculated addresses are different due to the nonce change, that's why the variables L1_WITHDRAWER_LATE_OPT_IN and REV_SHARE_CALCULATOR_LATE_OPT_IN were created

@0xChin 0xChin requested a review from 0xDiscotech October 16, 2025 22:58
@0xChin 0xChin self-assigned this Oct 16, 2025
@0xChin 0xChin changed the title test: integration revshare opt out test: integration revshare late opt in Oct 17, 2025
Comment thread src/template/LateOptInRevenueShare.sol Outdated
/// - Setter calls for Fee Vaults and Fee Splitter: 50,000 TODO: change after tenderly simulations

/// @notice The gas limit for the SC Rev Share Calculator deployment.
uint64 internal constant SC_REV_SHARE_CALCULATOR_DEPLOYMENT_GAS_LIMIT = 625_000;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

We have repeated constants for gas costs in different files, could we create a single RevShareGasLimit file with all of them? In case of a change, we'll only need to do it there

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@0xDiscotech 0xDiscotech merged commit cf494c8 into sc-feat/revshare-setup Oct 17, 2025
1 check passed
@0xDiscotech 0xDiscotech deleted the test/integration-revshare-opt-out branch October 17, 2025 18:42
0xDiscotech added a commit that referenced this pull request Nov 18, 2025
…ethereum-optimism#1257)

* feat: add Revenue Share Upgrade Path (#8)

* feat: Deploy FeesDepositor (#15)

* feat: late opt-in template (#21)

* refactor: contracts update creationcode (#23)

* fix: sync (#24)

* test: add require tests for fields on Revenue Sharing templates (#26)

* fix: L2 target ProxyAdmin (#27)

* chore: update cost of upgrades and deployments (#29)

* test: revenue sharing upgrade unit tests (#22)

* test: add basic validation for fees depositor template (#32)

* chore: updates the bytecode for vaults, using initialize (#31)

* test: integration supersim revshare (#30)

* fix: broken simulations

* fix: wrong location of synced regression tests

* test: integration revshare late opt in (#33)

* fix: ir fixes (#38)

* chore: gas costs (#39)

* fix: minors (#46)

* fix: remove vm usage for getCreate2Address utils function (#48)

* feat: descope late opt in (#51)

* feat: add rev share upgrader (#53)

* fix: bash on comment

* fix: forge fmt

* refactor: reduce code size by splitting logic between lib and contract (#59)

* refactor: reduce code size by splitting logic between lib and contract

* chore: remove comment

* chore: remove prefix

* refactor: split library (#60)

* refactor: reduce code size by splitting logic between lib and contract

* chore: remove comment

* chore: remove prefix

* refactor: split library in two to avoid code size error

* feat: regression tests (#61)

* fix: relay typo

* fix: improve template validation checks (#62)

* fix: wrong fee splitter bytecode (#63)

* fix: skip comment

* fix: rename test create two deployer

* chore: add commit

* feat: add upgrader deployment script (#64)

* chore: update gas limits

* refactor: use create two to get a deterministic deployment of the upgrader (#68)

* chore: add todos (#66)

* chore: remove tenderly simulations (#65)

* chore: deploy and update new contract (#67)

* fix: forge fmt (#69)

* chore: fuzz init code on get create2 test (#70)

* feat: deploy revshare mainnet (#71)

* fix: forge fmt (#72)

* chore: add todo comments (#73)

* chore: reduce tenderly gas

Co-authored-by: Maurelian <john@oplabs.co>

* fix: reduce tenderly gas limit on sepolia (#77)

---------

Co-authored-by: IamFlux <175354924+0xiamflux@users.noreply.github.com>
Co-authored-by: Chiin <77933451+0xChin@users.noreply.github.com>
Co-authored-by: 0xchin <alanracciatti1220@gmail.com>
Co-authored-by: Maurelian <john@oplabs.co>
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.

3 participants