radixdlt-scrypto
radixdlt-scrypto copied to clipboard
Add execution trace module
This PR introduces the execution trace module, which is used to trace some specific events that happen inside the engine and extract the information out into the receipt.
Initially, it's used to track fungible resource changes in vaults belonging to components.
There are a few missing bits to be addressed in subsequent PRs:
- lock_fee isn't included
- non-fungible resources aren't traced
- neither are withdrawals/deposits on vaults that do not have a component parent (for example, created before the component is globalized)
- resource changes from all call frames are combined, there's no per-frame breakdown