-
Notifications
You must be signed in to change notification settings - Fork 9
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
add encoding decoding tests #12
Closed
Closed
Conversation
This file contains 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
ilinzweilin
commented
Jul 20, 2022
- add tests for encoding & decoding
- fix add addTranche -> change byte index
v3.4.2-solc-0.7
AStox
previously approved these changes
Jul 20, 2022
hieronx
previously approved these changes
Jul 20, 2022
AStox
approved these changes
Jul 21, 2022
hieronx
added a commit
that referenced
this pull request
Aug 5, 2024
* Rewrite UE-2 * fix: actor * chore: cleanup * feat: new library * feat: virtual for ERC7540 tests * feat: initial progress towards reusable Centrifuge ERC7540 implementation that is also non state impactinf * feat: progress on ERC7540 * feat: progress on E_3 * fix: compilation * feat: ERC7540 with reverts halfway done * feat: all properties to stateless * feat: admin trophy? * chore: compilation * chore: notes * fix: override unused properties * chore: cleanup * fix: toggle back ERC7540 * chore: cleanup * chore: trophies * feat: merged delta handling * chore: brought back ERC7540 * chore: ported out erc7540 logs * feat: initial debug * feat: triaged and flagged findings in legit * feat: property 10 * chore: fmt * chore: fmt * feat: initial work on Global-1 and 2 * fix: woops * feat: ignore ack findings * fix: incorrect clamp * fix: linear clamp on remaining orders for decrease * chore: skip erc7540 * chore: untoggle ERC7540 * feat: admin mistake example * refactor: make ERC7540 public * chore: debugging scratchpad * chore: rename * feat: more debug * feat: E_4 broken review * fix: medusa default sender * chore: triaage * feat: broken E_4 second * chore: notes * chore: links * Cleanpu * chore: debug * feat: canary 1e6 * fix: properties look ok * chore: run link * feat: decimals clamp * fix: decimals ** * temp: hardcoded decimals * chore: undo hardcoded decimals * Round up reduction of maxMint * feat: extra * chore: readme * feat: make ERC7540 Reusable * chore: docs * chore: comments * Add new claim cancel methods * feat: limit property * fix: investments * fix: removed trusted forwarders * Add properties * Fix new cancel methods * Fix properties * fix: investments * fix: check for proofs only if > 1 * feat: progress on properties * feat: recover and dispute recovery * fix: remove canary * chore: triage * fix: calldata = cannot debug * fix: naming * fix: traige * chore: comment * chore: debug is broken * fix: clamp to one main sender * fix: message clamping fixed * feat: SWE * chore: debug 15 * fix: compilation and trusted forwarder * Debug aggregator issues * Fix properties * Update * Round consistently * Fix max changes * Cleanup * Remove file methods * Check * Fix * Fix global 6 * Fix e1 and e2 * More precies clamping * Clean up * Fix some tests * Fix * Disable property 10 * Disable erc7540-10, add rounding error to erc7540-4, block deposit>maxDeposit * Format * Cleanup * feat: echidna settings * Dont authTransferFrom to escrow * Clean up tranche functions * More cleanup * Fix * Fix * fix: typo * chore: note on TODO * Cleanup * Upgrade solidity * Fix test compilation * Fix compilation * Fix * Fix gateway * Fix handlers * Disable transient opcodes * Fix setup * Fix rely * Update readme * Fix missing decrease * Rename * Clean up existing tests * Cleanup more old code * Simplify 7540 properties * Fix rounding in deposit/redeem * Remove unnecessary log * Add scope doc * Fix forced authTransferFrom * Rename * Move transfer check to vault * Fix max checks * Fix tests * Adapt property 9 * Re-enable transient storage * Re-enable cancun * Update scope * Allow claiming 0 * Add if statements * Rename and move * Fix echidna in ci * Add forge build to echidna commands * Remove old invariant tests * Fix interface name * Basic investment mgr docs * Clarify * chore: Change the way initial ward is set * chore: Gas optimization by caching array length in array iteration (#14) * chore: Gas optimization by caching array length in array iteration * chore: Rename variable * chore: Fix formating * fix: Remove unnecessary inheritance that is breaking compilation * chore:(finding-21) Make stricter check when parsing batch messages (#18) * chore:(finding-14) Replace _initiator() with msg.sender (#17) * chore:(finding-14) Replace _initiator() with msg.sender * chore: Remove completely _initiator() * chore:(finding-3) Rename balances state variable to reflect the metadata it cont… (#11) * chore: Rename balances state variable to reflect the metadata it contains in its bits * chore: Change balance book-keeping for the tranch token * chore: Fix format issues * chore: Renaming field and removing unnecessary code * chore: One more renaming * chore: More improvements * chore: Fix liniting * chore: Fix weird formatting that appears on save * fix: Gateway.estimate had mismatched local variables (#23) * chore:(finding-24) Safely cast uint256 to uint8 (#19) * chore:(finding-24) Safely cast uint256 to uint8 * Fix linting issues * chore: Add unit tests for MathLib.toUint8() * chore:(finding-19) Add a view method to allow user to see if they can execute their deposit requests (#16) * chore:(finding 19) Add a view method to allow user to see if they can execute their deposit requests * rename parameter * chore: Rename function * chore:(finding-2) Remove unnecessary interface declaration (#12) * chore: Remove unnecessary itnerface declaration * chore: Clean up all *Like interface definitions and usages * chore: Add missing documentation * chore: Change wording * chorel: Fix linting * fix: findings #8, #27, #38, #49, #53, #56, #65, #66, #68 (#24) * Uses variable name tranches is confusing #56 * updateRestriction could try to call non existing hook #53 * No vault level emit for triggerRedeemRequest #49 * Slot name could lead to collisions #68 * Unnecessary typecast in concat #66 * Comment in fulfillDepositRequest() seems incorrect #38 * Could use safeTransferETH() #27 * Very low number of minimal decimals #8 * byAdapter => perAdapter #56 * Fix interface #56 * Add comment * Assets can get stuck in TransferProxy #77 (#27) * Fix transfer proxy * Add tests * Add recovery to proxy * Finding 64, 57 (#29) * consolidate licenses * Use constant instead of 8 * fix:(finding-40) Calling PoolManager.transferTrancheTokens call directly tranche burn without checking for any restrictions (#26) * fix: Calling PoolManager.transferTrancheTokens call directly tranche.burn without checking for any restrictions * chore: Add hook for each tranche burn * Remove unnecessary check * Fix linting issue * Remove unnecessary method * chore:(finding-33) User wrapped token amount if it is possible when calling openLockDepositRequest, otherwise use underlying asset if possible to wrap it (#22) * (#34) Check that vault is valid on `getVault()` (#25) * Check vault exists in getVault * add more tests * Format --------- Co-authored-by: Jeroen Offerijns <[email protected]> * Updating set of active adapters does not always clear votes #78 (#32) * Updating set of active adapters does not always clear votes #78 * Cleanup * Format * chore:(finding-70) Improve documentation (#34) * Fixing findings #45 , #48, #76 (#33) * chore:(finding-45) Optimize by caching values * chore: Remove unnecesary variable * fix:(finding-76) Cannot request deposit cancelation if you don't have any pending deposit requests * chore:(finding-48) Add documentation for fulfillment param in fulfillCancelRequestDeposit * chore: Improve documentation * chore: Move documentation * fix:(finding-76) Allow calling cancelReedemRequest only if there are any pending redeem requets * Limit owner in `requestDeposit/Redeem`, extend` open()` docs (#36) * Limit owner, add comment * Update tests * Add validate controller method * Fix comments * Update * Enable/disable * isOpen => isEnabled * chore:(finding-10) Replace hardcoded value (#35) * chore:(finding-10) Replace hardcoded value * Replace comment * chore:(finding-83) Replace non-transferable with non-fungible * Require price to be set (#31) * Require price to be set * Fix test * chore: Remove redundant check (#38) * Remove unused import (#39) * chore: Optimize gateway (#42) * Fixes #4, #85, #88 (#40) * Swap order * Swap deadline/nonce * manager => investmentManager * Any tokens left in CentrifugeRouter can be used by anyone#4 * Undo * Initializing with 0 isn't necessary if the variable is also defined in the for loop#88 * fix: Unnecessary authorization (#43) * fix: Unnecessary authorization * Fix deployment test * Improve testing the deployer script * Fixes set operator, #37, #95, #97, #98, #100, #103, #104, #108, #109, #111 (#45) * Block setting self as operator * Use _maxDeposit * Remove encodePacked * Simplify transfer check * Remove unused method * Clean up checkERC20Transfer * Update src/token/RestrictionManager.sol Co-authored-by: John Doe <[email protected]> * Update src/token/RestrictionManager.sol Co-authored-by: John Doe <[email protected]> * Cleanup * Update src/token/RestrictionManager.sol Co-authored-by: John Doe <[email protected]> * ExecuteMessage event * Unsued imports * 95 * Several more fixes * Comment * Format * Add test for max message id * Consistent storage * Fix test * Remove vault asset id * Test authorize operator * Endorsed operator test * Disable crytic foundry tests for now * Revert gas service change * Execute message event * Change getVault * Add isPoolActive * Move address zero check * Clarify gateway events * Change deployTranche * Update InvestmentState order --------- Co-authored-by: John Doe <[email protected]> * feat: Introduce toppers mapping which are the only allowed addresses … (#46) * feat: Introduce toppers mapping which are the only allowed addresses to call topUp(). * chore: Rename variable * chore: Remove unused code * chore: Change state vars order * chore: Change wording in revert message * fix: Test * chore: Remove unused import in TransferProxyFactory (#53) * chore: Rename transferAsset to avoid confusion (#50) * fix: Missing filing in deployment script (#47) * chore: Make Auth abstract (#52) * chore: Cache reading array length (#56) * chore: Improve comment (#51) * chore: Improve comment * fix: Comment format * CREATE2 transfer proxy (#55) * Use create2 for transfer proxy * Format * Add file test * Format * Change escrow salt * Format * chore: Use plain bit shift operations (#57) * chore: Add shiftRight to BitmapsLib * chore: Use plain bit shifting operations * Add methods to predict CREATE2 addresses (#58) * Fix #5, #47 (#59) * Fix #5 * Fix #47 * Add test check (#60) * Formt --------- Co-authored-by: John Doe <[email protected]> * Fix comment (#61) * Make transfer proxy factory deployment deterministic * fix: Initial changes to make fork tests verifiable again * chore: Make deployment verifiable via fork * Improve fork tests * Update base config * Adapt for base * Add arbitrum * Add ethereum mainnet * Add celo * Add a few more sanity checks * Update README * Update README.md * Update README.md * Compress pdfs * Add test for determinism * Comments * Error messages * Remove restriction manager verification * Disable determinism tests * Format * Clean up invariant test code --------- Co-authored-by: Jeroen Offerijns <[email protected]> Co-authored-by: John <[email protected]> Co-authored-by: Jeroen <[email protected]> Co-authored-by: Adam Stox <[email protected]>
hieronx
added a commit
that referenced
this pull request
Aug 5, 2024
* Rewrite UE-2 * fix: actor * chore: cleanup * feat: new library * feat: virtual for ERC7540 tests * feat: initial progress towards reusable Centrifuge ERC7540 implementation that is also non state impactinf * feat: progress on ERC7540 * feat: progress on E_3 * fix: compilation * feat: ERC7540 with reverts halfway done * feat: all properties to stateless * feat: admin trophy? * chore: compilation * chore: notes * fix: override unused properties * chore: cleanup * fix: toggle back ERC7540 * chore: cleanup * chore: trophies * feat: merged delta handling * chore: brought back ERC7540 * chore: ported out erc7540 logs * feat: initial debug * feat: triaged and flagged findings in legit * feat: property 10 * chore: fmt * chore: fmt * feat: initial work on Global-1 and 2 * fix: woops * feat: ignore ack findings * fix: incorrect clamp * fix: linear clamp on remaining orders for decrease * chore: skip erc7540 * chore: untoggle ERC7540 * feat: admin mistake example * refactor: make ERC7540 public * chore: debugging scratchpad * chore: rename * feat: more debug * feat: E_4 broken review * fix: medusa default sender * chore: triaage * feat: broken E_4 second * chore: notes * chore: links * Cleanpu * chore: debug * feat: canary 1e6 * fix: properties look ok * chore: run link * feat: decimals clamp * fix: decimals ** * temp: hardcoded decimals * chore: undo hardcoded decimals * Round up reduction of maxMint * feat: extra * chore: readme * feat: make ERC7540 Reusable * chore: docs * chore: comments * Add new claim cancel methods * feat: limit property * fix: investments * fix: removed trusted forwarders * Add properties * Fix new cancel methods * Fix properties * fix: investments * fix: check for proofs only if > 1 * feat: progress on properties * feat: recover and dispute recovery * fix: remove canary * chore: triage * fix: calldata = cannot debug * fix: naming * fix: traige * chore: comment * chore: debug is broken * fix: clamp to one main sender * fix: message clamping fixed * feat: SWE * chore: debug 15 * fix: compilation and trusted forwarder * Debug aggregator issues * Fix properties * Update * Round consistently * Fix max changes * Cleanup * Remove file methods * Check * Fix * Fix global 6 * Fix e1 and e2 * More precies clamping * Clean up * Fix some tests * Fix * Disable property 10 * Disable erc7540-10, add rounding error to erc7540-4, block deposit>maxDeposit * Format * Cleanup * feat: echidna settings * Dont authTransferFrom to escrow * Clean up tranche functions * More cleanup * Fix * Fix * fix: typo * chore: note on TODO * Cleanup * Upgrade solidity * Fix test compilation * Fix compilation * Fix * Fix gateway * Fix handlers * Disable transient opcodes * Fix setup * Fix rely * Update readme * Fix missing decrease * Rename * Clean up existing tests * Cleanup more old code * Simplify 7540 properties * Fix rounding in deposit/redeem * Remove unnecessary log * Add scope doc * Fix forced authTransferFrom * Rename * Move transfer check to vault * Fix max checks * Fix tests * Adapt property 9 * Re-enable transient storage * Re-enable cancun * Update scope * Allow claiming 0 * Add if statements * Rename and move * Fix echidna in ci * Add forge build to echidna commands * Remove old invariant tests * Fix interface name * Basic investment mgr docs * Clarify * chore: Change the way initial ward is set * chore: Gas optimization by caching array length in array iteration (#14) * chore: Gas optimization by caching array length in array iteration * chore: Rename variable * chore: Fix formating * fix: Remove unnecessary inheritance that is breaking compilation * chore:(finding-21) Make stricter check when parsing batch messages (#18) * chore:(finding-14) Replace _initiator() with msg.sender (#17) * chore:(finding-14) Replace _initiator() with msg.sender * chore: Remove completely _initiator() * chore:(finding-3) Rename balances state variable to reflect the metadata it cont… (#11) * chore: Rename balances state variable to reflect the metadata it contains in its bits * chore: Change balance book-keeping for the tranch token * chore: Fix format issues * chore: Renaming field and removing unnecessary code * chore: One more renaming * chore: More improvements * chore: Fix liniting * chore: Fix weird formatting that appears on save * fix: Gateway.estimate had mismatched local variables (#23) * chore:(finding-24) Safely cast uint256 to uint8 (#19) * chore:(finding-24) Safely cast uint256 to uint8 * Fix linting issues * chore: Add unit tests for MathLib.toUint8() * chore:(finding-19) Add a view method to allow user to see if they can execute their deposit requests (#16) * chore:(finding 19) Add a view method to allow user to see if they can execute their deposit requests * rename parameter * chore: Rename function * chore:(finding-2) Remove unnecessary interface declaration (#12) * chore: Remove unnecessary itnerface declaration * chore: Clean up all *Like interface definitions and usages * chore: Add missing documentation * chore: Change wording * chorel: Fix linting * fix: findings #8, #27, #38, #49, #53, #56, #65, #66, #68 (#24) * Uses variable name tranches is confusing #56 * updateRestriction could try to call non existing hook #53 * No vault level emit for triggerRedeemRequest #49 * Slot name could lead to collisions #68 * Unnecessary typecast in concat #66 * Comment in fulfillDepositRequest() seems incorrect #38 * Could use safeTransferETH() #27 * Very low number of minimal decimals #8 * byAdapter => perAdapter #56 * Fix interface #56 * Add comment * Assets can get stuck in TransferProxy #77 (#27) * Fix transfer proxy * Add tests * Add recovery to proxy * Finding 64, 57 (#29) * consolidate licenses * Use constant instead of 8 * fix:(finding-40) Calling PoolManager.transferTrancheTokens call directly tranche burn without checking for any restrictions (#26) * fix: Calling PoolManager.transferTrancheTokens call directly tranche.burn without checking for any restrictions * chore: Add hook for each tranche burn * Remove unnecessary check * Fix linting issue * Remove unnecessary method * chore:(finding-33) User wrapped token amount if it is possible when calling openLockDepositRequest, otherwise use underlying asset if possible to wrap it (#22) * (#34) Check that vault is valid on `getVault()` (#25) * Check vault exists in getVault * add more tests * Format --------- * Updating set of active adapters does not always clear votes #78 (#32) * Updating set of active adapters does not always clear votes #78 * Cleanup * Format * chore:(finding-70) Improve documentation (#34) * Fixing findings #45 , #48, #76 (#33) * chore:(finding-45) Optimize by caching values * chore: Remove unnecesary variable * fix:(finding-76) Cannot request deposit cancelation if you don't have any pending deposit requests * chore:(finding-48) Add documentation for fulfillment param in fulfillCancelRequestDeposit * chore: Improve documentation * chore: Move documentation * fix:(finding-76) Allow calling cancelReedemRequest only if there are any pending redeem requets * Limit owner in `requestDeposit/Redeem`, extend` open()` docs (#36) * Limit owner, add comment * Update tests * Add validate controller method * Fix comments * Update * Enable/disable * isOpen => isEnabled * chore:(finding-10) Replace hardcoded value (#35) * chore:(finding-10) Replace hardcoded value * Replace comment * chore:(finding-83) Replace non-transferable with non-fungible * Require price to be set (#31) * Require price to be set * Fix test * chore: Remove redundant check (#38) * Remove unused import (#39) * chore: Optimize gateway (#42) * Fixes #4, #85, #88 (#40) * Swap order * Swap deadline/nonce * manager => investmentManager * Any tokens left in CentrifugeRouter can be used by anyone#4 * Undo * Initializing with 0 isn't necessary if the variable is also defined in the for loop#88 * fix: Unnecessary authorization (#43) * fix: Unnecessary authorization * Fix deployment test * Improve testing the deployer script * Fixes set operator, #37, #95, #97, #98, #100, #103, #104, #108, #109, #111 (#45) * Block setting self as operator * Use _maxDeposit * Remove encodePacked * Simplify transfer check * Remove unused method * Clean up checkERC20Transfer * Update src/token/RestrictionManager.sol * Update src/token/RestrictionManager.sol * Cleanup * Update src/token/RestrictionManager.sol * ExecuteMessage event * Unsued imports * 95 * Several more fixes * Comment * Format * Add test for max message id * Consistent storage * Fix test * Remove vault asset id * Test authorize operator * Endorsed operator test * Disable crytic foundry tests for now * Revert gas service change * Execute message event * Change getVault * Add isPoolActive * Move address zero check * Clarify gateway events * Change deployTranche * Update InvestmentState order --------- * feat: Introduce toppers mapping which are the only allowed addresses … (#46) * feat: Introduce toppers mapping which are the only allowed addresses to call topUp(). * chore: Rename variable * chore: Remove unused code * chore: Change state vars order * chore: Change wording in revert message * fix: Test * chore: Remove unused import in TransferProxyFactory (#53) * chore: Rename transferAsset to avoid confusion (#50) * fix: Missing filing in deployment script (#47) * chore: Make Auth abstract (#52) * chore: Cache reading array length (#56) * chore: Improve comment (#51) * chore: Improve comment * fix: Comment format * CREATE2 transfer proxy (#55) * Use create2 for transfer proxy * Format * Add file test * Format * Change escrow salt * Format * chore: Use plain bit shift operations (#57) * chore: Add shiftRight to BitmapsLib * chore: Use plain bit shifting operations * Add methods to predict CREATE2 addresses (#58) * Fix #5, #47 (#59) * Fix #5 * Fix #47 * Add test check (#60) * Formt --------- * Fix comment (#61) * Make transfer proxy factory deployment deterministic * fix: Initial changes to make fork tests verifiable again * chore: Make deployment verifiable via fork * Improve fork tests * Update base config * Adapt for base * Add arbitrum * Add ethereum mainnet * Add celo * Add a few more sanity checks * Update README * Update README.md * Update README.md * Compress pdfs * Add test for determinism * Comments * Error messages * Remove restriction manager verification * Disable determinism tests * Format * Clean up invariant test code --------- Co-authored-by: Alex The Entreprenerd <[email protected]> Co-authored-by: John <[email protected]> Co-authored-by: Adam Stox <[email protected]>
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.