the dex i built following zsoltâs js course , i wanna add the swap functionality , but i am getting error
DEX.js:148 Uncaught (in promise) Error: Something went wrong
{
âmessageâ: âRequest failed with status code 400â,
ânameâ: âErrorâ,
âstackâ: âError: Request failed with status code 400\n at createError (/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/node_modules/axios/lib/adapters/http.js:269:11)\n at IncomingMessage.emit (events.js:326:22)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)â,
âconfigâ: {
âurlâ: âxhttps://api.1inch.exchange/v3.0/137/swap?fromTokenAddress=0x831753dd7087cac61ab5644b308642cc1c33dc13&toTokenAddress=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee&amount=10000000000000000&fromAddress=0xcf3ec0de3690117c7f7ba032f2bbc5074a83401a&slippage=1&fee=1&referrerAddress=0x9BE4f78a7C2FdCB0D0e1D1fCC78D663e9bbDfE26â,
âmethodâ: âgetâ,
âheadersâ: {
âAcceptâ: âapplication/json, text/plain, /â,
âUser-Agentâ: âaxios/0.21.4â
},
âtransformRequestâ: [
null
],
âtransformResponseâ: [
null
],
âtimeoutâ: 0,
âxsrfCookieNameâ: âXSRF-TOKENâ,
âxsrfHeaderNameâ: âX-XSRF-TOKENâ,
âmaxContentLengthâ: -1,
âmaxBodyLengthâ: -1,
âtransitionalâ: {
âsilentJSONParsingâ: true,
âforcedJSONParsingâ: true,
âclarifyTimeoutErrorâ: false
}
}
}
at moralis.js:6462:39
at tryCatch (moralis.js:73356:40)
at Generator.invoke [as _invoke] (moralis.js:73587:22)
at Generator.next (moralis.js:73412:21)
at asyncGeneratorStep (moralis.js:30002:24)
at _next (moralis.js:30024:9)
(anonymous) @ moralis.js:6462
tryCatch @ moralis.js:73356
invoke @ moralis.js:73587
(anonymous) @ moralis.js:73412
asyncGeneratorStep @ moralis.js:30002
_next @ moralis.js:30024
DEX.js:148 Uncaught (in promise) Error: Something went wrong
{
âmessageâ: âRequest failed with status code 400â,
ânameâ: âErrorâ,
âstackâ: âError: Request failed with status code 400\n at createError (/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/node_modules/axios/lib/adapters/http.js:269:11)\n at IncomingMessage.emit (events.js:326:22)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)â,
âconfigâ: {
âurlâ: âx://api.1inch.exchange/v3.0/137/swap?fromTokenAddress=0x831753dd7087cac61ab5644b308642cc1c33dc13&toTokenAddress=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee&amount=10000000000000000&fromAddress=0xcf3ec0de3690117c7f7ba032f2bbc5074a83401a&slippage=1&fee=1&referrerAddress=0x9BE4f78a7C2FdCB0D0e1D1fCC78D663e9bbDfE26â,
âmethodâ: âgetâ,
âheadersâ: {
âAcceptâ: âapplication/json, text/plain, /â,
âUser-Agentâ: âaxios/0.21.4â
},
âtransformRequestâ: [
null
],
âtransformResponseâ: [
null
],
âtimeoutâ: 0,
âxsrfCookieNameâ: âXSRF-TOKENâ,
âxsrfHeaderNameâ: âX-XSRF-TOKENâ,
âmaxContentLengthâ: -1,
âmaxBodyLengthâ: -1,
âtransitionalâ: {
âsilentJSONParsingâ: true,
âforcedJSONParsingâ: true,
âclarifyTimeoutErrorâ: false
}
}
}
at moralis.js:6462:39
at tryCatch (moralis.js:73356:40)
at Generator.invoke [as _invoke] (moralis.js:73587:22)
at Generator.next (moralis.js:73412:21)
at asyncGeneratorStep (moralis.js:30002:24)
at _next (moralis.js:30024:9)
4moralis.js:6462 Uncaught (in promise) Error: Something went wrong
{
âmessageâ: âRequest failed with status code 400â,
ânameâ: âErrorâ,
âstackâ: âError: Request failed with status code 400\n at createError (/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/node_modules/axios/lib/adapters/http.js:269:11)\n at IncomingMessage.emit (events.js:326:22)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)â,
âconfigâ: {
âurlâ: âxhttps://api.1inch.exchange/v3.0/137/swap?fromTokenAddress=0x831753dd7087cac61ab5644b308642cc1c33dc13&toTokenAddress=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee&amount=10000000000000000&fromAddress=0xcf3ec0de3690117c7f7ba032f2bbc5074a83401a&slippage=1&fee=1&referrerAddress=0x9BE4f78a7C2FdCB0D0e1D1fCC78D663e9bbDfE26â,
âmethodâ: âgetâ,
âheadersâ: {
âAcceptâ: âapplication/json, text/plain, /â,
âUser-Agentâ: âaxios/0.21.4â
},
âtransformRequestâ: [
null
],
âtransformResponseâ: [
null
],
âtimeoutâ: 0,
âxsrfCookieNameâ: âXSRF-TOKENâ,
âxsrfHeaderNameâ: âX-XSRF-TOKENâ,
âmaxContentLengthâ: -1,
âmaxBodyLengthâ: -1,
âtransitionalâ: {
âsilentJSONParsingâ: true,
âforcedJSONParsingâ: true,
âclarifyTimeoutErrorâ: false
}
}
}
at moralis.js:6462:39
at tryCatch (moralis.js:73356:40)
at Generator.invoke [as _invoke] (moralis.js:73587:22)
at Generator.next (moralis.js:73412:21)
at asyncGeneratorStep (moralis.js:30002:24)
at _next (moralis.js:30024:9)
`async function formSubmitted(event){
event.preventDefault();
const fromAmount = Number.parseFloat($amountInput.value);
const fromMaxValue = Number.parseFloat($slectedToken.dataset.max);
if(Number.isNaN(fromAmount) || fromAmount>fromMaxValue) {
document.querySelector(".js-amount-error").innerText = âinvalid ammountâ;
}else{
document.querySelector(".js-amount-error").innerText = â ';
}
const [toTokenAddress, toDecimals] = document.querySelector('[name=to-token]').value.split('-');
const fromDecimals = $slectedToken.dataset.decimals;
const fromTokenAddress = $slectedToken.dataset.address;
try{
//async function getQuote() {
const quote = await Moralis.Plugins.oneInch.quote({
chain: 'polygon', // The blockchain you want to use (eth/bsc/polygon)
fromTokenAddress, // The token you want to swap
toTokenAddress, // The token you want to receive
amount: Moralis.Units.Token(fromAmount, fromDecimals),
});
const toAmount = tokenValue(quote.toTokenAmount, toDecimals);
document.querySelector('.js-quote-container').innerHTML=`
<p>${fromAmount} ${quote.fromToken.symbol} = ${toAmount} ${quote.toToken.symbol}</p>
<p> gas fee : ${quote.estimatedGas} </p>
<button class="btn btn-success" id="btn-ps">perform swap</button>
`;
document.getElementById("btn-ps").addEventListener('click', swap );
//}
}catch{
document.querySelector('.js-quote-container').innerHTML=`
<p class='error'>The conversion didnt succeed.</p>
`;
}
}
async function swap(event) {
event.preventDefault();
const [toTokenAddress, toDecimals] = document.querySelector(â[name=to-token]â).value.split(â-â);
const fromDecimals = $slectedToken.dataset.decimals;
const fromTokenAddress = $slectedToken.dataset.address;
const fromAmount = Number.parseFloat($amountInput.value);
const receipt = await Moralis.Plugins.oneInch.swap({
chain: âpolygonâ, // The blockchain you want to use (eth/bsc/polygon)
fromTokenAddress, // The token you want to swap
toTokenAddress, // The token you want to receive
amount: Moralis.Units.Token(fromAmount, fromDecimals),
fromAddress: Moralis.User.current().get(âethAddressâ), // Your wallet address
slippage: 1,
});
console.log(receipt);
}