Repository: ethereum/go-ethereum (language: go)

Issue:
Error tracing old block/txs with "contract creation code storage out of gas"
#### System information

Geth version: `Geth/v1.13.15-stable-c5ba367e/linux-amd64/go1.22.2`
OS & Version: Linux
Network: Ethereum Mainnet

#### Expected behaviour

Successful transaction:

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "txHash": "0x0bd55bbf4dfb4e7b15bfed296be3330d5c1116b1bc399a75d3f849edc0d5ac45",
      "result": {
        "from": "0x326be8f71bfb0379f989aab1cc1fe37f0a771f60",
        "gas": "0x493e0",
        "gasUsed": "0x2ac58",
        "to": "0xd8253352f6044cfe55bcc0748c3fa37b7df81f98",
        "input": "0x60606040526000805433600160a060020a0319918216811783556001805490921617905561067c90819061003390396000f300606060405236156100b95760e060020a600035046303750d9481146100bb57806306b5f02d146100e15780630e1da6c3146100ff5780630f06670a1461010c5780632d9a37d31461013b5780632e1a7d4d1461015457806355b775ea14610177578063839930ba1461019a5780638d216186146101a4578063a094a031146101d5578063add4c78414610201578063bd66528a14610230578063cb96012e14610260578063d8389dc514610271578063da9328561461028e575b005b6100b9600435602435600154600160a060020a039081163391909116146103a457610369565b6102ba6004356024355b606460628302046101000281900492915050565b6100b96000610628610292565b6102ba600435600160a060020a03331660009081526002602052604081206004810154821415610442576103f6565b6102ba5b606430600160a060020a031631600502045b90565b6100b9600435600054600160a060020a0390811633919091161461065557610625565b6100b9600435600054600160a060020a0390811633919091161461063357610625565b6102ba6000610151565b6100b960043560243560018210806101bc575060ff82115b806101c75750600034105b8061036f575061039a61013f565b6102ba600160a060020a033316600090815260026020526040812060048101548214156103ea576103ef565b6102ba600435600160a060020a033316600090815260026020526040812060048101548214156103fc576103f6565b6100b9600435600160a060020a03331660009081526002602052604081206004810154909114156104a557610369565b6102ba6004355b60ff81165b919050565b6102ba60043560408051828152905190819003602001902061026c565b6102ba5b600160a060020a0333166000908152600260205260408120600481015482146105a6576103ef565b60408051918252519081900360200190f35b6040805160a0810182523480825260208281018681524384860190815260608501878152600060808701818152600160a060020a0333168083526002808852928a90209851895594516001890155925190870155516003860155516004949094019390935583519182528101859052825191927ff41b7910e085d0992d604fd470931728fd77cc8eb504d99e50e51a0a30fcfd1a92918290030190a25b5050565b115b156102cc57604051600160a060020a03331690600090349082818181858883f1935050505050610369565b61036d34846100eb565b600160a060020a038216600090815260026020526040812060040154146103ca57610369565b600160a060020a0391909116600090815260026020526040902060040155565b600191505b5090565b91505b50919050565b60408051600383015485825291519081900360200190201461041d576103f6565b604080516004830154858252602082015281519081900390910190206103f390610267565b604080516003830154858252915190819003602001902014610463576103f6565b60408051600183015460048401548683526020830152825191829003909201902061048d90610267565b101561049c57600191506103f6565b600091506103f6565b6040805160038301548482529151908190036020019020146104c657610369565b6040805160018301546004840154858352602083015282519182900390920190206104f090610267565b101561056d5780546001820154600160a060020a0333169160009161051591906100eb565b6040516000818181858888f15084546001860154908252602082015260408051600160a060020a03331695507ffdc49939175858b2bb557093a7d52fa6b6f3aad917d282d61758fab4805f102a945091829003019150a25b600160a060020a033316600090815260026020819052604082208281556001810183905590810182905560038101829055600401555050565b8054600090116105b957600091506103ef565b60028101546014014310156103ea57600091506103ef565b50600160a060020a03331660008181526002602052604080822080549151909392919082818181858883f1505050908152600260208190528183556001830182905582018190556003820181905560048201555b50565b15156105d157610625565b6001805473ffffffffffffffffffffffffffffffffffffffff19168217905550565b60008054604051600160a060020a03919091169190839082818181858883f150505050505056",
        "output": "0x606060405236156100b95760e060020a600035046303750d9481146100bb57806306b5f02d146100e15780630e1da6c3146100ff5780630f06670a1461010c5780632d9a37d31461013b5780632e1a7d4d1461015457806355b775ea14610177578063839930ba1461019a5780638d216186146101a4578063a094a031146101d5578063add4c78414610201578063bd66528a14610230578063cb96012e14610260578063d8389dc514610271578063da9328561461028e575b005b6100b9600435602435600154600160a060020a039081163391909116146103a457610369565b6102ba6004356024355b606460628302046101000281900492915050565b6100b96000610628610292565b6102ba600435600160a060020a03331660009081526002602052604081206004810154821415610442576103f6565b6102ba5b606430600160a060020a031631600502045b90565b6100b9600435600054600160a060020a0390811633919091161461065557610625565b6100b9600435600054600160a060020a0390811633919091161461063357610625565b6102ba6000610151565b6100b960043560243560018210806101bc575060ff82115b806101c75750600034105b8061036f575061039a61013f565b6102ba600160a060020a033316600090815260026020526040812060048101548214156103ea576103ef565b6102ba600435600160a060020a033316600090815260026020526040812060048101548214156103fc576103f6565b6100b9600435600160a060020a03331660009081526002602052604081206004810154909114156104a557610369565b6102ba6004355b60ff81165b919050565b6102ba60043560408051828152905190819003602001902061026c565b6102ba5b600160a060020a0333166000908152600260205260408120600481015482146105a6576103ef565b60408051918252519081900360200190f35b6040805160a0810182523480825260208281018681524384860190815260608501878152600060808701818152600160a060020a0333168083526002808852928a90209851895594516001890155925190870155516003860155516004949094019390935583519182528101859052825191927ff41b7910e085d0992d604fd470931728fd77cc8eb504d99e50e51a0a30fcfd1a92918290030190a25b5050565b115b156102cc57604051600160a060020a03331690600090349082818181858883f1935050505050610369565b61036d34846100eb565b600160a060020a038216600090815260026020526040812060040154146103ca57610369565b600160a060020a0391909116600090815260026020526040902060040155565b600191505b5090565b91505b50919050565b60408051600383015485825291519081900360200190201461041d576103f6565b604080516004830154858252602082015281519081900390910190206103f390610267565b604080516003830154858252915190819003602001902014610463576103f6565b60408051600183015460048401548683526020830152825191829003909201902061048d90610267565b101561049c57600191506103f6565b600091506103f6565b6040805160038301548482529151908190036020019020146104c657610369565b6040805160018301546004840154858352602083015282519182900390920190206104f090610267565b101561056d5780546001820154600160a060020a0333169160009161051591906100eb565b6040516000818181858888f15084546001860154908252602082015260408051600160a060020a03331695507ffdc49939175858b2bb557093a7d52fa6b6f3aad917d282d61758fab4805f102a945091829003019150a25b600160a060020a033316600090815260026020819052604082208281556001810183905590810182905560038101829055600401555050565b8054600090116105b957600091506103ef565b60028101546014014310156103ea57600091506103ef565b50600160a060020a03331660008181526002602052604080822080549151909392919082818181858883f1505050908152600260208190528183556001830182905582018190556003820181905560048201555b50565b15156105d157610625565b6001805473ffffffffffffffffffffffffffffffffffffffff19168217905550565b60008054604051600160a060020a03919091169190839082818181858883f150505050505056",
        "value": "0xde0b6b3a7640000",
        "type": "CREATE"
      }
    }
  ]
}
```

#### Actual behaviour

We expect a successful transaction result, but getting an error in the traces for old blocks:
`contract creation code storage out of gas`

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "txHash": "0x0bd55bbf4dfb4e7b15bfed296be3330d5c1116b1bc399a75d3f849edc0d5ac45",
      "result": {
        "from": "0x326be8f71bfb0379f989aab1cc1fe37f0a771f60",
        "gas": "0x493e0",
        "gasUsed": "0x2ac58",
        "input": "0x60606040526000805433600160a060020a0319918216811783556001805490921617905561067c90819061003390396000f300606060405236156100b95760e060020a600035046303750d9481146100bb57806306b5f02d146100e15780630e1da6c3146100ff5780630f06670a1461010c5780632d9a37d31461013b5780632e1a7d4d1461015457806355b775ea14610177578063839930ba1461019a5780638d216186146101a4578063a094a031146101d5578063add4c78414610201578063bd66528a14610230578063cb96012e14610260578063d8389dc514610271578063da9328561461028e575b005b6100b9600435602435600154600160a060020a039081163391909116146103a457610369565b6102ba6004356024355b606460628302046101000281900492915050565b6100b96000610628610292565b6102ba600435600160a060020a03331660009081526002602052604081206004810154821415610442576103f6565b6102ba5b606430600160a060020a031631600502045b90565b6100b9600435600054600160a060020a0390811633919091161461065557610625565b6100b9600435600054600160a060020a0390811633919091161461063357610625565b6102ba6000610151565b6100b960043560243560018210806101bc575060ff82115b806101c75750600034105b8061036f575061039a61013f565b6102ba600160a060020a033316600090815260026020526040812060048101548214156103ea576103ef565b6102ba600435600160a060020a033316600090815260026020526040812060048101548214156103fc576103f6565b6100b9600435600160a060020a03331660009081526002602052604081206004810154909114156104a557610369565b6102ba6004355b60ff81165b919050565b6102ba60043560408051828152905190819003602001902061026c565b6102ba5b600160a060020a0333166000908152600260205260408120600481015482146105a6576103ef565b60408051918252519081900360200190f35b6040805160a0810182523480825260208281018681524384860190815260608501878152600060808701818152600160a060020a0333168083526002808852928a90209851895594516001890155925190870155516003860155516004949094019390935583519182528101859052825191927ff41b7910e085d0992d604fd470931728fd77cc8eb504d99e50e51a0a30fcfd1a92918290030190a25b5050565b115b156102cc57604051600160a060020a03331690600090349082818181858883f1935050505050610369565b61036d34846100eb565b600160a060020a038216600090815260026020526040812060040154146103ca57610369565b600160a060020a0391909116600090815260026020526040902060040155565b600191505b5090565b91505b50919050565b60408051600383015485825291519081900360200190201461041d576103f6565b604080516004830154858252602082015281519081900390910190206103f390610267565b604080516003830154858252915190819003602001902014610463576103f6565b60408051600183015460048401548683526020830152825191829003909201902061048d90610267565b101561049c57600191506103f6565b600091506103f6565b6040805160038301548482529151908190036020019020146104c657610369565b6040805160018301546004840154858352602083015282519182900390920190206104f090610267565b101561056d5780546001820154600160a060020a0333169160009161051591906100eb565b6040516000818181858888f15084546001860154908252602082015260408051600160a060020a03331695507ffdc49939175858b2bb557093a7d52fa6b6f3aad917d282d61758fab4805f102a945091829003019150a25b600160a060020a033316600090815260026020819052604082208281556001810183905590810182905560038101829055600401555050565b8054600090116105b957600091506103ef565b60028101546014014310156103ea57600091506103ef565b50600160a060020a03331660008181526002602052604080822080549151909392919082818181858883f1505050908152600260208190528183556001830182905582018190556003820181905560048201555b50565b15156105d157610625565b6001805473ffffffffffffffffffffffffffffffffffffffff19168217905550565b60008054604051600160a060020a03919091169190839082818181858883f150505050505056",
        "error": "contract creation code storage out of gas",
        "value": "0xde0b6b3a7640000",
        "type": "CREATE"
      }
    }
  ]
}
```

#### Steps to reproduce the behaviour

```
curl http://127.0.0.1:8545/ \
  -H "Content-Type: application/json" \
  --data '{"method":"debug_traceBlockByNumber","params":["0x11ba5", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}' | jq
```

It also happens when tracing transactions:

```
curl http://127.0.0.1:8545/ \
    -H "Content-Type: application/json" \
    --data '{"method":"debug_traceTransaction","params":["0x967def72c4d687b4bf07dec6aeafd764b6f29a659cb655c82afdbe8cb0e2bcdb", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}' | jq
```

And others transactions like:
* `0x427ea3fd3e0123284acc734f11fa17b13de070553993d26b0eec3331be26ff9b`
* `0xaff43d4d212ac145e11ff29ad4c071e9f19af0f6f88c43fd10b896fba72df014`
* `0x0f4353e7cfd2d2afd9cc456609f34f76ad58142ecf1957124c4f28592168379a`


Discussion / hints:
Looking at the first tx for which you posted logs: it is a create tx and it supposedly goes out of gas when storing the runtime code. However the strange thing is the code for that contract ('0xD8253352f6044cFE55bcC0748C3FA37b7dF81F98') is actually empty. So the code storage gas should be 0.
I feel like that error actually is happening. If we check the parity trace on etherscan it shows the bytecode for the contract to be created. That code has a length of 1660 bytes. 1660 * 200 (per-byte contract storage cost) = 332,000 which is more than even the whole tx's gas limit. This means the code is not stored. That's why if you query a node right now it shows the code as empty.

The only snag here is this: before homestead hardfork this error didn't cause the tx to revert. Hence we don't see an error on etherscan. I guess we can clear this error on the call tracer if block is before homestead.

@qk-santi just to confirm: the expected result you posted was manually written by you or that's how geth behaved in a previous version?

Fix patch:
diff --git a/eth/tracers/native/call.go b/eth/tracers/native/call.go
index 3b6350658038..2b84ecaf4057 100644
--- a/eth/tracers/native/call.go
+++ b/eth/tracers/native/call.go
@@ -74,6 +74,11 @@ func (f callFrame) failed() bool {
 
 func (f *callFrame) processOutput(output []byte, err error, reverted bool) {
 	output = common.CopyBytes(output)
+	// Clear error if tx wasn't reverted. This happened
+	// for pre-homestead contract storage OOG.
+	if err != nil && !reverted {
+		err = nil
+	}
 	if err == nil {
 		f.Output = output
 		return


Test patch:
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/frontier_create_outofstorage.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/frontier_create_outofstorage.json
index c46fe080f7f2..a9092bbcf02a 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/frontier_create_outofstorage.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/frontier_create_outofstorage.json
@@ -80,8 +80,9 @@
     "from": "0x0047a8033cc6d6ca2ed5044674fd421f44884de8",
     "gas": "0x1b7740",
     "gasUsed": "0x9274f",
+    "to": "0xc24431c1a1147456414355b1f1769de450e524da",
     "input": "0x606060405260018054600160a060020a0319163317905561036f600360609081527f55524c0000000000000000000000000000000000000000000000000000000000608052610120604052604c60a09081527f6a736f6e2868747470733a2f2f6170692e6b72616b656e2e636f6d2f302f707560c0527f626c69632f5469636b65723f706169723d455448584254292e726573756c742e60e0527f58455448585842542e632e3000000000000000000000000000000000000000006101005261037d919062030d417f38cc483100000000000000000000000000000000000000000000000000000000610120908152600090731d11e5eae3112dbd44f99266872ff1d07c77dce89081906338cc4831906101249060209060048188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166338592832600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc8887604051837c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156102255780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f11561000257505060405180517f385928320000000000000000000000000000000000000000000000000000000082526004828101888152606484018a90526080602485018181528d5160848701528d519496508a958e958e958e9594604484019360a40192909181908490829085908e906020601f850104600302600f01f150905090810190601f1680156102e65780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561033f5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038185886185025a03f11561000257505060405151979650505050505050565b611af2806103806000396000f35b5056606060405236156100985760e060020a6000350463056e1059811461009a57806327dc297e14610391578063346b306a146103e257806341c0e1b51461075e578063489306eb146107855780635731f35714610a5e57806365a4dfb314610de05780637975c56e14611179578063a2e6204514611458578063ae152cf414611528578063b77644751461181b578063d594877014611876575b005b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750949650509335935050505060006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166338592832600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc88876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561025e5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f1156100025750505060405180519060200150888888886040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103085780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103615780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038185886185025a03f115610002575050604051519350610dd892505050565b60408051602060248035600481810135601f81018590048502860185019096528585526100989581359591946044949293909201918190840183828082843750949650505050505050611a2761187a565b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f8101839004830284018301909452838352979998604498929750919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166377228659600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889886040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f115610002575050506040518051906020015060008888886040518660e060020a028152600401808581526020018060200180602001806020018481038452878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106795780820380516001836020036101000a031916815260200191505b508481038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106d25780820380516001836020036101000a031916815260200191505b508481038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561072b5780820380516001836020036101000a031916815260200191505b5097505050505050505060206040518083038185886185025a03f1156100025750506040515193505050505b9392505050565b610098600154600160a060020a03908116339091161415611a255733600160a060020a0316ff5b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f8101839004830284018301909452838352979998604498929750919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663adf59f99600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889876040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109345780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150600087876040518560e060020a0281526004018084815260200180602001806020018381038352858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109d75780820380516001836020036101000a031916815260200191505b508381038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610a305780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038185886185025a03f115610002575050604051519695505050505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976084979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166377228659600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889886040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610c535780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150888888886040518660e060020a028152600401808581526020018060200180602001806020018481038452878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610cfa5780820380516001836020036101000a031916815260200191505b508481038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610d535780820380516001836020036101000a031916815260200191505b508481038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610dac5780820380516001836020036101000a031916815260200191505b5097505050505050505060206040518083038185886185025a03f1156100025750506040515193505050505b949350505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976084979196506024919091019450909250829150840183828082843750949650509335935050505060006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663fbf80418600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc89876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610fe45780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f115610002575050506040518051906020015089898989896040518760e060020a028152600401808681526020018060200180602001806020018581526020018481038452888181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156110935780820380516001836020036101000a031916815260200191505b508481038352878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156110ec5780820380516001836020036101000a031916815260200191505b508481038252868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156111455780820380516001836020036101000a031916815260200191505b509850505050505050505060206040518083038185886185025a03f115610002575050604051519998505050505050505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663adf59f99600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889876040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561132e5780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f11561000257505050604051805190602001508787876040518560e060020a0281526004018084815260200180602001806020018381038352858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156113d05780820380516001836020036101000a031916815260200191505b508381038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156114295780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038185886185025a03f11561000257505060405151935061075792505050565b6100985b611aef604060405190810160405280600381526020017f55524c0000000000000000000000000000000000000000000000000000000000815260200150608060405190810160405280604c81526020017f6a736f6e2868747470733a2f2f6170692e6b72616b656e2e636f6d2f302f707581526020017f626c69632f5469636b65723f706169723d455448584254292e726573756c742e81526020017f58455448585842542e632e30000000000000000000000000000000000000000081526020015062030d416115ae565b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f810183900483028401830190945283835297999860449892975091909101945090925082915084018382808284375094965050933593505050505b60006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166338592832600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc88876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156116e75780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f115610002575050506040518051906020015060008888886040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156117925780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156117eb5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038185886185025a03f11561000257505060405151935061075792505050565b6040805160028054602060018216156101000260001901909116829004601f81018290048202840182019094528383526119679390830182828015611a1d5780601f106119f257610100808354040283529160200191611a1d565b6119d55b60006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080518051855473ffffffffffffffffffffffffffffffffffffffff1916178086557f4c7737950000000000000000000000000000000000000000000000000000000082529151600160a060020a03929092169250634c773795916004828101926020929190829003018188876161da5a03f115610002575050604051519250505090565b60408051918252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156119c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051600160a060020a03929092168252519081900360200190f35b820191906000526020600020905b815481529060010190602001808311611a0057829003601f168201915b505050505081565b565b600160a060020a031633600160a060020a0316141515611a4657610002565b8060026000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611aad57805160ff19168380011785555b50611add9291505b80821115611ae75760008155600101611a99565b82800160010185558215611a91579182015b82811115611a91578251826000505591602001919060010190611abf565b5050611aeb61145c565b5090565b5050565b5056",
-    "error": "contract creation code storage out of gas",
+    "output": "0x606060405236156100985760e060020a6000350463056e1059811461009a57806327dc297e14610391578063346b306a146103e257806341c0e1b51461075e578063489306eb146107855780635731f35714610a5e57806365a4dfb314610de05780637975c56e14611179578063a2e6204514611458578063ae152cf414611528578063b77644751461181b578063d594877014611876575b005b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750949650509335935050505060006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166338592832600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc88876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561025e5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f1156100025750505060405180519060200150888888886040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103085780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103615780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038185886185025a03f115610002575050604051519350610dd892505050565b60408051602060248035600481810135601f81018590048502860185019096528585526100989581359591946044949293909201918190840183828082843750949650505050505050611a2761187a565b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f8101839004830284018301909452838352979998604498929750919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166377228659600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889886040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f115610002575050506040518051906020015060008888886040518660e060020a028152600401808581526020018060200180602001806020018481038452878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106795780820380516001836020036101000a031916815260200191505b508481038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106d25780820380516001836020036101000a031916815260200191505b508481038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561072b5780820380516001836020036101000a031916815260200191505b5097505050505050505060206040518083038185886185025a03f1156100025750506040515193505050505b9392505050565b610098600154600160a060020a03908116339091161415611a255733600160a060020a0316ff5b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f8101839004830284018301909452838352979998604498929750919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663adf59f99600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889876040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109345780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150600087876040518560e060020a0281526004018084815260200180602001806020018381038352858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109d75780820380516001836020036101000a031916815260200191505b508381038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610a305780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038185886185025a03f115610002575050604051519695505050505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976084979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166377228659600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889886040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610c535780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150888888886040518660e060020a028152600401808581526020018060200180602001806020018481038452878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610cfa5780820380516001836020036101000a031916815260200191505b508481038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610d535780820380516001836020036101000a031916815260200191505b508481038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610dac5780820380516001836020036101000a031916815260200191505b5097505050505050505060206040518083038185886185025a03f1156100025750506040515193505050505b949350505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976084979196506024919091019450909250829150840183828082843750949650509335935050505060006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663fbf80418600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc89876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610fe45780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f115610002575050506040518051906020015089898989896040518760e060020a028152600401808681526020018060200180602001806020018581526020018481038452888181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156110935780820380516001836020036101000a031916815260200191505b508481038352878181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156110ec5780820380516001836020036101000a031916815260200191505b508481038252868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156111455780820380516001836020036101000a031916815260200191505b509850505050505050505060206040518083038185886185025a03f115610002575050604051519998505050505050505050565b60408051602060248035600481810135601f81018590048502860185019096528585526119559581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a019093528282529698976064979196506024919091019450909250829150840183828082843750506040805160e060020a6338cc48310281529051959760009750731d11e5eae3112dbd44f99266872ff1d07c77dce8968796506338cc4831955082820194506020935091829003018188876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a031663adf59f99600060009054906101000a9004600160a060020a0316600160a060020a031663524f3889876040518260e060020a02815260040180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f16801561132e5780820380516001836020036101000a031916815260200191505b50925050506020604051808303816000876161da5a03f11561000257505050604051805190602001508787876040518560e060020a0281526004018084815260200180602001806020018381038352858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156113d05780820380516001836020036101000a031916815260200191505b508381038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156114295780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038185886185025a03f11561000257505060405151935061075792505050565b6100985b611aef604060405190810160405280600381526020017f55524c0000000000000000000000000000000000000000000000000000000000815260200150608060405190810160405280604c81526020017f6a736f6e2868747470733a2f2f6170692e6b72616b656e2e636f6d2f302f707581526020017f626c69632f5469636b65723f706169723d455448584254292e726573756c742e81526020017f58455448585842542e632e30000000000000000000000000000000000000000081526020015062030d416115ae565b6040805160206004803580820135601f8101849004840285018401909552848452611955949193602493909291840191908190840183828082843750506040805160208835808b0135601f810183900483028401830190945283835297999860449892975091909101945090925082915084018382808284375094965050933593505050505b60006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060006101000a815481600160a060020a0302191690830217905550600060009054906101000a9004600160a060020a0316600160a060020a03166338592832600060009054906101000a9004600160a060020a0316600160a060020a0316632ef3accc88876040518360e060020a02815260040180806020018381526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156116e75780820380516001836020036101000a031916815260200191505b5093505050506020604051808303816000876161da5a03f115610002575050506040518051906020015060008888886040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156117925780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156117eb5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038185886185025a03f11561000257505060405151935061075792505050565b6040805160028054602060018216156101000260001901909116829004601f81018290048202840182019094528383526119679390830182828015611a1d5780601f106119f257610100808354040283529160200191611a1d565b6119d55b60006000731d11e5eae3112dbd44f99266872ff1d07c77dce8905080600160a060020a03166338cc48316040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080518051855473ffffffffffffffffffffffffffffffffffffffff1916178086557f4c7737950000000000000000000000000000000000000000000000000000000082529151600160a060020a03929092169250634c773795916004828101926020929190829003018188876161da5a03f115610002575050604051519250505090565b60408051918252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156119c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051600160a060020a03929092168252519081900360200190f35b820191906000526020600020905b815481529060010190602001808311611a0057829003601f168201915b505050505081565b565b600160a060020a031633600160a060020a0316141515611a4657610002565b8060026000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611aad57805160ff19168380011785555b50611add9291505b80821115611ae75760008155600101611a99565b82800160010185558215611a91579182015b82811115611a91578251826000505591602001919060010190611abf565b5050611aeb61145c565b5090565b5050565b5056",
     "calls": [
       {
         "from": "0xc24431c1a1147456414355b1f1769de450e524da",