Quantcast
Channel: Recent Questions - Solana Stack Exchange
Viewing all articles
Browse latest Browse all 7906

Unable to pass in switchboard randomness data

$
0
0

i want to upload switchboard randomness data,but i cant read the randomness_data.reveal_slot it's always 0error

this is my codeInstruction

pub fn process_commit_randomness(ctx: Context<CommitRandomness>) -> Result<()> {let clock = Clock::get()?;let token_lottery = &mut ctx.accounts.token_lottery;if ctx.accounts.payer.key() != token_lottery.authority {    return Err(ErrorCode::InvalidAuthority.into());}let randomness_data =    RandomnessAccountData::parse(ctx.accounts.randomness_account.data.borrow()).unwrap();msg!("Randomness revealed at slot: {}",    randomness_data.reveal_slot);msg!("clock slot: {}", clock.slot);if randomness_data.reveal_slot != clock.slot - 1 {    return Err(ErrorCode::RandomnessAlreadyRevealed.into());}token_lottery.randomness_account = ctx.accounts.randomness_account.key();Ok(())}

test

 it("commit randomness", async () => {const sbQueue = new anchor.web3.PublicKey("A43DyUGA7s8eXPxqEjJY6EBu1KKbNgfxF8h17VAHn13w");const queueAccount = new sb.Queue(switchboardProgram, sbQueue);try {  await queueAccount.loadData();} catch (error) {  console.log("error:", error);  process.exit(1);}const [randomness, createRandomnessIx] = await sb.Randomness.create(  switchboardProgram,  rngKp,  sbQueue);const createRandomnessTx = await sb.asV0Tx({  connection: provider.connection,  ixs: [createRandomnessIx],  payer: wallet.publicKey,  signers: [wallet.payer, rngKp],});const createRandomnessTxHash = await provider.sendAndConfirm(  createRandomnessTx);console.log("--------------------------------");console.log("Create randomness transaction hash:", createRandomnessTxHash);const sbCommitIx = await randomness.commitIx(sbQueue);const commitRandomnessIx = await program.methods  .commitRandomness()  .accounts({    randomnessAccount: randomness.pubkey,  })  .instruction();const blockhashWithContext = await provider.connection.getLatestBlockhash();const commitRandomnessTx = new anchor.web3.Transaction({  feePayer: wallet.publicKey,  blockhash: blockhashWithContext.blockhash,  lastValidBlockHeight: blockhashWithContext.lastValidBlockHeight,  })  .add(commitRandomnessIx)  .add(sbCommitIx);const commitRandomnessTxHash = await provider.sendAndConfirm(  commitRandomnessTx);console.log("--------------------------------");console.log("Commit randomness transaction hash:", commitRandomnessTxHash);});

Viewing all articles
Browse latest Browse all 7906

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>