-
Notifications
You must be signed in to change notification settings - Fork 131
config: support extra precompiles #1
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
Conversation
c79fc0f
to
d7eda81
Compare
@@ -319,6 +319,8 @@ type ChainConfig struct { | |||
// Various consensus engines | |||
Ethash *EthashConfig `json:"ethash,omitempty"` | |||
Clique *CliqueConfig `json:"clique,omitempty"` | |||
|
|||
ExtraPrecompiles []big.Int `json:"extraPrecompiles,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small comment: I didn't like adding it. It means precompiles must be added to both ChainConfig (as list of addresses), and to Config (as hashmap address - > struct).
Thing is, ChainConfig is much more accessible than Config, and Adding it as a param to ActivePrecompile was much easier than adding Cofig.
A little hacky - but not really too problematic, and we get in return a very small change to get.
Unfortunately it looks like a lot of places just use a blank vm config, e.g. the tracer. I'm looking at just using a global, as hacky as it is, as it further minimizes the diff and ease. |
Closing as #2 incorporates these precompile hooks but globally |
Use minimal transaction format as block codec
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
migrate override and gas changes (OffchainLabs#1) migrate memory compression (OffchainLabs#2) add more information for root trace (OffchainLabs#3) correct handle call with value (OffchainLabs#4) * correct handle call with value * set transfer value to zero if can't transfer Add Mapping keys to post account (OffchainLabs#5) fix when tracer failed before start (OffchainLabs#6) unlimited gas for debug_traceCallMany (OffchainLabs#7) support multiple txs in tracecallmany rpc client should keep result while return error be able to return partial results migrate tracer changes (OffchainLabs#8) export meq field (OffchainLabs#9) ignore init code size limit (OffchainLabs#10) code address field (OffchainLabs#11) minor fix (OffchainLabs#12) fix type compat (OffchainLabs#13) fix compability with arb fix storagerangeat emit output for revert (OffchainLabs#14)
…079) This PR is #1 of a 3-part series that implements the new log index intended to replace core/bloombits. Replaces ethereum/go-ethereum#30370 This part implements the new data structure, the log index generator and the search logic. This PR has most of the complexity but it does not affect any existing code yet so maybe it is easier to review separately. FilterMaps data structure explanation: https://gist.github.com/zsfelfoldi/a60795f9da7ae6422f28c7a34e02a07e Log index generator code overview: https://gist.github.com/zsfelfoldi/97105dff0b1a4f5ed557924a24b9b9e7 Search pattern matcher code overview: https://gist.github.com/zsfelfoldi/5981735641c956afb18065e84f8aff34 Note that the possibility of a tree hashing scheme and remote proof protocol are mentioned in the documents above but they are not exactly specified yet. These specs are WIP and will be finalized after the local log indexer/filter code is finalized and merged. --------- Co-authored-by: Felix Lange <[email protected]>
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
* main to dev branch (#1) * zjubfd: add no trie options, support fastnode * no truncate * add prune path db * fix destruction error * update parallel param * fix possible prefetch panic * protect from nil root * add the cache size of code * mute unnecessary log * Dev (OffchainLabs#4) * add initial commit of trade * fix root 00 issue * refine the sync to target * refine the sync to target * add tg bots and more * update gas price for test mode * refine the order update * refine the order update * refine fee calculate * update * update * update * update * update * update * update * update better tg message * add pair price track * update test case * add webscoket * decouple trade module * extract seracher as a processer * update trade * add executor wallets * update * remove duplicate ws * add prefetch routine * update v2 calculation method * add test code * add test code * add test code * add crypty code * update some test log * update some test log * update some test log * update some test log * update some test log * update some test log * update * support limit order
not really tested.. but seems right