goloop icon indicating copy to clipboard operation
goloop copied to clipboard

UnmodifiableArrayMap values returns keys

Open AntonAndell opened this issue 2 years ago • 1 comments

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

AntonAndell avatar Oct 14 '22 04:10 AntonAndell

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.

sink772 avatar Oct 14 '22 12:10 sink772

Revision 20 proposal has been applied to mainnet. https://tracker.icon.community/proposal/0x1f53e4dbcf1fafea1a7f46ee427142c6a9035b359fa2e9f47804c9066d999b60 So close as completed.

sink772 avatar Dec 14 '22 02:12 sink772