Replies: 3 comments 1 reply
-
I have been pondering this ever since we discussed the idea last week .. and I'm still of the opinion that the checks are worth it, at least for the My rationale is based on nothing else but the precautionary principle. The zeroness of the Obviously, the risk of someone breaking into We intend to deploy Sablier to all sorts of EVM-compatible chains. Not all of those chains have the same security guarantees as Ethereum L1. If we ever end up deploying Sablier to private chains (I don't see why not), then the network administrator could, in principle, make calls from the zero address. And that would have all sorts of consequences for the Sablier V2 protocol, because the protocol assumes that when the sender is zero, the stream does not exist. |
Beta Was this translation helpful? Give feedback.
-
Based on the rationale above and @razgraf's soft confirmation by not following up, I am locking this discussion. |
Beta Was this translation helpful? Give feedback.
-
While reviewing Flow, I noticed that you guys (@andreivladbrg, @smol-ninja) added a check to prevent zero addresses for the sender. That check isn't found in Lockup, and I can't remember why. Based on my reading of this discussion, it seems that I have concluded that a check is worth it. Perhaps we removed in order to optimize for gas efficiency and lower contract size? Edit: as per this PR #196, part of the reason was indeed gas efficiency, but also redundancy - the zero address check used to be a filter for null streams. |
Beta Was this translation helpful? Give feedback.
-
Are
address(0)
checks worth it formsg.sender
and similar?address(0)
address(1)
These are still good for recipients (for e.g. nullable fallbacks in clients).
Beta Was this translation helpful? Give feedback.
All reactions