pub use multisig::errors;
pub use multisig::ID;
pub use multisig::program::Multisig;
pub mod state {
pub use multisig::state::{
Batch, ConfigAction, ConfigTransaction, Member, Multisig, MultisigCompiledInstruction, MultisigMessageAddressTableLookup, Period,Permission,Permissions,Proposal,ProposalStatus,
};
}
pub mod cpi {
use anchor_lang::prelude::{CpiContext, Result, Pubkey};
use multisig::Member;
pub use multisig::cpi::accounts::{
BatchAddTransaction, BatchCreate, BatchExecuteTransaction,ConfigTransactionCreate,ConfigTransactionExecute,MultisigAddSpendingLimit,MultisigConfig,MultisigCreate,MultisigRemoveSpendingLimit,ProposalActivate,ProposalCreate,ProposalVote,SpendingLimitUse,VaultTransactionCreate,VaultTransactionExecute
};
pub fn create_multisig<'info>(
ctx: CpiContext<'_, '_, '_, 'info, MultisigCreate<'info>>,
members: Vec<Member>,
threshold: u16,
config_authority: Option<Pubkey>,
time_lock: u32,
memo: Option<String>,
) -> Result<()> {
multisig::cpi::multisig_create(ctx, multisig::MultisigCreateArgs { members, threshold, config_authority, time_lock, memo })
}
}
pub mod client {
use anchor_lang::prelude::{Context, Error};
use multisig::{ConfigTransactionCreate, ConfigTransactionCreateArgs};
pub use multisig::multisig::config_transaction_create;
pub use multisig::state::Multisig;
pub fn create_config_transaction(
context: Context<ConfigTransactionCreate<'_>>,
arguments: ConfigTransactionCreateArgs,
) -> Result<(), Error> {
multisig::multisig::config_transaction_create(context, arguments)
}
}