This is an CosmWasm smartcontract implementing a candle auction logic.
With this contract, one can set up a candle auction for a NFT collection or a domain name!
Everyone can calling Auction message. Then before the auction has started, transfer the nft to be auctioned into the contract and add it, and add the callback message {id: $[auction_id]},
During the duration of the auction, the bidder can bid(CW20 callback or BidForDenom
), but the bid must be greater than the previous bid
After the auction, Anyone can blowing out the auction candle. The contract will call the random number of the external oracle to confirm auction end time.
end_time = auction_start_time+ random_num % auction_duration
The auction winner is the one with the highest bid less than the end time
- Auction1: refunds for non-winners.
- Auction2: Transfer nft to winner.
- Auction3: Transfer bid currency to seller.
- Support multiple nft auctions at one time.
- Support multiple payment. denom/cw20.
1: Run check and test
make all
2: Build
sh optimize