From b3af2579d2f9507e8216e56349f29dc258b7507f Mon Sep 17 00:00:00 2001 From: "Daniel A. Nagy" Date: Tue, 7 Apr 2015 13:53:12 +0200 Subject: [PATCH] Very preliminary swarm contract. --- bzz/bzzcontract/swarm.sol | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 bzz/bzzcontract/swarm.sol diff --git a/bzz/bzzcontract/swarm.sol b/bzz/bzzcontract/swarm.sol new file mode 100644 index 0000000000..89ec700bb0 --- /dev/null +++ b/bzz/bzzcontract/swarm.sol @@ -0,0 +1,29 @@ +contract Swarm +{ + + struct Bee { + uint deposit; + uint expiry; + } + + mapping (address => Bee) swarm; + + function max(uint a, uint b) private returns (uint c) { + if(a >= b) return a; + return b; + } + + function signup(uint time) { + Bee b = swarm[msg.sender]; + b.expiry = max(b.expiry, now) + time; + b.deposit += msg.value; + } + + function withdraw() { + Bee b = swarm[msg.sender]; + if(now > b.expiry) { + msg.sender.send(b.deposit); + } + } + +}