const Wrapper = artifacts.require("CurioERC1155Wrapper"); const IMastersFedi = artifacts.require("IMastersFedi"); module.exports = async (callback) => { const nftId = parseInt(process.argv[6]); const quantity = parseInt(process.argv[7]); console.log(`Quantity to unwrap: ${quantity}`); const wrapper = await Wrapper.deployed(); const tokenContractAddress = await wrapper.contracts(nftId); const tokenContract = await IMastersFedi.at(tokenContractAddress); const tokenName = await tokenContract.name(); console.log(`Token contract address: ${tokenContractAddress}, name: "${tokenName}"`); const [account,] = await web3.eth.getAccounts(); let wrappedQuantity = await wrapper.balanceOf(account, nftId); console.log(`Wrapped quantity: ${wrappedQuantity}`); let result1; try { console.log("Sending unwrap transaction..."); result1 = await wrapper.unwrap(nftId, quantity, { from: account }); wrappedQuantity = await wrapper.balanceOf(account, nftId); console.log(`New wrapped balance: ${wrappedQuantity}`); const unwrappedBalance = await tokenContract.balanceOf(account); console.log(`New unwrapped balance: ${unwrappedBalance}`); } catch (e) { console.error(`FAILED: ${e}`); } callback(); }