skalenetwork / skaled

Running more than 20 production blockchains, SKALED is Ethereum-compatible, high performance C++ Proof-of-Stake client, tools and libraries. Uses SKALE consensus as a blockchain consensus core. Includes dynamic Oracle. Implements file storage and retrieval as an EVM extension.
https://skale.network
GNU General Public License v3.0
88 stars 41 forks source link

Implement debug_Trace methods #1664

Closed kladkogex closed 11 months ago

kladkogex commented 1 year ago

Debug trace methods are in the code and we need to enable them for the historic state

The goal is to be compatible with debug_Trace methods of geth, so we can be used by Dune Analytics, Tenderly and other tools.

DmytroNazarenko commented 11 months ago

3.17.2-develop.2

PolinaKiporenko commented 7 months ago

3.18.1-beta.0

oleksandrSydorenkoJ commented 7 months ago

Verified on Legacy network Version: skalenetwork/schain:3.18.1-beta.0-historic skale_schain_these-long-sadalsuud

debug_traceTransaction

$ curl http://localhost:10195/   -X POST -H "Content-Type: application/json" --data '{"method":"debug_traceTransaction","params":["0x652cdca90b236cc37d4ce2b5b0ed9072c510468e6dfef40b48fca7c5c1512c6e", {"tracer": "callTracer"}], "id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":{"from":"0xe3cc6ec63b5652d1594bc63bb293f4e80f76dbdd","gas":"0x30d40","gasUsed":"0x19062","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x0000000000000000000000000000000000000000000000000000000000000001","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"}}

debug_traceCall


$ curl  http://localhost:10195/   -X POST  -H "Content-Type: application/json"  --data '{"id":1,"jsonrpc":"2.0","method":"debug_traceCall","params":[{"from":"0x0000000000000000000000000000000000000000","to":"0xbd2e529c5f048dc4825ee03a2b61f9ad00326ce2","data":"0x6352211e0000000000000000000000000000000000000000000000000000000000000000" },"latest", {}]}'
{"id":1,"jsonrpc":"2.0","result":{"failed":true,"gas":21406,"returnValue":"","structLogs":[{"depth":1,"gas":268414263,"gasCost":3,"op":"PUSH1","pc":0,"stack":[]},{"depth":1,"gas":268414260,"gasCost":3,"op":"PUSH1","pc":2,"stack":["0x80"]},{"depth":1,"gas":268414257,"gasCost":12,"op":"MSTORE","pc":4,"stack":["0x80","0x40"]},{"depth":1,"gas":268414245,"gasCost":2,"op":"CALLVALUE","pc":5,"stack":[]},{"depth":1,"gas":268414243,"gasCost":3,"op":"DUP1","pc":6,"stack":["0x0"]},{"depth":1,"gas":268414240,"gasCost":3,"op":"ISZERO","pc":7,"stack":["0x0","0x0"]},{"depth":1,"gas":268414237,"gasCost":3,"op":"PUSH2","pc":8,"stack":["0x0","0x1"]},{"depth":1,"gas":268414234,"gasCost":10,"op":"JUMPI","pc":11,"stack":["0x0","0x1","0x10"]},{"depth":1,"gas":268414224,"gasCost":1,"op":"JUMPDEST","pc":16,"stack":["0x0"]},{"depth":1,"gas":268414223,"gasCost":2,"op":"POP","pc":17,"stack":["0x0"]},{"depth":1,"gas":268414221,"gasCost":3,"op":"PUSH1","pc":18,"stack":[]},{"depth":1,"gas":268414218,"gasCost":2,"op":"CALLDATASIZE","pc":20,"stack":["0x4"]},{"depth":1,"gas":268414216,"gasCost":3,"op":"LT","pc":21,"stack":["0x4","0x24"]},{"depth":1,"gas":268414213,"gasCost":3,"op":"PUSH2","pc":22,"stack":["0x0"]},{"depth":1,"gas":268414210,"gasCost":10,"op":"JUMPI","pc":25,"stack":["0x0","0x62"]},{"depth":1,"gas":268414200,"gasCost":3,"op":"PUSH1","pc":26,"stack":[]},{"depth":1,"gas":268414197,"gasCost":3,"op":"CALLDATALOAD","pc":28,"stack":["0x0"]},{"depth":1,"gas":268414194,"gasCost":3,"op":"PUSH1","pc":29,"stack":["0x6352211e00000000000000000000000000000000000000000000000000000000"]},{"depth":1,"gas":268414191,"gasCost":3,"op":"SHR","pc":31,"stack":["0x6352211e00000000000000000000000000000000000000000000000000000000","0xe0"]},{"depth":1,"gas":268414188,"gasCost":3,"op":"DUP1","pc":32,"stack":["0x6352211e"]},{"depth":1,"gas":268414185,"gasCost":3,"op":"PUSH4","pc":33,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414182,"gasCost":3,"op":"EQ","pc":38,"stack":["0x6352211e","0x6352211e","0x6fdde03"]},{"depth":1,"gas":268414179,"gasCost":3,"op":"PUSH2","pc":39,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414176,"gasCost":10,"op":"JUMPI","pc":42,"stack":["0x6352211e","0x0","0x67"]},{"depth":1,"gas":268414166,"gasCost":3,"op":"DUP1","pc":43,"stack":["0x6352211e"]},{"depth":1,"gas":268414163,"gasCost":3,"op":"PUSH4","pc":44,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414160,"gasCost":3,"op":"EQ","pc":49,"stack":["0x6352211e","0x6352211e","0x18160ddd"]},{"depth":1,"gas":268414157,"gasCost":3,"op":"PUSH2","pc":50,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414154,"gasCost":10,"op":"JUMPI","pc":53,"stack":["0x6352211e","0x0","0x85"]},{"depth":1,"gas":268414144,"gasCost":3,"op":"DUP1","pc":54,"stack":["0x6352211e"]},{"depth":1,"gas":268414141,"gasCost":3,"op":"PUSH4","pc":55,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414138,"gasCost":3,"op":"EQ","pc":60,"stack":["0x6352211e","0x6352211e","0x40c10f19"]},{"depth":1,"gas":268414135,"gasCost":3,"op":"PUSH2","pc":61,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414132,"gasCost":10,"op":"JUMPI","pc":64,"stack":["0x6352211e","0x0","0x9c"]},{"depth":1,"gas":268414122,"gasCost":3,"op":"DUP1","pc":65,"stack":["0x6352211e"]},{"depth":1,"gas":268414119,"gasCost":3,"op":"PUSH4","pc":66,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414116,"gasCost":3,"op":"EQ","pc":71,"stack":["0x6352211e","0x6352211e","0x56b8c724"]},{"depth":1,"gas":268414113,"gasCost":3,"op":"PUSH2","pc":72,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414110,"gasCost":10,"op":"JUMPI","pc":75,"stack":["0x6352211e","0x0","0xb1"]},{"depth":1,"gas":268414100,"gasCost":3,"op":"DUP1","pc":76,"stack":["0x6352211e"]},{"depth":1,"gas":268414097,"gasCost":3,"op":"PUSH4","pc":77,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414094,"gasCost":3,"op":"EQ","pc":82,"stack":["0x6352211e","0x6352211e","0x70a08231"]},{"depth":1,"gas":268414091,"gasCost":3,"op":"PUSH2","pc":83,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414088,"gasCost":10,"op":"JUMPI","pc":86,"stack":["0x6352211e","0x0","0xd4"]},{"depth":1,"gas":268414078,"gasCost":3,"op":"DUP1","pc":87,"stack":["0x6352211e"]},{"depth":1,"gas":268414075,"gasCost":3,"op":"PUSH4","pc":88,"stack":["0x6352211e","0x6352211e"]},{"depth":1,"gas":268414072,"gasCost":3,"op":"EQ","pc":93,"stack":["0x6352211e","0x6352211e","0x95d89b41"]},{"depth":1,"gas":268414069,"gasCost":3,"op":"PUSH2","pc":94,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414066,"gasCost":10,"op":"JUMPI","pc":97,"stack":["0x6352211e","0x0","0xf4"]},{"depth":1,"gas":268414056,"gasCost":1,"op":"JUMPDEST","pc":98,"stack":["0x6352211e"]},{"depth":1,"gas":268414055,"gasCost":3,"op":"PUSH1","pc":99,"stack":["0x6352211e"]},{"depth":1,"gas":268414052,"gasCost":3,"op":"DUP1","pc":101,"stack":["0x6352211e","0x0"]},{"depth":1,"gas":268414049,"gasCost":0,"op":"REVERT","pc":102,"stack":["0x6352211e","0x0","0x0"]}]}}

debug_traceBlcokByHash


 curl ttp://localhost:10195/   -X POST -H "Content-Type: application/json" --data '{"method":"debug_traceBlockByHash","params":["0xf8152326594f579518ce649e7e716d034feed4eb3993a4b5ef5f8811dd7f367e", {"tracer": "callTracer"}], "id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":[{"result":{"error":"execution reverted","from":"0x482d7f53cba6ae73a354533673c48e2dfd560949","gas":"0x30d40","gasUsed":"0x64bc","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014496e73756666696369656e742062616c616e6365000000000000000000000000","revertReason":"Insufficient balance","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x6f2af81740fbd00b2dc808aebed08cd9191e26c20c518506c81069056ba4a5a2"},{"result":{"from":"0xe3cc6ec63b5652d1594bc63bb293f4e80f76dbdd","gas":"0x30d40","gasUsed":"0x19062","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x0000000000000000000000000000000000000000000000000000000000000001","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x652cdca90b236cc37d4ce2b5b0ed9072c510468e6dfef40b48fca7c5c1512c6e"},{"result":{"error":"execution reverted","from":"0xa6d50055592cecb795bc1ed3b9ea57ed426b0b7c","gas":"0x30d40","gasUsed":"0x64bc","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014496e73756666696369656e742062616c616e6365000000000000000000000000","revertReason":"Insufficient balance","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x7c9dbb1c7e8908d83175c9d40e0ffb536710cffb09bcb7fe790ea56e4d1459f6"},{"result":{"from":"0x3f5bdf5d4c274c82b8d17aa2810b00d2cf050f24","gas":"0x30d40","gasUsed":"0x19062","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x0000000000000000000000000000000000000000000000000000000000000001","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xcf96aa12d56275dc3e2e9e2daee6693d2bad1efd7493a99d3eeaa4b88f2a2688"},{"result":{"from":"0x94c6e5746971d6aebeaa42cbbe2feca0f6b5b24f","gas":"0x30d40","gasUsed":"0x19062","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x0000000000000000000000000000000000000000000000000000000000000001","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x98a708626a82498451b8183ec2609cd1d1eee5d0ec5949651ceba68387a79a43"},{"result":{"error":"execution reverted","from":"0xb70603c505f85130b5b2e73cd82d196dfd7d8b5e","gas":"0x30d40","gasUsed":"0x64bc","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014496e73756666696369656e742062616c616e6365000000000000000000000000","revertReason":"Insufficient balance","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xd0258d700e644bf2f66bfc1eeb3ea2982fc658efdd14a3b378bcd72ba8e70b58"},{"result":{"error":"execution reverted","from":"0xbf5aa678b969c0871e2fbcf09c3dbb5d5865ac1e","gas":"0x30d40","gasUsed":"0x64bc","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014496e73756666696369656e742062616c616e6365000000000000000000000000","revertReason":"Insufficient balance","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xcde552781f7096bd310d35367bd12f4df42eea8752f8db048d79f934f08b1023"},{"result":{"error":"execution reverted","from":"0x079cf317ef40b16141784b6fabff812d64f7c0fd","gas":"0x30d40","gasUsed":"0x64bc","input":"0x56b8c7240000000000000000000000007cef6369dfd5377d823a2c65b3c2de740d52a5b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008366393063613830343832303136623833303138366130393438386664356530313037383632396363313934633933336439363331623934342020202020202020202020202020386665313062316438306239306334343764393330313962303030303033306365653739333865396562613265393132313162373862333239653236320000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014496e73756666696369656e742062616c616e6365000000000000000000000000","revertReason":"Insufficient balance","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xacfdd073d859caefdb41150abad37f82de013206b73c214a5416105485e65ee3"}]

debug_traceBlockByNumber


curl http://localhost:10195 -X POST -H "Content-Type: application/json" --data '{"method":"debug_traceBlockByNumber","params":["299544", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":[{"result":{"from":"0x94c6e5746971d6aebeaa42cbbe2feca0f6b5b24f","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f1900000000000000000000000094c6e5746971d6aebeaa42cbbe2feca0f6b5b24f00000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x217115a9b4ccaf353ad0de6f5b59f90efe9b58781c979f27d83e0f53ec03339f"},{"result":{"from":"0x0aa6a44690ef52354e976990292cf9c5cd36ad59","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f190000000000000000000000000aa6a44690ef52354e976990292cf9c5cd36ad5900000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x3e1b42b1a89820dbb5c087ab1a1a148257175484ccb306234e4b95027fb20a0b"},{"result":{"from":"0x88fd5e01078629cc194c933d9631b9448fe10b1d","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f1900000000000000000000000088fd5e01078629cc194c933d9631b9448fe10b1d00000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xf00b68e5309b0531b136715c7fbf7431129c48353ff2f0ae333cd9e81f4acee8"},{"result":{"from":"0x3f5bdf5d4c274c82b8d17aa2810b00d2cf050f24","gas":"0x186a0","gasUsed":"0xbed6","input":"0x40c10f190000000000000000000000003f5bdf5d4c274c82b8d17aa2810b00d2cf050f2400000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x8bfc1c374fc56fbfeb2d5dd4771d225309a2a1a1c9522e54c3fa40117c1b5644"},{"result":{"from":"0xe3cc6ec63b5652d1594bc63bb293f4e80f76dbdd","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f19000000000000000000000000e3cc6ec63b5652d1594bc63bb293f4e80f76dbdd00000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x130d040bb55550bf5a388a454563bc8c99a8943f661556368cb20ecca47250c8"},{"result":{"from":"0x863f816036e3cbba90855196c9d1e339fcff1650","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f19000000000000000000000000863f816036e3cbba90855196c9d1e339fcff165000000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0x4792d343cf9b9627036d44519800ed325d65d15614feff3e9055d6845b71d8e0"},{"result":{"from":"0x77a0bc73442d3d9cb993e8d9752f95babf0ccaa6","gas":"0x186a0","gasUsed":"0xbee2","input":"0x40c10f1900000000000000000000000077a0bc73442d3d9cb993e8d9752f95babf0ccaa600000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xfb0163826a3e53f71a10333b5e62abaa6eb96e89951b478271474e0ae9124feb"},{"result":{"from":"0xa68f946090c600eda6f139783077ee802afeb990","gas":"0x186a0","gasUsed":"0xbed6","input":"0x40c10f19000000000000000000000000a68f946090c600eda6f139783077ee802afeb99000000000000000000000000000000000000000000000000000038d7ea4c68000","to":"0x8722eb776a5d9a2ffd914648381fe2daf80c7add","type":"CALL","value":"0x0"},"txHash":"0xb8a763ebdb87819c45ba0d08236ddbebbbf03dc52b56b82fa83986eab705be0f"}]}