Chatterpay is a Wallet for WhatsApp that integrates AI and Account Abstraction, enabling any user to use blockchain easily and securely without technical knowledge.
Built for: Level Up Hackathon - Ethereum Argentina 2024
Build By: mpefaur, tomasfrancizco, TomasDmArg, gonzageraci, dappsar
Components:
- Landing Page (product, source code)
- User Dashboard Website (product, source code)
- Backend API (source code)
- Smart Contracts (source code) (this Repo)
- Data Indexing (Subgraph) (source code)
- Bot AI (Chatizalo) (product)
- Bot AI Admin Dashboard Website (product)
This repository contains the source code of the Smart Contracts.
Build With:
- Framework: Foundry
- Language: Solidity
- Smart Contracts Library: OpenZeppelin
- L2 Blockchain: Scroll
- Account Abstraction L2 Keystore: Scroll L1SLOAD
- Web3 Data Feed: api3
If you would like to explore the details of the contracts in-depth, you can review them at this link.
1. Install these Requirements:
2. Clone repository:
git clone /~https://github.com/P4-Games/ChatterPay-SmartContracts
cd ChatterPay-SmartContracts
3. Complete .env file:
Create a .env file in the root folder and populate it with the keys indicated in file example_env
4. Install Dependencies:
yarn
git submodule update --init --recursive
5. Usage:
Build
forge clean && forge build
Test
forge test
Format
forge fmt
Gas Snapshots
forge snapshot
Anvil
anvil
Cast
cast <subcommand>
Deploy
forge clean & forge build
# Deploy Simulation
forge script script/DeployAllContracts.s.sol \
--rpc-url $ARBITRUM_SEPOLIA_RPC_URL \
--private-key $PRIVATE_KEY
# Real Deploy
forge script script/DeployAllContracts.s.sol \
--rpc-url $ARBITRUM_SEPOLIA_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast
# Real Deploy + Verify contracts in Etherscal
forge script script/DeployAllContracts.s.sol \
--rpc-url $ARBITRUM_SEPOLIA_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast \
--verify \
--etherscan-api-key $ETHERSCAN_API_KEY
Help
forge --help
anvil --help
cast --help
Static Checks
Solidity Static Analysis with Slither.
To install slither go to this link.
slither .
If you would like to explore more details about the source code, you can review this link.
Thank you for considering helping out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!
If you'd like to contribute to ChatterPay, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes though, please check up with the core devs first to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple.
Please make sure your contributions adhere to our coding guidelines.
Contributors: