A 100% client-side UI for the TSender contract.
Smart Contracts: https://github.com/Cyfrin/TSender/
Here is a sample after the completion of the project. After deployment, you can connect your wallet here, enter the token address, recipient, and amounts for the airdrop functionality to target these accounts.

- node
- You'll know you've installed it right if you can run
node --versionand get a response likev18.20.8
- You'll know you've installed it right if you can run
- pnpm
- You'll know you've installed it right if you can run
pnpm --versionand get a response like10.12.4
- You'll know you've installed it right if you can run
- git
- You'll know you've installed it right if you can run
git --versionand get a response likegit version 2.39.5
- You'll know you've installed it right if you can run
You'll need a .env.local the following environment variables:
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID: Project ID from reown cloud
git clone https://github.com/Jack-OuCJ/ts-tsender-ui-ou.git
cd ts-tsender-ui-ou
pnpm install
pnpm anvilYou'll want to make sure you have a Metamask/Rabby wallet connected to your anvil instance. Ideally you're connected to the wallet that comes with the default anvil instance. This will have some mock tokens in it.
Then, in a second browser run:
pnpm run devpnpm test:unitPlaywright should also install the browsers needed to run tests.
To test e2e, do the following
pnpm cacheThen run:
pnpm test:e2eThis will throw an error like:
Error: Cache for 08a20e3c7fc77e6ae298 does not exist. Create it first!
The 08a20e3c7fc77e6ae298 is your CACHE_NAME
In your .cache-synpress folder, rename the folder that isn't metamask-chrome-*** to your CACHE_NAME.
Then, you should be able to run:
pnpm test:e2e
And it'll work!
For those who want to know running tests, please see the TESTINFO.md file.