Replies: 4 comments 15 replies
-
I think this is an acceptable tradeoff. Worth noting that for traditional transactions, the sender cannot withdraw either. Once the money is gone, the money is gone. People in crypto have grown accustomed to that, I think, so it's not a problem.
This is a bad idea, in my opinion. Just the possibility of being able to do so via a multisig would get a lot of our users to lose trust in our protocol. Full immutability matters, and a system is only as decentralized as its most centralized component. |
Beta Was this translation helpful? Give feedback.
-
Following our conversation in the thread above: While I would definitely not downplay the trust implications any controlled system would bring, I can understand that for some the majority of users this can be a good feature and potentially a backup in case of human errors (e.g. sending to an exchange wallet). Can we, by any chance, include something like a |
Beta Was this translation helpful? Give feedback.
-
Feedback provided by Jorge from Unlockd:
Refer to #684 (comment) for more context on what Jorge said in the voice note. |
Beta Was this translation helpful? Give feedback.
-
Closing as per the rationale given here. |
Beta Was this translation helpful? Give feedback.
-
Problem
One of the findings reported by Cantina during their 1st review of the code base has come back to bite us.
During my call with NFTFI.com yesterday to discuss a Sablier V2 integration, it became apparent that allowing the sender to withdraw makes the integration difficult.
NFTFI has an escrow smart contract where people lock up their NFTs after making a borrow against them. Unfortunately, this contract cannot react to incoming ERC-20 deposits, and it can neither detect increases in ERC-20 balances over time. Consequently, the funds would be forever lost if a sender performs a withdrawal while the NFT sits in this escrow.
It is likely that NFTFI is not the only NFT platform that cannot react to/ account for sender withdrawals.
Solution
Scrape off the ability of the sender to withdraw on behalf of the recipient.
Of course, doing so would mean that funds are forever lost if the sender has accidentally started a stream to an address that cannot interact with Sablier, such as an exchange address. There are two ways to go about this problem:
Side note: it might be worth it to perform some data crunching to see how many sender-initiated withdrawals there have been in V1 and V2.
Beta Was this translation helpful? Give feedback.
All reactions