Vesting¶
Calls¶
force_remove_vesting_schedule¶
See [Pallet::force_remove_vesting_schedule
].
Attributes¶
Name | Type |
---|---|
target | <T::Lookup as StaticLookup>::Source |
schedule_index | u32 |
Python¶
call = substrate.compose_call(
'Vesting', 'force_remove_vesting_schedule', {
'schedule_index': 'u32',
'target': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
}
)
force_vested_transfer¶
See [Pallet::force_vested_transfer
].
Attributes¶
Name | Type |
---|---|
source | AccountIdLookupOf<T> |
target | AccountIdLookupOf<T> |
schedule | VestingInfo<BalanceOf<T>, BlockNumberFor<T>> |
Python¶
call = substrate.compose_call(
'Vesting', 'force_vested_transfer', {
'schedule': {
'locked': 'u128',
'per_block': 'u128',
'starting_block': 'u32',
},
'source': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'target': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
}
)
merge_schedules¶
See [Pallet::merge_schedules
].
Attributes¶
Name | Type |
---|---|
schedule1_index | u32 |
schedule2_index | u32 |
Python¶
call = substrate.compose_call(
'Vesting', 'merge_schedules', {
'schedule1_index': 'u32',
'schedule2_index': 'u32',
}
)
vest¶
See [Pallet::vest
].
Attributes¶
No attributes
Python¶
call = substrate.compose_call(
'Vesting', 'vest', {}
)
vest_other¶
See [Pallet::vest_other
].
Attributes¶
Name | Type |
---|---|
target | AccountIdLookupOf<T> |
Python¶
call = substrate.compose_call(
'Vesting', 'vest_other', {
'target': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
}
)
vested_transfer¶
See [Pallet::vested_transfer
].
Attributes¶
Name | Type |
---|---|
target | AccountIdLookupOf<T> |
schedule | VestingInfo<BalanceOf<T>, BlockNumberFor<T>> |
Python¶
call = substrate.compose_call(
'Vesting', 'vested_transfer', {
'schedule': {
'locked': 'u128',
'per_block': 'u128',
'starting_block': 'u32',
},
'target': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
}
)
Events¶
VestingCompleted¶
An [account] has become fully vested.
Attributes¶
Name | Type | Composition |
---|---|---|
account | T::AccountId |
AccountId |
VestingUpdated¶
The amount vested has been updated. This could indicate a change in funds available. The balance given is the amount which is left unvested (and thus locked).
Attributes¶
Name | Type | Composition |
---|---|---|
account | T::AccountId |
AccountId |
unvested | BalanceOf<T> |
u128 |
Storage functions¶
StorageVersion¶
Storage version of the pallet.
New networks start with latest version, as determined by the genesis build.
Python¶
result = substrate.query(
'Vesting', 'StorageVersion', []
)
Return value¶
('V0', 'V1')
Vesting¶
Information regarding the vesting of a given account.
Python¶
result = substrate.query(
'Vesting', 'Vesting', ['AccountId']
)
Return value¶
[{'locked': 'u128', 'per_block': 'u128', 'starting_block': 'u32'}]
Constants¶
MaxVestingSchedules¶
Value¶
28
Python¶
constant = substrate.get_constant('Vesting', 'MaxVestingSchedules')
MinVestedTransfer¶
The minimum amount transferred to call vested_transfer
.
Value¶
33333333300
Python¶
constant = substrate.get_constant('Vesting', 'MinVestedTransfer')
Errors¶
AmountLow¶
Amount being transferred is too low to create a vesting schedule.
AtMaxVestingSchedules¶
The account already has MaxVestingSchedules
count of schedules and thus
cannot add another one. Consider merging existing schedules in order to add another.
InvalidScheduleParams¶
Failed to create a new schedule because some parameter was invalid.
NotVesting¶
The account given is not vesting.
ScheduleIndexOutOfBounds¶
An index was out of bounds of the vesting schedules.