Skip to content

Latest commit

 

History

History
148 lines (96 loc) · 7.75 KB

README.md

File metadata and controls

148 lines (96 loc) · 7.75 KB

SmartSale

Welcome to the SmartSale repository! This document provides a comprehensive overview of our platform designed for executing batch auctions for fair initial offerings and token buyback programs. SmartSale offers a streamlined user experience in the blockchain ecosystem, making it a foundational tool for price-discovery.

Introduction

SmartSale is crafted to enhance the decentralized finance (DeFi) ecosystem by providing a reliable and fair auction mechanism. By adopting batch auctions, our platform ensures fair price discovery and equitable participation, supporting the democratization of financial systems through blockchain technology.

Features

  • Batch Auction Mechanism: Allows for fair and transparent price setting through batch auctions, ensuring all participants receive equal treatment.
  • Token Buyback Programs: Supports projects in managing their tokenomics by facilitating scheduled buyback auctions.
  • Enhanced User Experience: Simplifies the user interface to accommodate both novice and experienced users in the DeFi space.
  • Open-Source Community: Promotes an open development environment, encouraging contributions and collaborations within the community.

What problem are we solving?

SmartSale addresses critical challenges in the execution of initial token offerings and token buybacks within the DeFi ecosystem.

Problem #1: Traditional financial systems and early blockchain implementations of token sales often lack transparency and fairness in price setting.

Solution: SmartSale employs a batch auction system, proven in market mechanisms, to establish a single clearing price for all participants. This approach ensures transparency and fairness, reflecting true market demand and reducing the likelihood of price manipulation.

Problem #2: Existing platforms like Gnosis Protocol v1 have highlighted the need for enhanced scalability and user experience in managing decentralized auctions.

Solution: Building on the foundational concepts of its predecessors, SmartSale optimizes the auction process to handle a large number of bids efficiently within a single auction. This optimization improves predictability and user experience for all participants.

SmartSale is committed to compliance and security, rigorously adhering to emerging regulations such as MiCA to minimize legal risks for new projects and ensure a stable operational framework.

Project Overview

This document provides an overview of the applications and packages within the project, along with a brief description of the Hardhat setup.

Hardhat (/hardhat)

  • Hardhat: Development environment for Ethereum software, including configurations and scripts for compiling, testing, and deploying smart contracts.

Applications

  • Faucet: Distributes test tokens or currencies in blockchain networks for testing purposes.
  • Indexer: Indexes blockchain data by listening to the network, extracting data from blocks, transactions, and events, and storing it for easy querying.
  • Webapp: Front-end application providing a user interface for displaying blockchain data, interacting with smart contracts.

Services

  • Alchemy: Integrates with the Alchemy SDK for interacting with Ethereum and other blockchain networks.
  • Jobs: Contains background tasks and scheduled processes using Trigger.dev for efficient asynchronous operations.
  • Supabase: Integrates with Supabase for real-time database functionality, authentication, and storage services.

Packages

  • Config: Provides shared configuration.
  • Chains: Contains definitions, interfaces, and utilities for various tokens in the SmartSale ecosystem.
  • Tokens: Includes definitions and utilities for ERC20 token implementations.
  • Auction: Includes auction contracts and utilities.
  • Errors: Contains an error catalog and utilities.
  • Utils: Provides utility functions and helpers.

Tooling

  • Config TypeScript: Offers shared TypeScript configurations for standardizing compilation options across the project.

Requirements

  • Bun: Provides a faster runtime for JavaScript, enhancing development efficiency.
  • Supabase CLI: Facilitates local development and effective database schema management.
  • Docker: Essential for creating isolated environments, ensuring consistent operation across different setups.

Tech Stack

Backend & APIs

  • Supabase
    • Manages authentication and real-time data interactions.
    • Advanced Search: Supports complex queries necessary for managing auction data.

Frontend & Design

Smart Contracts

  • EVM Solidity
    • Utilizes Ethereum's Solidity programming for creating reliable and secure smart contracts essential for auction operations.

DevOps and Tools

Animation

  • Framer Motion for React

  • UseAnimations React Library

Installation

To get started with SmartSale, clone the repository and set up the environment:

git clone https://github.com/bitcashorg/smartsale.git
cd smartsale
bun install

Usage

Kickstart the (overall) development server:

bun run dev

webapp

To run the webapp:

task run app # cd apps/webapp && bun dev

Contributing

We value contributions from the community and encourage participation through code contributions, feedback, and suggestions. Join our collaborative efforts to refine and expand the capabilities of SmartSale.

Join our community on Discord for real-time collaboration: Join us on Discord!

Please ensure to update tests appropriately and adhere to our code of conduct.

License

This project is licensed under the MIT License - see the LICENSE file for

Acknowledgments

This project is a fork of Gnosis Auction Contracts.