Realm

v0

gno.land/r/moul/x/nativeify/v0

Render

nativeify: wugnot, backwards

wugnot takes a native coin and issues a GRC20, because a GRC20 can be pulled by a contract and a native coin cannot. This realm does the other one: escrow a GRC20, issue a native denom against it 1:1, and hand back something that moves with no realm call, rides the -send envelope of a transaction, and shows up beside GNOT on an account page.

What you give up is everything downstream of Approve. A native coin has no allowance, so nothing can pull it: not an AMM, not an escrow, not a subscription. And its issuer can always delete a balance.

Escrow account to approve: g1k5sgqx2a7rrs6znje6yjt7pje5phahrzfd7ptd

Pairs

Nothing wrapped yet.

Try it

Claim play money, let this realm pull it, wrap, then send the result around like any other coin:

# 1. get RED
maketx call -pkgpath gno.land/r/moul/x/grc20faucet/v0 -func Claim

# 2. let this realm pull your RED
maketx call -pkgpath gno.land/r/moul/x/grc20faucet/v0 -func Approve \
  -args RED -args g1k5sgqx2a7rrs6znje6yjt7pje5phahrzfd7ptd -args 1000000

# 3. create the pair once, then wrap into it
maketx call -pkgpath gno.land/r/moul/x/nativeify/v0 -func Nativeify \
  -args gno.land/r/moul/x/grc20faucet/v0.RED -args nred
maketx call -pkgpath gno.land/r/moul/x/nativeify/v0 -func Wrap -args nred -args 500000

# 4. it is an ordinary coin now: no realm call, no approval
maketx send -to <address> -send 1000/gno.land/r/moul/x/nativeify/v0:nred

# 5. redeem, by sending the coins back
maketx call -pkgpath gno.land/r/moul/x/nativeify/v0 -func Unwrap -args nred \
  -send 1000/gno.land/r/moul/x/nativeify/v0:nred

Every denom here is described in nativereg, which is where a native coin says what it is, since the chain stores no name for it.

Transactions

HashBlockTimeMsgCallerStatus
264D5E69B0…9016963A410,09812d agoEnablePkg—ok
87E588E5FD…BCFC8798410,01812d agoAddPackage—ok

Calls, deploys, and child packages in indexed history.

Call function

Source (qfile)