TokenState
This contract manages lockers to control token transferability.
The SKALE Network has three types of locked tokens:
-
Tokens that are transferrable but are currently locked into delegation with a validator.
-
Tokens that are not transferable from one address to another, but may be delegated to a validator
getAndUpdateLockedAmount. This lock enforces Proof-of-Use requirements. -
Tokens that are neither transferable nor delegatable
getAndUpdateForbiddenForDelegationAmount. This lock enforces slashing.
onlyLockerManager onlyLockerManager() modifier
getAndUpdateLockedAmount getAndUpdateLockedAmount(address holder) → uint256 external
getAndUpdateForbiddenForDelegationAmount getAndUpdateForbiddenForDelegationAmount(address holder) → uint256 amount external
removeLocker removeLocker(string locker) external
Allows the Owner to remove a contract from the locker.
Emits a LockerWasRemoved event.
initialize initialize(address contractManagerAddress) public
addLocker addLocker(string locker) public
Allows the Owner to add a contract to the Locker.
Emits a LockerWasAdded event.
LockerWasAdded LockerWasAdded(string locker) event
Emitted when a contract is added to the locker.
LockerWasRemoved LockerWasRemoved(string locker) event
Emitted when a contract is removed from the locker.