const result = await relayer.sendTransactionSync({
payment: sponsored(),
calls: [
{
to: "<token-address>",
data: encodeFunctionData({
abi: tokenAbi,
functionName: "approve",
args: [targetContractAddress, amount],
}),
},
{
to: "<target-contract-address>",
data: encodeFunctionData({
abi: targetContractAbi,
functionName: "stake",
args: [amount],
}),
},
{
to: "<target-contract-address>",
data: encodeFunctionData({
abi: targetContractAbi,
functionName: "claimRewards",
args: [],
}),
},
],
});
if (result.status === StatusCode.Included) {
console.log(`Transaction hash: ${result.receipt.transactionHash}`);
} else {
console.log(`Failed: ${result.message}`);
}