Replies: 4 comments 10 replies
-
This was indeed the rationale. Initially, it seemed to be the correct way to design the protocol, which I no longer believe to be the best choice, given that it:
Don't think so.
This is not fully correct because we decided to allow the sender to call
Agree |
Beta Was this translation helpful? Give feedback.
-
Not being able to refuse being streamed certain tokens (or from a certain sender) and having to deal with the legal accounting of each of the streams that has been opened with you as the recipient are the only disadvantages of removing the recipient-cancel functionality that I see, as well. However, even with the ability to cancel a stream when you're the recipient, you're still "limited" to only being able to "refuse" getting streamed the token amount that's still left to be streamed (at the moment when you perform the cancelling). Whatever has already been streamed up until that point is already "yours" (good luck explaining to the public that you haven't agreed to receive those tokens 😆). An extreme case would be "simulating" (with a short-enough stream length) a direct transfer of the respective tokens to your address, leading to you not having enough time to spot and cancel the new stream before it's Depleted. So, allowing recipients to cancel their streams only addresses these concerns partially, anyway. |
Beta Was this translation helpful? Give feedback.
-
Just realized another reason why it didn't make sense to allow the recipient to cancel: The recipient can transfer the NFT to a burn address. Cc @andreivladbrg. |
Beta Was this translation helpful? Give feedback.
-
Closing as we have implemented this proposal in #710 |
Beta Was this translation helpful? Give feedback.
-
I've recently spoken with Fjord, who are looking to integrate Sablier to provide users with an automated, on-chain vesting service.
The topic of recipient cancellations was brought up during the call. They will create the streams from a contract, which has to be able to respond to cancellations, and so they will have to implement the
onStreamCanceled
hook.Then they asked: "would it be possible to allow only the sender to cancel"? I said no and explained that we implemented the protocol this way to give maximum flexibility to recipients, e.g., maybe they wish to deny a payment.
But is this feature really that useful for recipients? Recipients could simply not withdraw from those streams that they are not interested in. Also, we could add a feature at the UI level for hiding specific streams and/ or tokens.
It seems to me that this ability of the recipient to cancel does more harm than good.
WDYT @andreivladbrg, @razgraf, @IaroslavMazur?
Beta Was this translation helpful? Give feedback.
All reactions