Implement an on-chain sealed bid batch auction using RSA encryption to conceal bids until after the auction concludes.
Design
The general idea of a marginal price batch auction has been detailed in other design documents and issues, such as #19 and #24, in slightly different flavors. Within the repo, the design/SEALED_VERSIONS.md and design/LSBBA.md documents detail more about this particular version.
Tasks
Features
Significant progress has been made in PR #23. Remaining items include:
[x] Add required events on the LSBBA auction module or AuctionHouse as appropriate. See design/LSBBA.md for more info.
[x] Determine if we can simplify the priority queue to use the existing bid IDs instead of creating new ones.
[x] Change cancelBid to delete the bid data (so it doesn't have to be decrypted) and issue the user a refund immediately.
[x] Change cancelAuction to only be allowed until the auction starts.
Testing
[x] Create auction
[x] Cancel auction
[x] Bid
[x] Cancel Bid
[x] Decrypt Bids
[x] Settle
In addition to the auction contract, we need to thoroughly test the new libraries that we are using for it:
Objective
Implement an on-chain sealed bid batch auction using RSA encryption to conceal bids until after the auction concludes.
Design
The general idea of a marginal price batch auction has been detailed in other design documents and issues, such as #19 and #24, in slightly different flavors. Within the repo, the
design/SEALED_VERSIONS.md
anddesign/LSBBA.md
documents detail more about this particular version.Tasks
Features
Significant progress has been made in PR #23. Remaining items include:
design/LSBBA.md
for more info.cancelBid
to delete the bid data (so it doesn't have to be decrypted) and issue the user a refund immediately.cancelAuction
to only be allowed until the auction starts.Testing
In addition to the auction contract, we need to thoroughly test the new libraries that we are using for it: