Neow3j has been up to date to v3.18.0. The newest spherical of adjustments from AxLabs consists of new streamlined contract interfaces and adjustments to the dealing with of iterator values returned from RPC calls.
All of the adjustments within the new launch heart on the devpack, principally implementing performance added in the latest Neo core updates. Instance consists of assist for the MODPOW and MODMUL opcodes, the brand new technique for fetching transaction signers within the LedgerContract, and strategies for fetching candidate knowledge from the NeoToken contract.
Three breaking adjustments could be discovered within the new model, so Java contracts written for earlier variations of the compiler will should be adjusted earlier than compilation. These contain the best way builders will interface with contracts, how iterators are dealt with when returned from RPC, and string concatenation respectively.
The brand new contract interfaces are designed to offer a smoother expertise for builders when calling different sensible contracts on the community. An up to date instance has been supplied to exhibit the brand new method, changing utilization of the Contract.name technique with contract interface initialization.
Modifications within the Neo core modified how iterators are returned from the RPC strategies invokefunction and invokescript. Quite than straight returning a node-limited record of values, an iterator ID is returned together with a session ID. Whereas the session is lively, the traverseiterator technique can be utilized to retrieve all values. A brand new Iterator class has been added to Neow3j’s contract module to grant extra handy entry to those values.
The ultimate breaking change is to string concatenation, which is now restricted to make use of with solely string values. To concatenate a string with one other kind, equivalent to a quantity, conversion strategies supplied within the native StdLib contract equivalent to itoa must be used.
The total launch notes for the brand new model could be learn on the following hyperlink:
https://github.com/neow3j/neow3j/releases/tag/3.18.0