pyth-crosschain/fortuna/src/command/request_randomness.rs

31 lines
756 B
Rust

use {
crate::{
chain::ethereum::SignablePythContract,
config::{
Config,
RequestRandomnessOptions,
},
},
anyhow::Result,
std::sync::Arc,
};
pub async fn request_randomness(opts: &RequestRandomnessOptions) -> Result<()> {
let contract = Arc::new(
SignablePythContract::from_config(
&Config::load(&opts.config.config)?.get_chain_config(&opts.chain_id)?,
&opts.private_key,
)
.await?,
);
let user_randomness = rand::random::<[u8; 32]>();
let sequence_number = contract
.request_wrapper(&opts.provider, &user_randomness, false)
.await?;
tracing::info!("sequence number: {:#?}", sequence_number);
Ok(())
}