wugnotTokenKey
untyped stringSapphire Gnoswap registry keys / role addresses (sapphire-1).
Value
"gno.land/r/gnoland/wugnot.wugnot"
gnsTokenKey
untyped stringSapphire Gnoswap registry keys / role addresses (sapphire-1).
Value
"gno.land/r/gnoswap/gns.GNS"
gnoswapPoolAddrStr
untyped stringSapphire Gnoswap registry keys / role addresses (sapphire-1).
Value
"g1dexaf6aqkkyr9yfy9d5up69lsn7ra80af34g5v"
gnoswapRouterAddrStr
untyped stringSapphire Gnoswap registry keys / role addresses (sapphire-1).
Value
"g1vc883gshu5z7ytk5cdynhc8c2dh67pdp4cszkp"
listFund
typelistFund tracks assets pulled from the listing caller for refund / LP ugnot reimburse.
Value
padv2.listFund
tryListOnGnoswap
func(l *padv2.Launch, raisedUgnot int64, remainingTokens int64) booltryListOnGnoswap seeds a Gnoswap CL pool with remaining meme tokens + raised-sized WUGNOT as LP. CreatePool fee (fixed GNS amount) is paid from: 1. pre-funded GNS on pad (preferred - immune to GNOT/GNS price moves), else 2. ExactOut WUGNOT->GNS using SURPLUS inventory only (above raised), so LP depth stays equal to raised even when GNS is expensive. Returns true on success. Soft failure sets l.GnoswapNote and returns false (caller keeps internal CPMM). Does not pull from user - see prepareCallerListFunding.
- OID
- 051616…490f:3
tryListOnGnoswap details
prepareCallerListFunding
func(l *padv2.Launch, raisedUgnot int64) padv2.listFundprepareCallerListFunding fills pad inventory shortfall from the EOA caller via TransferFrom. padv14+ WUGNOT raise: Buy already TransferFrom WUGNOT to pad, so wBal >= raised at graduate in the normal case — only GNS fee (or small fee WUGNOT budget) may be short. Legacy ugnot-raise pads: wugnot.Deposit is EOA-only; caller wraps temp LP then reimbursed.
- OID
- 051616…490f:5
prepareCallerListFunding details
listFeeWugnotPull
func() int64listFeeWugnotPull is the WUGNOT amount pulled from the listing caller for ExactOut → GNS when they do not hold CreatePool fee in GNS. Kept well below GnoswapMaxFeeWugnot so List does not demand 5k+ GNOT wrap.
- OID
- 051616…490f:6
listFeeWugnotPull details
pullWugnotFrom
func(from .uverse.address, to .uverse.address, amount int64) boolpullWugnotFrom is intentionally a no-op pull. GRC20 TransferFrom from a realm often panics "insufficient allowance" even when Allowance(owner, pad) is set (spender frame resolves to EOA, not pad). Soft-fail instead so list can fall back to notes / surplus / pre-funded pad inventory. UI must pre-fund pad via wugnot.Transfer(pad, amount) and gns.Transfer(pad, fee) before RetryListGnoswap — never rely on Approve+TransferFrom in the same flow.
- OID
- 051616…490f:7
pullWugnotFrom details
pullGnsFrom
func(from .uverse.address, to .uverse.address, amount int64) bool- OID
- 051616…490f:8
pullGnsFrom details
safeWugnotTransfer
func(to .uverse.address, amount int64)- OID
- 051616…490f:9
safeWugnotTransfer details
safeGnsTransfer
func(to .uverse.address, amount int64)- OID
- 051616…490f:10
safeGnsTransfer details
refundCallerListFunding
func(fund padv2.listFund)- OID
- 051616…490f:11
refundCallerListFunding details
settleCallerListFunding
func(fund padv2.listFund)settleCallerListFunding returns unused fee-budget WUGNOT to the caller. LP shortfall pull is rare on WUGNOT-raise pads (raised already on pad); if it happened, reimburse in WUGNOT from any leftover pad balance after list.
- OID
- 051616…490f:12
settleCallerListFunding details
listOnGnoswapWithFunding
func(l *padv2.Launch, raisedUgnot int64, remainingTokens int64) boollistOnGnoswapWithFunding is the full auto path: pull inventory from caller if needed, CreatePool+Mint, reimburse LP ugnot / refund on failure.
- OID
- 051616…490f:13
listOnGnoswapWithFunding details
listNeedOf
func(l *padv2.Launch) stringlistNeedOf: poolU|wHave|wNeedLp|gnsHave|gnsNeed|feeGns|feeWugnotBudget|padAddr
- OID
- 051616…490f:14
listNeedOf details
ListNeed
func(id string) stringListNeed is the public query for the Token list wizard (default venue).
- OID
- 051616…490f:15
ListNeed details
ListNeedFor
func(id string, venueId string) stringListNeedFor is venue-aware; only gnoswap has a Need adapter today.
- OID
- 051616…490f:16
ListNeedFor details
ListedOf
func(id string) boolListedOf reports whether the launch is listed on any venue.
- OID
- 051616…490f:17
ListedOf details
ListPoolPathOf
func(id string) stringListPoolPathOf returns the pool path after listing.
- OID
- 051616…490f:18
ListPoolPathOf details
ListNoteOf
func(id string) stringListNoteOf returns the listing status note.
- OID
- 051616…490f:19
ListNoteOf details
swapWugnotForGNS
func(amountOutGNS int64, maxInWugnot int64) (spent int64, ok bool)- OID
- 051616…490f:20
swapWugnotForGNS details
computeSqrtPriceX96
func(amount0 int64, amount1 int64) string- OID
- 051616…490f:21
computeSqrtPriceX96 details
u256Sqrt
func(x *v1.Uint) *v1.Uint- OID
- 051616…490f:22
u256Sqrt details
alignedFullRangeTicks
func(spacing int32) (int32, int32)- OID
- 051616…490f:23
alignedFullRangeTicks details
GnoswapListedOf
func(id string) boolGnoswapListedOf reports whether a launch was auto-listed on Gnoswap.
- OID
- 051616…490f:24
GnoswapListedOf details
GnoswapPoolPathOf
func(id string) stringGnoswapPoolPathOf returns the Gnoswap pool path after listing (or empty).
- OID
- 051616…490f:25
GnoswapPoolPathOf details
GnoswapNoteOf
func(id string) stringGnoswapNoteOf returns the listing status note.
- OID
- 051616…490f:26
GnoswapNoteOf details
VenueGnoswap
untyped stringListVenue IDs (compile-time switch in tryListVenue). Adding a new DEX means a new case + adapter file and a new pad version — Gno cannot dynamically import by path string.
Value
"gnoswap"
VenueZdex
untyped stringListVenue IDs (compile-time switch in tryListVenue). Adding a new DEX means a new case + adapter file and a new pad version — Gno cannot dynamically import by path string.
Value
"zdex"
listVenueMeta
typelistVenueMeta is registry metadata (not a callable adapter).
Value
padv2.listVenueMeta
listVenues
v0.Tree// id -> \*listVenueMeta
- OID
- 051616…490f:28
listVenues details
defaultListVenue
stringValue
"zdex"
ensureListVenuesSeeded
func()- OID
- 051616…490f:30
ensureListVenuesSeeded details
registerListVenue
func(id string, label string, enabled bool, feeHint string)- OID
- 051616…490f:32
registerListVenue details
normalizeVenueID
func(venueId string) string- OID
- 051616…490f:33
normalizeVenueID details
venueEnabled
func(venueId string) bool- OID
- 051616…490f:34
venueEnabled details
DefaultListVenue
func() stringDefaultListVenue returns the venue id used when callers pass "".
- OID
- 051616…490f:35
DefaultListVenue details
SetDefaultListVenue
func(venueId string)SetDefaultListVenue sets the default list venue (protocol only).
- OID
- 051616…490f:36
SetDefaultListVenue details
SetListVenue
func(id string, label string, enabled bool, feeAssetHint string)SetListVenue registers or updates venue metadata (protocol only). Does not add compile-time dispatch — unknown ids stay non-listable until tryListVenue gains a case in a future pad version.
- OID
- 051616…490f:37
SetListVenue details
ListVenues
func() stringListVenues returns newline-separated "id|label|enabled|feeHint" (enabled 0|1).
- OID
- 051616…490f:38
ListVenues details
ListVenueOf
func(id string) stringListVenueOf returns the venue id used for a successful list (or "").
- OID
- 051616…490f:39
ListVenueOf details
resetListVenuesForTest
func()resetListVenuesForTest clears venue registry (unit tests).
- OID
- 051616…490f:40
resetListVenuesForTest details
tryListVenue
func(l *padv2.Launch, venueId string, raisedUgnot int64, liqTokens int64) booltryListVenue dispatches to a compile-time adapter. Unknown / disabled venues soft-fail with a note (no panic) so UI can show ListNeed guidance.
- OID
- 051616…490f:41
tryListVenue details
launches
v0.Tree// id -> \*Launch
- OID
- 051616…490f:43
launches details
bySymbol
v0.Tree// symbol -> id string
- OID
- 051616…490f:45
bySymbol details
nextID
v0.IDValue
<zero>
nextTokenID
v0.ID// GRC20 identity sequence (shared for all launches)
Value
<zero>
padAddr
.uverse.addressValue
<gnolang.StringValue>
protocolAddr
.uverse.addressValue
<gnolang.StringValue>
protocolFees
int64Value
0
protocolBondFees
int64Value
0
protocolFeesPaid
int64Value
0
inited
boolValue
true
testSkipBanker
boolValue
false
testForceGnoswapList
boolValue
false
testForceZdexList
boolValue
false
pointsEnabled
boolValue
false
graduationUgnot
int64Value
300000000000
listFeeGnsLive
int64Value
100000000
wugnotCredit
v0.Tree- OID
- 051616…490f:61
wugnotCredit details
totalWugnotCredit
int64Value
0
totalListFeeGns
int64Value
0
init.63
func()- OID
- 051616…490f:64
init.63 details
Trade
typeTrade is one price sample for charts (capped history per launch).
Value
padv2.Trade
Launch
typeLaunch is one meme market: curve phase then locked pool phase. token/ledger are unexported so external packages cannot Mint/Burn via field access.
Value
padv2.Launch
Init
func()Init sets the protocol treasury. First EOA caller becomes fee recipient (protocolAddr). Protocol trade fees accrue on-pad until ClaimProtocolFees (treasury only) or PushProtocolFees (anyone may push to treasury). Creator fees always need ClaimCreatorFees by the token creator. Deploy note: call Init with the wallet that should receive protocol fees (or TransferProtocol later). Gnoswap CreatePool GNS fee is paid to Gnoswap, not to this treasury.
- OID
- 051616…490f:66
Init details
requireProtocol
func()- OID
- 051616…490f:67
requireProtocol details
graduationThreshold
func() int64graduationThreshold is the live raise target (ugnot). Falls back to const if unset.
- OID
- 051616…490f:68
graduationThreshold details
SetGraduationThreshold
func(ugnot int64)SetGraduationThreshold updates the live raise target (ugnot, 1 GNOT = 1e6). Protocol/deploy wallet only. Affects open curve launches (remaining raise / ready).
- OID
- 051616…490f:69
SetGraduationThreshold details
GraduationThresholdLive
func() int64GraduationThresholdLive returns the live raise target (ugnot) for UIs/qeval.
- OID
- 051616…490f:70
GraduationThresholdLive details
SetListFeeGns
func(gns int64)SetListFeeGns updates Create-time GNS escrow required for new launches. Protocol/deploy wallet only. Does not change already-escrowed launches.
- OID
- 051616…490f:71
SetListFeeGns details
creditProtocol
func(amt int64)creditProtocol accrues protocol ugnot liability on the pad realm. Cash stays in pad until ClaimProtocolFees / PushProtocolFees.
- OID
- 051616…490f:72
creditProtocol details
creditBondFee
func(amt int64)creditBondFee books create-bond bank ugnot as platform fee (not WUGNOT-reserved).
- OID
- 051616…490f:73
creditBondFee details
requireInit
func()- OID
- 051616…490f:74
requireInit details
SetPointsEnabled
func(on bool)SetPointsEnabled toggles pointsv2 notifications (protocol admin only). pointsv2 must AllowPad(this package path) or OnTrade/OnCreate will panic and revert the trade.
- OID
- 051616…490f:75
SetPointsEnabled details
PointsEnabled
func() boolPointsEnabled reports whether pad notifies pointsv2 after trades/creates.
- OID
- 051616…490f:76
PointsEnabled details
notifyTrade
func(trader .uverse.address, id string, side int64, volumeUgnot int64)- OID
- 051616…490f:77
notifyTrade details
notifyCreate
func(creator .uverse.address, id string)- OID
- 051616…490f:78
notifyCreate details
mustLaunch
func(id string) *padv2.Launch- OID
- 051616…490f:79
mustLaunch details
balOf
func(l *padv2.Launch, addr .uverse.address) int64- OID
- 051616…490f:80
balOf details
addBal
func(l *padv2.Launch, addr .uverse.address, delta int64)addBal mints (delta>0) or burns (delta\<0) GRC20 via pad-owned PrivateLedger.
- OID
- 051616…490f:81
addBal details
requireMinOut
func(got int64, minOut int64, what string)- OID
- 051616…490f:82
requireMinOut details
snipeBoughtOf
func(l *padv2.Launch, buyer .uverse.address) int64- OID
- 051616…490f:83
snipeBoughtOf details
checkAndAddSnipe
func(l *padv2.Launch, buyer .uverse.address, tokensOut int64)- OID
- 051616…490f:84
checkAndAddSnipe details
sendUgnot
func(to .uverse.address, amount int64)- OID
- 051616…490f:85
sendUgnot details
requireUserPayment
func() int64- OID
- 051616…490f:86
requireUserPayment details
reservedWugnot
func() int64reservedWugnot is WUGNOT already committed (markets/fees/user prepaid credits). Excludes bank-only liabilities (create bond ugnot).
- OID
- 051616…490f:87
reservedWugnot details
freeWugnotOnPad
func() int64freeWugnotOnPad is WUGNOT on pad above reserved commitments. After user wugnot.Transfer(pad, amt), free rises; Buy locks free into caller credit.
- OID
- 051616…490f:88
freeWugnotOnPad details
FreeWugnot
func() stringFreeWugnot is free|have|reserved|totalCredit for UI preflight.
- OID
- 051616…490f:89
FreeWugnot details
prepaidOf
func(addr .uverse.address) int64- OID
- 051616…490f:90
prepaidOf details
addPrepaid
func(addr .uverse.address, amount int64)- OID
- 051616…490f:91
addPrepaid details
subPrepaid
func(addr .uverse.address, amount int64)- OID
- 051616…490f:92
subPrepaid details
PrepaidBalance
func() int64PrepaidBalance returns caller's claimable WUGNOT credit on this pad.
- OID
- 051616…490f:93
PrepaidBalance details
PrepaidOf
func(addr string) int64PrepaidOf returns claimable credit for an address (read helper).
- OID
- 051616…490f:94
PrepaidOf details
ClaimWugnot
func() int64ClaimWugnot withdraws all of the caller's prepaid WUGNOT credit to their wallet. Safe after Buy overpay or after graduate/list — excess stays claimable until claimed.
- OID
- 051616…490f:95
ClaimWugnot details
takeWugnotIn
func(amount int64) int64takeWugnotIn collects amount WUGNOT as payment for Buy/SwapBuy. 1\) Auto-lock free float into caller's prepaid (user must Transfer to pad first). 2) Spend amount from prepaid (overpay stays as credit via creditRefund). No TransferFrom. Tests (testSkipBanker): OriginSend ugnot as synthetic collateral units.
- OID
- 051616…490f:96
takeWugnotIn details
creditRefund
func(buyer .uverse.address, amount int64)creditRefund keeps unused Buy WUGNOT as claimable prepaid (not instant wallet refund). User calls ClaimWugnot after buy / after list when convenient.
- OID
- 051616…490f:97
creditRefund details
payWugnotOut
func(to .uverse.address, amount int64)payWugnotOut sends WUGNOT from pad to user (production). Tests: pay ugnot via banker when testSkipBanker.
- OID
- 051616…490f:98
payWugnotOut details
noteBuyer
func(l *padv2.Launch, buyer .uverse.address)- OID
- 051616…490f:99
noteBuyer details
tradeKey
func(n int64) string- OID
- 051616…490f:100
tradeKey details
spotPriceScaled
func(l *padv2.Launch) int64spotPriceScaled returns ugnot/token \* 1e6 from current curve or pool reserves.
- OID
- 051616…490f:101
spotPriceScaled details
recordTrade
func(l *padv2.Launch, side int, ugnot int64, tokens int64)- OID
- 051616…490f:102
recordTrade details
maybeRefundBond
func(*padv2.Launch)maybeRefundBond is a no-op: create bond is a platform fee (credited to protocol at Create). Kept so Buy call sites stay stable across cuts.
- OID
- 051616…490f:103
maybeRefundBond details
requiredCreateBond
func() int64requiredCreateBond returns ugnot the creator must send. Production: createbond.CurrentBondUgnot() (promo or normal). Unit tests (testSkipBanker): local CreateBondUgnot constant.
- OID
- 051616…490f:104
requiredCreateBond details
CreateBondRequired
func() int64CreateBondRequired is a public alias for UIs / qeval (same as requiredCreateBond).
- OID
- 051616…490f:105
CreateBondRequired details
requiredListFeeGns
func() int64requiredListFeeGns returns GNS base units the creator must pre-fund (free on pad). Live value from SetListFeeGns; falls back to ListFeeGns const.
- OID
- 051616…490f:106
requiredListFeeGns details
ListFeeRequired
func() int64ListFeeRequired is a public alias for UIs / qeval.
- OID
- 051616…490f:107
ListFeeRequired details
freeGnsOnPad
func() int64freeGnsOnPad is GNS on pad above per-launch list-fee escrow.
- OID
- 051616…490f:108
freeGnsOnPad details
FreeGns
func() stringFreeGns returns free|have|reserved for UI preflight (GNS list fee).
- OID
- 051616…490f:109
FreeGns details
lockListFeeEscrow
func(l *padv2.Launch, amt int64)lockListFeeEscrow earmarks free GNS for this launch's CreatePool fee.
- OID
- 051616…490f:110
lockListFeeEscrow details
listFeeForVenue
func(venueId string) int64listFeeForVenue: gnoswap → ListFeeRequired; zdex / other → 0.
- OID
- 051616…490f:111
listFeeForVenue details
ListFeeRequiredFor
func(venueId string) int64ListFeeRequiredFor is venue-aware Create fee for UI preflight.
- OID
- 051616…490f:112
ListFeeRequiredFor details
unlockListFeeEscrow
func(l *padv2.Launch, refund bool)unlockListFeeEscrow clears launch GNS escrow; refund sends GNS back to creator.
- OID
- 051616…490f:113
unlockListFeeEscrow details
syncListFeeForVenue
func(l *padv2.Launch, vid string)syncListFeeForVenue adjusts escrow after PreferredVenue change (pre-list only).
- OID
- 051616…490f:114
syncListFeeForVenue details
consumeListFeeEscrow
func(l *padv2.Launch)consumeListFeeEscrow clears launch escrow after successful Gnoswap list (CreatePool spent feeNeed GNS from pad balance).
- OID
- 051616…490f:115
consumeListFeeEscrow details
ClaimListFee
func(id string) int64ClaimListFee refunds Create-time GNS escrow to the token creator if still unlisted. Use when graduate/list will not complete or creator abandons listing.
- OID
- 051616…490f:116
ClaimListFee details
Create
func(name string, symbol string, uri string) stringCreate deploys a fair-launch meme. Create bond (bond realm / fallback const) is a platform fee credited to protocol immediately (not refundable escrow). Also locks ListFeeGns free GNS when venue requires it (creator Transfer GNS first). No pre-mint; all tradeable float starts on the bonding curve.
- OID
- 051616…490f:117
Create details
CreateWithVenue
func(name string, symbol string, uri string, venueId string) stringCreateWithVenue is Create + PreferredVenue in one MsgCall (fee escrow follows venue). venueId: "zdex" → no GNS list escrow; "gnoswap" → ListFeeRequired GNS.
- OID
- 051616…490f:118
CreateWithVenue details
finishCreate
func(id string, name string, symbol string, uri string, creator .uverse.address, token *v0.Token, ledger *v0.PrivateLedger, regKey string, bondNeed int64, pref string) string- OID
- 051616…490f:119
finishCreate details
AdenaPathOf
func(id string) stringAdenaPathOf returns the grc20reg / Adena token key: packagePath.SYMBOL (Token.ID is packagePath.SYMBOL.seq - Adena rejects that form).
- OID
- 051616…490f:120
AdenaPathOf details
adenaKeyFromTokenID
func(tokenID string, symbol string) stringadenaKeyFromTokenID strips the trailing .seq from Token.ID when present.
- OID
- 051616…490f:121
adenaKeyFromTokenID details
maxGrossForNetIn
func(maxNet int64, sentMax int64) int64maxGrossForNetIn finds largest gross ugnot \<= sentMax whose fee-split netIn \<= maxNet.
- OID
- 051616…490f:122
maxGrossForNetIn details
readyToGraduate
func(l *padv2.Launch) boolreadyToGraduate is true when raise met the threshold, or the entire curve float is sold (sold-out escape: threshold may be unreachable with bad virtuals).
- OID
- 051616…490f:123
readyToGraduate details
Buy
func(id string, amountWugnot int64, minTokensOut int64) int64Buy spends WUGNOT on the bonding curve; credits tokens. amountWugnot: max to spend (may overpay). UI: Deposit + Transfer(pad, amt) + Buy. Overpay stays as claimable prepaid — ClaimWugnot anytime (incl. after list). minTokensOut: slippage floor (0 = disabled). Auto-graduates at threshold or sold-out. Production: collateral is real WUGNOT on pad -> Graduate can auto-list Gnoswap. Tests (testSkipBanker): amountWugnot ignored; OriginSend ugnot is used as units. Last-fill (no overshoot): 1. Cap net so RaisedUgnot never exceeds graduationThreshold() (refund excess WUGNOT). 2. Cap by remaining curve tokens (CurveSupply - RealSold). If the curve is already sold out (or raise already filled), Buy refunds the full take and graduates when ready - no panic so users are not stuck mid-tx.
- OID
- 051616…490f:124
Buy details
RemainingRaiseUgnot
func(id string) int64RemainingRaiseUgnot is net ugnot still needed to hit graduationThreshold() (0 if met/over).
- OID
- 051616…490f:125
RemainingRaiseUgnot details
Sell
func(id string, tokensIn int64, minWugnotOut int64) int64Sell burns curve tokens and pays WUGNOT (fee on output). minWugnotOut: slippage floor (0 = disabled). User may wugnot.Withdraw to ugnot.
- OID
- 051616…490f:126
Sell details
Graduate
func(id string)Graduate permissionlessly moves a ready curve into a permanently locked CPMM. Ready when RaisedUgnot >= graduationThreshold(), or when RealSold >= CurveSupply with RaisedUgnot > 0 (sold-out before threshold - escape hatch for unreachable raise).
- OID
- 051616…490f:127
Graduate details
graduate
func(l *padv2.Launch)- OID
- 051616…490f:128
graduate details
SetPreferredVenue
func(id string, venueId string)SetPreferredVenue sets the DEX target used when RetryList(id, "") is called. Creator or protocol only; locked once listed. Syncs Create-time GNS escrow (gnoswap locks ListFeeRequired; zdex unlocks/refunds escrow).
- OID
- 051616…490f:129
SetPreferredVenue details
PreferredVenueOf
func(id string) stringPreferredVenueOf returns the Create-time / SetPreferredVenue target.
- OID
- 051616…490f:130
PreferredVenueOf details
ListSeedReleasedOf
func(id string) boolListSeedReleasedOf reports whether ReleaseListSeed already ran.
- OID
- 051616…490f:131
ListSeedReleasedOf details
ReleaseListSeed
func(id string)ReleaseListSeed sends graduated internal-CPMM seed to the creator for EOA zdex CreatePool: - PoolUgnot as WUGNOT Transfer to creator (EOA may wugnot.Withdraw → ugnot OriginSend) - PoolToken minted as GRC20 to creator (was pad-accounting only) PoolUgnot/PoolToken kept as listing-size record; reservedWugnot skips via ListSeedReleased. Disables internal SwapBuy/Sell. Creator or protocol may call; assets always go to creator.
- OID
- 051616…490f:132
ReleaseListSeed details
ConfirmZdexList
func(id string, poolId string)ConfirmZdexList marks a launch listed on zdex after EOA CreatePool succeeded. poolId e.g. "ugnot|SYMBOL" (must be non-empty; no on-chain pool verify). Creator or protocol. Prefer ReleaseListSeed first when pad still holds LP seed.
- OID
- 051616…490f:133
ConfirmZdexList details
RetryList
func(id string, venueId string) boolRetryList lists a graduated launch on the chosen venue. Permissionless EOA MsgCall. Uses PoolUgnot / PoolToken (curve-spot sized). venueId: empty → PreferredVenue → DefaultListVenue(); unknown/disabled → soft-fail note.
- OID
- 051616…490f:134
RetryList details
RetryListGnoswap
func(id string) boolRetryListGnoswap is the Gnoswap-specific wrapper (compat for existing UI).
- OID
- 051616…490f:135
RetryListGnoswap details
TokenIDOf
func(id string) stringTokenIDOf returns the GRC20 Token.ID() for a launch.
- OID
- 051616…490f:136
TokenIDOf details
GRC20Bank
func(id string) *v0.TokenGRC20Bank returns the underlying \*grc20.Token for interop (metadata / external DEX). Does not expose PrivateLedger - mint/burn stay pad-only.
- OID
- 051616…490f:137
GRC20Bank details
SwapBuy
func(id string, amountWugnot int64, minTokensOut int64) int64SwapBuy buys tokens from the graduated internal pool with WUGNOT. amountWugnot: max to spend (Approve pad). minTokensOut: slippage (0 = off). Disabled when listed on Gnoswap (trade via router).
- OID
- 051616…490f:138
SwapBuy details
SwapSell
func(id string, tokensIn int64, minWugnotOut int64) int64SwapSell sells tokens into the graduated pool for WUGNOT. minWugnotOut: slippage floor (0 = disabled).
- OID
- 051616…490f:139
SwapSell details
Transfer
func(id string, to .uverse.address, amount int64)Transfer moves GRC20 tokens between addresses (user-initiated).
- OID
- 051616…490f:140
Transfer details
Approve
func(id string, spender .uverse.address, amount int64)Approve sets GRC20 allowance so DEX/contracts can TransferFrom.
- OID
- 051616…490f:141
Approve details
TransferFrom
func(id string, from .uverse.address, to .uverse.address, amount int64)TransferFrom spends allowance: spender = MsgCall EOA caller. Enables DEX / routers that hold allowance from Approve.
- OID
- 051616…490f:142
TransferFrom details
ClaimCreatorFees
func(id string) int64ClaimCreatorFees withdraws accrued creator fees for a launch. Only the token creator may claim. Fees stay on pad until claimed.
- OID
- 051616…490f:143
ClaimCreatorFees details
payoutProtocolFees
func() int64payoutProtocolFees sends all pending protocol fees to protocolAddr. Trade fees (WUGNOT) + create BondFee (bank ugnot). Shared by Claim/Push.
- OID
- 051616…490f:144
payoutProtocolFees details
ClaimProtocolFees
func() int64ClaimProtocolFees withdraws pending protocol fees to protocolAddr. Only the current protocol treasury key may call (same wallet that Init'd, unless TransferProtocol was used).
- OID
- 051616…490f:145
ClaimProtocolFees details
PushProtocolFees
func() int64PushProtocolFees sends pending protocol fees to protocolAddr. Permissionless: anyone may call so treasury can be paid without the protocol key signing (still only pays the configured protocolAddr).
- OID
- 051616…490f:146
PushProtocolFees details
TransferProtocol
func(newAddr .uverse.address)TransferProtocol rotates the protocol fee recipient (current protocol only). Pending protocolFees stay on pad until claimed/pushed to the \*new\* address.
- OID
- 051616…490f:147
TransferProtocol details
ProtocolAddress
func() stringProtocolAddress returns the current protocol treasury address (bech32).
- OID
- 051616…490f:148
ProtocolAddress details
ProtocolFeesPaid
func() int64ProtocolFeesPaid returns lifetime ugnot already paid out to the treasury.
- OID
- 051616…490f:149
ProtocolFeesPaid details
FeeInfo
func() stringFeeInfo returns protocolAddr|pendingUgnot|paidUgnot for UIs.
- OID
- 051616…490f:150
FeeInfo details
PadAddress
func() stringPadAddress returns this pad realm's bech32 package address (fund WUGNOT here).
- OID
- 051616…490f:151
PadAddress details
AdminInfo
func() stringAdminInfo is a single-line dashboard snapshot for the ops UI: protocolAddr|pendingFees|paidFees|reservedUgnot|launchCount|pointsOn|inited|padAddr pointsOn/inited are 0|1.
- OID
- 051616…490f:152
AdminInfo details
IsProtocol
func(addr string) boolIsProtocol reports whether addr is the current treasury (for UI gating).
- OID
- 051616…490f:153
IsProtocol details
reservedUgnot
func() int64reservedUgnot is bank ugnot the pad must keep (create BondFee + legacy BondUgnot). Curve / CPMM / trade protocolFees are WUGNOT — see reservedWugnot.
- OID
- 051616…490f:154
reservedUgnot details
ReservedUgnot
func() int64ReservedUgnot is ugnot the pad must keep for markets + pending claims.
- OID
- 051616…490f:155
ReservedUgnot details
freeUgnot
func() int64freeUgnot reports bank ugnot above reserved liabilities (0 if short/test).
- OID
- 051616…490f:156
freeUgnot details
WithdrawProtocolUgnot
func(amount int64) int64WithdrawProtocolUgnot lets the treasury pull free ugnot from the pad bank (e.g. raised backlog after Gnoswap list, to re-wrap as WUGNOT inventory). Capped by free balance; panics if amount > free.
- OID
- 051616…490f:157
WithdrawProtocolUgnot details
BalanceOf
func(id string, owner .uverse.address) int64- OID
- 051616…490f:158
BalanceOf details
Allowance
func(id string, owner .uverse.address, spender .uverse.address) int64Allowance returns how many tokens \`spender\` may TransferFrom from \`owner\` (same GRC20 semantics as wugnot/gns.Allowance, keyed by launch id).
- OID
- 051616…490f:159
Allowance details
ListBuyers
func(id string) stringListBuyers returns unique buyer addresses (one per line), capped for query size. Only addresses that bought at least once on this pad (UniqueBuyers). Not full GRC20 holders who received tokens via transfer.
- OID
- 051616…490f:160
ListBuyers details
GetStatus
func(id string) int- OID
- 051616…490f:161
GetStatus details
GetRaised
func(id string) int64- OID
- 051616…490f:162
GetRaised details
GetPool
func(id string) (ugnot int64, token int64)- OID
- 051616…490f:163
GetPool details
GetCreatorFees
func(id string) int64- OID
- 051616…490f:164
GetCreatorFees details
ProtocolFees
func() int64- OID
- 051616…490f:165
ProtocolFees details
ProtocolBondFees
func() int64ProtocolBondFees returns pending create-bond bank ugnot (subset of ProtocolFees).
- OID
- 051616…490f:166
ProtocolBondFees details
LaunchCount
func() int- OID
- 051616…490f:167
LaunchCount details
ResolveSymbol
func(symbol string) string- OID
- 051616…490f:168
ResolveSymbol details
ListIDs
func() stringListIDs returns newline-separated launch IDs (sorted by AVL key / creation order).
- OID
- 051616…490f:169
ListIDs details
LaunchInfo
func(id string) stringLaunchInfo returns a single-line pipe-delimited summary for UIs/indexers: id|name|symbol|status|raised|sold|buyers|creatorFees|poolUgnot|poolToken|uri|creator|virtualUgnot|virtualToken|created|tokenID|gnoswapReady|gnoswapListed|gnoswapPoolPath|gnoswapNote|listVenue status: 0=curve 1=graduated; gnoswapReady/listed: 0|1 gnoswapNote: optional (padv12+); pipes stripped for delimiter safety. listVenue: optional (padv23+); empty if unlisted.
- OID
- 051616…490f:170
LaunchInfo details
ParamsInfo
func() stringParamsInfo returns parameters for UI display. total|curve|poolSeed|gradThreshold|feeBps|createBond|listFeeGns createBond is live from bond realm when not in unit-test mode. listFeeGns: Create-time GNS escrow required (padv20+).
- OID
- 051616…490f:171
ParamsInfo details
TradeHistory
func(id string) stringTradeHistory returns newline-separated chart points: height|side|ugnot|tokens|priceScaled side: 0=buy 1=sell 2=open/graduate. Ordered oldest -> newest.
- OID
- 051616…490f:172
TradeHistory details
TradeCount
func(id string) intTradeCount returns number of stored chart samples for a launch.
- OID
- 051616…490f:173
TradeCount details
resetForTest
func()resetForTest clears package state between unit tests.
- OID
- 051616…490f:174
resetForTest details
TotalSupply
int64Value
1000000000
CurveSupply
int64// sold on bonding curve
Value
800000000
PoolSeed
int64Value
200000000
VirtualUgnot0
int64// mainnet: max raise ≥ 300k GNOT
Value
102375071625
VirtualToken0
int64// virtual token side
Value
1073000191
GraduationThreshold
int64// 300\_000 GNOT (SetGraduationThreshold later)
Value
300000000000
FeeBPS
int64Value
120
CreatorFeeShareBPS
int64Value
4000
ProtocolFeeShareBPS
int64Value
4000
CreateBondUgnot
int64// 150 GNOT fallback; live = bond realm
Value
150000000
BondRefundBuyers
intValue
5
BondRefundMinRaised
int64// >=5 GNOT raised
Value
5000000
BondRefundMaxHeights
int64Value
100000
AntiSnipeHeights
int64Value
20
AntiSnipeMaxBuyBPS
int64// 5% per address in window
Value
500
StatusCurve
untyped bigintValue
(0 <untyped> bigint)
StatusGraduated
untyped bigintValue
(1 <untyped> bigint)
MaxTradeHistory
untyped bigintValue
(128 <untyped> bigint)
TradeSideBuy
untyped bigintValue
(0 <untyped> bigint)
TradeSideSell
untyped bigintValue
(1 <untyped> bigint)
TradeSideOpen
untyped bigint// initial listing mark
Value
(2 <untyped> bigint)
DenomUgnot
untyped stringValue
"ugnot"
GnoswapFeeTier
uint32// 0.3% meme tier
Value
3000
GnoswapTickSpacing
int32Value
60
GnoswapMinTick
int32Value
-887272
GnoswapMaxTick
int32Value
887272
GnoswapMaxFeeWugnot
int64// 1500 GNOT
Value
1500000000
ListFeeGns
int64Value
100000000
Render
func(path string) stringRender provides on-chain discovery (gnoweb). Read-only by convention. Paths: "" - home / list token/{id} - launch detail help - API help
- OID
- 051616…490f:175
Render details
sanitize
func(s string) string- OID
- 051616…490f:177
sanitize details
renderHome
func() string- OID
- 051616…490f:178
renderHome details
renderToken
func(id string) string- OID
- 051616…490f:179
renderToken details
progressBar
func(pct int64) string- OID
- 051616…490f:180
progressBar details
renderHelp
func() string- OID
- 051616…490f:181
renderHelp details
tryListOnZdex
func(l *padv2.Launch, raisedUgnot int64, liqTokens int64) booltryListOnZdex — stub until Zdex hub allows farm/realm CreatePool. Live Pearl/mainnet: CreatePool is EOA-only + requireListed. Pad path today: 1. ReleaseListSeed(id) — WUGNOT + minted PoolToken → creator 2. EOA: optional wugnot.Withdraw → Approve(zdex RealmAddr) → CreatePool 3. ConfirmZdexList(id, poolId) — mark ListVenue=zdex Pearl hub: gno.land/r/g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt/zdex/v3 CreatePool(cur, tokenKey, symbol, amountU, amountT, feeBps) string
- OID
- 051616…490f:182