Claude Muller
Claude Muller
In #738 we added support for inheritance in Structs, but, the code has potential for refactoring. - [ ] I think the code in `ObjectsConverter.handleNew(...)` should be adapted, because now...
**Rational** Developers often rewrite the same functionality. Smart contract coding is no different in this aspect. Therefore, packaging frequently used functionality into libraries and making them available through a build...
The `Compiler.mapTypeToStackItem` method maps `org.objectweb.asm.Type` to stack item types. The `InteropInterface` interface is also represented, but types that implement it are not covered by the method. This issue is about...
Classes that are defined only for holding values (of any types) are currently mapped to the `Array` stack item type on the NeoVM. But they should use the `Struct` type...
External docs: - [ ] Mention the behavior of `equals` and `==` after implementation of #517. - [x] Add explanations of the convenience classes and methods that neow3j provides (e.g.,...
The syscal `System.Json.Serialize` creates JSON objects with key-value-pairs only if the `Map` StackItem is used. The neow3j compiler handles Java objects as `Array` StackItems. Thus, when JSON-serializing them, the resulting...
There are cases in which the JVM byte code reuses local variables such that the value stored at that variables index can represent something else than the type seen in...
The [Neo Test Runner](https://github.com/ngdenterprise/neo-test#neo-test-runner) is a tool that can produce the line coverage of a contract invocation. It emulates the Neo blockchain given a neo-express checkpoint file, an invocation file,...
Static variables are supported in the main contract class. Variables defined there can also be used in other classes. But, the other way around is not supported at the moment....
Developers should be able to set the contract class that they want to compile via the gradlew neow3jCompile task instead of having to change the class in the build.gradle file....