-
Couldn't load subscription status.
- Fork 75
feat: sponsored periphery audit #1141
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
base: master
Are you sure you want to change the base?
Conversation
* HyperCoreLib init commit * add functions for submitting and canceling limit orders * clean up function & variable naming * add tokenInfo getter function * split HyperCoreLib into two libraries * rename helper library * add function for bridging to self on Core * Update natspec and naming * fix natspec * combine libraries into single library with MIT license * make all function camelCase * Make tif order types into enum * check tif against tif.max
* HyperCoreLib init commit * add functions for submitting and canceling limit orders * clean up function & variable naming * add tokenInfo getter function * split HyperCoreLib into two libraries * rename helper library * add function for bridging to self on Core * Update natspec and naming * fix natspec * combine libraries into single library with MIT license * make all function camelCase * Make tif order types into enum * check tif against tif.max * add spotPx function * add minimumCoreAmountsToAmounts * clean up decimal conversion functions
* feat: OP Adapter update Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Undo the branch logic Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * revert formatting Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added tests Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Fixed test Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
* feat: eraVM Spoke Pool upgrade Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added tests Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
* Add function for checking if bridge amount is safe * fix function natspec
* feat: SponsoredCCTPLib Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Updated stuct hash for sig validation Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added src/dst periphery contracts Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * updates const Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Updated event names and params Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Updated receive event Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added hypercore lib Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added safe guards Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added wip swap handler Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added missing calls Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added limit order queue Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * updated simple transfer flow Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added hyper core forwarder Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * init hyper core forwarder swap func Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * progress Signed-off-by: Ihor Farion <ihor@umaproject.org> * complete _initiateSwapFlow2 Signed-off-by: Ihor Farion <ihor@umaproject.org> * Added finalize pending swaps function Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * removed finalTokenHCoreId Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * correct the limit price, size calculation, and send to SwapHandler logic Signed-off-by: Ihor Farion <ihor@umaproject.org> * added access control Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * first draft of cancelLimitOrderByCloid + submitNewLimitOrder Signed-off-by: Ihor Farion <ihor@umaproject.org> * complete the newMinCoreAmountFromLO calculation Signed-off-by: Ihor Farion <ihor@umaproject.org> * add a check to submitNewLimitOrder that safeguards new params against old calculated token amounts Signed-off-by: Ihor Farion <ihor@umaproject.org> * add fixes wrt new HyperCoreLib Signed-off-by: Ihor Farion <ihor@umaproject.org> * adjust functionality using new HyperCoreLib fns Signed-off-by: Ihor Farion <ihor@umaproject.org> * add _executeFlow + multiple random improvements Signed-off-by: Ihor Farion <ihor@umaproject.org> * some renamings for consistency Signed-off-by: Ihor Farion <ihor@umaproject.org> * try to improve donationBox interactions Signed-off-by: Ihor Farion <ihor@umaproject.org> * added bridge balance check before transfer Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * added fallback to send on evm Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Updated dst periphery to use executeflow func Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * unified fallback logic Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * updated account activation logic Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Removed ownable Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Removed maxBpsToSponsor from sig check Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * check for mint recipient in message validation Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * make the bridge safety buffer configurable; use new isCoreAmountSafeToBridge function Signed-off-by: Ihor Farion <ihor@umaproject.org> * improve fallback to hyperevm emitted event and logic Signed-off-by: Ihor Farion <ihor@umaproject.org> * added sweep functions Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Added min delay between finalizations Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * added commulative funcs Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * rewrite _initiateSwapFlow to support non-sponsored flow Signed-off-by: Ihor Farion <ihor@umaproject.org> * fallback flows and events Signed-off-by: Ihor Farion <ihor@umaproject.org> * misc todos Signed-off-by: Ihor Farion <ihor@umaproject.org> * misc improvements Signed-off-by: Ihor Farion <ihor@umaproject.org> * misc todos and fixes Signed-off-by: Ihor Farion <ihor@umaproject.org> * rough draft of correct size calculations Signed-off-by: Ihor Farion <ihor@umaproject.org> * new calc functions, hook up to swap flow Signed-off-by: Ihor Farion <ihor@umaproject.org> * fix math in submitUpdatedLimitOrder Signed-off-by: Ihor Farion <ihor@umaproject.org> * correct the amt calc Signed-off-by: Ihor Farion <ihor@umaproject.org> * add updated comments Signed-off-by: Ihor Farion <ihor@umaproject.org> * misc todos Signed-off-by: Ihor Farion <ihor@umaproject.org> * add _getSuggestedPriceX1e8 and comments Signed-off-by: Ihor Farion <ihor@umaproject.org> * comments + misc fixes Signed-off-by: Ihor Farion <ihor@umaproject.org> * improve fallback hyperEVM flow + fix donationBox interactions Signed-off-by: Ihor Farion <ihor@umaproject.org> * update account activation logic for SwapHandler Signed-off-by: Ihor Farion <ihor@umaproject.org> * add a comment Signed-off-by: Ihor Farion <ihor@umaproject.org> * add PX_D to _calcLOAmountsSell Signed-off-by: Ihor Farion <ihor@umaproject.org> * add maxUserSlippage for CCTP flow; add quote deadline buffer Signed-off-by: Ihor Farion <ihor@umaproject.org> * feedback Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Stack too deep, amount less fee & removal of isFinalized Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * fix incorrect calculation of non-sponsored token amount Signed-off-by: Ihor Farion <ihor@umaproject.org> * internal => extrenal in HyperCoreLib Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * fix incorrect bridge safety check Signed-off-by: Ihor Farion <ihor@umaproject.org> * change from time-based buffer between fund pulls to block-based buffer Signed-off-by: Ihor Farion <ihor@umaproject.org> * Update quote lib Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * use safeErc20 in src Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> Signed-off-by: Ihor Farion <ihor@umaproject.org> Co-authored-by: Ihor Farion <ihor@umaproject.org>
* commit before too late Signed-off-by: Ihor Farion <ihor@umaproject.org> * remove lz deps; reimplement minimal lz options functionality Signed-off-by: Ihor Farion <ihor@umaproject.org> * some polish and comments Signed-off-by: Ihor Farion <ihor@umaproject.org> * polish Signed-off-by: Ihor Farion <ihor@umaproject.org> * move things around Signed-off-by: Ihor Farion <ihor@umaproject.org> * add event for sponsored sends tracking Signed-off-by: Ihor Farion <ihor@umaproject.org> * polish Signed-off-by: Ihor Farion <ihor@umaproject.org> * add barebones DstOFTHandler Signed-off-by: Ihor Farion <ihor@umaproject.org> * improve lib quality Signed-off-by: Ihor Farion <ihor@umaproject.org> * added OFTComposeMsgCodec Signed-off-by: Ihor Farion <ihor@umaproject.org> * progress .. Flow implementaions left Signed-off-by: Ihor Farion <ihor@umaproject.org> * rough first draft of transfer-only flow Signed-off-by: Ihor Farion <ihor@umaproject.org> * add AccessControl Signed-off-by: Ihor Farion <ihor@umaproject.org> * pull account creation funds from donationbox Signed-off-by: Ihor Farion <ihor@umaproject.org> * remove HyperCoreLib Signed-off-by: Ihor Farion <ihor@umaproject.org> * first ROUGHEST draft of swap flow implementation Signed-off-by: Ihor Farion <ihor@umaproject.org> * a more complete implementation Signed-off-by: Ihor Farion <ihor@umaproject.org> * copy Forwarder + misc helper contracts into this branch Signed-off-by: Ihor Farion <ihor@umaproject.org> * adjust DstOFTHandler to use HyperCoreForwarder-implemented flows, instead of implementing flows from Handler direcly Signed-off-by: Ihor Farion <ihor@umaproject.org> * update error messageas Signed-off-by: Ihor Farion <ihor@umaproject.org> * updates Signed-off-by: Ihor Farion <ihor@umaproject.org> * added gas limits and max slippage bps Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * polish Signed-off-by: Ihor Farion <ihor@umaproject.org> * update HyperCoreForwarder import Signed-off-by: Ihor Farion <ihor@umaproject.org> * add maxUserSlippageBps to emitted event Signed-off-by: Ihor Farion <ihor@umaproject.org> * polish Signed-off-by: Ihor Farion <ihor@umaproject.org> * fix typechain oddness Signed-off-by: Ihor Farion <ihor@umaproject.org> * update HyperCoreFlowExecutor Signed-off-by: Ihor Farion <ihor@umaproject.org> * Deploy script Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * idk. fixing typechain :) Signed-off-by: Ihor Farion <ihor@umaproject.org> * deploy + test scripts + fix bugs Signed-off-by: Ihor Farion <ihor@umaproject.org> * update .gitignore and script Signed-off-by: Ihor Farion <ihor@umaproject.org> * fix Signed-off-by: Ihor Farion <ihor@umaproject.org> --------- Signed-off-by: Ihor Farion <ihor@umaproject.org> Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> Co-authored-by: Faisal Usmani <faisal.of.usmani@gmail.com>
Signed-off-by: Matt Rice <matthewcrice32@gmail.com>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
…ore account existence before allowing to set a final token or deploy a HyperCoreFlowExecutor contract Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
* feat: add arbitrary actions execution to sponsored bridging Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * fix the MIN_COMPOSE_MSG_BYTE_LENGTH Signed-off-by: Ihor Farion <ihor@umaproject.org> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> --------- Signed-off-by: Matt Rice <matthewcrice32@gmail.com> Signed-off-by: Ihor Farion <ihor@umaproject.org> Co-authored-by: Ihor Farion <ihor@umaproject.org>
contracts/periphery/mintburn/sponsored-cctp/SponsoredCCTPSrcPeriphery.sol
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass comments, the flow is definitely hard to get my head around and I'll probably need to re review
Co-authored-by: nicholaspai <9457025+nicholaspai@users.noreply.github.com>
Co-authored-by: nicholaspai <9457025+nicholaspai@users.noreply.github.com>
|
|
||
| uint256 finalAmount; | ||
|
|
||
| // This means the swap (if one was intended) didn't happen (action failed), so we use the initial token as the final token. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this internal function only intended to be used for swaps? I think maybe this comment is misleading as many types of arbitrary actions could lead to the initialBalance being unchanged after calling handleV3AcrossMessage
contracts/periphery/mintburn/sponsored-cctp/SponsoredCCTPSrcPeriphery.sol
Outdated
Show resolved
Hide resolved
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have two overall comment paths upon second reading:
- I left a comment about contract naming to make it clearer how HyperCoreFlowExecutor and ArbitraryActionFlowExecutor differ
- There seem to be a lot of reentrancy-protection violations. Is it deliberate to not use
nonReentranton any external functions in any contracts introduced in this PR?
Not deliberate. I think we should create a PR with changes to our reentrancy logic where we add a bunch of |
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
* add swapsProcessed return values to finalizePendingsSwaps Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * return finalized swap amount & number of swaps remaining Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * update var name process to finalize Signed-off-by: Taylor Webb <tbwebb22@gmail.com> --------- Signed-off-by: Taylor Webb <tbwebb22@gmail.com>
* fix Signed-off-by: Ihor Farion <ihor@umaproject.org> * a few renames Signed-off-by: Ihor Farion <ihor@umaproject.org> * remove dedundant maxBpsToSponsor enforcement Signed-off-by: Ihor Farion <ihor@umaproject.org> * save 1 stack depth. Signed-off-by: Ihor Farion <ihor@umaproject.org> * add _calcFinalExtraFees Signed-off-by: Ihor Farion <ihor@umaproject.org> * comment Signed-off-by: Ihor Farion <ihor@umaproject.org> --------- Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> Co-authored-by: Ihor Farion <65650773+grasphoper@users.noreply.github.com>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
* improve: Move BytesLib to external folder Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Undo var scoping Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
* fix stack too deep - need to verify equivalance Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * update comment Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * remove confusing comment Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * use CommonFlowParams struct Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * use CommonFlowParams struct in _executeFlow Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * remove confusing comment Signed-off-by: Taylor Webb <tbwebb22@gmail.com> * move things around Signed-off-by: Ihor Farion <ihor@umaproject.org> * remove remappings.txt Signed-off-by: Ihor Farion <ihor@umaproject.org> * chore: Update solidity and OZ versions (#1156) * chore: Update solidity and OZ versions Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * Upgrade hardhat as well Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * downgrade to 0.8.24 Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Taylor Webb <tbwebb22@gmail.com> Signed-off-by: Ihor Farion <ihor@umaproject.org> Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> Co-authored-by: Ihor Farion <ihor@umaproject.org> Co-authored-by: Faisal Usmani <faisal.of.usmani@gmail.com>
* remove Signed-off-by: Ihor Farion <ihor@umaproject.org> * polish Signed-off-by: Ihor Farion <ihor@umaproject.org> * add _finalizeSwapFlows Signed-off-by: Ihor Farion <ihor@umaproject.org> * complete finalization flow Signed-off-by: Ihor Farion <ihor@umaproject.org> * add a comment Signed-off-by: Ihor Farion <ihor@umaproject.org> * add Signed-off-by: Ihor Farion <ihor@umaproject.org> * Update events (#1159) * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * WIP Signed-off-by: Matt Rice <matthewcrice32@gmail.com> --------- Signed-off-by: Matt Rice <matthewcrice32@gmail.com> * fix cumulativeSponsoredAmount + add event Signed-off-by: Ihor Farion <ihor@umaproject.org> * update comment Signed-off-by: Ihor Farion <ihor@umaproject.org> * Update contracts/periphery/mintburn/HyperCoreFlowExecutor.sol Co-authored-by: Matt Rice <matthewcrice32@gmail.com> --------- Signed-off-by: Ihor Farion <ihor@umaproject.org> Signed-off-by: Matt Rice <matthewcrice32@gmail.com> Co-authored-by: Matt Rice <matthewcrice32@gmail.com>
* fix: Set version to cancun Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> * remove evmVersion on overrides Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com> --------- Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
No description provided.