Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

params.gno

1.69 Kb · 48 lines
 1package padv6
 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	// padv4 testnet default: 50 GNOT. padv5 deploy script patches to 100 GNOT.
18	// Keep below the ugnot needed to exhaust CurveSupply on the virtual CPMM.
19	GraduationThreshold int64 = 100_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 padv4). padv5 deploy patches to 2 GNOT.
27	CreateBondUgnot      int64 = 2_000_000
28	BondRefundBuyers     int   = 5
29	BondRefundMinRaised  int64 = 10_000_000 // ≥5 GNOT raised
30	BondRefundMaxHeights int64 = 100_000
31
32	// Anti-snipe: first N heights, max cumulative tokens per address (BPS of TotalSupply).
33	AntiSnipeHeights   int64 = 30
34	AntiSnipeMaxBuyBPS int64 = 300 // 5% per address in window
35
36	// Status
37	StatusCurve     = 0
38	StatusGraduated = 1
39
40	// Trade history ring buffer (padv4: 128; padv5 deploy patches to 256).
41	MaxTradeHistory = 256
42	// Trade sides stored in history
43	TradeSideBuy  = 0
44	TradeSideSell = 1
45	TradeSideOpen = 2 // initial listing mark
46
47	DenomUgnot = "ugnot"
48)