contract Rubixi {
uint private balance;
uint private collectedFees;
uint private feePercent;
uint private Order;
uint private pyramidMultiplier;
address private creator;
struct Participant {
address etherAddress;
uint payout;
}
Participant[] private participants;
function Rubixi() {
creator = msg.sender;
balance = 0;
collectedFees = 0;
feePercent = 10;
Order = 0;
pyramidMultiplier = 300;
}
function addPayout() private {
uint fee = feePercent;
participants.push(Participant(msg.sender, (msg.value * pyramidMultiplier) / 100));
if (participants.length == 10)
pyramidMultiplier = 200;
else if (participants.length == 25)
pyramidMultiplier = 150;
balance += (msg.value * (100 - fee)) / 100;
collectedFees += (msg.value * fee) / 100;
while (balance > participants[Order].payout) {
uint payoutToSend = participants[Order].payout;
participants[Order].etherAddress.send(payoutToSend);
balance -= participants[Order].payout;
Order += 1;
}
}
function collectAllFees() onlyowner {
if (collectedFees == 0)
throw;
creator.send(collectedFees);
collectedFees = 0;
}
}
111111
最新推荐文章于 2024-09-30 12:03:21 发布