| 305 | #[derive(Accounts)] |
| 306 | #[instruction(components: Vec<Pubkey>)] |
| 307 | pub struct RemoveComponent<'info>{ |
| 308 | #[account(mut)] |
| 309 | pub benefactor: Signer<'info>, |
| 310 | pub system_program: Program<'info, System>, |
| 311 | |
| 312 | //Used to Sign Tx for the CPI |
| 313 | #[account( |
| 314 | seeds=[b"registry_signer"], |
| 315 | bump, |
| 316 | )] |
| 317 | pub registry_config: Account<'info, RegistryConfig>, |
| 318 | |
| 319 | #[account( |
| 320 | mut, |
| 321 | constraint = entity.registry.key() == program_id.key() && action_bundle_registration.instances.contains(&entity.instance) |
| 322 | )] |
| 323 | pub entity: Account<'info, Entity>, |
| 324 | |
| 325 | pub action_bundle: Signer<'info>, |
| 326 | |
| 327 | // System is allowed to modify the component it's adding |
| 328 | // System is a signer |
| 329 | #[account( |
| 330 | constraint = action_bundle_registration.action_bundle.key() == action_bundle.key() && check_sys_registry(&components, &action_bundle_registration.components) |
| 331 | )] |
| 332 | pub action_bundle_registration: Account<'info, ActionBundleRegistration>, |
| 333 | |
| 334 | pub core_ds: Program<'info, CoreDs>, |
| 335 | } |
| 336 | |
| 337 | #[derive(Accounts)] |
| 338 | #[instruction(components: Vec<Pubkey>, data:Vec<Vec<u8>>)] |
nothing calls this directly
no outgoing calls
no test coverage detected