TypeError: Cannot read properties of undefined (reading '0')
const hre = require("hardhat");
const main = async () => {
const rsvpContractFactory = await hre.ethers.getContractFactory("Web3RSVP");
const rsvpContract = await rsvpContractFactory.deploy();
await rsvpContract.waitForDeployment();
console.log("Contract deployed to:", await rsvpContract.getAddress());
const [deployer, wallet1, wallet2] = await hre.ethers.getSigners();
let deposit = hre.ethers.parseEther("1");
let maxCapacity = 3;
let timestamp = 1718926200;
let eventDataCID =
"bafybeibhwfzx6oo5rymsxmkdxpmkfwyvbjrrwcl7cekmbzlupmp5ypkyfi";
let txn = await rsvpContract.createNewEvent(
timestamp,
deposit,
maxCapacity,
eventDataCID
);
let txReceipt = await txn.wait(1);
console.log(
"New event created:",
txReceipt.events[0].event,
txReceipt.events[0].args
);
let eventId = txReceipt.events[0].args.eventId;
//console.log("Event ID:", eventId);
// 测试回复事件
txn = await rsvpContract.createNewRSVP(eventId, { value: deposit });
txReceipt = await txn.wait(1);
console.log(
"RSVP created:",
txReceipt.events[0].event,
txReceipt.events[0].args
);
txn = await rsvpContract
.connect(wallet1)
.createNewRSVP(eventId, { value: deposit });
txReceipt = await txn.wait(1);
console.log("RSVP created:", txReceipt.events.event, txReceipt.events.args);
// 确认都出席了
txn = await rsvpContract.confirmAllAttendee(eventId);
txReceipt = await txn.wait(1);
txReceipt.events.forEach((event) => {
console.log("RSVP confirmed:", event.args.attendeeAddress);
});
// 模拟10年之后
await hre.network.provider.send("evm_increaseTime", [15778800000000]);
txn = await rsvpContract.withdrawUnclaimedDeposits(eventId);
txReceipt = await txn.wait(1);
console.log(
"Deposits withdrawn:",
txReceipt.events[0].event,
txReceipt.events[0].args
);
};
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});