Operator
Create an Operator Instace
- Geode.Portal.operator(operatorID: int)
Initilize the Operator object with an existing operator id:
# You need operator id to create operator object operatorID = 500191....78 myOperator = geode.Portal.operator(operatorID)
Operator Ownership
- property Operator.CONTROLLER
CONTROLLERethereum address of the controller of the OperatormyOperator.CONTROLLER # 0x2C95BC18Fd9382a07776D416EeF6c2FEb3AD2A8C
- property Operator.initiated
initiated(uint256) is timestamp of initiation time.myOperator.initiated # 1677379164 # (unix seconds)
- property Operator.maintainer
maintainer(address) is the address of the maintainer, set by the owner. Handles day to day operations like creation of validators.myOperator.maintainer # 0x2C95BC18Fd9382a07776D416EeF6c2FEb3AD2A8C
Operator Fee
If the operator owner or maintainer wants to update its fee, the operations continue from the value named priorFee for a certain period of time after the fee changes so that it does not manipulate the users momentarily. This period is 3 days and must be kept in the variable named feeSwitch. At the end of the feeSwitch period, the updated fee comes into play, so users have the freedom to leave operators according to their own interests.
Warning
period changes takes effect after 3 days.
- property Operator.fee
Returns
fee(uint256) How much of the percentage from validator yield will received by the operator CONTROLLER. DENOMINATOR: 1e10 (100%).myOperator.fee # 500000000 # PERCENTAGE_DENOMINATOR = 100%
Note
If the Operator owner or maintainer wants to update its
fee, the operations continue from the value namedpriorFeefor a certain period of time after the fee changes so that it does not manipulate the pool momentarily. This period is 3 days and must be kept in the variable namedfeeSwitch. At the end of thefeeSwitchperiod, the updatedfeecomes into play, so users have the freedom to leave the pool according to their own interests.
- property Operator.priorFee
priorFeereplacesfeewhenfeeSwitchis reached.myOperator.priorFee # 400000000 # PERCENTAGE_DENOMINATOR = 100%
- property Operator.feeSwitch
feeSwitchis set to 3 days after the function call, meaning there will be 3 days delay on every time fee is changed.myOperator.feeSwitch # 1709191201 # (unix seconds)
Validator Period
An Operator’s validatorPeriod can be chosen between 90 - 720 days , and should be defined in seconds.
Warning
- property Operator.validatorPeriod
myOperator.validatorPeriod # 157680000 / 2 years in seconds
- property Operator.priorPeriod
myOperator.priorPeriod # 7776000 / 90 days
- property Operator.periodSwitch
periodSwitchdefines the latest unix timestamp when thevalidatorPeriodwill be effective instead ofpriorPeriodmyOperator.periodSwitch # 1709537189
Internal Wallet
Note
Every Validator proposal requires 1 Ether, which will be spent from your internal wallet. However, this amount is returned if the proposal is approved and the validator creation is finalized.
- property Operator.wallet
- Every ID has its own internal wallet within Portal.It accrues fees, makes things safer and easier for Node Operators when creating validators etc.
wallet(uint256) amount (inwei) in the internal wallet of the Operator.myOperator.wallet # wallet: 10000000000000 # (as wei) (1e18 = 1 ether)
Note
CONTROLLERof an ID can increase the internal wallet by depositing ether withportal.functions.increaseWalletBalance(id).Also, can decrease by reclaiming the ether that is accrued withportal.functions.decreaseWalletBalance(id).
Prison
To understand why some operators have prisoned read this link.
- property Operator.release
releaseis the timestamp of their release time. Governance may release operators if no harm is intended.myOperator.release # 0 # never prisoned