//! Rúnar deployment SDK — deploy and interact with compiled contracts on BSV.

pub mod types;
pub mod state;
pub mod deployment;
pub mod calling;
pub mod provider;
pub mod rpc_provider;
pub mod signer;
pub mod contract;
pub mod oppushtx;
pub mod anf_interpreter;
pub mod codegen;

pub use types::*;
pub use state::{serialize_state, deserialize_state, extract_state_from_script, find_last_op_return};
pub use deployment::{build_deploy_transaction, select_utxos, estimate_deploy_fee};
pub use calling::{build_call_transaction, build_call_transaction_ext, CallTxOptions, ContractOutput, AdditionalContractInput};
pub use provider::{Provider, MockProvider};
pub use rpc_provider::RPCProvider;
pub use signer::{Signer, LocalSigner, ExternalSigner, MockSigner};
pub use contract::RunarContract;
pub use types::PreparedCall;
pub use oppushtx::compute_op_push_tx;
pub use codegen::generate_rust;
