Skip to content

An open-source contract that any EOS project can use to sell its tokens.

License

Notifications You must be signed in to change notification settings

eostarter/eostarter.sale-smart-contract

Repository files navigation

EOS TokenSale Contract

EOSTARTER is developing a Token Sale Smart Contract system that allows for the crowd-sourcing of projects through a token sale that can be configured with different parameters like staking capabilities, whitelisting requirements, token vesting, etc.

You can read about the initial specs of the Smart Contract here:

TOKENSALE PLATFORM - SCOPE OF WORK

Project Description

These contracts are intended to support a decentralized Token Sale platform, which allows users to set up a token sale, determine the token sale parameters, and deploy their sale onto the EOS Mainnet.

The token sale platform is a decentralized application based on an open-source smart contract that any project can use to sell its tokens.

The Web Application repository can be found at the EOS Token Sale Platform GitHub Repo

Situation and Approach

The system requires a project admin , users can can deploy their own token sale contract and assume the admin role or they can use the original contract managed by EOStarter.

Users must deploy and issue their own tokens , EOStater will not have access to token issuance or keys controlling project tokens.

User Flow

User Roles

  • Project Owner
  • Investor
  • Application Administrator

Project Owner

  1. A token contract generator will provide project owners with a copy of the eosio.token contract .
  2. Project owner deploys contract using an account they create and control.
  3. Project owner creates and issues their project tokens.
  4. Project Owner Creates a pool and sets parameters.
  5. Application Admin reviews and approves pool.
  6. Project Owner deposits token to smart contract.
  7. Application Admin reviews and enables token sale.

Investor

  1. Investor applies to participate in a project pool.
  2. Application Admin reviews and whitelists investor account.
  3. Investor agrees to terms.
  4. Investor project purchases tokens with EOS.
  5. Investor receives equivalent amount in project tokens.

Data Model

Smart Contract Actions

User Role Action Description Pre-Conditions Post-Conditions
App Admin adduser add a new user user must not be registered user is registered
App Admin edituser edit an user user must be registered user data is updated
App Admin approvepool approve a pool pool must comply with requirements pool is enabled
App Admin rejectpool reject a pool pool must exist pool is rejected
App Admin startsale start the token sale for a pool launch_date and end_date must be valid users can apply to pool
App Admin endsale end the token sale for a pool launch_date and end_date must be valid immediate vesting will be paid
App Admin approvesubsc approve a subscription user and pool must comply with requirements subscription is enabled
App Admin rejectsubsc reject a subscription subscription must exist subscription is rejected
Project Owner addpool create a new pool Account must exist and be verified pool is pending approval
Project Owner token_contract:transfer deposit project tokens to pool pool must be approved pool can be enabled
Project Owner ownerclaim withdraw EOS tokens from pool pool must have funds and vesting schedule met project is funded
Investor subscribe Apply to a pool Investor must be qualified and agree to terms User is subscribed to a pool
Investor eosio.token:transfer Contribute to a pool Pool must exist and user is verified User can invest in a pool
Investor investorclaim Claim project tokens from a pool Account must have contributed User no longer has tokens in pool

Smart Contract Accounts

The following eosio acconts have been created for smart contracts

EOS Mainnet

Jungle3 testnet

Contributing

Please Read EOS Costa Rica's Open Source Contributing Guidelines.

Please report bugs big and small by opening an issue

About EOSTARTER


EOSTARTER is a Community-powered Incubator and Gamified Launchpad for EOSIO projects.

Visit us at: eostarter.org

About

An open-source contract that any EOS project can use to sell its tokens.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •