What if a contract dies when it is holding assets? #5469
-
What is the Problem Being Solved?Say we are holding assets in a ZCFSeat that lives inside a contract. What happens to those funds if the contract dies? Description of the DesignIt's unclear to me that what best solution would be. A way to persist those funds maybe? |
Beta Was this translation helpful? Give feedback.
Replies: 12 comments
-
I opened the issue as we discussed during the office hours @dckc |
Beta Was this translation helpful? Give feedback.
-
@Chris-Hibbert this question came up in discussion of #3226 pool-based loan protocol . If so, what are some ways to mitigate that risk? @dtribble @erights did you mention some Heirs, Successors and Assigns technique in discussion recently? @rowgraus @jeetraut fwiw: @anilhelvaci asked if solving this was a requirement for #3226 and I said no. |
Beta Was this translation helpful? Give feedback.
-
I haven't thought about solutions to this problem. successors sounds like an interesting approach, but I haven't heard more than the name. I hope to learn more. |
Beta Was this translation helpful? Give feedback.
-
@dckc is your understanding that this is not covered in @warner's current approach to contract upgrade? Is the key difference here driven by the word 'dies' vs 'upgrades'? @dtribble and I long ago talked about how to extend Zoe's offer safety to long lived contract-held assets like liquidity pools, but AFAIK it hasn't yet gotten out of the early design phase. |
Beta Was this translation helpful? Give feedback.
-
Um... yes... I don't see how upgrade is relevant. If something in the upgrade approach helps, that would be a pleasant surprise.
I suppose so. |
Beta Was this translation helpful? Give feedback.
-
This came up in a Zoe meeting yesterday and I think @erights answered it, but I don't clearly recall the answer. The meeting was recorded, so this date should be enough info to find the recording. |
Beta Was this translation helpful? Give feedback.
-
@Tartuffo I have lost track of why this is MN-1. Do you remember why? |
Beta Was this translation helpful? Give feedback.
-
I don't. On the surface it sounds undesirable for the assets to be lost, but as someone referred to above, what does it mean for a contract to "die"? |
Beta Was this translation helpful? Give feedback.
-
I assume, "die" -> "crash" |
Beta Was this translation helpful? Give feedback.
-
@erights Does Zoe have any way to know if a contract has crashed, and thus be able to safely return the assets held in the seats, or do we need to "fix" this vulnerability for MN-1? |
Beta Was this translation helpful? Give feedback.
-
@Tartuffo please create an issue to track requirements and scheduling around this. |
Beta Was this translation helpful? Give feedback.
-
The new issue for this is here: #5486 |
Beta Was this translation helpful? Give feedback.
The new issue for this is here: #5486