rialo-types 0.2.0-alpha.1

Rialo Types
Documentation
// Copyright (c) Subzero Labs, Inc.
// SPDX-License-Identifier: Apache-2.0

use rialo_s_pubkey::Pubkey;

use crate::{
    websocket::WebSocketConnection, OracleDutiesMapKey, OracleDutiesMapValue, OracleEntry, OracleId,
};

/// Represents a collection of modified oracle-related entries.
///
/// This struct contains all the changes that occurred during oracle processing,
/// including registries updates and duty modifications. It serves as a consolidated
/// view of all oracle state changes that need to be persisted or propagated.
#[derive(Debug, Clone, Default)]
pub struct ModifiedEntries {
    pub modified_oracle_registry_entries: Vec<(Pubkey, OracleEntry)>,
    pub added_oracle_duties: Vec<(OracleDutiesMapKey, OracleDutiesMapValue)>,
    pub removed_oracle_duties: Vec<OracleDutiesMapKey>,
    pub modified_websocket_connections: Vec<(OracleId, WebSocketConnection)>,
}