Skip to main content

sendfun_sdk/utils/
partner.rs

1use solana_address::Address;
2
3use crate::constants::DEFAULT_PARTNER;
4
5/// `(partner, is_signer)` for the `partner` field of the generated
6/// instructions. `is_signer` is `false` only for `DEFAULT_PARTNER`.
7#[must_use]
8pub fn partner_account(partner: &Address) -> (Address, bool) {
9	(*partner, *partner != DEFAULT_PARTNER)
10}
11
12#[cfg(test)]
13mod tests {
14	use super::*;
15
16	#[test]
17	fn a_non_default_partner_signs() {
18		let partner = Address::new_unique();
19		assert_eq!(partner_account(&partner), (partner, true));
20	}
21
22	#[test]
23	fn the_default_partner_does_not_sign() {
24		assert_eq!(partner_account(&DEFAULT_PARTNER), (DEFAULT_PARTNER, false));
25	}
26}