Skip to content

Commit

Permalink
feat(sdk-rs): add get_spending_limit
Browse files Browse the repository at this point in the history
  • Loading branch information
vovacodes committed Oct 15, 2023
1 parent 03bc569 commit 8f97564
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion sdk/rs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "squads-multisig"
version = "0.0.16"
version = "0.0.17"
description = "An SDK for building automated programs on Solana"
edition = "2021"
license = "MIT OR Apache-2.0"
Expand Down
16 changes: 15 additions & 1 deletion sdk/rs/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ pub use squads_multisig_program::instructions::ProposalCreateArgs;
pub use squads_multisig_program::instructions::ProposalVoteArgs;
pub use squads_multisig_program::instructions::SpendingLimitUseArgs;
pub use squads_multisig_program::instructions::VaultTransactionCreateArgs;
use squads_multisig_program::Multisig;

use crate::anchor_lang::prelude::Pubkey;
use crate::anchor_lang::AccountDeserialize;
Expand All @@ -29,6 +28,7 @@ use crate::anchor_lang::{
};
use crate::error::ClientError;
use crate::solana_program::instruction::AccountMeta;
use crate::state::{Multisig, SpendingLimit};
use crate::ClientResult;

/// Gets a `Multisig` account from the chain.
Expand All @@ -41,6 +41,20 @@ pub async fn get_multisig(rpc_client: &RpcClient, multisig_key: &Pubkey) -> Clie
Ok(multisig)
}

/// Gets a `SpendingLimit` account from the chain.
pub async fn get_spending_limit(
rpc_client: &RpcClient,
spending_limit_key: &Pubkey,
) -> ClientResult<SpendingLimit> {
let spending_limit_account = rpc_client.get_account(spending_limit_key).await?;

let spending_limit =
SpendingLimit::try_deserialize(&mut spending_limit_account.data.as_slice())
.map_err(|_| ClientError::DeserializationError)?;

Ok(spending_limit)
}

/// Creates a new multisig config transaction.
/// Example:
/// ```
Expand Down
2 changes: 1 addition & 1 deletion sdk/rs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pub mod state {
pub use squads_multisig_program::state::{
Batch, ConfigAction, ConfigTransaction, Member, Multisig, MultisigCompiledInstruction,
MultisigMessageAddressTableLookup, Period, Permission, Permissions, Proposal,
ProposalStatus, VaultTransactionMessage,
ProposalStatus, SpendingLimit, VaultTransactionMessage,
};
pub use squads_multisig_program::SmallVec;
}
Expand Down

0 comments on commit 8f97564

Please sign in to comment.