Skip to content
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

Cancun: missing EIP-6780 #740

Closed
namiloh opened this issue Nov 30, 2023 · 10 comments
Closed

Cancun: missing EIP-6780 #740

namiloh opened this issue Nov 30, 2023 · 10 comments

Comments

@namiloh
Copy link

namiloh commented Nov 30, 2023

Cancun stateroot wrong when sending funds to account 0xb. Most likely due to 0xb being the location of a new precompile.

martin@worknuk:~/workspace$ cat ./gethbatch-0-output-0.jsonl
{"depth":1,"pc":0,"gas":15977656,"op":96,"opName":"PUSH1","stack":[]}
{"depth":1,"pc":2,"gas":15977653,"op":255,"opName":"SELFDESTRUCT","stack":["0xb"]}
{"stateRoot":"0xeecc8ecabc5c362a0ed59bed79cc9dc5fb23137535be75637a363e8a8d704e12"}
martin@worknuk:~/workspace$ cat ./evmone-0-output-0.jsonl
{"depth":1,"pc":0,"gas":15977656,"op":96,"opName":"PUSH1","stack":[]}
{"depth":1,"pc":2,"gas":15977653,"op":255,"opName":"SELFDESTRUCT","stack":["0xb"]}
{"stateRoot":"0xb86f278bbc63ae5d209d349cc40504fdaeaa80e0cfee02da8e1d2b76621ffdff"}
martin@worknuk:~/workspace$ cat ./nethbatch-0-output-0.jsonl
{"depth":1,"pc":0,"gas":15977656,"op":96,"opName":"PUSH1","stack":[]}
{"depth":1,"pc":2,"gas":15977653,"op":255,"opName":"SELFDESTRUCT","stack":["0xb"]}
{"stateRoot":"0xeecc8ecabc5c362a0ed59bed79cc9dc5fb23137535be75637a363e8a8d704e12"}

testfile ´./evmone-statetest --trace /tmp/00000016-mixed-1.json´

{"00000016-mixed-1":{"env":{"currentCoinbase":"b94f5374fce5edbc8e2a8697c15331677e6ebf0b","currentDifficulty":"0x200000","currentRandom":"0x0000000000000000000000000000000000000000000000000000000000020000","currentGasLimit":"0x26e1f476fe1e22","currentNumber":"0x1","currentTimestamp":"0x3e8","previousHash":"0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","currentBaseFee":"0x10"},"pre":{"0x0000000000000000000000000000000000000000":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000001":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000002":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000003":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000004":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000005":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000006":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000007":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000008":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x0000000000000000000000000000000000000009":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x000000000000000000000000000000000000000a":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x000000000000000000000000000000000000000b":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x000000000000000000000000000000000000000c":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x000000000000000000000000000000000000000d":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x000000000000000000000000000000000000000e":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"},"0x00000000000000000000000000000000000000f1":{"code":"0x600bff60359a01544084f109565a915c30576a6000600060006000600060085af25060035c5060006000600060006000600d5af15060045c5060206000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000009"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f2":{"code":"0x5c9816999a60206000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000012"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f3":{"code":"0xbf6000600060006000600060f85af250db7460045c5098771218f55c3c038ca3684860206000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000004"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f4":{"code":"0x600160005d60faff6000600060006000600a5af4501b3cf03a695e543982396000600060006000600060f95af150600060006000600060045af4506000600060006000600060f25af1506000600060006000600060f15af250600cff7f60055c50600260045d600260025d600160025d60015c5060035c50600160025d6000527f600260035d7f6008ff60006000600060006000600e5af2506a8b7e8f66a35c0460205260606040536002604153605c60425360506043536060604453602060455360606046536000604753605260485360606049536060604a536060604b536020604c536053604d536060604e536000604f53606060505360216051536053605253606060535360f3605453606060555360226056536053605753606060585360236059536060605a536000605b5360f3605c536000605d60006000f56000600060006000845af450507f60035c5060055c507f600060006000600060f75af45060025c5060025c5060006000527f60005d60005c5096606000527e600060006000600060fa5af15076003a1116056020527f426a60015c506000600060006020527f6000600060f75af250600060006000606040527e6000600c5af15060006000600060006040527f600060095af150165b89a4956060527f74696000600060006000600060f65af2503860016060527f5c50a260006000606080527e60006000600e5af2508b8b6c8c31789a973c71716002606080527f015d537f60a0527f600160035d60035c5060075c50600160005d60025c5060005c50600260a0527f60c0527f5c507f606000527e600060006000600060f15af1507f7f559f808d38077f600860e0527f60c0527f5c507f464503606020527e527f557560035c506004ff1060045c5066610100527ffd60005260e0527f7f306000527f9a10560b6040527f727f606020527f600052610120527f7f0260015d7f6000610100527f527f600260015d15f36020527f176060527f9c610140527f8b10a16020526040527f7f6001610120527fff600cff60006000606020527e60610160527e6000526080527f7f60006040527f602052610140527f7f6060527f600c5af2610180527f606040527e527f50600060006060a0527e600060006040610160527f527f60f36101a0527f6060527f6080527f5af1509d61886f33416020606060c0527f60527f610180526101c0527f7f40527f52607a604053606e604153600960a0527f6080527f604260605260e06101e0527f526101a0527f7f7f536079604353603660446080527f536049604553606060c0610200527f527f60527f556101c0527f60610100527fa0527f604653606060475360206080610220527f527f60485360606060a0526101e0527f7f60e0527f49610120527f536060604a610240527f536060c0527f20604b53605260608052610200527f7f4c536060604d5360a061610260527f610140527f0100527f527f600060c0527f604e5360610220527f60e0527f6060610280527f4f536040605053605360610160527f51536060610120527f6052610240527f536102a0527f60a0527f60f36060c060e0527f610100527f527f610180527f535360606054616102c0527f0260527f536041610140527f60555360536056536060605753604260585361016102e0527fa0527f60610280527f6060610120527f610100527fc0610160527f5260e0527f610300527f7f6059536000605a616102a0527f01c0527f5360f3605b536000605c60006061610320527f0140527ef5610180527f600060616102c0527f0120527e6101e0527f60006000610340527f84610100527f5a60e0527ff4505060026002616102e0527f016101a0527f6052610360527f7f610200527f5d7732a2086e486660610140527f0bffe77f610300527f600060610380527e5d6007610120526101c0610220527f527f7f5c50610180527f60045c6103206103a0527f527f610100527f5060095c5060610160527f025c50610240527f7f606101e0526103c0527f7f03610340527f5c5060006000606101a0527e6000610140527f527f600060616103e0527f0260527e60f55a610360527ff26161610200527f0180527f0120527f5060035c610400527f6101c0527f50600161028052610380527f7f5c50069046348b60005261016102610420527f20527f60527f7f7c1898497c6101a0527f6103a0527f656102a0527f60206101610440527fe0527f527f6356120661014052610240527f7f60005c6103c0527f5060006000610460527f606102c0527e6000610180527f606101c0610200527f527e60045a6103e0527f610480527f610260527ff1504166a36102e0527f6020527f10816040527f610160527f8ea06104a0527f610400527ff18b47f469610220527f610280527f610300527f616101e0527f016104c0527fa0527fa111610420527f600060006000600060f55af450a38f540200a36361036104e0527f20527f6102a0527f6102610440527f40527f7f6040610180610200527f527f60610500527f606101c0527f527f610340527f527f610460527f60065c6102c0527f5060035c610520527f50610260527f600160045d600060045d7f616103610480527f60527f0220527f610540527f600060015d606102e0527e61016101e0527fa052610280527f6104a0527f7f60610560527e610380527f5d606080527e606060527f600061610300527f0240527f526104610580527fc0527f7e600060006000606103a0527ff75a6102a0527ff2507f610200527f606105a0527f0160616104e0527f610320527f01c0527f035d60606103c0527e610260527f526105c0527f7f60a0527f6102c0610500527f527f055c507f600060610340527f80527f61036105e0527fe0527f600060610220527f6020610520527f527e60006000610280527f616102610600527fe0527f01e0610360610400527f527f527f60610540527ff35af2506000600060610620527e60c0527f60600052610240527f7e600961610420527f610560527f61036103610640527f80527e527f02a0527f60205260a0527f7f5af4610200527f50813e6061058052610660527f7f610440527f40527f1a73606103a0527e527f610320527f7d6102606102c052610680527f7f6105a0527f527f1560e0610460527f527f6d13fa3e7f60095c6103c0527f506106a0527f6001600061026105c0527f20610340527f527f5d60610480527fc0527f6060616106c0527f02e0527f602061028061036105e0527fe0527f527f526040527f7f6060527f616106e0527f04a0527f61610360527f0100527f6000610600527f5360206001536102610400610700527f527f610300527f40526104c0527f7f606060026102610620527fa0527f536103610720527f80527f606020527e60e0527f610420527f60036104e0527f5360610640527ff3610740527f6060005260610320527f610120527f0460206103a0527f610260526104610561610760527f0660527e527f40527f6102c0527f7f606080527f60527f536040527f60610340610780527f527f53610680527f602161610520527f03c052610460527f7f5360610100527f6107a0527f60602253606101616106a0527f02e0527f40610280610540527f527f527f05606107c0527f6103610480527f606103e0527f6106c0527f527f235360606040527f602453616107e0527f0560527f60a0527f6000606080527f6103616106e0527f04a0527e527f255360610800527f610400527f61016103610580527f80527f206102a0527f610700527f527f6101610820527f60527ff36104c0527f606060527f26536027606105a0527e6104205261072052610840527f7f7f6000610320527f6103a0527ff06000606104e0527e60006060c06105c052610860527f7f610740527f526102c0527f7e845af4610440527f506060610180527f610140610880527f610500527f52610760527f6105e0527f6103c0527f610340527f7f60a0527f526108a0527f7f50600c610460527fff60610780527f035c608061610600527f0520527f61026108c0527fe0527f527f5060025c6103e0527f50606107a0527f016060610360527f6104616108e0527f0620527f80527fe0610540527f6101a0527f527f026107c0527f5d6061016052610900527f7e6000600060616104610640527e527f0300527e6061610560526107e0527f7f610920527f04a0527f60c0527ff2610380527f5af45060610660527e6080527f606101c061610940527f0800527f527e606061610580527f0420527f6104c0527fa0527e61610680527f610960527f01006101610820527f610320527f80526103a0527f7f527f6105a0527f600060610980527ff65af4507a6106a052610840527f7f036104e0527f610440527f54f546058f396109a0527f606101e0527fe06105c0527f527f610860527f536106c0527f543561036103c06109c0527f527f4052610500527f7f067f9518610460527f610880527f8345796105e061066109e0527fe0527f527f8a6101a0527f389c610120527f60a05260c0526108a0527f610520610a00527f527f6102006103e0610700527f527f610600527f527f610480527f7f616108c0610a20527f527f0360527f7f3160006000600060006061610720527f0540527e6101006106610a40527f20526108e0527f7f527f606101c0527ff661046104a0527e527f5af261074052610a60527f7f506b86926161610900527f610361056052610640527f7f80527f0220527f01610a80527f40527f903c5d610760527f44610920527f600060006104c0527f600060610420610aa0527f52610660527f7e610580527f60e0527f61610940527f0780527f6060c0526101610ac0527fe0526103a0527f7f6000606102406104610680527fe0610960527f527f527f61610ae0527f07a0527fe06105a0527f61012052610440527f7f53606061016052610980527f610b00527f7f60e1536106a0527f6107c0527f60f860e2536061036105006105c0527f527f610b20527f6109a0527fc0527f5a60e35360f161020061046107e0527f6106c0527f60527f610b40527f610260527f6109c0527f527f60e4536050606105e0527f610161052052610800610b60527f527f7e527fe5536106e06109e0527f527f6061016103e0527f40610180610480610b80527f527f527f527f61610820527f060052610a00527f7f6060e6536020610700527f610ba0527f610540527f610280527f60e7610220527f610840610a20527f527f53606060e8610bc0527f53610400610620527f52610720527f6104a0527f7f600060e9610a40527f6105610be0527f610860527f60527f5360f360ea5360eb6000f3616101a06161610740527f610a610c00527f60527f0640527f02a052610880527f7f527f01206101606104c0527f61058052610c20527f7f6161610a80527f0420527f02610760527f40526108a0527f7f52610660527f610c40527f7f52610140600060610aa0527ef06000600060006000606102610561076108c0610c60527f527f80527fa0527f6104e052610ac0527f7fc0610680527f527e855af1610440610c80527f527f50506061016108e0527fc0527f6107610ae0527fa0527f610260527f0160610ca0527f016105c0527f5d6106a0527f6000606161610900527f610b00527f0500527f01610cc0527f8052606107c0527e61016102e052610460527f7fa0536060616161610b20527f610ce0527f610920527f06c0527f05e0527f01a153606107e0527e6101a25360610520527f610d00527f610b40527f6061610280610940527f527f6101e0527f016106e0527fa3536061610d20527f0800527f61610b60527f610600527f0480527e61610960527f0300527f6101a4610d40527f536060610540527f6101610b80527fa5610700610820527f527f536000616109610d60527f80527f01a6536060610620527f6101610ba0527fa7536102a0526104a0527f7f610d80527f60f1610840527f616109a0527f01610720527fa8610bc0527f61610560527f03610da0527f20527f610200610640527f527f53605a61616109c0527f0860610be0527f527f610dc0527f01a95360f26101610740527faa536050616104c0527f01ab610580526109610c610de0527e527fe0527f7f536061610880527f0660527f88616102c0527f61610760527f610e00527f034052610c20527f7f01ac610a00527f5360606101ad5360616108a0527f0220610e20527f527f026104610561610c40527f0680527fa0527f61610a20527f0780527fe052610e40527f7f6101ae536060616108c0527f610c60527f01af5360046101b0536103605261610e60527f0a40527f7f6102e0527f6106a06107a0527f610c80527f527f605d616108e052610e80527f7f6105c0527f01b153610a60527f610500527f60606101610ca0527fb2536020610ea0527f6161024052606107c0527f610900527f016161610a80527f06c0527f610cc052610ec0527f7f02605360b36103806105e0527f527f61026153606161052052610920610aa0610ee0527f52610ce0527f7f527f6107e0527f7f0300527f53616106e0527f026253606061610f00527f026353606061610d00527f02610ac0527f6106610940527e527f645361080052610f20527f7f60616102656103a0527f610d20527f536161070052610ae0527f7f0540527f610f40527f60610960527f016102665360b4616103610d40527f610820527f20527f610620610f60527f610b00527f527f026753605361026853610980527f610d60527f610720527f60610f80527f60610269536000616161610b20527f0840527f0560527f03c052610d80527f7f610fa0527f61026a536109a0527f60610640527f6161026b61610b40527f0740527f536061610fc0527f0da0527f016102610860527f6c610340527f536109c0527f60b561026d53610b610fe0527f60527f60610dc0527f610580527f5361026e61066052610760527f610880527f611000527f7f616109e0527f0361610de0527f0b80527fe0527f53606061026f5360f36102611020527f7053606161027153606103606105610e00527fa0610861610ba0527f0a00527f611040527fa0527f610780527f52610680527f7f527f0161610e20527f02725360b6610400611060527f52610bc0527f7f610273610a20527f5360536108c0527f61610e40527f027453611080527f606107a0527f6161027553610be0527f606106a0527f016105610a4052610e606110a0527f527f7fc0527f61027653606108e0527fb761610380610c00527f527f027761616110c0527f07c0610e80527f527f0420527f610a60527f536060610278536106c0527f60616110e0527f0c20527f610900610ea0527f527e610279536105e0527f60f361027a610a8052611100527f7f6107e0527f536000610c40610ec0527f527f61027b60006000f56061092052611120527f7f610361046106e0527f40610aa0527f52610ee0527f7fa0610c60527f526000611140527f6103c053610800527f610600527f6060610940527f61610f00527f03c1536061611160527f0ac0610c80527f527e6103c25360606103610700527fc353600061610f20527f611180527f03610820527fc45361096052610ca0527f7f610ae0527f610460527f606061616111a0527f610f40527f0620527f03c55360006103c65360606107610cc0527f20527f61616111c0527f08610b0052610f60527f7f610980527f40527f03c75360006103c853608561036111e0527f610ce0527fc953605a61610f80527f048061064052610b20527f7f5260616161611200527f09a0527f04a061610860610d00527f610fa0527f527f0740527f5360036104a1611220527f5360ca61610b40527f04a25360536104a3536061610fc0527f610d20527f09c0611240527f527f606104a453606106610880527f60527ff2610b60527f61610fe0527f0760611260527f527f61610d40527f04a55360616104a6536109e0527f60036104a75360cb6110611280527e527f6104a853610b80527f60610d60527f6108a0527f536104a953606061616112a0527f610780611020527f527f610a00527f0680527f04aa5361610d80527f0ba0527f6112c0527f60506104ab536061611040527f6104ac6108c0527f5360036104ad5360cc610a6112e0527f20610da0527f527f6104610bc0611060527f527fae53606107a0527f536104af611300527f6106a0527f536060616108610dc0527fe052611080527f7f04b05360610a610b611320527fe0527f40527f506104b15360616104b25360036104610d6110a0527fe0527f61611340527f07c0527fb35360cd6104b45361610c00527f090052610a60527f7f606110c052611360527f7f6106c0610e00527f527f536104b55360616104b65360036104b753610c2052611380527f7f6110e0527f606107e0527fce61610e20527f610a80527f04610920527fb8536113a0527f60606104b953611100527f6000616106610c40527fe0527f610e40527f04ba536113c0527f60f36104bb5361610aa052611120527f7f04bc60610800610940527f526000616113e0527f0c60610e60527f527f61082053606061611140527f08215360006108225360f0611400527f610ac0527f61082353606061610e80527f0824610c611160527f80527f536061611420527f0960527e61082553606061082653600061082753610a610ea052611180527f7f611440527fe0527f60606108610ca0527f2853600061082953606061610980527f082a5361611460527f11a0527f60610ec0527e61082b53606061610b0052610cc0527f7f082c536000611480527f61082d536111c0527f608561082e610ee0527f53605a61082f6109a0527f53606114a0527ff2610830610ce0527f6111e0527f53610b20527f60506108610f00527f3153606114c0527f5061083253606161083353600761611200527f0834536061610d00527f09c0526114e0527f7e61610f20527f08610b40527f355360526108611220527f3653606161083753611500527f60076108385360610d20527f610f40527f20610839536060611240527f616109611520527fe0610b60527f527f083a53600061083b5360f361083c610f60527f610d611260611540527f527f40527f53600061083d60006000f56000600060610b80527e60610a005260611560527f610f611280527f80527e610a2053610d60527f6060610a21536000610a225360611580527f85610a2353605a6112a0527f610b610fa0527fa0526061610bc053600a610d806115a0527f527f610bc1536024610bc2536112c0527f6053610bc35360610fc0527f60610b6115c0527fc45360f1610bc5536061610b610da0527f6112e0527fc653600a610bc75360256115e0527f610b610fe0527fc8536053610bc9536060610bca5360611300527f50610bcb53611600527f610dc0527f6061610bcc5360611000527f0a610bcd536026610bce611320527f611620527f536053610bcf536060610bd0536050610de0527f610b611020527fd153606161611640527f611340527f0bd253600a610bd3536027610bd4536053610bd5536061610b610e611660527f611040527e611360527f527fd653600a610bd7536028610bd8536060610bd953611680527f6000610bda5360f36161611380527f1060527f0bdb53610e20526060610e40536116a0527f6000610e41536061610e4253600b616113a0527f0e435360611080527fdc610e6116c0527f44536060610e45536000610e46536060610e47536113c0527f6000610e4853606116e0527ff5616110a0527f0e49536060610e4a536000610e4b536060616113e0527f0e4c611700527f536000610e4d536060610e4e6110c0527f536000610e4f536060610e50536114611720527e527f6000610e51536060610e52536000610e5353606110e0527f85610e5453611740527f605a61611420527f0e555360f2610e56536050610e57536050610e5853610e59611760527f6111005260606111611440527f205360006111215360f3611122536000611123611780527f60006000f5600060006000600061146052608461148053605a6114815360f4616117a05260146117c05360826117c15360536117c25360606117c35360506117c45360616117c55360146117c65360836117c75360536117c85360606117c95360506117ca5360616117cb5360146117cc5360846117cd5360536117ce5360616117cf5360146117d05360856117d15360606117d25360006117d35360f36117d4536117d560006000f06000600060006000845af45050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000013","0x0000000000000000000000000000000000000000000000000000000000000003":"0x000000000000000000000000000000000000000000000000000000000000000e"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f5":{"code":"0x696672326c6000600060006000600e5af450600060006000600060065af4501b0259949d1d7e7f600260025d60085c5060015c5060045c5060015c506060600053602060015360600052606060205360606021536002602253605360235360606024536000602553606060265360036027536053602853606060295360fd602a536060602b536004602c536053602d536060602e536005602f536060603053600060315360f3603253603360006000f060006000600060006000855af2505060015c507f60035c50600060045d60005c50606060005360206001536060600253600060036000526053602053606060215360fd602253606060235360046024536053602553606060265360056027536060602853600060295360f3602a536000602b60006000f560006000600060006000855af15050967e6d563e1d1d6000600060006000600a5af4506000600060006000600060f45af1506000600060006000600060065af1506000600060006000600060f95af2506d1355a37f5260f3ff60206000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000002"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f6":{"code":"0x6418725c9c018362353b6efd6a86991b60015c50149c155f05156e76007b826102207f60065c50600060005d60055c50600060045d60055c5060015c5060055c5060066000527f5c50600160035d7f523a75a37315635160f6ff6000600060006000600060055a6020527ff1507f60075c50606000527f015c5060085c507fff05169a8b5852584789fd7d6040527f5f86ff3615fe8f6000527f6b6020527f66585d41554991057d0506156000527f6060527fa4786000600060006000600060f55a606040527f20527ff250600cff1a7101146080527f1c921d79eb6000606020527e60006000600b5af46060527f5060006040527f6060a0527e60006000600060055af250600160015d60016040527f606080527e5d14966860c0527f60006060527f60015d600060015d66523e5e8c7063600260005d6060a0527f0960e0527fff7f6060527f60055c506080527f600160015d60085c507f78f08c6572619260610100527fc0527f80406000600060006000606080527f60a0527f6000527e600a5af25060610120527e600060e0527f6000600060005260606020536000602153606060c0527f60a0610140527f527f6022536020610100527f527f600a602353605a60245360f2602553605060610160527f26536060e0527f6060275360610120527fc0527f60f960285360ff6040527f60610180527f29536014602a53607a602b53610100527f610140527f6060602c5360016060e06101a0527f527f2d536060602e536000602f6060527f53605d6030610160527f610120527f6101c0527f536060603153602060325360610100527f60603353600060345360610180527f6101e0527ffd60355360610140527f608052603660a053606060a153600060a2610120527f610200527f6101a0527f5360f360a353600060a4610160527f60006000f560006000600060610220527e6000855a6101c0527ff150506001610140527f5c50600060610180527e6000610240527f6000600060055af2507b6101e0527f3d09599c60006000600060006000610160610260527f527f6101a0527f60f65af250656000610200527f6000600060006000600a5af2610280527f50538d40a17b9d60025c50756101c0527f610180610220527f527f718c375e6a6102a0527f6003ff60025c50600160005d343a6434196c7e996b666101e0610240527f52606102c0527f606102005360206102015360606102025360006102035360f3610204536061026102e0527f60527f616102055360016102065360a061020753605261020853606161020953610300527f600161610280527f020a5360c061020b53606061020c53600061020d5360f361610320527f020e53600061020f6102a05260606102c05360006102c15360606102c2536000610340527f6102c35360f56102c45360606102c55360006102c65360606102c75360006102610360527fc85360606102c95360006102ca5360606102cb5360006102cc5360606102cd53610380527f60006102ce5360856102cf53605a6102d05360f16102d15360506102d25360506103a05260616103c05360026103c15360d36103c25360536103c35360616103c45360026103c55360d46103c65360606103c75360006103c85360f36103c9536103ca60006000f060006000600060006000855af15050","storage":{},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f7":{"code":"0x7f60005c50600060035d60045c50600260045d600260015d600060005d7f8595426000527f049f8413f17e35600160005d7f600060035d60035c5060075c5060045c6000526020527f7f50600260045d60045c5060035c5060016000527f60005d7fe152fe14117f606040527f086020527f5c5060095c5060085c507f344772a160006000606020527e6000606060527f6000527e606040527ff35af1506000527f558f675b1c5d785648f37f600060006080527f6040527f527f5c50606060527f085c6020527f507ffa1aa1951564013a60205260a0527f7f7f60095c5060016060527f606080527f045d600260005d6000606040527f2060c0527f527f527f7f643a7495473d3b876040526060a0527f80527f7f6000527f3f3bfa60e0527f4060035c50ca606060527e527f600060006040527f60c0527f60006060a0527f610100527f20527f606060527e600060f35af1506000526080527f7f602060e0527f527f8f610120527f7e86472060c0527ffa3411606060527e6000606080527f60206040527f610100610140527f527f5260a0527f7e600060006060e0527f0b5af2506000600060006040527f60610160527f6080610120527f527e60a0527f60602060c0527f527e610100527f60015af160610180527f60527f506003ff610140527f606040527f025c508946600060006060c05260e06101a0527f610120527f527f7fa0527f5d610160527f60016060527f60045d3260006060806101c0527f527f035d9f6040527f5e610140527f3706610180527f610100527f9a60e0527f6101e0527f7f606060c0527f60527f055c5060045c5060608061016101a0527f60527f527f610200527f095c5060a0610120527f527f600160610100527f035d7f3b7751046101c0527f610220527f60e052610180527f7f923960045c6060527f5006610140527f6080527fa248a0610240527f6101e0527f6060a0610120527f6101a0527f5260c0527f7e527f081a60610100610260527f527e5c6101610200527f60527f507f600160035d60015c6101c0527f50600860610280527e610140527f527f5c60610220527f8060a0527f60e052610180527f7f60c0616102a0527f016101e0527f20527f527f527f5060610240527f0160015d6008610160527f5c6102c0527f6020527f50606101a0527f610200527f0160045d610260527f60015c506060006102e0527f6101610140527e527f527f065c60610180527fe05261022052610280527f7f61610300527f01c0527f7f60c0527f506060a0527f025c506020527f7f600060610160526102610320527fa0527f7e610240527f60606161016101e0527fa0527f0120527f40527e600060610340527e60616102c0527f0100527f065a610260527ff15060e0527f60016061610200610360527f527f0180526101c06102e0527f527f7f025d6060c0527e60610280527f610140610380527f527f026020527f5dfd93604061610300527f0220527f527f49610120527f61016103a0527fe0526102a0527f7f3b6101a0527f6060527f610320527f888674610100527f606103c0527f610240527f610160527e52606102c0527f9d6020536060610340527f610200526103e0527f7fe0527f5760216101c0527f536060610260527f61016102e0527f4061036052610400527f7f527f60225360a46023536061018052610220527f7f60405260610120526102610420527f61610380527f0300527f80527f7f606101e0527f6080527f527f7f3e60245360610440527f6161016061026103a0527f40527f52610320527f7f01006102a0527f527f6101610460527fa0527f45602553606102006103c0527f527f39602653601560610340527f2753610480527f6101610260526102c0527f7f40527f606103e0527f45602853603c60296101806104a0527f526101610360527fc0527f610220527f7f5360a052610400527f6102e0527f7f6104c0527f610280527f60f4608061012052610380527f7f527f606060527f610420527f2a6104e0527f53610160527f605f60610300527f610240527f616102a06103a0527f527f0161610500527f0440527fe0527f2b6101a0527f536032602c53607c602d53610320527f60a360610520527f2e6103c0610460527f527f60c0527f6101616102c0527f0260527f40527f5360610540527f610200527f60606103610480527f40526103e0527f7f610180526101c0527f7f610560527f2f5360a0527f6102e0527f6020606104a0527f30610280527f53610400527f60610580527f610360527f8052606060a05360610220527f606104c0527f60a153606060a2616105a0527f0300527f610420527f6101606101e0610380527f527f52616104e0527f02a0526105c0527f7f6101a0527f7f60e0527f536031610440527f60a3610240610320527f6105006105e0527f527f526103a0527f7f53605360a460c0527f5360606102c0610460527f527f60610600527fa553610520527f60610200527e60a65360616103c0527f0340527f606101c052610620527f7f60610480527f610540527f610260527f610180527fa7536102e0527f603261610640527f016103e0527e527f60610360610560527f6104a0527f527fa853605360610220610660527f527fa953606060aa53610280527f606104610580527e527f60616104c0527f03610680527e527fe05261610380527f01e0527f7ffd60ab53606105a0527f6101a0527f606106a0527f60ac61046104e0527f20527f5360610240527f336061026103206105c0527f616106c0527f03a0527f527fa0527fad53610120610500527f527f60610440527f5360ae53616106e0527f05e0527f6060610200527f60af53603460b0536103c0527f610520527f606061610700527f0340527f610600527f60610460527f61026102c0527f60527f6101c0527f6101610720527e52610540527f7fb1610620527f5360006103e0527f60b253610480527f60f3610740527f6101610360527f610220527f6105610640527f60527f40527f6102e0527f60b3610760527f53610280526104006104a0527f527f7f600060610660527fb46000610580527f610780527f6000f56061610380527f01e0527e60006000600060008561610680527f04c0526107a0527f7f610361046105a0527f20527e527f6101610240527f206102a0527f526106a06107c0527f527f6103a0527f7f5af2506104e0526105c0527f7f50610160527f610440527f6107e0527f60f66106c0527fff6000600060610320527f610200527e60006105e0527f6061610800527f0500527f0161036106e0527fc0527f5af4506161610460527f02c0527f026052610820527f7f3a52610600527f5700923f610700527fff60610520527e60610340527e6061610840527f01406103e0527f610480527f5261062052610720527f7f610180527f7e600061610860527f02610540527f20526102e0527f7f600060610280527f610740527f6161064052610880527f7f0360527f6104a0527f610400527ff9610560527f5af25076849d610760527f6108a0527f5f3f5d9a3b00610660527f51406514faa444449100610300526104c0527f7f616108c0527f610780527f0580527f16311961610420610680527f527f610380527f01a061026108e0527f406102a0526107a0527f7f527f527f610160616105a0527f04e06106a0527f52610900527f7f527f1182985e6760006107c0527f60610440527e610320526103a0527f7f60610920527e6061056106c0527fc0527e60035a6107e0527f610500527ff4505838153202610940527f6102c0527f0b09610460527f61026106e0527f60610800527f526105e0527f7f610960527f35146101c06103c0610520527f527f52610340527f7f600061610820527f0700610980527f527f60006061018052610600527f7e610480527f6000600060f65af2610561086109a0527f40527f40527f61610720527f02e0527f507f6103e0527f60610620527f065c506109c0527f7f6161610860527f0360527f026104a052610740527f7f80527f610560527f576109e0527f77a1fa158f606161610880527f0640527f01e0527e600060006061610760527f610a00527f0400527e6000610300527f61046108a0527fc0610580527f527f61610660527f610a20527f01a0610380610780527f527f527f60f75af16108c0527f5060006102a0527f60610a40527e610420527f606105a0610680527f6107a0527f527e606108e0527f6104e052610a60527f7e527f600060610200526103206103a0527f527f7e606000526107c061090052610a80527f7f527f6106a0527f7f6105c0527f065af2610440610500527f527f50ce6e3d0a610aa0527f61610920527f01c06107e0527f6102c0527f6106c0527f527f84146d606105e0610ac0527f527e606103c0610940527f527e6061034061610800527f0520527f527e610460610ae0527f526106e0527f7f60006000610960527f610220527f610600527f5af461082052610b00527f7f6020527f5060006000606102e05261610980527f610700527f0540527f6103610b20527fe0527f7e6061610840527f048052610620527f7e606109a0527f205261036052610b40527f7f7f6101610720527fe0527f60065af4610860527f50cd6105606109c0527f52610b60527f7f60f861024052610640527f7fff6061046104610740527fa052610880527f61610b80527f09e0527f7e527e60006000610300527f6061038052610580527f7e610660527f610ba0527f60006107610a00527f6108a0527f60527f6040527f5af4506b968f60006104c0610bc0527f527f6061610420527f610a20527f0200527f046108c0527f616106610780527f610be0527f80527f05a0527f5d5b610260527f610a40527f3c60616103a0527f03206108e0610c00527f527f527f406104e0527f6107a0527f52603b61610a60527f06a0527f60605360610c20527f6105c0527f6104610900527f40527f3a6061536060606253610a80527f606107610c40527fc0527f60605260206080536106c0527f60610920527f61610500527f61610aa0610c60527f527f036105e0527fc0527f02206107e0527f610261034061046052610940527f610c80527f7f52610ac0527f7f806106e0527f527f527f6060815360636082610561080052610ca0527f7f610600526109610ae0527f60527f7f20527f53605360835360606084610700610cc0527f527f6103e0527f5360610461610b00527f082052610980527f7f80527f606085610ce0527f53606060610620527f610360610540527f610b20527f610720527f527f866109610d00527fa0527f53610840527f606102a0527f6460610240527f610b40527f8753606104610d20527f6104610640527fa06109c0527f527e61074052610860527f7f527f610b60527f610d40527f536088610560527f5360606089536000608a6109e0527f53610380527f606060610d60527f610b80527f6106610880527f60610760527f527f8b53606560610261610a0052610d80527f7f04c0527f610ba0527fc0610580527f527f610420526108a0527f7f8c536053610da0527f60610780527f610a2052610bc0527f7f8d53610680527f610260527f6060608e610dc0527f5360f361036108c0527fa0527f6161610be0527f05610a40527fa0527f04e061610de0527f07a0527f527f608f5360606106a0527f60905361610c00527f6108e0527f0461610e00527f0a60527f40527f60666091536102e0527f60536107c0527f60610c20527f9253610e20527f6105c0527f60606061610a80527f0900527f936106c0527f610500527f53610c610e40527f40527f606761026103c0527f6107e0527f8052610aa0527f7f61046061092052610e60527f7f527f610c60527f60945360606105e0526106e0527f7f609553600060610ac0610e80527f527f965360610800610c80527f527f61610940527f0520527ff3610300527f60610ea0527f97536098600060610ae0527e61610ca0527f03610700527fe061060052616109610ec0527f60527f0820527f7f610480527f527ff0610b610cc0527e527f60006000600061610ee0527f0540527f606102a052600061610980527f0720527f61610ce0527f084052610b610f00527f20527f7f6102c0536084610620527f6102c1610320526053616104610d00527f610f20527f6109a0527fa0527f610b40527f034061046105610860527f610740527f60527e610f40527f610d20527f527f53606061034161066109c0610b60527f527f40527f53605a61610f60527f0342536061610d40527f6103610880527f4353600261610760527f03610b8052610f80527f7f44536109e0527f6104610d60527fc052610580527f7f60c261610660527f03610fa0527f6108a0527f45610ba0527f53606104610d80527f20527f610a00527f53616107610fc0527f80527f03465360606103475360f46103610bc052610da0527f7f485360616108610fe0527fc0527f6105a0610a20527f52610680527f7f616104e0526107610dc0527fa061611000527f0be0527f527f7f034953600261034a5360c36108e0610a40527f527f6161610d611020527fe0527f0440527f034b610c00527f53605361034c6106a0527f536107c0527f61611040527f05c052610e00527f7f610a60527f6060610900610c20527f527f61034d536105611060527e527f605061034e610e20527f53606161034f5360026161610a80527f610c40611080527f527f6107e0527f06c061092052610e40527f7f527f0350610460526105e0527f6110a0527f7f5360c4610351610c60527f610aa0527f53610e60527f605361610520527f036110c0527f6108610940527e527f525360606106e052610c80527f7f610e80527f610353536110e0527f610ac0527f60506103545360610600527f61610355610960527f5361610ea052611100527f7f0ca0527f6061610820527f048052610ae0527f7f0261035653610700527f61611120527f05610ec0527f40527f60610cc0527fc5610357610980527f536053610358610b611140527e527f610661610ee0527f0840527f20527f5360610ce0527f61610359536002611160527f6103610720527f6109a052610f00527f7f5a610b20527f5360c6616104a0610d611180527e527f527f610560610860527f527f03610f20527f5b53606061610640527f036111a0527f61610b40527f09c0610d20527f527f5c5360006161610f40527f0740527f035d6111c0527f5360f361035e610880527f5360006103610b610d40527f60527f610f60527f5f6111e0527f6000606109e0527ef560610580527f61610660527f04610760527fc0610d6061611200527f0f80527f527f526061610b80527f08a0527e6104e053610a00527f60606104e1611220527f53600061610fa0527f04e2610d80527f5360606104e35360610ba0527e610461611240527f616107806108c0527f610fc0527f610a20527f527f610da0527f0680527f05a0611260527f527fe4536060610bc0527f6104e5610fe0527f5360006104e65360606104e761611280527f0dc0527f536000610a40527f6108e0527f6104611000527f6107610be0527fa06112a0527f527fe85360856106a0610de0527f527f6104e9536105c052611020527f6060616112c0527f610a60527f05e05360610c00527f5a61090052610e00527f7f6105e1536110406112e0527f527f6061616107c0527f05e25360046105e35361610a8052610c20527f610e20611300527f527f611060527f7f06c0527f60ea6105e453610920527f60536105e553606061611320527f05e6536107e052611080527f610e40527f610c40527f7f610aa0527f60f26105611340527fe75360616105e853600461616110a0527f0940527f06610e60527fe0527f6105611360527f610c60527fe95360eb6105610ac0527fea6110c0527f53605361610800527f05611380527f610e80527feb5360606105ec536061610c80527f09606110e0527f527f5061056113a0527fed536061610ae0527f61610ea0527f05610700527fee5360046105611100527f6113c0527fef5361610ca0527f0820527f60ec6105f0610980610ec0527f527f5360610b006113e0527f611120527f527f536105f15360606105f253610cc0527f60506105f35361610e611400527fe0527f0720611140527f527f606161610840527f6109610b20527fa0527f05f4611420527f53610ce0527f6004610f611160527e527f6105f55360ed6105f65360536105f7611440527f5360616105f8536004610b40527f611180527f61610d610f20527e527f074061611460527f09c0527f610860527f527f6105f95360ee61056111a0527ffa5360606105fb61611480527f0f40527f536061610d20527f0b60527e6105fc5360f361616111c0527f09e0526114a0527f7f05fd536000610880610f60527f527f610561076052610d40527f60fe6111e06114c0527f527f61610b80527f0780536060610781536000610f80527f6107610a00527f826114e0527f5360611200527f606107610d60527f835360006108a052610ba0527f7f610fa0611500527f527f6107845360611220527ff5610785536060610786536061610d80527f0a20611520527f527e6107875360610fc0527f611240527f60610788610bc0527f536000610761611540527f08c0527f89536060610da0527f61078a53611260527f610fe0527f6000610761611560527f0a40527f8b53606061610be0527f078c53600061078d611280527f53610dc052611580527f611000527f7f606061078e536108e0527f600061078f5360610a606112a0527f6115a0527f527f610c00527f856107611020527f90610de0527f53605a6107915360f161076115c0527f6112c0527f925360506107935360506109005260611040527f6161610c2052616115e0527f0e00527f7f6112e0527f610a80527f0920536007610921536094610922536110611600527f60527f60536109235360611300527f61610924610e20527f53610c40527f6007611620527f610925610aa0527f611080527f5360611320527f956109265360606109275360611640527e61610e40527f09285360f361610c60527f6110611340527fa0527f09295360611660527e61092a6000610ac0526060610ae05360610e60527e610ae1611360527f5360611680527ff56110c0527f610ae253610c80527f6060610ae3536000610ae45360606161136116a0527f80527f0a610e80527fe5536110e0527f6000610ae6536060610ae7536000610c6116c0527fa0527f6113a0527f610ae8536060610ae95360610e611100527fa0527e610aea6116e0527f536084610aeb53606113c0527f5a610aec5360f4610a610cc05260ed610ce061611700527f1120527f5360610ec0527f53616113e0527f0ce1536060610ce2536050610ce3611720527f536061610ce453600a611140527f610ce553611400527f60ee61610ee0527f0c611740527fe6536053610ce7536060610ce8536050610ce961116052611420527f7f536061611760527f610cea53600a610ceb610f00527f5360ef610cec536053610ced536061144052611780527f7f61611180527f610cee53600a610cef5360f0610cf05360610f20527f60610c6117a0527ff1611460527f536000610cf26111a0527f5360f3610cf353610cf460006000f06117c0527f600060006000611480527f60610f40526000610f60536111c0527f6060610f616117e0527f536000610f62536085610f6114a0527f6353605a610f645360f2610f65536050611800527f6111e052606161120053600f611201536114c0527f6066611202536053611203611820527f53606061120453605061120553606161120653600f6114e0527f611207536067611840527f61120853605361120953606161120a53600f61120b5360686112611500527f0c611860527f53606061120d53600061120e5360f361120f5361121060006000f06000600061611880527f15205260606115405360006115415360606115425360006115435360606115446118a0527f53600061154553608561154653605a6115475360f161154853605061154953606118c05260506118e05360616118e15360156118e253604a6118e35360536118e45360616118e55360156118e653604b6118e75360606118e85360006118e95360f36118ea5360006118eb60006000f56000600060006000845af45050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000e"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f8":{"code":"0x600160045d6000600060006000600060095af15060045c50600160025d2b620364098d7f7f321192181338600060006000600060fa5af450600060005d60045c508155396000527f6f600052603460205360386021536060602253600160235360606024536001606020527f2553605d6026536060602753602060285360606029536000602a5360f3602b536040526060606053602c6061536060606253600060635360f36064536000606560006000f56000600060006000845af45050f5987c06600060006000600060f75af4506000600060006000600060005af1507f600160005d7f6000600060006000600060f55af150996c5716106560006000606000527e600060f25a6000527ff450496f31668d6000600060006000600060095af1506020527f600060006000600060006020527f60005af15060f2ff9c66a49695187f7f60006040527f60045d4205485e946000600060006040527f60006000600b5af15060035c50606060527e6000527f606000527e6000600060fa5af46060527f506000600060006000606080527e60095af1507f60086020527f5c5060016020527f5c6080527f5060035c506060a0527f0260025d600260045d60065c50600160006040527f5d6060005260a0527f7e5c60c0527f506040527f7f60045c507f600060025d600160045d600260036060527f5d60c060e0527f527f60005c50606060006020526060527f7f536002606000527f015360606060610100527e6060e0527f80527f527f02536001600353605d600453605c6080527f606040610120527f527f05536041610100527f60065360a0527f606020527f96600753606e600853610140527f60205260606060a0527f40610120527f5360606060605260c0527f7f41536060610160527f60425360096043536040527f60536044610140527f53606060c0527f60455360610180527f60e0527f20604653606080527f60604753600a6048610160527f5360536049536101a0527f606060605260e0527f610100527f7f604a536060604b53606060610180527f4c6101c0527f60a0527f53600b604d536053604e536060604f610120527f610100527f5360616101e0527f01a0527e60506080527f536060605153600c60c0527f60525360536061014052610200527f7f53536101c0527f606060610120527f545360fd60555360606056536060a052610220527f7f0d6057536061016101e0527f60527fe0527f60536058536060610140527f60610240527f5953600e605a536060605b5360610200527e605c610180527f5360f36060c052610260527f7f610100527f5d53610160527f6000605e610220527f60006000f56000606101610280527fa0527e60006000845af4505091a09e89591660046101610240527f610180527f6102a0527f20527f60e0527f6101c0527f5c5018a485fa938615600060006000610260527f6102c0527f6000600060015af150606101a0527f01606101e0527f01610140527f5d7d7ea46102e0527f610280527f6101005260456101205360a061012153606061016101610200527f610300527fc0527f22536102a0527f60206101235361016052606061018053606061018153610320527f6061610182610220527f6102c0527f5360016101e0527f610183536024610184610340527f5360536101855360606101865360006102e0527f610240527f61018753606161610360527f01610200527f8853600161018953602561018a53610300527f605361018b6102610380527f60527f53606061018c5360fd61018d53610220527f60616101610320527f8e536103a0527f600161018f536026610280527f610190536053610191536061610192536061036103c0527f40527f01610240527f6101935360276101946102a0527f5360606101955360006103e0527f610196610360527f5360f361019753610198606102605260006102806102c052610400527f7f53606061028153610380527f60006102825360f06102835360606102845360610420527e61028553606102e0527f60616103a0527f0286536000610287536060610288610440527f53600061028953606061028a5360006161036103c0527e527f028b5360606102610460527f8c53600061028d53608561028e53605a61028f5360f16103e0527f6102906103610480527f205260536103405360606103415360506103425360616103435360610400527f6104a0527f02610344536091610345536053610346536060610347536050610348536061616104c0527f610420527f034953600261034a53609261034b53605361034c53606161034d536104e0527f600261034e610440527f53609361034f5360606103505360006103515360f361610500527f035253600061035360006104605260606104805360006104815360f561048253610520527f6060610483536000610484536060610485536000610486536060610487536000610540527f61048853606061048953600061048a53606061048b53600061048c5360856104610560527f8d53605a61048e5360f161048f536050610490536050610491536104926000f3610580526105a060006000f060006000600060006000855af25050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000004":"0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000010","0x0000000000000000000000000000000000000000000000000000000000000008":"0x000000000000000000000000000000000000000000000000000000000000000d","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000000000000000000000000000000000000000000007"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f9":{"code":"0x60f2ff600060006000600060075af4505b13671860206000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000001":"0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000005":"0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000008":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000009":"0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000000000000000000000000000000000000000000001","0x000000000000000000000000000000000000000000000000000000000000000c":"0x0000000000000000000000000000000000000000000000000000000000000004"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000fa":{"code":"0x7f60085c50600060025d600060015d600160045d600260025d7f600060006000606000527e600060f55af1500164491c1716600060045d600060045d496000527f3965166020527ff28a3160025c50ec6000600060006000600060065af1506000600060006020526040527f7f600060f35af4503c5888f05d60006000600060006000600a5af150589715fd6060527f956040527f600260025dd3600060006000600060055af45081514416749543106080527f7e600060006060527f6000600060f45af450625618460582544187197788fdfa60a0527f600060045d600060006080527f60006000600060065af150736671204260006060c0527e6000600060045af45060006060a0527e600060006000600e5af1503c90178a60e0527f877f600260045d7f413b5f400a45600060c0527f600060006000600060095af2610100527f50600260045d6000527f9e3632329f456000527f60e0527f44306550747f5c7d610120527f9999103d5d60faff7f600060035d6020527f600060025d60610100527f065c50610140527f606020527f6060005360206001536060600253600060606040527e5260610120610160527f527f03602053605360215360606040527f60225360fd60235360606024536060610180527f6052610140527f7f0460255360536026536060602753600560286060527f53606101a0527f60602953600060610160527f2a6080527f5360f3602b536000602c60006000f56101c0527f600060006000606080527e84610180527f5af450508a60a0527f5b7c54158fcb6101e0527f6000600060006000600060f85af15092496101a0527f841560a052608b60c060610200527fc0527f53603d60c153606060c253602060c3536060606101c0527fc453600060610220527fc55360fd60c6536060e05260c761010053606061010153600061016101e05260610240527f026102005360536102015360606102025360f361020353606161020453600161610260527f020553600361020653605361020753606161020853600161020953600461020a610280527f53606061020b53600061020c53606061020d53600061020e5360f061020f53606102a0527f60610210536000610211536060610212536000610213536060610214536000616102c0527f021553606061021653600061021753608461021853605a6102195360f461021a6102e052605361030053606061030153605061030253606161030353600261030453601b61030553605361030653606061030753605061030853606161030953600261030a53601c61030b53605361030c53606161030d53600261030e53601d61030f5360606103105360006103115360f36103125361031360006000f06000600060006000845af45050","storage":{},"balance":"0x0","nonce":"0x0"},"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":{"code":"0x","storage":{},"balance":"0xffffffffff","nonce":"0x0"}},"transaction":{"gasPrice":"0x10","nonce":"0x0","to":"0x00000000000000000000000000000000000000f1","data":["0x082aa8018dde822676a19e1d8b41218cd0e8a8e740bc541b57d0b9b5da7c3a8444d430f94d3bbd0cc1f7779c383464e86ba2aae2cb266026fce10f96f90b7d2fe9df48c1f7aca5e5b3c6038c4dfe95f2dd825d15"],"gasLimit":["0xf42400"],"value":["0x"],"sender":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","secretKey":"0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8"},"out":"0x","post":{"Cancun":[{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","logs":"0x0000000000000000000000000000000000000000000000000000000000000000","indexes":{"data":0,"gas":0,"value":0}}]}}}

However, it's already existant in the pre alloc "0x000000000000000000000000000000000000000b":{"code":"0x","storage":{},"balance":"0x1","nonce":"0x0"}

@chfast
Copy link
Member

chfast commented Dec 1, 2023

We don't have this precompile implemented so if it is called the result will be incorrect.

@holiman
Copy link

holiman commented Dec 6, 2023

0x000000000000000000000000000000000000000b. Wait. I'm confused. There's no precompile there, is there?

@holiman
Copy link

holiman commented Dec 6, 2023

And anyway, the code just does a SELFDESTRUCT to that account, so no code invocation anyway

@holiman
Copy link

holiman commented Dec 6, 2023

So, I'd say this most likely concerns https://eips.ethereum.org/EIPS/eip-6780

@holiman
Copy link

holiman commented Dec 6, 2023

The account f1 is the tx recipient, also the one that does the selfdestruct.
in prestate

      "0x00000000000000000000000000000000000000f1": {
        "code": "0x600bff60359a01544084f109565a915c30576a6000600060006000600060085af25060035c5060006000600060006000600d5af15060045c5060206000fd",
        "storage": {
          "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000009"
        },
        "balance": "0x0",
        "nonce": "0x0"
      },

In post-state:

        "0x00000000000000000000000000000000000000f1": {
          "balance": "0",
          "nonce": 0,
          "root": "0xf31265967b5600c5ac597841e840f08e148168251d1109136636d7452c5dfe28",
          "codeHash": "0xbd29996a7a199eceb8f91b1d959379b6e30e41ebdb7f87635565c5089acaba96",
          "code": "0x600bff60359a01544084f109565a915c30576a6000600060006000600060085af25060035c5060006000600060006000600d5af15060045c5060206000fd",
          "storage": {
            "0x0000000000000000000000000000000000000000000000000000000000000001": "09"
          },
          "address": "0x00000000000000000000000000000000000000f1",
          "key": "0xe8c07bab8822eeeb875236e148f781341157f9bfc56c1c53972489ff4009695b"
        },

SO, in geth it seems to be totally untouched

@holiman
Copy link

holiman commented Dec 6, 2023

Yeah, if I remove EIP-6780 from geth, I also get the same stateroot, b86f278bbc63ae5d209d349cc40504fdaeaa80e0cfee02da8e1d2b76621ffdff

@holiman holiman changed the title Consensus error in fuzzer (Cancun) Cancun: missing EIP-6780 Dec 6, 2023
@chfast
Copy link
Member

chfast commented Dec 6, 2023

I'm sorry. I ignored it too early. We only recently added full Cancun support (without the 4844 precompile) and I'm preparing the release. The master looks fine so please use it for now: 0xeecc8ecabc5c362a0ed59bed79cc9dc5fb23137535be75637a363e8a8d704e12.

Thanks for testing.

@namiloh
Copy link
Author

namiloh commented Dec 7, 2023

This seems to work now, feel free to close it.
One last nit: evmone sometimes spits out the message

Precompile 10 not implemented!

@namiloh namiloh closed this as completed Dec 7, 2023
@chfast
Copy link
Member

chfast commented Dec 7, 2023

This seems to work now, feel free to close it. One last nit: evmone sometimes spits out the message

Precompile 10 not implemented!

Yes, because 4844 point evaluation precompile is not implemented. Although the gas cost is. So I guess it will work correctly unless you provide it a valid input.

@holiman
Copy link

holiman commented Dec 7, 2023

Although the gas cost is

Yeah 😆 !
I just spent some time digging into why I saw this message, but did not see a consensus-flaw. And discovered that you did make the gas line up, even if you just push a zero on the stack.

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

No branches or pull requests

3 participants