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

ucs03_zkgm state

Back to all declarations

SelectorUpdateImpl

manager.Selector

Value

<gnolang.StringValue>

SelectorSetBucketConfig

manager.Selector

Value

<gnolang.StringValue>

SelectorSetRateLimitDisabled

manager.Selector

Value

<gnolang.StringValue>

SelectorPausable

manager.Selector

Value

<gnolang.StringValue>

SetBucketConfig

func(denom string, capacity *uint256.Uint, refillRate *uint256.Uint)

SetBucketConfig creates or updates the per-denom send-side rate-limit bucket. The bucket is anchored to block time, so RefillRate is tokens per second.

Open
OID
01de13…f3e9:3
SetBucketConfig details

Inspect func

SetRateLimitDisabled

func(disabled bool)

SetRateLimitDisabled toggles the global rate-limit kill switch.

Open
OID
01de13…f3e9:5
SetRateLimitDisabled details

Inspect func

Pausable

func(p bool)

Pausable toggles the global pause gate checked by every App receiver.

Open
OID
01de13…f3e9:6
Pausable details

Inspect func

App

type

app.gno is the App receiver surface: the core-driven half of the proxy. core holds this App reference permanently (its port is keyed by the proxy pkgpath and re-registration is rejected), so App is the stable IBC identity and must never carry business logic. Every receiver gates on assertIsCoreRealm and assertIsNotPaused before delegating to the installed impl or rejecting channel close. Logic lives in the impl realm; authority and funds live in the proxy. See assert.gno for the gates and upgrade.gno for the swap point.

Value

ucs03_zkgm.App

assertIsCoreRealm

func()
Open
OID
01de13…f3e9:7
assertIsCoreRealm details

Inspect func

assertIsRlmCurrent

func(int, rlm .uverse.realm)
Open
OID
01de13…f3e9:9
assertIsRlmCurrent details

Inspect func

assertIsProxyRealm

func(int, rlm .uverse.realm)
Open
OID
01de13…f3e9:10
assertIsProxyRealm details

Inspect func

assertIsNotPaused

func()
Open
OID
01de13…f3e9:11
assertIsNotPaused details

Inspect func

EmitRecvError

func(int, rlm .uverse.realm, sourceChannel types.ChannelId, destinationChannel types.ChannelId, reason string)
Open
OID
01de13…f3e9:12
EmitRecvError details

Inspect func

EmitNativeReleased

func(int, rlm .uverse.realm, denom string, recipient .uverse.address, amount int64)
Open
OID
01de13…f3e9:14
EmitNativeReleased details

Inspect func

EmitForwardInFlightSet

func(int, rlm .uverse.realm, packetHash types.H256, parentPacketHash types.H256)
Open
OID
01de13…f3e9:15
EmitForwardInFlightSet details

Inspect func

EmitForwardInFlightPopped

func(int, rlm .uverse.realm, packetHash types.H256, found bool)
Open
OID
01de13…f3e9:16
EmitForwardInFlightPopped details

Inspect func

ErrSpoofedRealm

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"rlm does not match the current crossing frame"

ErrNotProxyRealm

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"rlm is not proxy realm"

ErrNotCoreRealm

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"rlm is not core realm"

ErrInvalidSaltLength

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"invalid salt length"

ErrTokenBucketNotFound

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"token bucket not found"

ErrChannelBalanceV2NotFound

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"channel balance v2 not found"

ErrLockedTokenAmountOverflow

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"locked token amount overflows uint256"

ErrInterfaceConversion

untyped string

ErrSpoofedRealm guards non-crossing (\_ int, rlm realm, ...) entrypoints: the passed rlm must be the current crossing frame, not a forged or stale token replayed by a caller.

Value

"interface conversion failed"

ZkgmImplUpdatedEvent

untyped string

Value

"ZkgmImplUpdated"

ZkgmPausedEvent

untyped string

Value

"ZkgmPaused"

ZkgmUnpausedEvent

untyped string

Value

"ZkgmUnpaused"

ZkgmRateLimitBucketConfiguredEvent

untyped string

Value

"ZkgmRateLimitBucketConfigured"

ZkgmRateLimitDisabledSetEvent

untyped string

Value

"ZkgmRateLimitDisabledSet"

ZkgmReceiverRegisteredEvent

untyped string

Value

"ZkgmReceiverRegistered"

ZkgmNativeReleasedEvent

untyped string

Value

"ZkgmNativeReleased"

ZkgmForwardInFlightSetEvent

untyped string

Value

"ZkgmForwardInFlightSet"

ZkgmForwardInFlightPoppedEvent

untyped string

Value

"ZkgmForwardInFlightPopped"

ZkgmRecvErrorEvent

untyped string

Value

"ZkgmRecvError"

emitZkgmImplUpdatedEvent

func(callerPkgPath string, oldImplPath string, newImplPath string, allowed []string)
Open
OID
01de13…f3e9:17
emitZkgmImplUpdatedEvent details

Inspect func

emitZkgmPausedEvent

func(admin .uverse.address)
Open
OID
01de13…f3e9:19
emitZkgmPausedEvent details

Inspect func

emitZkgmUnpausedEvent

func(admin .uverse.address)
Open
OID
01de13…f3e9:20
emitZkgmUnpausedEvent details

Inspect func

emitZkgmRateLimitBucketConfiguredEvent

func(admin .uverse.address, denom string, capacity *uint256.Uint, refillRate *uint256.Uint)
Open
OID
01de13…f3e9:21
emitZkgmRateLimitBucketConfiguredEvent details

Inspect func

emitZkgmRateLimitDisabledSetEvent

func(admin .uverse.address, disabled bool)
Open
OID
01de13…f3e9:22
emitZkgmRateLimitDisabledSetEvent details

Inspect func

emitZkgmReceiverRegisteredEvent

func(receiverPkgPath string)
Open
OID
01de13…f3e9:23
emitZkgmReceiverRegisteredEvent details

Inspect func

emitZkgmNativeReleasedEvent

func(callerPkgPath string, denom string, recipient .uverse.address, amount int64)
Open
OID
01de13…f3e9:24
emitZkgmNativeReleasedEvent details

Inspect func

emitZkgmForwardInFlightSetEvent

func(packetHash types.H256, parentPacketHash types.H256)
Open
OID
01de13…f3e9:25
emitZkgmForwardInFlightSetEvent details

Inspect func

emitZkgmForwardInFlightPoppedEvent

func(packetHash types.H256, found bool)
Open
OID
01de13…f3e9:26
emitZkgmForwardInFlightPoppedEvent details

Inspect func

emitRecvError

func(sourceChannel types.ChannelId, destinationChannel types.ChannelId, reason string)
Open
OID
01de13…f3e9:27
emitRecvError details

Inspect func

GetTokenBucket

func(denom string) (*tokenbucket.TokenBucket, .uverse.error)

GetTokenBucket returns the rate-limit bucket for a denom.

Open
OID
01de13…f3e9:28
GetTokenBucket details

Inspect func

GetChannelBalanceV2

func(channelId types.ChannelId, path *uint256.Uint, baseToken string, quoteToken []uint8) (*uint256.Uint, .uverse.error)

GetChannelBalanceV2 returns the escrow balance for a key.

Open
OID
01de13…f3e9:30
GetChannelBalanceV2 details

Inspect func

GetLockedTokenAmount

func(denom string) (*uint256.Uint, .uverse.error)

GetLockedTokenAmount returns the total base-token amount permanently locked for a denom.

Open
OID
01de13…f3e9:31
GetLockedTokenAmount details

Inspect func

GetVoucherList

func(offset int, count int) ([]ucs03_zkgm.VoucherInfo, .uverse.error)

GetVoucherList returns a page of up to count wrapped voucher tokens starting at offset, ordered by denom.

Open
OID
01de13…f3e9:32
GetVoucherList details

Inspect func

GetVoucherInfo

func(ibcDenom string) (ucs03_zkgm.VoucherInfo, .uverse.error)

GetVoucherInfo returns a snapshot of the single wrapped voucher registered for ibcDenom.

Open
OID
01de13…f3e9:33
GetVoucherInfo details

Inspect func

GetVoucherSize

func() (int, .uverse.error)

GetVoucherSize returns the total number of registered vouchers, i.e. the key count callers need to drive GetVoucherList's offset/count pagination.

Open
OID
01de13…f3e9:34
GetVoucherSize details

Inspect func

RegisterCoreApp

func()

RegisterCoreApp registers the proxy App with core under the proxy pkgpath. core rejects re-registration, so the App identity is permanent once installed.

Open
OID
01de13…f3e9:35
RegisterCoreApp details

Inspect func

RegisterReceiver

func(receiver zkgm.Zkgmable)

RegisterReceiver records the calling realm as an OP\_CALL receiver target, keyed by its package path. The impl looks it up via store.GetReceiver during call dispatch.

Open
OID
01de13…f3e9:37
RegisterReceiver details

Inspect func

paused

bool

Value

false

proxyPkgPath

string

Value

"gno.land/r/onbloc/ibc/union/apps/ucs03_zkgm"

proxyAddress

.uverse.address

Value

<gnolang.StringValue>

currentImplPath

string

Value

"gno.land/r/onbloc/ibc/union/apps/ucs03_zkgm/v1"

implConstructors

map[string]func(...)
Open
OID
01de13…f3e9:88
implConstructors details

Inspect map

Store

type

Value

ucs03_zkgm.Store

NewStore

func() *ucs03_zkgm.Store
Open
OID
01de13…f3e9:47
NewStore details

Inspect func

Send

func(channelId types.ChannelId, timeoutTimestamp types.Timestamp, salt [32]uint8, instruction zkgm.Instruction) types.Packet
Open
OID
01de13…f3e9:48
Send details

Inspect func

SendRaw

func(channelId uint32, timeoutTimestamp uint64, saltHex string, version uint8, opcode uint8, operandHex string) types.Packet

SendRaw sends a ZKGM packet from hex-encoded instruction fields. Use this entry point from gnokey maketx call (not maketx run) so OriginSend captures any native coins attached with -send for escrow-bearing instructions. - channelId: local source IBC channel id on this chain. - timeoutTimestamp: packet expiry in nanoseconds since the Unix epoch. - saltHex: 32-byte send salt as hex; an optional 0x prefix is accepted. - version: instruction version byte (e.g. 2 for TokenOrderV2). - opcode: instruction opcode (0=Forward, 1=Call, 2=Batch, 3=TokenOrder). - operandHex: ABI-encoded instruction operand as hex; 0x prefix optional.

Open
OID
01de13…f3e9:50
SendRaw details

Inspect func

parseHex

func(s string) ([]uint8, .uverse.error)
Open
OID
01de13…f3e9:51
parseHex details

Inspect func

Version

untyped string

Value

"ucs03-zkgm-0"

IApp

type

Value

ucs03_zkgm.IApp

IAppIntent

type

Value

ucs03_zkgm.IAppIntent

IAppTransfer

type

IAppTransfer is the user-initiated send surface. zkgm is a general instruction protocol (token order / batch / call / forward), so Send takes a raw Instruction rather than a token-transfer shaped argument list.

Value

ucs03_zkgm.IAppTransfer

IAppVoucher

type

IAppVoucher is the wrapped-voucher self-service surface: it lets a holder grant an allowance or move their own balance directly, without exposing the mint/burn capability that Store's Voucher.Ledger() carries.

Value

ucs03_zkgm.IAppVoucher

IAppGetter

type

IAppGetter is the read-only query surface implemented by the impl and exposed by the proxy's getters.gno.

Value

ucs03_zkgm.IAppGetter

IStore

type

Value

ucs03_zkgm.IStore

ProxyAddress

func() .uverse.address
Open
OID
01de13…f3e9:54
ProxyAddress details

Inspect func

RegisterImpl

func(constructor func(...))

RegisterImpl records an impl constructor under the calling realm's package path. It is called from the impl realm's init, so the path is permanent once installed: re-registration is rejected. The caller must be a sub-realm of this proxy (its path must be prefixed by the proxy path), matching core's host registration rule.

Open
OID
01de13…f3e9:55
RegisterImpl details

Inspect func

UpdateImpl

func(path string)

UpdateImpl installs or re-points the implementation following the bootstrap and steady-state tiers of the trust model. It is admin-gated and injects the proxy-owned store into the registered constructor for path.

Open
OID
01de13…f3e9:56
UpdateImpl details

Inspect func

mustGetImpl

func() ucs03_zkgm.IApp

mustGetImpl returns the installed impl, panicking until the first UpdateImpl.

Open
OID
01de13…f3e9:57
mustGetImpl details

Inspect func

Voucher

type

Voucher bundles a wrapped grc20 token, its private mint/burn ledger, and the origin token's decimal precision. It is proxy-owned state held in the Store, so its mint/burn rights survive impl upgrades. Packet amounts are in the origin token's decimals; the grc20 ledger holds them downscaled to the (possibly capped) ledger decimals, so they fit int64. MintScaled / BurnScaled / TransferScaled apply that downscale, so callers never combine the scale and the ledger by hand; the raw int64 ops stay reachable via Ledger(). SECURITY: those methods and Ledger() all hand out the mint/burn capability, so a \*Voucher must stay impl-gated. The Store is injected and never publicly returned, so untrusted realms can only read balances via VoucherBalanceOf.

Value

ucs03_zkgm.Voucher

NewVoucher

func(token *grc20.Token, ledger *grc20.PrivateLedger, originDecimals uint8) *ucs03_zkgm.Voucher

NewVoucher is a crossing-safe constructor, so the impl realm can build one without tripping the foreign-composite-literal rule. originDecimals is the origin token's precision; the ledger token is created at min(originDecimals, ledger cap).

Open
OID
01de13…f3e9:58
NewVoucher details

Inspect func

VoucherInfo

type

VoucherInfo is a read-only snapshot of a wrapped voucher's grc20 identity for the voucher-list getter. It carries only scalar fields copied out of Voucher/Token — no token/ledger handles — so listing vouchers never hands out the mint/burn capability that \*Voucher.Ledger() exposes.

Value

ucs03_zkgm.VoucherInfo

NewVoucherInfo

func(denom string, name string, symbol string, originDecimals uint8, ledgerDecimals uint8, totalSupply int64) ucs03_zkgm.VoucherInfo

NewVoucherInfo is a crossing-safe constructor, so the impl realm (and test doubles) can build one without tripping the foreign-composite-literal rule.

Open
OID
01de13…f3e9:60
NewVoucherInfo details

Inspect func

VoucherApprove

func(ibcDenom string, spender .uverse.address, amount int64)

VoucherApprove lets the caller grant spender an allowance on their own wrapped-voucher balance for ibcDenom, so the voucher can be used through GRC20-composable flows (e.g. Gnoswap) that rely on TransferFrom.

Open
OID
01de13…f3e9:61
VoucherApprove details

Inspect func

VoucherTransfer

func(ibcDenom string, to .uverse.address, amount int64)

VoucherTransfer lets the caller move their own wrapped-voucher balance for ibcDenom directly to another address.

Open
OID
01de13…f3e9:62
VoucherTransfer details

Inspect func

VoucherBalanceOf

func(ibcDenom string, addr .uverse.address) int64

VoucherBalanceOf returns addr's wrapped-voucher balance for ibcDenom, or 0 if none. It reads the proxy-owned Store, so the balance survives impl upgrades and does not depend on grc20reg's key.

Open
OID
01de13…f3e9:63
VoucherBalanceOf details

Inspect func
SelectorUpdateImpl : manager.Selector =<gnolang.StringValue>
SelectorSetBucketConfig : manager.Selector =<gnolang.StringValue>
SelectorSetRateLimitDisabled : manager.Selector =<gnolang.StringValue>
SelectorPausable : manager.Selector =<gnolang.StringValue>
SetBucketConfig : func(denom string, capacity *uint256.Uint, refillRate *uint256.Uint) Inspect
SetRateLimitDisabled : func(disabled bool) Inspect
Pausable : func(p bool) Inspect
App : type =ucs03_zkgm.App
assertIsCoreRealm : func() Inspect
assertIsRlmCurrent : func(int, rlm .uverse.realm) Inspect
assertIsProxyRealm : func(int, rlm .uverse.realm) Inspect
assertIsNotPaused : func() Inspect
EmitRecvError : func(int, rlm .uverse.realm, sourceChannel types.ChannelId, destinationChannel types.ChannelId, reason string) Inspect
EmitNativeReleased : func(int, rlm .uverse.realm, denom string, recipient .uverse.address, amount int64) Inspect
EmitForwardInFlightSet : func(int, rlm .uverse.realm, packetHash types.H256, parentPacketHash types.H256) Inspect
EmitForwardInFlightPopped : func(int, rlm .uverse.realm, packetHash types.H256, found bool) Inspect
ErrSpoofedRealm : untyped string ="rlm does not match the current crossing frame"
ErrNotProxyRealm : untyped string ="rlm is not proxy realm"
ErrNotCoreRealm : untyped string ="rlm is not core realm"
ErrInvalidSaltLength : untyped string ="invalid salt length"
ErrTokenBucketNotFound : untyped string ="token bucket not found"
ErrChannelBalanceV2NotFound : untyped string ="channel balance v2 not found"
ErrLockedTokenAmountOverflow : untyped string ="locked token amount overflows uint256"
ErrInterfaceConversion : untyped string ="interface conversion failed"
ZkgmImplUpdatedEvent : untyped string ="ZkgmImplUpdated"
ZkgmPausedEvent : untyped string ="ZkgmPaused"
ZkgmUnpausedEvent : untyped string ="ZkgmUnpaused"
ZkgmRateLimitBucketConfiguredEvent : untyped string ="ZkgmRateLimitBucketConfigured"
ZkgmRateLimitDisabledSetEvent : untyped string ="ZkgmRateLimitDisabledSet"
ZkgmReceiverRegisteredEvent : untyped string ="ZkgmReceiverRegistered"
ZkgmNativeReleasedEvent : untyped string ="ZkgmNativeReleased"
ZkgmForwardInFlightSetEvent : untyped string ="ZkgmForwardInFlightSet"
ZkgmForwardInFlightPoppedEvent : untyped string ="ZkgmForwardInFlightPopped"
ZkgmRecvErrorEvent : untyped string ="ZkgmRecvError"
emitZkgmImplUpdatedEvent : func(callerPkgPath string, oldImplPath string, newImplPath string, allowed []string) Inspect
emitZkgmPausedEvent : func(admin .uverse.address) Inspect
emitZkgmUnpausedEvent : func(admin .uverse.address) Inspect
emitZkgmRateLimitBucketConfiguredEvent : func(admin .uverse.address, denom string, capacity *uint256.Uint, refillRate *uint256.Uint) Inspect
emitZkgmRateLimitDisabledSetEvent : func(admin .uverse.address, disabled bool) Inspect
emitZkgmReceiverRegisteredEvent : func(receiverPkgPath string) Inspect
emitZkgmNativeReleasedEvent : func(callerPkgPath string, denom string, recipient .uverse.address, amount int64) Inspect
emitZkgmForwardInFlightSetEvent : func(packetHash types.H256, parentPacketHash types.H256) Inspect
emitZkgmForwardInFlightPoppedEvent : func(packetHash types.H256, found bool) Inspect
emitRecvError : func(sourceChannel types.ChannelId, destinationChannel types.ChannelId, reason string) Inspect
GetTokenBucket : func(denom string) (*tokenbucket.TokenBucket, .uverse.error) Inspect
GetChannelBalanceV2 : func(channelId types.ChannelId, path *uint256.Uint, baseToken string, quoteToken []uint8) (*uint256.Uint, .uverse.error) Inspect
GetLockedTokenAmount : func(denom string) (*uint256.Uint, .uverse.error) Inspect
GetVoucherList : func(offset int, count int) ([]ucs03_zkgm.VoucherInfo, .uverse.error) Inspect
GetVoucherInfo : func(ibcDenom string) (ucs03_zkgm.VoucherInfo, .uverse.error) Inspect
GetVoucherSize : func() (int, .uverse.error) Inspect
RegisterCoreApp : func() Inspect
RegisterReceiver : func(receiver zkgm.Zkgmable) Inspect
store : *ucs03_zkgm.Store Inspect
paused : bool =false
proxyPkgPath : string ="gno.land/r/onbloc/ibc/union/apps/ucs03_zkgm"
proxyAddress : .uverse.address =<gnolang.StringValue>
currentImplPath : string ="gno.land/r/onbloc/ibc/union/apps/ucs03_zkgm/v1"
currentImpl : *v1.ucs03ZkgmV1 Inspect
implConstructors : map[string]func(...) Inspect
init.59 : func() Inspect
Store : type =ucs03_zkgm.Store
NewStore : func() *ucs03_zkgm.Store Inspect
Send : func(channelId types.ChannelId, timeoutTimestamp types.Timestamp, salt [32]uint8, instruction zkgm.Instruction) types.Packet Inspect
SendRaw : func(channelId uint32, timeoutTimestamp uint64, saltHex string, version uint8, opcode uint8, operandHex string) types.Packet Inspect
parseHex : func(s string) ([]uint8, .uverse.error) Inspect
Version : untyped string ="ucs03-zkgm-0"
IApp : type =ucs03_zkgm.IApp
IAppIntent : type =ucs03_zkgm.IAppIntent
IAppTransfer : type =ucs03_zkgm.IAppTransfer
IAppVoucher : type =ucs03_zkgm.IAppVoucher
IAppGetter : type =ucs03_zkgm.IAppGetter
IStore : type =ucs03_zkgm.IStore
ProxyPkgPath : func() string Inspect
ProxyAddress : func() .uverse.address Inspect
RegisterImpl : func(constructor func(...)) Inspect
UpdateImpl : func(path string) Inspect
mustGetImpl : func() ucs03_zkgm.IApp Inspect
Voucher : type =ucs03_zkgm.Voucher
NewVoucher : func(token *grc20.Token, ledger *grc20.PrivateLedger, originDecimals uint8) *ucs03_zkgm.Voucher Inspect
VoucherInfo : type =ucs03_zkgm.VoucherInfo
NewVoucherInfo : func(denom string, name string, symbol string, originDecimals uint8, ledgerDecimals uint8, totalSupply int64) ucs03_zkgm.VoucherInfo Inspect
VoucherApprove : func(ibcDenom string, spender .uverse.address, amount int64) Inspect
VoucherTransfer : func(ibcDenom string, to .uverse.address, amount int64) Inspect
VoucherBalanceOf : func(ibcDenom string, addr .uverse.address) int64 Inspect