#![allow(clippy::result_large_err)]
#![deny(arithmetic_overflow)]
#![deny(unused_must_use)]
extern crate core;
use anchor_lang::prelude::*;
pub use anchor_lang;
pub use instructions::*;
pub use state::*;
pub use utils::SmallVec;
pub mod errors;
pub mod instructions;
pub mod state;
mod utils;
declare_id!("SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf");
#[program]
pub mod squads_multisig_program {
use super::*;
pub fn multisig_create(ctx: Context<MultisigCreate>, args: MultisigCreateArgs) -> Result<()> {
MultisigCreate::multisig_create(ctx, args)
}
pub fn multisig_add_member(
ctx: Context<MultisigConfig>,
args: MultisigAddMemberArgs,
) -> Result<()> {
MultisigConfig::multisig_add_member(ctx, args)
}
pub fn multisig_remove_member(
ctx: Context<MultisigConfig>,
args: MultisigRemoveMemberArgs,
) -> Result<()> {
MultisigConfig::multisig_remove_member(ctx, args)
}
pub fn multisig_set_time_lock(
ctx: Context<MultisigConfig>,
args: MultisigSetTimeLockArgs,
) -> Result<()> {
MultisigConfig::multisig_set_time_lock(ctx, args)
}
pub fn multisig_set_config_authority(
ctx: Context<MultisigConfig>,
args: MultisigSetConfigAuthorityArgs,
) -> Result<()> {
MultisigConfig::multisig_set_config_authority(ctx, args)
}
pub fn multisig_add_spending_limit(
ctx: Context<MultisigAddSpendingLimit>,
args: MultisigAddSpendingLimitArgs,
) -> Result<()> {
MultisigAddSpendingLimit::multisig_add_spending_limit(ctx, args)
}
pub fn multisig_remove_spending_limit(
ctx: Context<MultisigRemoveSpendingLimit>,
args: MultisigRemoveSpendingLimitArgs,
) -> Result<()> {
MultisigRemoveSpendingLimit::multisig_remove_spending_limit(ctx, args)
}
pub fn config_transaction_create(
ctx: Context<ConfigTransactionCreate>,
args: ConfigTransactionCreateArgs,
) -> Result<()> {
ConfigTransactionCreate::config_transaction_create(ctx, args)
}
pub fn config_transaction_execute<'info>(
ctx: Context<'_, '_, '_, 'info, ConfigTransactionExecute<'info>>,
) -> Result<()> {
ConfigTransactionExecute::config_transaction_execute(ctx)
}
pub fn vault_transaction_create(
ctx: Context<VaultTransactionCreate>,
args: VaultTransactionCreateArgs,
) -> Result<()> {
VaultTransactionCreate::vault_transaction_create(ctx, args)
}
pub fn vault_transaction_execute(ctx: Context<VaultTransactionExecute>) -> Result<()> {
VaultTransactionExecute::vault_transaction_execute(ctx)
}
pub fn batch_create(ctx: Context<BatchCreate>, args: BatchCreateArgs) -> Result<()> {
BatchCreate::batch_create(ctx, args)
}
pub fn batch_add_transaction(
ctx: Context<BatchAddTransaction>,
args: BatchAddTransactionArgs,
) -> Result<()> {
BatchAddTransaction::batch_add_transaction(ctx, args)
}
pub fn batch_execute_transaction(ctx: Context<BatchExecuteTransaction>) -> Result<()> {
BatchExecuteTransaction::batch_execute_transaction(ctx)
}
pub fn proposal_create(ctx: Context<ProposalCreate>, args: ProposalCreateArgs) -> Result<()> {
ProposalCreate::proposal_create(ctx, args)
}
pub fn proposal_activate(ctx: Context<ProposalActivate>) -> Result<()> {
ProposalActivate::proposal_activate(ctx)
}
pub fn proposal_approve(ctx: Context<ProposalVote>, args: ProposalVoteArgs) -> Result<()> {
ProposalVote::proposal_approve(ctx, args)
}
pub fn proposal_reject(ctx: Context<ProposalVote>, args: ProposalVoteArgs) -> Result<()> {
ProposalVote::proposal_reject(ctx, args)
}
pub fn proposal_cancel(ctx: Context<ProposalVote>, args: ProposalVoteArgs) -> Result<()> {
ProposalVote::proposal_cancel(ctx, args)
}
pub fn spending_limit_use(
ctx: Context<SpendingLimitUse>,
args: SpendingLimitUseArgs,
) -> Result<()> {
SpendingLimitUse::spending_limit_use(ctx, args)
}
}