z_0_prop1_filetest.gno

5.17 Kb ยท 264 lines
  1package main
  2
  3// SEND: 1000000ugnot
  4
  5import (
  6	"std"
  7
  8	"gno.land/p/demo/dao"
  9	"gno.land/p/demo/testutils"
 10
 11	users "gno.land/r/gnoland/users/v1"
 12	_ "gno.land/r/gov/dao/init" // so that the govdao.GovDAO initializer is executed
 13	govdao "gno.land/r/gov/dao/v2"
 14	susers "gno.land/r/sys/users"
 15)
 16
 17// Test updating a name via GovDAO
 18
 19func init() {
 20	c := std.OriginCaller()
 21	alice := testutils.TestAddress("alice")
 22
 23	// Register alice
 24	std.TestSetOriginCaller(alice)
 25	std.TestSetRealm(std.NewUserRealm(alice))
 26	users.Register("alice123")
 27
 28	// Prop to change name
 29	std.TestSetOriginCaller(c)
 30	std.TestSetRealm(std.NewUserRealm(c))
 31	ex := users.ProposeNewName(alice, "alice_new123")
 32
 33	// Create a proposal
 34	prop := dao.ProposalRequest{
 35		Title:       "Change alice's name!",
 36		Description: "",
 37		Executor:    ex,
 38	}
 39
 40	govdao.GovDAO.Propose(prop)
 41}
 42
 43func main() {
 44	println("--")
 45	println(govdao.Render(""))
 46	println("--")
 47	println(govdao.Render("0"))
 48	println("--")
 49	govdao.GovDAO.VoteOnProposal(0, "YES")
 50	println("--")
 51	println(govdao.Render("0"))
 52	println("--")
 53	govdao.GovDAO.ExecuteProposal(0)
 54	println("--")
 55	println(govdao.Render("0"))
 56
 57	data, _ := susers.ResolveName("alice_new123")
 58	println(data.Addr())
 59}
 60
 61// Output:
 62// --
 63// # GovDAO Proposals
 64//
 65// ## [Prop #0 - Change alice's name!](/r/gov/dao/v2:0)
 66//
 67// **Status: ACTIVE**
 68//
 69// **Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm**
 70//
 71//
 72// --
 73// # Proposal #0 - Change alice's name!
 74//
 75// ## Description
 76//
 77// No description provided.
 78//
 79// ## Proposal information
 80//
 81// **Status: ACTIVE**
 82//
 83// **Voting stats:**
 84// - YES 0 (0%)
 85// - NO 0 (0%)
 86// - ABSTAIN 0 (0%)
 87// - MISSING VOTES 10 (100%)
 88//
 89//
 90// **Threshold met: FALSE**
 91//
 92// **Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm**
 93//
 94// ### Actions
 95//
 96// #### [[Vote YES](/r/gov/dao/v2$help&func=VoteOnProposal&id=0&option=YES)] - [[Vote NO](/r/gov/dao/v2$help&func=VoteOnProposal&id=0&option=NO)] - [[Vote ABSTAIN](/r/gov/dao/v2$help&func=VoteOnProposal&id=0&option=ABSTAIN)]
 97//
 98//
 99// --
100// --
101// # Proposal #0 - Change alice's name!
102//
103// ## Description
104//
105// No description provided.
106//
107// ## Proposal information
108//
109// **Status: ACCEPTED**
110//
111// **Voting stats:**
112// - YES 10 (100%)
113// - NO 0 (0%)
114// - ABSTAIN 0 (0%)
115// - MISSING VOTES 0 (0%)
116//
117//
118// **Threshold met: TRUE**
119//
120// **Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm**
121//
122// ### Actions
123//
124// The voting period for this proposal is over.
125//
126//
127// --
128// --
129// # Proposal #0 - Change alice's name!
130//
131// ## Description
132//
133// No description provided.
134//
135// ## Proposal information
136//
137// **Status: EXECUTION SUCCESSFUL**
138//
139// **Voting stats:**
140// - YES 10 (100%)
141// - NO 0 (0%)
142// - ABSTAIN 0 (0%)
143// - MISSING VOTES 0 (0%)
144//
145//
146// **Threshold met: TRUE**
147//
148// **Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm**
149//
150// ### Actions
151//
152// The voting period for this proposal is over.
153//
154//
155// g1v9kxjcm9ta047h6lta047h6lta047h6lzd40gh
156
157// Events:
158// [
159//   {
160//     "type": "Registered",
161//     "attrs": [
162//       {
163//         "key": "name",
164//         "value": "alice123"
165//       },
166//       {
167//         "key": "address",
168//         "value": "g1v9kxjcm9ta047h6lta047h6lta047h6lzd40gh"
169//       }
170//     ],
171//     "pkg_path": "gno.land/r/sys/users",
172//     "func": "RegisterUser"
173//   },
174//   {
175//     "type": "Registeration",
176//     "attrs": [
177//       {
178//         "key": "address",
179//         "value": "g1v9kxjcm9ta047h6lta047h6lta047h6lzd40gh"
180//       },
181//       {
182//         "key": "name",
183//         "value": "alice123"
184//       }
185//     ],
186//     "pkg_path": "gno.land/r/gnoland/users/v1",
187//     "func": "Register"
188//   },
189//   {
190//     "type": "ProposalAdded",
191//     "attrs": [
192//       {
193//         "key": "proposal-id",
194//         "value": "0"
195//       },
196//       {
197//         "key": "proposal-author",
198//         "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
199//       }
200//     ],
201//     "pkg_path": "gno.land/r/gov/dao/v2",
202//     "func": "EmitProposalAdded"
203//   },
204//   {
205//     "type": "VoteAdded",
206//     "attrs": [
207//       {
208//         "key": "proposal-id",
209//         "value": "0"
210//       },
211//       {
212//         "key": "author",
213//         "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
214//       },
215//       {
216//         "key": "option",
217//         "value": "YES"
218//       }
219//     ],
220//     "pkg_path": "gno.land/r/gov/dao/v2",
221//     "func": "EmitVoteAdded"
222//   },
223//   {
224//     "type": "ProposalAccepted",
225//     "attrs": [
226//       {
227//         "key": "proposal-id",
228//         "value": "0"
229//       }
230//     ],
231//     "pkg_path": "gno.land/r/gov/dao/v2",
232//     "func": "EmitProposalAccepted"
233//   },
234//   {
235//     "type": "Updated",
236//     "attrs": [
237//       {
238//         "key": "alias",
239//         "value": "alice_new123"
240//       },
241//       {
242//         "key": "address",
243//         "value": "g1v9kxjcm9ta047h6lta047h6lta047h6lzd40gh"
244//       }
245//     ],
246//     "pkg_path": "gno.land/r/sys/users",
247//     "func": "UpdateName"
248//   },
249//   {
250//     "type": "ProposalExecuted",
251//     "attrs": [
252//       {
253//         "key": "proposal-id",
254//         "value": "0"
255//       },
256//       {
257//         "key": "exec-status",
258//         "value": "accepted"
259//       }
260//     ],
261//     "pkg_path": "gno.land/r/gov/dao/v2",
262//     "func": "ExecuteProposal"
263//   }
264// ]