use crate::bls::G1Element;
use crate::bytes::{Bytes, Bytes32};
use crate::chia_error;
use crate::streamable::Streamable;
use crate::streamable_struct;
use chia_streamable_macro::Streamable;
#[cfg(feature = "py-bindings")]
use crate::from_json_dict::FromJsonDict;
#[cfg(feature = "py-bindings")]
use crate::to_json_dict::ToJsonDict;
#[cfg(feature = "py-bindings")]
use chia_py_streamable_macro::PyStreamable;
#[cfg(feature = "py-bindings")]
use pyo3::prelude::*;
streamable_struct! (ProofOfSpace {
challenge: Bytes32,
pool_public_key: Option<G1Element>,
pool_contract_puzzle_hash: Option<Bytes32>,
plot_public_key: G1Element,
size: u8,
proof: Bytes,
});