-
-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes for event log and event handling #55
base: master
Are you sure you want to change the base?
Conversation
Sorry it takes so long. Currently redoing my CI so I hope I can continuer with this soon. |
I can see there is a eth_getLogs method (which does not necessarily mean that it is working well..). Can you do a micro-change, so that the new circleci pipeline gets triggered and we get a run with unit tests. |
I found that it was failing on processing the logs after obtaining them because the eth_getLogs was not handled in your original code. |
Sorry. Forgot to mention, that you need to pull the master branch to get the new CircleCi config |
The current source does not currently process events containing dynamic bytes properly. These changes add a corrected offset when handling dynamic bytes.
Adds a missing action so the eth_getLogs method is handled correctly. Fixes typo in \Ethereum\Datatype\\ -> \Ethereum\DataType\ so classes are correctly assigned.
Only call the user function when eventHandle is true. Allows for $event to be passed without being used in a call.
micro-change
Rebased. |
Jay. It doesn't break anything :D |
These commits fix the following issues:
Ethereum.php does not handle eth_getLogs at all
Fixed by added an OR with the handling of eth_getFilterChanges as they return the same JSON-RPC array.
Event.php does not handle dynamic bytes properly
Fixed by correctly applying offsets for dynamic bytes.
Decoded in accordance with https://docs.soliditylang.org/en/latest/abi-spec.html
SmartContract.php does not allow for processLog to disable event calls
Added bool to allow developers to disable event calls if they want to handle $event differently.