Skip to content

Repository files navigation

Clockwork SDK

Clockwork Typescript SDK

License

Getting Started

For a quickstart guide and in depth tutorials, see the Clockwork Docs. To jump straight to examples, go here. For the latest Rust API documentation, see Clockwork Rust SDK.

Note

  • Clockwork SDK is in active development, so all APIs are subject to change.
  • This code is unaudited. Use at your own risk.

Usage

First, initialize a ClockworkProvider

const wallet = new NodeWallet(new Keypair());const connection = new Connection(clusterApiUrl("devnet"));const clockworkProvider = new ClockworkProvider(wallet, connection);
#or
const anchorProvider = new anchor.AnchorProvider(
connection,
wallet,
anchor.AnchorProvider.defaultOptions());const provider = new ClockworkProvider.fromAnchorProvider(provider);

Get Thread Address

const[pubkey, bump] = provider.getThreadPDA(
wallet.publicKey,"ThreadProgramTest");

Initialize a Thread

const ix = await provider.threadCreate(
wallet.publicKey,// authority"ThreadProgramTest",// id[],// instructions to execute{now:{}},// thread trigger0.1*LAMPORTS_PER_SOL// amount to send to the thread);const tx = new Transaction().add(ix);const signature = await provider.anchorProvider.sendAndConfirm(tx);

Get Thread Data Deserialized

const threadAccount = await provider.getThreadAccount(threadPubkey);

Pause/Resume/Reset/Delete/ Thread

const ix = await provider.threadPause(wallet.publicKey, threadPubkey);const ix = await provider.threadResume(wallet.publicKey, threadPubkey);const ix = await provider.threadReset(wallet.publicKey, threadPubkey);const ix = await provider.threadDelete(wallet.publicKey, threadPubkey);

Update a Thread

const ix = await provider.threadUpdate(wallet.publicKey, threadPubkey,{
name:"TestUpdateThread",
rateLimit: new BN(32),trigger:{now:{}},});const tx = new Transaction().add(ix);const signature = await provider.anchorProvider.sendAndConfirm(tx);

Withdraw from Thread

const ix = await provider.threadWithdraw(
wallet.publicKey,
threadPubkey,0.01*LAMPORTS_PER_SOL);const tx = new Transaction().add(ix);const signature = await provider.anchorProvider.sendAndConfirm(tx);

About

Typescript SDK for interacting with the Clockwork program.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages