Adding the moralis swap functionality to my first dex

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);
}