... ДА ! без аудита непонятный ...
Расскажите про свой уникальный код раз ИЗИ плохой ...
А в СИМПЛА какая проблема

? от китов растрахован ??
Специально для тех, кому код непонятен, добавлен раздел "РАЗБОР КОДА".
Обратите внимание на строки 12-15:
ЕСЛИ (Сумма выплаты БОЛЬШЕ ЧЕМ Общий баланс контракта) {
ТО Сумма выплаты РАВНА Общему балансу контракта
}
Отправка суммы выплаты отправителю транзакции
Благодаря этому, выплаты будут осуществляться в любом случае, даже при недостатке средств.
Кроме того, для отправки средств, контракт использует функцию transfer, взамен send, устаревшей с версии Solidity 0.4.13