Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

validators/v3 package

Overview

Package validators implements on-chain validator set management through Proof of Authority. The realm exposes a public proposal constructor for GovDAO; on approval, the proposal callback applies the captured deltas to the chain's effective valset and publishes the new full set via gno.land/r/sys/params. The chain's EndBlocker reads the result on the next block and propagates to consensus.

No in-realm validator state. All reads go through sysparams.GetValsetEffective (proposed-if-dirty, else current).

Function

NotifyValoperChanged

func NotifyValoperChanged(cur realm, op address, signingPubKey string, signingAddress address, keepRunning bool)

NotifyValoperChanged refreshes the cached entry for op. Auth: caller realm must be r/gnops/valopers.

READ-ONLY against valopers: by design this function does not call back into valopers (no pull). Valopers pushes the current values in as args. This eliminates the confused-deputy class where v3 → valopers callbacks would make valopers see v3 as PreviousRealm.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/sys/validators/v3" -func "NotifyValoperChanged" -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "dev" -remote "https://api.gno.berty.io:443" ADDRESSgnokey query -remote "https://api.gno.berty.io:443" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/sys/validators/v3" -func "NotifyValoperChanged" -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "dev" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://api.gno.berty.io:443" call.tx