Bonding Curve Token in Smart contract
目的
適当なBonding curveをスマコンで実装する
とりあえず供給量に対して価格が線形なものを作る
できれば、フロント側も
要件
価格が総供給量に比例したものになる
買うことができる
買うときはスマコンはmintし、購入者からトークンを受け取りプールに保存
売ることができる
売るときはスマコンはburnし、購入者にベーストークンをプール送る
バランス確認
Transfer
TransferFrom
Approve
TransferFromできる権限を委譲する
Allowance
approveで送るトークンの額を確認できる
Mint
スマコンだけができる
Burn
スマコンだけができる
Buy/Sell
Mint/Burnも一緒に
amount = (price + ?price_next) * ?supply /2
alpha = (price_next - price) / supply
supply = (price_next - price) / alpha
price_next = alpha * supply + price
amount = (2 *price +alpha * supply) * supply /2
= price + alpha * suppply^2/2
2 * amount = 2* price + alpha * suppply^2
supply = 1, 2, 3...
price_next = 1, 2, 3...
amount = (price + price_next) * (price_next - price) / (2 * alpha)
= (price_next^2 - price^2)/2 alpha