-
Notifications
You must be signed in to change notification settings - Fork 266
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
[Tracking Issue] Identify and throw errors for currently-unsupported (but planned) features. #1601
Comments
After discussing with @spalladino, I don't think this is an issue that a user could experience today because while the kernel is not strict on private state ordering, the simulator is. The simulator will never let you get or nullify a note that does not exist yet. |
I think the same is true for the simulator in public (the simulator is as strict as it needs to be), but the problem is that the public kernel does have constraints to ensure public state updates make sense in-sequence. Since the public kernel doesn't always execute things in execution order, it may think that it is enforcing proper ordering of public state updates, but what it is actually doing is rejecting a perfectly valid sequence of public state updates. So, could we just temporarily remove the public kernel constraints that ensure a series of public state updates make sense in sequence? Maybe, but it is also the job of the final public kernel to turn the "final" state value that should be injected in the public data tree. That value must still be correct. |
Closing, as all but one complete, and we can just track that one issue. |
* Modify dev and test rpc urls (#1600) * Modify dev and test rpc urls * Fixed typo * Fixed typo * kebab custom request method (#1601) * revert json_rpc_provider changes * simply forward eth node requests with fetch * Updated dns entries for dev and testnet mainnet forks (#1603) Co-authored-by: spypsy <[email protected]>
There are many features we would like to add, and there are many problems that we're aware of. Not all of these features can be built, nor problems resolved, before a first release.
Nevertheless, we can strive to identify unsupported features, and let the user know that they're attempting to do something which is currently unsupported, but planned. I.e. we should add code which identifies known pitfalls and gives the user a human-readable and contextual error, instead of some opaque, technical error.
This tracking issue can be an ever-growing list of such unsupported features. Each item in the list should be an issue which seeks to programmatically identify unsupported patterns, and throw an informative error in such cases.
For each case, we should assess whether the time & effort needed to identify and throw an error is more or less time than implementing the feature properly.
Document limitations
Add informative error messages
Tests to replicate bugs/limitations
Working around these bugs
public_call_stack
with simulator's output #1624The text was updated successfully, but these errors were encountered: