Function sol_anon::utils::realloc_slot
source · pub fn realloc_slot<'a>(
slot: &AccountInfo<'a>,
message: &str,
inbox: &mut Account<'a, Inbox>,
sender: &AccountInfo<'a>,
system_program: &AccountInfo<'a>
) -> Result<()>
Expand description
Reallocates the slot account if necessary and handles the transfer of lamports.
This function is responsible for:
- Calculating the required space for the slot based on the message length.
- Reallocating the slot account if more space is needed.
- Handling the transfer of lamports to cover rent for the new allocation.
- Managing any refunds if the new allocation requires less space.
§Arguments
slot
- A reference to the slot account info.message
- A reference to the message string.inbox
- A mutable reference to the Inbox account.sender
- A reference to the sender’s account info.system_program
- A reference to the system program’s account info.
§Returns
Returns Ok(())
if the reallocation and transfers are successful, or an error if any operation fails.