This repo consists of work-in-progress implementations of the smart contracts making up RRC-7755;
make install-foundry
forge install
forge build
make test
make coverage
Create a .env
file in this directory with the following:
ARBITRUM_SEPOLIA_RPC=
OPTIMISM_SEPOLIA_RPC=
BASE_SEPOLIA_RPC=
Create a cast wallet with the following command (you'll need a private key ready - if you don't have one, you can create one with cast wallet new
first):
cast wallet import testnet-admin --interactive
Enter the private key of the account you want to use. Note, this account needs to be funded on all chains you'd like to submit requests to.
There are two types of requests you can submit, standard and ERC-4337 User Operations.
Base Sepolia -> Arbitrum Sepolia
make submit-base-to-arbitrum
Base Sepolia -> Optimism Sepolia
make submit-base-to-optimism
Arbitrum Sepolia -> Base Sepolia
make submit-arbitrum-to-base
Arbitrum Sepolia -> Optimism Sepolia
make submit-optimism-to-arbitrum
Optimism Sepolia -> Base Sepolia
make submit-optimism-to-base
Base Sepolia -> Arbitrum Sepolia
make userop-base-to-arbitrum
Base Sepolia -> Optimism Sepolia
make userop-base-to-optimism
Arbitrum Sepolia -> Base Sepolia
make userop-arbitrum-to-base
Arbitrum Sepolia -> Optimism Sepolia
make userop-arbitrum-to-optimism
Optimism Sepolia -> Arbitrum Sepolia
make userop-optimism-to-arbitrum
Optimism Sepolia -> Base Sepolia
make userop-optimism-to-base