Documentation ¶
Overview ¶
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.0.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.0.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.0.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Index ¶
- type APIResponse
- type CanClaimRewards
- type CanClaimSdResponse
- type CanClaimSpRewardsResponse
- type CanDownloadSpMerkleProofsResponse
- type CanExitValidatorResponse
- type CanNodeDepositResponse
- type CanNodeDepositSdResponse
- type CanNodeSendResponse
- type CanRegisterNodeResponse
- type CanSendClRewardsResponse
- type CanSendElRewardsResponse
- type CanSendPresignedMsgResponse
- type CanSettleExitFunds
- type CanUpdateOperatorDetails
- type CanUpdateOperatorName
- type CanUpdateOperatorRewardAddress
- type CanUpdateSocializeElResponse
- type CanWithdrawSdResponse
- type ClaimRewards
- type ClaimSdResponse
- type ClaimSpRewardsResponse
- type ClientManagerStatus
- type ClientStatus
- type ClientStatusResponse
- type ContractsInfoResponse
- type CreateFeeRecipientFileResponse
- type CyclesDetailedInfo
- type DebugExitResponse
- type DetailedMerkleProofInfo
- type DownloadSpMerkleProofsResponse
- type EstimateClaimSpRewardsGasResponse
- type ExitValidatorResponse
- type ExportWalletResponse
- type InitWalletResponse
- type NodeDepositResponse
- type NodeDepositSdAllowanceResponse
- type NodeDepositSdApproveGasResponse
- type NodeDepositSdApproveResponse
- type NodeDepositSdResponse
- type NodeSendResponse
- type NodeSignResponse
- type NodeStatusResponse
- type NodeSyncProgressResponse
- type PurgeResponse
- type RebuildWalletResponse
- type RecoverWalletResponse
- type RegisterNodeResponse
- type SearchAndRecoverWalletResponse
- type SendClRewardsResponse
- type SendElRewardsResponse
- type SendPresignedMsgResponse
- type SetEnsNameResponse
- type SetPasswordResponse
- type SettleExitFunds
- type TerminateDataFolderResponse
- type TestMnemonicResponse
- type UpdateOperatorDetails
- type UpdateOperatorName
- type UpdateOperatorRewardAddress
- type UpdateSocializeElResponse
- type ValidatorKeystore
- type WalletStatusResponse
- type WithdrawSdResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIResponse ¶
type CanClaimRewards ¶
type CanClaimSdResponse ¶
type CanClaimSpRewardsResponse ¶
type CanClaimSpRewardsResponse struct { Status string `json:"status"` Error string `json:"error"` SocializingPoolContractPaused bool `json:"socializingPoolContractPaused"` ClaimedCycles []*big.Int `json:"claimedCycles"` UnclaimedCycles []*big.Int `json:"unclaimedCycles"` CyclesToDownload []*big.Int `json:"cyclesToDownload"` }
type CanExitValidatorResponse ¶
type CanExitValidatorResponse struct { Status string `json:"status"` Error string `json:"error"` ValidatorNotRegistered bool `json:"validatorNotRegistered"` ValidatorTooYoung bool `json:"validatorTooYoung"` ValidatorExiting bool `json:"validatorExiting"` ValidatorNotActive bool `json:"validatorNotActive"` }
type CanNodeDepositResponse ¶
type CanNodeDepositResponse struct { Status string `json:"status"` Error string `json:"error"` CanDeposit bool `json:"CanDeposit"` InsufficientBalance bool `json:"insufficientBalance"` InvalidAmount bool `json:"invalidAmount"` DepositPaused bool `json:"depositPaused"` NotEnoughSdCollateral bool `json:"notEnoughSdCollateral"` MaxValidatorLimitReached bool `json:"maxValidatorLimitReached"` InputKeyLimitReached bool `json:"inputKeyLimitReached"` InputKeyLimit uint16 `json:"inputKeyLimit"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanNodeSendResponse ¶
type CanRegisterNodeResponse ¶
type CanRegisterNodeResponse struct { Status string `json:"status"` Error string `json:"error"` AlreadyRegistered bool `json:"alreadyRegistered"` RegistrationPaused bool `json:"registrationPaused"` OperatorNameTooLong bool `json:"operatorNameTooLong"` OperatorRewardAddressZero bool `json:"operatorRewardAddressZero"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanSendClRewardsResponse ¶
type CanSendClRewardsResponse struct { Status string `json:"status"` Error string `json:"error"` VaultAlreadySettled bool `json:"vaultAlreadySettled"` NoClRewards bool `json:"noClRewards"` TooManyClRewards bool `json:"tooManyClRewards"` ValidatorNotFound bool `json:"validatorNotFound"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanSendPresignedMsgResponse ¶
type CanSendPresignedMsgResponse struct { Status string `json:"status"` Error string `json:"error"` ValidatorNotRegisteredWithStader bool `json:"validatorNotRegisteredWithStader"` ValidatorNotRegisteredWithOperator bool `json:"validatorNotRegisteredWithOperator"` ValidatorNotRegistered bool `json:"validatorNotRegistered"` ValidatorPreSignKeyAlreadyRegistered bool `json:"validatorPreSignKeyAlreadyRegistered"` ValidatorIsNotActive bool `json:"validatorIsNotActive"` }
type CanSettleExitFunds ¶
type CanSettleExitFunds struct { Status string `json:"status"` Error string `json:"error"` ValidatorNotWithdrawn bool `json:"validatorNotWithdrawn"` ValidatorNotRegistered bool `json:"validatorNotRegistered"` NoEthToWithdraw bool `json:"notEthToWithdraw"` VaultAlreadySettled bool `json:"vaultAlreadySettled"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanUpdateOperatorDetails ¶
type CanUpdateOperatorDetails struct { Status string `json:"status"` Error string `json:"error"` OperatorNameTooLong bool `json:"operatorNameTooLong"` OperatorRewardAddressZero bool `json:"operatorRewardAddressZero"` NothingToUpdate bool `json:"nothingToUpdate"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanUpdateOperatorName ¶
type CanUpdateOperatorName struct { Status string `json:"status"` Error string `json:"error"` OperatorNotActive bool `json:"operatorNotActive"` OperatorNameTooLong bool `json:"operatorNameTooLong"` NothingToUpdate bool `json:"nothingToUpdate"` IsPermissionlessNodeRegistryPaused bool `json:"isPermissionlessNodeRegistryPaused"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanUpdateOperatorRewardAddress ¶
type CanUpdateOperatorRewardAddress struct { Status string `json:"status"` Error string `json:"error"` OperatorNotActive bool `json:"operatorNotActive"` OperatorRewardAddressZero bool `json:"operatorRewardAddressZero"` NothingToUpdate bool `json:"nothingToUpdate"` IsPermissionlessNodeRegistryPaused bool `json:"isPermissionlessNodeRegistryPaused"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanUpdateSocializeElResponse ¶
type CanUpdateSocializeElResponse struct { Status string `json:"status"` Error string `json:"error"` IsPermissionlessNodeRegistryPaused bool `json:"isPermissionlessNodeRegistryPaused"` AlreadyOptedIn bool `json:"alreadyOptedIn"` AlreadyOptedOut bool `json:"alreadyOptedOut"` InCooldown bool `json:"inCooldown"` NextUpdatableBlock uint64 `json:"nextUpdatableBlock"` GasInfo stader.GasInfo `json:"gasInfo"` }
type CanWithdrawSdResponse ¶
type ClaimRewards ¶
type ClaimSdResponse ¶
type ClaimSpRewardsResponse ¶
type ClientManagerStatus ¶
type ClientManagerStatus struct { PrimaryClientStatus ClientStatus `json:"primaryEcStatus"` FallbackEnabled bool `json:"fallbackEnabled"` FallbackClientStatus ClientStatus `json:"fallbackEcStatus"` }
This is a wrapper for the manager's overall status report
type ClientStatus ¶
type ClientStatus struct { IsWorking bool `json:"isWorking"` IsSynced bool `json:"isSynced"` SyncProgress float64 `json:"syncProgress"` NetworkId uint `json:"networkId"` Error string `json:"error"` }
This is a wrapper for the EC status report
type ClientStatusResponse ¶
type ClientStatusResponse struct { Status string `json:"status"` Error string `json:"error"` EcManagerStatus ClientManagerStatus `json:"ecManagerStatus"` BcManagerStatus ClientManagerStatus `json:"bcManagerStatus"` }
type ContractsInfoResponse ¶
type ContractsInfoResponse struct { Status string `json:"status"` Error string `json:"error"` Network uint64 `json:"network"` BeaconDepositContract common.Address `json:"beaconDepositContract"` EncryptionKey string `json:"encryptionKey"` BeaconNetwork uint64 `json:"beaconNetwork"` PermissionlessNodeRegistry common.Address `json:"permissionlessNodeRegistry"` VaultFactory common.Address `json:"vaultFactory"` EthxToken common.Address `json:"ethxToken"` SdToken common.Address `json:"sdToken"` StaderConfig common.Address `json:"staderConfig"` SdCollateralContract common.Address `json:"sdCollateralContract"` SocializingPoolContract common.Address `json:"socializingPoolContract"` PermisionlessPool common.Address `json:"permisionlessPool"` StaderOracle common.Address `json:"staderOracle"` PenaltyTracker common.Address `json:"penaltyTracker"` StakePoolManager common.Address `json:"stakePoolManager"` }
type CyclesDetailedInfo ¶
type CyclesDetailedInfo struct { Status string `json:"status"` Error string `json:"error"` DetailedCyclesInfo []DetailedMerkleProofInfo `json:"detailedCyclesInfo"` }
type DebugExitResponse ¶
type DebugExitResponse struct { Status string `json:"status"` Error string `json:"error"` ValidatorPubKey types.ValidatorPubkey `json:"validatorPubKey"` ExitEpoch uint64 `json:"exitEpoch"` CurrentEpoch uint64 `json:"currentEpoch"` ValidatorIndex uint64 `json:"validatorIndex"` SrHash common.Hash `json:"srHash"` SignedMsg types.ValidatorSignature `json:"signedMsg"` SignatureDomain common.Hash `json:"signatureDomain"` }
type DetailedMerkleProofInfo ¶
type DetailedMerkleProofInfo struct { MerkleProofInfo stader_backend.CycleMerkleProofs `json:"merkleProofInfo"` CycleTime time.Time `json:"cycleTime"` }
type ExitValidatorResponse ¶
type ExportWalletResponse ¶
type InitWalletResponse ¶
type NodeDepositResponse ¶
type NodeDepositSdResponse ¶
type NodeSendResponse ¶
type NodeSignResponse ¶
type NodeStatusResponse ¶
type NodeStatusResponse struct { Status string `json:"status"` Error string `json:"error"` NumberOfValidatorsRegistered string `json:"numberOfValidatorsRegistered"` AccountAddress common.Address `json:"accountAddress"` AccountAddressFormatted string `json:"accountAddressFormatted"` OperatorId *big.Int `json:"operatorId"` OperatorName string `json:"operatorName"` OperatorActive bool `json:"operatorActive"` OperatorAddress common.Address `json:"operatorAddress"` OperatorRewardAddress common.Address `json:"operatorRewardAddress"` OperatorRewardInETH *big.Int `json:"operatorRewardInETH"` AccumulatedClRewards *big.Int `json:"accumulatedClRewards"` OptedInForSocializingPool bool `json:"optedInForSocializingPool"` SocializingPoolRewardCycleDetails types.RewardCycleDetails `json:"socializingPoolRewardCycleDetails"` SocializingPoolStartTime time.Time `json:"socializingPoolStartTime"` SocializingPoolAddress common.Address `json:"socializingPoolAddress"` OperatorELRewardsAddress common.Address `json:"operatorELRewardsAddress"` OperatorELRewardsAddressBalance *big.Int `json:"operatorELRewardsAddressBalance"` OperatorRewardCollectorBalance *big.Int `json:"operatorRewardCollectorBalance"` DepositedSdCollateral *big.Int `json:"depositedSdCollateral"` SdCollateralWorthValidators *big.Int `json:"sdCollateralWorthValidators"` Registered bool `json:"registered"` AccountBalances tokens.Balances `json:"accountBalances"` TotalNonTerminalValidators *big.Int `json:"nonTerminalValidators"` ValidatorInfos []stdr.ValidatorInfo `json:"validatorInfos"` TotalValidatorClRewards *big.Int `json:"totalValidatorClRewards"` ClaimedSocializingPoolMerkles []stader_backend.CycleMerkleProofs `json:"claimedSocializingPoolMerkles"` UnclaimedSocializingPoolMerkles []stader_backend.CycleMerkleProofs `json:"unclaimedSocializingPoolMerkles"` }
type NodeSyncProgressResponse ¶
type NodeSyncProgressResponse struct { Status string `json:"status"` Error string `json:"error"` EcStatus ClientManagerStatus `json:"ecStatus"` BcStatus ClientManagerStatus `json:"bcStatus"` }
type PurgeResponse ¶
type RebuildWalletResponse ¶
type RebuildWalletResponse struct { Status string `json:"status"` Error string `json:"error"` ValidatorKeys []types.ValidatorPubkey `json:"validatorKeys"` }
type RecoverWalletResponse ¶
type RegisterNodeResponse ¶
type SearchAndRecoverWalletResponse ¶
type SearchAndRecoverWalletResponse struct { Status string `json:"status"` Error string `json:"error"` FoundWallet bool `json:"foundWallet"` AccountAddress common.Address `json:"accountAddress"` DerivationPath string `json:"derivationPath"` Index uint `json:"index"` ValidatorKeys []types.ValidatorPubkey `json:"validatorKeys"` }
type SendClRewardsResponse ¶
type SendElRewardsResponse ¶
type SendPresignedMsgResponse ¶
type SendPresignedMsgResponse struct { Status string `json:"status"` Error string `json:"error"` ValidatorPubKey types.ValidatorPubkey `json:"validatorPubKey"` ExitEpoch uint64 `json:"exitEpoch"` ValidatorIndex uint64 `json:"validatorIndex"` SignedMsg types.ValidatorSignature `json:"signedMsg"` }
type SetEnsNameResponse ¶
type SetPasswordResponse ¶
type SettleExitFunds ¶
type TestMnemonicResponse ¶
type UpdateOperatorDetails ¶
type UpdateOperatorName ¶
type ValidatorKeystore ¶
type ValidatorKeystore struct { Crypto map[string]interface{} `json:"crypto"` Version uint `json:"version"` UUID uuid.UUID `json:"uuid"` Path string `json:"path"` Pubkey types.ValidatorPubkey `json:"pubkey"` }
Encrypted validator keystore following the EIP-2335 standard (https://eips.ethereum.org/EIPS/eip-2335)
type WalletStatusResponse ¶
type WalletStatusResponse struct { Status string `json:"status"` Error string `json:"error"` PasswordSet bool `json:"passwordSet"` WalletInitialized bool `json:"walletInitialized"` AccountAddress common.Address `json:"accountAddress"` CurrentNonce *big.Int `json:"currentNonce"` PendingNonce *big.Int `json:"pendingNonce"` }