z_1_filetest.gno

1.47 Kb ยท 44 lines
 1// PKGPATH: gno.land/r/demo/main
 2
 3// SEND: 300ugnot
 4
 5package main
 6
 7import (
 8	"std"
 9
10	"gno.land/r/demo/disperse"
11)
12
13func main() {
14	mainAddr := std.DerivePkgAddr("gno.land/r/demo/main")
15	disperseAddr := std.DerivePkgAddr("gno.land/r/demo/disperse")
16	beneficiary1 := std.Address("g1dmt3sa5ucvecxuhf3j6ne5r0e3z4x7h6c03xc0")
17	beneficiary2 := std.Address("g1akeqsvhucjt8gf5yupyzjxsjd29wv8fayng37c")
18
19	banker := std.NewBanker(std.BankerTypeRealmSend)
20	println("main balance before send:", banker.GetCoins(mainAddr))
21	println("disperse balance before send:", banker.GetCoins(disperseAddr))
22
23	banker.SendCoins(mainAddr, disperseAddr, std.Coins{{"ugnot", 200}})
24	println("main balance after send:", banker.GetCoins(mainAddr))
25	println("disperse balance after send:", banker.GetCoins(disperseAddr))
26
27	addressesStr := beneficiary1.String() + "," + beneficiary2.String()
28	disperse.DisperseUgnotString(cross, addressesStr, "150,50")
29
30	println("main balance after disperse:", banker.GetCoins(mainAddr))
31	println("disperse balance after disperse:", banker.GetCoins(disperseAddr))
32	println("beneficiary1 balance:", banker.GetCoins(beneficiary1))
33	println("beneficiary2 balance:", banker.GetCoins(beneficiary2))
34}
35
36// Output:
37// main balance before send: 300ugnot
38// disperse balance before send:
39// main balance after send: 100ugnot
40// disperse balance after send: 200ugnot
41// main balance after disperse: 100ugnot
42// disperse balance after disperse:
43// beneficiary1 balance: 150ugnot
44// beneficiary2 balance: 50ugnot