Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* 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]>
- Loading branch information