# Canonical way to find transfers for an account in Daml Finance

**URL:** <https://forum.canton.network/t/canonical-way-to-find-transfers-for-an-account-in-daml-finance/6569>\
**Category:** App Development\
**Tags:** daml-finance\
**Created:** [May 17, 2023, 6:44am UTC](https://forum.canton.network/t/canonical-way-to-find-transfers-for-an-account-in-daml-finance/6569 "2023-05-17T06:44:43Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Johan\_Sjodin](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/johan_sjodin/32/2822_2.png) [@Johan\_Sjodin](https://forum.canton.network/u/Johan_Sjodin)\
**Post date:** [May 22, 2023, 2:40pm UTC](https://forum.canton.network/t/canonical-way-to-find-transfers-for-an-account-in-daml-finance/6569/2 "2023-05-22T14:40:58Z")

</div>

Hi @huw,

Your point is well-taken. In scenarios where the incoming controllers of the receiving account are **empty** , the `newOwner` would solely witness the credit/creation of the new holding. However, they would not be privy to the corresponding holding being debited/archived. To rectify this situation, we could incorporate the `newOwner` as choice observers in the following manner:

```haskell
  nonconsuming choice Transfer : ContractId Transferable
    -- ^ Transfer a contract to a new owner.
    with
      actors : Parties
        -- ^ Parties authorizing the transfer.
      newOwnerAccount : AccountKey
        -- ^ Account contract id of the parties to transfer the contract to.
    observer newOwnerAccount.owner
    controller actors, getLockers this
    do
      transfer this self arg

```

I have added a github issue [837](https://github.com/digital-asset/daml-finance/issues/837) where we can track this.

Please also find the following related forum question:

> [@Can we define, emit and listen to Custom Events?](https://discuss.daml.com/t/can-we-define-emit-and-listen-to-custom-events/1665/2):
>
> There is no special inbuilt for custom events as every choice exercise is an event. So if you want to emit an event, you can just create a choice without an effect: controller (signatory this) can nonconsuming MyEvent : () with message : Text do return () If you exercise that, all you’ll get is an extra node on the transaction tree that you can react to.

I hope that helps.

Johan

---

_[View the full topic](https://forum.canton.network/t/canonical-way-to-find-transfers-for-an-account-in-daml-finance/6569)._
