amm.useRebalanceSwap
Performs a rebalance swap between user and validator tokens. Learn more about the Fee AMM
Usage
ts
import { } from 'wagmi/tempo'
import { } from 'viem'
const = ..()
// Call `mutate` in response to user action (e.g. button click, form submission)
.({
: ('10.5', 6),
: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb',
: '0x20c0000000000000000000000000000000000000',
: '0x20c0000000000000000000000000000000000001',
})
.('Amount in:', .?.)
10605000nts
import { createConfig, http } from 'wagmi'
import { tempoTestnet } from 'wagmi/chains'
import { KeyManager, webAuthn } from 'wagmi/tempo'
export const config = createConfig({
connectors: [
webAuthn({
keyManager: KeyManager.localStorage(),
}),
],
chains: [tempoTestnet],
multiInjectedProviderDiscovery: false,
transports: {
[tempoTestnet.id]: http(),
},
})Asynchronous Usage
The example above uses a *Sync variant of the action, that will wait for the transaction to be included before returning.
If you are optimizing for performance, you should use the non-sync amm.rebalanceSwap action and wait for inclusion manually:
ts
import { Hooks } from 'wagmi/tempo'
import { Actions } from 'viem/tempo'
import { parseUnits } from 'viem'
import { useWaitForTransactionReceipt } from 'wagmi'
const rebalanceSwap = Hooks.amm.useRebalanceSwap()
const { data: receipt } = useWaitForTransactionReceipt({ hash: rebalanceSwap.data })
// Call `mutate` in response to user action (e.g. button click, form submission)
rebalanceSwap.mutate({
amountOut: parseUnits('10.5', 6),
to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb',
userToken: '0x20c0000000000000000000000000000000000000',
validatorToken: '0x20c0000000000000000000000000000000000001',
})
if (receipt) {
const { args: { amountIn } }
= Actions.amm.rebalanceSwap.extractEvent(receipt.logs)Return Type
See TanStack Query mutation docs for more info hook return types.
data
See Wagmi Action amm.rebalanceSwap Return Type
mutate/mutateAsync
See Wagmi Action amm.rebalanceSwap Parameters
Parameters
config
Config | undefined
Config to use instead of retrieving from the nearest WagmiProvider.
mutation
See the TanStack Query mutation docs for more info hook parameters.