Skip to content
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

Sync with upstream repo #74

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

github-actions[bot]
Copy link

Merge latest changes from upstream repo

pxrl and others added 19 commits September 27, 2024 13:42
…1843)

This can be used to test a viem-based or non-evm-based external
listener.
)

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.
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.
viem supports keepalives and timeouts on websocket transports. In
testing it has appeared to successfully websocket connections for longer
than ethers v5.
#1839)

* improve: swap Optimism and Base OpStackAdapters with BaseChainAdapters

Signed-off-by: bennett <[email protected]>

---------

Signed-off-by: bennett <[email protected]>
This message can be quite spammy in the main logging channel, so
redirect it to the more acceptably-noisy "unprofitable fills" channel.
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.
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.
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.
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]>
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.
* 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]>
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants