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

factory state

Back to all declarations

TOKEN_DECIMALS

untyped bigint

Curve amounts are whole tokens. Keeping decimals at zero makes the GRC20 display unit match every supply, quote, sell-limit, and UI amount used by the protocol (MAX\_SUPPLY is 300 million tokens, not 300 display tokens).

Value

(0 <untyped> bigint)

FEE_BPS

int64

// 1% protocol fee (bonding curve + AMM)

Value

100

LP_FEE_BPS

int64

LP\_FEE\_BPS is an additional 1% charged ONLY on graduated-token AMM swaps that is retained in the pool (grows k), so external liquidity providers earn yield. Total AMM swap fee is therefore FEE\_BPS + LP\_FEE\_BPS = 2%.

Value

100

CREATE_FEE

int64

// 1 GNOT

Value

1000000

MIN_SYMBOL_LEN

untyped bigint

Value

(3 <untyped> bigint)

MAX_SYMBOL_LEN

untyped bigint

Value

(4 <untyped> bigint)

MAX_NAME_LEN

untyped bigint

Value

(20 <untyped> bigint)

SAFE_SUPPLY_LIMIT

int64

// 300M - overflow-safe limit for integral()

Value

300000000

MAX_SUPPLY

int64

// 300M (was 1e9; unreachable above the safe limit)

Value

300000000

MAX_BUY_UGNOT

int64

// 100 GNOT

Value

100000000

MAX_SELL_TOKENS

int64

// 10 Million

Value

10000000

GRADUATION_THRESHOLD

int64

Graduation Threshold (10,000 GNOT)

Value

10000000000

MAX_DESCRIPTION_LEN

untyped bigint

Value

(280 <untyped> bigint)

MAX_IMAGE_URL_LEN

untyped bigint

Value

(256 <untyped> bigint)

MAX_SOCIAL_URL_LEN

untyped bigint

Value

(128 <untyped> bigint)

SLOPE_A

int64

Pricing: Price(S) = S/A + B

Value

100

BASE_B

int64

Value

1

protocolFeeAccumulator

int64

Value

1010140

admin

.uverse.address

Value

<gnolang.StringValue>

pendingAdmin

.uverse.address

Value

<zero>

pausedTokensCount

int64

Value

0

factoryBanker

banker.banker
Open
OID
0e5fd2…f916:98
factoryBanker details

Inspect ref

realmAddr

.uverse.address

Value

<gnolang.StringValue>

globalPaused

bool

// Emergency global pause - blocks all trading

Value

false

nextTokenID

v0.ID

Current GRC20 identity includes a realm-local sequence ID. All three token creation paths must share one counter so emitted token IDs remain unique.

Value

<zero>

authorizedPools

map[string].uverse.address

GnoSwap integration: authorized pool addresses per token symbol -> pool address that can call TransferForDEX

Open
OID
0e5fd2…f916:12
authorizedPools details

Inspect map

protocolTokenFees

map[string]int64

Protocol token fees accumulated from DEX trades (in tokens, per symbol) These can be withdrawn by admin and sold

Open
OID
0e5fd2…f916:14
protocolTokenFees details

Inspect map

tokenEntry

type

GRC20 token storage

Value

factory.tokenEntry

tokenRegistry

map[string]*factory.tokenEntry
Open
OID
0e5fd2…f916:16
tokenRegistry details

Inspect map

TokenMeta

type

Value

factory.TokenMeta

safeMul

func(a int64, b int64) int64

safeMul multiplies two non-negative int64 values and panics on overflow, turning a silent int64 wrap (which the AMM pricing/liquidity math is otherwise exposed to for large pools) into a graceful revert. AMM-OVERFLOW-1.

Open
OID
0e5fd2…f916:20
safeMul details

Inspect func

splitTradeFee

func(fee int64, royaltyRateBps int64, royaltyRecipient .uverse.address) (protocolFee int64, royaltyFee int64)
Open
OID
0e5fd2…f916:23
splitTradeFee details

Inspect func

assertDirectPayer

func()

assertDirectPayer guards every entry point that reads its ugnot payment from unsafe.OriginSend(). OriginSend() reports the coins attached to the \*origin transaction\*, NOT the coins actually received by this realm. If an intermediary sits between the user and this call (a wrapper realm called with --send, or a \`gnokey maketx run\` ephemeral realm), it can keep the coins while OriginSend() still reports the full amount, letting it credit reserves / mint tokens / receive refunds against funds the realm never received and drain the shared realm account. Requiring the immediate caller to be a pure EOA (IsUserCall, i.e. cur.Previous().PkgPath()=="") guarantees the --send coins landed at realmAddr, so OriginSend() == receipt. See PAY-1 in docs/SECURITY\_AUDIT\_2026-06-13.md and gno docs/resources/effective-gno.md "Verifying inbound Coin payments".

Open
OID
0e5fd2…f916:24
assertDirectPayer details

Inspect func

errorf

func(format string, args []interface{...}) .uverse.error

FMT-1: delegate to ufmt instead of the previous naive strings.Replace formatters, which could not substitute untyped-int constants (no \`case int\`), mangled width verbs, and rendered \`%%\` literally. ufmt handles standard verbs for both int and int64 and collapses \`%%\` -> \`%\`.

Open
OID
0e5fd2…f916:25
errorf details

Inspect func

sprintf

func(format string, args []interface{...}) string
Open
OID
0e5fd2…f916:26
sprintf details

Inspect func

safeK

func(x int64, y int64) int64

safeK computes the informational KLast = x\*y, saturating at MaxInt64 instead of wrapping to a misleading negative value on overflow (KLAST-OVERFLOW-1). KLast is read only by off-chain UI and feeds no on-chain pricing/fee logic, so saturating here keeps swaps/liquidity ops from ever reverting on this purely cosmetic computation.

Open
OID
0e5fd2…f916:27
safeK details

Inspect func

formatBps

func(bps int64) string

formatBps renders a basis-point value (0-500) as a percentage with two fractional digits, e.g. 500 -> "5.00%", 25 -> "0.25%". ufmt does not apply a width to %d, so the zero-padding of the fractional part is done explicitly.

Open
OID
0e5fd2…f916:28
formatBps details

Inspect func

validateSymbol

func(raw string) (string, .uverse.error)
Open
OID
0e5fd2…f916:29
validateSymbol details

Inspect func

validateName

func(raw string) (string, .uverse.error)
Open
OID
0e5fd2…f916:30
validateName details

Inspect func

validateDescription

func(raw string) string
Open
OID
0e5fd2…f916:31
validateDescription details

Inspect func

validateImageURL

func(raw string) string
Open
OID
0e5fd2…f916:32
validateImageURL details

Inspect func

validateSocialURL

func(raw string) string
Open
OID
0e5fd2…f916:33
validateSocialURL details

Inspect func

getTokenEntry

func(symbol string) *factory.tokenEntry
Open
OID
0e5fd2…f916:34
getTokenEntry details

Inspect func

LaunchToken

func(rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string) string
Open
OID
0e5fd2…f916:35
LaunchToken details

Inspect func

LaunchTemplate

func(rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string, royaltyRateBps int64) string

LaunchTemplate creates a token with a royalty rate, intended to be forked royaltyRateBps: 0-500 (0%-5%) of trade fees paid to creator on forks

Open
OID
0e5fd2…f916:36
LaunchTemplate details

Inspect func

ForkToken

func(parentSymbol string, rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string) string

ForkToken creates a new token that pays royalties to the parent's creator

Open
OID
0e5fd2…f916:37
ForkToken details

Inspect func

QuoteBuy

func(symbol string, ugnotIn int64) (tokensOut int64, fee int64, ugnotChange int64)
Open
OID
0e5fd2…f916:38
QuoteBuy details

Inspect func

QuoteSell

func(symbol string, tokensIn int64) (ugnotOut int64, fee int64)
Open
OID
0e5fd2…f916:39
QuoteSell details

Inspect func

Buy

func(symbol string, minTokensOut int64) int64
Open
OID
0e5fd2…f916:40
Buy details

Inspect func

Sell

func(symbol string, amount int64, minUgnotOut int64) int64
Open
OID
0e5fd2…f916:41
Sell details

Inspect func

Transfer

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

Transfer moves tokens from caller to recipient

Open
OID
0e5fd2…f916:42
Transfer details

Inspect func

Approve

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

Approve sets allowance for spender to spend caller's tokens

Open
OID
0e5fd2…f916:43
Approve details

Inspect func

TransferFrom

func(symbol string, from .uverse.address, to .uverse.address, amount int64)

TransferFrom moves tokens using allowance mechanism

Open
OID
0e5fd2…f916:44
TransferFrom details

Inspect func

Allowance

func(symbol string, owner .uverse.address, spender .uverse.address) int64

Allowance returns the remaining allowance

Open
OID
0e5fd2…f916:45
Allowance details

Inspect func

checkGraduation

func(symbol string, reserves int64)

checkGraduation marks token as graduated when threshold reached Trading continues until admin initiates migration

Open
OID
0e5fd2…f916:46
checkGraduation details

Inspect func

StartMigration

func(symbol string)

StartMigration temporarily locks trading while DEX pool is created This matches pump.fun's model - short pause during liquidity migration

Open
OID
0e5fd2…f916:47
StartMigration details

Inspect func

CompleteMigration

func(symbol string, dexPoolID string)

CompleteMigration unlocks trading after DEX pool is live Trading resumes on both GnoPump and GnoSwap (like pump.fun + Raydium)

Open
OID
0e5fd2…f916:48
CompleteMigration details

Inspect func

AbortMigration

func(symbol string)

AbortMigration clears a started-but-unfinished migration so bonding-curve trading resumes. MIGRATE-FREEZE-1: StartMigration sets IsMigrating, which panics Buy/Sell; without an abort path a stalled migration freezes the token's market indefinitely with no recourse. Only valid before any internal AMM pool is initialized (after that, finish via CompleteMigration instead).

Open
OID
0e5fd2…f916:49
AbortMigration details

Inspect func

GetMigrationStatus

func(symbol string) (graduated bool, migrating bool, complete bool, poolID string)

GetMigrationStatus returns current migration state for a token

Open
OID
0e5fd2…f916:50
GetMigrationStatus details

Inspect func

RegisterDEXPool

func(symbol string, poolAddr .uverse.address)

RegisterDEXPool authorizes a GnoSwap pool address to transfer tokens This is called after pool creation on GnoSwap side

Open
OID
0e5fd2…f916:51
RegisterDEXPool details

Inspect func

TransferForDEX

func(symbol string, from .uverse.address, to .uverse.address, amount int64) int64

TransferForDEX allows authorized GnoSwap pools to transfer tokens during swaps GnoSwap calls this instead of requiring user approvals Fee Structure (taken from transfer amount, in tokens): - Protocol Fee: 1% (100 bps) → accumulated for protocol - Royalty Fee: 0-5% → paid to parent creator (if forked token) - Net Amount: remainder → sent to recipient

Open
OID
0e5fd2…f916:52
TransferForDEX details

Inspect func

WithdrawReservesToPool

func(symbol string, poolAddr .uverse.address) int64

WithdrawReservesToPool sends GNOT reserves to GnoSwap pool for liquidity Called during migration process to seed the AMM pool

Open
OID
0e5fd2…f916:53
WithdrawReservesToPool details

Inspect func

GetAuthorizedPool

func(symbol string) .uverse.address
Open
OID
0e5fd2…f916:54
GetAuthorizedPool details

Inspect func

GetDEXInfo

func(symbol string) (supply int64, decimals int, poolAddr .uverse.address, migrated bool)

GetDEXInfo returns all info GnoSwap needs to work with a token

Open
OID
0e5fd2…f916:55
GetDEXInfo details

Inspect func

GetProtocolTokenFees

func(symbol string) int64

GetProtocolTokenFees returns accumulated token fees from DEX trades

Open
OID
0e5fd2…f916:56
GetProtocolTokenFees details

Inspect func

WithdrawProtocolTokenFees

func(symbol string, to .uverse.address) int64

WithdrawProtocolTokenFees lets admin withdraw accumulated token fees Tokens are transferred to specified address (admin can sell them)

Open
OID
0e5fd2…f916:57
WithdrawProtocolTokenFees details

Inspect func

AMMPool

type

Pool state for graduated tokens

Value

factory.AMMPool

lpBalances

map[string]map[.uverse.address]int64

// symbol -> address -> LP amount

Open
OID
0e5fd2…f916:59
lpBalances details

Inspect map

ammPools

map[string]*factory.AMMPool

// symbol -> pool

Open
OID
0e5fd2…f916:61
ammPools details

Inspect map

InitializeAMMPool

func(symbol string, tokenAmount int64)

InitializeAMMPool creates the AMM pool during migration Called by admin after graduation to seed liquidity

Open
OID
0e5fd2…f916:62
InitializeAMMPool details

Inspect func

SwapGNOTForToken

func(symbol string, minTokensOut int64) int64

SwapGNOTForToken buys tokens from the AMM pool Constant product: (x + dx)(y - dy) = k dy = y \* dx / (x + dx)

Open
OID
0e5fd2…f916:63
SwapGNOTForToken details

Inspect func

SwapTokenForGNOT

func(symbol string, tokenAmount int64, minGNOTOut int64) int64

SwapTokenForGNOT sells tokens to the AMM pool for GNOT

Open
OID
0e5fd2…f916:64
SwapTokenForGNOT details

Inspect func

QuoteAMMBuy

func(symbol string, ugnotIn int64) (tokensOut int64, fee int64)

QuoteAMMBuy returns expected tokens out for GNOT in fee is the TOTAL swap fee (protocol 1% + LP 1% = 2%), matching SwapGNOTForToken.

Open
OID
0e5fd2…f916:65
QuoteAMMBuy details

Inspect func

QuoteAMMSell

func(symbol string, tokenAmount int64) (gnotOut int64, fee int64)

QuoteAMMSell returns expected GNOT out for tokens in. fee is the TOTAL swap fee (protocol 1% + LP 1% = 2%), matching SwapTokenForGNOT.

Open
OID
0e5fd2…f916:66
QuoteAMMSell details

Inspect func

GetAMMPoolInfo

func(symbol string) (tokenReserve int64, gnotReserve int64, k int64, totalLP int64, active bool)

GetAMMPoolInfo returns pool state for a graduated token

Open
OID
0e5fd2…f916:67
GetAMMPoolInfo details

Inspect func

GetAMMPrice

func(symbol string) int64

GetAMMPrice returns current price from pool (GNOT per token, scaled by 1e6)

Open
OID
0e5fd2…f916:68
GetAMMPrice details

Inspect func

AddLiquidity

func(symbol string, tokenAmount int64, minLpOut int64) int64

AddLiquidity lets users add liquidity to graduated token pools They send GNOT and equivalent tokens get pulled from their balance. minLpOut is the caller's slippage bound (0 = no bound): the call reverts if fewer LP tokens than minLpOut would be minted.

Open
OID
0e5fd2…f916:69
AddLiquidity details

Inspect func

RemoveLiquidity

func(symbol string, lpAmount int64) (tokensOut int64, gnotOut int64)

RemoveLiquidity lets LP holders withdraw their share

Open
OID
0e5fd2…f916:70
RemoveLiquidity details

Inspect func

GetLPBalance

func(symbol string, user .uverse.address) int64

GetLPBalance returns user's LP token balance

Open
OID
0e5fd2…f916:71
GetLPBalance details

Inspect func

GetTradeRoute

func(symbol string) string

GetTradeRoute tells the UI which function to call for a given token Returns: "bonding" for Buy/Sell, "amm" for SwapGNOTForToken/SwapTokenForGNOT

Open
OID
0e5fd2…f916:72
GetTradeRoute details

Inspect func

QuoteTrade

func(symbol string, isBuy bool, amountIn int64) (amountOut int64, fee int64, route string)

QuoteTrade returns expected output regardless of which route will be used

Open
OID
0e5fd2…f916:73
QuoteTrade details

Inspect func

gnoswapRouterAddr

.uverse.address

// TODO: Set real address

Value

<gnolang.StringValue>

SetGnoSwapRouter

func(routerAddr .uverse.address)

SetGnoSwapRouter allows admin to configure the GnoSwap router address

Open
OID
0e5fd2…f916:75
SetGnoSwapRouter details

Inspect func

GetGnoSwapRouter

func() .uverse.address
Open
OID
0e5fd2…f916:76
GetGnoSwapRouter details

Inspect func

GetGnoSwapPoolInfo

func(symbol string) (poolAddr .uverse.address, migrated bool, tokenReserve int64, gnotReserve int64)

GetGnoSwapPoolInfo returns info about our pool for external DEX compatibility

Open
OID
0e5fd2…f916:77
GetGnoSwapPoolInfo details

Inspect func

WithdrawProtocolFees

func(to .uverse.address)
Open
OID
0e5fd2…f916:78
WithdrawProtocolFees details

Inspect func

AdminRemoveLiquidity

func(symbol string, lpAmount int64, to .uverse.address) (tokensOut int64, gnotOut int64)

AdminRemoveLiquidity withdraws the protocol-owned LP position (the initial liquidity credited to realmAddr in InitializeAMMPool) to a treasury address. LOCKED-PROTOCOL-LP-1: without this, the protocol's seeded GNOT + tokens and its accrued LP-fee yield are permanently stranded, because RemoveLiquidity keys the burn on the immediate caller and realmAddr can never be the immediate caller of an exported function.

Open
OID
0e5fd2…f916:79
AdminRemoveLiquidity details

Inspect func

ProposeAdmin

func(newAdmin .uverse.address)

ProposeAdmin / AcceptAdmin implement a two-step admin handover. ADMIN-ROTATE-1: the admin key was previously immutable and unrecoverable. This lets the current admin hand control to a new key (e.g. a multisig) which must confirm, preventing a handover to a wrong or uncontrolled address.

Open
OID
0e5fd2…f916:80
ProposeAdmin details

Inspect func

GetPendingAdmin

func() .uverse.address
Open
OID
0e5fd2…f916:83
GetPendingAdmin details

Inspect func

GlobalPause

func()

GlobalPause halts all trading on the factory (emergency use only)

Open
OID
0e5fd2…f916:84
GlobalPause details

Inspect func

GlobalUnpause

func()

GlobalUnpause resumes trading on the factory

Open
OID
0e5fd2…f916:85
GlobalUnpause details

Inspect func

IsGlobalPaused

func() bool

IsGlobalPaused returns the global pause state

Open
OID
0e5fd2…f916:86
IsGlobalPaused details

Inspect func

PauseToken

func(symbol string)
Open
OID
0e5fd2…f916:87
PauseToken details

Inspect func

UnpauseToken

func(symbol string)
Open
OID
0e5fd2…f916:88
UnpauseToken details

Inspect func

GetTokenInfo

func(symbol string) factory.TokenMeta
Open
OID
0e5fd2…f916:89
GetTokenInfo details

Inspect func

BalanceOf

func(symbol string, addr .uverse.address) int64
Open
OID
0e5fd2…f916:90
BalanceOf details

Inspect func

TotalSupply

func(symbol string) int64
Open
OID
0e5fd2…f916:91
TotalSupply details

Inspect func

GetName

func(symbol string) string
Open
OID
0e5fd2…f916:92
GetName details

Inspect func

GetSymbol

func(symbol string) string
Open
OID
0e5fd2…f916:93
GetSymbol details

Inspect func

GetDecimals

func(symbol string) int
Open
OID
0e5fd2…f916:94
GetDecimals details

Inspect func

GetProtocolFees

func() int64
Open
OID
0e5fd2…f916:95
GetProtocolFees details

Inspect func

FactoryState

type

Value

factory.FactoryState

GetFactoryState

func() factory.FactoryState
Open
OID
0e5fd2…f916:96
GetFactoryState details

Inspect func
TOKEN_DECIMALS : untyped bigint =(0 <untyped> bigint)
FEE_BPS : int64 =100
LP_FEE_BPS : int64 =100
CREATE_FEE : int64 =1000000
MIN_SYMBOL_LEN : untyped bigint =(3 <untyped> bigint)
MAX_SYMBOL_LEN : untyped bigint =(4 <untyped> bigint)
MAX_NAME_LEN : untyped bigint =(20 <untyped> bigint)
SAFE_SUPPLY_LIMIT : int64 =300000000
MAX_SUPPLY : int64 =300000000
MAX_BUY_UGNOT : int64 =100000000
MAX_SELL_TOKENS : int64 =10000000
GRADUATION_THRESHOLD : int64 =10000000000
MAX_DESCRIPTION_LEN : untyped bigint =(280 <untyped> bigint)
MAX_IMAGE_URL_LEN : untyped bigint =(256 <untyped> bigint)
MAX_SOCIAL_URL_LEN : untyped bigint =(128 <untyped> bigint)
SLOPE_A : int64 =100
BASE_B : int64 =1
protocolFeeAccumulator : int64 =1010140
admin : .uverse.address =<gnolang.StringValue>
pendingAdmin : .uverse.address =<zero>
pausedTokensCount : int64 =0
factoryBanker : banker.banker Inspect
realmAddr : .uverse.address =<gnolang.StringValue>
globalPaused : bool =false
nextTokenID : v0.ID =<zero>
authorizedPools : map[string].uverse.address Inspect
protocolTokenFees : map[string]int64 Inspect
tokenEntry : type =factory.tokenEntry
tokenRegistry : map[string]*factory.tokenEntry Inspect
TokenMeta : type =factory.TokenMeta
init.30 : func() Inspect
sqrt : func(y int64) int64 Inspect
safeMul : func(a int64, b int64) int64 Inspect
integral : func(s int64) int64 Inspect
spotPrice : func(s int64) int64 Inspect
splitTradeFee : func(fee int64, royaltyRateBps int64, royaltyRecipient .uverse.address) (protocolFee int64, royaltyFee int64) Inspect
assertDirectPayer : func() Inspect
errorf : func(format string, args []interface{...}) .uverse.error Inspect
sprintf : func(format string, args []interface{...}) string Inspect
safeK : func(x int64, y int64) int64 Inspect
formatBps : func(bps int64) string Inspect
validateSymbol : func(raw string) (string, .uverse.error) Inspect
validateName : func(raw string) (string, .uverse.error) Inspect
validateDescription : func(raw string) string Inspect
validateImageURL : func(raw string) string Inspect
validateSocialURL : func(raw string) string Inspect
getTokenEntry : func(symbol string) *factory.tokenEntry Inspect
LaunchToken : func(rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string) string Inspect
LaunchTemplate : func(rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string, royaltyRateBps int64) string Inspect
ForkToken : func(parentSymbol string, rawSymbol string, rawName string, rawDescription string, rawImageURL string, rawTwitter string, rawTelegram string, rawDiscord string, rawWebsite string) string Inspect
QuoteBuy : func(symbol string, ugnotIn int64) (tokensOut int64, fee int64, ugnotChange int64) Inspect
QuoteSell : func(symbol string, tokensIn int64) (ugnotOut int64, fee int64) Inspect
Buy : func(symbol string, minTokensOut int64) int64 Inspect
Sell : func(symbol string, amount int64, minUgnotOut int64) int64 Inspect
Transfer : func(symbol string, to .uverse.address, amount int64) Inspect
Approve : func(symbol string, spender .uverse.address, amount int64) Inspect
TransferFrom : func(symbol string, from .uverse.address, to .uverse.address, amount int64) Inspect
Allowance : func(symbol string, owner .uverse.address, spender .uverse.address) int64 Inspect
checkGraduation : func(symbol string, reserves int64) Inspect
StartMigration : func(symbol string) Inspect
CompleteMigration : func(symbol string, dexPoolID string) Inspect
AbortMigration : func(symbol string) Inspect
GetMigrationStatus : func(symbol string) (graduated bool, migrating bool, complete bool, poolID string) Inspect
RegisterDEXPool : func(symbol string, poolAddr .uverse.address) Inspect
TransferForDEX : func(symbol string, from .uverse.address, to .uverse.address, amount int64) int64 Inspect
WithdrawReservesToPool : func(symbol string, poolAddr .uverse.address) int64 Inspect
GetAuthorizedPool : func(symbol string) .uverse.address Inspect
GetDEXInfo : func(symbol string) (supply int64, decimals int, poolAddr .uverse.address, migrated bool) Inspect
GetProtocolTokenFees : func(symbol string) int64 Inspect
WithdrawProtocolTokenFees : func(symbol string, to .uverse.address) int64 Inspect
AMMPool : type =factory.AMMPool
lpBalances : map[string]map[.uverse.address]int64 Inspect
ammPools : map[string]*factory.AMMPool Inspect
InitializeAMMPool : func(symbol string, tokenAmount int64) Inspect
SwapGNOTForToken : func(symbol string, minTokensOut int64) int64 Inspect
SwapTokenForGNOT : func(symbol string, tokenAmount int64, minGNOTOut int64) int64 Inspect
QuoteAMMBuy : func(symbol string, ugnotIn int64) (tokensOut int64, fee int64) Inspect
QuoteAMMSell : func(symbol string, tokenAmount int64) (gnotOut int64, fee int64) Inspect
GetAMMPoolInfo : func(symbol string) (tokenReserve int64, gnotReserve int64, k int64, totalLP int64, active bool) Inspect
GetAMMPrice : func(symbol string) int64 Inspect
AddLiquidity : func(symbol string, tokenAmount int64, minLpOut int64) int64 Inspect
RemoveLiquidity : func(symbol string, lpAmount int64) (tokensOut int64, gnotOut int64) Inspect
GetLPBalance : func(symbol string, user .uverse.address) int64 Inspect
GetTradeRoute : func(symbol string) string Inspect
QuoteTrade : func(symbol string, isBuy bool, amountIn int64) (amountOut int64, fee int64, route string) Inspect
gnoswapRouterAddr : .uverse.address =<gnolang.StringValue>
SetGnoSwapRouter : func(routerAddr .uverse.address) Inspect
GetGnoSwapRouter : func() .uverse.address Inspect
GetGnoSwapPoolInfo : func(symbol string) (poolAddr .uverse.address, migrated bool, tokenReserve int64, gnotReserve int64) Inspect
WithdrawProtocolFees : func(to .uverse.address) Inspect
AdminRemoveLiquidity : func(symbol string, lpAmount int64, to .uverse.address) (tokensOut int64, gnotOut int64) Inspect
ProposeAdmin : func(newAdmin .uverse.address) Inspect
AcceptAdmin : func() Inspect
GetAdmin : func() .uverse.address Inspect
GetPendingAdmin : func() .uverse.address Inspect
GlobalPause : func() Inspect
GlobalUnpause : func() Inspect
IsGlobalPaused : func() bool Inspect
PauseToken : func(symbol string) Inspect
UnpauseToken : func(symbol string) Inspect
GetTokenInfo : func(symbol string) factory.TokenMeta Inspect
BalanceOf : func(symbol string, addr .uverse.address) int64 Inspect
TotalSupply : func(symbol string) int64 Inspect
GetName : func(symbol string) string Inspect
GetSymbol : func(symbol string) string Inspect
GetDecimals : func(symbol string) int Inspect
GetProtocolFees : func() int64 Inspect
FactoryState : type =factory.FactoryState
GetFactoryState : func() factory.FactoryState Inspect
Render : func(path string) string Inspect