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

Express lane timeboost auctioneer rpc forwarding and sequencer coordinator #2903

Merged
merged 7 commits into from
Jan 31, 2025

Conversation

Tristan-Wilson
Copy link
Member

@Tristan-Wilson Tristan-Wilson commented Jan 28, 2025

This PR enables forwarding of express lane auction resolution txs ("auctioneer" namespace) and disables the requirement for JWT auth since the auction resolution method is already checked for signature by the auctioneer.

It also adds two new options for the autonomous-auctioneer which allow it to discover the active sequencer so that it can send its auction resolution transactions directly to it. If the sequencer is using the redis coordinator to manage which sequencer is active, then the same redis url can be passed as an option to the auctioneer.

The new options are:
--auctioneer-server.redis-coordinator-url
--auctioneer-server.use-redis-coordinator

Testing done

Forwaring feature

Tested with nitro-testnode timeboost-mode branch: OffchainLabs/nitro-testnode#95

./test-node.bash --init-force --dev --l2-timeboost --redundantsequencers 1 2>&1 | tee run_`date +%s`.log

Tested running timeboost-test https://github.com/OffchainLabs/timeboost-test targeting the forwarding sequencer with the following configuration, and observed that auction resolution messages are forwarded correctly and resolution occurs.

$ cat .env
# Account parameters key
PRIVATE_KEY=0x5c5c2c164ead6e3f0aa2e8db343277538e644edf994cdf048ca5ca633c822d5e
CONTENDER_PRIVATE_KEY=0xab65119bd544c8557915190bd5254f6462372c6633b4aba337c38ca59bb11793

# Chain parameters
RPC=http://localhost:8547
CHAIN_ID=412346
SEQUENCER_ENDPOINT=http://localhost:8547

# Timeboost parameters
TB_AUCTION_CONTRACT_ADDRESS=0x7DD3F2a3fAeF3B9F2364c335163244D3388Feb83
TB_BID_VALIDATOR_ENDPOINT=http://localhost:9372
AUCTION_STARTS_AT_SECONDS_IN_MINUTE=5   # Adding some leeway (5 seconds) to the auction starting time
AUCTION_ENDS_AT_SECONDS_IN_MINUTE=50    # Adding some leeway (5 seconds) to the auction ending time

# Bidding parameters
BID_AMOUNT_WEI=20
CONTENDER_BID_AMOUNT_WEI=10
 
# Debugging parameters
SEND_TRANSACTION_TO_TRIGGER_NEW_BLOCKS=true
SECONDS_TO_WAIT_BETWEEN_EL_TRANSACTIONS=2
ONLY_BIDDING_MODE=false

Auctioneer using Sequencer Coordinator

Tested with nitro-testnode timeboost-mode branch: OffchainLabs/nitro-testnode#95

./test-node.bash --init-force --dev --l2-timeboost --redundantsequencers 2 2>&1 | tee run_`date +%s`.log

Ran timeboost-test as above, then disabled the primary sequencer

$ docker compose stop sequencer_b

then ran timeboost-test again.

Observed switchover in auctioneer logs:

INFO [01-28|17:50:47.001] Created sequencer client                 url=http://sequencer_c:8547

Checked logs from sequencer to see that correct sequencer was receiving the auction resolution message.

$ grep Prioritizing run_1738085748.log
sequencer_b-1              | INFO [01-28|17:48:47.008] Prioritizing auction resolution transaction from auctioneer txHash=0x694b0b72d772175779f6cd2254a805af73b879f8e8c5c427b5dc59188fb7b5fc
sequencer_c-1              | INFO [01-28|17:50:47.010] Prioritizing auction resolution transaction from auctioneer txHash=0x587bc0bfd3864f6fce67d49418648691c183cb4e6e89221887d97ce4cdf3660b

Tristan-Wilson and others added 2 commits January 28, 2025 12:46
This PR adds two new options for the autonomous-auctioneer which allow
it to discover the active sequencer so that it can send its auction
resolution transactions directly to it. If the sequencer is using the
redis coordinator to manage which sequencer is active, then the same
redis url can be passed as an option to the auctioneer.

The new options are:
--auctioneer-server.redis-coordinator-url
--auctioneer-server.use-redis-coordinator
@Tristan-Wilson Tristan-Wilson changed the title Express lane timeboost auctioneer rpc forwarding Express lane timeboost auctioneer rpc forwarding and sequencer coordinator Jan 28, 2025
Base automatically changed from express-lane-timeboost to master January 29, 2025 19:37
@tsahee tsahee enabled auto-merge January 31, 2025 19:02
@tsahee tsahee merged commit 10dd8f4 into master Jan 31, 2025
16 checks passed
@tsahee tsahee deleted the express-lane-timeboost-auctioneer-rpc branch January 31, 2025 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants