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

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

memba_market_config package

Overview

Admin operations — DAO-gated, with a 2-step admin handoff and a hard fee ceiling. There is intentionally NO Pause() here (see config.gno SAFETY note): pausing the fee spine would brick every engine at once. Per-engine Pause() is the kill switch.

Package memba_market_config is the DAO-owned fee spine for the Memba marketplace. It is the single source of truth for the per-lane protocol fee (basis points) and the treasury that receives it. Every trade engine (NFT, services, token-OTC, agents) reads GetFeeBPS(lane) + GetTreasury() at settlement, so the DAO sets the rate ONCE and it applies everywhere — that shared read is what makes the lanes one marketplace.

SAFETY (panel finding C1): the read getters are PURE and NON-FAILING — they never panic, and there is intentionally NO Pause(). A per-trade cross-realm read that could fail or halt would be a single point of failure able to brick every engine at once; instead an engine always gets a usable, bounded value here and clamps locally, while each engine keeps its OWN Pause() as the real kill switch. The fee is bounded to [0, MaxFeeBPS] on write, so a reader can trust the bound without re-checking.

Render — public read-only view + audit surface for the fee config.

Function

TransferAdmin

func TransferAdmin(cur realm, newAdmin address)
Ask AI Claude ChatGPT

TransferAdmin proposes a new admin (the memba_dao executor). The 2-step handoff requires the new admin to AcceptAdmin, so a transfer to a wrong or uncontrolled address cannot lock the realm.

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/g1a9g8nu3m0xgx58hh36fph49e2xkqm9axlxuf5z/memba_market_config" -func "TransferAdmin" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "onyx-1" -remote "https://rpc.onyx.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.onyx.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1a9g8nu3m0xgx58hh36fph49e2xkqm9axlxuf5z/memba_market_config" -func "TransferAdmin" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "onyx-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.onyx.testnets.gno.land" call.tx