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

root/v0 package

Overview

untrusted-render: live is the only stored string Render echoes, and SetLive validates it with assertPkgPath before storing it.

Package root is the data realm of the "state realm + swappable logic" upgrade pattern (pattern C of the exploration; see ../../README.md).

root holds the state and nothing else worth changing. It grants write access to exactly one logic realm at a time, identified by package path off the crossing frame rather than passed in as an argument, so a logic realm cannot claim to be a path it does not occupy. Upgrading is a single SetLive call: no migration, no downtime, and the data never moves.

Function

SetLive

func SetLive(cur realm, pkgPath string)

SetLive hands write access to another logic realm. This is the upgrade.

Param

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/moul/x/upgrade/store/root/v0" -func "SetLive" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/moul/x/upgrade/store/root/v0" -func "SetLive" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx