PathrockNetwork Gno Explorer
HomeBlocksTransactionsRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/gnoswap/router

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
router
Namespace
gnoswap
Files
10 (README)(gnomod.toml)
Exported functions
14
Module
gno.land/r/gnoswap/router
gno
0.9

Files (10)

  • README.mdmarkdown
  • gnomod.tomltoml
  • doc.gnogno
  • getter_utils.gnogno
  • proxy.gnogno
  • render.gnogno
  • state.gnogno
  • store.gnogno
  • types.gnogno
  • upgrade.gnogno
  • types.gnogno
    1package router23type IRouter interface {4	// ExactInSwapRoute executes a multi-hop exact-input swap.5	//6	// Parameters:7	//   - _: leading implementation discriminator; callers pass 0

    Functions

    • DrySwapRoute(inputToken string, outputToken string, specifiedAmount string, swapTypeStr string, strRouteArr string, quoteArr string, tokenAmountLimit string) (string, string, interface {Error func() string})

    • ExactInSingleSwapRoute(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, inputToken string, outputToken string, amountIn string, routeArr string, amountOutMin string, sqrtPriceLimitX96 string, deadline int64, referrer string) (string, string)

    • ExactInSwapRoute(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, inputToken string, outputToken string, amountIn string, routeArr string, quoteArr string, amountOutMin string, deadline int64, referrer string) (string, string)

    • ExactOutSingleSwapRoute(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, inputToken string, outputToken string, amountOut string, routeArr string, amountInMax string, sqrtPriceLimitX96 string, deadline int64, referrer string) (string, string)

    • ExactOutSwapRoute(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, inputToken string, outputToken string, amountOut string, routeArr string, quoteArr string, amountInMax string, deadline int64, referrer string) (string, string)

    • GetImplementationPackagePath() string

    • GetPendingProtocolFees() map[string]int64

    • GetSwapFee() uint64

    • NewRouterStore(kvStore interface {AddAuthorizedCaller func(int, .uverse.realm, .uverse.address, gno.land/p/gnoswap/store/v1.Permission) .uverse.error; Delete func(int, .uverse.realm, string) .uverse.error; Get func(string) (interface {}, .uverse.error); GetAddress func(string) (.uverse.address, .uverse.error); GetAllKeys func() ([]string, .uverse.error); GetAuthorizedCallers func() (map[.uverse.address]gno.land/p/gnoswap/store/v1.Permission, .uverse.error); GetBPTree func(string) (*gno.land/p/nt/bptree/v0.BPTree, .uverse.error); GetBool func(string) (bool, .uverse.error); GetDomainAddress func() .uverse.address; GetInt64 func(string) (int64, .uverse.error); GetString func(string) (string, .uverse.error); GetUint64 func(string) (uint64, .uverse.error); Has func(string) bool; IsWriteAuthorized func(.uverse.address) bool; RemoveAuthorizedCaller func(int, .uverse.realm, .uverse.address) .uverse.error; Set func(int, .uverse.realm, string, interface {}) .uverse.error; UpdateAuthorizedCaller func(int, .uverse.realm, .uverse.address, gno.land/p/gnoswap/store/v1.Permission) .uverse.error}) interface {GetPendingProtocolFee func(string) int64; GetPendingProtocolFees func() map[string]int64; GetSwapFee func() uint64; HasPendingProtocolFeesKey func() bool; HasSwapFeeKey func() bool; RemovePendingProtocolFee func(int, .uverse.realm, string) .uverse.error; SetPendingProtocolFee func(int, .uverse.realm, string, int64) .uverse.error; SetPendingProtocolFees func(int, .uverse.realm, map[string]int64) .uverse.error; SetSwapFee func(int, .uverse.realm, uint64) .uverse.error}

    • RegisterInitializer(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, initializer func(int, .uverse.realm, gno.land/r/gnoswap/router.IRouterStore) gno.land/r/gnoswap/router.IRouter)

    • Render(path string) string

    • SetSwapFee(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fee uint64)

    • SwapCallback(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, amount0Delta int64, amount1Delta int64, payer string) interface {Error func() string}

    • UpgradeImpl(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, packagePath string)

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗
    8 // - rlm: propagated current realm context used for swap validation and transfers
    9 // - inputToken: input token contract path
    10 // - outputToken: output token contract path
    11 // - amountIn: exact input amount encoded as a decimal string
    12 // - routeArr: comma-separated route paths, each with up to three pool hops
    13 // - quoteArr: comma-separated route allocation percentages summing to 100
    14 // - amountOutMin: minimum net output amount encoded as a decimal string
    15 // - deadline: Unix timestamp after which the swap is rejected
    16 // - referrer: optional referral address used for registration
    17 //
    18 // Returns:
    19 // - amountIn: actual input amount consumed, encoded as a decimal string
    20 // - amountOut: net output amount after router fee, encoded as a decimal string
    21 ExactInSwapRoute(_ int, rlm realm, inputToken string, outputToken string, amountIn string, routeArr string, quoteArr string, amountOutMin string, deadline int64, referrer string) (string, string)
    22 // ExactInSingleSwapRoute executes an exact-input swap through one pool.
    23 //
    24 // Parameters:
    25 // - _: leading implementation discriminator; callers pass 0
    26 // - rlm: propagated current realm context used for swap validation and transfers
    27 // - inputToken: input token contract path
    28 // - outputToken: output token contract path
    29 // - amountIn: exact input amount encoded as a decimal string
    30 // - routeArr: single-hop route path
    31 // - amountOutMin: minimum net output amount encoded as a decimal string
    32 // - sqrtPriceLimitX96: optional Q64.96 square-root price limit encoded as a decimal string
    33 // - deadline: Unix timestamp after which the swap is rejected
    34 // - referrer: optional referral address used for registration
    35 //
    36 // Returns:
    37 // - amountIn: actual input amount consumed, encoded as a decimal string
    38 // - amountOut: net output amount after router fee, encoded as a decimal string
    39 ExactInSingleSwapRoute(_ int, rlm realm, inputToken string, outputToken string, amountIn string, routeArr string, amountOutMin string, sqrtPriceLimitX96 string, deadline int64, referrer string) (string, string)
    40
    41 // ExactOutSwapRoute executes a multi-hop swap for a requested net output.
    42 //
    43 // Parameters:
    44 // - _: leading implementation discriminator; callers pass 0
    45 // - rlm: propagated current realm context used for swap validation and transfers
    46 // - inputToken: input token contract path
    47 // - outputToken: output token contract path
    48 // - amountOut: requested net output amount encoded as a decimal string
    49 // - routeArr: comma-separated route paths, each with up to three pool hops
    50 // - quoteArr: comma-separated route allocation percentages summing to 100
    51 // - amountInMax: maximum input amount encoded as a decimal string
    52 // - deadline: Unix timestamp after which the swap is rejected
    53 // - referrer: optional referral address used for registration
    54 //
    55 // Returns:
    56 // - amountIn: actual input amount consumed, encoded as a decimal string
    57 // - amountOut: net output amount after router fee, encoded as a decimal string
    58 ExactOutSwapRoute(_ int, rlm realm, inputToken string, outputToken string, amountOut string, routeArr string, quoteArr string, amountInMax string, deadline int64, referrer string) (string, string)
    59 // ExactOutSingleSwapRoute executes an exact-output swap through one pool.
    60 //
    61 // Parameters:
    62 // - _: leading implementation discriminator; callers pass 0
    63 // - rlm: propagated current realm context used for swap validation and transfers
    64 // - inputToken: input token contract path
    65 // - outputToken: output token contract path
    66 // - amountOut: requested net output amount encoded as a decimal string
    67 // - routeArr: single-hop route path
    68 // - amountInMax: maximum input amount encoded as a decimal string
    69 // - sqrtPriceLimitX96: optional Q64.96 square-root price limit encoded as a decimal string
    70 // - deadline: Unix timestamp after which the swap is rejected
    71 // - referrer: optional referral address used for registration
    72 //
    73 // Returns:
    74 // - amountIn: actual input amount consumed, encoded as a decimal string
    75 // - amountOut: net output amount after router fee, encoded as a decimal string
    76 ExactOutSingleSwapRoute(_ int, rlm realm, inputToken string, outputToken string, amountOut string, routeArr string, amountInMax string, sqrtPriceLimitX96 string, deadline int64, referrer string) (string, string)
    77
    78 // DrySwapRoute simulates a route without writing state or transferring tokens.
    79 //
    80 // Parameters:
    81 // - inputToken: input token contract path
    82 // - outputToken: output token contract path
    83 // - specifiedAmount: exact input or output amount encoded as a decimal string
    84 // - swapTypeStr: swap type string, either EXACT_IN or EXACT_OUT
    85 // - strRouteArr: comma-separated encoded route paths
    86 // - quoteArr: comma-separated route allocation percentages summing to 100
    87 // - tokenAmountLimit: minimum output for EXACT_IN or maximum input for EXACT_OUT
    88 //
    89 // Returns:
    90 // - amountIn: simulated input amount encoded as a decimal string
    91 // - amountOut: simulated net output amount encoded as a decimal string
    92 // - err: nil on success; validation, liquidity, or slippage error on failure
    93 DrySwapRoute(inputToken, outputToken, specifiedAmount, swapTypeStr, strRouteArr, quoteArr, tokenAmountLimit string) (string, string, error)
    94 // SwapCallback pays a pool's positive input delta during a swap.
    95 //
    96 // Parameters:
    97 // - _: leading callback discriminator; callers pass 0
    98 // - rlm: propagated current realm context; implementation verifies it is current
    99 // - token0Path: token-0 contract path in canonical pool order
    100 // - token1Path: token-1 contract path in canonical pool order
    101 // - amount0Delta: signed token-0 delta; positive means the pool is owed tokens
    102 // - amount1Delta: signed token-1 delta; positive means the pool is owed tokens
    103 // - payer: address whose balance supplies the positive delta
    104 //
    105 // Returns:
    106 // - err: nil after payment; error when realm, liquidity delta, or transfer validation fails
    107 SwapCallback(_ int, rlm realm, token0Path string, token1Path string, amount0Delta int64, amount1Delta int64, payer address) error
    108 // GetSwapFee reads the router fee rate.
    109 //
    110 // Returns:
    111 // - fee: router fee in basis points
    112 GetSwapFee() uint64
    113 // SetSwapFee updates the router fee rate.
    114 //
    115 // Parameters:
    116 // - _: leading call discriminator; callers pass 0
    117 // - rlm: propagated current realm context used for authorized storage writes
    118 // - fee: router fee in basis points
    119 SetSwapFee(_ int, rlm realm, fee uint64)
    120 // GetPendingProtocolFees reads pending protocol fees keyed by token path.
    121 //
    122 // Returns:
    123 // - fees: token-path to pending-fee amount map
    124 GetPendingProtocolFees() map[string]int64
    125 Render(path string) string
    126}
    127
    128type IRouterStore interface {
    129 // HasSwapFeeKey reports whether a stored router fee exists.
    130 //
    131 // Returns:
    132 // - exists: true when the swap-fee key is present
    133 HasSwapFeeKey() bool
    134 // GetSwapFee reads the stored router fee.
    135 //
    136 // Returns:
    137 // - fee: configured router fee in basis points
    138 GetSwapFee() uint64
    139 // SetSwapFee persists the router fee.
    140 //
    141 // Parameters:
    142 // - _: leading call discriminator; callers pass 0
    143 // - rlm: propagated current realm context; storage validates current-frame status
    144 // - fee: router fee in basis points
    145 //
    146 // Returns:
    147 // - err: nil on success; storage or realm-validation error otherwise
    148 SetSwapFee(_ int, rlm realm, fee uint64) error
    149 // HasPendingProtocolFeesKey reports whether a stored pending-fees map exists.
    150 //
    151 // Returns:
    152 // - exists: true when the pending-fees key is present
    153 HasPendingProtocolFeesKey() bool
    154 // GetPendingProtocolFees reads all pending protocol fees.
    155 //
    156 // Returns:
    157 // - fees: token-path to pending-fee amount map
    158 GetPendingProtocolFees() map[string]int64
    159 // SetPendingProtocolFees replaces all pending protocol fees.
    160 //
    161 // Parameters:
    162 // - _: leading call discriminator; callers pass 0
    163 // - rlm: propagated current realm context; storage validates current-frame status
    164 // - fees: token-path to pending-fee amount map to persist
    165 //
    166 // Returns:
    167 // - err: nil on success; storage or realm-validation error otherwise
    168 SetPendingProtocolFees(_ int, rlm realm, fees map[string]int64) error
    169 // GetPendingProtocolFee reads one token's pending fee.
    170 //
    171 // Parameters:
    172 // - tokenPath: token contract path to query
    173 //
    174 // Returns:
    175 // - amount: pending amount for tokenPath, or zero if absent
    176 GetPendingProtocolFee(tokenPath string) int64
    177 // SetPendingProtocolFee updates one token's pending fee.
    178 //
    179 // Parameters:
    180 // - _: leading call discriminator; callers pass 0
    181 // - rlm: propagated current realm context; storage validates current-frame and write authorization
    182 // - tokenPath: token contract path to update
    183 // - amount: pending amount to record
    184 //
    185 // Returns:
    186 // - err: nil on success; realm or storage authorization error otherwise
    187 SetPendingProtocolFee(_ int, rlm realm, tokenPath string, amount int64) error
    188 // RemovePendingProtocolFee deletes one token's pending fee.
    189 //
    190 // Parameters:
    191 // - _: leading call discriminator; callers pass 0
    192 // - rlm: propagated current realm context; storage validates current-frame and write authorization
    193 // - tokenPath: token contract path to remove
    194 //
    195 // Returns:
    196 // - err: nil on success; realm or storage authorization error otherwise
    197 RemovePendingProtocolFee(_ int, rlm realm, tokenPath string) error
    198}
    199

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.