use algonaut::algod::v2::Algod;
use dotenv::dotenv;
use std::env;
use std::error::Error;
use std::fs::File;
use std::io::Read;
#[macro_use]
extern crate log;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
dotenv().ok();
env_logger::init();
info!("loading transaction from file");
let mut f = File::open("./signed.tx")?;
let mut raw_transaction = Vec::new();
let _ = f.read_to_end(&mut raw_transaction)?;
info!("creating algod client");
let algod = Algod::new(&env::var("ALGOD_URL")?, &env::var("ALGOD_TOKEN")?)?;
info!("broadcasting transaction");
let send_response = algod.send_raw_txn(&raw_transaction).await?;
info!("transaction ID: {}", send_response.tx_id);
Ok(())
}