-
Notifications
You must be signed in to change notification settings - Fork 434
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add OP Deposit TxType and Tx fields * Add Optimism plugin * Add deposit tx rlp decoding and encoding * Start adding chainspec style for optimism * Start l1 tx cost implementation * Refactors and setting up optimism plugin * Some custom state transition logic * state transition logic * Commit * Fix build * Fix Aura & add config * Add plugin to Runner * Make it run * No state in genesis * sync state & old headers * Bodies & receipts * Finalized fix * Move to chainspec based OP config * Enable OptimismEngineModule * OP Specific way of building empty blocks * Op post merge block producer empty block refactor * Revert "Enable OptimismEngineModule" This reverts commit 0c8c091. * use OptimismEngineModule * plugin order * OptimismTxValidator * Ignore gas limit * Optimism plugin no longer inherits from MergePlugin * Add txProcessorFactory * Work on OptimismBlockProducerEnvFactory * Don't touch account on substracting zero from balance * Update transaction ToString for better debugging * skip refunds and fees in deposit txs * Fix DepositTx signature encoding * Log OP payload attrs fields * Throw if asks for l1 gas cost * fix parenthesis in OP payload attrs toString * Fix Extradata and Nonce * Fix Gas refunds for Depost Txs * Implement L1Cost function * Fix RecoverSignature preprocessing step * Fix nonce incrementing twice * Make Rpc Transaction work with Depost Type * Fix tx picker when producing blocks in optimism * skip block improvement for deposit-only payloads * invert noTxPool checks * Remove unnecessary evm call override in op tx processor * Regolith timestamp & td validation * IsOpSystemTransaction * Fix 1559 fee collector * BlockTree load ForkChoice info * simplify config and chainspec for op-goerli * Add some logging to LoadForkChoice info * Fix rpc tx * some logging (commented out for now) * fix logging in OP payload attrs * Increment nonce on invalid deposit * reenable networking * Add base goerli config * add author to base goerli genesis * fix activated at in builtins * fix chainspec for base-goerli.json * Update submodules to master version * change payload id computation * Add base mainnet * Op mainnet * Op-mainnet config change * Remove todos * Fix formatting * Fix build * Change encoding * Add root * Revert "Add root" This reverts commit 1127960. * Revert "Remove todos" This reverts commit c23b09d. * Fix build * Remove todos * Fix overflow * Fix payload ids in tests * Fix init tests * Fix null api * Fix proof test * Fix aura payloadId * Cleanup * Fix goerli ttd * Enable GC on newPayload * Fix build * Fix formatting * Change to task delay * Fix RecoverAddress * Fix minor issues * Fix build * feeRecipient & blockAddress in chainspec * Optimism ecdsa * Fix AlwaysPos * Filter transactions * Cash l1datacost * Small fixes * Remove AllowUnsafeBlocks * Remove TxProcessorFactory * Move SetupBlockchainProcessorInterceptor * NeverProduceTrigger * InitializeBlockProducerOptimism * Validate payload attributes * Init SpecHelper & L1CostHelper --------- Co-authored-by: Jorge Mederos <jmederosalvarado@gmail.com> Co-authored-by: lukasz.rozmej <lukasz.rozmej@gmail.com> Co-authored-by: Nikita Mescheryakov <deffriann@protonmail.com>
- Loading branch information
1 parent
218ed62
commit ffcbf90
Showing
119 changed files
with
32,629 additions
and
335 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
{ | ||
"name": "Optimism goerli", | ||
"dataDir": "op-goerli", | ||
"engine": { | ||
"Optimism": { | ||
"params": { | ||
"regolithTimestamp": "0x6414B8B0", | ||
"bedrockBlockNumber": "0x0", | ||
"l1FeeRecipient": "0x420000000000000000000000000000000000001A", | ||
"l1BlockAddress": "0x4200000000000000000000000000000000000015" | ||
} | ||
} | ||
}, | ||
"params": { | ||
"chainId": "0x1a4", | ||
"gasLimitBoundDivisor": "0x400", | ||
"accountStartNonce": "0x0", | ||
"maximumExtraDataSize": "0x20", | ||
"minGasLimit": "0x1388", | ||
"forkBlock": "0x0", | ||
"maxCodeSize": "0x6000", | ||
"maxCodeSizeTransition": "0x0", | ||
"eip150Transition": "0x0", | ||
"eip160Transition": "0x0", | ||
"eip161abcTransition": "0x0", | ||
"eip161dTransition": "0x0", | ||
"eip155Transition": "0x0", | ||
"eip140Transition": "0x0", | ||
"eip211Transition": "0x0", | ||
"eip214Transition": "0x0", | ||
"eip658Transition": "0x0", | ||
"eip145Transition": "0x0", | ||
"eip1014Transition": "0x0", | ||
"eip1052Transition": "0x0", | ||
"eip1283Transition": "0x0", | ||
"eip1283DisableTransition": "0x0", | ||
"eip152Transition": "0x0", | ||
"eip1108Transition": "0x0", | ||
"eip1344Transition": "0x0", | ||
"eip1884Transition": "0x0", | ||
"eip2028Transition": "0x0", | ||
"eip2200Transition": "0x0", | ||
"eip2565Transition": "0x0", | ||
"eip2929Transition": "0x0", | ||
"eip2930Transition": "0x0", | ||
"eip1559Transition": "0x3df828", | ||
"eip1559FeeCollectorTransition": "0x3df828", | ||
"eip1559FeeCollector": "0x4200000000000000000000000000000000000019", | ||
"eip1559ElasticityMultiplier": "0xa", | ||
"eip1559BaseFeeMaxChangeDenominator": "0x32", | ||
"eip3198Transition": "0x3df828", | ||
"eip3529Transition": "0x3df828", | ||
"eip3541Transition": "0x3df828", | ||
|
||
"terminalTotalDifficulty": "0" | ||
}, | ||
"genesis": { | ||
"seal": { | ||
"ethereum": { | ||
"nonce": "0x0000000000000000", | ||
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000" | ||
} | ||
}, | ||
"number": "0x0", | ||
"difficulty": "0x1", | ||
"author": "0x0000000000000000000000000000000000000000", | ||
"timestamp": "0x0", | ||
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", | ||
"extraData": "0x000000000000000000000000000000000000000000000000000000000000000027770a9694e4b4b1e130ab91bc327c36855f612e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", | ||
"gasLimit": "0xe4e1c0", | ||
"stateUnavailable": true, | ||
"stateRoot": "0x9e6b478a1cd331a979c39e4bddf42c676bcf5a63382f898dc441fe3fe5eb0837" | ||
}, | ||
"nodes": [ | ||
], | ||
"accounts": { | ||
"0x0000000000000000000000000000000000000001": { | ||
"builtin": { | ||
"name": "ecrecover", | ||
"pricing": { | ||
"linear": { | ||
"base": 3000, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000002": { | ||
"builtin": { | ||
"name": "sha256", | ||
"pricing": { | ||
"linear": { | ||
"base": 60, | ||
"word": 12 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000003": { | ||
"builtin": { | ||
"name": "ripemd160", | ||
"pricing": { | ||
"linear": { | ||
"base": 600, | ||
"word": 120 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000004": { | ||
"builtin": { | ||
"name": "identity", | ||
"pricing": { | ||
"linear": { | ||
"base": 15, | ||
"word": 3 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000005": { | ||
"builtin": { | ||
"name": "modexp", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"modexp": { | ||
"divisor": 20 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000006": { | ||
"builtin": { | ||
"name": "alt_bn128_add", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"linear": { | ||
"base": 500, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000007": { | ||
"builtin": { | ||
"name": "alt_bn128_mul", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"linear": { | ||
"base": 40000, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000008": { | ||
"builtin": { | ||
"name": "alt_bn128_pairing", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"alt_bn128_pairing": { | ||
"base": 100000, | ||
"pair": 80000 | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
{ | ||
"name": "Optimism Mainnet", | ||
"dataDir": "op-mainnet", | ||
"engine": { | ||
"Optimism": { | ||
"params": { | ||
"regolithTimestamp": "0x0", | ||
"bedrockBlockNumber": "0x645C277", | ||
"l1FeeRecipient": "0x420000000000000000000000000000000000001A", | ||
"l1BlockAddress": "0x4200000000000000000000000000000000000015" | ||
} | ||
} | ||
}, | ||
"params": { | ||
"chainId": "0xa", | ||
"gasLimitBoundDivisor": "0x400", | ||
"accountStartNonce": "0x0", | ||
"maximumExtraDataSize": "0x20", | ||
"minGasLimit": "0x1388", | ||
"forkBlock": "0x0", | ||
"maxCodeSize": "0x6000", | ||
"maxCodeSizeTransition": "0x0", | ||
"eip150Transition": "0x0", | ||
"eip160Transition": "0x0", | ||
"eip161abcTransition": "0x0", | ||
"eip161dTransition": "0x0", | ||
"eip155Transition": "0x0", | ||
"eip140Transition": "0x0", | ||
"eip211Transition": "0x0", | ||
"eip214Transition": "0x0", | ||
"eip658Transition": "0x0", | ||
"eip145Transition": "0x0", | ||
"eip1014Transition": "0x0", | ||
"eip1052Transition": "0x0", | ||
"eip1283Transition": "0x0", | ||
"eip1283DisableTransition": "0x0", | ||
"eip152Transition": "0x0", | ||
"eip1108Transition": "0x0", | ||
"eip1344Transition": "0x0", | ||
"eip1884Transition": "0x0", | ||
"eip2028Transition": "0x0", | ||
"eip2200Transition": "0x0", | ||
"eip2565Transition": "0x3C45B0", | ||
"eip2929Transition": "0x3C45B0", | ||
"eip2930Transition": "0x3C45B0", | ||
"eip1559Transition": "0x645C277", | ||
"eip1559FeeCollectorTransition": "0x645C277", | ||
"eip1559FeeCollector": "0x4200000000000000000000000000000000000019", | ||
"eip1559ElasticityMultiplier": "0x6", | ||
"eip1559BaseFeeMaxChangeDenominator": "0x32", | ||
"eip3198Transition": "0x645C277", | ||
"eip3529Transition": "0x645C277", | ||
"eip3541Transition": "0x645C277", | ||
|
||
"terminalTotalDifficulty": "0" | ||
}, | ||
"genesis": { | ||
"seal": { | ||
"ethereum": { | ||
"nonce": "0x0000000000000000", | ||
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000" | ||
} | ||
}, | ||
"number": "0x0", | ||
"difficulty": "0x1", | ||
"author": "0x0000000000000000000000000000000000000000", | ||
"timestamp": "0x0", | ||
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", | ||
"extraData": "0x000000000000000000000000000000000000000000000000000000000000000000000398232e2064f896018496b4b44b3d62751f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", | ||
"gasLimit": "0xe4e1c0", | ||
"stateUnavailable": true, | ||
"stateRoot": "0xeddb4c1786789419153a27c4c80ff44a2226b6eda04f7e22ce5bae892ea568eb" | ||
}, | ||
"nodes": [ | ||
], | ||
"accounts": { | ||
"0x0000000000000000000000000000000000000001": { | ||
"builtin": { | ||
"name": "ecrecover", | ||
"pricing": { | ||
"linear": { | ||
"base": 3000, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000002": { | ||
"builtin": { | ||
"name": "sha256", | ||
"pricing": { | ||
"linear": { | ||
"base": 60, | ||
"word": 12 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000003": { | ||
"builtin": { | ||
"name": "ripemd160", | ||
"pricing": { | ||
"linear": { | ||
"base": 600, | ||
"word": 120 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000004": { | ||
"builtin": { | ||
"name": "identity", | ||
"pricing": { | ||
"linear": { | ||
"base": 15, | ||
"word": 3 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000005": { | ||
"builtin": { | ||
"name": "modexp", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"modexp": { | ||
"divisor": 20 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000006": { | ||
"builtin": { | ||
"name": "alt_bn128_add", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"linear": { | ||
"base": 500, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000007": { | ||
"builtin": { | ||
"name": "alt_bn128_mul", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"linear": { | ||
"base": 40000, | ||
"word": 0 | ||
} | ||
} | ||
} | ||
}, | ||
"0x0000000000000000000000000000000000000008": { | ||
"builtin": { | ||
"name": "alt_bn128_pairing", | ||
"activate_at": "0x42ae50", | ||
"pricing": { | ||
"alt_bn128_pairing": { | ||
"base": 100000, | ||
"pair": 80000 | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.