-
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
smart wallet may drop offer notification (e.g. bids) on upgrade #8286
Comments
false alarm: the seat is kept, giving the user the ability to exit. They might not be notified promptly of winning an auction after zoe is upgraded, though. https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/smartWallet.js#L503 |
@erights @Chris-Hibbert how should a zoe client handle a broken promise from |
See how @gibson042 handles such retries in notifier/subscriber to avoid infinite loops. @gibson042 what's the best thing to look at first? Of all the outstanding remote promises, the promises for payouts is the most important severing to recover from. Fortunately, you can just ask the seat again for the payouts, given that we can adapt @gibson042 's retry techniques to this case. |
|
Yes, that's exactly what I had in mind. Thanks! |
ah... So we take the other end's word for it regarding |
Fixed by #8445. |
Describe the bug
While investigating #8245, we found outstanding offers waiting for payouts. If Zoe is upgraded, the promise for the payouts will reject. The smartWallet code keeps its reference to the relevant seat, so the user can exit the offer. But it's not clear that they'll be notified promptly if the contract pays out.
Similarly, if the walletFactory is upgraded, the code processing the offer will not resume automatically.
To Reproduce
The bug is hypothesized; it has not yet been observed
Expected behavior
Notifications of winning bids should still work after upgrading zoe.
Long-standing offers such as liquidation bids should survive upgrade of zoe.Platform Environment
git describe --tags --always
)mainnet1B
follower node
Additional context
The promise @warner and I looked at in particular is:
The suspect code is:
https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/offers.js#L142-L152
https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/zoe/src/zoeService/zoeSeat.js#L318-L325
The text was updated successfully, but these errors were encountered: