Create digest helper function for meta tx forwarder#430
Merged
Conversation
Zitzak
requested changes
Mar 12, 2024
Collaborator
Zitzak
left a comment
There was a problem hiding this comment.
Found only one small thing. Otherwise looks good!
marvinkruse
pushed a commit
that referenced
this pull request
Apr 12, 2024
* Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash()
marvinkruse
pushed a commit
that referenced
this pull request
Apr 12, 2024
* Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash()
marvinkruse
added a commit
that referenced
this pull request
Apr 14, 2024
* [DO NOT MERGE] OpenZeppelin V5 update (#401) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces --------- Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: FHieser <felix_hieser@web.de> * chore: update CI to include testing scripts * Update ci.yml (#421) * fix: solved address collition in bc test * SC-122: Implement MultiCall and MetaTransaction Support (#405) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * 394 metatransactions dev (#399) * Modify ModuleManager to enact ERC2771 * Intermediate Push I need to check something and pushing makes most sense he * Fix inheritance to enable build * Expose isTrustedForwarder in Orchestrator * Implement modified ERC2771 to Module * Fix Tests A lot of modules havent been properly initialized in the tests. The fix targets that by actually using the proxy Clone implementation and then properly initializing them * Add Module Test * Implement MinimalForwarder * Fix MakeFile * Create E2ETest * Add specific Role section in E2E Test * Remove todo * Marvin G Fix * Foundryup formatting * Fix after openZepplelin Update * Create Transaction forwarder * Update IModule.sol * Change to Transaction forwarder * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * WIP * Fixing tests * Cleanup * Add Multicall Section into E2ETest * Cleanup * Merge fix * Fix based on comments * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces * Fix merge * Create DeployAndSetUpTransactionForwarder.s.sol * Add Transaction Forwarder Script to deployment scripts --------- Co-authored-by: Zitzak <marvin88gr@gmail.com> * SC-140: Implement version and intervention mechanism in beacon (#418) * Rename Contracts * Refactor Beacons and add Version function * Make it buildable * Fix test * Cleanup * Update InverterBeacon.t.sol * Update InverterBeacon.t.sol * add BeaconProxy Test * Clarify Outcommented * Fix Beacon Upgrade Script * Update UpgradeBeacon.s.sol * Add Intervention Mechanism to InverterBeacon * Make it buildable * PR comment fix * Add tests * Add Interface * Cleanup * Move and update Beacon e2e * Update InverterBeaconE2E.t.sol * Cleanup * Adapt naming * Fix after merge * Fix ModuleTest bug * Create digest helper function for meta tx forwarder (#430) * Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash() * Update deployment metadata * typo fixes * format + change active addresses * Fix: Revamp scripts & re-add to CI (#419) * Fix: Workflow File Syntax * Chore: Update VSCode settings - Adding the git.detectSubmodule setting to the config. This tells your local VSCode to ignore the submodules in the "git" tab. Which makes it a bit easier to work with, as we will only touch the submodules via forge commands anyways. - Update remote compiler version to 0.8.23 as well (just in case) * Chore: Add install cmd to Makefile * Fix: Old Wording in Makefile * Add basic run functions * Update ci.yml * Swap scripts to higher position * Update ci.yml * Test removing the override of the clean command * Split make pre-test into pre-test and pre-script * Update Makefile * Update Env Variables in make file * Fix typo * Quick test * Revert "Quick test" This reverts commit 192f71e. * Change comments * Update ci.yml to source the env from dev.env * Test if set dev command was wrong * Update ci.yml * Update ci.yml * Test setting env in make file directly * Load directly from the dev.env file * Create DeployRecurringPaymentManager.s.sol * Simplify Transaction Forwarder Script * Update DeployAndSetUpBeacon.s.sol * Fix comments * Update DeploymentScript.s.sol Add missing scripts and todo comments for @Zitzak * fix: DeploymentScript * Remove Beacon from Factories * Small Fixes * Fix merge * Remove todos * Update ci.yml * Revert removal of make clean * Change metadata * Fix: Clarify comment * Chore: Update yml file to use make commands * Tests: Add check for bc funding manager in tests --------- Co-authored-by: FHieser <felix_hieser@web.de> Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> * CI: Enable CI on certain Branches & all PRs * Fix: Enable <18 Decimal Tokens as Collateral in Bonding Curve (#435) * change decimals to 6 * working draft some test are still failing because of excessive rejections * formatting * bugfix * fix vm.assume rejections * review fixes modified the getVirtual... functions to return the value in the native decimal amount instead of the normalized one and added some tests * add normalization to virtualSupply this should help set stuff up for external BC tokens * changes after discussion with marvin + corresponding tests Ended up moving the place where the decimals get converted, and adapted all tests * remove remaining question * format the online editor merge messed the format up * remove stray comments * Feat: Add Governance Contract (#436) * Create IGovernanceContract.sol * Create GovernanceContract.sol * Add Natspec * Refactoring and improvements * Create Tests * Add more detail to test * Add Governance to dev.env * Update ModuleFactoryMock.sol * Update ModuleFactory.t.sol * Remove comment * Remove comments * Update Module Factory to check for governanceContract ownership * Add Governance to E2ETests * Update InverterBeaconE2E.t.sol * Delete ModuleTest_Template.txt * Fix Tests * Fix to a buildable state in scripts * Create DeployGovernanceContract.s.sol * Fix description * Remove validNewVersion and add setImplementation in Constructor * Update Makefile * Fix typo * Update DeploymentScript.s.sol * Rename to governor contract * Correct error naming and set minimum Timelock Period to 48h * Revert "Delete ModuleTest_Template.txt" This reverts commit a62d07c. * Fix based on recommondations * Test for beacon not owned by Governor * Make Governance Implementation a proxy in scripts and e2e * accessible instead of accessable * Fix typos * Adapt naming * Adapt naming * Change naming * Adapt naming * Remove Ownable dependency * Use AccessControlUpgradeable instead of AccessControl * Adapt naming * Forgot the R in Governor * Fix inheritance * Remove beacon implementation assumption * update _contextSuffixLength * Remove test for empty beacon implementation * Let Module inherit from ERC2771ContextUpgradeable * Fix init in Module test * Fix tests * Add batched role grant/revoke (#444) * Add batched functions * Clean up AuthorizerMock * Update tests * Feat: Allow zero minor version for first implementation (#446) * Feat: Allow minor version to be zero Note: Only possible during intialization, which is why the modifier (used for any subsequent version) only allows versions greater than zero/the last version. * Test: Adapt tests to cover zero version flow * Test: Change tests to all start at minor version zero * Scripts: Change deployment scripts to start with minor version zero * Feat: Allow minor version to be zero Note: Only possible during intialization, which is why the modifier (used for any subsequent version) only allows versions greater than zero/the last version. * Test: Adapt tests to cover zero version flow * Test: Change tests to all start at minor version zero * Scripts: Change deployment scripts to start with minor version zero * [DO NOT MERGE] OpenZeppelin V5 update (#401) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces --------- Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: FHieser <felix_hieser@web.de> * chore: update CI to include testing scripts * Update ci.yml (#421) * SC-122: Implement MultiCall and MetaTransaction Support (#405) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * 394 metatransactions dev (#399) * Modify ModuleManager to enact ERC2771 * Intermediate Push I need to check something and pushing makes most sense he * Fix inheritance to enable build * Expose isTrustedForwarder in Orchestrator * Implement modified ERC2771 to Module * Fix Tests A lot of modules havent been properly initialized in the tests. The fix targets that by actually using the proxy Clone implementation and then properly initializing them * Add Module Test * Implement MinimalForwarder * Fix MakeFile * Create E2ETest * Add specific Role section in E2E Test * Remove todo * Marvin G Fix * Foundryup formatting * Fix after openZepplelin Update * Create Transaction forwarder * Update IModule.sol * Change to Transaction forwarder * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * WIP * Fixing tests * Cleanup * Add Multicall Section into E2ETest * Cleanup * Merge fix * Fix based on comments * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces * Fix merge * Create DeployAndSetUpTransactionForwarder.s.sol * Add Transaction Forwarder Script to deployment scripts --------- Co-authored-by: Zitzak <marvin88gr@gmail.com> * SC-140: Implement version and intervention mechanism in beacon (#418) * Rename Contracts * Refactor Beacons and add Version function * Make it buildable * Fix test * Cleanup * Update InverterBeacon.t.sol * Update InverterBeacon.t.sol * add BeaconProxy Test * Clarify Outcommented * Fix Beacon Upgrade Script * Update UpgradeBeacon.s.sol * Add Intervention Mechanism to InverterBeacon * Make it buildable * PR comment fix * Add tests * Add Interface * Cleanup * Move and update Beacon e2e * Update InverterBeaconE2E.t.sol * Cleanup * Adapt naming * Fix after merge * Fix ModuleTest bug * Create digest helper function for meta tx forwarder (#430) * Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash() * Update deployment metadata * typo fixes * format + change active addresses * Fix: Revamp scripts & re-add to CI (#419) * Fix: Workflow File Syntax * Chore: Update VSCode settings - Adding the git.detectSubmodule setting to the config. This tells your local VSCode to ignore the submodules in the "git" tab. Which makes it a bit easier to work with, as we will only touch the submodules via forge commands anyways. - Update remote compiler version to 0.8.23 as well (just in case) * Chore: Add install cmd to Makefile * Fix: Old Wording in Makefile * Add basic run functions * Update ci.yml * Swap scripts to higher position * Update ci.yml * Test removing the override of the clean command * Split make pre-test into pre-test and pre-script * Update Makefile * Update Env Variables in make file * Fix typo * Quick test * Revert "Quick test" This reverts commit 192f71e. * Change comments * Update ci.yml to source the env from dev.env * Test if set dev command was wrong * Update ci.yml * Update ci.yml * Test setting env in make file directly * Load directly from the dev.env file * Create DeployRecurringPaymentManager.s.sol * Simplify Transaction Forwarder Script * Update DeployAndSetUpBeacon.s.sol * Fix comments * Update DeploymentScript.s.sol Add missing scripts and todo comments for @Zitzak * fix: DeploymentScript * Remove Beacon from Factories * Small Fixes * Fix merge * Remove todos * Update ci.yml * Revert removal of make clean * Change metadata * Fix: Clarify comment * Chore: Update yml file to use make commands * Tests: Add check for bc funding manager in tests --------- Co-authored-by: FHieser <felix_hieser@web.de> Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> * CI: Enable CI on certain Branches & all PRs * Fix: Enable <18 Decimal Tokens as Collateral in Bonding Curve (#435) * change decimals to 6 * working draft some test are still failing because of excessive rejections * formatting * bugfix * fix vm.assume rejections * review fixes modified the getVirtual... functions to return the value in the native decimal amount instead of the normalized one and added some tests * add normalization to virtualSupply this should help set stuff up for external BC tokens * changes after discussion with marvin + corresponding tests Ended up moving the place where the decimals get converted, and adapted all tests * remove remaining question * format the online editor merge messed the format up * remove stray comments * Feat: Add Governance Contract (#436) * Create IGovernanceContract.sol * Create GovernanceContract.sol * Add Natspec * Refactoring and improvements * Create Tests * Add more detail to test * Add Governance to dev.env * Update ModuleFactoryMock.sol * Update ModuleFactory.t.sol * Remove comment * Remove comments * Update Module Factory to check for governanceContract ownership * Add Governance to E2ETests * Update InverterBeaconE2E.t.sol * Delete ModuleTest_Template.txt * Fix Tests * Fix to a buildable state in scripts * Create DeployGovernanceContract.s.sol * Fix description * Remove validNewVersion and add setImplementation in Constructor * Update Makefile * Fix typo * Update DeploymentScript.s.sol * Rename to governor contract * Correct error naming and set minimum Timelock Period to 48h * Revert "Delete ModuleTest_Template.txt" This reverts commit a62d07c. * Fix based on recommondations * Test for beacon not owned by Governor * Make Governance Implementation a proxy in scripts and e2e * accessible instead of accessable * Fix typos * Adapt naming * Adapt naming * Change naming * Adapt naming * Remove Ownable dependency * Use AccessControlUpgradeable instead of AccessControl * Adapt naming * Forgot the R in Governor * Add batched role grant/revoke (#444) * Add batched functions * Clean up AuthorizerMock * Update tests * Feat: Allow zero minor version for first implementation (#446) * Feat: Allow minor version to be zero Note: Only possible during intialization, which is why the modifier (used for any subsequent version) only allows versions greater than zero/the last version. * Test: Adapt tests to cover zero version flow * Test: Change tests to all start at minor version zero * Scripts: Change deployment scripts to start with minor version zero * Feat: Allow minor version to be zero Note: Only possible during intialization, which is why the modifier (used for any subsequent version) only allows versions greater than zero/the last version. * Test: Adapt tests to cover zero version flow * Test: Change tests to all start at minor version zero * Scripts: Change deployment scripts to start with minor version zero * [DO NOT MERGE] OpenZeppelin V5 update (#401) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces --------- Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: FHieser <felix_hieser@web.de> * chore: update CI to include testing scripts * Update ci.yml (#421) * SC-122: Implement MultiCall and MetaTransaction Support (#405) * chore: update OZ lib to V5 * chore: update openzeppelin to v5 - updated paths were needed - added constructor arguments for Ownable update - updated OZErrors and the expectRevert that were using them to work with custom errors - replaces Address.isContract with the logic it used, as it has been removed * chore: update Solidity version 0.8.19 -> 0.8.20 * format: format code * 394 metatransactions dev (#399) * Modify ModuleManager to enact ERC2771 * Intermediate Push I need to check something and pushing makes most sense he * Fix inheritance to enable build * Expose isTrustedForwarder in Orchestrator * Implement modified ERC2771 to Module * Fix Tests A lot of modules havent been properly initialized in the tests. The fix targets that by actually using the proxy Clone implementation and then properly initializing them * Add Module Test * Implement MinimalForwarder * Fix MakeFile * Create E2ETest * Add specific Role section in E2E Test * Remove todo * Marvin G Fix * Foundryup formatting * Fix after openZepplelin Update * Create Transaction forwarder * Update IModule.sol * Change to Transaction forwarder * chore: fix CI and update version The CI failed because of imports, which are now corrected. Next to this we decided to set the Solidity version to 0.8.23 because it will be more up-to-date when we launch to mainnet * WIP * Fixing tests * Cleanup * Add Multicall Section into E2ETest * Cleanup * Merge fix * Fix based on comments * Delete .gas-snapshot * Update .gitignore * Change TestsupportsInterface to only check immediate Iterfaces * Fix merge * Create DeployAndSetUpTransactionForwarder.s.sol * Add Transaction Forwarder Script to deployment scripts --------- Co-authored-by: Zitzak <marvin88gr@gmail.com> * SC-140: Implement version and intervention mechanism in beacon (#418) * Rename Contracts * Refactor Beacons and add Version function * Make it buildable * Fix test * Cleanup * Update InverterBeacon.t.sol * Update InverterBeacon.t.sol * add BeaconProxy Test * Clarify Outcommented * Fix Beacon Upgrade Script * Update UpgradeBeacon.s.sol * Add Intervention Mechanism to InverterBeacon * Make it buildable * PR comment fix * Add tests * Add Interface * Cleanup * Move and update Beacon e2e * Update InverterBeaconE2E.t.sol * Cleanup * Adapt naming * Fix after merge * Create digest helper function for meta tx forwarder (#430) * Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash() * typo fixes * format + change active addresses * Fix: Revamp scripts & re-add to CI (#419) * Fix: Workflow File Syntax * Chore: Update VSCode settings - Adding the git.detectSubmodule setting to the config. This tells your local VSCode to ignore the submodules in the "git" tab. Which makes it a bit easier to work with, as we will only touch the submodules via forge commands anyways. - Update remote compiler version to 0.8.23 as well (just in case) * Chore: Add install cmd to Makefile * Fix: Old Wording in Makefile * Add basic run functions * Update ci.yml * Swap scripts to higher position * Update ci.yml * Test removing the override of the clean command * Split make pre-test into pre-test and pre-script * Update Makefile * Update Env Variables in make file * Fix typo * Quick test * Revert "Quick test" This reverts commit 192f71e. * Change comments * Update ci.yml to source the env from dev.env * Test if set dev command was wrong * Update ci.yml * Update ci.yml * Test setting env in make file directly * Load directly from the dev.env file * Create DeployRecurringPaymentManager.s.sol * Simplify Transaction Forwarder Script * Update DeployAndSetUpBeacon.s.sol * Fix comments * Update DeploymentScript.s.sol Add missing scripts and todo comments for @Zitzak * fix: DeploymentScript * Remove Beacon from Factories * Small Fixes * Fix merge * Remove todos * Update ci.yml * Revert removal of make clean * Change metadata * Fix: Clarify comment * Chore: Update yml file to use make commands * Tests: Add check for bc funding manager in tests --------- Co-authored-by: FHieser <felix_hieser@web.de> Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> * Feat: Add Governance Contract (#436) * Create IGovernanceContract.sol * Create GovernanceContract.sol * Add Natspec * Refactoring and improvements * Create Tests * Add more detail to test * Add Governance to dev.env * Update ModuleFactoryMock.sol * Update ModuleFactory.t.sol * Remove comment * Remove comments * Update Module Factory to check for governanceContract ownership * Add Governance to E2ETests * Update InverterBeaconE2E.t.sol * Delete ModuleTest_Template.txt * Fix Tests * Fix to a buildable state in scripts * Create DeployGovernanceContract.s.sol * Fix description * Remove validNewVersion and add setImplementation in Constructor * Update Makefile * Fix typo * Update DeploymentScript.s.sol * Rename to governor contract * Correct error naming and set minimum Timelock Period to 48h * Revert "Delete ModuleTest_Template.txt" This reverts commit a62d07c. * Fix based on recommondations * Test for beacon not owned by Governor * Make Governance Implementation a proxy in scripts and e2e * accessible instead of accessable * Fix typos * Adapt naming * Adapt naming * Change naming * Adapt naming * Remove Ownable dependency * Use AccessControlUpgradeable instead of AccessControl * Adapt naming * Forgot the R in Governor * FIx: Merge conflicts * Fix merge issue: Reworked deployment script * Fix Merge issue: ERC2771ContextUpgradeable Inheritance * Fix scripts on a basic level * Add to make scripts and reorder scripts * cleanup * Fix: Remove hardcoded decimals from RebasingFM tests --------- Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com> Co-authored-by: hieser <47272854+FHieser@users.noreply.github.com> Co-authored-by: FHieser <felix_hieser@web.de> Co-authored-by: Zitzak <marvin88gr@gmail.com> Co-authored-by: 0xNuggan <82726722+0xNuggan@users.noreply.github.com>
marvinkruse
pushed a commit
that referenced
this pull request
Apr 14, 2024
* Create digest creation function * Cleanup * Add getDigest Test * add _ to getStructHash()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This solves this issue
https://linear.app/inverter/issue/SC-198/create-digest-helper-function-for-metatx-forwarder