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
AandBdeposit 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