|
1 | | -# Merit Contracts |
| 1 | +``` |
| 2 | + ███▄ ▄███▓▓█████ ██▀███ ██▓▄▄▄█████▓ ██████▓██ ██▓ ██████ ▄▄▄█████▓▓█████ ███▄ ▄███▓ ██████ |
| 3 | +▓██▒▀█▀ ██▒▓█ ▀ ▓██ ▒ ██▒▓██▒▓ ██▒ ▓▒ ▒██ ▒ ▒██ ██▒▒██ ▒ ▓ ██▒ ▓▒▓█ ▀ ▓██▒▀█▀ ██▒▒██ ▒ |
| 4 | +▓██ ▓██░▒███ ▓██ ░▄█ ▒▒██▒▒ ▓██░ ▒░ ░ ▓██▄ ▒██ ██░░ ▓██▄ ▒ ▓██░ ▒░▒███ ▓██ ▓██░░ ▓██▄ |
| 5 | +▒██ ▒██ ▒▓█ ▄ ▒██▀▀█▄ ░██░░ ▓██▓ ░ ▒ ██▒ ░ ▐██▓░ ▒ ██▒░ ▓██▓ ░ ▒▓█ ▄ ▒██ ▒██ ▒ ██▒ |
| 6 | +▒██▒ ░██▒░▒████▒░██▓ ▒██▒░██░ ▒██▒ ░ ▒██████▒▒ ░ ██▒▓░▒██████▒▒ ▒██▒ ░ ░▒████▒▒██▒ ░██▒▒██████▒▒ |
| 7 | +░ ▒░ ░ ░░░ ▒░ ░░ ▒▓ ░▒▓░░▓ ▒ ░░ ▒ ▒▓▒ ▒ ░ ██▒▒▒ ▒ ▒▓▒ ▒ ░ ▒ ░░ ░░ ▒░ ░░ ▒░ ░ ░▒ ▒▓▒ ▒ ░ |
| 8 | +░ ░ ░ ░ ░ ░ ░▒ ░ ▒░ ▒ ░ ░ ░ ░▒ ░ ░▓██ ░▒░ ░ ░▒ ░ ░ ░ ░ ░ ░░ ░ ░░ ░▒ ░ ░ |
| 9 | +░ ░ ░ ░░ ░ ▒ ░ ░ ░ ░ ░ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ |
| 10 | + ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ |
| 11 | + ░ ░ |
| 12 | +``` |
2 | 13 |
|
3 | | -We have one contract called [Escrow.sol](./src/Escrow.sol) |
| 14 | +# Merit Escrow |
4 | 15 |
|
5 | | -| Single Operation | Batch Operation | Description | |
6 | | -| ---------------- | --------------- | ----------------------------------------------- | |
7 | | -| `deposit` | `batchDeposit` | Deposit tokens into escrow | |
8 | | -| `claim` | `batchClaim` | Claim tokens as the recipient | |
9 | | -| `reclaim` | `batchReclaim` | Reclaim tokens as the sender after claim period | |
| 16 | +Escrow contract for secure token distributions with signature-based claims. |
10 | 17 |
|
11 | | -### Build |
| 18 | +## Core Contract |
12 | 19 |
|
13 | | -`forge build` |
| 20 | +[`Escrow.sol`](src/Escrow.sol) - The main escrow contract supporting both repository-managed and direct distributions. |
14 | 21 |
|
15 | | -### Test |
| 22 | +## Building |
16 | 23 |
|
17 | | -`forge test` |
| 24 | +```bash |
| 25 | +forge build |
| 26 | +``` |
18 | 27 |
|
19 | | -### Deploy |
| 28 | +## Testing |
20 | 29 |
|
21 | | -##### Sepolia |
| 30 | +```bash |
| 31 | +forge test |
| 32 | +``` |
22 | 33 |
|
23 | | -`make deploy-sepolia` |
| 34 | +## Audits |
24 | 35 |
|
25 | | -##### Base Sepolia |
26 | | - |
27 | | -`make deploy-base-sepolia` |
28 | | - |
29 | | -##### Base |
30 | | - |
31 | | -`make deploy-base` |
32 | | - |
33 | | -### Audits |
34 | | - |
35 | | -All reports are in [audits](./audits/) |
36 | | - |
37 | | -### Create2Crunch Vanity Address Mining |
38 | | - |
39 | | -The project includes a vanity address miner using [create2crunch](https://github.com/0age/create2crunch) to find specific contract addresses that match desired patterns. This is particularly useful for creating contracts at predictable addresses. |
40 | | - |
41 | | -To use create2crunch: |
42 | | - |
43 | | -1. Navigate to the create2crunch directory: |
44 | | - |
45 | | - ```bash |
46 | | - cd create2crunch |
47 | | - ``` |
48 | | - |
49 | | -2. Configure the parameters in `run.sh`: |
50 | | - |
51 | | - - `OWNER`: Contract owner address |
52 | | - - `SIGNER`: Signer address |
53 | | - - `TOKENS`: Array of token addresses |
54 | | - - `FEE_BPS`: Fee basis points |
55 | | - - `BATCH_LIMIT`: Batch size limit |
56 | | - - `FACTORY`: Factory contract address |
57 | | - - `CALLER`: Caller address |
58 | | - |
59 | | -3. Run the mining script: |
60 | | - ```bash |
61 | | - ./run.sh |
62 | | - ``` |
63 | | - |
64 | | -The script will compile the contract, generate the initialization code, and use create2crunch to find salt values that generate contract addresses matching your desired patterns. |
65 | | - |
66 | | -For more detailed information, see the [create2crunch README](./create2crunch/README.md). |
| 36 | +Multiple security audits have been conducted. See the [audits directory](audits/) for all audit reports. |
0 commit comments