diff --git a/scripts/transfer-wrapped.js b/scripts/transfer-wrapped.js new file mode 100644 index 0000000..e2601d4 --- /dev/null +++ b/scripts/transfer-wrapped.js @@ -0,0 +1,32 @@ +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 currentBalance = BigInt(await wrapper.balanceOf(account, nftId1)); + console.log(`Current balance: ${currentBalance}`); + + if (currentBalance >= quantity1) { + console.log("Executing transfer transaction..."); + try { + const result = await wrapper.safeTransferFrom(account, to, nftId1, quantity1.toString(), []); + console.log(`Transaction: ${result.tx}`); + } + catch (e) { + console.error(`FAILED: ${e}`); + } + } + else { + console.error("Insufficient balance"); + } + } + + callback(); +}