47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
|
const Wrapper = artifacts.require("CurioERC1155Wrapper");
|
||
|
const IMastersFedi = artifacts.require("IMastersFedi");
|
||
|
|
||
|
module.exports = async (callback) => {
|
||
|
const nftId1 = parseInt(process.argv[6]);
|
||
|
const quantity1 = parseInt(process.argv[7]);
|
||
|
const nftId2 = parseInt(process.argv[8]);
|
||
|
const quantity2 = parseInt(process.argv[9]);
|
||
|
|
||
|
const wrapper = await Wrapper.deployed();
|
||
|
const tokenContractAddress1 = await wrapper.contracts(nftId1);
|
||
|
const tokenContractAddress2 = await wrapper.contracts(nftId2);
|
||
|
const tokenContract1 = await IMastersFedi.at(tokenContractAddress1);
|
||
|
const tokenContract2 = await IMastersFedi.at(tokenContractAddress2);
|
||
|
const tokenName1 = await tokenContract1.name();
|
||
|
const tokenName2 = await tokenContract2.name();
|
||
|
console.log(`Token names: "${tokenName1}", "${tokenName2}"`);
|
||
|
|
||
|
const [account,] = await web3.eth.getAccounts();
|
||
|
const tokenBalance1 = await tokenContract1.balanceOf(account);
|
||
|
const tokenBalance2 = await tokenContract2.balanceOf(account);
|
||
|
console.log(`Unwrapped balances: ${tokenBalance1}, ${tokenBalance2}`);
|
||
|
|
||
|
|
||
|
try {
|
||
|
console.log(`Approving token 1...`);
|
||
|
const result1 = await tokenContract1.approve(wrapper.address, quantity1, { from: account });
|
||
|
console.log(`Approving token 2...`);
|
||
|
const result2 = await tokenContract2.approve(wrapper.address, quantity2, { from: account });
|
||
|
|
||
|
console.log("Batch wrapping...");
|
||
|
const finalResult = await wrapper.wrapBatch(
|
||
|
[nftId1, nftId2],
|
||
|
[quantity1, quantity2],
|
||
|
{ from: account }
|
||
|
);
|
||
|
|
||
|
console.log(`Tx: ${finalResult.tx}`);
|
||
|
}
|
||
|
catch (e) {
|
||
|
console.error(`FAILED: ${e}`);
|
||
|
}
|
||
|
|
||
|
console.log("Done.");
|
||
|
callback();
|
||
|
}
|