pub fn execute_scheduled_named_transfer<T: Config>(
id: ScheduleName,
dest: <T::Lookup as StaticLookup>::Source,
schedule: ReleaseSchedule<BlockNumberFor<T>, <<T as Config>::Currency as InspectFungible<<T as Config>::AccountId>>::Balance>,
)
Expand description
Execute a scheduled transfer
This function is called to execute a transfer that was previously scheduled. It ensures that the origin is valid, the destination account exists, and the release schedule is valid. It then finalizes the vesting transfer from the hold balance and emits an event indicating that the release schedule was added.
§Arguments
origin
- The origin of the call, which must be the TimeRelease origin.dest
- The destination account to which the funds will be transferred.schedule
- The release schedule that specifies the amount and timing of the transfer.
§Errors
- [
ArithmeticError::Overflow
] - If the total amount in the schedule overflows. Error::InsufficientBalanceToFreeze
- If the hold balance is insufficient.Error::ZeroReleasePeriod
- If the release period is zero.Error::ZeroReleasePeriodCount
- If the release period count is zero.Error::AmountLow
- If the total amount is below the minimum release transfer amount.
§Events
Event::ReleaseScheduleAdded
- Indicates that a new release schedule was added.
§Warning: Doc-Only
This function is an automatically generated, and is doc-only, uncallable
stub. See the real version in
Pallet::execute_scheduled_named_transfer
.