-
Notifications
You must be signed in to change notification settings - Fork 188
Add initial Storage Iterator implementation #339
Conversation
This is a great start! Hopefully things get fixed on the C# side ... |
So it seems like the C# side is fixed with this commit; neo-project/neo@6d5cf63 Most of the changes are just specific to their database wrapper so to speak. One thing I was 'worried' about for a moment are the changes to the If after this all you still think that the serialize/deserialize changes don't affect us, please let me know so I can go and update the fixtures and write tests |
I don't think we'll need or use |
@localhuman has to upload the new fixtures. If the build fails because of |
into sc_storage_iterator * 'sc_storage_iterator' of https://github.com/ixje/neo-python: (42 commits) Fixed wrong privnet instructions Support pip version 10.0 and greater (#389) setup.py: fix shebang: python3 removing all occurrences of: "# -*- coding:utf-8 -*-" (#386) lint fix for comments Modified NEP-5 token import test to also test token deletion Updated CHANGELOG.rst fix for NEP-5 token deletion from wallet update changelog update logging Update CHANGELOG.rst create SmartContractEvent with working block height instead of last persist NotifyType.REFUND events in notification DB remove print updated networking Bump version: 0.6.7 → 0.6.8-dev Bump version: 0.6.7-dev → 0.6.7 Update changelog for release Added CHANGELOG entry Added CORS header Access-Control-Allow-Headers ...
Hooray build passed! :) So there's 3 things left
Now, for the boa support I can add a
The compiler will complain it can't find |
Sounds like a plan! |
Note, i've created a new branch here https://github.com/CityOfZion/neo-python/tree/feature-storage-iterator which have these changes. I needed to change a few things to get it working. Also, do you have the compiled avm from C# which I can test with 😀 |
Also, for reference see CityOfZion/neo-boa#70 |
closing in favor of #406 |
What current issue(s) does this address, or what feature is it adding?
Fixes #211
This adds the new
Storage Iterator
API for smart contracts. Note that we should wait with merging until the C# side is fixed (see the issue linked in #211). I wanted to get the feedback loop started while the C# side sorts out their implementation.How did you solve this problem?
Port code
How did you make sure your solution works?
Compiled a contract in C#, invoked using
neo-python
. Default tests currently fail because it requires updating the fixtures (see reason below) which I'm waiting with until the C# side is finalised + feedback here is finalised.Are there any special changes in the code that we should be aware of?
Yes, the leveldb keys for the Storage Put/Get/Delete calls have been altered to make prefix searching possible (discussed with @localhuman) which requires rebuilding the chain + recreating the fixtures.
Please check the following, if applicable:
make lint
?make test
?CHANGELOG.rst
? (if not, please do)