| 123456789101112131415161718192021222324252627282930 |
- 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(())
- }
|