From f7c921895b0c732014219d6b15dd7e2adbe49b55 Mon Sep 17 00:00:00 2001 From: Jorge Olivero Date: Wed, 6 Mar 2019 08:44:33 -0600 Subject: [PATCH] fix TransactionTrace struct (#201) The property `trace_address` on the `TransactionTrace` struct fails to deserialize when the trace has a call chain with a depth larger than 1. Modified the test case to include a transaction with a call depth of 2. --- src/types/example-trace-str.rs | 3213 +++++++++++--------------------- src/types/traces.rs | 6 +- 2 files changed, 1094 insertions(+), 2125 deletions(-) diff --git a/src/types/example-trace-str.rs b/src/types/example-trace-str.rs index f623f120..ab76f69d 100644 --- a/src/types/example-trace-str.rs +++ b/src/types/example-trace-str.rs @@ -1,2128 +1,1097 @@ r#"{ - "output": "0x", - "stateDiff": { - "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb": { - "balance": "=", - "code": "=", - "nonce": { - "*": { - "from": "0x40d", - "to": "0x40e" - } - }, - "storage": {} + "output": "0x", + "stateDiff": { + "0x01f0eb5c4b0a9d8285b67195f5f10ce22971a102": { + "balance": { + "*": { + "from": "0x7361af5818297800", + "to": "0x734a36bb22448000" } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x1d6", + "to": "0x1d7" + } + }, + "storage": {} + }, + "0xb2930b35844a230f00e51431acae96fe543a0347": { + "balance": { + "*": { + "from": "0x11b39d46046d14d44e5", + "to": "0x11b39d687ebea8b3ce5" + } + }, + "code": "=", + "nonce": "=", + "storage": {} }, - "trace": [ - { - "action": { - "callType": "call", - "from": "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb", - "gas": "0x1dcd0528", - "input": "0x824dbc9a0000000000000000000000001db3439a222c519ab44bb1144fc28167b4fa6ee6000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f566974616c696b204275746572696e0000000000000000000000000000000000", - "to": "0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359", - "value": "0x0" - }, - "error": "Bad jump destination", - "subtraces": 0, - "traceAddress": [], - "type": "call" + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3": { + "balance": { + "*": { + "from": "0x109397d7f6f000", + "to": "0x25e48fb49df000" } - ], - "vmTrace": { - "code": "0x606060405236156100e55760e060020a6000350463013cf08b8114610173578063237e9492146101e05780633910682114610327578063400e39491461033f57806350c3487814610348578063522103fa146103515780635daf08ca1461037657806369bd3436146104475780638160f0b514610450578063824dbc9a1461045957806383876bc9146104c55780638da5cb5b146105ad578063aa02a90f146105bf578063b7782455146105c8578063b9f256cd146105da578063bcca1fd3146106c2578063d3c0715b146106ea578063eceb29451461075f578063f2fde38b1461083b575b61085d60095460009034111561017057604080516008546009547f79c65068000000000000000000000000000000000000000000000000000000008352600160a060020a03338116600485015266038d7ea4c680009190910234046024840152925192169283926379c65068926044818101939291829003018183876161da5a03f115610002575050505b50565b61085f6004356004805482908110156100025790600052602060002090600a02016000506005810154815460018301546003840154600485015460068601546007870154600160a060020a03959095169750929560020194919360ff828116946101009093041692919089565b60408051602060248035600481810135601f81018590048502860185019096528585526109389581359591946044949293909201918190840183828082843750949650505050505050600060006004600050848154811015610002575090527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e600a8402908101546000805160206118e38339815191529091019042108061028c5750600481015460ff165b8061030d57508060000160009054906101000a9004600160a060020a03168160010160005054846040518084600160a060020a0316606060020a0281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f15090500193505050506040518091039020816007016000505414155b8061031d57506001546005820154105b1561178e57610002565b61093860043560066020526000908152604090205481565b61093860055481565b61093860095481565b61085d600435602435600054600160a060020a039081163390911614610e2057610002565b61094a60043560078054829081101561000257506000526005027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6888101547fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6898201547fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68c8301546000805160206118c3833981519152840154600160a060020a039390931693919260ff16917fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68b019085565b61093860025481565b61093860015481565b604080516020606435600481810135601f810184900484028501840190955284845261085d94813594602480359560443595608494920191908190840183828082843750949650505050505050600080548190600160a060020a039081163390911614610a2c57610002565b604080516020604435600481810135601f8101849004840285018401909552848452610938948135946024803595939460649492939101918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a01909352828252969897608497919650602491909101945090925082915084018382808284375094965050505050505033600160a060020a031660009081526006602052604081205481908114806105a35750604081205460078054909190811015610002579082526005026000805160206118c3833981519152015460ff16155b15610fb157610002565b6109fa600054600160a060020a031681565b61093860035481565b6109fa600854600160a060020a031681565b604080516020604435600481810135601f8101849004840285018401909552848452610938948135946024803595939460649492939101918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a01909352828252969897608497919650602491909101945090925082915084018382808284375094965050505050505033600160a060020a031660009081526006602052604081205481908114806106b85750604081205460078054909190811015610002579082526005026000805160206118c3833981519152015460ff16155b156111d457610002565b61085d600435602435604435600054600160a060020a039081163390911614610dcc57610002565b604080516020604435600481810135601f810184900484028501840190955284845261093894813594602480359593946064949293910191819084018382808284375094965050505050505033600160a060020a0316600090815260066020526040812054819081908114156115d757610002565b604080516020606435600481810135601f81018490048402850184019095528484526109389481359460248035956044359560849492019190819084018382808284375094965050505050505060006000600460005086815481101561000257908252600a026000805160206118e383398151915201815090508484846040518084600160a060020a0316606060020a0281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f150905001935050505060405180910390208160070160005054149150610fa8565b61085d600435600054600160a060020a039081163390911614610a1757610002565b005b604051808a600160a060020a03168152602001898152602001806020018881526020018781526020018681526020018581526020018481526020018381526020018281038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b50509a505050505050505050505060405180910390f35b60408051918252519081900360200190f35b60408051600160a060020a0387168152602081018690529081018490526080810182905260a0606082018181528454600260018216156101000260001901909116049183018290529060c0830190859080156109e75780601f106109bc576101008083540402835291602001916109e7565b820191906000526020600020905b8154815290600101906020018083116109ca57829003601f168201915b5050965050505050505060405180910390f35b60408051600160a060020a03929092168252519081900360200190f35b60008054600160a060020a0319168217905550565b600160a060020a0386166000908152600660205260408120541415610a88576040600020600780549182905560018201808255828015829011610b9b57600502816005028360005260206000209182019101610b9b9190610c8a565b600160a060020a0386166000908152600660205260409020546007805491935090839081101561000257506000908152600583027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68981018790556000805160206118c38339815191528101805460ff19168717905584517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68b820180548185526020948590207fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688949094019550909360026001831615610100026000190190921691909104601f90810182900484019391880190839010610d9c57805160ff19168380011785555b50610d55929150610cf8565b5050509150815060a06040519081016040528087815260200186815260200185815260200184815260200142815260200150600760005083815481101561000257906000526020600020906005020160005081518154600160a060020a03191617815560208281015160018381019190915560028381018054604087015160ff199190911617905560608501518051600386018054600082815287902091969581161561010002600019011693909304601f90810185900484019491939290910190839010610d1057805160ff19168380011785555b50610d40929150610cf8565b5050600060048201556001015b80821115610d0c578054600160a060020a0319168155600060018281018290556002838101805460ff19169055600384018054848255909281161561010002600019011604601f819010610cde5750610c7d565b601f016020900490600052602060002090810190610c7d91905b80821115610d0c5760008155600101610cf8565b5090565b82800160010185558215610c71579182015b82811115610c71578251826000505591602001919060010190610d22565b50506080919091015160049190910155610d58565b50505b60408051600160a060020a038816815290517f4cea7af04e7093442a4d8d039e7b517557c4787a8cf68f900473c9bf3abfae4c9181900360200190a1505050505050565b82800160010185558215610b8f579182015b82811115610b8f578251826000505591602001919060010190610dae565b600183905560028290556003819055604080518481526020810184905280820183905290517fa439d3fa452be5e0e1e24a8145e715f4fd8b9c08c96a42fd82a855a85e5d57de9181900360600190a1505050565b60088054600160a060020a0319169091179055600955565b50508585846040518084600160a060020a0316606060020a0281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f150905001935050505060405180910390208160070160005081905550600260005054603c024201816003016000508190555060008160040160006101000a81548160ff0219169083021790555060008160040160016101000a81548160ff02191690830217905550600081600501600050819055507f646fec02522b41e7125cfc859a64fd4f4cefd5dc3b6237ca0abe251ded1fa881828787876040518085815260200184600160a060020a03168152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015610f905780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1600182016005555b50949350505050565b6004805460018101808355909190828015829011610fe857600a0281600a028360005260206000209182019101610fe89190611084565b505060048054929450918491508110156100025790600052602060002090600a02016000508054600160a060020a031916871781556001818101879055855160028381018054600082815260209081902096975091959481161561010002600019011691909104601f908101829004840193918901908390106111a457805160ff19168380011785555b50610e38929150610cf8565b50506001015b80821115610d0c578054600160a060020a03191681556000600182810182905560028381018054848255909281161561010002600019011604601f81901061116857505b5060006003830181905560048301805461ffff19169055600583018190556006830181905560078301819055600883018054828255908252602090912061107e916002028101905b80821115610d0c57805474ffffffffffffffffffffffffffffffffffffffffff1916815560018181018054600080835592600290821615610100026000190190911604601f81901061118657505b5050600101611110565b601f0160209004906000526020600020908101906110c89190610cf8565b601f01602090049060005260206000209081019061115e9190610cf8565b82800160010185558215611072579182015b828111156110725782518260005055916020019190600101906111b6565b600480546001810180835590919082801582901161121557600083905261121590600a9081026000805160206118e383398151915290810191840201611306565b5050600480549294509184915081101561000257506000908152600a83026000805160206118e383398151915281018054600160a060020a03191689178155670de0b6b3a764000088027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c83015586517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d929092018054818552602094859020929550909360026001831615610100026000190190921691909104601f908101829004830193929189019083901061142657805160ff19168380011785555b50611456929150610cf8565b50506001015b80821115610d0c578054600160a060020a03191681556000600182810182905560028381018054848255909281161561010002600019011604601f8190106113ea57505b5060006003830181905560048301805461ffff191690556005830181905560068301819055600783018190556008830180548282559082526020909120611300916002028101905b80821115610d0c57805474ffffffffffffffffffffffffffffffffffffffffff1916815560018181018054600080835592600290821615610100026000190190911604601f81901061140857505b5050600101611392565b601f01602090049060005260206000209081019061134a9190610cf8565b601f0160209004906000526020600020908101906113e09190610cf8565b828001600101855582156112f4579182015b828111156112f4578251826000505591602001919060010190611438565b50508585670de0b6b3a764000002846040518084600160a060020a0316606060020a0281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f150905001935050505060405180910390208160070160005081905550600260005054603c024201816003016000508190555060008160040160006101000a81548160ff0219169083021790555060008160040160016101000a81548160ff02191690830217905550600081600501600050819055507f646fec02522b41e7125cfc859a64fd4f4cefd5dc3b6237ca0abe251ded1fa881828787876040518085815260200184600160a060020a03168152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015610f905780820380516001836020036101000a03191681526020019150509550505050505060405180910390a16001820160055550949350505050565b33600160a060020a03166000908152600660205260409020546007805490919081101561000257600091909152600480546005929092027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68901549350908790811015610002576000918252600a026000805160206118e383398151915201905033600160a060020a0316600090815260098201602052604090205490915060ff166001141561168557610002565b33600160a060020a031660009081526009820160205260409020805460ff191660011790556005810180548301905584156116c957600681018054830190556116d5565b60068101805483900390555b7fc34f869b7ff431b034b7b9aea9822dac189a685e0b015c7d1be3add3f89128e8868633876040518085815260200184815260200183600160a060020a03168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156117755780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150509392505050565b600681015460035490131561184a578060000160009054906101000a9004600160a060020a0316600160a060020a0316816001016000505484604051808280519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156118145780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f15050505060048101805460ff191660011761ff00191661010017905561185f565b60048101805460ff191660011761ff00191690555b60068101546005820154600483015460408051888152602081019490945283810192909252610100900460ff166060830152517fd220b7272a8b6d0d7d6bcdace67b936a8f175e6d5c1b3ee438b72256b32ab3af9181900360800190a1509291505056a66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68a8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b", - "ops": [ - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x60" - ], - "store": null, - "used": 499975461 - }, - "pc": 0, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x40" - ], - "store": null, - "used": 499975458 - }, - "pc": 2, - "sub": null - }, - { - "cost": 12, - "ex": { - "mem": { - "data": "0x0000000000000000000000000000000000000000000000000000000000000060", - "off": 64 - }, - "push": [], - "store": null, - "used": 499975446 - }, - "pc": 4, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [ - "0xc4" - ], - "store": null, - "used": 499975444 - }, - "pc": 5, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975441 - }, - "pc": 6, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xe5" - ], - "store": null, - "used": 499975438 - }, - "pc": 7, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975428 - }, - "pc": 10, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xe0" - ], - "store": null, - "used": 499975425 - }, - "pc": 11, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x2" - ], - "store": null, - "used": 499975422 - }, - "pc": 13, - "sub": null - }, - { - "cost": 60, - "ex": { - "mem": null, - "push": [ - "0x100000000000000000000000000000000000000000000000000000000" - ], - "store": null, - "used": 499975362 - }, - "pc": 15, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975359 - }, - "pc": 16, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a0000000000000000000000001db3439a222c519ab44bb1144fc28167" - ], - "store": null, - "used": 499975356 - }, - "pc": 18, - "sub": null - }, - { - "cost": 5, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a" - ], - "store": null, - "used": 499975351 - }, - "pc": 19, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x13cf08b" - ], - "store": null, - "used": 499975348 - }, - "pc": 20, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x13cf08b", - "0x824dbc9a" - ], - "store": null, - "used": 499975345 - }, - "pc": 25, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975342 - }, - "pc": 26, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x173" - ], - "store": null, - "used": 499975339 - }, - "pc": 27, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975329 - }, - "pc": 30, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975326 - }, - "pc": 31, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x237e9492" - ], - "store": null, - "used": 499975323 - }, - "pc": 32, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975320 - }, - "pc": 37, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1e0" - ], - "store": null, - "used": 499975317 - }, - "pc": 38, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975307 - }, - "pc": 41, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975304 - }, - "pc": 42, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x39106821" - ], - "store": null, - "used": 499975301 - }, - "pc": 43, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975298 - }, - "pc": 48, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x327" - ], - "store": null, - "used": 499975295 - }, - "pc": 49, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975285 - }, - "pc": 52, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975282 - }, - "pc": 53, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x400e3949" - ], - "store": null, - "used": 499975279 - }, - "pc": 54, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975276 - }, - "pc": 59, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x33f" - ], - "store": null, - "used": 499975273 - }, - "pc": 60, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975263 - }, - "pc": 63, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975260 - }, - "pc": 64, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x50c34878" - ], - "store": null, - "used": 499975257 - }, - "pc": 65, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975254 - }, - "pc": 70, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x348" - ], - "store": null, - "used": 499975251 - }, - "pc": 71, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975241 - }, - "pc": 74, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975238 - }, - "pc": 75, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x522103fa" - ], - "store": null, - "used": 499975235 - }, - "pc": 76, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975232 - }, - "pc": 81, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x351" - ], - "store": null, - "used": 499975229 - }, - "pc": 82, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975219 - }, - "pc": 85, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975216 - }, - "pc": 86, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x5daf08ca" - ], - "store": null, - "used": 499975213 - }, - "pc": 87, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975210 - }, - "pc": 92, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x376" - ], - "store": null, - "used": 499975207 - }, - "pc": 93, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975197 - }, - "pc": 96, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975194 - }, - "pc": 97, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x69bd3436" - ], - "store": null, - "used": 499975191 - }, - "pc": 98, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975188 - }, - "pc": 103, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x447" - ], - "store": null, - "used": 499975185 - }, - "pc": 104, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975175 - }, - "pc": 107, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975172 - }, - "pc": 108, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x8160f0b5" - ], - "store": null, - "used": 499975169 - }, - "pc": 109, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499975166 - }, - "pc": 114, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x450" - ], - "store": null, - "used": 499975163 - }, - "pc": 115, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975153 - }, - "pc": 118, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a", - "0x824dbc9a" - ], - "store": null, - "used": 499975150 - }, - "pc": 119, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x824dbc9a" - ], - "store": null, - "used": 499975147 - }, - "pc": 120, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1" - ], - "store": null, - "used": 499975144 - }, - "pc": 125, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x459" - ], - "store": null, - "used": 499975141 - }, - "pc": 126, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975131 - }, - "pc": 129, - "sub": null - }, - { - "cost": 1, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499975130 - }, - "pc": 1113, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x40" - ], - "store": null, - "used": 499975127 - }, - "pc": 1114, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x40", - "0x40" - ], - "store": null, - "used": 499975124 - }, - "pc": 1116, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": { - "data": "0x0000000000000000000000000000000000000000000000000000000000000060", - "off": 64 - }, - "push": [ - "0x60" - ], - "store": null, - "used": 499975121 - }, - "pc": 1117, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x20" - ], - "store": null, - "used": 499975118 - }, - "pc": 1118, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x64" - ], - "store": null, - "used": 499975115 - }, - "pc": 1120, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x80" - ], - "store": null, - "used": 499975112 - }, - "pc": 1122, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x4" - ], - "store": null, - "used": 499975109 - }, - "pc": 1123, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x80", - "0x4", - "0x80" - ], - "store": null, - "used": 499975106 - }, - "pc": 1125, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x4", - "0x80", - "0x4" - ], - "store": null, - "used": 499975103 - }, - "pc": 1126, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x84" - ], - "store": null, - "used": 499975100 - }, - "pc": 1127, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf" - ], - "store": null, - "used": 499975097 - }, - "pc": 1128, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1f" - ], - "store": null, - "used": 499975094 - }, - "pc": 1129, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x1f", - "0xf" - ], - "store": null, - "used": 499975091 - }, - "pc": 1131, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x2e" - ], - "store": null, - "used": 499975088 - }, - "pc": 1132, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x20", - "0x80", - "0x4", - "0xf", - "0x2e", - "0x20" - ], - "store": null, - "used": 499975085 - }, - "pc": 1133, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x20", - "0x2e" - ], - "store": null, - "used": 499975082 - }, - "pc": 1134, - "sub": null - }, - { - "cost": 5, - "ex": { - "mem": null, - "push": [ - "0x1" - ], - "store": null, - "used": 499975077 - }, - "pc": 1135, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x20", - "0x80", - "0x4", - "0xf", - "0x1", - "0x20" - ], - "store": null, - "used": 499975074 - }, - "pc": 1136, - "sub": null - }, - { - "cost": 5, - "ex": { - "mem": null, - "push": [ - "0x20" - ], - "store": null, - "used": 499975069 - }, - "pc": 1137, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x60", - "0x20", - "0x80", - "0x4", - "0xf", - "0x20", - "0x60" - ], - "store": null, - "used": 499975066 - }, - "pc": 1138, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x80" - ], - "store": null, - "used": 499975063 - }, - "pc": 1139, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x20", - "0x80", - "0x4", - "0xf", - "0x80", - "0x20" - ], - "store": null, - "used": 499975060 - }, - "pc": 1140, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa0" - ], - "store": null, - "used": 499975057 - }, - "pc": 1141, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa0", - "0xf" - ], - "store": null, - "used": 499975054 - }, - "pc": 1142, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x60", - "0x20", - "0x80", - "0x4", - "0xa0", - "0x40" - ], - "store": null, - "used": 499975051 - }, - "pc": 1143, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": { - "data": "0x00000000000000000000000000000000000000000000000000000000000000a0", - "off": 64 - }, - "push": [], - "store": null, - "used": 499975048 - }, - "pc": 1144, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x60", - "0x20", - "0x80", - "0x4", - "0xf" - ], - "store": null, - "used": 499975045 - }, - "pc": 1145, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x60", - "0x20", - "0x80", - "0x4", - "0xf", - "0x60" - ], - "store": null, - "used": 499975042 - }, - "pc": 1146, - "sub": null - }, - { - "cost": 6, - "ex": { - "mem": { - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "off": 96 - }, - "push": [], - "store": null, - "used": 499975036 - }, - "pc": 1147, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x85d" - ], - "store": null, - "used": 499975033 - }, - "pc": 1148, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x85d", - "0x60", - "0x20", - "0x80", - "0x4", - "0xf" - ], - "store": null, - "used": 499975030 - }, - "pc": 1151, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x4", - "0xf", - "0x4" - ], - "store": null, - "used": 499975027 - }, - "pc": 1152, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1db3439a222c519ab44bb1144fc28167b4fa6ee6" - ], - "store": null, - "used": 499975024 - }, - "pc": 1153, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1db3439a222c519ab44bb1144fc28167b4fa6ee6", - "0x20", - "0x80", - "0x4", - "0xf", - "0x60" - ], - "store": null, - "used": 499975021 - }, - "pc": 1154, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x24" - ], - "store": null, - "used": 499975018 - }, - "pc": 1155, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x24", - "0x24" - ], - "store": null, - "used": 499975015 - }, - "pc": 1157, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa" - ], - "store": null, - "used": 499975012 - }, - "pc": 1158, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa", - "0x80", - "0x4", - "0xf", - "0x60", - "0x24", - "0x20" - ], - "store": null, - "used": 499975009 - }, - "pc": 1159, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x44" - ], - "store": null, - "used": 499975006 - }, - "pc": 1160, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1" - ], - "store": null, - "used": 499975003 - }, - "pc": 1162, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1", - "0x4", - "0xf", - "0x60", - "0x24", - "0x20", - "0x80" - ], - "store": null, - "used": 499975000 - }, - "pc": 1163, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x84" - ], - "store": null, - "used": 499974997 - }, - "pc": 1164, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x84", - "0x60", - "0x24", - "0x20", - "0x80", - "0xf" - ], - "store": null, - "used": 499974994 - }, - "pc": 1166, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x20", - "0x80", - "0x24" - ], - "store": null, - "used": 499974991 - }, - "pc": 1167, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa4" - ], - "store": null, - "used": 499974988 - }, - "pc": 1168, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa4", - "0x20", - "0xf" - ], - "store": null, - "used": 499974985 - }, - "pc": 1169, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x20" - ], - "store": null, - "used": 499974982 - }, - "pc": 1170, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x20", - "0xf" - ], - "store": null, - "used": 499974979 - }, - "pc": 1171, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x20" - ], - "store": null, - "used": 499974976 - }, - "pc": 1172, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x60", - "0xa4", - "0xf", - "0xf", - "0x20", - "0x60" - ], - "store": null, - "used": 499974973 - }, - "pc": 1173, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x80" - ], - "store": null, - "used": 499974970 - }, - "pc": 1174, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa4", - "0xf", - "0xf", - "0x80", - "0xa4" - ], - "store": null, - "used": 499974967 - }, - "pc": 1175, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0x80", - "0xa4", - "0xf" - ], - "store": null, - "used": 499974964 - }, - "pc": 1176, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xf", - "0xf" - ], - "store": null, - "used": 499974961 - }, - "pc": 1177, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa4", - "0xf", - "0xf", - "0xa4" - ], - "store": null, - "used": 499974958 - }, - "pc": 1178, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x80", - "0xa4", - "0xf", - "0xf", - "0xa4", - "0x80" - ], - "store": null, - "used": 499974955 - }, - "pc": 1179, - "sub": null - }, - { - "cost": 9, - "ex": { - "mem": { - "data": "0x566974616c696b204275746572696e", - "off": 128 - }, - "push": [], - "store": null, - "used": 499974946 - }, - "pc": 1180, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974944 - }, - "pc": 1181, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa4", - "0xa4", - "0xf", - "0xf", - "0x80", - "0x60" - ], - "store": null, - "used": 499974941 - }, - "pc": 1182, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x60", - "0x84", - "0xa4", - "0xa4", - "0xf", - "0xf", - "0x80", - "0x4" - ], - "store": null, - "used": 499974938 - }, - "pc": 1183, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974936 - }, - "pc": 1184, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974934 - }, - "pc": 1185, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974932 - }, - "pc": 1186, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974930 - }, - "pc": 1187, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974928 - }, - "pc": 1188, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974926 - }, - "pc": 1189, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974924 - }, - "pc": 1190, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499974921 - }, - "pc": 1191, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0", - "0x0" - ], - "store": null, - "used": 499974918 - }, - "pc": 1193, - "sub": null - }, - { - "cost": 200, - "ex": { - "mem": null, - "push": [ - "0xd176b08cfcb3872208f44b86f87b32faf32c531b" - ], - "store": null, - "used": 499974718 - }, - "pc": 1194, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0", - "0xd176b08cfcb3872208f44b86f87b32faf32c531b", - "0x0" - ], - "store": null, - "used": 499974715 - }, - "pc": 1195, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0", - "0xd176b08cfcb3872208f44b86f87b32faf32c531b" - ], - "store": null, - "used": 499974712 - }, - "pc": 1196, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x1" - ], - "store": null, - "used": 499974709 - }, - "pc": 1197, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa0" - ], - "store": null, - "used": 499974706 - }, - "pc": 1199, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x2" - ], - "store": null, - "used": 499974703 - }, - "pc": 1201, - "sub": null - }, - { - "cost": 60, - "ex": { - "mem": null, - "push": [ - "0x10000000000000000000000000000000000000000" - ], - "store": null, - "used": 499974643 - }, - "pc": 1203, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xffffffffffffffffffffffffffffffffffffffff" - ], - "store": null, - "used": 499974640 - }, - "pc": 1204, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xffffffffffffffffffffffffffffffffffffffff", - "0xd176b08cfcb3872208f44b86f87b32faf32c531b" - ], - "store": null, - "used": 499974637 - }, - "pc": 1205, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xffffffffffffffffffffffffffffffffffffffff", - "0xd176b08cfcb3872208f44b86f87b32faf32c531b", - "0xffffffffffffffffffffffffffffffffffffffff" - ], - "store": null, - "used": 499974634 - }, - "pc": 1206, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xd176b08cfcb3872208f44b86f87b32faf32c531b" - ], - "store": null, - "used": 499974631 - }, - "pc": 1207, - "sub": null - }, - { - "cost": 2, - "ex": { - "mem": null, - "push": [ - "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb" - ], - "store": null, - "used": 499974629 - }, - "pc": 1208, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb", - "0xd176b08cfcb3872208f44b86f87b32faf32c531b" - ], - "store": null, - "used": 499974626 - }, - "pc": 1209, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xd176b08cfcb3872208f44b86f87b32faf32c531b", - "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb", - "0xffffffffffffffffffffffffffffffffffffffff" - ], - "store": null, - "used": 499974623 - }, - "pc": 1210, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb" - ], - "store": null, - "used": 499974620 - }, - "pc": 1211, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x0" - ], - "store": null, - "used": 499974617 - }, - "pc": 1212, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0xa2c" - ], - "store": null, - "used": 499974614 - }, - "pc": 1213, - "sub": null - }, - { - "cost": 10, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974604 - }, - "pc": 1216, - "sub": null - }, - { - "cost": 3, - "ex": { - "mem": null, - "push": [ - "0x2" - ], - "store": null, - "used": 499974601 - }, - "pc": 1217, - "sub": null - }, - { - "cost": 8, - "ex": { - "mem": null, - "push": [], - "store": null, - "used": 499974593 - }, - "pc": 1220, - "sub": null - } - ] + }, + "code": "=", + "nonce": "=", + "storage": {} } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0x01f0eb5c4b0a9d8285b67195f5f10ce22971a102", + "gas": "0xa5f8", + "input": "0x1a695230000000000000000000000000c227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "to": "0x0b95993a39a363d99280ac950f5e4536ab5c5566", + "value": "0x1550f7dca70000" + }, + "result": { + "gasUsed": "0x1ddf", + "output": "0x" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "callType": "call", + "from": "0x0b95993a39a363d99280ac950f5e4536ab5c5566", + "gas": "0x8fc", + "input": "0x", + "to": "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "value": "0x1550f7dca70000" + }, + "result": { + "gasUsed": "0x0", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [ + 0 + ], + "type": "call" + } + ], + "vmTrace": { + "code": "0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631a6952301461005e5780637362377b1461008c5780638da5cb5b146100a1575b61005c5b5b565b005b61008a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506100f6565b005b341561009757600080fd5b61009f61013a565b005b34156100ac57600080fd5b6100b4610210565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561013657600080fd5b5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561019557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561020d57600080fd5b5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a7230582029eabe8a624d811f3ea09c310d65be79ddefa23e3b702541dc1687b475f091690029", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 42485 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 42482 + }, + "pc": 2, + "sub": null + }, + { + "cost": 12, + "ex": { + "mem": { + "data": "0x0000000000000000000000000000000000000000000000000000000000000060", + "off": 64 + }, + "push": [], + "store": null, + "used": 42470 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x24" + ], + "store": null, + "used": 42468 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42465 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x55" + ], + "store": null, + "used": 42462 + }, + "pc": 7, + "sub": null + }, + { + "cost": 10, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42452 + }, + "pc": 10, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42449 + }, + "pc": 11, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1a695230000000000000000000000000c227a75b32ed37d3f9d6341b9904d003" + ], + "store": null, + "used": 42446 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x100000000000000000000000000000000000000000000000000000000" + ], + "store": null, + "used": 42443 + }, + "pc": 14, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x100000000000000000000000000000000000000000000000000000000", + "0x1a695230000000000000000000000000c227a75b32ed37d3f9d6341b9904d003" + ], + "store": null, + "used": 42440 + }, + "pc": 44, + "sub": null + }, + { + "cost": 5, + "ex": { + "mem": null, + "push": [ + "0x1a695230" + ], + "store": null, + "used": 42435 + }, + "pc": 45, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xffffffff" + ], + "store": null, + "used": 42432 + }, + "pc": 46, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1a695230" + ], + "store": null, + "used": 42429 + }, + "pc": 51, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1a695230", + "0x1a695230" + ], + "store": null, + "used": 42426 + }, + "pc": 52, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1a695230" + ], + "store": null, + "used": 42423 + }, + "pc": 53, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 42420 + }, + "pc": 58, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x5e" + ], + "store": null, + "used": 42417 + }, + "pc": 59, + "sub": null + }, + { + "cost": 10, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42407 + }, + "pc": 62, + "sub": null + }, + { + "cost": 1, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42406 + }, + "pc": 94, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x8a" + ], + "store": null, + "used": 42403 + }, + "pc": 95, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 42400 + }, + "pc": 98, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4", + "0x4" + ], + "store": null, + "used": 42397 + }, + "pc": 100, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4", + "0x4" + ], + "store": null, + "used": 42394 + }, + "pc": 101, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42391 + }, + "pc": 102, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xffffffffffffffffffffffffffffffffffffffff" + ], + "store": null, + "used": 42388 + }, + "pc": 103, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42385 + }, + "pc": 124, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "0x4" + ], + "store": null, + "used": 42382 + }, + "pc": 125, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 42379 + }, + "pc": 126, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x24" + ], + "store": null, + "used": 42376 + }, + "pc": 128, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x24", + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42373 + }, + "pc": 129, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "0x24", + "0x4" + ], + "store": null, + "used": 42370 + }, + "pc": 130, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4", + "0x24" + ], + "store": null, + "used": 42367 + }, + "pc": 131, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42365 + }, + "pc": 132, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42363 + }, + "pc": 133, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf6" + ], + "store": null, + "used": 42360 + }, + "pc": 134, + "sub": null + }, + { + "cost": 8, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42352 + }, + "pc": 137, + "sub": null + }, + { + "cost": 1, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 42351 + }, + "pc": 246, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42348 + }, + "pc": 247, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xffffffffffffffffffffffffffffffffffffffff" + ], + "store": null, + "used": 42345 + }, + "pc": 248, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42342 + }, + "pc": 269, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x8fc" + ], + "store": null, + "used": 42339 + }, + "pc": 270, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x1550f7dca70000" + ], + "store": null, + "used": 42337 + }, + "pc": 273, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1550f7dca70000", + "0x8fc" + ], + "store": null, + "used": 42334 + }, + "pc": 274, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1550f7dca70000", + "0x8fc", + "0x1550f7dca70000" + ], + "store": null, + "used": 42331 + }, + "pc": 275, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42328 + }, + "pc": 276, + "sub": null + }, + { + "cost": 5, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42323 + }, + "pc": 277, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0", + "0x1550f7dca70000" + ], + "store": null, + "used": 42320 + }, + "pc": 278, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 42317 + }, + "pc": 279, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": { + "data": "0x0000000000000000000000000000000000000000000000000000000000000060", + "off": 64 + }, + "push": [ + "0x60" + ], + "store": null, + "used": 42314 + }, + "pc": 281, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42311 + }, + "pc": 282, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 42308 + }, + "pc": 284, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": { + "data": "0x0000000000000000000000000000000000000000000000000000000000000060", + "off": 64 + }, + "push": [ + "0x60" + ], + "store": null, + "used": 42305 + }, + "pc": 286, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60", + "0x60" + ], + "store": null, + "used": 42302 + }, + "pc": 287, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60", + "0x0", + "0x60", + "0x60", + "0x60" + ], + "store": null, + "used": 42299 + }, + "pc": 288, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 42296 + }, + "pc": 289, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60", + "0x0", + "0x60" + ], + "store": null, + "used": 42293 + }, + "pc": 290, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1550f7dca70000", + "0x60", + "0x0", + "0x60", + "0x0", + "0x60", + "0x1550f7dca70000" + ], + "store": null, + "used": 42290 + }, + "pc": 291, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "0x0", + "0x1550f7dca70000", + "0x60", + "0x0", + "0x60", + "0x0", + "0x60", + "0x1550f7dca70000", + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 42287 + }, + "pc": 292, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0", + "0x1550f7dca70000", + "0x60", + "0x0", + "0x60", + "0x0", + "0x60", + "0x1550f7dca70000", + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3", + "0x0" + ], + "store": null, + "used": 42284 + }, + "pc": 293, + "sub": null + }, + { + "cost": 9700, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 34884 + }, + "pc": 294, + "sub": { + "code": "0x", + "ops": [] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1", + "0x0", + "0x1550f7dca70000", + "0x60", + "0xc227a75b32ed37d3f9d6341b9904d003dad3b1b3" + ], + "store": null, + "used": 34881 + }, + "pc": 295, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34879 + }, + "pc": 296, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34877 + }, + "pc": 297, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34875 + }, + "pc": 298, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34873 + }, + "pc": 299, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 34870 + }, + "pc": 300, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 34867 + }, + "pc": 301, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x136" + ], + "store": null, + "used": 34864 + }, + "pc": 302, + "sub": null + }, + { + "cost": 10, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34854 + }, + "pc": 305, + "sub": null + }, + { + "cost": 1, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34853 + }, + "pc": 310, + "sub": null + }, + { + "cost": 1, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34852 + }, + "pc": 311, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34850 + }, + "pc": 312, + "sub": null + }, + { + "cost": 8, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34842 + }, + "pc": 313, + "sub": null + }, + { + "cost": 1, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34841 + }, + "pc": 138, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 34841 + }, + "pc": 139, + "sub": null + } + ] + } }"# diff --git a/src/types/traces.rs b/src/types/traces.rs index dfbcdeab..2336668d 100644 --- a/src/types/traces.rs +++ b/src/types/traces.rs @@ -72,7 +72,7 @@ pub struct StateDiff(BTreeMap); pub struct TransactionTrace { /// Trace address #[serde(rename = "traceAddress")] - trace_address: Vec
, + trace_address: Vec, /// Subtraces subtraces: usize, /// Action @@ -145,9 +145,9 @@ mod tests { use super::*; use serde_json; - // tx: https://etherscan.io/tx/0x550549eb0dde6a4a8f865a19808cb0019e60fac664912e009e5cbae7d5dc0638 + // tx: https://etherscan.io/tx/0x4a91b11dbd2b11c308cfe7775eac2036f20c501691e3f8005d83b2dcce62d6b5 + // using the 'trace_replayTransaction' API function // with 'trace', 'vmTrace', 'stateDiff' - // with 'trace_call' API function const EXAMPLE_TRACE: &'static str = include!("./example-trace-str.rs"); #[test]