c.cancelled, "Campaign cancelled"); require( block.timestamp >= c.startAt && block.timestamp...Campaign({ creator: msg.sender, goal: goal, pledged: 0, startAt...address creator, uint256 goal, uint256 pledged, uint64 startAt...days); ( address creator, uint256 goal, , uint64 startAt...在生产环境使用已审计的 OpenZeppelin 库和专业审计流程。