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

padv2 package

Overview

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

Example
1CreateWithVenue (bond + venue-aware GNS escrow) -> GRC20 + WUGNOT curve -> Graduate
2  -> internal CPMM; then either:
3     gnoswap: RetryList / RetryListGnoswap (escrowed GNS + WUGNOT inventory)
4     zdex:    ReleaseListSeed -> EOA CreatePool -> ConfirmZdexList

Production: Buy/Sell/Swap* use WUGNOT (push-pay + prepaid credits). Payment: user wugnot.Transfer(pad, amount) then Buy. Create fee: gnoswap preference locks ListFeeGns; zdex preference locks 0. DefaultListVenue source = zdex; Pearl may SetDefaultListVenue(gnoswap) after deploy. Unit tests (testSkipBanker): OriginSend ugnot as collateral units. Tokens are real GRC20 (mint on buy, burn on sell).

Function

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/g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt/gnomi/padv2" -func "Buy" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1n4pl5uc4yt5r96m9w6fmdznx3x0jyg8l6arhmt/gnomi/padv2" -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 "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx