Usually Events are used to achieve this (since decoding the transaction data is rather cumbersome). The smart contract you linked to as an example unfortunately has no events, but since it seems to be your code, it might be worth considering to add them.
ERC20 tokens for example emit Transfer events, when tokens change the owner. There you can find from- and ...
You'll need to actually go through and parse the JSON to get that. Specifically the action block.
See the JSONRPC call trace_replayTransaction here: https://openethereum.github.io/JSONRPC-trace-module
You'll find the addresses you are looking for in those responses.
I was in pretty much the same situation, except that I used an even older version of Parity (circa 2017) originally.
Easiest, not very secure
The easiest solution for me was to use MEW (myEtherWallet) in online mode.
This is not the safest option as you're giving access to your private key, but was good enough for me because my wallet had ~$10.
Go to https:/...