Skip to content

Make the simulator more configurable#6

Merged
mslipper merged 1 commit intooptimism-historyfrom
feat/configurable-simulator
Sep 21, 2022
Merged

Make the simulator more configurable#6
mslipper merged 1 commit intooptimism-historyfrom
feat/configurable-simulator

Conversation

@mslipper
Copy link
Contributor

@mslipper mslipper commented Sep 21, 2022

Adds additional configurability to the simulator in order to allow us to specify custom genesis config properties.

Fixes the test bugs in ethereum-optimism/optimism#3322.

Copy link
Contributor

@protolambda protolambda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Will look to upstream this soon, seems pretty useful

@mslipper mslipper merged commit 5111483 into optimism-history Sep 21, 2022
mdehoog added a commit to mdehoog/op-geth that referenced this pull request Oct 10, 2022
…/fix-point-evaluation

Fix point evaluation
mdehoog pushed a commit to mdehoog/op-geth that referenced this pull request Oct 11, 2022
…sit-reinject

core: do not try to reinject deposit txs
protolambda added a commit that referenced this pull request Nov 4, 2022
core: do not try to reinject deposit txs
protolambda pushed a commit that referenced this pull request Nov 4, 2022
protolambda added a commit that referenced this pull request Feb 22, 2023
This commit squashes the op-geth fork history into a more maintainable
diff for rebasing upon upstream geth.

reference-optimistic-geth changes (origins of op-geth in early Bedrock
development stage):
- Deposit TX Type
- Enable deposit tx in EVM/tx pool
- Change deposit nonce to not be the max nonce
- Extend PayloadAttributesV1 with a Transactions field
- Force deposits at the start of each L2 block
- Fix height check
- noTxPool flag, reproduce block in verifier mode without tx pool interference
- Fix RPC json marshalling (ref op-geth PR 4)
- Deposit txs block height check in block body validation (ref op-geth PR 5)
- core: do not try to reinject deposit txs into tx-pool (ref-op-geth PR 6)
- deposit source hash field instead of L2 block height and tx index combination
- Include invalid deposits, rewind state, but always persist mint (#10)
- Provide gas to Call/Create in deposit transactions (#12)
- Add docker builds (ref-op-geth PR 16, 17)
- Don't panic on deposit transaction signature values or chain ID (ref-op-geth PR 18)
- core: Add version to DepositTx (ref-op-geth PR 19)
- Enable Geth build/lint/test in CircleCI (ref-op-geth PR 23)
- core: Include guaranteed gas in the gas pool (ref-op-geth PR 21)
- core: handle base fee, l1 availability fee, tx fee (ref-op-geth PR 27)
- fix: deposit tx hash
- fix l1 fee cache, rpc, tracing and tx pool
- core: remove deposit-tx sub-type (a.k.a. deposit version byte)
- eth/catalyst: allow engine user to reorg own chain
- miner: restore ability to reorg deep as block builder
- params: print Optimism consensus type in banner
- core/types: remove unused protected() method, see upstream PR 23376
- core: do not mutate original balance value in tx pool l1 cost adjustment
- core: subtract deposit gas from pool, so other txs do not use the same gas. And fail tx processing if deposits reach gas limit
- core/types: deposits do not tip, avoid basefee subtraction
- Unmeter the L1 Attributes Transaction
- miner: handle force tx errors as critical, clean up diff
- ci: Switch branch
- eth,miner: return STATUS_INVALID when failing to process forced transactions in request (ref-op-geth PR 40)
- verifier: forward tx to sequencer based on flag
- txpool: add flag to disable tx gossip (ref-op-geth PR 42)
- Add op-geth version in addition to geth version (ref-op-geth PR 43)
- ci: CircleCI improvements (ref-op-geth PR 44)
- Rename to op-geth
- Build latest tag on optimism branch

op-geth changes:
- Expose cache config in simulated backend (#2)
- Add EIP-1559 parameters
- eth/catalyst: update payload id computation (#1)
- make eip1559 configurable (#4)
- post-merge network should not log warnings about missing transition information (#5)
- Make the simulator more configurable (#6)
- fix OPB-6 - IsDepositTx check instead of artificial nonce value check (#7)
- Simulated backend - enable proof of stake consensus type and fix performance issue (#8)
- accounts: simulated backend consensus engine option and immediate tx indexing
- consensus/beacon: recognize all blocks as reached TTD with 0 TTD in chain config
- Add --rollup.historicalhttp CLI flag and fix backend iface
- Flags and interfaces for historical RPC requests (#12)
- Redirect historical RPC requests (#13)
- Use the pre-existing ethereum.NotFound error (#18)
- Add historical endpoint to TraceBlockByNumber and TraceBlockByHash (#19)
- Add historical endpoint to TraceTransaction (#20)
- Add historical endpoint to TraceCall (#21)
- optimism: fee params from info txi, update l1 cost func GPO params read (#15)
- add hardcoded addresses for fee payouts (#23)
- dynamic gas limit via engine API (#22)

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
Co-authored-by: Joshua Gutow <jgutow@oplabs.co>
Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
Co-authored-by: Maurelian <maurelian@protonmail.ch>
marcopeereboom referenced this pull request in hemilabs/op-geth Feb 26, 2024
* Add pop transaction type

* Copyright

* Add version

* Add PoP tx type version and add it to valid transaction types

* Start sprinkling pop tx

* re-added Value to PopTx.copy(), added test, added todo comment

* Disable test that won't work with reflect due to pointers

* Changed PoPTx to PoPPayoutTx, and replaced the PoP data fields (raw Bitcoin tx bytes, Merkle path, containing Bitcoin block, etc.); rather than carrying full PoP data the PoPPayoutTx just performs the actual payouts by calling GovernanceToken.mintPoPRewards().

* - Prevent l1 fees from being set or re-derived for PoP Txes in transaction receipts
- Add popPayoutNonce field similar to depositNonce in Deposit Txes
- Nonce for PoP transactions set automatically during state transition similar to Deposit Txes
-

* Remove "Version" from PoP Payout Tx

* Misc. Fixes & TODOs Resolved
- Added PoP Payout Nonce serialization to RPCTransaction
- Added checks to PoP Tx Unmarshalling for fields that shouldn't be set
- Removed unset fields from PoP Tx copy
- Added PoPPayoutNonce serialization to receipt marshalling
- Confirmed only Sender() method on EIP2930Signer needs to process PoP Payout sender correctly
- Fixed RPC PoP Tx deserialization test

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Removed unused Nonce, IsSystemTransaction, and Value fields from PoP Tx
Implemented TestPopPayoutTxEncodeDecode

* Fixed merge bug

* Regenerated gen_receipt_json.go

---------

Co-authored-by: ClaytonNorthey92 <clayton.northey@gmail.com>
Co-authored-by: Max Sanchez <max@veriblock.com>
Co-authored-by: Maxwell Sanchez <macbymax@gmail.com>
ClaytonNorthey92 referenced this pull request in hemilabs/op-geth Apr 17, 2024
* Add pop transaction type

* Copyright

* Add version

* Add PoP tx type version and add it to valid transaction types

* Start sprinkling pop tx

* re-added Value to PopTx.copy(), added test, added todo comment

* Disable test that won't work with reflect due to pointers

* Changed PoPTx to PoPPayoutTx, and replaced the PoP data fields (raw Bitcoin tx bytes, Merkle path, containing Bitcoin block, etc.); rather than carrying full PoP data the PoPPayoutTx just performs the actual payouts by calling GovernanceToken.mintPoPRewards().

* - Prevent l1 fees from being set or re-derived for PoP Txes in transaction receipts
- Add popPayoutNonce field similar to depositNonce in Deposit Txes
- Nonce for PoP transactions set automatically during state transition similar to Deposit Txes
-

* Remove "Version" from PoP Payout Tx

* Misc. Fixes & TODOs Resolved
- Added PoP Payout Nonce serialization to RPCTransaction
- Added checks to PoP Tx Unmarshalling for fields that shouldn't be set
- Removed unset fields from PoP Tx copy
- Added PoPPayoutNonce serialization to receipt marshalling
- Confirmed only Sender() method on EIP2930Signer needs to process PoP Payout sender correctly
- Fixed RPC PoP Tx deserialization test

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Removed unused Nonce, IsSystemTransaction, and Value fields from PoP Tx
Implemented TestPopPayoutTxEncodeDecode

* Fixed merge bug

* Regenerated gen_receipt_json.go

---------

Co-authored-by: ClaytonNorthey92 <clayton.northey@gmail.com>
Co-authored-by: Max Sanchez <max@veriblock.com>
Co-authored-by: Maxwell Sanchez <macbymax@gmail.com>
ClaytonNorthey92 referenced this pull request in hemilabs/op-geth Apr 17, 2024
* Add pop transaction type

* Copyright

* Add version

* Add PoP tx type version and add it to valid transaction types

* Start sprinkling pop tx

* re-added Value to PopTx.copy(), added test, added todo comment

* Disable test that won't work with reflect due to pointers

* Changed PoPTx to PoPPayoutTx, and replaced the PoP data fields (raw Bitcoin tx bytes, Merkle path, containing Bitcoin block, etc.); rather than carrying full PoP data the PoPPayoutTx just performs the actual payouts by calling GovernanceToken.mintPoPRewards().

* - Prevent l1 fees from being set or re-derived for PoP Txes in transaction receipts
- Add popPayoutNonce field similar to depositNonce in Deposit Txes
- Nonce for PoP transactions set automatically during state transition similar to Deposit Txes
-

* Remove "Version" from PoP Payout Tx

* Misc. Fixes & TODOs Resolved
- Added PoP Payout Nonce serialization to RPCTransaction
- Added checks to PoP Tx Unmarshalling for fields that shouldn't be set
- Removed unset fields from PoP Tx copy
- Added PoPPayoutNonce serialization to receipt marshalling
- Confirmed only Sender() method on EIP2930Signer needs to process PoP Payout sender correctly
- Fixed RPC PoP Tx deserialization test

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Removed unused Nonce, IsSystemTransaction, and Value fields from PoP Tx
Implemented TestPopPayoutTxEncodeDecode

* Fixed merge bug

* Regenerated gen_receipt_json.go

---------

Co-authored-by: ClaytonNorthey92 <clayton.northey@gmail.com>
Co-authored-by: Max Sanchez <max@veriblock.com>
Co-authored-by: Maxwell Sanchez <macbymax@gmail.com>
ClaytonNorthey92 referenced this pull request in hemilabs/op-geth Apr 19, 2024
* Add pop transaction type

* Copyright

* Add version

* Add PoP tx type version and add it to valid transaction types

* Start sprinkling pop tx

* re-added Value to PopTx.copy(), added test, added todo comment

* Disable test that won't work with reflect due to pointers

* Changed PoPTx to PoPPayoutTx, and replaced the PoP data fields (raw Bitcoin tx bytes, Merkle path, containing Bitcoin block, etc.); rather than carrying full PoP data the PoPPayoutTx just performs the actual payouts by calling GovernanceToken.mintPoPRewards().

* - Prevent l1 fees from being set or re-derived for PoP Txes in transaction receipts
- Add popPayoutNonce field similar to depositNonce in Deposit Txes
- Nonce for PoP transactions set automatically during state transition similar to Deposit Txes
-

* Remove "Version" from PoP Payout Tx

* Misc. Fixes & TODOs Resolved
- Added PoP Payout Nonce serialization to RPCTransaction
- Added checks to PoP Tx Unmarshalling for fields that shouldn't be set
- Removed unset fields from PoP Tx copy
- Added PoPPayoutNonce serialization to receipt marshalling
- Confirmed only Sender() method on EIP2930Signer needs to process PoP Payout sender correctly
- Fixed RPC PoP Tx deserialization test

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Fixed Non-Typed RLP Encode/Decode
Added PoPPayoutTx to Receipt tests

* Removed unused Nonce, IsSystemTransaction, and Value fields from PoP Tx
Implemented TestPopPayoutTxEncodeDecode

* Fixed merge bug

* Regenerated gen_receipt_json.go

---------

Co-authored-by: ClaytonNorthey92 <clayton.northey@gmail.com>
Co-authored-by: Max Sanchez <max@veriblock.com>
Co-authored-by: Maxwell Sanchez <macbymax@gmail.com>
kangsorang pushed a commit to kroma-network/7560-geth that referenced this pull request Oct 15, 2024
emilianobonassi pushed a commit to emilianobonassi/op-geth that referenced this pull request Feb 7, 2025
…-udpates

Allow config of init height for tbc
kchojn referenced this pull request in compose-network/op-geth Oct 14, 2025
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.

2 participants