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

xgns package

Overview

Package xgns implements the GRC20-compliant xGNS token that represents staked GNS. It manages balances, total supply, and the gov/staker-authorized mint and burn operations used by delegation and launchpad accounting.

xGNS does not maintain a separate voting-power ledger. Governance and gov/staker read xGNS balances and supply, then apply delegation history and proposal rules outside this package.

Functions

BalanceOf

func BalanceOf(owner address) int64

BalanceOf returns token balance for address.

Parameters:

  • owner: address to check balance for

Returns:

  • balance: token balance amount

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/gov/xgns.BalanceOf()"

Result

Burn

func Burn(cur realm, from address, amount int64)

Burn burns tokens from an address.

Parameters:

  • cur: current realm context; callers use cross(cur) when crossing into this realm.
  • from: address whose xGNS balance is burned.
  • amount: number of xGNS token units to burn.

Only callable by governance staker contract.

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/gnoswap/gov/xgns" -func "Burn" -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/gnoswap/gov/xgns" -func "Burn" -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
  

Mint

func Mint(cur realm, to address, amount int64)

Mint mints tokens to an address.

Parameters:

  • cur: current realm context; callers use cross(cur) when crossing into this realm.
  • to: recipient address receiving the newly minted tokens.
  • amount: number of xGNS token units to mint.

Only callable by governance staker contract.

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/gnoswap/gov/xgns" -func "Mint" -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/gnoswap/gov/xgns" -func "Mint" -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
  

Render

func Render(path string) string

Render returns a formatted representation of the token state.

Parameters:

  • path: render path for specific views

Returns:

  • output: formatted token state representation

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/gov/xgns.Render()"

Result

SupplyInfo

func SupplyInfo() (totalIssued, issuedByDelegate, issuedByDepositGns int64, err error)

SupplyInfo returns supply breakdown information.

Returns:

  • totalIssued: total xGNS tokens issued
  • issuedByDelegate: tokens issued through governance delegation
  • issuedByDepositGns: tokens issued through launchpad deposit
  • err: nil when the launchpad address is registered; an error when it cannot be found.

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/gov/xgns.SupplyInfo()"

Result

TotalSupply

func TotalSupply() int64

TotalSupply returns the total supply of xGNS tokens.

Returns:

  • supply: total xGNS token supply

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/gov/xgns.TotalSupply()"

Result