What is the 'core' of a transaction view?
App Development2 posts45 views3 likesLast activity Apr 2025
AR
Artur_PoorOP
Apr 2025Diving deep in the representation of transaction trees and views, I came across the term ‘core’ several places in Canton sources, such as:
/* ...
* @param createdCore
* associates contract ids of Create nodes in the core of the view to the corresponding contract
* instance. The elements are ordered in execution order.
* ...
*/
final case class ViewParticipantData private (
coreInputs: Map[LfContractId, InputContract],
createdCore: Seq[CreatedContract],
createdInSubviewArchivedInCore: Set[LfContractId],
...
) ...
So how do you define the core of a view?
RA
rahul
Apr 2025Hi Artur
Linked below is a section from the Canton architecture docs in the Canton github repository. I’m not sure if similar content exists in docs.daml.com. There are certainly docs on transactions and views there, but I couldn’t find anything about “core of transaction views” after searching for several minutes (but I might have missed it).
“The core of a view is the set of all subactions of the view that are not subactions of a proper subview of the view.”
This is explained in the docs with an example and pictures.