API

Tuktuk SDK

Quick tip

If you are looking for a quick start guide, check out the Quickstart guide.

Instructions

add_queue_authority_v0

Accounts

NameMutabilitySignerDocs
payermutyes
update_authorityimmutyes
queue_authorityimmutno
task_queue_authoritymutno
task_queuemutno
system_programimmutno

close_task_queue_v0

Accounts

NameMutabilitySignerDocs
rent_refundmutno
payermutyes
update_authorityimmutyes
tuktuk_configmutno
task_queuemutno
task_queue_name_mappingmutno
system_programimmutno

dequeue_task_v0

Accounts

NameMutabilitySignerDocs
queue_authorityimmutyes
rent_refundmutno
task_queue_authorityimmutno
task_queuemutno
taskmutno

dummy_ix

Accounts

NameMutabilitySignerDocs
dummymutno

initialize_task_queue_v0

Accounts

NameMutabilitySignerDocs
payermutyes
tuktuk_configmutno
update_authorityimmutno
task_queuemutno
task_queue_name_mappingmutno
system_programimmutno

Args

NameTypeDocs
argsInitializeTaskQueueArgsV0

InitializeTaskQueueArgsV0 Fields:

FieldTypeDescription
min_crank_rewardu64
namestring
capacityu16
lookup_tablesVec<pubkey>
stale_task_ageu32

initialize_tuktuk_config_v0

Accounts

NameMutabilitySignerDocs
payermutyes
approverimmutyes
authorityimmutno
tuktuk_configmutno
system_programimmutno

Args

NameTypeDocs
argsInitializeTuktukConfigArgsV0

InitializeTuktukConfigArgsV0 Fields:

FieldTypeDescription
min_depositu64

queue_task_v0

Accounts

NameMutabilitySignerDocs
payermutyes
queue_authorityimmutyes
task_queue_authorityimmutno
task_queuemutno
taskmutno
system_programimmutno

Args

NameTypeDocs
argsQueueTaskArgsV0

QueueTaskArgsV0 Fields:

FieldTypeDescription
idu16
triggerTriggerV0
transactionTransactionSourceV0
crank_rewardOption<u64>
free_tasksu8
descriptionstring

remove_queue_authority_v0

Accounts

NameMutabilitySignerDocs
payermutyes
rent_refundmutno
update_authorityimmutyes
queue_authorityimmutno
task_queue_authoritymutno
task_queuemutno

return_tasks_v0

Accounts

NameMutabilitySignerDocs
system_programimmutno

Args

NameTypeDocs
argsReturnTasksArgsV0

ReturnTasksArgsV0 Fields:

FieldTypeDescription
tasksVec<TaskReturnV0>

run_task_v0

Accounts

NameMutabilitySignerDocs
crank_turnermutyes
rent_refundmutno
task_queuemutno
taskmutno
system_programimmutno
sysvar_instructionsimmutnothe supplied Sysvar could be anything else. The Instruction Sysvar has not been implemented in the Anchor framework yet, so this is the safe approach.

Args

NameTypeDocs
argsRunTaskArgsV0

RunTaskArgsV0 Fields:

FieldTypeDescription
free_task_idsVec<u16>

update_task_queue_v0

Accounts

NameMutabilitySignerDocs
payermutyes
update_authorityimmutyes
task_queuemutno
system_programimmutno

Args

NameTypeDocs
argsUpdateTaskQueueArgsV0

UpdateTaskQueueArgsV0 Fields:

FieldTypeDescription
min_crank_rewardOption<u64>
capacityOption<u16>
lookup_tablesOption<unknown>
update_authorityOption<pubkey>
stale_task_ageOption<u32>

Accounts

RemoteTaskTransactionV0

FieldTypeDescription
verification_hash[u8; 32]
transactionCompiledTransactionV0

TaskQueueAuthorityV0

FieldTypeDescription
task_queuepubkey
queue_authoritypubkey
bump_seedu8

TaskQueueNameMappingV0

FieldTypeDescription
task_queuepubkey
namestring
bump_seedu8

TaskQueueV0

FieldTypeDescription
tuktuk_configpubkey
idu32
update_authoritypubkey
reservedpubkey
min_crank_rewardu64
uncollected_protocol_feesu64
capacityu16
created_ati64
updated_ati64
bump_seedu8
task_bitmapbytes
namestring
lookup_tablesVec<pubkey>
num_queue_authoritiesu16
stale_task_ageu32

TaskV0

FieldTypeDescription
task_queuepubkey
rent_amountu64
crank_rewardu64
idu16
triggerTriggerV0
rent_refundpubkey
transactionTransactionSourceV0
queued_ati64
bump_seedu8
free_tasksu8
descriptionstring

TuktukConfigV0

FieldTypeDescription
min_task_queue_idu32
next_task_queue_idu32
authoritypubkey
min_depositu64
bump_seedu8

Types

CompiledInstructionV0

FieldTypeDescription
program_id_indexu8Index into the transaction keys array indicating the program account that executes this instruction.
accountsbytesOrdered indices into the transaction keys array indicating which accounts to pass to the program.
databytesThe program input data.

CompiledTransactionV0

FieldTypeDescription
num_rw_signersu8
num_ro_signersu8
num_rwu8
accountsVec<pubkey>
instructionsVec<CompiledInstructionV0>
signer_seedsVec<unknown>Additional signer seeds. Should include bump. Useful for things like initializing a mint where you cannot pass a keypair. Note that these seeds will be prefixed with "custom", task_queue.key and the bump you pass and account should be consistent with this. But to save space in the instruction, they should be ommitted here. See tests for examples

InitializeTaskQueueArgsV0

FieldTypeDescription
min_crank_rewardu64
namestring
capacityu16
lookup_tablesVec<pubkey>
stale_task_ageu32

InitializeTuktukConfigArgsV0

FieldTypeDescription
min_depositu64

QueueTaskArgsV0

FieldTypeDescription
idu16
triggerTriggerV0
transactionTransactionSourceV0
crank_rewardOption<u64>
free_tasksu8
descriptionstring

RemoteTaskTransactionV0

FieldTypeDescription
verification_hash[u8; 32]
transactionCompiledTransactionV0

ReturnTasksArgsV0

FieldTypeDescription
tasksVec<TaskReturnV0>

RunTaskArgsV0

FieldTypeDescription
free_task_idsVec<u16>

RunTaskReturnV0

FieldTypeDescription
tasksVec<TaskReturnV0>
tasks_accountsVec<pubkey>

TaskQueueAuthorityV0

FieldTypeDescription
task_queuepubkey
queue_authoritypubkey
bump_seedu8

TaskQueueNameMappingV0

FieldTypeDescription
task_queuepubkey
namestring
bump_seedu8

TaskQueueV0

FieldTypeDescription
tuktuk_configpubkey
idu32
update_authoritypubkey
reservedpubkey
min_crank_rewardu64
uncollected_protocol_feesu64
capacityu16
created_ati64
updated_ati64
bump_seedu8
task_bitmapbytes
namestring
lookup_tablesVec<pubkey>
num_queue_authoritiesu16
stale_task_ageu32

TaskReturnV0

FieldTypeDescription
triggerTriggerV0
transactionTransactionSourceV0
crank_rewardOption<u64>
free_tasksu8
descriptionstring

TaskV0

FieldTypeDescription
task_queuepubkey
rent_amountu64
crank_rewardu64
idu16
triggerTriggerV0
rent_refundpubkey
transactionTransactionSourceV0
queued_ati64
bump_seedu8
free_tasksu8
descriptionstring

TransactionSourceV0

VariantFieldsDescription
CompiledV0unknown
RemoteV0url: string, signer: pubkey

TriggerV0

VariantFieldsDescription
Now
Timestampi64

TuktukConfigV0

FieldTypeDescription
min_task_queue_idu32
next_task_queue_idu32
authoritypubkey
min_depositu64
bump_seedu8

UpdateTaskQueueArgsV0

FieldTypeDescription
min_crank_rewardOption<u64>
capacityOption<u16>
lookup_tablesOption<unknown>
update_authorityOption<pubkey>
stale_task_ageOption<u32>

Errors

CodeNameMessage
6000TaskAlreadyExistsTask already exists
6001InvalidSignerSigner account mismatched account in definition
6002InvalidWritableWritable account mismatched account in definition
6003InvalidAccountAccount mismatched account in definition
6004InvalidDataIncreaseInvalid data increase
6005TaskNotReadyTask not ready
6006TaskQueueNotEmptyTask queue not empty
6007FreeTaskAccountNotEmptyFree task account not empty
6008InvalidTaskPDAInvalid task PDA
6009TaskQueueInsufficientFundsTask queue insufficient funds
6010SigVerificationFailedSig verification failed
6011InvalidTransactionSourceInvalid transaction source
6012InvalidVerificationAccountsHashInvalid task verification hash
6013InvalidRentRefundInvalid rent refund
6014InvalidTaskIdInvalid task id
6015DummyInstructionDon't use the dummy instruction
6016InvalidDescriptionLengthInvalid description length
6017TaskQueueHasQueueAuthoritiesTask queue has queue authorities
Previous