Lock ERC-20 token for a pre-defined amount of time
A contract for locking balances of a designated ERC-20 token for a pre-defined amount of time.
- Deposit period: Anyone can deposit the designated token, receiving an equivalent balance of non-transferrable lock claim token. Withdrawals are possible.
- Lock period: No more deposits and withdrawals are possible.
- After the lock period: Tokens can be withdrawn in redemption for lock claim tokens.
The contract is initialized with the following set of parameters:
owner
: Address of the ownertokenAddress
: Address of the token to lockunlockTimePoolOfMarket
: Lock of pool market duration in seconds, period starts after the deploymentunlockTimePoolOfEmployments
: Lock of pool employments duration in seconds, period starts after the deposit deadline
-
npm install
-
create a .env file, and copy and paste .env.template
-
npx hardhat compile
-
npx hardhat run scripts/deploy.js --network polygon
-
npx hardhat verify --network polygon contract-address 'param1' 'param2' 'param3' 'param4'
Created under the MIT license.