-
Notifications
You must be signed in to change notification settings - Fork 221
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
5894 durable smartwallet #6871
5894 durable smartwallet #6871
Conversation
1692979
to
f50c65a
Compare
42c9f2d
to
bee26f9
Compare
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.
One question about defineDurableExoClassKit
vs. prepareExoClassKit
.
LGTM
8d0d2b0
to
d072f7f
Compare
45ada35
to
6977f73
Compare
|
||
/** @type {PublishKit<UpdateRecord>} */ | ||
const updatePublishKit = makeWalletPublishKit(); | ||
// NB: state size must not grow monotonically |
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'm not sure what "must not grow monotically" means. (I realize you moved it.) Do you think it's trying to say that it "must grow sub-linearly"?
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 wrote the moved string. I mean it must not continue to grow; it must also drop information that's no longer useful.
If you propose a better way to say that I can drop it into another PR
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.
"state size must not grow without bound" or "state must be limited in size". Not sure which you mean.
"must not grow monotonically" sounds to me like it can reach whatever size it wants, as long as it occasionally pares things back somewhat.
closes: #5894
Description
Makes the
walletFactory
contract durable. Upgrade deferred to #6878In support, it moves some /inter-protocol helpers down to /zoe and adds a new
provideStoredSubscriber
. The latter will be replaced soon by TopicMeta tools (à la #6888 ) so this provider is designed to been drop-in replaced.It also has a drive-by fix:
makeEphemeraProvider
had a strong map for its ephemerasIn this PR I had also included d072f7f, in the spirit of POLA, but it complicated diagnostic logging so I backed it out. Looking for feedback on whether it's worth doing (and if so I'll do in a separate PR.) @dckc may have thoughts on the ocap discipline.
Security Considerations
No new assumptions. Improves POLA.
Scaling Considerations
Small additional RAM for the StoredSubscriber provider.
Documentation Considerations
--
Testing Considerations
CI and agops-oracle-smoketest.