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.4.4]
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.4.4]
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.4.4]
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 CanRepayExcessSDResponse
- type CanRepaySDResponse
- type CanSendClRewardsResponse
- type CanSendElRewardsResponse
- type CanSendPresignedMsgResponse
- type CanSettleExitFunds
- type CanUpdateOperatorDetails
- type CanUpdateOperatorName
- type CanUpdateOperatorRewardAddress
- type CanUpdateSocializeElResponse
- type CanUtilitySDResponse
- 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 GetSdStatusResponse
- type InitWalletResponse
- type NodeDepositResponse
- type NodeDepositSdResponse
- type NodeRepayExcessSDResponse
- type NodeRepaySDResponse
- type NodeSendResponse
- type NodeSignResponse
- type NodeStatusResponse
- type NodeSyncProgressResponse
- type NodeUtilitySDResponse
- type PurgeResponse
- type RebuildValidatorKeysResponse
- type RebuildWalletResponse
- type RecoverWalletResponse
- type RegisterNodeResponse
- type SdAllowanceResponse
- type SdApproveGasResponse
- type SdApproveResponse
- type SdStatusResponse
- type SearchAndRecoverWalletResponse
- type SendClRewardsResponse
- type SendElRewardsResponse
- type SendPresignedMsgResponse
- type SetEnsNameResponse
- type SetPasswordResponse
- type SetRewardAddress
- type SettleExitFunds
- type TerminateDataFolderResponse
- type TestMnemonicResponse
- type UpdateOperatorDetails
- type UpdateOperatorName
- 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"`
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 CanRepayExcessSDResponse ¶ added in v1.5.0
type CanRepaySDResponse ¶ added in v1.5.0
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"`
OperatorAddressAndRewardNotTheSame bool `json:"operatorAddressAndRewardNotTheSame"`
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 CanUtilitySDResponse ¶ added in v1.5.0
type CanWithdrawSdResponse ¶
type ClaimRewards ¶
type ClaimRewards struct {
Status string `json:"status"`
Error string `json:"error"`
OperatorRewardsBalance *big.Int `json:"operatorRewardsBalance"`
OperatorRewardAddress common.Address `json:"operatorRewardAddress"`
RewardsClaimed *big.Int `json:"rewardsClaimed"`
TxHash common.Hash `json:"txHash"`
}
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"`
SdUtilityContract common.Address `json:"sdUtilityContract"`
}
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 GetSdStatusResponse ¶ added in v1.5.0
type GetSdStatusResponse struct {
SDStatus *SdStatusResponse `json:"sdStatusResponse"`
Status string `json:"status"`
Error string `json:"error"`
}
type InitWalletResponse ¶
type NodeDepositResponse ¶
type NodeDepositSdResponse ¶
type NodeRepayExcessSDResponse ¶ added in v1.5.0
type NodeRepaySDResponse ¶ added in v1.5.0
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 NodeUtilitySDResponse ¶ added in v1.5.0
type PurgeResponse ¶
type RebuildValidatorKeysResponse ¶ added in v1.3.0
type RebuildWalletResponse ¶
type RebuildWalletResponse struct {
Status string `json:"status"`
Error string `json:"error"`
ValidatorKeys []types.ValidatorPubkey `json:"validatorKeys"`
}
type RecoverWalletResponse ¶
type RegisterNodeResponse ¶
type SdAllowanceResponse ¶ added in v1.5.0
type SdApproveGasResponse ¶ added in v1.5.0
type SdApproveResponse ¶ added in v1.5.0
type SdStatusResponse ¶ added in v1.5.0
type SdStatusResponse struct {
SdUtilizerLatestBalance *big.Int `json:"sdUtilizerLatestBalance"`
SdUtilizedBalance *big.Int `json:"sdUtilizedBalance"`
SdCollateralCurrentAmount *big.Int `json:"sdCollateralCurrentAmount"`
SdCollateralRequireAmount *big.Int `json:"sdCollateralRequireAmount"`
SdMaxUtilizableAmount *big.Int `json:"sdMaxUtilizableAmount"`
UtilizationRate *big.Float `json:"utilizationRate"`
SdBalance *big.Int `json:"sdBalance"`
PoolAvailableSDBalance *big.Int `json:"poolAvailableSDBalance"`
SdRewardEligible *big.Int `json:"sdRewardEligible"`
HealthFactor *big.Int `json:"healthFactor"`
AccumulatedInterest *big.Int `json:"accumulatedInterest"`
NotEnoughSdCollateral bool `json:"notEnoughSdCollateral"`
}
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 SetRewardAddress ¶ added in v1.4.0
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"`
}