@Johan_Sjodin I see what you are getting at. However I don’t believe that exact solution will work because the ledger API doesn’t expose transient contracts - Getting interface views for transient contracts. The Holding
transferred to Bob is a transient contract, having been created within the choice body as a result of adding Bob as an observer. It would only work if we use a separate transaction to add Bob as an observer, which is not ideal due to loss of atomicity. Also, I should add that in our case we want to get Interface views, not just the contract payloads. Interface views generally make more sense since we want to keep the application generic and Daml finance uses them extensively. If all we needed was the contract payloads then the ProxyTransfer solution would work.