julien/lovepublic Fork
⑂ ccf2c64
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.

Download ZIP

update readme

julienbrg committed 2026-09-18T22:09:11+02:00 Browse files
ccf2c64 parent: 6e1128e
modified README.md +44 -36
@@ -1,6 +1,6 @@
11 # Love
22
3-The official LOVE token.
3+The one and only LOVE token.
44
55 ## Install
66
@@ -9,16 +9,49 @@ forge install
99 cp .env.example .env
1010 ```
1111
12-## Build & test
12+## Build
1313
1414 ```shell
15-forge build # compile
16-forge test # run tests
17-forge test -vvv # with traces
18-forge fmt # format
19-anvil # local node
15+forge build
2016 ```
2117
18+## Test
19+
20+```shell
21+forge test
22+```
23+
24+## Deploy
25+
26+Deployment uses CREATE2, so the token has the same address on every EVM network.
27+Bringing up a chain is registry, then registration, then token — `run()` does
28+all three and skips whichever has already happened.
29+
30+```shell
31+forge script script/Love.s.sol:LoveScript --sig 'predict()' # print the address
32+
33+WETH=0x4200000000000000000000000000000000000006 \
34+forge script script/Love.s.sol:LoveScript \
35+ --rpc-url base_sepolia \
36+ --account "$DEPLOYER_ACCOUNT" \
37+ --broadcast \
38+ --verify
39+```
40+
41+`WETH` defaults to the OP Stack predeploy and is ignored once a wETH is
42+registered. Registration sends 1 wei, which stays in the registry.
43+
44+To check determinism for real, deploy on two local chains and compare:
45+
46+```shell
47+./script/multichain-check.sh
48+```
49+
50+It starts two anvil nodes (chain IDs 31337 and 31338), gives them *different*
51+wETH implementations at *different* addresses, brings both up, and exits
52+non-zero if the two LOVE addresses differ. Override `PORT_A`, `PORT_B`,
53+`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed.
54+
2255 ## Privacy
2356
2457 Besides the plain `deposit(uint256)`, LOVE can be locked behind a secret
@@ -79,36 +112,11 @@ address before treating a deployment as the real one.
79112 Full design rationale, the allowlist's contents, and how to verify determinism
80113 yourself: see [docs/MULTICHAIN.md](docs/MULTICHAIN.md).
81114
82-## Deploy
83-
84-Deployment uses CREATE2, so the token has the same address on every EVM network.
85-Bringing up a chain is registry, then registration, then token — `run()` does
86-all three and skips whichever has already happened.
87-
88-```shell
89-forge script script/Love.s.sol:LoveScript --sig 'predict()' # print the address
90-
91-WETH=0x4200000000000000000000000000000000000006 \
92-forge script script/Love.s.sol:LoveScript \
93- --rpc-url base_sepolia \
94- --account "$DEPLOYER_ACCOUNT" \
95- --broadcast \
96- --verify
97-```
98-
99-`WETH` defaults to the OP Stack predeploy and is ignored once a wETH is
100-registered. Registration sends 1 wei, which stays in the registry.
101-
102-To check determinism for real, deploy on two local chains and compare:
103-
104-```shell
105-./script/multichain-check.sh
106-```
115+## Docs
107116
108-It starts two anvil nodes (chain IDs 31337 and 31338), gives them *different*
109-wETH implementations at *different* addresses, brings both up, and exits
110-non-zero if the two LOVE addresses differ. Override `PORT_A`, `PORT_B`,
111-`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed.
117+- [Multichain deployment](docs/MULTICHAIN.md) — CREATE2, the codehash allowlist, and verifying determinism
118+- [Privacy](docs/PRIVACY.md) — sending LOVE by secret instead of by address
119+- [Supported networks](docs/SUPPORTED_NETWORKS.md) — where LOVE deploys today and what could be added
112120
113121 ## License
114122
@@ -1,6 +1,6 @@
1 # Love1 # Love
2 2
3-The official LOVE token.3+The one and only LOVE token.
4 4
5 ## Install5 ## Install
6 6
@@ -9,16 +9,49 @@ forge install
9 cp .env.example .env9 cp .env.example .env
10 ```10 ```
11 11
12-## Build & test12+## Build
13 13
14 ```shell14 ```shell
15-forge build # compile15+forge build
16-forge test # run tests
17-forge test -vvv # with traces
18-forge fmt # format
19-anvil # local node
20 ```16 ```
21 17
18+## Test
19+
20+```shell
21+forge test
22+```
23+
24+## Deploy
25+
26+Deployment uses CREATE2, so the token has the same address on every EVM network.
27+Bringing up a chain is registry, then registration, then token — `run()` does
28+all three and skips whichever has already happened.
29+
30+```shell
31+forge script script/Love.s.sol:LoveScript --sig 'predict()' # print the address
32+
33+WETH=0x4200000000000000000000000000000000000006 \
34+forge script script/Love.s.sol:LoveScript \
35+ --rpc-url base_sepolia \
36+ --account "$DEPLOYER_ACCOUNT" \
37+ --broadcast \
38+ --verify
39+```
40+
41+`WETH` defaults to the OP Stack predeploy and is ignored once a wETH is
42+registered. Registration sends 1 wei, which stays in the registry.
43+
44+To check determinism for real, deploy on two local chains and compare:
45+
46+```shell
47+./script/multichain-check.sh
48+```
49+
50+It starts two anvil nodes (chain IDs 31337 and 31338), gives them *different*
51+wETH implementations at *different* addresses, brings both up, and exits
52+non-zero if the two LOVE addresses differ. Override `PORT_A`, `PORT_B`,
53+`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed.
54+
22 ## Privacy55 ## Privacy
23 56
24 Besides the plain `deposit(uint256)`, LOVE can be locked behind a secret57 Besides the plain `deposit(uint256)`, LOVE can be locked behind a secret
@@ -79,36 +112,11 @@ address before treating a deployment as the real one.
79 Full design rationale, the allowlist's contents, and how to verify determinism112 Full design rationale, the allowlist's contents, and how to verify determinism
80 yourself: see [docs/MULTICHAIN.md](docs/MULTICHAIN.md).113 yourself: see [docs/MULTICHAIN.md](docs/MULTICHAIN.md).
81 114
82-## Deploy115+## Docs
83-
84-Deployment uses CREATE2, so the token has the same address on every EVM network.
85-Bringing up a chain is registry, then registration, then token — `run()` does
86-all three and skips whichever has already happened.
87-
88-```shell
89-forge script script/Love.s.sol:LoveScript --sig 'predict()' # print the address
90-
91-WETH=0x4200000000000000000000000000000000000006 \
92-forge script script/Love.s.sol:LoveScript \
93- --rpc-url base_sepolia \
94- --account "$DEPLOYER_ACCOUNT" \
95- --broadcast \
96- --verify
97-```
98-
99-`WETH` defaults to the OP Stack predeploy and is ignored once a wETH is
100-registered. Registration sends 1 wei, which stays in the registry.
101-
102-To check determinism for real, deploy on two local chains and compare:
103-
104-```shell
105-./script/multichain-check.sh
106-```
107 116
108-It starts two anvil nodes (chain IDs 31337 and 31338), gives them *different*117+- [Multichain deployment](docs/MULTICHAIN.md) — CREATE2, the codehash allowlist, and verifying determinism
109-wETH implementations at *different* addresses, brings both up, and exits118+- [Privacy](docs/PRIVACY.md) — sending LOVE by secret instead of by address
110-non-zero if the two LOVE addresses differ. Override `PORT_A`, `PORT_B`,119+- [Supported networks](docs/SUPPORTED_NETWORKS.md) — where LOVE deploys today and what could be added
111-`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed.
112 120
113 ## License121 ## License
114 122