-
Notifications
You must be signed in to change notification settings - Fork 208
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
feat: durability for governance #8157
base: master
Are you sure you want to change the base?
Conversation
e7c8050
to
1d5a5d9
Compare
e6889e4
to
1781a02
Compare
getVisibleValue: M.call(M.any()).returns(M.any()), | ||
prepareToUpdate: M.call(M.any()).returns(M.any()), | ||
update: M.call(M.any()).returns(M.recordOf(KeywordShape, M.any())), | ||
getGetterElement: M.call().returns([M.string(), M.any()]), |
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.
The M.any()
in the return value is a Function. Is there a type for that?
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.
not presently: https://github.com/endojs/endo/blob/master/packages/patterns/src/patterns/patternMatchers.js#L1572
I don't know whether it's possible
@@ -399,6 +399,12 @@ export const start = async (zcf, privateArgs, baggage) => { | |||
); | |||
}, | |||
...publicMixin, | |||
getPublicTopics() { |
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.
I could return another helper from handleParamGovernance
that would build getPublicTopics()
from something provided by the caller, so getPublicTopics()
could just be included in publicMixin
. Would that be better?
8908203
to
e84855a
Compare
const [preparedAmount] = await Promise.all([ | ||
E(E(zoe).getInvitationIssuer()).getAmountOf(invite), | ||
]); | ||
assertInvitation(invite); |
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.
that's an async function so much be awaited to throw upon failure. I think this is a bug in master too.
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.
fixed
@turadg This is my current state. There are a small number (8ish?) of lint errors to be cleaned up. All tests in Zoe, governance, and inter-protocol are passing. Other than checking on what other tests are broken in CI, my next step is working on deployment/docker tests. I haven't done a thorough pass ensuring I cleaned up all the refactorings, but the code is doing the right thing currently, AFAICT. |
8f9233f
to
b666c7c
Compare
const [preparedAmount] = await Promise.all([ | ||
E(E(zoe).getInvitationIssuer()).getAmountOf(invite), | ||
]); | ||
assertInvitation(invite); |
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.
fixed
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.
It's gone!
All existing tests in governance, zoe, boot, and inter-protocol pass. deployment tests are next
e34c4cd
to
ea0c9d6
Compare
Not done yet
closes: #8123
refs: #8125
refs: #4340
closes: #5200
closes: #7118
closes: #6138
Description
Make Governance durable, and support upgrade of contracts
Security Considerations
Maintain all governance guarantees
Scaling Considerations
N/A
Documentation Considerations
This probably deserves some new documentation.
Testing Considerations
Tests should show upgrade of a contract
Upgrade Considerations
Yep, that's what it's for.