-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ETH fee in withdraw function #1076
Comments
Since we are talking about an ETH fee, why not charge it in both |
Because we've decided to charge only recipients. Also, charging at withdrawing time ensures that we only charge users after the funds have been streamed. Charging at create time may double charge users who create, cancel, and then recreate a stream. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
I started working on this, and regarding step 2:
it is not required to have a storage variable for this, as there is a native |
Can someone make a direct transfer of ETH to the contract? If no, then looks good. If yes, then tracking would be useful for accounting purposes. |
There are several different ways in which ETH can be airdropped in the contract, e.g. SELFDESTRUCT. See this StackExchange Q&A. So yes, it'd be helpful for accounting purposes to introduce the storage variable. But I wonder if the gas overhead is worth it? We could treat the non-fee-related ETH deposits (which are super unlikely anyway) as just another kind of revenue. |
We didn't add any storage variable to track ETH fee in merkle lockup (didn't realise at that time). So a decision here would affect the logic there as well. |
Personally, I don’t find that helpful or worth it enough. |
@andreivladbrg I actually agree with you — what follows the part you quoted was supporting your position. The gas overhead isn't worth it. Good idea to log the ETH fee. |
+1 for the |
Due to an issue with the |
If there's no event, I'm not sure the subgraphs will be able to index it. It might be that we can track For context, the main idea behind having those fees as part of the subgraphs is the potential for CSV Exports for accounting purposes (both traditional Fintech and CEXs include fees as part of account statements). |
There must be a way to obtain these We will figure out a way to obtain the CSV exports, though we might not need them. We can take a snapshot of the ETH fee at the end of each month. |
There definitely are ways, I was just discussing the subgraph case, since that would be the easiest to implement (since there would be no external calls or external systems required). |
Understood. Unfortunately, the refactor cost is huge, and given the pressure to launch the fees ASAP, I suggest launching without including the fees in the event. |
FYI @sablier-labs/solidity I have updated the spec in the issue |
Context
As discussed here, we want to be able to monetize the Lockup streams by charging an ETH fee, since this is much easier than charging in USDC or the stream's token.
Spec
msg.value
.withdrawFees
function, and always transfer the ETH fees to the contract admin.Note: compared to the ETH fee in MerkleLockup, the fee in this proposal is optional. The goal is to keep the protocol free but monetize at the UI level — the Sablier UI would introduce a small ETH fee in the transactions signed by users.
The text was updated successfully, but these errors were encountered: