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