Skip to content

Conversation

@WillPapper
Copy link
Contributor

WillPapper and others added 30 commits May 7, 2024 10:09
* feat: Add skeleton of the Based Sequencer contract

* doc: Add note on potential renaming

* feat: Add epoch lengths and epoch calculations

* chore: Need to reject batches with invalid parent hashes

* chore: Added note on epoch length conversions

* fix: Update EPOCH_LENGTH to use seconds

* docs: Added notes on overwriting proposed batches

* chore: Update contract name

* docs: Document answers to open questions

* feat: Add relative bidding in addition to absolute

* chore: Renamed file to BasedSequencerChain

* fix: Return the epoch number
* feat: Add a LinkedList for managing bids

* add explicit contract import

* add documentation for contracts codebase in monorepo README.md

---------

Co-authored-by: Gustavo Guimaraes <gustavoguimaraes@gmail.com>
* feat: Add a LinkedList for managing bids

* feat: Update mappings to better represent bids

* feat: Updated StructuredLinkedList to include bid address

* chore: Modify pop function to also return the address

* chore: Add safeTransferETH from Solmate V7

* feat: Add auction implementation

* add explicit imports

* chore: Change magic number into a constant

---------

Co-authored-by: Gustavo Guimaraes <gustavoguimaraes@gmail.com>
* docs: Add note on multiple batches

* refactor: Remove proposals and auctions from core

* feat: Add batch sequencing

* chore: Rename StructuredLinkedList to BidStructuredLinkedList

Also add a skeleton for an address linked list

* feat: Change LinkedList from uint256 to address

* docs: Fix author

* feat: Add mustAllow checks

* refactor: Rely on mustAllow reverts instead of returned addresses

* feat: Convenience function to get all checks

* feat: Add mayAllow checks

* docs: Rename mustAllow to requireAll and mayAllow to requireAny

* docs: Rename checks to requirements

* docs: Add TODO about view function evaluation
* remove unused lib
* peg solc version
ibremseth and others added 25 commits July 2, 2024 07:55
* Switch node to OP config

* Add Makefile and organize repo

* Adding link to reth Makefile for reference
* Adding engine client and organizing exex a bit

* Format

* Add based_sequencer_address as ENV var

* save batch in batches mapping

* create l3_transaction_in_block_parser

* Fix L3 block parser logic

* move l3_block_parser to its own folder

* log as error rather than panic terminate program

---------

Co-authored-by: Isaac <isaac@syndicate.io>
* chore: Add build contracts step

* fix: Switch to more robust forge command detection

The prior version was working on zsh on Mac but failing on bash on Ubuntu. This version works on both machines

* fix: Handle corrupted forge installation

* fix: Fix segmentation fault check

* fix: Catch error instead of checking for segmentation fault text

* chore: Check the build subcommand specifically

* chore: Also source .bashrc according to Foundry instructions

* fix: Fix command sourcing option

* chore: Echo contract completion

Co-authored-by: Daniil R <daniil@syndicate.io>

---------

Co-authored-by: Daniil R <daniil@syndicate.io>
* Refactor and organize exex

* Switch log from info to debug
* build: Add tests

* chore: Echo when installation is complete

* chore: Add additional instructions to run a node

* chore: Move install-foundry into its own step
* save progress. file compiles.

TODO: tests

* meaningless test

* - removed TODOs
- added test

* - PR comments
- rename

* - refactored to use a filter + convert from Event to block using `try_from`
- still need to refactor function to a helper and not on the struct

* Helping nail down the filtering/types

* Move parsing into L3Block into the function for processing new blocks

* Updated comment

* Use 0 for timestamp for now

---------

Co-authored-by: Isaac <isaac@syndicate.io>
* Started our own version of the engine client and implemented functionality to go from L3Block > PayloadAttribute

* Add helpful comments

* Remove engine field from manager

* Simplify test

* Add TODO's and update comments
* Add chain_state mod

* Clean up chain_state and add test

* Move env files and updated README
* Add chain_state mod

* Clean up chain_state and add test

* SEQ-47: create config mod

* fix README in contracts folder

* clean up env files

---------

Co-authored-by: Isaac <isaac@syndicate.io>
* add custom module

* deploy AlwaysAllowedModule to BAse Sepolia and add it to BasedSequencerChain
* chore: Echo when installation is complete

* build: Move Makefile to root

This will make GitHub Actions easier

This commit has no changes to the Makefile besides updating paths
* add custom module

* deploy AlwaysAllowedModule to BAse Sepolia and add it to BasedSequencerChain

* Create script for sending transactions to BasedSequencer contract

* update script to be more dynamic
* SEQ-76: Rewrite BasedSequencerChain contract with new specs

* Add PR suggestions

* Deploy MetaBasedSequencerChain to Base Sepolia

* change to Metabased
* add base_sepolia test tx limit for Metabase sequencer chain

* add test for tx limit on a MetabaseSequencerContract on Optimism

* add total tx per block test

* add command to run test tx limit and save output to file
* add deploy setup to metabased testnet chain

* Add deployed contracts to Metabased Testnet
* add deploy setup to metabased testnet chain

* Test how many events can we fit in a tx
* add first iteration of L3BackfillData

* deploy L3BackfillData contract to Metabased Testnet
* rough drafts for separate contract idea

* rm run

* saveForBatch

* deploys

* add L3 block number & update names

* optimize around L1 epoch block

* test for empty emit

* L3BackfillMapper uint256=>bytes32[]

* up

* more tests

* string to bytes

* more tests

* L3BackfillMapperTest
* add MetabasedFactory contract

* remove obsolete contract

* add l3ChainId to contracts constructors

* make l3ChainId as immutable
@WillPapper WillPapper merged commit c75a612 into main Oct 11, 2024
WillPapper pushed a commit that referenced this pull request Oct 11, 2024
* init scaffold

* logs

* ports

* readme
WillPapper added a commit that referenced this pull request Oct 11, 2024
* chore: cargo init

* chore: Install alloy

* wip: JSON RPC skeleton

* chore: Add support for eth_sendRawTransaction

* chore: Reject eth_sendTransaction

* chore: Add JSON-RPC import

* chore: Switch to jsonrpsee from deprecated jsonrpc package

* feat: Switch to jsonrpsee middleware example

* fix: Fix jsonrpsee install

* chore: Import serde

* chore: Add remaining imports and fix build

* chore: Remove build warnings for unused import

Also switch to more modern way to handle tracing_subscriber formatting

* chore: Add GitHub Action to run cargo

* chore: Update checkout version and toolchain override

* chore: Update GitHub Action with rust-toolchain

* chore: Add GitHub Action for Clippy Check

* chore: Update pull request logic for GH Action

* chore: Remove redundant import

* chore: Update clippy check

Uses https://doc.rust-lang.org/stable/clippy/continuous_integration/github_actions.html instead of the deprecated GitHub Action

* docs: Update TODOs for next steps

* test: Intentionally re-add redundant import to test Clippy Check failure

* Revert "test: Intentionally re-add redundant import to test Clippy Check failure"

This reverts commit 75653f8ca3a68bbebbe2390ede0796a407fe1220.
WillPapper added a commit that referenced this pull request Oct 11, 2024
* feat: Working dev container

* chore: Upgrade to Ubuntu 24 (Noble)
@WillPapper WillPapper deleted the merge-sequencing-chains branch October 12, 2024 00:57
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.

6 participants