BTC staking relayer is responsible for relaying information between the Babylon chain and consumer systems.
BTC staking relayer needs to relay the following messages from the Babylon chain to a consumer system.
BTCTimestamp
: Sent upon a BTC timestamp.NewFinalityProvider
: Sent upon a registered finality provider.ActiveBTCDelegation
: Sent upon a active BTC delegation.SlashedBTCDelegation
: Sent upon a slashed BTC delegation on other Consumer, involving this Consumer.UnbondedBTCDelegation
: Sent upon an unbonded BTC delegation.These messages are defined in Messages from Babylon to Consumer.
BTC staking relayer needs to relay the following information from a consumer system to the Babylon chain.
SlashedFinalityProvider
: Sent upon a slashed finality provider on this consumer.The message is defined in Emitted events
The current reference implementation of the Consumer system is based on CosmWasm smart contracts, with IBC protocol support.
That means we leverage IBC relayers, e.g., https://github.com/informalsystems/hermes or Cosmos https://github.com/cosmos/relayer, to serve as the BTC Staking Relayer between the Babylon chain and CosmWasm smart contracts on the Consumer.
If the Consumer system supports IBC, then one can also use IBC relayers as a BTC staking relayer. Otherwise, one would need to develop a compatible relayer implementing the interfaces of the Babylon side and Consumer side, over a suitable communication protocol.