PathrockNetwork Gno Explorer
HomeBlocksTransactionsRealmsPackagesValidatorsAnalytics

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/emission

Realm
Open in gnoweb ↗

Overview

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

Files (10)

  • README.mdmarkdown
  • gnomod.tomltoml
  • assert.gnogno
  • distribution.gnogno
  • doc.gnogno
  • emission.gnogno
  • errors.gnogno
  • getter.gnogno
  • render.gnogno
  • utils.gnogno
  • assert.gnogno
    1package emission23import (4	ufmt "gno.land/p/nt/ufmt/v0"5)67func assertDefaultInitialPoolExists() {8	if defaultInitialPoolChecker == nil {9		panic(makeErrorWithDetails(errInvalidEmissionStart, "default initial pool checker is not registered"))10	}1112	if !defaultInitialPoolChecker(DefaultInitialPoolTierPath) {13		panic(makeErrorWithDetails(errInvalidEmissionStart, "default initial pool does not exist: "+DefaultInitialPoolTierPath))14	}15}1617// validateDistributionTarget returns an error if the given distribution target is invalid.18func validateDistributionTarget(target int) error {19	validTargets := map[int]bool{20		LIQUIDITY_STAKER: false,21		DEVOPS:           false,22		COMMUNITY_POOL:   false,23		GOV_STAKER:       false,24	}2526	if _, ok := validTargets[target]; !ok {27		return makeErrorWithDetails(28			errInvalidEmissionTarget,29			ufmt.Sprintf("invalid target(%d)", target),30		)31	}3233	return nil34}3536// assertValidDistributionTarget panics if the given distribution target is invalid.37// Kept for internal invariant checks.38func assertValidDistributionTarget(target int) {39	if err := validateDistributionTarget(target); err != nil {40		panic(err)41	}42}4344// assertValidDistributionPct ensures the sum of all distribution percentages equals 10000 (100%).45// Panics if the sum does not equal exactly 10000 basis points.46func assertValidDistributionPct(liquidityStakerPct, devOpsPct, communityPoolPct, govStakerPct int64) {47	// Validate individual percentages are non-negative and reasonable48	percentages := []int64{liquidityStakerPct, devOpsPct, communityPoolPct, govStakerPct}49	for i, pct := range percentages {50		if pct < 0 {51			panic(makeErrorWithDetails(52				errInvalidEmissionPct,53				ufmt.Sprintf("percentage %d cannot be negative: %d", i+1, pct),54			))55		}5657		if pct > 10000 {58			panic(makeErrorWithDetails(59				errInvalidEmissionPct,60				ufmt.Sprintf("percentage %d cannot exceed 100%%: %d", i+1, pct),61			))62		}63	}6465	sum := liquidityStakerPct + devOpsPct + communityPoolPct + govStakerPct66	if sum != 10000 {67		panic(makeErrorWithDetails(68			errInvalidEmissionPct,69			ufmt.Sprintf("sum of percentages must be 10000, got %d", sum),70		))71	}72}73

    Functions

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

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

    Rendered

    RenderedRawgnoweb ↗

    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.