const TotalSupply, CurveSupply, PoolSeed, VirtualUgnot0, VirtualToken0, GraduationThreshold, FeeBPS, CreatorFeeShareBPS, ProtocolFeeShareBPS, CreateBondUgnot, BondRefundBuyers, BondRefundMinRaised, BondRefundMaxHeights, AntiSnipeHeights, AntiSnipeMaxBuyBPS, StatusCurve, StatusGraduated, MaxTradeHistory, TradeSideBuy, TradeSideSell, TradeSideOpen, DenomUgnot
1const (
2 // Token economics
3 TotalSupply int64 = 1_000_000_000
4 CurveSupply int64 = 800_000_000 // sold on bonding curve
5 PoolSeed int64 = 200_000_000 // locked into CPMM at graduation
6
7 // Virtual constant-product seed (Pump-style)
8 VirtualUgnot0 int64 = 30_000_000 // 30 GNOT virtual
9 VirtualToken0 int64 = 1_073_000_191 // virtual token side
10
11 // Graduation when net ugnot raised into the curve reaches this.
12 // 50 GNOT — testnet-friendly; raise for production.
13 // Keep below the ugnot needed to exhaust CurveSupply on the virtual CPMM.
14 GraduationThreshold int64 = 50_000_000
15
16 // Fees: 1.20% total. Of the fee: 40% creator, 40% protocol, 20% LP/k remainder.
17 FeeBPS int64 = 120
18 CreatorFeeShareBPS int64 = 4000
19 ProtocolFeeShareBPS int64 = 4000
20
21 // Anti-spam create bond (1 GNOT). Refunded only if quality thresholds met before expire.
22 CreateBondUgnot int64 = 1_000_000
23 BondRefundBuyers int = 5
24 BondRefundMinRaised int64 = 5_000_000 // ≥5 GNOT raised (blocks pure sybil micro-buys)
25 BondRefundMaxHeights int64 = 100_000 // ~ loosely long window; chain-dependent
26
27 // Anti-snipe: first N heights after create, max cumulative tokens per address
28 // (BPS of TotalSupply). Multi-tx from same wallet still capped.
29 AntiSnipeHeights int64 = 20
30 AntiSnipeMaxBuyBPS int64 = 500 // 5% of total supply per address in window
31
32 // Status
33 StatusCurve = 0
34 StatusGraduated = 1
35
36 // Trade history cap for per-token price charts (ring buffer).
37 MaxTradeHistory = 128
38 // Trade sides stored in history
39 TradeSideBuy = 0
40 TradeSideSell = 1
41 TradeSideOpen = 2 // initial listing mark
42
43 DenomUgnot = "ugnot"
44)