Interacts with the linear timelock smart contract, which allows users to linearly unlock tokens.
Users simply load the page, (the user's account details are automatically pre-filled in the address input box).
The user's available (un-lockable) balance is calculated automatically.
The user then simply clicks the "Unlock Your Tokens" button (please note: the maximum amount of available tokens are automatically pre-filled in the amount input box).
It is recommended to also click the "Refresh/Calculate Balances" button after any transfers.
The timelock smart contract is deployed on the Ethereum mainnet and then this UI source code us updated with the timelocks ABI, bytecode, contract address and deployment transaction hash. This timelock UI instantiates the timelock contract in order to interact and transfer tokens to end users and so forth.
Clone this repository
git clone [email protected]:second-state/linear-timelock-user-interface.git
Paste the ABI and the address of the linear timelock's successfully deployed contract instance, into the helper.js file
In addition to that, also paste the contract address of the ERC20 contract into the helper.js file. You will see the two addresses are clearly marked.
Then simply type
npm install
To test on local hardware (localhost) simply type
node server.js
Please note: A disclaimer may be required, whereby the user must accept in order to unlock tokens. If this is the case then a disclaimer needs to be implemented in the UI. In addition the wording for the disclaimer has to be added to the code. The operation of the disclaimer needs to be tested before the UI is publicly deployed.
An example of how a disclaimer was recently implemented in Simple Timelock UI can be found at the following GitHub commit. A change to the HTML button, some inline HTML text and additional CSS are required (as shown in the commit details in the following link) https://github.com/second-state/claim-parastate-erc20-token_locking-na_cliff-na_vesting-na/commit/2d59a91812be4fe482ba42f48dddd41d9730ea2b
Also, please attend to any open issues in this repository to ensure correct and optimal operation.
To publish/deploy at GitHub pages, open package.json
and edit accordingly, then simply type
npm run deploy
The site will then be hosted to https://second-state.github.io/linear-timelock-user-interface/html/