An entry for the HackMoney hackathon.
This project builds on top of UpSideDai's concepts to create a CFD that is:
This Priceless CFD project can be seen as an "optimistic" CFD that is also leveraged, and fully backed by collateral. Should the CFD contract exceed the price boundary then a settlement request can be submitted. That request can also be disputed (usually by bots), and everyone is incentivized to report back the correct value of the underlying in order to prevent being penalized.
This repo is a proof of concept.
This project uses React + Next.js for the frontend, Truffle to compile the contracts, Solidity for the contract source code, and a bunch of code from UMA to mimic their "priceless" system, e.g.
The bot is written in Node.js using Ethers.js with a pub/sub method to listen to events.
.env
file in this directory with the following contents (fill in your own):PK_DEPLOYER=0x1234...
PK_DISPUTER=0x1234...
PK_MINTER_1=0x1234...
PK_MINTER_2=0x1234...
PK_GENERIC_1=0x1234...
MAINNET_NODE_URL=https://mainnet.infura.io/v3/API_KEY_HERE
Run npm start
inside the smart-contracts
package to start a chain forked from Mainnet.
Run npx truffle migrate --network development
to migrate the contracts to the chain.
Run npm test
inside the smart-contracts
package to run the test.