function purchase(uint16 packCount, address referrer) whenNotPaused public payable { _purchase(msg.sender, packCount, referrer); } function _purchase(address user, uint16 packCount, address referrer) internal { require(packCount > 0); require(referrer != user); uint price = calculatePrice(basePrice(), packCount); require(msg.value >= price); Purchase memory p = Purchase({ user: user, count: packCount, commit: uint64(block.number), randomness: 0, current: 0 }); uint id = purchases.push(p) - 1; emit PacksPurchased(id, user, packCount); ... }
0.4.18