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

padv22 package

Overview

Package pad is gnomemepad: a self-contained meme launchpad for gno.land.

Example
1Create (ugnot bond + GNS list-fee escrow) -> GRC20 + WUGNOT curve -> Graduate
2  -> internal CPMM first; RetryListGnoswap when WUGNOT+escrowed GNS ready
3  -> CreatePool fee paid from Create-time GNS escrow (no mid-tx WUGNOT->GNS)

Production: Buy/Sell/Swap* use WUGNOT (push-pay + prepaid credits). Payment: user wugnot.Transfer(pad, amount) then Buy.

  • Free float on pad is auto-locked into caller's prepaid credit.
  • Buy may over-pay; unused WUGNOT stays as claimable credit (ClaimWugnot).
  • Never Approve/TransferFrom (GRC20 spender bugs with Adena).

Create: Transfer GNS (>= ListFeeGns free) then Create with ugnot bond. List: escrowed GNS + raised WUGNOT on pad; RetryListGnoswap (no user TransferFrom). Unit tests (testSkipBanker): still use OriginSend ugnot as collateral units. Tokens are real GRC20 (mint on buy, burn on sell). Hybrid of Pump.fun + permanent LP lock.

Functions

AdenaPathOf

func AdenaPathOf(id string) string

AdenaPathOf returns the grc20reg / Adena token key: packagePath.SYMBOL (Token.ID is packagePath.SYMBOL.seq - Adena rejects that form).

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.AdenaPathOf()"

Result

AdminInfo

func AdminInfo() string

AdminInfo is a single-line dashboard snapshot for the ops UI:

Example
1protocolAddr|pendingFees|paidFees|reservedUgnot|launchCount|pointsOn|inited|padAddr

pointsOn/inited are 0|1.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.AdminInfo()"

Result

Approve

func Approve(cur realm, id string, spender address, amount int64)

Approve sets GRC20 allowance so DEX/contracts can TransferFrom.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Approve" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Approve" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

BalanceOf

func BalanceOf(id string, owner address) int64

Params

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.BalanceOf(,)"

Result

Buy

func Buy(cur realm, id string, amountWugnot, minTokensOut int64) int64

Buy 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.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Buy" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Buy" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

ClaimCreatorFees

func ClaimCreatorFees(cur realm, id string) int64

ClaimCreatorFees withdraws accrued creator fees for a launch. Only the token creator may claim. Fees stay on pad until claimed.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimCreatorFees" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimCreatorFees" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

ClaimListFee

func ClaimListFee(cur realm, id string) int64

ClaimListFee refunds Create-time GNS escrow to the token creator if still unlisted. Use when graduate/list will not complete or creator abandons listing.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimListFee" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimListFee" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

ClaimProtocolFees

func ClaimProtocolFees(cur realm) int64

ClaimProtocolFees withdraws pending protocol fees to protocolAddr. Only the current protocol treasury key may call (same wallet that Init'd, unless TransferProtocol was used).

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimProtocolFees" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimProtocolFees" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

ClaimWugnot

func ClaimWugnot(cur realm) int64

ClaimWugnot 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.

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimWugnot" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "ClaimWugnot" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

Create

func Create(cur realm, name, symbol, uri string) string

Create deploys a fair-launch meme. Bond amount from bond realm (or fallback const). Also locks ListFeeGns free GNS (creator must Transfer GNS to pad first). No pre-mint; all tradeable float starts on the bonding curve.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Create" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Create" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

CreateBondRequired

func CreateBondRequired() int64

CreateBondRequired is a public alias for UIs / qeval (same as requiredCreateBond).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.CreateBondRequired()"

Result

FeeInfo

func FeeInfo() string

FeeInfo returns protocolAddr|pendingUgnot|paidUgnot for UIs.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.FeeInfo()"

Result

FreeGns

func FreeGns() string

FreeGns returns free|have|reserved for UI preflight (GNS list fee).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.FreeGns()"

Result

FreeWugnot

func FreeWugnot() string

FreeWugnot is free|have|reserved|totalCredit for UI preflight.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.FreeWugnot()"

Result

GRC20Bank

func GRC20Bank(id string) *grc20.Token

GRC20Bank returns the underlying *grc20.Token for interop (metadata / external DEX). Does not expose PrivateLedger - mint/burn stay pad-only.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GRC20Bank()"

Result

GetCreatorFees

func GetCreatorFees(id string) int64

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GetCreatorFees()"

Result

GetPool

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

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GetPool()"

Result

GetRaised

func GetRaised(id string) int64

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GetRaised()"

Result

GetStatus

func GetStatus(id string) int

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GetStatus()"

Result

GnoswapListedOf

func GnoswapListedOf(id string) bool

GnoswapListedOf reports whether a launch was auto-listed on Gnoswap.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GnoswapListedOf()"

Result

GnoswapNoteOf

func GnoswapNoteOf(id string) string

GnoswapNoteOf returns the listing status note.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GnoswapNoteOf()"

Result

GnoswapPoolPathOf

func GnoswapPoolPathOf(id string) string

GnoswapPoolPathOf returns the Gnoswap pool path after listing (or empty).

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.GnoswapPoolPathOf()"

Result

Graduate

func Graduate(cur realm, 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).

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Graduate" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Graduate" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

Init

func Init(cur realm)

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.

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Init" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Init" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

IsProtocol

func IsProtocol(addr string) bool

IsProtocol reports whether addr is the current treasury (for UI gating).

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.IsProtocol()"

Result

LaunchCount

func LaunchCount() int

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.LaunchCount()"

Result

LaunchInfo

func LaunchInfo(id string) string

LaunchInfo returns a single-line pipe-delimited summary for UIs/indexers:

Example
1id|name|symbol|status|raised|sold|buyers|creatorFees|poolUgnot|poolToken|uri|creator|virtualUgnot|virtualToken|created|tokenID|gnoswapReady|gnoswapListed|gnoswapPoolPath|gnoswapNote

status: 0=curve 1=graduated; gnoswapReady/listed: 0|1 gnoswapNote: optional (padv12+); pipes stripped for delimiter safety.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.LaunchInfo()"

Result

ListBuyers

func ListBuyers(id string) string

ListBuyers 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.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ListBuyers()"

Result

ListFeeRequired

func ListFeeRequired() int64

ListFeeRequired is a public alias for UIs / qeval.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ListFeeRequired()"

Result

ListIDs

func ListIDs() string

ListIDs returns newline-separated launch IDs (sorted by AVL key / creation order).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ListIDs()"

Result

ListNeed

func ListNeed(id string) string

ListNeed is the public query for the Token "list on Gnoswap" wizard.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ListNeed()"

Result

PadAddress

func PadAddress() string

PadAddress returns this pad realm's bech32 package address (fund WUGNOT here).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.PadAddress()"

Result

ParamsInfo

func ParamsInfo() string

ParamsInfo 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+).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ParamsInfo()"

Result

PointsEnabled

func PointsEnabled() bool

PointsEnabled reports whether pad notifies pointsv2 after trades/creates.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.PointsEnabled()"

Result

PrepaidBalance

func PrepaidBalance(cur realm) int64

PrepaidBalance returns caller's claimable WUGNOT credit on this pad.

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "PrepaidBalance" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "PrepaidBalance" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

PrepaidOf

func PrepaidOf(addr string) int64

PrepaidOf returns claimable credit for an address (read helper).

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.PrepaidOf()"

Result

ProtocolAddress

func ProtocolAddress() string

ProtocolAddress returns the current protocol treasury address (bech32).

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ProtocolAddress()"

Result

ProtocolFees

func ProtocolFees() int64

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ProtocolFees()"

Result

ProtocolFeesPaid

func ProtocolFeesPaid() int64

ProtocolFeesPaid returns lifetime ugnot already paid out to the treasury.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ProtocolFeesPaid()"

Result

PushProtocolFees

func PushProtocolFees(cur realm) int64

PushProtocolFees 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).

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "PushProtocolFees" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "PushProtocolFees" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

RemainingRaiseUgnot

func RemainingRaiseUgnot(id string) int64

RemainingRaiseUgnot is net ugnot still needed to hit GraduationThreshold (0 if met/over).

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.RemainingRaiseUgnot()"

Result

Render

func Render(path string) string

Render provides on-chain discovery (gnoweb). Read-only by convention.

Paths:

Example
1""              - home / list
2token/{id}      - launch detail
3help            - API help

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.Render()"

Result

ReservedUgnot

func ReservedUgnot() int64

ReservedUgnot is ugnot the pad must keep for markets + pending claims.

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ReservedUgnot()"

Result

ResolveSymbol

func ResolveSymbol(symbol string) string

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.ResolveSymbol()"

Result

RetryListGnoswap

func RetryListGnoswap(cur realm, id string) bool

RetryListGnoswap re-attempts Gnoswap CreatePool + full-range Mint for a graduated launch that fell back to the internal CPMM. Permissionless EOA MsgCall.

Auto-funding (padv13+): if pad WUGNOT/GNS inventory is short, pulls shortfall from the caller via TransferFrom (caller must wugnot.Deposit + Approve(pad) first, and preferably hold/Approve GNS for CreatePool fee). On success, LP WUGNOT pulled from the caller is reimbursed in ugnot from pad bank (raised capital). Fee is not reimbursed.

Uses current PoolUgnot / PoolToken as LP sizes. Returns true if listed this call.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "RetryListGnoswap" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "RetryListGnoswap" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

Sell

func Sell(cur realm, id string, tokensIn, minWugnotOut int64) int64

Sell burns curve tokens and pays WUGNOT (fee on output). minWugnotOut: slippage floor (0 = disabled). User may wugnot.Withdraw to ugnot.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Sell" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Sell" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

SetPointsEnabled

func SetPointsEnabled(cur realm, on bool)

SetPointsEnabled toggles pointsv2 notifications (protocol admin only). pointsv2 must AllowPad(this package path) or OnTrade/OnCreate will panic and revert the trade.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SetPointsEnabled" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SetPointsEnabled" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

SwapBuy

func SwapBuy(cur realm, id string, amountWugnot, minTokensOut int64) int64

SwapBuy 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).

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SwapBuy" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SwapBuy" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

SwapSell

func SwapSell(cur realm, id string, tokensIn, minWugnotOut int64) int64

SwapSell sells tokens into the graduated pool for WUGNOT. minWugnotOut: slippage floor (0 = disabled).

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SwapSell" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "SwapSell" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

TokenIDOf

func TokenIDOf(id string) string

TokenIDOf returns the GRC20 Token.ID() for a launch.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.TokenIDOf()"

Result

TradeCount

func TradeCount(id string) int

TradeCount returns number of stored chart samples for a launch.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.TradeCount()"

Result

TradeHistory

func TradeHistory(id string) string

TradeHistory returns newline-separated chart points:

Example
1height|side|ugnot|tokens|priceScaled

side: 0=buy 1=sell 2=open/graduate. Ordered oldest -> newest.

Param

Command

gnokey query vm/qeval -remote "https://rpc.sapphire.testnets.gno.land" -data "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22.TradeHistory()"

Result

Transfer

func Transfer(cur realm, id string, to address, amount int64)

Transfer moves GRC20 tokens between addresses (user-initiated).

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Transfer" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "Transfer" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

TransferFrom

func TransferFrom(cur realm, id string, from, to address, amount int64)

TransferFrom spends allowance: spender = MsgCall EOA caller. Enables DEX / routers that hold allowance from Approve.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "TransferFrom" -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "TransferFrom" -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

TransferProtocol

func TransferProtocol(cur realm, newAddr address)

TransferProtocol rotates the protocol fee recipient (current protocol only). Pending protocolFees stay on pad until claimed/pushed to the *new* address.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "TransferProtocol" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "TransferProtocol" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx
  

WithdrawProtocolUgnot

func WithdrawProtocolUgnot(cur realm, amount int64) int64

WithdrawProtocolUgnot 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.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "WithdrawProtocolUgnot" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "sapphire-1" -remote "https://rpc.sapphire.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.sapphire.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gnomemepad/padv22" -func "WithdrawProtocolUgnot" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "sapphire-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.sapphire.testnets.gno.land" call.tx