syntax = "proto3"; package balancer; import "tycho/evm/v1/common.proto"; // A struct for following the changes of Total Value Locked (TVL). message BalanceDelta { uint64 ord = 1; // The tx hash of the transaction that caused the balance change. tycho.evm.v1.Transaction tx = 2; // The address of the ERC20 token whose balance changed. bytes token = 3; // The delta balance of the token. bytes delta = 4; // The id of the component whose TVL is tracked. // If the protocol component includes multiple contracts, the balance change must be aggregated to reflect how much tokens can be traded. bytes component_id = 5; } message BalanceDeltas { repeated BalanceDelta balance_deltas = 1; } message TransactionProtocolComponents { tycho.evm.v1.Transaction tx = 1; repeated tycho.evm.v1.ProtocolComponent components = 2; } message GroupedTransactionProtocolComponents { repeated TransactionProtocolComponents tx_components = 1; }