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")

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