Brainstorming solutions to implement instant airdrop contract #998
Replies: 8 comments 16 replies
-
Is the option where we do everything the same, but also trigger an instant withdraw worth considering? The advantage in this is: there's still a stream (so the UI would be compatible) which shows up in the dashboard, there's an NFT which people can see and hold as a badge, the volume still goes through our lockup contracts. I know it's probably far from gas efficient, but wasn't sure if it was discussed before. |
Beta Was this translation helpful? Give feedback.
-
Thanks for breaking down the available options. It really is a tough call, but I suggest going with Solution 1. Here's my rationale:
|
Beta Was this translation helpful? Give feedback.
-
Thanks, Shub, for opening this. First, I want to clarify what your final decision is, @PaulRBerg, as you stated both:
At first, I’ll be honest, I considered option 2 (a bespoke contract) to be the better one, but after reading Paul’s comment, I changed my mind to option 1. |
Beta Was this translation helpful? Give feedback.
-
Thank you both for your inputs. Created an issue: #995 to implement option 1. |
Beta Was this translation helpful? Give feedback.
-
On the name of the contract, would |
Beta Was this translation helpful? Give feedback.
-
Posting here the PR's description as it requires some more discussion. Description
Alternate possibilities
I'd recommend briefly review the changes in this PR. |
Beta Was this translation helpful? Give feedback.
-
I am struggling to find a good name for merkle-lockup folder. Now that we would have I refactored it to just I thought of renaming it to What should we call this category that encapsulates merkle-lockup-linear, merke-lockup-tranched and merkle-instant? or any suggestion for name? |
Beta Was this translation helpful? Give feedback.
-
Completed via #999. |
Beta Was this translation helpful? Give feedback.
-
Originally discussed in https://github.com/sablier-labs/company-discussions/discussions/55.
Solution 1: Merkle Lockup like contract
Use Factory to deploy a contract similar to Merkle Lockup.
Pros:
Cons:
Solution 2: Single Bespoke Contract
A single contract uses campaign ID to store campaign related information without deploying a separate contract for each campaign.
Pros:
Cons:
Click to expand mock interface code
My comment
I am in favour of 2nd solution because I think having on-chain KPIs is important in the absence of stream creations. I'd like to hear everyone's opinion on this. Feel free to suggest more solution.
cc @sablier-labs/everybody
Related discussions
Beta Was this translation helpful? Give feedback.
All reactions