const Wrapper = artifacts.require("CurioERC1155Wrapper"); module.exports = async (callback) => { const nftId1 = parseInt(process.argv[6]); const quantity1 = BigInt(process.argv[7]); const to = process.argv[8]; if (/0x[0-9a-fA-F]{40}/.test(to)) { const wrapper = await Wrapper.deployed(); const [account,] = await web3.eth.getAccounts(); const from = process.argv[9] ? process.argv[9] : account; if (from !== account) { console.log(`Overrode from address`); const approved = await wrapper.isApprovedForAll(from, account); console.log(`Approved? ${approved ? "yes" : "no"}`); } const currentBalance = BigInt(await wrapper.balanceOf(from, nftId1)); console.log(`Current balance: ${currentBalance}`); if (currentBalance >= quantity1) { console.log("Executing transfer transaction..."); try { const result = await wrapper.safeTransferFrom(from, to, nftId1, quantity1.toString(), []); console.log(`Transaction: ${result.tx}`); } catch (e) { console.error(`FAILED: ${e}`); } } else { console.error("Insufficient balance"); } } callback(); }