algonaut_algod 0.6.0

API endpoint for algod operations.
Documentation
/*
 * Algod REST API.
 *
 * Hand-edited: the OpenAPI generator emitted `txns: Vec<String>` (base64
 * blobs) as a placeholder for the heterogeneous `SignedTxn` value, but
 * algod's `/v2/transactions/simulate` endpoint expects each `txns[i]` to
 * be the nested `SignedTransaction` object directly — not a base64
 * string. See ADR `simulaterequest-model-needs-power-pack-fields` for
 * the broader simulate-model rework.
 */

use algonaut_transaction::SignedTransaction;

/// SimulateRequestTransactionGroup : A transaction group to simulate.
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct SimulateRequestTransactionGroup {
    /// An atomic transaction group. Each entry is a full
    /// `SignedTransaction` — the simulator inspects the inner
    /// transaction fields directly.
    #[serde(rename = "txns")]
    pub txns: Vec<SignedTransaction>,
}

impl SimulateRequestTransactionGroup {
    /// A transaction group to simulate.
    pub fn new(txns: Vec<SignedTransaction>) -> SimulateRequestTransactionGroup {
        SimulateRequestTransactionGroup { txns }
    }
}