goloop
goloop copied to clipboard
UnmodifiableArrayMap values returns keys
At collect method the offset parameter is ignored: https://github.com/icon-project/goloop/blob/d4569e3c0e5f38489a8400b3e7dc7a7c01da2172/javaee/rt/src/java/pi/UnmodifiableArrayMap.java#L58-L67
This makes both values and keys return keys: https://github.com/icon-project/goloop/blob/d4569e3c0e5f38489a8400b3e7dc7a7c01da2172/javaee/rt/src/java/pi/UnmodifiableArrayMap.java#L68-L71
https://github.com/icon-project/goloop/blob/d4569e3c0e5f38489a8400b3e7dc7a7c01da2172/javaee/rt/src/java/pi/UnmodifiableArrayMap.java#L73-L76
Yes, unfortunately, there is a bug in the UnmodifiableArrayMap.values()
implementation.
Fixing the bug itself would be very straight-forward, however, as you know, all validator nodes need to be upgraded to the patched goloop version, and we need another revision upgrade (via network proposal) as well not to break the older transaction results. It may take some time before it is applied to the mainnet completely.
Thus, you may need a workaround upgrade for your dividends
contract not to use the UnmodifiableArrayMap.values()
code until the network upgrades to the fixed version.
Revision 20 proposal has been applied to mainnet. https://tracker.icon.community/proposal/0x1f53e4dbcf1fafea1a7f46ee427142c6a9035b359fa2e9f47804c9066d999b60 So close as completed.