As a nice demo we want to showcase a contract in the upcoming Vienna meetup. Most importantly, the HLL based code doesn't exhibit the expected behavior. Maybe someone with great HLL and EVM skills can help out?
First, the contract is initialized with data[0..2]: name of the project, time to expire in hours and funding limit. Subsequently, crowd funders can chip in up to a maximum of 900 participants. If the 901st makes transaction, funds (minus an arbitrary 1% fee) will be returned immediately. If date of expiry is met, all fundings are reversed. However, if the funding limit is reached, the fundee, i.e. the one who initialized the contract receives the funds.
It's a very nice showcase since you could directly go from there to incorporate a DAO with certain rights/obligations of the funders and fundees instead of just handing over the cash to fundee... The power of Ethereum is strong in this one!
State and memory doc
0 … initalize (tx.sender = fundee) [name, deadline (+hours), limit]
1 … chip in + check of limit and time (tx.sender = funder)
2 … payout or payback
1000 - state
1001 - fundee
1002 - project name
1003 - deadline (absolute)
1004 - limit
1100 - amount of funders
>= 1101 + k = addresses of funders
>= 2000 - non protected = funders’ investment
Code is here: https://github.com/dafcok/ethereum/blob/master/crowd_fund.txt
Now to the problems and current debugging insights.
1) With Aleth 3.0, the contract goes live. Currently there is one at the address f22a7267b96e44fa1d049508fc740b235adcf43c. However, intializing it with a transaction of
testfund" 10 1200finney'
, increases the contract balance but fails to add additional information to storage[1000..1004] as was intended.
2) Using http://k1n0k0.github.io/ethereum-simulator/
, gives the same result. So neither the state in  changes nor anything else. I suspect it's an embarrassingly easy bug or non adequate use of transactions.
3) Since the latest HLL compiler, the code won't compile anymore and complains with
ValueError: '=' is not in list
on each line with mktx(...). The once compiled EVM is here https://github.com/dafcok/ethereum/blob/master/crowd_fund_compiled.txt
. I'm unclear on what invalidated the code. Maybe the latest EVM change?