Hi guys,
Iād like to send tokens to my usersesā addresses from backend, paying gas, so they wonāt see anything but the result
Iāve written a Cloud function to do so, but it gives me errorā¦
I donāt know if itās the best way to do this, I accept any suggestion
Moralis.Cloud.define("transfer", async (request) => {
const web3 = Moralis.web3ByChain("0x13881") //mumbai testnet
const contract = new web3.eth.Contract(CONTRACT_ABI, CONTRACT_ADDRESS);
const address = request.param.address;
const amount = request.param.amout;
let data = await contract.methods.transfer(address, amount).encodeABI();
let nGas = web3.utils.toHex(100000);
let txObj = {
"gas": nGas,
"to": USER_ADDRESS,
"value": 0x0,
"data": data,
"from": CONTRACT_OWNER
}
await web3.eth.accounts.signTransaction(txObj, PRIVATE_KEY, function(err, signedTx) {
if (err)
return {"KO", err}
else
{
await web3.eth.sendSignedTransaction(signedTx.rawTransaction, function(err, res) {
if (err)
return {"KO", err}
else{
return {"OK", res}
}
});
}
});
}
This is the error in dashboard log
2022-06-09T09:05:56.067Z - Error: Invalid function: "transfer"
at handleCloudFunction (/moralis-server/lib/Routers/FunctionsRouter.js:201:13)
at /moralis-server/lib/PromiseRouter.js:85:20
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
2022-06-09T09:00:36.590Z - SyntaxError: Unexpected identifier
at customUserPlugin (/moralis-server/cloud/main.js:157:26)
at /moralis-server/lib/cloud-code/plugins/index.js:144:15
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.initialize (/moralis-server/lib/cloud-code/plugins/index.js:133:3)