Swap
Swap executes a token swap in the pool.
Parameters:
- cur: Current realm context; callers use cross(cur) when crossing into this realm.
- token0Path: Path of the first token in the pool pair.
- token1Path: Path of the second token in the pool pair.
- fee: Fee tier identifying the pool.
- recipient: Address receiving output tokens.
- zeroForOne: True to sell token0 for token1; false to sell token1 for token0.
- amountSpecified: Decimal signed amount; positive requests exact input and negative requests exact output.
- sqrtPriceLimitX96: Price boundary in Q64.96 fixed-point form at which the swap must stop.
- swapCallback: Callback invoked with the current realm, signed token deltas, and a callback marker; it must settle the input token and return a non-nil error to abort settlement.
Returns:
- amount0: Signed token0 delta for the swap, as a decimal string.
- amount1: Signed token1 delta for the swap, as a decimal string.
Halt check: reverts while the Pool halt scope is active.
Command
# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.
gnokey maketx call -pkgpath "gno.land/r/gnoswap/pool" -func "Swap" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/pool" -func "Swap" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx