├── .gitignore ├── contracts ├── interfaces │ └── IERC314.sol ├── X314.sol ├── libs │ └── Linear.sol ├── Staking.sol ├── ERC314.sol └── LongSwap.sol ├── README.md ├── package.json ├── scripts ├── deploy_token.js ├── upgrade_staking.js ├── extendLiquidityLock.js ├── addLiquidity.js ├── transferOwnership.js └── deploy_staking.js └── test └── Lock.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | 4 | # Hardhat files 5 | /cache 6 | /artifacts 7 | 8 | # TypeChain files 9 | /typechain 10 | /typechain-types 11 | 12 | # solidity-coverage files 13 | /coverage 14 | /coverage.json 15 | -------------------------------------------------------------------------------- /contracts/interfaces/IERC314.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.0; 3 | 4 | interface IERC314 { 5 | function setLastTransaction( 6 | address[] memory accounts, 7 | uint32 _block 8 | ) external; 9 | } 10 | -------------------------------------------------------------------------------- /contracts/X314.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.0; 3 | 4 | import "./ERC314.sol"; 5 | 6 | contract X314 is ERC314 { 7 | uint256 private _totalSupply = 21_000_000 * 10 ** 18; 8 | 9 | constructor() ERC314("X-314", "X314", _totalSupply, 20 * 2, 2, 2) {} 10 | } 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Sample Hardhat Project 2 | 3 | This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract. 4 | 5 | Try running some of the following tasks: 6 | 7 | ```shell 8 | npx hardhat help 9 | npx hardhat test 10 | REPORT_GAS=true npx hardhat test 11 | npx hardhat node 12 | npx hardhat run scripts/deploy.js 13 | ``` 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hardhat-project", 3 | "devDependencies": { 4 | "@nomicfoundation/hardhat-chai-matchers": "^2.0.2", 5 | "@nomicfoundation/hardhat-ethers": "^3.0.5", 6 | "@nomicfoundation/hardhat-network-helpers": "^1.0.10", 7 | "@nomicfoundation/hardhat-toolbox": "^4.0.0", 8 | "@nomicfoundation/hardhat-verify": "^2.0.3", 9 | "@openzeppelin/contracts": "^4.9.5", 10 | "@openzeppelin/contracts-upgradeable": "^4.9.5", 11 | "@typechain/ethers-v6": "^0.5.1", 12 | "@typechain/hardhat": "^9.1.0", 13 | "chai": "^4.3.10", 14 | "ethers": "^6.9.0", 15 | "hardhat": "^2.19.3", 16 | "hardhat-gas-reporter": "^1.0.9", 17 | "solidity-coverage": "^0.8.5", 18 | "typechain": "^8.3.2" 19 | } 20 | } -------------------------------------------------------------------------------- /scripts/deploy_token.js: -------------------------------------------------------------------------------- 1 | // We require the Hardhat Runtime Environment explicitly here. This is optional 2 | // but useful for running the script in a standalone fashion through `node