This contract is my submission to GitCoin's Round 13 Hackathon "Token Auction" bounty.
- Change a bid as many times as you want
- Cancel a bid before the expiration date
- Set a minimum price
- Partial refunds in case of being partially outbid
- Extremely efficient methods (
O(log n)
bidding andO(n)
collection) - Simulate collection without actually executing it
- Getters for UIs
git clone https://github.com/samuelemarro/gr13-vite-token-auction
- Download the soliditypp 8.0.0 preview extension for VSCode
- Follow the extension's guide to setup a launch.json file
- Hit F5
npm run test
Note: the current Vite node implementation has a nondeterministic response time. This means that the execution time can vary significantly between runs, leading to some tests occasionally failing. In such cases:
- Try launching the tests again, either as part of the whole test suite or on their own with
--grep
- Increase the timeout in mocharc.nightly.json
Since the node's timestamp cannot be set reliably, for testing purposes the contract uses a variable (which can be set) in place of the real block timestamp. In order to obtain the production-ready contract code, simply comment and uncomment the lines as stated in TokenAuction.solpp.