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

Arbitrum/Orbit L2 => L1 Hook and ISM #2846

Closed
Tracked by #2843
nambrot opened this issue Oct 26, 2023 · 5 comments · Fixed by #3853
Closed
Tracked by #2843

Arbitrum/Orbit L2 => L1 Hook and ISM #2846

nambrot opened this issue Oct 26, 2023 · 5 comments · Fixed by #3853

Comments

@nambrot
Copy link
Contributor

nambrot commented Oct 26, 2023

This ticket encapsulates a hook and ISM that allows a Hyperlane message to be transported via Arbitrum's ArbSys precompile contract on L2 to L1. See more under https://docs.arbitrum.io/for-devs/cross-chain-messsaging

You will want to use a CCIP-read based ISM to allow the fetching of the OutboxProof data from the virtual precompile of the Arbitrum chain that can then be passed by any Hyperlane relayer to process the message on L1.

Submission of this bounty should include a demo on a testnet or mainnet with tx hashes.

@exp7l
Copy link

exp7l commented Dec 26, 2023

is this available to be worked on?

@nambrot
Copy link
Contributor Author

nambrot commented Dec 27, 2023

Also yes!

@shreyaspapi
Copy link

@nambrot is it still being worked on? Or would like to give it a try.

@nambrot
Copy link
Contributor Author

nambrot commented Jan 17, 2024

Looks like no progress has been made, so I'd say you go for it

@avious00 avious00 moved this to icebox in Hyperlane Tasks Mar 1, 2024
@avious00
Copy link
Contributor

@exp7l want to claim this after you finish L1?

github-merge-queue bot pushed a commit that referenced this issue Jul 3, 2024
### Description

- Contract support for the enabling postDispatch hook with the Arbitrum
nitro bridge from L2 to L1
- asynchronously via executeTransaction call to verifyMessageId first
and then the relayer calling the verify message with no metadata (note:
this supports msg.value)
- synchronously via a single verify call which in turn calls
executeTransaction on outbox to gets the message verified in the
verifyMessageId (note: this doesn't support msg.value as ism.verify
isn't payable)
- Added a script for deploying the hook and ISM since the sdk doesn't
support it yet.

### Drive-by changes

- changing the type from "rate_limited_hook" to "RATE_LIMITED" to
maintain consistency

### Related issues

- fixes #2846

### Backward compatibility

Yes

### Testing

Unit and e2e with arbitrumsepolia->sepolia
@github-project-automation github-project-automation bot moved this from Icebox to Done in Hyperlane Tasks Jul 3, 2024
@jmrossy jmrossy removed this from Hyperlane Tasks Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants