[Feature] Bounded Curve Token sale contract

First implemented by Bancor in ethereum - it allows issuance of tokens through a buy and a sell curves implemented as functions in a smart contract.
To buy tokens, you send ether to the buy function which calculates the average price of the token in ether terms and issues you with the correct amount.

The sell function works in reverse: first, you provide the bonding contract with permission to take the number of tokens you want to sell and then you trigger the function to take those tokens from you.
The contract will calculate the current average selling price and will send you the correct amount of ether.

Same functionality we want to be possible in superhero - allow tokenizations and token sales via bonding curves with few clicks.

Use cases:
Allow user to create their token sales campaigns for fundraising purposes based on financial derivatives

Possible implementations - infinite (possible to buy and sell) and end time (sell only)

Proposal Status

Status: Inception

Last updated: 12.08.2020

Team: designers, frontend, backend

Approved Budget (in h): 0

Used Budget (in h): 0

Planned Delivery: 2020 (TBD)

Motivation

Implication

Describe here what should be done

Initial Proposal Scope v1:

User story:

  1. Specify different curves formulas for buy and sell in contract
  2. Provide users with contract templates

Estimate:

Design: TBD

Frontend: TBD

Backend: TBD

Token sale for what? What are the requirements here?