Simple smart contract that configures a 1M USDC vs 1 Wrapped Bitcoin 90-day term bet, inspired by Balaji's tweet.
- Anyone can
createBet()
initializing a bet between two parties - Parties
A
andB
deposit their funds, contract marks second deposit asstartTimestamp
- Bet is frozen for 90 days from
startTimestamp
- After 90 days, anyone call call
settleBet()
, using the Chainlink BTC/USD oracle to settle the bet.
Note: settleBet()
can also be called earlier than 90 days, if in favor of partyUSDC (kudos banteg).
Tests use Foundry: Forge.
Install Foundry using the installation steps in the README of the linked repo.
# Get dependencies
forge update
# Run tests
forge test