Skip to content

Commit 0dcbb29

Browse files
committed
Add next_available_task_ids, expose program
1 parent 60ee568 commit 0dcbb29

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

tuktuk-sdk/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub mod pubsub_client;
77
pub mod tuktuk;
88
pub mod watcher;
99

10+
pub use tuktuk_program;
11+
1012
pub mod prelude {
1113
pub use anchor_lang::prelude::*;
1214

tuktuk-sdk/src/tuktuk.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,23 @@ pub mod task_queue {
388388

389389
use self::tuktuk::types::InitializeTaskQueueArgsV0;
390390
use super::*;
391-
use crate::client::GetAnchorAccount;
391+
use crate::{
392+
client::GetAnchorAccount,
393+
compiled_transaction::next_available_task_ids_excluding_in_progress,
394+
};
395+
396+
pub fn next_available_task_ids(
397+
task_queue: &tuktuk::accounts::TaskQueueV0,
398+
n: u8,
399+
) -> Result<Vec<u16>, Error> {
400+
next_available_task_ids_excluding_in_progress(
401+
task_queue.capacity,
402+
&task_queue.task_bitmap,
403+
n,
404+
&Default::default(),
405+
0,
406+
)
407+
}
392408

393409
pub fn key(config_key: &Pubkey, next_task_queue_id: u32) -> Pubkey {
394410
Pubkey::find_program_address(
@@ -414,6 +430,10 @@ pub mod task_queue {
414430
.0
415431
}
416432

433+
pub fn queue_authority_key() -> Pubkey {
434+
Pubkey::find_program_address(&[b"queue_authority"], &tuktuk::ID).0
435+
}
436+
417437
pub fn keys(config_key: &Pubkey, config: &TuktukConfigV0) -> Result<Vec<Pubkey>, Error> {
418438
let queue_ids = 0..config.next_task_queue_id;
419439
let queue_keys = queue_ids.map(|id| self::key(config_key, id)).collect_vec();

0 commit comments

Comments
 (0)