Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds RPC endpoints to the Aztec node admin interface for manipulating time in development/testing environments:
setNextBlockTimestamp(timestamp)— Sets the L1 timestamp for the next block viaevm_setNextBlockTimestamp. Does not mine.advanceNextBlockTimestampBy(duration)— Advances the L1 timestamp by the given duration (in seconds). Does not mine.mineBlock()— Mines an L1 block, ensures we're in a new L2 slot, and forces the sequencer to produce an L2 block.These endpoints expose time manipulation capabilities through the node admin RPC, enabling sandbox and test environments to control block timestamps without needing direct L1 access.
Closes F-407
Continues from #22008
Changes
setNextBlockTimestamp,advanceNextBlockTimestampBy, andmineBlocktoAztecNodeAdmininterface and schemaAztecNodeServiceusingEthCheatCodesand sequencer triggeringtrigger()method toSequencerandSequencerClientfor immediate block productionDateProviderparameter toAztecNodeServiceconstructor for time-aware operationse2e_cheat_codes.test.tsand schema testsTest plan
setNextBlockTimestamp+mineBlockproduces a block at the target timestampadvanceNextBlockTimestampBy+mineBlockadvances time correctlymineBlockalone produces a new block without explicit timestamp setting🤖 Generated with Claude Code