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

gnft package

Overview

Package gnft implements the position-NFT surface used by GnoSwap.

It provides GRC721-compatible ownership, transfer, approval, and metadata operations for LP positions. Generated parameter-format URIs become SVG data URIs on read; custom non-empty URIs are returned unchanged. Enumeration and safeTransferFrom are not exposed by this package.

Function

TransferFrom

func TransferFrom(cur realm, from, to address, tid grc721.TokenID) error

TransferFrom transfers a token from one address to another.

Parameters:

  • cur: Current realm context; callers use cross(cur) when crossing into this realm.
  • from: current owner address
  • to: recipient address
  • tid: token ID to transfer

Returns:

  • error: nil after a successful transfer; invalid addresses, authorization, ownership, or ledger failures panic through checkTransferErr

Permission model:

  • Tokens held by the staker contract (i.e. currently staked) can only be moved by the staker itself; the underlying staked LP position is non-transferable.
  • Otherwise, ownership and approval are enforced by the GRC721 layer (owner / approved-for-token / approved-for-all).

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/gnft" -func "TransferFrom" -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/gnoswap/gnft" -func "TransferFrom" -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