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

Resolve upstream conflicts #78

Merged
merged 42 commits into from
Nov 14, 2024

Conversation

sameersubudhi
Copy link
Member

What was the problem?

This PR resolves #LISK-1270

How was it solved?

  • Merge upstream changes to current master branch
  • Resolve yarn.lock conflicts
  • Reduce fork sync run frequency to once a week

How was it tested?

sh ./scripts/lisk/docker/dev/composeStart.sh
sh ./scripts/lisk/docker/dev/composeStop.sh

pxrl and others added 30 commits September 27, 2024 13:42
…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.
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]>
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]>
Has been tested manually; it gets routed via the same contracts as the
other supported ERC20s.
…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]>
Relayer performance should improve with an optimisation in the SDK
provider layer.
dohaki and others added 12 commits November 4, 2024 10:54
* 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]>
@sameersubudhi sameersubudhi self-assigned this Nov 14, 2024
@sameersubudhi sameersubudhi merged commit 9c1f9a5 into master Nov 14, 2024
2 checks passed
@sameersubudhi sameersubudhi deleted the LISK-1270-Resolve-upstream-conflicts branch November 14, 2024 14:39
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.

9 participants