import { SuaveSDK } from 'suave-sdk';
const sdk = new SuaveSDK({
apiKey: 'your-api-key'
});
// Get the best routes to execute a swap
await sdk.getRoutes('tokenA','chainA',amount, 'tokenB','chainB').then(routes => {
console.log('Best Routes:', routes);
return routes[0]; //the first route is the best route
});
// Execute the route
await sdk.executeRoute(route).then((txs)=>{
console.log('Txs:', txs);//List of tx receipts for the executed route.
})
.catch((error)=>{
console.error('Error:', error);
});
.on('step-update',(step)=>{ //OPTIONAL
console.log('step-update:', step); //A change of state for the steps
});
.on('step-failed',(unexecutedSteps)=>{
console.log('step-failed:', unexecutedSteps); //A step failed
//You can restart the execution in case of failure
}//OPTIONAL
)
//Restart the execution from the failed step
await sdk.executeRoute(unexecutedSteps,{
retry:2, //Retry the execution 2 more times
onRetry:(retry)=>{
console.log('retry:', retry); //A retry is about to happen
}
});