Files
2024-03-13 12:29:41 +00:00

41 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package tycho.evm.v1;
import "tycho/evm/v1/common.proto";
// A message containing relative balance changes.
//
// Used to track token balances of protocol components in case they are only
// available as relative values within a block.
message BalanceDelta {
// The ordinal of the balance change. Must be unique & deterministic over all balances
// changes within a block.
uint64 ord = 1;
// The tx hash of the transaction that caused the balance change.
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;
}
// A set of balances deltas, usually a group of changes within a single block.
message BlockBalanceDeltas {
repeated BalanceDelta balance_deltas = 1;
}
// A message containing protocol components that were created by a single tx.
message TransactionProtocolComponents {
Transaction tx = 1;
repeated ProtocolComponent components = 2;
}
// All protocol components that were created within a block with their corresponding tx.
message BlockTransactionProtocolComponents {
repeated TransactionProtocolComponents tx_components = 1;
}