dash_sdk/platform/transition/put_settings.rs
use std::time::Duration;
use dpp::prelude::UserFeeIncrease;
use rs_dapi_client::RequestSettings;
/// The options when putting something to platform
#[derive(Debug, Clone, Copy, Default)]
pub struct PutSettings {
    pub request_settings: RequestSettings,
    pub identity_nonce_stale_time_s: Option<u64>,
    pub user_fee_increase: Option<UserFeeIncrease>,
    /// Soft limit of total time to wait for state transition to be executed (included in a block).
    ///
    /// This is an upper limit, and other settings may affect the actual wait time
    /// (like DAPI timeouts, [RequestSettings::timeout], [RequestSettings::retries], etc.).
    /// If you want to use `wait_timeout`, tune `retries` accordingly.
    ///
    /// It can be exceeded due to execution of non-cancellable parts of the Sdk.
    // TODO: Simplify timeout logic when waiting for response in Sdk, as having 3 different timeouts is confusing.
    pub wait_timeout: Option<Duration>,
}
impl From<PutSettings> for RequestSettings {
    fn from(settings: PutSettings) -> Self {
        settings.request_settings
    }
}