OpenAtomFoundation / xupercore

The kernel of xuperchain.
Apache License 2.0
61 stars 47 forks source link

Fix the error that evm contract deployment and calling transaction are in the same block #339

Closed wangchao0222 closed 2 years ago

wangchao0222 commented 2 years ago

…e in the same block

Description

evm合约部署和调用如果在同一区块中,会导致同步区块执行调用合约时无法读取到合约code

Fixes # (issue)

Type of change

Please delete options that are not relevant.

Brief of your solution

evm合约执行时,如果是区块内交易则从本地区块级别缓存中读取数据

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

codecov-commenter commented 2 years ago

Codecov Report

Merging #339 (7d6bc22) into master (facac93) will decrease coverage by 0.04%. The diff coverage is 4.54%.

@@            Coverage Diff             @@
##           master     #339      +/-   ##
==========================================
- Coverage   45.63%   45.59%   -0.05%     
==========================================
  Files         139      139              
  Lines       12346    12362      +16     
==========================================
+ Hits         5634     5636       +2     
- Misses       5557     5570      +13     
- Partials     1155     1156       +1     
Impacted Files Coverage Δ
bcs/ledger/xledger/state/tx_verification.go 14.38% <0.00%> (-0.06%) :arrow_down:
bcs/ledger/xledger/state/xmodel/xmodel_snapshot.go 13.55% <0.00%> (-0.24%) :arrow_down:
kernel/contract/sandbox/mem_xmodel.go 75.32% <0.00%> (-1.00%) :arrow_down:
kernel/contract/sandbox/xmcache.go 48.06% <0.00%> (-0.38%) :arrow_down:
bcs/contract/evm/creator.go 26.00% <5.88%> (-0.99%) :arrow_down:
bcs/contract/xvm/code_manager.go 63.63% <0.00%> (-2.73%) :arrow_down:
bcs/consensus/xpoa/xpoa.go 51.26% <0.00%> (-1.02%) :arrow_down:
bcs/network/p2pv1/conn.go 61.22% <0.00%> (+6.12%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update facac93...7d6bc22. Read the comment docs.