z_3_filetest.gno

1.36 Kb ยท 43 lines
 1// PKGPATH: gno.land/r/demo/main
 2
 3package main
 4
 5import (
 6	"std"
 7	"testing"
 8
 9	"gno.land/r/demo/disperse"
10	tokens "gno.land/r/demo/grc20factory"
11)
12
13func main() {
14	disperseAddr := std.DerivePkgAddr("gno.land/r/demo/disperse")
15	mainAddr := std.DerivePkgAddr("gno.land/r/demo/main")
16	beneficiary1 := std.Address("g1dmt3sa5ucvecxuhf3j6ne5r0e3z4x7h6c03xc0")
17	beneficiary2 := std.Address("g1akeqsvhucjt8gf5yupyzjxsjd29wv8fayng37c")
18
19	testing.SetOriginCaller(mainAddr)
20
21	tokens.New(cross, "test", "TEST", 4, 0, 0)
22	tokens.Mint(cross, "TEST", mainAddr, 200)
23	println("main balance before:", tokens.BalanceOf("TEST", mainAddr))
24
25	tokens.Approve(cross, "TEST", disperseAddr, 200)
26	println("disperse allowance before:", tokens.Allowance("TEST", mainAddr, disperseAddr))
27
28	addressesStr := beneficiary1.String() + "," + beneficiary2.String()
29	disperse.DisperseGRC20String(cross, addressesStr, "150TEST,50TEST")
30
31	println("main balance after:", tokens.BalanceOf("TEST", mainAddr))
32	println("disperse allowance after:", tokens.Allowance("TEST", mainAddr, disperseAddr))
33	println("beneficiary1 balance:", tokens.BalanceOf("TEST", beneficiary1))
34	println("beneficiary2 balance:", tokens.BalanceOf("TEST", beneficiary2))
35}
36
37// Output:
38// main balance before: 200
39// disperse allowance before: 200
40// main balance after: 0
41// disperse allowance after: 0
42// beneficiary1 balance: 150
43// beneficiary2 balance: 50