Skip to main content

Chain-related

IsOriginCall

func IsOriginCall() bool

Checks if the caller of the function is an EOA. Returns true if caller is an EOA, false otherwise.

Usage

if !std.IsOriginCall() {...}

AssertOriginCall

func AssertOriginCall()

Panics if caller of function is not an EOA.

Usage

std.AssertOriginCall()

Emit

func Emit(typ string, attrs ...string)

Emits a Gno event. Takes in a string type (event identifier), and an even number of string arguments acting as key-value pairs to be included in the emitted event.

Usage

std.Emit("MyEvent", "myKey1", "myValue1", "myKey2", "myValue2")

CurrentRealmPath

func CurrentRealmPath() string

Returns the path of the realm it is called in.

Usage

realmPath := std.CurrentRealmPath() // gno.land/r/demo/users

GetChainID

func GetChainID() string

Returns the chain ID.

Usage

chainID := std.GetChainID() // dev | test3 | main ...

GetHeight

func GetHeight() int64

Returns the current block number (height).

Usage

height := std.GetHeight()

GetOrigSend

func GetOrigSend() Coins

Returns the Coins that were sent along with the calling transaction.

Usage

coinsSent := std.GetOrigSend()

GetOrigCaller

func GetOrigCaller() Address

Returns the original signer of the transaction.

Usage

caller := std.GetOrigSend()

GetOrigPkgAddr

func GetOrigPkgAddr() string

Returns the address of the first (entry point) realm/package in a sequence of realm/package calls.

Usage

origPkgAddr := std.GetOrigPkgAddr()

CurrentRealm

func CurrentRealm() Realm

Returns current Realm object.

Usage

currentRealm := std.CurrentRealm()

PrevRealm

func PrevRealm() Realm

Returns the previous caller realm (can be code or user realm). If caller is a user realm, pkgpath will be empty.

Usage

prevRealm := std.PrevRealm()

GetCallerAt

func GetCallerAt(n int) Address

Returns the n-th caller of the function, going back in the call trace.

Usage

currentRealm := std.GetCallerAt(1)      // returns address of current realm
previousRealm := std.GetCallerAt(2) // returns address of previous realm/caller
std.GetCallerAt(0) // error, n must be > 0

DerivePkgAddr

func DerivePkgAddr(pkgPath string) Address

Derives the Realm address from its pkgpath parameter.

Usage

realmAddr := std.DerivePkgAddr("gno.land/r/demo/tamagotchi") //  g1a3tu874agjlkrpzt9x90xv3uzncapcn959yte4