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

router/v1 package

Overview

package router handles token swaps through GnoSwap liquidity pools.

The router provides user-facing swap functions with slippage protection, multi-hop routing, and both exact-input and exact-output swap modes.

Live exact-input calls enforce a minimum output and deadline. Live exact-output calls enforce a maximum input and deadline. DrySwapRoute is read-only and has no deadline or transfer.

Functions

BuildSingleHopRoutePath

func BuildSingleHopRoutePath(tokenA, tokenB string, fee uint32) string

BuildSingleHopRoutePath formats one route-direction single-hop path.

Parameters:

  • tokenA: input token contract path
  • tokenB: output token contract path
  • fee: pool fee tier appended as a decimal value

Returns:

  • routePath: tokenA:tokenB:fee formatted route string; panics for empty or identical tokens

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.BuildSingleHopRoutePath(,,)"

Result

NewRouterV1

func NewRouterV1( routerStore router.IRouterStore, ) router.IRouter

NewRouterV1 creates a router v1 implementation backed by routerStore.

Parameters:

  • routerStore: storage implementation used for swap-fee and pending protocol-fee state

Returns:

  • router: initialized IRouter implementation backed by routerStore

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewRouterV1()"

Result

NewExactInParams

func NewExactInParams( baseParams BaseSwapParams, amountIn int64, amountOutMin int64, ) ExactInParams

NewExactInParams creates parameters for an exact-input swap.

Parameters:

  • baseParams: shared token, route, quote, price-limit, and deadline settings
  • amountIn: exact input amount in token units; must be positive before execution
  • amountOutMin: minimum acceptable output amount in token units

Returns:

  • params: exact-input parameters combining baseParams and amount limits

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewExactInParams(,,)"

Result

NewExactInSwapOperation

func NewExactInSwapOperation(r *routerV1, pp ExactInParams) *ExactInSwapOperation

NewExactInSwapOperation creates an exact-input operation for router execution.

Parameters:

  • r: router implementation used to execute pool swaps
  • pp: exact-input amount and route settings

Returns:

  • operation: initialized ExactInSwapOperation

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewExactInSwapOperation(,)"

Result

NewExactOutParams

func NewExactOutParams( baseParams BaseSwapParams, amountOut int64, amountInMax int64, ) ExactOutParams

NewExactOutParams creates parameters for an exact-output swap.

Parameters:

  • baseParams: shared token, route, quote, price-limit, and deadline settings
  • amountOut: requested output amount in token units; must be positive before execution
  • amountInMax: maximum acceptable input amount in token units

Returns:

  • params: exact-output parameters combining baseParams and amount limits

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewExactOutParams(,,)"

Result

NewExactOutSwapOperation

func NewExactOutSwapOperation(r *routerV1, pp ExactOutParams) *ExactOutSwapOperation

NewExactOutSwapOperation creates an exact-output operation for router execution.

Parameters:

  • r: router implementation used to execute pool swaps
  • pp: exact-output amount and route settings

Returns:

  • operation: initialized ExactOutSwapOperation

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewExactOutSwapOperation(,)"

Result

NewRouteParser

func NewRouteParser() *RouteParser

NewRouteParser creates a parser for comma-separated route and quote strings.

Returns:

  • parser: new RouteParser instance

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/router/v1.NewRouteParser()"

Result