A DeFi application that optimizes returns by migrating yield-bearing positions between protocols using the Enso SDK.
import { useEnsoBundleApi } from '@ensofinance/sdk-react'; function MigratePosition({ currentPosition, targetPosition }) { const { createBundleTransaction } = useEnsoBundleApi(); async function handleMigrate() { // Create migration bundle with Enso SDK const bundleTransaction = await createBundleTransaction({ actions: [ // Withdraw from current position { protocol: currentPosition.protocol, action: "withdraw", args: { tokenIn: currentPosition.address, amountIn: currentPosition.balance, primaryAddress: currentPosition.contractAddress } }, // Deposit into new position { protocol: targetPosition.protocol, action: "deposit", args: { tokenIn: "0x...", // Underlying token tokenOut: targetPosition.address, // Use output from previous action amountIn: { useOutputOfCallAt: 0 }, primaryAddress: targetPosition.contractAddress } } ] }); // Execute the transaction await bundleTransaction.execute(); } return ( <Button onClick={handleMigrate}> Migrate Position </Button> ); }
Updated
Was this page helpful?