github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/stdlibs/std/native.gno (about) 1 package std 2 3 func AssertOriginCall() // injected 4 func IsOriginCall() bool // injected 5 func CurrentRealmPath() string // injected 6 func GetChainID() string // injected 7 func GetHeight() int64 // injected 8 9 func GetOrigSend() Coins { 10 den, amt := origSend() 11 coins := make(Coins, len(den)) 12 for i := range coins { 13 coins[i] = Coin{Denom: den[i], Amount: amt[i]} 14 } 15 return coins 16 } 17 18 func GetOrigCaller() Address { 19 return Address(origCaller()) 20 } 21 22 func CurrentRealm() Realm { 23 addr, path := getRealm(0) 24 return Realm{Address(addr), path} 25 } 26 27 func PrevRealm() Realm { 28 addr, path := getRealm(1) 29 return Realm{Address(addr), path} 30 } 31 32 func GetOrigPkgAddr() Address { 33 return Address(origPkgAddr()) 34 } 35 36 func GetCallerAt(n int) Address { 37 return Address(callerAt(n)) 38 } 39 40 func DerivePkgAddr(pkgPath string) Address { 41 return Address(derivePkgAddr(pkgPath)) 42 } 43 44 func EncodeBech32(prefix string, bz [20]byte) Address { 45 return Address(encodeBech32(prefix, bz)) 46 } 47 48 func DecodeBech32(addr Address) (prefix string, bz [20]byte, ok bool) { 49 return decodeBech32(string(addr)) 50 } 51 52 // Variations which don't use named types. 53 func origSend() (denoms []string, amounts []int64) 54 func origCaller() string 55 func origPkgAddr() string 56 func callerAt(n int) string 57 func getRealm(height int) (address string, pkgPath string) 58 func derivePkgAddr(pkgPath string) string 59 func encodeBech32(prefix string, bz [20]byte) string 60 func decodeBech32(addr string) (prefix string, bz [20]byte, ok bool)