ethereum-studio
ethereum-studio copied to clipboard
Contract gets deployed without any constructor arguments
Environment/Browser
Latest master
Description
Existing and already compiled contract gets deployed without constructor arguments at times.
Steps to reproduce
From Hello World project:
- Compile
- Deploy
- Check Preview window reads:
Message: Hello World!
Block number: 1
- Reload the page
- Deploy
- Check Preview window reads:
Message:
Block number: 1
Expected result
Constructor arguments are expected to be part of deployment.
Actual result
Missing constructor arguments.
Reproducible
Inconsistent.
Observed output
Report 1:
When it deploys without arguments I get no errors and I can later interact with the contract.
In that case, Deploy returns Done:
Transaction mined, verifying code...
Contract deployed at address 0xa9e73bb65b54c445081dae9d67f08ccbcce8bcb7.
Done.
Report 2:
The deployer waits for the contract to have been deployed but times out because the getCode is never returning anything.
Initial inspection:
The second error the deployer keeps trying getCode but only getting back 0x, until it times out.
Tracing the tx it looks like it's the same each time, for success or failure and it looks like the args are in that code.
Took the tx.data field, ran a successful deployment, compared to tx.data field and they are the same. They both match the .deploy file. Which matches the .bin file but with the extra data at the end
Will need to inspect all the field in both a successful and unsuccessful tx deployment
This is a very hard to replicate problem.
However, what I have seen so far is that a successful deployment and an unsuccessful deployment have the exact same raw transaction data.
I put this log in the file deployRunner.ts:115
before return tx;
:
console.log('serialize', tx.serialize().toString('hex'));
For both successful and unsucessful deployments the same code comes out:
f9053180843b9aca0083788b608080b904df608060405234801561001057600080fd5b5060405161047f38038061047f8339818101604052602081101561003357600080fd5b81019080805164010000000081111561004b57600080fd5b8281019050602081018481111561006157600080fd5b815185600182028301116401000000008211171561007e57600080fd5b5050929190505050806000908051906020019061009c9291906100a3565b5050610148565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e457805160ff1916838001178555610112565b82800160010185558215610112579182015b828111156101115782518255916020019190600101906100f6565b5b50905061011f9190610123565b5090565b61014591905b80821115610141576000816000905550600101610129565b5090565b90565b610328806101576000396000f3fe608060405234801561001057600080fd5b5060043610610053576000357c0100000000000000000000000000000000000000000000000000000000900480633d7403a314610058578063e21f37ce14610113575b600080fd5b6101116004803603602081101561006e57600080fd5b810190808035906020019064010000000081111561008b57600080fd5b82018360208201111561009d57600080fd5b803590602001918460018302840111640100000000831117156100bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610196565b005b61011b6101b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015b578082015181840152602081019050610140565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b80600090805190602001906101ac92919061024e565b5050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102465780601f1061021b57610100808354040283529160200191610246565b820191906000526020600020905b81548152906001019060200180831161022957829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061028f57805160ff19168380011785556102bd565b828001600101855582156102bd579182015b828111156102bc5782518255916020019190600101906102a1565b5b5090506102ca91906102ce565b5090565b6102f091905b808211156102ec5760008160009055506001016102d4565b5090565b9056fea265627a7a72305820264122639e6d7059d09bb528042771af677bcc80a4467cfec6aca4ed038b350d64736f6c634300050a00320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c48656c6c6f20576f726c642100000000000000000000000000000000000000001ba0af7a558405181bc0a3000475657515b5c9b97e1ec7888e105eef1f261d16fb39a009a78261d3282662eb5fd893fc1d8dcd05cd2e9ff2c7e2c04e6d021702555279
Does not only happen on the first deployment. Reproducible by deleting the build folder and deploying a few times, with the preview window open.