MIT License Twitter

litemint-soroban-contracts

Build Status

Official repo hosting the open source code of Litemint smart contracts powering the Litemint marketplace and games.

Licensed under MIT. This software is provided "AS IS", no liability assumed. More details.

Getting Started

Dependencies

soroban-kit

soroban-kit provides fast, lightweight functions and macros with lean, targeted functionality for Soroban smart contract development: https://github.com/FredericRezeau/soroban-kit.

Litemint smart contracts use the following features from soroban-kit:

  • commitment-scheme to implement sealed bid auctions.
  • state-machine to manage auction phases.
  • storage for type safety with storage operations.
  • circuit-breaker for pausable smart contracts.
  • oracles to manage market price feed.

Running tests and building

From the workspace root:

  1. Cloning the Repository:
    git clone https://github.com/Litemint/litemint-soroban-contracts.git
  2. Building the contracts:
    soroban contract build
  3. Running Tests:
    cargo test -- --nocapture

Smart contracts

litemint-auction-contract

This contract implements timed auctions with support for both open and sealed bid auctions, ascending and descending price mechanisms with linear or compound discount, customizable frequency/rate, buy now option, concurrent and cancellable bids, configurable marketplace commission rate, extendable auctions, easy behaviors plugin via strategy design pattern. For further details, check out the source and documentation.

litemint-royalty-contract

This contract implements multiple royalty payment schemes for non-fungible tokens, including fixed, subscription, and percentage-based models. A key feature is its ability to enforce royalty payments without isolating NFTs from the Stellar DEX. Our approach ensures that NFT creators and collectors can freely hold and trade their NFTs from any Stellar DEX compatible service, enjoying an unrestricted sales funnel. For further details, check out the source and documentation.

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/feature)
  3. Commit your Changes (git commit -m 'Add some feature')
  4. Push to the Branch (git push origin feature/feature)
  5. Open a Pull Request

License

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

Contact

LitemintHQ on X - @LitemintHQ

Litemint Marketplace: https://litemint.com

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