-
Notifications
You must be signed in to change notification settings - Fork 26
Module: Remove empty line #1
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
Merged
Merged
Conversation
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
Contributor
Author
|
Where is the CI workflow? 🦺 |
0xNuggan
pushed a commit
that referenced
this pull request
May 15, 2024
* Comment todos * Removed comment in FeeManager Keeping the upgradeable state still an option is a nice to have and using just the constructor form would be a downgrade. * Removal of comment As its not a hard requirement this can be removed. * Add description * Add comment * Remove Comment * Remove comment create issue out of it * Remove comment and create issue out of it * Apply PR comments * remove MilestoneManager References * Remove based on comment
Zitzak
added a commit
that referenced
this pull request
Apr 9, 2025
* add cross-chain module, contracts compile * refactor tempalte module * fix compile issues * add todo's for implementation contract * added notes handoff add more notes * fix compile issues before everclear impl * add everclear poc impl * add everclear logic impl * remove old templates * code compile issue solved code compile issue solved * fix minor dependency * remove file * added contract for bridge testing comment our bridge test * add tests for base contracts * fix file structure * uncomment bridge return value and run fmt * change contract to abstract * add logic to PP_Connext_Crosschain * fix inheritance chain * remove function impl * seperate interfaces * remove unecessary state variables * remove unecessary state variables * add unit tests for Connext * unit test processPayments & xcall fix merge conflicts fix file structure fix merge conflicts finish rebasing * fix directory structure * unit test chainid test * unit test processpayments test * unit test paymentId check and test * unit test chainId and ProcessPayment * unit test paymentId check and test * resolve conflicts rebasing rebasing * add unit test verify bridgeData * add unit test process payments insufficient balance * add feedback comment fix paths after rebase rebased and add init * fixed unit tests after rebase remove init functions * add comments and fuzz tests add notes * refrator test file and add unit tests * verify executionData & add unit tests * add ttl validation * refractor unit tests * add unit tests CrosschainBase_v1 * singlePayment fuzz tests added * move balance setup internal function * multiplePayment fuzz tests added * camelcase changes for CrossChainBase contract * add gherking comments * remove unecessary variables and add comments * add more gherkin to each test * add validation of ttl * add getbridgedata and natspec * chore: cleaned code changed event name * add templates folder * emit PaymentProcessed via Interface * chore: use exposed payment processor * update gherkin for tests * add assertions to payment processor test * update gherkin and remove vs code settings * feat: add cancel payments * feat:add cancel payment & test * feat:add retry payments & test * fix:retry payments test * fix:format * fix:fmt and standard updates * chore:delete bridging folder * fix:rebase onto feature * chore:remove redundant files * fix:add standard to test file * chore:remove redundant files * fix:update crosschain base format * fix:delete console import * fix:move files to proper directories * fix:remove impl for functions * fix: fix retry failed payments * chore:add comments for clarity * fix:remove files * add tests for unhappy paths * chore:change mapping name * remove redundant file * chore:rename file * add base test file * fix: remove chainid impl * chore: add unit tests * chore: add unit tests * fix: make unit tests generic input * fix: process payment if else * chore: add unit tests for PP_Crosschain_v1 * fix: add auth checks and retrypayment issue and format unit tests * fix: change test to fuzz tests, fix minor bugs * fix: code format invertor standard * fix: change the _validateTransferRequest msg.sender to client * fix: refractor the unit tests * chore: add unit tests for client.amountPaid functionality * fix: track processedIntentId fix * feat: add unclaimed amount impl * fix: format code * fix: follow invertor standard * refactor: Rename ERC20PaymentClientBase_v1 to v2 * refactor: adapt implementation and tests to new Payment order struct What has been done: - Comment implementation where it didn't compile instead of updating it - Copied and commented test that were failing because of the change. Changed the tests to work with empty data * feat(IERC20PaymentClientBase_v2): add maxFee and TTL to payment order comment * refactor: CrossChainBase_v1 & ICrossChainBase_v1 What has been done: - Removed `processPayments()` as the base is no PP - Remove `executionData` from `executeBridgeTransfer` because of move to new payment order - Add __gap for upgrade - Removed unnused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Crosschain_v1 & IPP_Crosschain_v1 What has been done? - Remove `processPayments()` as it's not an implementation but abstract - Moved `validPaymentOrder()` from this abstract to the connext implementation, because what makes a payment order valid differs for each implementation given the data/flags field send - Moved the following functionalities from the connext implementation to this abstract, as each crosschain PP will need them, so they can be in the base: - `unclaimable()` - `claimPreviouslyUnclaimable()` - the internal mapping to track the unclaimable amounts - Removed internal functions `validTimes()` as the crosschain PP doesn't vest orders - Removed unused events/errors/structs - Inverter Standard - Made state variable internal and add getters - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Connext_Crosschain_v1 & IPP_Connext_Crosschain_v1 What has been done: - Update contract with the new payment order struct, which introduces the following changed: - Add Flags constants that are used to validate and read the data field of the payment order - Add internal functions `_validateFlagsAndData()` & `_getEverclearMaxFeeAndTTL()` to validate and retrieve the `maxFee` and `ttl` from the data field of the payment order - Remove all parameters for `executionData` as the values needed are now retrieved from the data fields of the payment order struct - Moved `unclaimableAmountsForRecipient` state variable from this implementation to the base abstract contract - Add internal functions `_validPaymentOrder()` which checks all the values of the new payment order. Also add call to this function in `processPayments()` - Add internal function `_transferTokenAndApproveToBridge()` which is called when we pull assets from the payment client, but not when retrying bridging, removing the need to pass as boolean param to internal function `_createCrossChainIntent()` - Renamed `retryFailedTransfer()` to `retryFailedBridgeTransfer()` to be more explicit - Removed unused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Make state variable internal and add getters - Append underscore in function parameters - Add explicit name to return variables * test: WIP * fix: code refactor & fix unit tests * fix: code refactor & fix unit tests * chore: add interface * chore: inverter standard changes #1 * chore: inverter standard changes #2 * chore: standardize CrossChain naming convention across files and contracts, and remove unused imports in tests * fix:retunr data from mapping * fix:compliation error * refactor: refactor natspec and state variable visibility What has been done? - Add `.` after comments - Set constants back to public after mistake to make them private - update author * refactor: Update natspec * refactor: clean up test file, remove duplicate file after renaming * refactor: update version in mocks * Fix camelcase naming issue * Remove case-conflicting file from remote tracking * Delete test/modules/paymentProcessor/abstracts/CrosschainBase_v1.t.sol Delete duplicate file * fix: resolve renaming issue * fix: inverter standard and event emission * fix:missing modifier * fix:fix failing tests * fix:fix gherkin in base test * fix:fix tag spacing and inverter standard comments * fix:fix imports in tests * fix:remove helper function * fix:tag spacing * fix:camel case contract names * fix: fix tests add fuzzing * fix: function params * fix:init natsec * fix: folder for mocks * fix: camelcase file issue * fix:camel casing and compliation * fix: file thingy issue * Remove camelCase * fix:compliation erro * fix:test names * refactor: Delete CrossChainBase_v1 contract and interface Why? - The contract is supposed to function as base crossChain contract for all modules. However it is leaning to much towards payment processing due to the use of payment orders. Because of that, the decision is make to merge it with the PP_CrossChain contract * refactor: PP_CrossChain_v1 What has been done? - Add deleted functionalities from CrossChainBase - Update contract Natspec - Update event that emits bridge intend - Add more members to make it easier for the indexer - rename event - Add missing Inverter Standard changes * refactor: PP_Connext_CrossChain_v1 What has been done? - Update contract natspec - Update event when bridging has been succesful - Add missing changes for Inverter Standard * refactor: Rename implementation contract to PP_Everclear_CrossChain_v1 Why? The contract was named after the bridging infra we used initially, i.e. Connext. This has been changed to Everclear * refactor: rename PP_CrossChain into PP_CrossChainBase Why? As this is the base crosschain contract for all the payment processors * test: add PP_CrossChainBase test file * refactor: PP_Everclear_CrossChain test * fix:fix compliation errors * fix:tests and revert statements * chore:format * fix:add test cases for exposed function * refactor: PP_CrossChainBase & PP_EverClear_CrossCahin What has been done? - Add TokenReleased event - Removed unused parameters - Removed unused WETH - Inverter standard * wip * fix:add tests for execute bridge transfer * fix:add test for transfer token function * fix:add valid payment order test * chore:fmt * bugfix: resolve test failing in PP_Everclear_CrossChain --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com> Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com>
fabianschu
pushed a commit
that referenced
this pull request
Jun 3, 2025
0xNuggan
added a commit
that referenced
this pull request
Jun 13, 2025
* Crosschain PP Contract addition - DRAFT (#686) * add cross-chain module, contracts compile * refactor tempalte module * fix compile issues * add todo's for implementation contract * added notes handoff * add more notes * fix compile issues before everclear impl * add everclear poc impl * add everclear logic impl * remove old templates * code compile issue solved * code compile issue solved * fix minor dependency * remove file * added contract for bridge testing * comment our bridge test * add tests for base contracts * fix file structure * uncomment bridge return value and run fmt * change contract to abstract * add logic to PP_Connext_Crosschain * fix inheritance chain * remove function impl * restructure directories * seperate interfaces * remove unecessary state variables * add templates * contracts compile * adjust issues from inheritance chain * readd execute Bridge * fix compile error --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> * Fix array orderring mismatch bug * address _setFlags() comment * address PaymentRouter comment * fix review comments * Fix: Revert to integer-based order ID (#707) * Fix: Resolve typos * gas optimization in "_setFlags" * improve flag setting UX * bugfix * Add Valid Payment Order check to ProcessPayments * FIx: Move to stable version of Foundry * contract renaming to V2 * fix: merge conflict * Feat: Everclear crosschain payment processor and base (#694) * add cross-chain module, contracts compile * refactor tempalte module * fix compile issues * add todo's for implementation contract * added notes handoff add more notes * fix compile issues before everclear impl * add everclear poc impl * add everclear logic impl * remove old templates * code compile issue solved code compile issue solved * fix minor dependency * remove file * added contract for bridge testing comment our bridge test * add tests for base contracts * fix file structure * uncomment bridge return value and run fmt * change contract to abstract * add logic to PP_Connext_Crosschain * fix inheritance chain * remove function impl * seperate interfaces * remove unecessary state variables * remove unecessary state variables * add unit tests for Connext * unit test processPayments & xcall fix merge conflicts fix file structure fix merge conflicts finish rebasing * fix directory structure * unit test chainid test * unit test processpayments test * unit test paymentId check and test * unit test chainId and ProcessPayment * unit test paymentId check and test * resolve conflicts rebasing rebasing * add unit test verify bridgeData * add unit test process payments insufficient balance * add feedback comment fix paths after rebase rebased and add init * fixed unit tests after rebase remove init functions * add comments and fuzz tests add notes * refrator test file and add unit tests * verify executionData & add unit tests * add ttl validation * refractor unit tests * add unit tests CrosschainBase_v1 * singlePayment fuzz tests added * move balance setup internal function * multiplePayment fuzz tests added * camelcase changes for CrossChainBase contract * add gherking comments * remove unecessary variables and add comments * add more gherkin to each test * add validation of ttl * add getbridgedata and natspec * chore: cleaned code changed event name * add templates folder * emit PaymentProcessed via Interface * chore: use exposed payment processor * update gherkin for tests * add assertions to payment processor test * update gherkin and remove vs code settings * feat: add cancel payments * feat:add cancel payment & test * feat:add retry payments & test * fix:retry payments test * fix:format * fix:fmt and standard updates * chore:delete bridging folder * fix:rebase onto feature * chore:remove redundant files * fix:add standard to test file * chore:remove redundant files * fix:update crosschain base format * fix:delete console import * fix:move files to proper directories * fix:remove impl for functions * fix: fix retry failed payments * chore:add comments for clarity * fix:remove files * add tests for unhappy paths * chore:change mapping name * remove redundant file * chore:rename file * add base test file * fix: remove chainid impl * chore: add unit tests * chore: add unit tests * fix: make unit tests generic input * fix: process payment if else * chore: add unit tests for PP_Crosschain_v1 * fix: add auth checks and retrypayment issue and format unit tests * fix: change test to fuzz tests, fix minor bugs * fix: code format invertor standard * fix: change the _validateTransferRequest msg.sender to client * fix: refractor the unit tests * chore: add unit tests for client.amountPaid functionality * fix: track processedIntentId fix * feat: add unclaimed amount impl * fix: format code * fix: follow invertor standard * refactor: Rename ERC20PaymentClientBase_v1 to v2 * refactor: adapt implementation and tests to new Payment order struct What has been done: - Comment implementation where it didn't compile instead of updating it - Copied and commented test that were failing because of the change. Changed the tests to work with empty data * feat(IERC20PaymentClientBase_v2): add maxFee and TTL to payment order comment * refactor: CrossChainBase_v1 & ICrossChainBase_v1 What has been done: - Removed `processPayments()` as the base is no PP - Remove `executionData` from `executeBridgeTransfer` because of move to new payment order - Add __gap for upgrade - Removed unnused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Crosschain_v1 & IPP_Crosschain_v1 What has been done? - Remove `processPayments()` as it's not an implementation but abstract - Moved `validPaymentOrder()` from this abstract to the connext implementation, because what makes a payment order valid differs for each implementation given the data/flags field send - Moved the following functionalities from the connext implementation to this abstract, as each crosschain PP will need them, so they can be in the base: - `unclaimable()` - `claimPreviouslyUnclaimable()` - the internal mapping to track the unclaimable amounts - Removed internal functions `validTimes()` as the crosschain PP doesn't vest orders - Removed unused events/errors/structs - Inverter Standard - Made state variable internal and add getters - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Connext_Crosschain_v1 & IPP_Connext_Crosschain_v1 What has been done: - Update contract with the new payment order struct, which introduces the following changed: - Add Flags constants that are used to validate and read the data field of the payment order - Add internal functions `_validateFlagsAndData()` & `_getEverclearMaxFeeAndTTL()` to validate and retrieve the `maxFee` and `ttl` from the data field of the payment order - Remove all parameters for `executionData` as the values needed are now retrieved from the data fields of the payment order struct - Moved `unclaimableAmountsForRecipient` state variable from this implementation to the base abstract contract - Add internal functions `_validPaymentOrder()` which checks all the values of the new payment order. Also add call to this function in `processPayments()` - Add internal function `_transferTokenAndApproveToBridge()` which is called when we pull assets from the payment client, but not when retrying bridging, removing the need to pass as boolean param to internal function `_createCrossChainIntent()` - Renamed `retryFailedTransfer()` to `retryFailedBridgeTransfer()` to be more explicit - Removed unused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Make state variable internal and add getters - Append underscore in function parameters - Add explicit name to return variables * test: WIP * fix: code refactor & fix unit tests * fix: code refactor & fix unit tests * chore: add interface * chore: inverter standard changes #1 * chore: inverter standard changes #2 * chore: standardize CrossChain naming convention across files and contracts, and remove unused imports in tests * fix:retunr data from mapping * fix:compliation error * refactor: refactor natspec and state variable visibility What has been done? - Add `.` after comments - Set constants back to public after mistake to make them private - update author * refactor: Update natspec * refactor: clean up test file, remove duplicate file after renaming * refactor: update version in mocks * Fix camelcase naming issue * Remove case-conflicting file from remote tracking * Delete test/modules/paymentProcessor/abstracts/CrosschainBase_v1.t.sol Delete duplicate file * fix: resolve renaming issue * fix: inverter standard and event emission * fix:missing modifier * fix:fix failing tests * fix:fix gherkin in base test * fix:fix tag spacing and inverter standard comments * fix:fix imports in tests * fix:remove helper function * fix:tag spacing * fix:camel case contract names * fix: fix tests add fuzzing * fix: function params * fix:init natsec * fix: folder for mocks * fix: camelcase file issue * fix:camel casing and compliation * fix: file thingy issue * Remove camelCase * fix:compliation erro * fix:test names * refactor: Delete CrossChainBase_v1 contract and interface Why? - The contract is supposed to function as base crossChain contract for all modules. However it is leaning to much towards payment processing due to the use of payment orders. Because of that, the decision is make to merge it with the PP_CrossChain contract * refactor: PP_CrossChain_v1 What has been done? - Add deleted functionalities from CrossChainBase - Update contract Natspec - Update event that emits bridge intend - Add more members to make it easier for the indexer - rename event - Add missing Inverter Standard changes * refactor: PP_Connext_CrossChain_v1 What has been done? - Update contract natspec - Update event when bridging has been succesful - Add missing changes for Inverter Standard * refactor: Rename implementation contract to PP_Everclear_CrossChain_v1 Why? The contract was named after the bridging infra we used initially, i.e. Connext. This has been changed to Everclear * refactor: rename PP_CrossChain into PP_CrossChainBase Why? As this is the base crosschain contract for all the payment processors * test: add PP_CrossChainBase test file * refactor: PP_Everclear_CrossChain test * fix:fix compliation errors * fix:tests and revert statements * chore:format * fix:add test cases for exposed function * refactor: PP_CrossChainBase & PP_EverClear_CrossCahin What has been done? - Add TokenReleased event - Removed unused parameters - Removed unused WETH - Inverter standard * wip * fix:add tests for execute bridge transfer * fix:add test for transfer token function * fix:add valid payment order test * chore:fmt * bugfix: resolve test failing in PP_Everclear_CrossChain --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com> Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com> * Refactor: update version * fix: address review comment for PP_Everclear_CrossChain What has been done? - add safe transfer - deleted retryFailedBridgeTransfer function - moved storage slot gap * fix: address review comment PP_CrossChainBase What has been done? - add safe transfer - move gap * fix: resolve merge conflict * refactor: resolve repo wide compiler warnings * Create Everclear Payment Router Mock * Add E2E test setup * fix _getEverclearMaxFeeAndTTL() * passing E2E, no event checking * Intermediate state * add ai memory bank to gitignore * move test EverclearE2E test file * add event checks * start ai context cleanup * delete ai context * end ai-context cleanup * refactor: resolve merge errors of imports * refactor: update flags for payment order in Everclear PP --------- Co-authored-by: leeftk <40748420+leeftk@users.noreply.github.com> Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: 0xNuggan <82726722+0xNuggan@users.noreply.github.com> Co-authored-by: Marvin Kruse <marvinkruse@users.noreply.github.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com>
marvinkruse
added a commit
that referenced
this pull request
Jun 20, 2025
* Crosschain PP Contract addition - DRAFT (#686) * add cross-chain module, contracts compile * refactor tempalte module * fix compile issues * add todo's for implementation contract * added notes handoff * add more notes * fix compile issues before everclear impl * add everclear poc impl * add everclear logic impl * remove old templates * code compile issue solved * code compile issue solved * fix minor dependency * remove file * added contract for bridge testing * comment our bridge test * add tests for base contracts * fix file structure * uncomment bridge return value and run fmt * change contract to abstract * add logic to PP_Connext_Crosschain * fix inheritance chain * remove function impl * restructure directories * seperate interfaces * remove unecessary state variables * add templates * contracts compile * adjust issues from inheritance chain * readd execute Bridge * fix compile error --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> * Fix array orderring mismatch bug * address _setFlags() comment * address PaymentRouter comment * fix review comments * Fix: Revert to integer-based order ID (#707) * Fix: Resolve typos * gas optimization in "_setFlags" * improve flag setting UX * bugfix * Add Valid Payment Order check to ProcessPayments * FIx: Move to stable version of Foundry * contract renaming to V2 * fix: merge conflict * Feat: Everclear crosschain payment processor and base (#694) * add cross-chain module, contracts compile * refactor tempalte module * fix compile issues * add todo's for implementation contract * added notes handoff add more notes * fix compile issues before everclear impl * add everclear poc impl * add everclear logic impl * remove old templates * code compile issue solved code compile issue solved * fix minor dependency * remove file * added contract for bridge testing comment our bridge test * add tests for base contracts * fix file structure * uncomment bridge return value and run fmt * change contract to abstract * add logic to PP_Connext_Crosschain * fix inheritance chain * remove function impl * seperate interfaces * remove unecessary state variables * remove unecessary state variables * add unit tests for Connext * unit test processPayments & xcall fix merge conflicts fix file structure fix merge conflicts finish rebasing * fix directory structure * unit test chainid test * unit test processpayments test * unit test paymentId check and test * unit test chainId and ProcessPayment * unit test paymentId check and test * resolve conflicts rebasing rebasing * add unit test verify bridgeData * add unit test process payments insufficient balance * add feedback comment fix paths after rebase rebased and add init * fixed unit tests after rebase remove init functions * add comments and fuzz tests add notes * refrator test file and add unit tests * verify executionData & add unit tests * add ttl validation * refractor unit tests * add unit tests CrosschainBase_v1 * singlePayment fuzz tests added * move balance setup internal function * multiplePayment fuzz tests added * camelcase changes for CrossChainBase contract * add gherking comments * remove unecessary variables and add comments * add more gherkin to each test * add validation of ttl * add getbridgedata and natspec * chore: cleaned code changed event name * add templates folder * emit PaymentProcessed via Interface * chore: use exposed payment processor * update gherkin for tests * add assertions to payment processor test * update gherkin and remove vs code settings * feat: add cancel payments * feat:add cancel payment & test * feat:add retry payments & test * fix:retry payments test * fix:format * fix:fmt and standard updates * chore:delete bridging folder * fix:rebase onto feature * chore:remove redundant files * fix:add standard to test file * chore:remove redundant files * fix:update crosschain base format * fix:delete console import * fix:move files to proper directories * fix:remove impl for functions * fix: fix retry failed payments * chore:add comments for clarity * fix:remove files * add tests for unhappy paths * chore:change mapping name * remove redundant file * chore:rename file * add base test file * fix: remove chainid impl * chore: add unit tests * chore: add unit tests * fix: make unit tests generic input * fix: process payment if else * chore: add unit tests for PP_Crosschain_v1 * fix: add auth checks and retrypayment issue and format unit tests * fix: change test to fuzz tests, fix minor bugs * fix: code format invertor standard * fix: change the _validateTransferRequest msg.sender to client * fix: refractor the unit tests * chore: add unit tests for client.amountPaid functionality * fix: track processedIntentId fix * feat: add unclaimed amount impl * fix: format code * fix: follow invertor standard * refactor: Rename ERC20PaymentClientBase_v1 to v2 * refactor: adapt implementation and tests to new Payment order struct What has been done: - Comment implementation where it didn't compile instead of updating it - Copied and commented test that were failing because of the change. Changed the tests to work with empty data * feat(IERC20PaymentClientBase_v2): add maxFee and TTL to payment order comment * refactor: CrossChainBase_v1 & ICrossChainBase_v1 What has been done: - Removed `processPayments()` as the base is no PP - Remove `executionData` from `executeBridgeTransfer` because of move to new payment order - Add __gap for upgrade - Removed unnused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Crosschain_v1 & IPP_Crosschain_v1 What has been done? - Remove `processPayments()` as it's not an implementation but abstract - Moved `validPaymentOrder()` from this abstract to the connext implementation, because what makes a payment order valid differs for each implementation given the data/flags field send - Moved the following functionalities from the connext implementation to this abstract, as each crosschain PP will need them, so they can be in the base: - `unclaimable()` - `claimPreviouslyUnclaimable()` - the internal mapping to track the unclaimable amounts - Removed internal functions `validTimes()` as the crosschain PP doesn't vest orders - Removed unused events/errors/structs - Inverter Standard - Made state variable internal and add getters - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Append underscore in function parameters - Add explicit name to return variables * refactor: PP_Connext_Crosschain_v1 & IPP_Connext_Crosschain_v1 What has been done: - Update contract with the new payment order struct, which introduces the following changed: - Add Flags constants that are used to validate and read the data field of the payment order - Add internal functions `_validateFlagsAndData()` & `_getEverclearMaxFeeAndTTL()` to validate and retrieve the `maxFee` and `ttl` from the data field of the payment order - Remove all parameters for `executionData` as the values needed are now retrieved from the data fields of the payment order struct - Moved `unclaimableAmountsForRecipient` state variable from this implementation to the base abstract contract - Add internal functions `_validPaymentOrder()` which checks all the values of the new payment order. Also add call to this function in `processPayments()` - Add internal function `_transferTokenAndApproveToBridge()` which is called when we pull assets from the payment client, but not when retrying bridging, removing the need to pass as boolean param to internal function `_createCrossChainIntent()` - Renamed `retryFailedTransfer()` to `retryFailedBridgeTransfer()` to be more explicit - Removed unused events/errors/struct - Inverter Standard - Cleaned up import - Update headers in files - Moved functions to the correct place in file - Make state variable internal and add getters - Append underscore in function parameters - Add explicit name to return variables * test: WIP * fix: code refactor & fix unit tests * fix: code refactor & fix unit tests * chore: add interface * chore: inverter standard changes #1 * chore: inverter standard changes #2 * chore: standardize CrossChain naming convention across files and contracts, and remove unused imports in tests * fix:retunr data from mapping * fix:compliation error * refactor: refactor natspec and state variable visibility What has been done? - Add `.` after comments - Set constants back to public after mistake to make them private - update author * refactor: Update natspec * refactor: clean up test file, remove duplicate file after renaming * refactor: update version in mocks * Fix camelcase naming issue * Remove case-conflicting file from remote tracking * Delete test/modules/paymentProcessor/abstracts/CrosschainBase_v1.t.sol Delete duplicate file * fix: resolve renaming issue * fix: inverter standard and event emission * fix:missing modifier * fix:fix failing tests * fix:fix gherkin in base test * fix:fix tag spacing and inverter standard comments * fix:fix imports in tests * fix:remove helper function * fix:tag spacing * fix:camel case contract names * fix: fix tests add fuzzing * fix: function params * fix:init natsec * fix: folder for mocks * fix: camelcase file issue * fix:camel casing and compliation * fix: file thingy issue * Remove camelCase * fix:compliation erro * fix:test names * refactor: Delete CrossChainBase_v1 contract and interface Why? - The contract is supposed to function as base crossChain contract for all modules. However it is leaning to much towards payment processing due to the use of payment orders. Because of that, the decision is make to merge it with the PP_CrossChain contract * refactor: PP_CrossChain_v1 What has been done? - Add deleted functionalities from CrossChainBase - Update contract Natspec - Update event that emits bridge intend - Add more members to make it easier for the indexer - rename event - Add missing Inverter Standard changes * refactor: PP_Connext_CrossChain_v1 What has been done? - Update contract natspec - Update event when bridging has been succesful - Add missing changes for Inverter Standard * refactor: Rename implementation contract to PP_Everclear_CrossChain_v1 Why? The contract was named after the bridging infra we used initially, i.e. Connext. This has been changed to Everclear * refactor: rename PP_CrossChain into PP_CrossChainBase Why? As this is the base crosschain contract for all the payment processors * test: add PP_CrossChainBase test file * refactor: PP_Everclear_CrossChain test * fix:fix compliation errors * fix:tests and revert statements * chore:format * fix:add test cases for exposed function * refactor: PP_CrossChainBase & PP_EverClear_CrossCahin What has been done? - Add TokenReleased event - Removed unused parameters - Removed unused WETH - Inverter standard * wip * fix:add tests for execute bridge transfer * fix:add test for transfer token function * fix:add valid payment order test * chore:fmt * bugfix: resolve test failing in PP_Everclear_CrossChain --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Zitzak <marvin88gr@gmail.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com> Co-authored-by: Marvin <43185740+Zitzak@users.noreply.github.com> * Refactor: update version * fix: address review comment for PP_Everclear_CrossChain What has been done? - add safe transfer - deleted retryFailedBridgeTransfer function - moved storage slot gap * fix: address review comment PP_CrossChainBase What has been done? - add safe transfer - move gap * fix: resolve merge conflict * refactor: resolve repo wide compiler warnings * Create Everclear Payment Router Mock * Add E2E test setup * fix _getEverclearMaxFeeAndTTL() * passing E2E, no event checking * Intermediate state * add ai memory bank to gitignore * move test EverclearE2E test file * add event checks * start ai context cleanup * delete ai context * end ai-context cleanup * refactor: resolve merge errors of imports * refactor: update flags for payment order in Everclear PP --------- Co-authored-by: leeftk <40748420+leeftk@users.noreply.github.com> Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: 0xNuggan <82726722+0xNuggan@users.noreply.github.com> Co-authored-by: Marvin Kruse <marvinkruse@users.noreply.github.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com>
0xNuggan
added a commit
that referenced
this pull request
Sep 17, 2025
* init: create the funding pot v1 template * feat: funding pot admin authorization * test: add tests for funding pot contract * feat: add checks for granting and revoking roles * feat: add funding pot admin role check * test: add gherkin guide and unit tests * fix: add missing internal function to exposed_ * chore: remove redundant template code * test: remove unused test code * test: code format and unit tests * chore: apply PR review changes * Test: Add test for internal function * chore: remove redundant code * chore: inverter standard change * Feat: Add round creation and edit functions * feat: create and edit rounds implementation * test: add tests for the edit rounds functionality * fix: follow inverter standard and remove redundant code * fix: follow inverter standard and remove redundant code * fix: follow inverter standard and remove redundant code * feat: add access criteria implementation * test: code format & access control criteria unit tests * fix: inverter standard changes * fix: add bool to getRoundAccessCriteria() * fix: inverter standard changes * fix: inverter standard changes * fix: PR Review Fix#1 * fix: PR Review Fix#2 * fix: PR Review Fix#3 * fix: PR Review Fix#4 * fix:remove helper functions, fix stack too deep * fix:support interface issue and redundant param variables * chore: fmt * feat: setAccessCriteriaPrivilages() implementation * feat: update round contribution functionality * test: add unhappy paths for open access criteria * test: add unhappy paths for NFT, merkle root and allowed list access criteria * test: add all unhappy paths * test: add happy paths based on the technical specifications * fix:update code based on internal review * fix:initialise contributing token properly * feat: implement personal cap based on access criteria * add exposed functions * test: add fuzz tests for internal contribution functions * rebase changes * add closure logic * fix: fix broken tests * fix:fix all failing test * fix:rename accessId to accessCriteriaId * fix: fix warning * fix:remove unecessary helper function * fix:add tests for exposed functions * test: add gherkin comments to contribution tests * fix:add todos for jeffrey * feat: change allowed addresses array to mapping in AccessCriteria struct * fix: PR Review Fix#1 * fix: PR Review Fix#2 * fix: fix the personal cap rollover issue * fix: remove redundant code * fix: PR Review Fix#3 * fix: PR Review Fix#4 * PR Review Fix#5 * fix: git rebase * test: add unit tests closeRound * fix: code format and unit tests * fix: mock the bonding curve token * fix: PR Review fixes#1 * fix: PR Review fixes#2 * fix: accessId unit test bug * fix: PR Review fixes#3 * fix: PR Review fixes#4 * fix: unit test closeround via mock * fix: PR Review Fix * fix: PR Review Fix: add batches for creating payment orders * fix: fix stack too deep error * PR Review Fix: format and code cleanup * fix:gas/contract optimziations * fix: PR feedback * fix: PR Review * chore: `contributeToRound` => `contributeToRoundFor` * fix: consistent uint64 for roundId * chore: formatting * fix: remove mock contract * fix: remove file * chore: remove unused variables * fix: e2e test debug * test: Funding Pot E2E test * fix: minor bug fixes * chore: rebase * test: add e2e test * fix: add lifecycle test and fix set up * fix: add notes to e2e * fix: compile issues * chore: e2e test closeround * test: improve test coverage * chore: merge branch contribute and close functionality * fix: fix merge changes * chore: rebase contribute-close onto dev * fix: fix rebase issues * fix: fix failing test * tests: improve test coverage * chore: code format * chore: code format & fix minor bugs * chore: Remove stale/irrelevant values in set/edit roundAccessCriteria * chore: add support for multiple access control criteria * fix: fix double underscore styling issue * chore: change 'accessId' to 'accessCriteriaId' in the test file * chore: convert necessary getter functions from internal to external * fix: add missing assertion for e2e test * fix: add optimization to reduce contract size * feat: accumulation mode * chore: adds tests for accumulation mode behavior * feat: globally configurable start for accumulation logic * fix: mode-specific logic & tests * chore: contract size excess 879 -> 239 * chore: custom compiler settings for FP * fix: adds missing additional_compiler_profiles * fix: max personal cap defined by highest access criteria * chore: test structure cleanup * chore: fmt * chore: removes redundant code * fix: compiler warnings * chore: remove redundant check on zero contribution * chore: fmt * fix: `>=` instead of `==` * fix: merge conflicts * fix: audit fixes #1 * fix: audit fixes 2 * Feat/contract resizing (#769) * fix: new audit fixes 1 * fix: new audit fixes 2 * fix: new audit fixes 3 * fix: audit fixes 4 * fix: new audit fixes 4 -remove unneccessary code * fix: new audit fixes 5 * fix: new audit fixes 5: add getter function * fix: contract size fix 1 * fix: contract size fix 2: remove getter functions and make public * fix: contract size fix 3 * fix: contract size fix 3: if condition * contract resizing * chore:remove uncommented tests * chore:remove hook validation --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: Jeffrey Owoloko <72028836+JeffreyJoel@users.noreply.github.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com> * chore: format --------- Co-authored-by: Zuhaib Mohammed <zzzuhaibmohd@gmail.com> Co-authored-by: JeffreyJoel <jowoloko@gmail.com> Co-authored-by: Leandro Faria <lee.lara1219@gmail.com> Co-authored-by: leeftk <40748420+leeftk@users.noreply.github.com> Co-authored-by: Jeffrey Owoloko <72028836+JeffreyJoel@users.noreply.github.com> Co-authored-by: 0xNuggan <82726722+0xNuggan@users.noreply.github.com>
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.
Test PR.