PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/akkadia/beta/abt

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
abt
Namespace
akkadia / beta
Files
10 (gnomod.toml)
Exported functions
13
Module
gno.land/r/akkadia/beta/abt
gno
0.9
This realm implements a recognized token.abt →

Files (10)

  • gnomod.tomltoml
  • abt.gnogno
  • render.gnogno
  • abt_test.gnogno
  • events_filetest.gnogno
  • external_test.gnogno
  • render_test.gnogno
  • security_test.gnogno
  • setup_test.gnogno
  • transfer_test.gnogno
  • external_test.gnogno
    1package abt_test23import (4	"chain"5	"chain/runtime"6	"testing"78	"gno.land/p/nt/testutils/v0"9	"gno.land/p/nt/uassert/v0"10	"gno.land/r/akkadia/beta/abt"11	"gno.land/r/akkadia/beta/admin"12)1314func TestExternalWrapperLifecycle(cur realm, t *testing.T) {15	caller := testutils.TestAddress("abtExternalAdmin")16	owner := testutils.TestAddress("abtExternalOwner")17	other := testutils.TestAddress("abtExternalOther")18	testing.SetOriginCaller(admin.GetAdmin())19	testing.SetRealm(testing.NewUserRealm(admin.GetAdmin()))20	admin.TransferAdmin(cross(cur), caller)21	testing.SetOriginCaller(caller)22	testing.SetRealm(testing.NewUserRealm(caller))23	admin.AcceptAdmin(cross(cur))24	testing.SetOriginSend(chain.Coins{})25	testing.SetRealm(runtime.NewRealm(caller, "gno.land/e/"+caller.String()+"/run"))26	abt.SetFrozen(cross(cur), true)27	supplyBefore := abt.TotalSupply()28	abt.Mint(cross(cur), owner, 20)29	uassert.Equal(t, "Akkadia Beta Token", abt.GetName())30	uassert.Equal(t, "abt", abt.GetSymbol())31	uassert.Equal(t, 6, abt.GetDecimals())32	uassert.Equal(t, supplyBefore+20, abt.TotalSupply())33	uassert.True(t, abt.IsFrozen())34	abt.SetFrozen(cross(cur), false)35	testing.SetOriginCaller(owner)36	testing.SetRealm(testing.NewUserRealm(owner))37	abt.Transfer(cross(cur), other, 2)38	abt.Approve(cross(cur), other, 5)39	testing.SetOriginCaller(other)40	testing.SetRealm(testing.NewUserRealm(other))41	abt.TransferFrom(cross(cur), owner, other, 3)42	uassert.Equal(t, int64(15), abt.BalanceOf(owner))43	uassert.Equal(t, int64(5), abt.BalanceOf(other))44	uassert.Equal(t, int64(2), abt.Allowance(owner, other))45	uassert.Equal(t, "15", abt.Render("balance/"+owner.String()))46	// A later failing transfer must preserve allowance even if its abort is caught.47	uassert.AbortsWithMessage(t, cur, "abt transfer failed: cannot send transfer to self", func() {48		abt.TransferFrom(cross(cur), owner, owner, 1)49	})50	uassert.Equal(t, int64(2), abt.Allowance(owner, other))51	testing.SetOriginCaller(caller)52	testing.SetRealm(testing.NewUserRealm(caller))53	abt.SetFrozen(cross(cur), true)54	testing.SetOriginCaller(other)55	testing.SetRealm(testing.NewUserRealm(other))56	uassert.AbortsWithMessage(t, cur, "abt is frozen", func() { abt.TransferFrom(cross(cur), owner, other, 2) })57	uassert.Equal(t, int64(2), abt.Allowance(owner, other))58	uassert.Equal(t, supplyBefore+20, abt.TotalSupply())59}60

    Functions

    • Allowance(owner string, spender string) int64

    • Approve(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, spender string, amount int64)

    • BalanceOf(owner string) int64

    • GetDecimals() int

    • GetName() string

    • GetSymbol() string

    • IsFrozen() bool

    • Mint(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, to string, amount int64)

    • Render(path string) string

    • SetFrozen(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, value bool)

    • TotalSupply() int64

    • Transfer(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, to string, amount int64)

    • TransferFrom(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, from string, to string, amount int64)

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.