What is Gullak Gullak is designed to let anyone create "hodling competition" on any ERC20 tokens. Users can always choose to quit early with a penalty charged. If a participant successfully hodls the token until expiry, they can withdraw the full amount they deposited without any fee, and with some extra tokens collected from quitters, or other "bonus token" that can be donated to the pool.
This project use subgraph is created @thegraph, Also smart contract deploys on @polygon chain and @etherume. Also deeply of@ipfs hosted and written script for upload ifpfs. What is in this repository
This is the contract repo for Hodl, which enables anyone to create Gullak pools. There are 2 contracts in the core folder:
GullakERC20: Implementation contract to "Hodl" an ERC20.
GullakFactory: Factory contract to clone GullakERC20 with EIP1167.
What does GullakERC20 do?
When a user deposit ERC20 into a HODL pool, the tokens will be locked up in the contract until the end of a pre-defined expiry. If a user wants to remove their funds before expiry, they will be penalized by penalty proportional to their deposit, and the slashed amount will go back in to the reward pool that will be shared by everyone else holding a "share".
Shares and hTokens
Every time you join a pool, you get a hodl Token + some shares. The hodl token is a non-transferable ERC20 - this is to prevent anyone from creating a secondary market to trade this token, which would eventually make it not a hodl strategy anymore.
The shares you get from the deposit will decrease (linearly / exponentially according to a decrease parameter n) as time goes by - this is to prevent a last minute depositor from enjoying the full reward. This also means that the earlier you deposit, the more shares of the pool you can get.