julien/lovepublic Fork 0
3-peg-love-to-weth
Commits
Clone
git clone https://git.rickub.com/julien/love.git
git clone ssh://git@rickub.com/julien/love.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

CHANGELOG.md · 35 lines · 1.9 KBmarkdown Blame HistoryRaw
document setup b1c9b0d julienbrg 6h ago1# Changelog
2
3All notable changes to this project are documented in this file.
4
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
8## [Unreleased]
9
10### Added
11
12- Foundry project scaffolding (`forge-std`, CI workflow, `.gitignore`).
add weth peg tests and docs 5376202 julienbrg 4h ago13- `Love`, an ERC-20 token (`LOVE`, 18 decimals) on OpenZeppelin v5, pegged to
14 wETH at 100000 LOVE per wETH. No mint function and no owner: supply moves
15 only through the permissionless `deposit(uint256)` and `withdraw(uint256)`,
16 so circulating LOVE is always backed by wETH held by the contract.
17 `withdraw` reverts with `AmountNotDivisibleByRate` unless the amount is a
18 multiple of the rate, keeping the peg free of rounding dust.
19- `MockWETH`, a test-only WETH9 stand-in, and tests covering deposit, withdraw,
20 the divisibility revert, backing invariants, round-trips, transfers,
21 approve/`transferFrom`, reverts and fuzzing.
Merge 1-add-main-logic into main dded29a rickub 5h ago22- Deployment script `script/Love.s.sol`, deploying with CREATE2 through the
add weth peg tests and docs 5376202 julienbrg 4h ago23 canonical deterministic deployer; salt defaults to `keccak256("LOVE")` and is
24 overridable via `SALT`, wETH defaults to the OP-Stack address and is
25 overridable via `WETH`. The address embeds the wETH argument, so it is
26 identical across chains that share one wETH deployment.
Merge 1-add-main-logic into main dded29a rickub 5h ago27- `predict()` entrypoint printing the deployment address without broadcasting,
add weth peg tests and docs 5376202 julienbrg 4h ago28 and CREATE2 tests pinning address determinism across chain IDs and its
29 dependence on the wETH argument.
document setup b1c9b0d julienbrg 6h ago30- `foundry.toml` with pinned solc 0.8.30, optimizer, fmt rules, fuzz/invariant
update docs for erc20 69c46a2 julienbrg 6h ago31 defaults, and Base Sepolia RPC/Etherscan endpoints driven by env vars.
Merge 2-multichain-check into main 7c6b16b rickub 5h ago32- `script/multichain-check.sh`, deploying `Love` on two local anvil nodes with
33 different chain IDs and failing if the two addresses don't match.
update docs for erc20 69c46a2 julienbrg 6h ago34- `remappings.txt` for `@openzeppelin/contracts/` and `forge-std/`.
add weth peg tests and docs 5376202 julienbrg 4h ago35- `.env.example` documenting required environment variables, including `WETH`.