-
Notifications
You must be signed in to change notification settings - Fork 56
Upgrade solidity v0.8.11 #38
base: master
Are you sure you want to change the base?
Conversation
contracts/source/BlockVerifier.sol
Outdated
| @@ -1,4 +1,4 @@ | |||
| pragma solidity 0.6.8; | |||
| pragma solidity >=0.8.0; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explicit versions should be used to prevent unexpected/untested problems occurring. This does cause some difficulty when using libraries, but I think in this case (since money is almost always involved) safety trumps usability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thoughts on tilde for this @MicahZoltu? Currently assessing this one for our use-case and I can imagine ~0.8 would likely keep it bounded enough to avoid most of the risk while not forcing a hard version fix.
| function price1CumulativeLast() external view returns (uint256); | ||
|
|
||
| function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast); | ||
| function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the other files use tab to indent. The proper fix here would be to fix this file to be consistent with the rest of the repository. Not your fault though, so I'll accept this change as-is since it at least makes this file internally consistent.
Co-authored-by: Micah Zoltu <micah@zoltu.net>
|
this is the output from the tests |
…racle into upgrade_solidity_v0811
Co-authored-by: Micah Zoltu <micah@zoltu.net>
|
For troubleshooting the tests, the "Suite error" is the one that actually matters here (I don't know why it shows up last, and I have a bug filed with Jasmine about not running tests if the When I dug into this, it appears that Nethermind (at least) is minting a block when the transaction arrives, but the transaction isn't included in the minted block. This suggests to me that something about the transaction makes it unincludable, but I can't figure out what. Maybe it is the nonce? Gas limit? Gas price? Account balance? This is on a brand new private chain (when using docker-compose), so maybe the gas limit is starting too low or I'm signing with an account with no money? I also briefly tested against Geth (just change the JSON-RPC port in the tests to 1235 instead of 1237) and received some errors (though different ones). IIRC, Nethermind used to be the most reliable. It is possible that someone (likely me) updated the docker images this test setup is using and I was young and stupid when I wrote this and didn't hard-code a docker image hash. One option may be to just try using older versions of those docker images (if you can find them) until you get one that works. 🤔 more on this, this is the most likely issue given the symptoms. The other option would be to upgrade the docker images to latest and then troubleshoot the problem from there. This will be necessary to also solve #33, which will be required to get the SDK working against London and newer. I don't have time to troubleshoot this myself at the moment, but I'm happy to lend insight and talk anyone through troubleshooting steps and provide feedback on what I think are the best avenues to explore. |
…racle into upgrade_solidity_v0811
No description provided.