31 lines
756 B
Rust
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(())
|
|
}
|