| document setup b1c9b0d julienbrg 10h ago | 1 | # love |
| 2 | |
| 3 | A [Foundry](https://getfoundry.sh) project. |
| 4 | |
| update docs for erc20 69c46a2 julienbrg 10h ago | 5 | `Love` (`LOVE`, 18 decimals) is a basic ERC-20 built on |
| 6 | [OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts), with one |
| 7 | deliberate twist: `mint` has **no access control**. |
| 8 | |
| 9 | ```solidity |
| 10 | function mint(address to, uint256 amount) external; |
| 11 | ``` |
| 12 | |
| 13 | Anyone can mint any amount to any address. Supply starts at zero and is |
| 14 | unbounded, so the token carries no economic value — it is a faucet / demo token. |
| 15 | Do not deploy it to mainnet expecting otherwise. |
| document setup b1c9b0d julienbrg 10h ago | 16 | |
| 17 | ## Setup |
| 18 | |
| 19 | ```shell |
| 20 | forge install |
| 21 | cp .env.example .env |
| 22 | ``` |
| 23 | |
| 24 | ## Usage |
| 25 | |
| 26 | ```shell |
| 27 | forge build # compile |
| 28 | forge test # run tests |
| 29 | forge test -vvv # with traces |
| 30 | forge fmt # format |
| 31 | forge coverage # coverage report |
| 32 | forge snapshot # gas snapshot |
| 33 | anvil # local node |
| 34 | ``` |
| 35 | |
| 36 | ## Deploy |
| 37 | |
| 38 | ```shell |
| 39 | forge script script/Love.s.sol:LoveScript \ |
| 40 | --rpc-url base_sepolia \ |
| 41 | --account "$DEPLOYER_ACCOUNT" \ |
| 42 | --broadcast \ |
| 43 | --verify |
| 44 | ``` |
| 45 | |
| 46 | Drop `--broadcast` for a dry run. |
| 47 | |
| 48 | ## Layout |
| 49 | |
| 50 | | Path | Contents | |
| 51 | | --------- | ------------------- | |
| 52 | | `src/` | Contracts | |
| 53 | | `test/` | Tests | |
| 54 | | `script/` | Deployment scripts | |
| 55 | | `lib/` | Dependencies | |
| update docs for erc20 69c46a2 julienbrg 10h ago | 56 | |
| 57 | ## Mint |
| 58 | |
| 59 | ```shell |
| 60 | cast send <LOVE_ADDRESS> "mint(address,uint256)" <RECIPIENT> 1000000000000000000 \ |
| 61 | --rpc-url base_sepolia \ |
| 62 | --account "$DEPLOYER_ACCOUNT" |
| 63 | ``` |