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
- #1main
- #2propose-mithrandir-vp60.gno
- #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:[]