Hi Frank, thanks a lot, you are really fast 
About “2” probably I poorly expressed myself. Suppose that:
- some package was published, resulting in
version-1 and packageId-1
- then it was upgraded, resulting in
version-2 and packageId-2
- now, if I have only
packageId-1 how can I find out there exists packageId-2?
I think I found some workaround - to do getOwnedObjects browsing UpgradeCaps among them, then find the specific UpgradeCap linked to packageId-1 and execute queryTransactionBlocks with InputObject filter referencing that UpgradeCap object… But perhaps there is something little more straightforward?
Ok, yes… that approach is best as there is no explicit ‘getXXX’ without some anchor about the package ID. UpgradeCaps seem best.