Fungible Holding must be Transferable?

Hi there, I can see the interface for Fungible requires Transferable. What was the rationale behind that? A little bit of an edge case perhaps, but I may have a need for a fungible asset that can’t be transferred but can be archived/debited.

Hi @huw,

This assumption seemed reasonable as a common use-case for splitting a holding is to transfer a part of it to another party.

That said, the current implementation of Transferable in Daml Finance is just a wrapper around Account.Debit and Account.Credit and does not do any delegation of authority.

By setting your account controllers appropriately, you can make the holding transferable only if all signatories agree, This effectively makes the holding equivalent to a non-transferable fungible holding.

I hope this helps,

Thanks @Matteo_Limberto. That makes sense. I didn’t realise that the current implementation of Transferable required the outgoing controllers to authorise the transfer.

Thanks for the feedback @huw.

As part of the SDK 2.7 release there will be a new tutorial explaining account controllers in detail.