Skip to content

maxymkotko/Soroban-Auction-Mint-Contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[![MIT License][license-shield]][license-url] [![Twitter][twitter-shield]][twitter-url]


Litemint Auction Contract

Auction smart contract for the Litemint marketplace on Soroban, implementing timed auctions with support for both ascending and descending price mechanisms.

Note

The contract code was uploaded to this public repo for the Pre-Soroban Mainnet Testing & Feedback Week however please note that the official repos for Litemint smart contracts are hosted by @Litemint Github—will be publicly available with Soroban mainnet release.

About Litemint Auction Contract

Since 2021, the Litemint marketplace has utilized the Stellar DEX for time-based auctions, leveraging time-bound, pre-auth transactions details in our blog. While these auctions offer security and interoperability, they lack flexibilities, such as anti-snipe mechanisms and varied bidding strategies like descending auctions.

The Litemint Auction Contract on Soroban (Stellar's Rust-based smart contracts platform), addresses these limitations. The smart contract enhances the Litemint marketplace while co-existing with our SDEX-based method, offering users a comprehensive and versatile auction experience.

This contract implements a range of features, including:

  • Time-based auctions with decentralized resolution.
  • Descending price auctions (see behavior_descending_price.rs) supporting linear or compound discount, and customizable frequency/rate.
  • Ascending price auctions (see behavior_ascending_price.rs) with "buy now" option.
  • Support for reserve price and ask price.
  • Rust Traits-based behavior for easy auction types extension (search impl for resolve and calculate_price for examples).
  • Anti-snipe mechanism. Auction sniping automatically increases the auction duration (time configurable by admin) and prevents the sniper to either cancel or submit a new bid.
  • Configurable marketplace commission rate.
  • Extendable auction duration by seller.
  • Support for concurrent and cancellable bids.

Getting Started

Prerequisites

  • Rust min 1.71 and Soroban
  • Update Rust for macOS, Linux, or another Unix-like OS
  • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Set up your environment for smart contract development with Soroban on Rust by following the instructions provided in the link below: https://soroban.stellar.org/docs/getting-started/setup

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Litemint Marketplace: https://litemint.com

Join our discord server: https://litemint.gg

Releases

No releases published

Packages

No packages published

Languages