Testing checklist
A serious smart-contract portfolio should make correctness visible.
Constructor
- accepts
0bps; - accepts
1000bps; - rejects
1001bps; - rejects zero platform wallet.
Lifecycle
- creates valid escrow;
- increments IDs;
- rejects invalid creation inputs;
- funds only from
Createdand only by the client; - delivers only from
Fundedand only by the freelancer; - approves only from
Deliveredand only by the client; - refunds only after the deadline and only from
Funded.
Accounting
- fee rounding is correct;
- freelancer balance is credited correctly;
- platform balance is credited correctly;
- withdrawal reduces internal balance;
- multiple tokens remain isolated;
- failed token transfers revert appropriately.