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.

hlgnot package

Overview

Package hlgnot is the GNOT lock: the bridge's GNOT route on gno.land (bridge/PLAN.md §5.2, §5.4, §5.5).

Out. TransferRemote takes the coins a direct user call sends — exactly amount + fee in ugnot — keeps the amount in the lock, pays the fee to r/hlfees, and sends a token message through r/hlmailbox to the synthetic GNOT program on Solana, which mints as much there.

In. A burn on Solana comes back as a token message: Process takes it from the mailbox (which checks the active verifier and that it was never delivered), checks it came from the enrolled router, and writes a claim in the recipient's queue — never a payment on the spot. Claim pays claims in turns under the meters: a tenth of the lock a day (never below the floor), a quarter of that for any one recipient, the fee as the first installment, from a meter that starts empty at launch and after every unpause that clears a payouts flag. A burn below the fee, or to a realm address, is credited to the sweep queue, which only a GovDAO decision pays.

Who may change what. Nobody: every setting moves by a decision made with the builders below (the fee and minimum, the fee floor, the cap floor, the per-message maximum, the router; a void, a restore or a credit by message id; a sweep payment; a refund by id; a migration to a successor), at once or after 7 days as §5.3 says — the governor's own decision through Govern until it yields on r/hlmailbox, a GovDAO proposal's after (M1k); the guardians and watch keys can only pause (sends, credits, payouts) through r/hlmailbox. Every launch value is compiled in below and written at deploy; nothing is sent or credited until the Launch decision executes.

The state machine — claims, meters, counters, the identity of §5.9 — is gno.land/p/…/hlroute/v0; this realm holds the coins and makes the calls.

Function

Pull

func Pull(cur realm, page int) *hlroute.Snapshot
Ask AI Claude ChatGPT

Pull is the successor's: once a migrate decision names it, the realm at that pkgpath calls Pull from its own code, page by page from 0, and receives the lock (paid to its address, with page 0) and the records to import, up to 500 a page (the snapshot's More says whether a page follows); a page pulled already hands over nothing. Page 0 moves the lock, so under a standing payouts flag it waits for the unpause like a sweep payment (R27, R16: nothing paid under a suspect verifier); the flag follows the claims to the successor (hlmailbox.AddRoute).

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/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgnot" -func "Pull" -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/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgnot" -func "Pull" -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