import { MintableERC20 } from "thirdweb/modules";
// generate the payload and signature, this is typically done on the server
// requires to be generated with a wallet that has the MINTER_ROLE
const { payload, signature } =
await MintableERC20.generateMintSignature({
account,
contract,
mintRequest: {
recipient: "0x...",
quantity: "10",
},
});
// prepare the transaction, this is typically done on the client
// can be executed by any wallet
const transaction = MintableERC20.mintWithSignature({
contract,
payload,
signature,
});
// Send the transaction
await sendTransaction({ transaction, account });