-
Notifications
You must be signed in to change notification settings - Fork 214
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
convert makeBridgeProvisionTool
from a Far
to an Exo
#10425
Comments
I would really like to see a sequence diagram of inter-vat messages for the provisioning process. I suspect we may be constrained by... Any chance somebody would run an agd tx swingset provision-one in an a3p context where a slogfile is being collected, extract the relevant interval, and drop it in https://causeway.agoric.net/ ? |
In Description of the Design I see some code; where would that code go? |
It replaces this:
|
I could drop the slogfile to https://causeway.agoric.net/ but I'll need help understanding how will we constrained by #8849. Maybe we could go over it tomorrow in the office hours? |
The provisioning bridge handler was created, using Meanwhile, I suspect that the bootstrap vat imported this bridge handler, and bootstrap is not currently smart enough to recover from a broken reference to a bridge handler. Let's consider upgrading bootstrap to handle it. Problem: the bootstrap vat likewise exports a few other |
Thanks for the explanation! What I really wanted to understand how will a vat-to-vat communication sequence diagram will help to determine why we cannot upgrade bootstrap? And I understand that it will help us understand what references are exported by bootstrap that are not durable and who holds on to them. However, the main thing I wanted to draw your attention is that even if we make the handler created by |
As I trace it through, I see that
I think we'd need to get the The reaason for all of this is that the bootstrap vat is holding onto several ephemeral objects, and I think this is one of them. If we can replace it with a persistent object, we'd reduce the count by ond and be closer to being able to upgrade the bootstrap vat. |
I thought the end goal was to make |
What we're concerned about is what objects are being retained in the bootstrap vat. If you see other places the |
Here's a screenshot of the sequence diagram generated after doing Seems like only vat that talks to
|
Thanks! SVG works particularly nicely in github gists: |
I'm not sure what I should be look at. I see messages going back and forth, but I'm not sure how I would tell if the ephemeral object is retained or dropped. Do you see something in this transcript that helps you understand? |
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: 10564
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: 10564 fix: remove unnecessary comment
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests fix: rebase fixes
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests fix: rebase fixes fix: yarn.lock fix
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests fix: rebase fixes fix: yarn.lock fix fix: bring back missing upgrade-paRegistry proposal
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests fix: rebase fixes fix: yarn.lock fix fix: bring back missing upgrade-paRegistry proposal
Make sure the handler returned from E(creatorFacet).makeHandler() is durable and provisionPool is upgradable multiple times. Refs: #10425 Refs: #10564 fix: remove unnecessary comment chore: get rid of ephemera, address change requests Refs: #10395 Refs: #10425 fix: drop trace chore: address change requests fix: rebase fixes fix: yarn.lock fix fix: bring back missing upgrade-paRegistry proposal
What is the Problem Being Solved?
#10419 (comment) talks about converting the maker function of the bridge handler created in
provisionPoolKit.js
from aFar
object to anExo
object t make it durable. This is needed because #8849 showsmakeBridgeProvisionTool
returning aFar
(along with other objects) prevents the bootstrap vat from upgrading.Description of the Design
Open Question: Are we sure
handler
is assigned toprovisionWalletBridgeManager
?agoric-sdk/packages/vats/src/core/chain-behaviors.js
Lines 152 to 186 in 4b1403a
In the snippet above the
handler
seems to be assigned to aFar
assumingprovisioning
is notundefined
.makeProvisioner
looks like it is assigningprovisioning
tovat-provisioning
.agoric-sdk/packages/vats/src/core/chain-behaviors.js
Lines 116 to 125 in 4b1403a
My concern is that even if we make
makeBridgeProvisionTool
anExo
, I am not so sure it will help us make thehandler
vat-bootstrap holding on durable. Could you please help me understand this? @Chris-Hibbert @dckcSecurity Considerations
Scaling Considerations
Test Plan
Need to make sure both auto-provisioning and
agd tx swingset provision-one
works ina3p
.Upgrade Considerations
The text was updated successfully, but these errors were encountered: