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

wrapped source realm

Package wrapped is an accounting-only port of Wrapped Ether (WETH).

Overview

Package wrapped is an accounting-only port of Wrapped Ether (WETH).

The canonical WETH contract lets anyone lock native ETH and mint a 1:1 ERC-20 representation (and burn it back). On gno.land / topaz there is no msg.value / payable, so there is NO real coin transfer here: Deposit and Withdraw are pure accounting operations that model the wrap/unwrap. Balances and totalSupply are plain uint64 ledgers kept in an avl.Tree.

Functions 6

func BalanceOf

Action
1func BalanceOf(owner address) uint64
source

BalanceOf is the exported read-only accessor for a single owner.

func Deposit

crossing Action
1func Deposit(cur realm, amount uint64)
source

Deposit wraps `amount` units of the (notional) native coin, crediting the caller's wrapped balance and the global totalSupply. Accounting only: no real coin ever moves — it models locking native funds to mint the wrapped token.

func Render

1func Render(path string) string
source

Render shows the total supply and a table of non-zero balances.

func TotalSupply

Action
1func TotalSupply() uint64
source

TotalSupply returns the total amount of wrapped units in existence.

func Transfer

crossing Action
1func Transfer(cur realm, to address, amount uint64)
source

Transfer moves `amount` wrapped units from the caller to `to`.

func Withdraw

crossing Action
1func Withdraw(cur realm, amount uint64)
source

Withdraw unwraps `amount` units, burning them from the caller's balance and from totalSupply. Panics if the caller lacks the balance.

Imports 4

Source Files 2