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