forked from across-protocol/relayer
-
Notifications
You must be signed in to change notification settings - Fork 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
Resolve upstream conflicts #78
Merged
Merged
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
…cross-protocol#1843) This can be used to test a viem-based or non-evm-based external listener.
…ross-protocol#1838) The existing limit of 10 loops was somewhat imprecise and was too short. as observed in production. This would occasionally trigger asserts in the BundleDataClient because it requires all SpokePoolClient instances to be updated. Instead, permit up to 60 seconds before proceeding.
…1841) This is a pre-emptive change made to make it easier to reuse common components in alternative listener implementations. Examples for a viem-based listener, as well as an eventual Solana listener. There are subsequent changes in the pipeline to factor out evm-specific parts.
…tocol#1842) viem supports keepalives and timeouts on websocket transports. In testing it has appeared to successfully websocket connections for longer than ethers v5.
across-protocol#1839) * improve: swap Optimism and Base OpStackAdapters with BaseChainAdapters Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]>
…1848) This message can be quite spammy in the main logging channel, so redirect it to the more acceptably-noisy "unprofitable fills" channel.
…1847) getUnfilledDeposits() currently unconditionally computes the deposit version (i.e. the ConfigStore VERSION value applicable at the deposit quoteTimestamp), and then filters out all the deposits that have been filled. Determining the relevant version implies a lot of Array.find() calls, all of which is wasted when the object is subsequently discarded.
…#1849) This implementation is a bit hacky, but it works and is quite useful when supporting third-parties to debug fillStatus queries.
This includes a change that speeds up deposit/fill matching. In the relayer this can save multiple seconds per loop, so it's going to have a meaningful impact on performance.
Co-authored-by: bmzig <[email protected]>
This should probably have been part of the larger commit to support World Chain. It has been tested locally and successfully submitted a proof for a WBTC withdrawal.
…ocol#1860) This is a simple fix to guarantee that the rebalancer will not try to send an amount over CCTP which is greater than 1 million USDC, however, if we needed to send over 1 million USDC, this fix would split the transfers into multiple runs. There might be a follow-up to permit multiple rebalances per run, but this is OK for now. Signed-off-by: bennett <[email protected]>
Co-authored-by: bennett <[email protected]>
This includes an optimisation for the SpokePoolClient to bundle two separate SpokePool calls into a SpokePool multicall. Ideally this will reduce the instance of RPC errors when this query occurs against a block that's slightly ahead of one of the RPC providers.
To gain the recently-added worldchain definitions.
…ocol#1840) * improve(unwrapWeth): Add Redstone to unwrap weth script * Update unwrapWeth.ts * Update unwrapWeth.ts * Update unwrapWeth.ts * Update unwrapWeth.ts
) * feat: Automate withdrawing ETH from OpStack chains - Adds a new script to withdraw ETH via the OVM standard L2 bridge to the signer's address on L1 - Adds a feature to the OP stack finalizer that lets the user specify addresses that they want to finalize OVM withdrawals for, in addition to any existing SpokePool withdrawals. This pairs with the above script to allow us to one-step manually move ETH from OP stack chains back to the same EOA on Ethereum - To use this new feature, we need to add new chains to the finalizer config (i.e. 7777777 and 1135) and also set `WITHDRAWAL_TO_ADDRESSES=[x]` where `x` are addresses that we plan to execute manual withdrawals from * Update opStack.ts * Update OpStackStandardBridgeL2.json * Update opStack.ts * Update Constants.ts * Update scripts/withdrawFromOpStack.ts Co-authored-by: Paul <[email protected]> * Add safety checks * Update opStack.ts * Update opStack.ts --------- Co-authored-by: Paul <[email protected]>
…l#1868) * feat: add spoke pool balance reporting to the monitor Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]> Co-authored-by: James Morris, MS <[email protected]>
Signed-off-by: bennett <[email protected]>
Has been tested manually; it gets routed via the same contracts as the other supported ERC20s.
Signed-off-by: bennett <[email protected]> Co-authored-by: Paul <[email protected]>
…col#1875) This skips an RPC call when the block number has not incremented beyond the last update cycle.
* feat: Create generic AtomicWethDepositor Signed-off-by: nicholaspai <[email protected]> --------- Signed-off-by: nicholaspai <[email protected]> Co-authored-by: bmzig <[email protected]> Co-authored-by: Paul <[email protected]>
) * feat: add machine-readable JSON report to reporter Signed-off-by: Matt Rice <[email protected]> * lint Signed-off-by: Matt Rice <[email protected]> --------- Signed-off-by: Matt Rice <[email protected]>
…rotocol#1871) * improve(finalizer): make finalizer logs more human-readable Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]> Co-authored-by: Matt Rice <[email protected]>
* feat(InventoryClient): Wrap ETH on Mainnet Adds lightweight Ethereum adapter that inventory client can use to wrap ETH. Has no other side effects * lint * Update src/adapter/BaseChainAdapter.ts Co-authored-by: Paul <[email protected]> --------- Co-authored-by: Paul <[email protected]>
…rotocol#1883) Signed-off-by: bennett <[email protected]>
Relayer performance should improve with an optimisation in the SDK provider layer.
* improve: Remove FundsDeposited and FilledRelay mentions * improve(README): Remove more legacy references forgotten commit from 7802c94 * Update README.md * Update src/dataworker/README.md * Update src/dataworker/README.md * Update src/dataworker/README.md
…cross-protocol#1897) * feat: handle Polygon finalizer edge case when CCTP limit is breached There is a bug in the Polygon finalizer where a single transaction contains multiple token withdrawals from Spoke to Hub in which more than 1 million USDC are withdrawn, resulting in a single `TokensBridged` event getting emitted but multiple USDC "burns" happening (due to the CCTP 1mil withdrawal limit). This messes up the `logIndex` computation math for any withdrawals that take place after the USDC withdrawals. This logic isn't needed in other chains with CCTP like Arbitrum or Optimism because the `logIndex` is relative to all other non-CCTP withdrawals, whereas in Polygon it seems that CCTP withdrawals also count towards the `logIndex` of non CCTP withdrawals * Update polygon.ts
…cross-protocol#1899) The existing logic incorrectly only short-circuits when the fill status is unfilled. Once this has happened, the fill status changes to SlowFillRequested and the relayer will proceed to evaluate it as per its normal fill logic.
This ensures that providers have cache and fallback behaviour.
* refactor: Use sdk multicall3 implementation * lint * Cleanup --------- Co-authored-by: nicholaspai <[email protected]>
* improve: track slow fills in the monitor --------- Signed-off-by: bennett <[email protected]> Co-authored-by: nicholaspai <[email protected]>
* Support AlephZero * change time based constants * define gasToken in BaseBridgeAdapter * set aleph zero min deposit confirmations equal to arbitrum values * fix typo * feat(alephzero): make arb finalizer generic (across-protocol#1895) Signed-off-by: james-a-morris <[email protected]> * Delete duplicated multicall address * update across constants repo * Change contract addresses name pattern * Fix arbitrum outbox definition * Rename orbit contract addresses entries * Update contracts and sdk, delete deprecated events * fix tests * fix test * use native token symbol when deciding to unwrap eth or not * improve: bump sdk (across-protocol#1904) * refactor: arbitrum orbit bridge (across-protocol#1903) * refactor: aleph zero bridge inherits arbitrum one bridge Signed-off-by: bennett <[email protected]> * make arbitrum bridge generic Signed-off-by: bennett <[email protected]> * add bridge Signed-off-by: bennett <[email protected]> * native token Signed-off-by: bennett <[email protected]> * build Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]> * fix: change contract constant name Signed-off-by: james-a-morris <[email protected]> * Rebasing and removing DATAWORKER_FAST_LOOKBACK as it is not used anymore * feat: support custom gas token bridges in the rebalancer (across-protocol#1873) * feat: support custom gas token bridges in the rebalancer Signed-off-by: bennett <[email protected]> * Support AlephZero * Support AlephZero * feat(alephzero): add multicall3 (across-protocol#1893) Signed-off-by: james-a-morris <[email protected]> * feat(alephzero): make arb finalizer generic (across-protocol#1895) Signed-off-by: james-a-morris <[email protected]> * fix: dedup approvals and encode proper outbound data Signed-off-by: bennett <[email protected]> * remove await Signed-off-by: bennett <[email protected]> * custom azero gas values Signed-off-by: bennett <[email protected]> * fix package.json * Delete unused file --------- Signed-off-by: bennett <[email protected]> Signed-off-by: james-a-morris <[email protected]> Co-authored-by: Melisa Guevara <[email protected]> Co-authored-by: James Morris, MS <[email protected]> --------- Signed-off-by: james-a-morris <[email protected]> Signed-off-by: bennett <[email protected]> Co-authored-by: James Morris, MS <[email protected]> Co-authored-by: nicholaspai <[email protected]> Co-authored-by: bmzig <[email protected]> Co-authored-by: james-a-morris <[email protected]>
* fix: dedup bridges to approve properly Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]>
matjazv
approved these changes
Nov 14, 2024
Incede
approved these changes
Nov 14, 2024
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.
What was the problem?
This PR resolves #LISK-1270
How was it solved?
How was it tested?