CityOfZion / neo-python

Python Node and SDK for the NEO 2.x blockchain. For NEO 3.x go to our successor project neo-mamba
https://neo-python.readthedocs.io/en/latest/
MIT License
313 stars 189 forks source link

Fix max recursion for certain stackitem setups #1003

Closed ixje closed 5 years ago

ixje commented 5 years ago

What current issue(s) does this address, or what feature is it adding? close #1000

How did you solve this problem? implemented "reference" to self checking

How did you make sure your solution works? audit of mentioned testnet block now passes

Are there any special changes in the code that we should be aware of? no

Please check the following, if applicable:

ixje commented 5 years ago

Don't merge until extra audit sync. Atm only validated against the last 25K blocks.

ixje commented 5 years ago

Syncing from 0 showed that block 723205 failed the audit because of a wrong equality implementation for CoinReference that is now called upon. The above commit fixes this and also addresses possible other cases. Running a longer sync

ixje commented 5 years ago

Going to call it a pass. Synced from 0 to 2961000 all blocks verified ok against neo-cli 2.10.2.