I'm writing a contract for arbitrary-length integer arithmetic, for use in a larger project.
The problem is that once the contract gets above a certain size, the Python ethereum.tester.state().abi_contract() test environment begins giving this stack trace:
Traceback (most recent call last): File "se_bigint.py", line 5, in <module> bigint = s.abi_contract('bigint.se') File "/home/ada/mypy/local/lib/python2.7/site-packages/ethereum/tester.py", line 166, in abi_contract assert len(self.block.get_code(address), "Contract code empty") AssertionError: Contract code empty
Here's a pastebin of code that works: http://pastebin.com/1KppMmRx
And here's a pastebin that reproduces the error: http://pastebin.com/qq7mcLeM
Note that the only difference between them is some meaningless busywork added to one of the contract functions. Also note that both contracts successfully compile via "serpent compile bigint.se". I see this both on the PyPI release and on the current github develop branch.
I'd have asked this on the ethereum forum, but I seem to be stuck in account verification over there.
Does anyone know what might be causing this, or how to get around it?