// PKGPATH: gno.land/r/sys/namereg/v1/filetests/z_0_prop1_filetest package z_0_prop1_filetest import ( "chain" "chain/runtime/unsafe" "testing" "gno.land/p/nt/testutils/v0" "gno.land/r/gov/dao" daov3init "gno.land/r/gov/dao/v3/init" users "gno.land/r/sys/namereg/v1" susers "gno.land/r/sys/users" ) // Test updating a name via GovDAO var c address = unsafe.OriginCaller() func init(cur realm) { // Whitelist this realm as a controller so its Register() can reach r/sys/users. testing.SetHeight(0) susers.AddControllerAtGenesis(cross(cur), chain.PackageAddress("gno.land/r/sys/namereg/v1")) testing.SetHeight(123) daov3init.InitWithUsers(cross(cur), c) alice := testutils.TestAddress("alice") // Register alice testing.SetOriginCaller(alice) testing.SetRealm(testing.NewUserRealm(alice)) users.Register(cross(cur), "nym-alice123") // Prop to change name testing.SetOriginCaller(c) testing.SetRealm(testing.NewUserRealm(c)) pr := users.ProposeNewName(cross(cur), alice, "alice_new123") dao.MustCreateProposal(cross(cur), pr) } func main(cur realm) { testing.SetOriginCaller(c) println("--") println(dao.Render(cross(cur), "")) println("--") println(dao.Render(cross(cur), "0")) println("--") dao.MustVoteOnProposal(cross(cur), dao.NewVoteRequest(dao.YesVote, dao.ProposalID(0))) println("--") println(dao.Render(cross(cur), "0")) println("--") dao.ExecuteProposal(cross(cur), dao.ProposalID(0)) println("--") println(dao.Render(cross(cur), "0")) data, _ := susers.ResolveName("alice_new123") println(data.Addr()) } // Output: // -- // # GovDAO // ## Members // [> Go to Memberstore <](/r/gov/dao/v3/memberstore) // ## Proposals // ### [Prop #0 - User Registry V1: Rename user \`nym\-alice123\` to \`alice\_new123\`](/r/gov/dao:0) // Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm // // Status: ACTIVE // // Tiers eligible to vote: T1, T2, T3 // // --- // // // -- // ## Prop #0 - User Registry V1: Rename user \`nym\-alice123\` to \`alice\_new123\` // Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm // // // // // // --- // // ### Stats // - **Proposal is open for votes** // - Tiers eligible to vote: T1, T2, T3 // - YES PERCENT: 0% // - NO PERCENT: 0% // - ABSTAIN PERCENT: 0% // // [Detailed voting list](/r/gov/dao:0/votes) // // --- // // ### Actions // [Vote YES](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=YES&pid=0) | [Vote NO](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=NO&pid=0) | [Vote ABSTAIN](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=ABSTAIN&pid=0) // // WARNING: Please double check transaction data before voting. // -- // -- // ## Prop #0 - User Registry V1: Rename user \`nym\-alice123\` to \`alice\_new123\` // Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm // // // // // // --- // // ### Stats // - **Proposal is open for votes** // - Tiers eligible to vote: T1, T2, T3 // - YES PERCENT: 100% // - NO PERCENT: 0% // - ABSTAIN PERCENT: 0% // // [Detailed voting list](/r/gov/dao:0/votes) // // --- // // ### Actions // [Vote YES](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=YES&pid=0) | [Vote NO](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=NO&pid=0) | [Vote ABSTAIN](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=ABSTAIN&pid=0) // // WARNING: Please double check transaction data before voting. // -- // -- // ## Prop #0 - User Registry V1: Rename user \`nym\-alice123\` to \`alice\_new123\` // Author: g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm // // // // // // --- // // ### Stats // - **PROPOSAL HAS BEEN ACCEPTED** // - Tiers eligible to vote: T1, T2, T3 // - YES PERCENT: 100% // - NO PERCENT: 0% // - ABSTAIN PERCENT: 0% // // [Detailed voting list](/r/gov/dao:0/votes) // // --- // // ### Actions // [Vote YES](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=YES&pid=0) | [Vote NO](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=NO&pid=0) | [Vote ABSTAIN](/r/gov/dao$help&func=MustVoteOnProposalSimple&option=ABSTAIN&pid=0) // // WARNING: Please double check transaction data before voting. // g1v9kxjcm9ta047h6lta047h6lta047h6lzd40gh