Transaction

516EBC03DF5F26…AFBBEA574D68

Block 720,843 · index 0 · indexed

Summary

Hash
516EBC03DF5F2618C44014C1A3B0426E79679AA126A199C9C290AFBBEA574D68
Block
720,843
Size
2162 bytes
Gas used
33,127,317 / 33,127,327
Fee
1000000 ugnot
Status
success

Messages

#1MsgRun3 arguments

Arguments · 3

  1. #1main
  2. #2propose-mithrandir-vp60.gno
  3. #3// WARNING: a MsgRun body is broadcast verbatim and is permanently public. The whole // file, comments included, lands in the transaction and the tx-indexer serves it forever. // // Set validator Mithrandir to voting power 60 // // The normal operating state: the same power the other five validators carry. Mithrandir // joined at power 1 because r/gnops/valopers/proposal hardcodes votingPower = 1 and cannot // express any other power. // // Uses r/sys/validators/v0 DIRECTLY, not the r/gnops/valopers/proposal facade. v0's entry // point is non-crossing, so no MsgCall reaches it, but a MsgRun's ephemeral realm does. // // Power > 0 is an UPSERT keyed on the signing address, so this overwrites the current // power of 1 rather than needing a remove-then-add pair. That pair would in fact be // rejected: the same operator may appear at most once per proposal. // // Creates the proposal and casts the signer's YES. Does NOT execute: supermajority is // 66.66% of total GovDAO power and the three T1 members hold 3 each, so one YES is 33.3%. // // Vote uses MustVoteOnProposalSimple: a dao.VoteRequest literal cannot be allocated in a // run realm. package main import ( "gno.land/r/gov/dao" valset "gno.land/r/sys/validators/v0" ) func main(cur realm) { r := valset.NewValidatorProposalRequest( cross(cur), []valset.ValoperChange{ valset.NewValoperChange(address("g1ecsuj0q572jr0dhu29q9njtnmw03hyu7tyyvv6"), 60), }, "Set validator Mithrandir to voting power 60", "Upsert operator g1ecsuj0q572jr0dhu29q9njtnmw03hyu7tyyvv6 to voting power 60, matching the other members of the set. Proposal 12 added this validator at power 1, which is the only power the r/gnops/valopers/proposal facade can express.", ) pid := dao.MustCreateProposal(cross(cur), r) dao.MustVoteOnProposalSimple(cross(cur), int64(pid), "YES") println("proposal id:", pid) }

Result log

msg:0,success:true,log:,events:[]