-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to slotting conversions / TimeInterpreter #1943
Commits on Jul 28, 2020
-
Use MVar instead of TVar (Maybe ) to store TimeInterpreter
On launch, the TimeInterpreter may not have been fetched from the node. Instead returning the singleEraInterpreter for the first era, it seems safer to block until fetched. I imagine there could be race conditions where we would sometimes return completely wrong time data when in Shelley, just after starting the node. Not completely sure, but I hope there shouldn't be any drawbacks with blocking.
Configuration menu - View commit details
-
Copy full SHA for 42dc9fc - Browse repository at this point
Copy the full SHA 42dc9fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for c1e8b17 - Browse repository at this point
Copy the full SHA c1e8b17View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4a754e - Browse repository at this point
Copy the full SHA e4a754eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5794e7 - Browse repository at this point
Copy the full SHA c5794e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e9ed4e - Browse repository at this point
Copy the full SHA 3e9ed4eView commit details -
Make network_tip and next_epoch optional
If the node is not enough in-sync, we cannot know them.
Configuration menu - View commit details
-
Copy full SHA for 8845de8 - Browse repository at this point
Copy the full SHA 8845de8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b30a596 - Browse repository at this point
Copy the full SHA b30a596View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d0bd90 - Browse repository at this point
Copy the full SHA 5d0bd90View commit details -
*If* the time of the tip ever fails, don't crash
But rather respond with NotResponding.
Configuration menu - View commit details
-
Copy full SHA for fd3af1c - Browse repository at this point
Copy the full SHA fd3af1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8954723 - Browse repository at this point
Copy the full SHA 8954723View commit details -
Add regression test for syncProgress overflow
It fails without the recent fix
Configuration menu - View commit details
-
Copy full SHA for 39c4106 - Browse repository at this point
Copy the full SHA 39c4106View commit details -
remove 'unsafeRunExceptT' calls on the time interpreter
Instead, we do not push the exception down to every caller but rather, throw it as an exception in the network layer. The rationale is that, this exception can only occur when both conditions are met: a) The node is still syncing and doesn't yet know about any hard-fork. b) A time beyond the node's foreseeable future is queried. While syncing in Byron these two conditions can't be met (times referenced in blocks are neccessarily before the node's tip and can't be beyond its foreseeable future. There's the case of delegation certificates and or transaction TTL but these only exists in Shelley, where the foreseeable future is so far, unlimited. Yet, there are points in the API where a time that is far beyond the node's tip can be provided and that is: - As filtering parameter when listing transactions. - As current time when looking at network parameters.
Configuration menu - View commit details
-
Copy full SHA for 9405535 - Browse repository at this point
Copy the full SHA 9405535View commit details -
Configuration menu - View commit details
-
Copy full SHA for c46082b - Browse repository at this point
Copy the full SHA c46082bView commit details