PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/gnoswap/gov/governance/v1

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
v1
Namespace
gnoswap / gov / governance
Files
23 (README)(gnomod.toml)
Exported functions
n/a — Gnoland RPC unavailable (functions): rpc abci_query: HTTP 500
Module
gno.land/r/gnoswap/gov/governance/v1
gno
0.9

Files (23)

  • README.mdmarkdown
  • gnomod.tomltoml
  • assert.gnogno
  • config.gnogno
  • consts.gnogno
  • doc.gnogno
  • errors.gnogno
  • getter_utils.gnogno
  • getter.gnogno
  • governance_execute.gnogno
  • governance_propose.gnogno
  • governance_vote.gnogno
  • init.gnogno
  • instance.gnogno
  • parameter_registry.gnogno
  • proposal_action_status.gnogno
  • proposal_data.gnogno
  • proposal_schedule_status.gnogno
  • proposal_status.gnogno
  • proposal_vote_status.gnogno
  • proposal.gnogno
  • render.gnogno
  • utils.gnogno
  • init.gnogno
    1package governance23import (4	"strconv"56	"gno.land/r/gnoswap/gov/governance"7)89

    Functions

    Gnoland RPC unavailable (functions): rpc abci_query: HTTP 500

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗

    Render unavailable

    rate limit exceeded — the render query is served by the Gnoland archive RPC.

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.

    func init(cur realm) {
    10 registerGovernanceV1(cur)
    11}
    12
    13func registerGovernanceV1(cur realm) {
    14 governance.RegisterInitializer(cross(cur), func(_ int, rlm realm, governanceStore governance.IGovernanceStore, stakerAccessor governance.GovStakerAccessor) governance.IGovernance {
    15 // `rlm` here is the governance proxy realm threaded in by
    16 // governance.RegisterInitializer. Per-version store bootstrap
    17 // writes therefore pass the proxy's KV-store ACL.
    18 err := initStoreData(0, rlm, governanceStore)
    19 if err != nil {
    20 panic(err)
    21 }
    22
    23 return NewGovernanceV1(governanceStore, stakerAccessor)
    24 })
    25}
    26
    27func initStoreData(_ int, rlm realm, governanceStore governance.IGovernanceStore) error {
    28 // Initialize counters if not already set
    29 if !governanceStore.HasConfigCounterStoreKey() {
    30 err := governanceStore.SetConfigCounter(0, rlm, governance.NewCounter())
    31 if err != nil {
    32 return err
    33 }
    34 }
    35
    36 if !governanceStore.HasProposalCounterStoreKey() {
    37 err := governanceStore.SetProposalCounter(0, rlm, governance.NewCounter())
    38 if err != nil {
    39 return err
    40 }
    41 }
    42
    43 // Initialize Configs with default configuration if not already set
    44 if !governanceStore.HasConfigsStoreKey() {
    45 configs := governance.NewConfigTree()
    46 counter := governanceStore.GetConfigCounter()
    47 nextConfigVersion := counter.Next()
    48
    49 configs.Set(formatConfigKey(nextConfigVersion), governance.NewDefaultConfig())
    50
    51 err := governanceStore.SetConfigs(0, rlm, configs)
    52 if err != nil {
    53 return err
    54 }
    55 // Persist the mutated counter so the bumped version survives the
    56 // boundary into the proxy's KV store.
    57 if err := governanceStore.SetConfigCounter(0, rlm, counter); err != nil {
    58 return err
    59 }
    60 }
    61
    62 if !governanceStore.HasProposalsStoreKey() {
    63 err := governanceStore.SetProposals(0, rlm, governance.NewProposalTree())
    64 if err != nil {
    65 return err
    66 }
    67 }
    68
    69 if !governanceStore.HasActiveProposalsBySnapshotStoreKey() {
    70 if err := governanceStore.SetActiveProposalsBySnapshot(0, rlm, governance.NewProposalTree()); err != nil {
    71 return err
    72 }
    73 }
    74
    75 if !governanceStore.HasProposalUserVotingInfosStoreKey() {
    76 err := governanceStore.SetProposalUserVotingInfos(0, rlm, governance.NewProposalUserVotingInfoTree())
    77 if err != nil {
    78 return err
    79 }
    80 }
    81
    82 if !governanceStore.HasUserProposalsStoreKey() {
    83 err := governanceStore.SetUserProposals(0, rlm, governance.NewUserProposalTree())
    84 if err != nil {
    85 return err
    86 }
    87 }
    88
    89 return nil
    90}
    91
    92func formatConfigKey(version int64) string {
    93 return strconv.FormatInt(version, 10)
    94}
    95