PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt/gnomi/padv3

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
padv3
Namespace
g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt / gnomi
Files
7 (gnomod.toml)
Exported functions
78
Module
gno.land/r/g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt/gnomi/padv3
gno
0.9
This realm implements 3 recognized tokens.GCAT →GDOG →GNOMI →

Files (7)

  • gnomod.tomltoml
  • gnoswap_list.gnogno
  • list_venue.gnogno
  • memepad.gnogno
  • params.gnogno
  • render.gnogno
  • zdex_list.gnogno
params.gnogno
1package padv3
2
3// Protocol parameters.
4// Defaults are compile-time constants; GraduationThreshold and ListFeeGns also have
5// live copies set in Init and adjustable by protocol via SetGraduationThreshold /
6// SetListFeeGns (see memepad.gno). Bond create fee is owned by the bond realm.
7
8const (
9	// Token economics
10	TotalSupply int64 = 1_000_000_000
11	CurveSupply int64 = 800_000_000 // sold on bonding curve
12	// PoolSeed is legacy. Graduation sizes LP tokens to curve spot
13	// (raised * VirtualToken / VirtualUgnot); unsold remainder = LeftoverTokens.
14	PoolSeed int64 = 200_000_000
15
16	// Virtual constant-product seed (Pump-style).
17	// Max net raise when selling full CurveSupply:
18	//   R = VirtualUgnot0 * CurveSupply / (VirtualToken0 - CurveSupply)
19	// Mainnet: VU0≈102.375e9 + VT0≈1.073e9 => max raise ≈300k GNOT so20	// DefaultGraduationThreshold 300_000 GNOT is reachable before sold-out.21	VirtualUgnot0 int64 = 102_375_071_625 // mainnet: max raise ≥ 300k GNOT22	VirtualToken0 int64 = 1_073_000_191 // virtual token side
23
24	// Default graduation raise (ugnot). Live value starts here in Init;
25	// protocol may call SetGraduationThreshold afterward.
26	GraduationThreshold int64 = 300_000_000_000 // 300_000 GNOT (SetGraduationThreshold later)27
28	// Fees: 1.20% total. Of the fee: 40% creator, 40% protocol, 20% LP/k remainder.
29	FeeBPS              int64 = 120
30	CreatorFeeShareBPS  int64 = 4000
31	ProtocolFeeShareBPS int64 = 4000
32
33	// Fallback create bond for unit tests / if bond realm unavailable.
34	// Production pad uses createbond.CurrentBondUgnot() (see bond package).
35	// Sapphire normal bond = 2 GNOT; promo ~ $20 in ugnot set on bond.StartPromo.
36	CreateBondUgnot int64 = 150_000_000 // 150 GNOT fallback; live = bond realm
37	BondRefundBuyers     int   = 5
38	BondRefundMinRaised  int64 = 5_000_000 // >=5 GNOT raised
39	BondRefundMaxHeights int64 = 100_000
40
41	// Anti-snipe: first N heights, max cumulative tokens per address (BPS of TotalSupply).
42	AntiSnipeHeights   int64 = 20
43	AntiSnipeMaxBuyBPS int64 = 500 // 5% per address in window
44
45	// Status
46	StatusCurve     = 0
47	StatusGraduated = 1
48
49	// Trade history ring buffer.
50	MaxTradeHistory = 128
51	// Trade sides stored in history
52	TradeSideBuy  = 0
53	TradeSideSell = 1
54	TradeSideOpen = 2 // initial listing mark
55
56	DenomUgnot = "ugnot"
57
58	// --- Gnoswap auto-list (Sapphire) ---
59	// Curve collateral is WUGNOT (Buy TransferFrom). At graduate, pad already holds
60	// raised WUGNOT for LP - no realm self-wrap needed.
61	// CreatePool fee is fixed in GNS (typically 100e6 = 100 GNS):
62	//   Fee = pre-funded GNS on pad OR surplus WUGNOT (fees retained) ExactOut -> GNS
63	GnoswapFeeTier     uint32 = 3000 // 0.3% meme tier
64	GnoswapTickSpacing int32  = 60
65	GnoswapMinTick     int32  = -887272
66	GnoswapMaxTick     int32  = 887272
67	// Max WUGNOT used as ExactOut maxIn for fee buy (ceiling / slippage).
68	// Prefer pre-funding >=100 GNS on pad so LP depth stays = raised.
69	GnoswapMaxFeeWugnot int64 = 1_500_000_000 // 1500 GNOT
70
71	// Create-time GNS list fee escrow (padv20+).
72	// Creator must Transfer >= ListFeeGns free GNS to pad before Create.
73	// Locked per-launch until Gnoswap list consumes it, or ClaimListFee refunds creator.
74	// Matches typical gnspool.GetPoolCreationFee() (100 GNS, 6 decimals).
75	ListFeeGns int64 = 100_000_000
76)
77

Functions

  • AdenaPathOf(id string) string

  • AdminInfo() string

  • Allowance(id string, owner string, spender string) int64

  • Approve(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, spender string, amount int64)

  • BalanceOf(id string, owner string) int64

  • Buy(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, amountWugnot int64, minTokensOut int64) int64

  • ClaimCreatorFees(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string) int64

  • ClaimListFee(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string) int64

  • ClaimProtocolFees(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) int64

  • ClaimWugnot(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) int64

  • ConfirmZdexList(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, poolId string)

  • Create(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, name string, symbol string, uri string) string

  • CreateBondRequired() int64

  • CreateWithVenue(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, name string, symbol string, uri string, venueId string) string

  • DefaultListVenue() string

  • FeeInfo() string

  • FreeGns() string

  • FreeWugnot() string

  • GetCreatorFees(id string) int64

  • GetPool(id string) (ugnot int64, token int64)

  • GetRaised(id string) int64

  • GetStatus(id string) int

  • GnoswapListedOf(id string) bool

  • GnoswapNoteOf(id string) string

  • GnoswapPoolPathOf(id string) string

  • Graduate(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string)

  • GraduationThresholdLive() int64

  • GRC20Bank(id string) *gno.land/p/nt/grc20/v0.Token

  • Init(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

  • IsProtocol(addr string) bool

  • LaunchCount() int

  • LaunchInfo(id string) string

  • ListBuyers(id string) string

  • ListedOf(id string) bool

  • ListFeeRequired() int64

  • ListFeeRequiredFor(venueId string) int64

  • ListIDs() string

  • ListNeed(id string) string

  • ListNeedFor(id string, venueId string) string

  • ListNoteOf(id string) string

  • ListPoolPathOf(id string) string

  • ListSeedReleasedOf(id string) bool

  • ListVenueOf(id string) string

  • ListVenues() string

  • PadAddress() string

  • ParamsInfo() string

  • PointsEnabled() bool

  • PreferredVenueOf(id string) string

  • PrepaidBalance(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) int64

  • PrepaidOf(addr string) int64

  • ProtocolAddress() string

  • ProtocolBondFees() int64

  • ProtocolFees() int64

  • ProtocolFeesPaid() int64

  • PushProtocolFees(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) int64

  • ReleaseListSeed(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string)

  • RemainingRaiseUgnot(id string) int64

  • Render(path string) string

  • ReservedUgnot() int64

  • ResolveSymbol(symbol string) string

  • RetryList(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, venueId string) bool

  • RetryListGnoswap(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string) bool

  • Sell(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, tokensIn int64, minWugnotOut int64) int64

  • SetDefaultListVenue(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, venueId string)

  • SetGraduationThreshold(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, ugnot int64)

  • SetListFeeGns(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, gns int64)

  • SetListVenue(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, label string, enabled bool, feeAssetHint string)

  • SetPointsEnabled(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, on bool)

  • SetPreferredVenue(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, venueId string)

  • SwapBuy(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, amountWugnot int64, minTokensOut int64) int64

  • SwapSell(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, tokensIn int64, minWugnotOut int64) int64

  • TokenIDOf(id string) string

  • TradeCount(id string) int

  • TradeHistory(id string) string

  • Transfer(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, to string, amount int64)

  • TransferFrom(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, id string, from string, to string, amount int64)

  • TransferProtocol(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newAddr string)

  • WithdrawProtocolUgnot(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, amount int64) int64

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

Rendered

RenderedRawgnoweb ↗

vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.