-
Notifications
You must be signed in to change notification settings - Fork 73
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
fix(patterns): type guards #1715
Conversation
31573ef
to
a0170df
Compare
a0170df
to
505f81f
Compare
@michaelfig , making you a reviewer because I'm staging my interface-opt-out experiment on this. Let me know if you see a problem with that. I so, I can remove the dependency, but I'd rather not. |
Note that I'd prefer to stage on #1712 if that were feasible. But I'm scared of the compat break. Eager for your feedback on that too. |
@turadg Making you a reviewer as I know you've done previous work typing guards. I don't know how that relates to the contents of this PR. What should I look at? |
I believe the breaking change in #1712 won't impact any deployed code. IIUC, that's the change of guards from copyRecords to tagged payloads. I can't think of any instance where we put guards in object state or Stores in general, or send them over the network. If that seems correct to you, I'd encourage you to make the change and stage on #1712. I had just one review comment on #1712, and would be happy to approve after you consider that question. |
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.
Approval based on your addressing my comments.
AFAICT, you're correct re durable state and network messages. However, #1712 seems incompat with some of the code in current agoric-sdk. For example: |
505f81f
to
c2cd034
Compare
Subset of #1712 that does not break compat.
Typing and validation for
InterfaceGuard
s,MethodGuard
s, andAwaitArgGuard
s.