z_4_filetest.gno

2.32 Kb ยท 60 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, "test1", "TEST1", 4, 0, 0)
22	tokens.Mint(cross, "TEST1", mainAddr, 200)
23	println("main balance before (TEST1):", tokens.BalanceOf("TEST1", mainAddr))
24
25	tokens.New(cross, "test2", "TEST2", 4, 0, 0)
26	tokens.Mint(cross, "TEST2", mainAddr, 200)
27	println("main balance before (TEST2):", tokens.BalanceOf("TEST2", mainAddr))
28
29	tokens.Approve(cross, "TEST1", disperseAddr, 200)
30	println("disperse allowance before (TEST1):", tokens.Allowance("TEST1", mainAddr, disperseAddr))
31
32	tokens.Approve(cross, "TEST2", disperseAddr, 200)
33	println("disperse allowance before (TEST2):", tokens.Allowance("TEST2", mainAddr, disperseAddr))
34
35	addressesStr := beneficiary1.String() + "," + beneficiary2.String()
36	disperse.DisperseGRC20String(cross, addressesStr, "200TEST1,200TEST2")
37
38	println("main balance after (TEST1):", tokens.BalanceOf("TEST1", mainAddr))
39	println("main balance after (TEST2):", tokens.BalanceOf("TEST2", mainAddr))
40	println("disperse allowance after (TEST1):", tokens.Allowance("TEST1", mainAddr, disperseAddr))
41	println("disperse allowance after (TEST2):", tokens.Allowance("TEST2", mainAddr, disperseAddr))
42	println("beneficiary1 balance (TEST1):", tokens.BalanceOf("TEST1", beneficiary1))
43	println("beneficiary1 balance (TEST2):", tokens.BalanceOf("TEST2", beneficiary1))
44	println("beneficiary2 balance (TEST1):", tokens.BalanceOf("TEST1", beneficiary2))
45	println("beneficiary2 balance (TEST2):", tokens.BalanceOf("TEST2", beneficiary2))
46}
47
48// Output:
49// main balance before (TEST1): 200
50// main balance before (TEST2): 200
51// disperse allowance before (TEST1): 200
52// disperse allowance before (TEST2): 200
53// main balance after (TEST1): 0
54// main balance after (TEST2): 0
55// disperse allowance after (TEST1): 0
56// disperse allowance after (TEST2): 0
57// beneficiary1 balance (TEST1): 200
58// beneficiary1 balance (TEST2): 0
59// beneficiary2 balance (TEST1): 0
60// beneficiary2 balance (TEST2): 200