smartWallet exits offers (e.g. bids) on zoe upgrade #8292
Closed
Description
Describe the bug
from the #8245 investigation with @warner:
when v9-zoe is upgraded, the wallet's executeOffer()
code will observe the E(seatRef).numWantsSatisfied()
promise get rejected/disconnected, which will reject the tryBody()
promise, which will trigger the payment-recovery sequence and an E(seatRef).tryExit()
, even though zoe's objects are still valid. Consequence: the offer is abandoned and refunded when that wasn't really necessary.
Design / Plan
- capture the bug in a test
- diagnose
- fix on master, with durability
- fix on 8445 add promiseWatcher to smartWallet #8488 branch
- port fix to release branch (Rebase smartWallet (#8488) to release-mainnet1B branch #8609)
To Reproduce
Steps to reproduce the behavior:
- place a bid
- upgrade zoe
- bid unexpectedly exits
Expected behavior
Long-lived offers should survive upgrade of zoe.
Platform Environment
mainnet1B