OptionalapplyThe PDA that owns it.
OptionaldestinationRefuse the transfer, before anything is encrypted, if the destination has another key.
The source account's keys (deriveConfidentialKeysWithSeed).
Pays the transaction; it is not given to the transfer hook.
OptionalprogramThe program-owned account the tokens leave.
Apply what is pending in the source account first, in the same transaction, and spend it too (default
true). The apply is signed by the PDA as well.