api

package
v2.0.0-b1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2024 License: GPL-3.0 Imports: 12 Imported by: 25

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type AuctionBidOnLotData

type AuctionBidOnLotData struct {
	CanBid           bool                 `json:"canBid"`
	DoesNotExist     bool                 `json:"doesNotExist"`
	BiddingEnded     bool                 `json:"biddingEnded"`
	RplExhausted     bool                 `json:"rplExhausted"`
	BidOnLotDisabled bool                 `json:"bidOnLotDisabled"`
	TxInfo           *eth.TransactionInfo `json:"txInfo"`
}

type AuctionClaimFromLotData

type AuctionClaimFromLotData struct {
	CanClaim         bool                 `json:"canClaim"`
	DoesNotExist     bool                 `json:"doesNotExist"`
	NoBidFromAddress bool                 `json:"noBidFromAddress"`
	NotCleared       bool                 `json:"notCleared"`
	TxInfo           *eth.TransactionInfo `json:"txInfo"`
}

type AuctionCreateLotData

type AuctionCreateLotData struct {
	CanCreate           bool                 `json:"canCreate"`
	InsufficientBalance bool                 `json:"insufficientBalance"`
	CreateLotDisabled   bool                 `json:"createLotDisabled"`
	TxInfo              *eth.TransactionInfo `json:"txInfo"`
}

type AuctionLotDetails

type AuctionLotDetails struct {
	Index                uint64   `json:"index"`
	Exists               bool     `json:"exists"`
	StartBlock           uint64   `json:"startBlock"`
	EndBlock             uint64   `json:"endBlock"`
	StartPrice           *big.Int `json:"startPrice"`
	ReservePrice         *big.Int `json:"reservePrice"`
	PriceAtCurrentBlock  *big.Int `json:"priceAtCurrentBlock"`
	PriceByTotalBids     *big.Int `json:"priceByTotalBids"`
	CurrentPrice         *big.Int `json:"currentPrice"`
	TotalRplAmount       *big.Int `json:"totalRplAmount"`
	ClaimedRplAmount     *big.Int `json:"claimedRplAmount"`
	RemainingRplAmount   *big.Int `json:"remainingRplAmount"`
	TotalBidAmount       *big.Int `json:"totalBidAmount"`
	IsCleared            bool     `json:"isCleared"`
	RplRecovered         bool     `json:"rplRecovered"`
	ClaimAvailable       bool     `json:"claimAvailable"`
	BiddingAvailable     bool     `json:"biddingAvailable"`
	RplRecoveryAvailable bool     `json:"rplRecoveryAvailable"`
	NodeBidAmount        *big.Int `json:"nodeBidAmount"`
}

type AuctionLotsData

type AuctionLotsData struct {
	Lots []AuctionLotDetails `json:"lots"`
}

type AuctionRecoverRplFromLotData

type AuctionRecoverRplFromLotData struct {
	CanRecover          bool                 `json:"canRecover"`
	DoesNotExist        bool                 `json:"doesNotExist"`
	BiddingNotEnded     bool                 `json:"biddingNotEnded"`
	NoUnclaimedRpl      bool                 `json:"noUnclaimedRpl"`
	RplAlreadyRecovered bool                 `json:"rplAlreadyRecovered"`
	TxInfo              *eth.TransactionInfo `json:"txInfo"`
}

type AuctionStatusData

type AuctionStatusData struct {
	TotalRplBalance     *big.Int `json:"totalRPLBalance"`
	AllottedRplBalance  *big.Int `json:"allottedRPLBalance"`
	RemainingRplBalance *big.Int `json:"remainingRPLBalance"`
	CanCreateLot        bool     `json:"canCreateLot"`
	LotCounts           struct {
		ClaimAvailable       int `json:"claimAvailable"`
		BiddingAvailable     int `json:"biddingAvailable"`
		RplRecoveryAvailable int `json:"rplRecoveryAvailable"`
	} `json:"lotCounts"`
}

type BatchSubmitTxsBody

type BatchSubmitTxsBody struct {
	Submissions    []*eth.TransactionSubmission `json:"submissions"`
	FirstNonce     *big.Int                     `json:"firstNonce,omitempty"`
	MaxFee         *big.Int                     `json:"maxFee"`
	MaxPriorityFee *big.Int                     `json:"maxPriorityFee"`
}

type BatchTxData

type BatchTxData struct {
	TxHashes []common.Hash `json:"txHashes"`
}

type BondClaimResult

type BondClaimResult struct {
	ProposalID        uint64   `json:"proposalId"`
	IsProposer        bool     `json:"isProposer"`
	UnlockableIndices []uint64 `json:"unlockableIndices"`
	RewardableIndices []uint64 `json:"rewardableIndices"`
	UnlockAmount      *big.Int `json:"unlockAmount"`
	RewardAmount      *big.Int `json:"rewardAmount"`
}

type FeeRecipientInfo

type FeeRecipientInfo struct {
	SmoothingPoolAddress  common.Address `json:"smoothingPoolAddress"`
	FeeDistributorAddress common.Address `json:"feeDistributorAddress"`
	IsInSmoothingPool     bool           `json:"isInSmoothingPool"`
	IsInOptOutCooldown    bool           `json:"isInOptOutCooldown"`
	OptOutEpoch           uint64         `json:"optOutEpoch"`
}

Info for the node's fee recipient

type MinipoolBeginReduceBondDetails

type MinipoolBeginReduceBondDetails struct {
	Address               common.Address        `json:"address"`
	NodeDepositBalance    *big.Int              `json:"nodeDepositBalance"`
	NodeFee               *big.Int              `json:"nodeFee"`
	MinipoolVersionTooLow bool                  `json:"minipoolVersionTooLow"`
	Balance               uint64                `json:"balance"`
	BalanceTooLow         bool                  `json:"balanceTooLow"`
	AlreadyInWindow       bool                  `json:"alreadyInWindow"`
	MatchRequest          *big.Int              `json:"matchRequest"`
	BeaconState           beacon.ValidatorState `json:"beaconState"`
	InvalidElState        bool                  `json:"invalidElState"`
	InvalidBeaconState    bool                  `json:"invalidBeaconState"`
	AlreadyCancelled      bool                  `json:"alreadyCancelled"`
	NodeDepositTooLow     bool                  `json:"nodeDepositTooLow"`
	CanReduce             bool                  `json:"canReduce"`
}

type MinipoolBeginReduceBondDetailsData

type MinipoolBeginReduceBondDetailsData struct {
	BondReductionDisabled       bool                             `json:"bondReductionDisabled"`
	IsFeeDistributorInitialized bool                             `json:"isFeeDistributorInitialized"`
	BondReductionWindowStart    time.Duration                    `json:"bondReductionWindowStart"`
	BondReductionWindowLength   time.Duration                    `json:"bondReductionWindowLength"`
	Details                     []MinipoolBeginReduceBondDetails `json:"details"`
}

type MinipoolCanChangeWithdrawalCredentialsData

type MinipoolCanChangeWithdrawalCredentialsData struct {
	CanChange bool `json:"canChange"`
}

type MinipoolCloseDetails

type MinipoolCloseDetails struct {
	Address                     common.Address        `json:"address"`
	IsFinalized                 bool                  `json:"isFinalized"`
	Status                      types.MinipoolStatus  `json:"status"`
	Version                     uint8                 `json:"version"`
	Distributed                 bool                  `json:"distributed"`
	CanClose                    bool                  `json:"canClose"`
	Balance                     *big.Int              `json:"balance"`
	EffectiveBalance            *big.Int              `json:"effectiveBalance"`
	Refund                      *big.Int              `json:"refund"`
	UserDepositBalance          *big.Int              `json:"userDepositBalance"`
	BeaconState                 beacon.ValidatorState `json:"beaconState"`
	NodeShareOfEffectiveBalance *big.Int              `json:"nodeShareOfEffectiveBalance"`
}

type MinipoolCloseDetailsData

type MinipoolCloseDetailsData struct {
	IsFeeDistributorInitialized bool                   `json:"isFeeDistributorInitialized"`
	Details                     []MinipoolCloseDetails `json:"details"`
}

type MinipoolDelegateDetails

type MinipoolDelegateDetails struct {
	Address                         common.Address `json:"address"`
	Delegate                        common.Address `json:"delegate"`
	EffectiveDelegate               common.Address `json:"effectiveDelegate"`
	PreviousDelegate                common.Address `json:"previousDelegate"`
	UseLatestDelegate               bool           `json:"useLatestDelegate"`
	RollbackVersionTooLow           bool           `json:"rollbackVersionTooLow"`
	VersionTooLowToDisableUseLatest bool           `json:"versionTooLowToDisableUseLatest"`
}

type MinipoolDelegateDetailsData

type MinipoolDelegateDetailsData struct {
	LatestDelegate common.Address            `json:"latestDelegate"`
	Details        []MinipoolDelegateDetails `json:"details"`
}

type MinipoolDetails

type MinipoolDetails struct {
	Address         common.Address         `json:"address"`
	ValidatorPubkey beacon.ValidatorPubkey `json:"validatorPubkey"`
	Version         uint8                  `json:"version"`
	Status          struct {
		Status      types.MinipoolStatus `json:"status"`
		StatusBlock uint64               `json:"statusBlock"`
		StatusTime  time.Time            `json:"statusTime"`
		IsVacant    bool                 `json:"isVacant"`
	} `json:"status"`
	DepositType types.MinipoolDeposit `json:"depositType"`
	Node        struct {
		Address         common.Address `json:"address"`
		Fee             float64        `json:"fee"`
		DepositBalance  *big.Int       `json:"depositBalance"`
		RefundBalance   *big.Int       `json:"refundBalance"`
		DepositAssigned bool           `json:"depositAssigned"`
	}
	User struct {
		DepositBalance      *big.Int  `json:"depositBalance"`
		DepositAssigned     bool      `json:"depositAssigned"`
		DepositAssignedTime time.Time `json:"depositAssignedTime"`
	} `json:"user"`
	Balances struct {
		Eth            *big.Int `json:"eth"`
		Reth           *big.Int `json:"reth"`
		Rpl            *big.Int `json:"rpl"`
		FixedSupplyRpl *big.Int `json:"fixedSupplyRpl"`
	} `json:"balances"`
	NodeShareOfEthBalance *big.Int `json:"nodeShareOfEthBalance"`
	Validator             struct {
		Exists      bool     `json:"exists"`
		Active      bool     `json:"active"`
		Index       string   `json:"index"`
		Balance     *big.Int `json:"balance"`
		NodeBalance *big.Int `json:"nodeBalance"`
	} `json:"validator"`
	CanStake            bool                  `json:"canStake"`
	CanPromote          bool                  `json:"canPromote"`
	Queue               minipool.QueueDetails `json:"queue"`
	RefundAvailable     bool                  `json:"refundAvailable"`
	WithdrawalAvailable bool                  `json:"withdrawalAvailable"`
	CloseAvailable      bool                  `json:"closeAvailable"`
	Finalised           bool                  `json:"finalised"`
	UseLatestDelegate   bool                  `json:"useLatestDelegate"`
	Delegate            common.Address        `json:"delegate"`
	PreviousDelegate    common.Address        `json:"previousDelegate"`
	EffectiveDelegate   common.Address        `json:"effectiveDelegate"`
	TimeUntilDissolve   time.Duration         `json:"timeUntilDissolve"`
	Penalties           uint64                `json:"penalties"`
	ReduceBondTime      time.Time             `json:"reduceBondTime"`
	ReduceBondCancelled bool                  `json:"reduceBondCancelled"`
}

type MinipoolDissolveDetails

type MinipoolDissolveDetails struct {
	Address       common.Address `json:"address"`
	CanDissolve   bool           `json:"canDissolve"`
	InvalidStatus bool           `json:"invalidStatus"`
}

type MinipoolDissolveDetailsData

type MinipoolDissolveDetailsData struct {
	Details []MinipoolDissolveDetails `json:"details"`
}

type MinipoolDistributeDetails

type MinipoolDistributeDetails struct {
	Address                         common.Address       `json:"address"`
	Balance                         *big.Int             `json:"balance"`
	Refund                          *big.Int             `json:"refund"`
	DistributableBalance            *big.Int             `json:"distributableBalance"`
	NodeShareOfDistributableBalance *big.Int             `json:"nodeShareOfDistributableBalance"`
	Version                         uint8                `json:"version"`
	Status                          types.MinipoolStatus `json:"status"`
	IsFinalized                     bool                 `json:"isFinalized"`
	CanDistribute                   bool                 `json:"canDistribute"`
}

type MinipoolDistributeDetailsData

type MinipoolDistributeDetailsData struct {
	Details []MinipoolDistributeDetails `json:"details"`
}

type MinipoolExitDetails

type MinipoolExitDetails struct {
	Address       common.Address `json:"address"`
	CanExit       bool           `json:"canExit"`
	InvalidStatus bool           `json:"invalidStatus"`
}

type MinipoolExitDetailsData

type MinipoolExitDetailsData struct {
	Details []MinipoolExitDetails `json:"details"`
}

type MinipoolProcessWithdrawalData

type MinipoolProcessWithdrawalData struct {
	TxHash common.Hash `json:"txHash"`
}

type MinipoolPromoteDetails

type MinipoolPromoteDetails struct {
	Address    common.Address `json:"address"`
	CanPromote bool           `json:"canPromote"`
}

type MinipoolPromoteDetailsData

type MinipoolPromoteDetailsData struct {
	Details []MinipoolPromoteDetails `json:"details"`
}

type MinipoolReduceBondDetails

type MinipoolReduceBondDetails struct {
	Address               common.Address        `json:"address"`
	NodeDepositBalance    *big.Int              `json:"nodeDepositBalance"`
	NodeFee               *big.Int              `json:"nodeFee"`
	MinipoolVersionTooLow bool                  `json:"minipoolVersionTooLow"`
	Balance               uint64                `json:"balance"`
	BalanceTooLow         bool                  `json:"balanceTooLow"`
	OutOfWindow           bool                  `json:"outOfWindow"`
	BeaconState           beacon.ValidatorState `json:"beaconState"`
	InvalidElState        bool                  `json:"invalidElState"`
	InvalidBeaconState    bool                  `json:"invalidBeaconState"`
	AlreadyCancelled      bool                  `json:"alreadyCancelled"`
	CanReduce             bool                  `json:"canReduce"`
}

type MinipoolReduceBondDetailsData

type MinipoolReduceBondDetailsData struct {
	BondReductionDisabled       bool                        `json:"bondReductionDisabled"`
	IsFeeDistributorInitialized bool                        `json:"isFeeDistributorInitialized"`
	BondReductionWindowStart    time.Duration               `json:"bondReductionWindowStart"`
	BondReductionWindowLength   time.Duration               `json:"bondReductionWindowLength"`
	Details                     []MinipoolReduceBondDetails `json:"details"`
}

type MinipoolRefundDetails

type MinipoolRefundDetails struct {
	Address                   common.Address `json:"address"`
	InsufficientRefundBalance bool           `json:"insufficientRefundBalance"`
	CanRefund                 bool           `json:"canRefund"`
}

type MinipoolRefundDetailsData

type MinipoolRefundDetailsData struct {
	Details []MinipoolRefundDetails `json:"details"`
}

type MinipoolRescueDissolvedDetails

type MinipoolRescueDissolvedDetails struct {
	Address            common.Address        `json:"address"`
	CanRescue          bool                  `json:"canRescue"`
	IsFinalized        bool                  `json:"isFinalized"`
	MinipoolState      types.MinipoolStatus  `json:"minipoolStatus"`
	InvalidElState     bool                  `json:"invalidElState"`
	MinipoolVersion    uint8                 `json:"minipoolVersion"`
	BeaconBalance      *big.Int              `json:"beaconBalance"`
	BeaconState        beacon.ValidatorState `json:"beaconState"`
	InvalidBeaconState bool                  `json:"invalidBeaconState"`
	HasFullBalance     bool                  `json:"hasFullBalance"`
}

type MinipoolRescueDissolvedDetailsData

type MinipoolRescueDissolvedDetailsData struct {
	Details []MinipoolRescueDissolvedDetails `json:"details"`
}

type MinipoolStakeDetails

type MinipoolStakeDetails struct {
	Address            common.Address       `json:"address"`
	State              types.MinipoolStatus `json:"state"`
	InvalidState       bool                 `json:"invalidState"`
	RemainingTime      time.Duration        `json:"remainingTime"`
	StillInScrubPeriod bool                 `json:"stillInScrubPeriod"`
	CanStake           bool                 `json:"canStake"`
}

type MinipoolStakeDetailsData

type MinipoolStakeDetailsData struct {
	Details []MinipoolStakeDetails `json:"details"`
}

type MinipoolStatusData

type MinipoolStatusData struct {
	Minipools      []MinipoolDetails `json:"minipools"`
	LatestDelegate common.Address    `json:"latestDelegate"`
}

type MinipoolVanityArtifactsData

type MinipoolVanityArtifactsData struct {
	NodeAddress            common.Address `json:"nodeAddress"`
	MinipoolFactoryAddress common.Address `json:"minipoolFactoryAddress"`
	InitHash               common.Hash    `json:"initHash"`
}

type NetworkDaoProposalsData

type NetworkDaoProposalsData struct {
	AccountAddress          common.Address                  `json:"accountAddress"`
	VotingDelegate          common.Address                  `json:"votingDelegate"`
	ActiveSnapshotProposals []*sharedtypes.SnapshotProposal `json:"activeSnapshotProposals"`
}

type NetworkDepositContractInfoData

type NetworkDepositContractInfoData struct {
	Status                string         `json:"status"`
	Error                 string         `json:"error"`
	RPDepositContract     common.Address `json:"rpDepositContract"`
	RPNetwork             uint64         `json:"rpNetwork"`
	BeaconDepositContract common.Address `json:"beaconDepositContract"`
	BeaconNetwork         uint64         `json:"beaconNetwork"`
	SufficientSync        bool           `json:"sufficientSync"`
}

type NetworkLatestDelegateData

type NetworkLatestDelegateData struct {
	Address common.Address `json:"address"`
}

type NetworkNodeFeeData

type NetworkNodeFeeData struct {
	NodeFee       *big.Int `json:"nodeFee"`
	MinNodeFee    *big.Int `json:"minNodeFee"`
	TargetNodeFee *big.Int `json:"targetNodeFee"`
	MaxNodeFee    *big.Int `json:"maxNodeFee"`
}

type NetworkRewardsFileData

type NetworkRewardsFileData struct {
	CurrentIndex   uint64 `json:"currentIndex"`
	TreeFileExists bool   `json:"treeFileExists"`
}

type NetworkRplPriceData

type NetworkRplPriceData struct {
	RplPrice                    *big.Int `json:"rplPrice"`
	RplPriceBlock               uint64   `json:"rplPriceBlock"`
	MinPer8EthMinipoolRplStake  *big.Int `json:"minPer8EthMinipoolRplStake"`
	MinPer16EthMinipoolRplStake *big.Int `json:"minPer16EthMinipoolRplStake"`
}

type NetworkStatsData

type NetworkStatsData struct {
	TotalValueLocked          *big.Int       `json:"totalValueLocked"`
	DepositPoolBalance        *big.Int       `json:"depositPoolBalance"`
	MinipoolCapacity          *big.Int       `json:"minipoolCapacity"`
	StakerUtilization         *big.Int       `json:"stakerUtilization"`
	NodeFee                   *big.Int       `json:"nodeFee"`
	NodeCount                 uint64         `json:"nodeCount"`
	InitializedMinipoolCount  uint64         `json:"initializedMinipoolCount"`
	PrelaunchMinipoolCount    uint64         `json:"prelaunchMinipoolCount"`
	StakingMinipoolCount      uint64         `json:"stakingMinipoolCount"`
	WithdrawableMinipoolCount uint64         `json:"withdrawableMinipoolCount"`
	DissolvedMinipoolCount    uint64         `json:"dissolvedMinipoolCount"`
	FinalizedMinipoolCount    uint64         `json:"finalizedMinipoolCount"`
	RplPrice                  *big.Int       `json:"rplPrice"`
	TotalRplStaked            *big.Int       `json:"totalRplStaked"`
	EffectiveRplStaked        *big.Int       `json:"effectiveRplStaked"`
	RethPrice                 *big.Int       `json:"rethPrice"`
	SmoothingPoolNodes        uint64         `json:"smoothingPoolNodes"`
	SmoothingPoolAddress      common.Address `json:"SmoothingPoolAddress"`
	SmoothingPoolBalance      *big.Int       `json:"smoothingPoolBalance"`
}

type NetworkTimezonesData

type NetworkTimezonesData struct {
	TimezoneCounts map[string]uint64 `json:"timezoneCounts"`
	TimezoneTotal  uint64            `json:"timezoneTotal"`
	NodeTotal      uint64            `json:"nodeTotal"`
}

type NodeAlert

type NodeAlert struct {
	// Enum: [unprocessed active suppressed]
	State string `json:"state"`
	// NOTE: Alertmanager puts "description" and "summary" in annotations and "alertname" is in labels (along with any configured labels and annotations).
	Labels      map[string]string `json:"labels"`
	Annotations map[string]string `json:"annotations"`
}

func (NodeAlert) ColorString

func (n NodeAlert) ColorString() string

func (NodeAlert) Description

func (n NodeAlert) Description() string

func (NodeAlert) IsActive

func (n NodeAlert) IsActive() bool

func (NodeAlert) IsSuppressed

func (n NodeAlert) IsSuppressed() bool

func (NodeAlert) Name

func (n NodeAlert) Name() string

func (NodeAlert) Severity

func (n NodeAlert) Severity() string

func (NodeAlert) Summary

func (n NodeAlert) Summary() string

type NodeAlertsData

type NodeAlertsData struct {
	// TODO: change to GettableAlerts
	Message string `json:"message"`
}

type NodeBalanceData

type NodeBalanceData struct {
	Balance *big.Int `json:"balance"`
}

type NodeBurnData

type NodeBurnData struct {
	CanBurn                bool                 `json:"canBurn"`
	InsufficientBalance    bool                 `json:"insufficientBalance"`
	InsufficientCollateral bool                 `json:"insufficientCollateral"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type NodeCheckCollateralData

type NodeCheckCollateralData struct {
	EthMatched             *big.Int `json:"ethMatched"`
	EthMatchedLimit        *big.Int `json:"ethMatchedLimit"`
	PendingMatchAmount     *big.Int `json:"pendingMatchAmount"`
	InsufficientCollateral bool     `json:"insufficientCollateral"`
}

type NodeConfirmPrimaryWithdrawalAddressData

type NodeConfirmPrimaryWithdrawalAddressData struct {
	CanConfirm              bool                 `json:"canConfirm"`
	IncorrectPendingAddress bool                 `json:"incorrectPendingAddress"`
	TxInfo                  *eth.TransactionInfo `json:"txInfo"`
}

type NodeConfirmRplWithdrawalAddressData

type NodeConfirmRplWithdrawalAddressData struct {
	CanConfirm              bool                 `json:"canConfirm"`
	IncorrectPendingAddress bool                 `json:"incorrectPendingAddress"`
	TxInfo                  *eth.TransactionInfo `json:"txInfo"`
}

type NodeCreateVacantMinipoolData

type NodeCreateVacantMinipoolData struct {
	CanDeposit            bool                 `json:"canDeposit"`
	InsufficientRplStake  bool                 `json:"insufficientRplStake"`
	InvalidAmount         bool                 `json:"invalidAmount"`
	DepositDisabled       bool                 `json:"depositDisabled"`
	MinipoolAddress       common.Address       `json:"minipoolAddress"`
	ScrubPeriod           time.Duration        `json:"scrubPeriod"`
	WithdrawalCredentials common.Hash          `json:"withdrawalCredentials"`
	TxInfo                *eth.TransactionInfo `json:"txInfo"`
}

type NodeDepositData

type NodeDepositData struct {
	CanDeposit                       bool                   `json:"canDeposit"`
	CreditBalance                    *big.Int               `json:"creditBalance"`
	DepositBalance                   *big.Int               `json:"depositBalance"`
	CanUseCredit                     bool                   `json:"canUseCredit"`
	NodeBalance                      *big.Int               `json:"nodeBalance"`
	InsufficientBalance              bool                   `json:"insufficientBalance"`
	InsufficientBalanceWithoutCredit bool                   `json:"insufficientBalanceWithoutCredit"`
	InsufficientRplStake             bool                   `json:"insufficientRplStake"`
	InvalidAmount                    bool                   `json:"invalidAmount"`
	UnbondedMinipoolsAtMax           bool                   `json:"unbondedMinipoolsAtMax"`
	DepositDisabled                  bool                   `json:"depositDisabled"`
	InConsensus                      bool                   `json:"inConsensus"`
	MinipoolAddress                  common.Address         `json:"minipoolAddress"`
	ValidatorPubkey                  beacon.ValidatorPubkey `json:"validatorPubkey"`
	Index                            uint64                 `json:"index"`
	ScrubPeriod                      time.Duration          `json:"scrubPeriod"`
	TxInfo                           *eth.TransactionInfo   `json:"txInfo"`
}

type NodeDistributeData

type NodeDistributeData struct {
	CanDistribute bool                 `json:"canDistribute"`
	NoBalance     bool                 `json:"noBalance"`
	IsInitialized bool                 `json:"isInitialized"`
	Balance       *big.Int             `json:"balance"`
	NodeShare     *big.Int             `json:"nodeShare"`
	TxInfo        *eth.TransactionInfo `json:"txInfo"`
}

type NodeGetRewardsInfoData

type NodeGetRewardsInfoData struct {
	ClaimedIntervals        []uint64                   `json:"claimedIntervals"`
	UnclaimedIntervals      []sharedtypes.IntervalInfo `json:"unclaimedIntervals"`
	InvalidIntervals        []sharedtypes.IntervalInfo `json:"invalidIntervals"`
	RplStake                *big.Int                   `json:"rplStake"`
	RplPrice                *big.Int                   `json:"rplPrice"`
	ActiveMinipools         uint64                     `json:"activeMinipools"`
	EffectiveRplStake       *big.Int                   `json:"effectiveRplStake"`
	MinimumRplStake         *big.Int                   `json:"minimumRplStake"`
	EthMatched              *big.Int                   `json:"ethMatched"`
	EthMatchedLimit         *big.Int                   `json:"ethMatchedLimit"`
	PendingMatchAmount      *big.Int                   `json:"pendingMatchAmount"`
	BorrowedCollateralRatio float64                    `json:"borrowedCollateralRatio"`
	BondedCollateralRatio   float64                    `json:"bondedCollateralRatio"`
}

type NodeGetSnapshotProposalsData

type NodeGetSnapshotProposalsData struct {
	Proposals []*sharedtypes.SnapshotProposal `json:"proposals"`
}

type NodeGetSnapshotVotingPowerData

type NodeGetSnapshotVotingPowerData struct {
	VotingPower float64 `json:"votingPower"`
}

type NodeInitializeFeeDistributorData

type NodeInitializeFeeDistributorData struct {
	CanInitialize bool                 `json:"canInitialize"`
	IsInitialized bool                 `json:"isInitialized"`
	Distributor   common.Address       `json:"distributor"`
	TxInfo        *eth.TransactionInfo `json:"txInfo"`
}

type NodeRegisterData

type NodeRegisterData struct {
	CanRegister          bool                 `json:"canRegister"`
	AlreadyRegistered    bool                 `json:"alreadyRegistered"`
	RegistrationDisabled bool                 `json:"registrationDisabled"`
	TxInfo               *eth.TransactionInfo `json:"txInfo"`
}

type NodeResolveEnsData

type NodeResolveEnsData struct {
	Address       common.Address `json:"address"`
	EnsName       string         `json:"ensName"`
	FormattedName string         `json:"formattedName"`
}

type NodeRewardsData

type NodeRewardsData struct {
	NodeRegistrationTime        time.Time            `json:"nodeRegistrationTime"`
	RewardsInterval             time.Duration        `json:"rewardsInterval"`
	LastCheckpoint              time.Time            `json:"lastCheckpoint"`
	Trusted                     bool                 `json:"trusted"`
	Registered                  bool                 `json:"registered"`
	EffectiveRplStake           float64              `json:"effectiveRplStake"`
	TotalRplStake               float64              `json:"totalRplStake"`
	TrustedRplBond              float64              `json:"trustedRplBond"`
	EstimatedRewards            float64              `json:"estimatedRewards"`
	CumulativeRplRewards        float64              `json:"cumulativeRplRewards"`
	CumulativeEthRewards        float64              `json:"cumulativeEthRewards"`
	EstimatedTrustedRplRewards  float64              `json:"estimatedTrustedRplRewards"`
	CumulativeTrustedRplRewards float64              `json:"cumulativeTrustedRplRewards"`
	UnclaimedRplRewards         float64              `json:"unclaimedRplRewards"`
	UnclaimedEthRewards         float64              `json:"unclaimedEthRewards"`
	UnclaimedTrustedRplRewards  float64              `json:"unclaimedTrustedRplRewards"`
	BeaconRewards               float64              `json:"beaconRewards"`
	TxInfo                      *eth.TransactionInfo `json:"txInfo"`
}

type NodeSendData

type NodeSendData struct {
	Balance             *big.Int             `json:"balance"`
	TokenName           string               `json:"name"`
	TokenSymbol         string               `json:"symbol"`
	CanSend             bool                 `json:"canSend"`
	InsufficientBalance bool                 `json:"insufficientBalance"`
	TxInfo              *eth.TransactionInfo `json:"txInfo"`
}

type NodeSendMessageData

type NodeSendMessageData struct {
	TxInfo *eth.TransactionInfo `json:"txInfo"`
}

type NodeSetPrimaryWithdrawalAddressData

type NodeSetPrimaryWithdrawalAddressData struct {
	CanSet            bool                 `json:"canSet"`
	AddressAlreadySet bool                 `json:"addressAlreadySet"`
	TxInfo            *eth.TransactionInfo `json:"txInfo"`
}

type NodeSetRplLockingAllowedData

type NodeSetRplLockingAllowedData struct {
	CanSet              bool                 `json:"canSet"`
	DifferentRplAddress bool                 `json:"differentRplAddress"`
	TxInfo              *eth.TransactionInfo `json:"txInfo"`
}

type NodeSetRplWithdrawalAddressData

type NodeSetRplWithdrawalAddressData struct {
	CanSet                bool                 `json:"canSet"`
	PrimaryAddressDiffers bool                 `json:"primaryAddressDiffers"`
	RplAddressDiffers     bool                 `json:"rplAddressDiffers"`
	RplStake              *big.Int             `json:"rplStake"`
	TxInfo                *eth.TransactionInfo `json:"txInfo"`
}

type NodeSetSmoothingPoolRegistrationStatusData

type NodeSetSmoothingPoolRegistrationStatusData struct {
	NodeRegistered          bool                 `json:"nodeRegistered"`
	CanChange               bool                 `json:"canChange"`
	TimeLeftUntilChangeable time.Duration        `json:"timeLeftUntilChangeable"`
	TxInfo                  *eth.TransactionInfo `json:"txInfo"`
}

type NodeSetStakeRplForAllowedData

type NodeSetStakeRplForAllowedData struct {
	CanSet bool                 `json:"canSet"`
	TxInfo *eth.TransactionInfo `json:"txInfo"`
}

type NodeSignData

type NodeSignData struct {
	SignedData string `json:"signedData"`
}

type NodeSmoothingRewardsData

type NodeSmoothingRewardsData struct {
	EthBalance *big.Int `json:"eth_balance"`
}

type NodeStakeRplData

type NodeStakeRplData struct {
	CanStake            bool                 `json:"canStake"`
	InsufficientBalance bool                 `json:"insufficientBalance"`
	Allowance           *big.Int             `json:"allowance"`
	ApproveTxInfo       *eth.TransactionInfo `json:"approveTxInfo"`
	StakeTxInfo         *eth.TransactionInfo `json:"stakeTxInfo"`
}

type NodeStatusData

type NodeStatusData struct {
	Warning                                  string         `json:"warning"`
	AccountAddress                           common.Address `json:"accountAddress"`
	AccountAddressFormatted                  string         `json:"accountAddressFormatted"`
	PrimaryWithdrawalAddress                 common.Address `json:"primaryWithdrawalAddress"`
	PrimaryWithdrawalAddressFormatted        string         `json:"primaryWithdrawalAddressFormatted"`
	PendingPrimaryWithdrawalAddress          common.Address `json:"pendingWithdrawalAddress"`
	PendingPrimaryWithdrawalAddressFormatted string         `json:"pendingWithdrawalAddressFormatted"`
	IsRplWithdrawalAddressSet                bool           `json:"isRplWithdrawalAddressSet"`
	RplWithdrawalAddress                     common.Address `json:"rplWithdrawalAddress"`
	RplWithdrawalAddressFormatted            string         `json:"rplWithdrawalAddressFormatted"`
	PendingRplWithdrawalAddress              common.Address `json:"pendingRplWithdrawalAddress"`
	PendingRplWithdrawalAddressFormatted     string         `json:"pendingRplWithdrawalAddressFormatted"`
	IsRplLockingAllowed                      bool           `json:"isRplLockingAllowed"`
	RplLocked                                *big.Int       `json:"rplLocked"`
	Registered                               bool           `json:"registered"`
	Trusted                                  bool           `json:"trusted"`
	TimezoneLocation                         string         `json:"timezoneLocation"`
	NodeBalances                             struct {
		Eth   *big.Int `json:"eth"`
		Reth  *big.Int `json:"reth"`
		Rpl   *big.Int `json:"rpl"`
		Fsrpl *big.Int `json:"fsrpl"`
	} `json:"nodeBalances"`
	PrimaryWithdrawalBalances struct {
		Eth   *big.Int `json:"eth"`
		Reth  *big.Int `json:"reth"`
		Rpl   *big.Int `json:"rpl"`
		Fsrpl *big.Int `json:"fsrpl"`
	} `json:"primaryWithdrawalBalances"`
	RplWithdrawalBalances struct {
		Eth   *big.Int `json:"eth"`
		Reth  *big.Int `json:"reth"`
		Rpl   *big.Int `json:"rpl"`
		Fsrpl *big.Int `json:"fsrpl"`
	} `json:"rplWithdrawalBalances"`
	RplStake                          *big.Int       `json:"rplStake"`
	EffectiveRplStake                 *big.Int       `json:"effectiveRplStake"`
	MinimumRplStake                   *big.Int       `json:"minimumRplStake"`
	MaximumRplStake                   *big.Int       `json:"maximumRplStake"`
	MaximumStakeFraction              *big.Int       `json:"maximumStakeFraction"`
	BorrowedCollateralRatio           float64        `json:"borrowedCollateralRatio"`
	BondedCollateralRatio             float64        `json:"bondedCollateralRatio"`
	PendingEffectiveRplStake          *big.Int       `json:"pendingEffectiveRplStake"`
	PendingMinimumRplStake            *big.Int       `json:"pendingMinimumRplStake"`
	PendingMaximumRplStake            *big.Int       `json:"pendingMaximumRplStake"`
	PendingBorrowedCollateralRatio    float64        `json:"pendingBorrowedCollateralRatio"`
	PendingBondedCollateralRatio      float64        `json:"pendingBondedCollateralRatio"`
	SnapshotVotingDelegate            common.Address `json:"votingDelegate"`
	SnapshotVotingDelegateFormatted   string         `json:"votingDelegateFormatted"`
	IsVotingInitialized               bool           `json:"isVotingInitialized"`
	OnchainVotingDelegate             common.Address `json:"onchainVotingDelegate"`
	OnchainVotingDelegateFormatted    string         `json:"onchainVotingDelegateFormatted"`
	MinipoolLimit                     uint64         `json:"minipoolLimit"`
	EthMatched                        *big.Int       `json:"ethMatched"`
	EthMatchedLimit                   *big.Int       `json:"ethMatchedLimit"`
	PendingMatchAmount                *big.Int       `json:"pendingMatchAmount"`
	CreditBalance                     *big.Int       `json:"creditBalance"`
	CreditAndEthOnBehalfBalance       *big.Int       `json:"creditAndEthOnBehalfBalance"`
	EthOnBehalfBalance                *big.Int       `json:"ethOnBehalfBalance"`
	UsableCreditAndEthOnBehalfBalance *big.Int       `json:"usableCreditAndEthOnBehalfBalance"`
	MinipoolCounts                    struct {
		Total           int `json:"total"`
		Initialized     int `json:"initialized"`
		Prelaunch       int `json:"prelaunch"`
		Staking         int `json:"staking"`
		Withdrawable    int `json:"withdrawable"`
		Dissolved       int `json:"dissolved"`
		RefundAvailable int `json:"refundAvailable"`
		Finalised       int `json:"finalised"`
	} `json:"minipoolCounts"`
	IsFeeDistributorInitialized bool                      `json:"isFeeDistributorInitialized"`
	FeeRecipientInfo            FeeRecipientInfo          `json:"feeRecipientInfo"`
	FeeDistributorBalance       *big.Int                  `json:"feeDistributorBalance"`
	PenalizedMinipools          map[common.Address]uint64 `json:"penalizedMinipools"`
	SnapshotResponse            struct {
		Error                   string                          `json:"error"`
		ActiveSnapshotProposals []*sharedtypes.SnapshotProposal `json:"activeSnapshotProposals"`
	} `json:"snapshotResponse"`
	Alerts []NodeAlert `json:"alerts"`
}

type NodeSwapRplData

type NodeSwapRplData struct {
	CanSwap             bool                 `json:"canSwap"`
	InsufficientBalance bool                 `json:"insufficientBalance"`
	Allowance           *big.Int             `json:"allowance"`
	ApproveTxInfo       *eth.TransactionInfo `json:"approveTxInfo"`
	SwapTxInfo          *eth.TransactionInfo `json:"swapTxInfo"`
}

type NodeWithdrawEthData

type NodeWithdrawEthData struct {
	CanWithdraw                          bool                 `json:"canWithdraw"`
	InsufficientBalance                  bool                 `json:"insufficientBalance"`
	HasDifferentPrimaryWithdrawalAddress bool                 `json:"hasDifferentWithdrawalAddress"`
	TxInfo                               *eth.TransactionInfo `json:"txInfo"`
}

type NodeWithdrawRplData

type NodeWithdrawRplData struct {
	CanWithdraw                      bool                 `json:"canWithdraw"`
	InsufficientBalance              bool                 `json:"insufficientBalance"`
	BelowMaxRplStake                 bool                 `json:"belowMaxRplStake"`
	MinipoolsUndercollateralized     bool                 `json:"minipoolsUndercollateralized"`
	WithdrawalDelayActive            bool                 `json:"withdrawalDelayActive"`
	HasDifferentRplWithdrawalAddress bool                 `json:"hasDifferentRPLWithdrawalAddress"`
	TxInfo                           *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoCancelProposalData

type OracleDaoCancelProposalData struct {
	CanCancel       bool                 `json:"canCancel"`
	DoesNotExist    bool                 `json:"doesNotExist"`
	InvalidState    bool                 `json:"invalidState"`
	InvalidProposer bool                 `json:"invalidProposer"`
	TxInfo          *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoExecuteProposalData

type OracleDaoExecuteProposalData struct {
	CanExecute   bool                 `json:"canExecute"`
	DoesNotExist bool                 `json:"doesNotExist"`
	InvalidState bool                 `json:"invalidState"`
	TxInfo       *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoJoinData

type OracleDaoJoinData struct {
	CanJoin                bool                 `json:"canJoin"`
	ProposalExpired        bool                 `json:"proposalExpired"`
	AlreadyMember          bool                 `json:"alreadyMember"`
	InsufficientRplBalance bool                 `json:"insufficientRplBalance"`
	ApproveTxInfo          *eth.TransactionInfo `json:"approveTxInfo"`
	JoinTxInfo             *eth.TransactionInfo `json:"joinTxInfo"`
}

type OracleDaoLeaveData

type OracleDaoLeaveData struct {
	CanLeave            bool                 `json:"canLeave"`
	ProposalExpired     bool                 `json:"proposalExpired"`
	InsufficientMembers bool                 `json:"insufficientMembers"`
	TxInfo              *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoMemberDetails

type OracleDaoMemberDetails struct {
	Address          common.Address `json:"address"`
	Exists           bool           `json:"exists"`
	ID               string         `json:"id"`
	Url              string         `json:"url"`
	JoinedTime       time.Time      `json:"joinedTime"`
	LastProposalTime time.Time      `json:"lastProposalTime"`
	RplBondAmount    *big.Int       `json:"rplBondAmount"`
}

type OracleDaoMembersData

type OracleDaoMembersData struct {
	Members []OracleDaoMemberDetails `json:"members"`
}

type OracleDaoProposalDetails

type OracleDaoProposalDetails struct {
	ID              uint64              `json:"id"`
	ProposerAddress common.Address      `json:"proposerAddress"`
	Message         string              `json:"message"`
	CreatedTime     time.Time           `json:"createdTime"`
	StartTime       time.Time           `json:"startTime"`
	EndTime         time.Time           `json:"endTime"`
	ExpiryTime      time.Time           `json:"expiryTime"`
	VotesRequired   float64             `json:"votesRequired"`
	VotesFor        float64             `json:"votesFor"`
	VotesAgainst    float64             `json:"votesAgainst"`
	MemberVoted     bool                `json:"memberVoted"`
	MemberSupported bool                `json:"memberSupported"`
	IsCancelled     bool                `json:"isCancelled"`
	IsExecuted      bool                `json:"isExecuted"`
	Payload         []byte              `json:"payload"`
	PayloadStr      string              `json:"payloadStr"`
	State           types.ProposalState `json:"state"`
}

type OracleDaoProposalsData

type OracleDaoProposalsData struct {
	Proposals []OracleDaoProposalDetails `json:"proposals"`
}

type OracleDaoProposeInviteData

type OracleDaoProposeInviteData struct {
	CanPropose             bool                 `json:"canPropose"`
	ProposalCooldownActive bool                 `json:"proposalCooldownActive"`
	MemberAlreadyExists    bool                 `json:"memberAlreadyExists"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoProposeKickData

type OracleDaoProposeKickData struct {
	Status                 string               `json:"status"`
	Error                  string               `json:"error"`
	CanPropose             bool                 `json:"canPropose"`
	MemberDoesNotExist     bool                 `json:"memberDoesNotExist"`
	ProposalCooldownActive bool                 `json:"proposalCooldownActive"`
	InsufficientRplBond    bool                 `json:"insufficientRplBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoProposeLeaveData

type OracleDaoProposeLeaveData struct {
	CanPropose             bool                 `json:"canPropose"`
	ProposalCooldownActive bool                 `json:"proposalCooldownActive"`
	MemberDoesntExist      bool                 `json:"memberDoesntExist"`
	InsufficientMembers    bool                 `json:"insufficientMembers"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoProposeSettingData

type OracleDaoProposeSettingData struct {
	CanPropose             bool                 `json:"canPropose"`
	UnknownSetting         bool                 `json:"unknownSetting"`
	ProposalCooldownActive bool                 `json:"proposalCooldownActive"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type OracleDaoSettingsData

type OracleDaoSettingsData struct {
	Member struct {
		Quorum            float64       `json:"quorum"`
		RplBond           *big.Int      `json:"rplBond"`
		ChallengeCooldown time.Duration `json:"challengeCooldown"`
		ChallengeWindow   time.Duration `json:"challengeWindow"`
		ChallengeCost     *big.Int      `json:"challengeCost"`
	} `json:"member"`

	Minipool struct {
		ScrubPeriod                     time.Duration `json:"scrubPeriod"`
		ScrubQuorum                     float64       `json:"scrubQuorum"`
		PromotionScrubPeriod            time.Duration `json:"promotionScrubPeriod"`
		IsScrubPenaltyEnabled           bool          `json:"isScrubPenaltyEnabled"`
		BondReductionWindowStart        time.Duration `json:"bondReductionWindowStart"`
		BondReductionWindowLength       time.Duration `json:"bondReductionWindowLength"`
		BondReductionCancellationQuorum float64       `json:"bondReductionCancellationQuorum"`
	} `json:"minipool"`

	Proposal struct {
		Cooldown      time.Duration `json:"cooldown"`
		VoteTime      time.Duration `json:"voteTime"`
		VoteDelayTime time.Duration `json:"voteDelayTime"`
		ExecuteTime   time.Duration `json:"executeTime"`
		ActionTime    time.Duration `json:"actionTime"`
	} `json:"proposal"`
}

type OracleDaoStatusData

type OracleDaoStatusData struct {
	IsMember       bool   `json:"isMember"`
	CanJoin        bool   `json:"canJoin"`
	CanLeave       bool   `json:"canLeave"`
	TotalMembers   uint64 `json:"totalMembers"`
	ProposalCounts struct {
		Total     int `json:"total"`
		Pending   int `json:"pending"`
		Active    int `json:"active"`
		Cancelled int `json:"cancelled"`
		Defeated  int `json:"defeated"`
		Succeeded int `json:"succeeded"`
		Expired   int `json:"expired"`
		Executed  int `json:"executed"`
	} `json:"proposalCounts"`
}

type OracleDaoVoteOnProposalData

type OracleDaoVoteOnProposalData struct {
	CanVote            bool                 `json:"canVote"`
	DoesNotExist       bool                 `json:"doesNotExist"`
	InvalidState       bool                 `json:"invalidState"`
	JoinedAfterCreated bool                 `json:"joinedAfterCreated"`
	AlreadyVoted       bool                 `json:"alreadyVoted"`
	TxInfo             *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoClaimBonds

type ProtocolDaoClaimBonds struct {
	ProposalID uint64   `json:"proposalId"`
	Indices    []uint64 `json:"indices"`
}

type ProtocolDaoClaimBondsBody

type ProtocolDaoClaimBondsBody struct {
	Claims []ProtocolDaoClaimBonds `json:"claims"`
}

type ProtocolDaoClaimBondsData

type ProtocolDaoClaimBondsData struct {
	CanClaim     bool                 `json:"canClaim"`
	IsProposer   bool                 `json:"isProposer"`
	DoesNotExist bool                 `json:"doesNotExist"`
	InvalidState bool                 `json:"invalidState"`
	TxInfo       *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoCurrentVotingDelegateData

type ProtocolDaoCurrentVotingDelegateData struct {
	AccountAddress common.Address `json:"accountAddress"`
	VotingDelegate common.Address `json:"votingDelegate"`
}

type ProtocolDaoDefeatProposalData

type ProtocolDaoDefeatProposalData struct {
	CanDefeat              bool                 `json:"canDefeat"`
	DoesNotExist           bool                 `json:"doesNotExist"`
	AlreadyDefeated        bool                 `json:"alreadyDefeated"`
	StillInChallengeWindow bool                 `json:"stillInChallengeWindow"`
	InvalidChallengeState  bool                 `json:"invalidChallengeState"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoExecuteProposalData

type ProtocolDaoExecuteProposalData struct {
	CanExecute   bool                 `json:"canExecute"`
	DoesNotExist bool                 `json:"doesNotExist"`
	InvalidState bool                 `json:"invalidState"`
	TxInfo       *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoFinalizeProposalData

type ProtocolDaoFinalizeProposalData struct {
	CanFinalize      bool                 `json:"canFinalize"`
	DoesNotExist     bool                 `json:"doesNotExist"`
	InvalidState     bool                 `json:"invalidState"`
	AlreadyFinalized bool                 `json:"alreadyFinalized"`
	TxInfo           *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoGeneralProposeData

type ProtocolDaoGeneralProposeData struct {
	CanPropose             bool                 `json:"canPropose"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoGetClaimableBondsData

type ProtocolDaoGetClaimableBondsData struct {
	ClaimableBonds []BondClaimResult `json:"claimableBonds"`
}

type ProtocolDaoGetVotingPowerData

type ProtocolDaoGetVotingPowerData struct {
	VotingPower                    *big.Int       `json:"votingPower"`
	OnchainVotingDelegate          common.Address `json:"onchainVotingDelegate"`
	OnchainVotingDelegateFormatted string         `json:"onchainVotingDelegateFormatted"`
	BlockNumber                    uint32         `json:"blockNumber"`
}

type ProtocolDaoInitializeVotingData

type ProtocolDaoInitializeVotingData struct {
	CanInitialize     bool                 `json:"canInitialize"`
	VotingInitialized bool                 `json:"votingInitialized"`
	TxInfo            *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposalDetails

type ProtocolDaoProposalDetails struct {
	ID                   uint64                         `json:"id"`
	ProposerAddress      common.Address                 `json:"proposerAddress"`
	TargetBlock          uint32                         `json:"targetBlock"`
	Message              string                         `json:"message"`
	ChallengeWindow      time.Duration                  `json:"challengeWindow"`
	CreatedTime          time.Time                      `json:"createdTime"`
	VotingStartTime      time.Time                      `json:"votingStartTime"`
	Phase1EndTime        time.Time                      `json:"phase1EndTime"`
	Phase2EndTime        time.Time                      `json:"phase2EndTime"`
	ExpiryTime           time.Time                      `json:"expiryTime"`
	VotingPowerRequired  *big.Int                       `json:"votingPowerRequired"`
	VotingPowerFor       *big.Int                       `json:"votingPowerFor"`
	VotingPowerAgainst   *big.Int                       `json:"votingPowerAgainst"`
	VotingPowerAbstained *big.Int                       `json:"votingPowerAbstained"`
	VotingPowerToVeto    *big.Int                       `json:"votingPowerToVeto"`
	IsDestroyed          bool                           `json:"isDestroyed"`
	IsFinalized          bool                           `json:"isFinalized"`
	IsExecuted           bool                           `json:"isExecuted"`
	IsVetoed             bool                           `json:"isVetoed"`
	Payload              []byte                         `json:"payload"`
	PayloadStr           string                         `json:"payloadStr"`
	State                types.ProtocolDaoProposalState `json:"state"`
	ProposalBond         *big.Int                       `json:"proposalBond"`
	ChallengeBond        *big.Int                       `json:"challengeBond"`
	DefeatIndex          uint64                         `json:"defeatIndex"`
	NodeVoteDirection    types.VoteDirection            `json:"nodeVoteDirection"`
}

type ProtocolDaoProposalsData

type ProtocolDaoProposalsData struct {
	Proposals []ProtocolDaoProposalDetails `json:"proposals"`
}

type ProtocolDaoProposeInviteToSecurityCouncilData

type ProtocolDaoProposeInviteToSecurityCouncilData struct {
	CanPropose             bool                 `json:"canPropose"`
	MemberAlreadyExists    bool                 `json:"memberAlreadyExists"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposeKickFromSecurityCouncilData

type ProtocolDaoProposeKickFromSecurityCouncilData struct {
	CanPropose             bool                 `json:"canPropose"`
	MemberDoesNotExist     bool                 `json:"memberDoesNotExist"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposeKickMultiFromSecurityCouncilData

type ProtocolDaoProposeKickMultiFromSecurityCouncilData struct {
	CanPropose             bool                 `json:"canPropose"`
	NonexistingMembers     []common.Address     `json:"nonexistingMembers"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposeRecurringSpendUpdateData

type ProtocolDaoProposeRecurringSpendUpdateData struct {
	CanPropose             bool                 `json:"canPropose"`
	DoesNotExist           bool                 `json:"doesNotExist"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposeReplaceMemberOfSecurityCouncilData

type ProtocolDaoProposeReplaceMemberOfSecurityCouncilData struct {
	CanPropose             bool                 `json:"canPropose"`
	OldMemberDoesNotExist  bool                 `json:"oldMemberDoesNotExist"`
	NewMemberAlreadyExists bool                 `json:"newMemberAlreadyExists"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoProposeSettingData

type ProtocolDaoProposeSettingData struct {
	CanPropose             bool                 `json:"canPropose"`
	UnknownSetting         bool                 `json:"unknownSetting"`
	InsufficientRpl        bool                 `json:"insufficientRpl"`
	StakedRpl              *big.Int             `json:"stakedRpl"`
	LockedRpl              *big.Int             `json:"lockedRpl"`
	IsRplLockingDisallowed bool                 `json:"isRplLockingDisallowed"`
	ProposalBond           *big.Int             `json:"proposalBond"`
	TxInfo                 *eth.TransactionInfo `json:"txInfo"`
}

type ProtocolDaoRewardsPercentagesData

type ProtocolDaoRewardsPercentagesData struct {
	Node        *big.Int `json:"node"`
	OracleDao   *big.Int `json:"odao"`
	ProtocolDao *big.Int `json:"pdao"`
}

type ProtocolDaoSettingsData

type ProtocolDaoSettingsData struct {
	Auction struct {
		IsCreateLotEnabled    bool          `json:"isCreateLotEnabled"`
		IsBidOnLotEnabled     bool          `json:"isBidOnLotEnabled"`
		LotMinimumEthValue    *big.Int      `json:"lotMinimumEthValue"`
		LotMaximumEthValue    *big.Int      `json:"lotMaximumEthValue"`
		LotDuration           time.Duration `json:"lotDuration"`
		LotStartingPriceRatio *big.Int      `json:"lotStartingPriceRatio"`
		LotReservePriceRatio  *big.Int      `json:"lotReservePriceRatio"`
	} `json:"auction"`

	Deposit struct {
		IsDepositingEnabled                    bool     `json:"isDepositingEnabled"`
		AreDepositAssignmentsEnabled           bool     `json:"areDepositAssignmentsEnabled"`
		MinimumDeposit                         *big.Int `json:"minimumDeposit"`
		MaximumDepositPoolSize                 *big.Int `json:"maximumDepositPoolSize"`
		MaximumAssignmentsPerDeposit           uint64   `json:"maximumAssignmentsPerDeposit"`
		MaximumSocialisedAssignmentsPerDeposit uint64   `json:"maximumSocialisedAssignmentsPerDeposit"`
		DepositFee                             *big.Int `json:"depositFee"`
	} `json:"deposit"`

	Inflation struct {
		IntervalRate *big.Int  `json:"intervalRate"`
		StartTime    time.Time `json:"startTime"`
	} `json:"inflation"`

	Minipool struct {
		IsSubmitWithdrawableEnabled bool          `json:"isSubmitWithdrawableEnabled"`
		LaunchTimeout               time.Duration `json:"launchTimeout"`
		IsBondReductionEnabled      bool          `json:"isBondReductionEnabled"`
		MaximumCount                uint64        `json:"maximumCount"`
		UserDistributeWindowStart   time.Duration `json:"userDistributeWindowStart"`
		UserDistributeWindowLength  time.Duration `json:"userDistributeWindowLength"`
	} `json:"minipool"`

	Network struct {
		OracleDaoConsensusThreshold *big.Int      `json:"oracleDaoConsensusThreshold"`
		NodePenaltyThreshold        *big.Int      `json:"nodePenaltyThreshold"`
		PerPenaltyRate              *big.Int      `json:"perPenaltyRate"`
		IsSubmitBalancesEnabled     bool          `json:"isSubmitBalancesEnabled"`
		SubmitBalancesFrequency     time.Duration `json:"submitBalancesFrequency"`
		IsSubmitPricesEnabled       bool          `json:"isSubmitPricesEnabled"`
		SubmitPricesFrequency       time.Duration `json:"submitPricesFrequency"`
		MinimumNodeFee              *big.Int      `json:"minimumNodeFee"`
		TargetNodeFee               *big.Int      `json:"targetNodeFee"`
		MaximumNodeFee              *big.Int      `json:"maximumNodeFee"`
		NodeFeeDemandRange          *big.Int      `json:"nodeFeeDemandRange"`
		TargetRethCollateralRate    *big.Int      `json:"targetRethCollateralRate"`
		IsSubmitRewardsEnabled      bool          `json:"isSubmitRewardsEnabled"`
	} `json:"network"`

	Node struct {
		IsRegistrationEnabled              bool     `json:"isRegistrationEnabled"`
		IsSmoothingPoolRegistrationEnabled bool     `json:"isSmoothingPoolRegistrationEnabled"`
		IsDepositingEnabled                bool     `json:"isDepositingEnabled"`
		AreVacantMinipoolsEnabled          bool     `json:"areVacantMinipoolsEnabled"`
		MinimumPerMinipoolStake            *big.Int `json:"minimumPerMinipoolStake"`
		MaximumPerMinipoolStake            *big.Int `json:"maximumPerMinipoolStake"`
	} `json:"node"`

	Proposals struct {
		VotePhase1Time  time.Duration `json:"votePhase1Time"`
		VotePhase2Time  time.Duration `json:"votePhase2Time"`
		VoteDelayTime   time.Duration `json:"voteDelayTime"`
		ExecuteTime     time.Duration `json:"executeTime"`
		ProposalBond    *big.Int      `json:"proposalBond"`
		ChallengeBond   *big.Int      `json:"challengeBond"`
		ChallengePeriod time.Duration `json:"challengePeriod"`
		Quorum          *big.Int      `json:"quorum"`
		VetoQuorum      *big.Int      `json:"vetoQuorum"`
		MaxBlockAge     uint64        `json:"maxBlockAge"`
	} `json:"proposals"`

	Rewards struct {
		IntervalTime time.Duration `json:"intervalTime"`
	} `json:"rewards"`

	Security struct {
		MembersQuorum       *big.Int      `json:"membersQuorum"`
		MembersLeaveTime    time.Duration `json:"membersLeaveTime"`
		ProposalVoteTime    time.Duration `json:"proposalVoteTime"`
		ProposalExecuteTime time.Duration `json:"proposalExecuteTime"`
		ProposalActionTime  time.Duration `json:"proposalActionTime"`
	} `json:"security"`
}

type ProtocolDaoVoteOnProposalData

type ProtocolDaoVoteOnProposalData struct {
	CanVote           bool                 `json:"canVote"`
	DoesNotExist      bool                 `json:"doesNotExist"`
	InvalidState      bool                 `json:"invalidState"`
	InsufficientPower bool                 `json:"insufficientPower"`
	AlreadyVoted      bool                 `json:"alreadyVoted"`
	VotingPower       *big.Int             `json:"votingPower"`
	TxInfo            *eth.TransactionInfo `json:"txInfo"`
}

type QueueProcessData

type QueueProcessData struct {
	CanProcess                 bool                 `json:"canProcess"`
	AssignDepositsDisabled     bool                 `json:"assignDepositsDisabled"`
	NoMinipoolsAvailable       bool                 `json:"noMinipoolsAvailable"`
	InsufficientDepositBalance bool                 `json:"insufficientDepositBalance"`
	TxInfo                     *eth.TransactionInfo `json:"txInfo"`
}

type QueueStatusData

type QueueStatusData struct {
	DepositPoolBalance    *big.Int `json:"depositPoolBalance"`
	MinipoolQueueLength   uint64   `json:"minipoolQueueLength"`
	MinipoolQueueCapacity *big.Int `json:"minipoolQueueCapacity"`
}

type SecurityCancelProposalData

type SecurityCancelProposalData struct {
	CanCancel            bool                 `json:"canCancel"`
	DoesNotExist         bool                 `json:"doesNotExist"`
	InvalidState         bool                 `json:"invalidState"`
	InvalidProposer      bool                 `json:"invalidProposer"`
	NotOnSecurityCouncil bool                 `json:"notOnSecurityCouncil"`
	TxInfo               *eth.TransactionInfo `json:"txInfo"`
}

type SecurityExecuteProposalData

type SecurityExecuteProposalData struct {
	CanExecute   bool                 `json:"canExecute"`
	DoesNotExist bool                 `json:"doesNotExist"`
	InvalidState bool                 `json:"invalidState"`
	TxInfo       *eth.TransactionInfo `json:"txInfo"`
}

type SecurityJoinData

type SecurityJoinData struct {
	CanJoin         bool                 `json:"canJoin"`
	ProposalExpired bool                 `json:"proposalExpired"`
	AlreadyMember   bool                 `json:"alreadyMember"`
	TxInfo          *eth.TransactionInfo `json:"txInfo"`
}

type SecurityLeaveData

type SecurityLeaveData struct {
	CanLeave        bool                 `json:"canLeave"`
	IsNotMember     bool                 `json:"isNotMember"`
	ProposalExpired bool                 `json:"proposalExpired"`
	TxInfo          *eth.TransactionInfo `json:"txInfo"`
}

type SecurityMemberDetails

type SecurityMemberDetails struct {
	Address     common.Address `json:"address"`
	Exists      bool           `json:"exists"`
	ID          string         `json:"id"`
	InvitedTime time.Time      `json:"invitedTime"`
	JoinedTime  time.Time      `json:"joinedTime"`
	LeftTime    time.Time      `json:"leftTime"`
}

type SecurityMembersData

type SecurityMembersData struct {
	Members []SecurityMemberDetails `json:"members"`
}

type SecurityProposalDetails

type SecurityProposalDetails struct {
	ID              uint64              `json:"id"`
	ProposerAddress common.Address      `json:"proposerAddress"`
	Message         string              `json:"message"`
	CreatedTime     time.Time           `json:"createdTime"`
	StartTime       time.Time           `json:"startTime"`
	EndTime         time.Time           `json:"endTime"`
	ExpiryTime      time.Time           `json:"expiryTime"`
	VotesRequired   float64             `json:"votesRequired"`
	VotesFor        float64             `json:"votesFor"`
	VotesAgainst    float64             `json:"votesAgainst"`
	MemberVoted     bool                `json:"memberVoted"`
	MemberSupported bool                `json:"memberSupported"`
	IsCancelled     bool                `json:"isCancelled"`
	IsExecuted      bool                `json:"isExecuted"`
	Payload         []byte              `json:"payload"`
	PayloadStr      string              `json:"payloadStr"`
	State           types.ProposalState `json:"state"`
}

type SecurityProposalsData

type SecurityProposalsData struct {
	Proposals []SecurityProposalDetails `json:"proposals"`
}

type SecurityProposeSettingData

type SecurityProposeSettingData struct {
	CanPropose     bool                 `json:"canPropose"`
	UnknownSetting bool                 `json:"unknownSetting"`
	TxInfo         *eth.TransactionInfo `json:"txInfo"`
}

type SecurityStatusData

type SecurityStatusData struct {
	IsMember       bool   `json:"isMember"`
	CanJoin        bool   `json:"canJoin"`
	CanLeave       bool   `json:"canLeave"`
	TotalMembers   uint64 `json:"totalMembers"`
	ProposalCounts struct {
		Total     int `json:"total"`
		Pending   int `json:"pending"`
		Active    int `json:"active"`
		Cancelled int `json:"cancelled"`
		Defeated  int `json:"defeated"`
		Succeeded int `json:"succeeded"`
		Expired   int `json:"expired"`
		Executed  int `json:"executed"`
	} `json:"proposalCounts"`
}

type SecurityVoteOnProposalData

type SecurityVoteOnProposalData struct {
	CanVote            bool                 `json:"canVote"`
	DoesNotExist       bool                 `json:"doesNotExist"`
	InvalidState       bool                 `json:"invalidState"`
	JoinedAfterCreated bool                 `json:"joinedAfterCreated"`
	AlreadyVoted       bool                 `json:"alreadyVoted"`
	TxInfo             *eth.TransactionInfo `json:"txInfo"`
}

type ServiceClientStatusData

type ServiceClientStatusData struct {
	EcManagerStatus types.ClientManagerStatus `json:"ecManagerStatus"`
	BcManagerStatus types.ClientManagerStatus `json:"bcManagerStatus"`
}

type ServiceCreateFeeRecipientFileData

type ServiceCreateFeeRecipientFileData struct {
	Distributor common.Address `json:"distributor"`
}

type ServiceTerminateDataFolderData

type ServiceTerminateDataFolderData struct {
	FolderExisted bool `json:"folderExisted"`
}

type ServiceVersionData

type ServiceVersionData struct {
	Version string `json:"version"`
}

type SubmitTxBody

type SubmitTxBody struct {
	Submission     *eth.TransactionSubmission `json:"submission"`
	Nonce          *big.Int                   `json:"nonce,omitempty"`
	MaxFee         *big.Int                   `json:"maxFee"`
	MaxPriorityFee *big.Int                   `json:"maxPriorityFee"`
}

type TxBatchSignTxData

type TxBatchSignTxData struct {
	SignedTxs []string `json:"signedTxs"`
}

type TxData

type TxData struct {
	TxHash common.Hash `json:"txHash"`
}

type TxSignTxData

type TxSignTxData struct {
	SignedTx string `json:"signedTx"`
}

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  beacon.ValidatorPubkey `json:"pubkey"`
}

Encrypted validator keystore following the EIP-2335 standard (https://eips.ethereum.org/EIPS/eip-2335)

type WalletExportData

type WalletExportData struct {
	Password          string `json:"password"`
	Wallet            string `json:"wallet"`
	AccountPrivateKey []byte `json:"accountPrivateKey"`
}

type WalletExportEthKeyData

type WalletExportEthKeyData struct {
	EthKeyJson []byte `json:"ethKeyJson"`
	Password   string `json:"password"`
}

type WalletInitializeData

type WalletInitializeData struct {
	Mnemonic       string         `json:"mnemonic"`
	AccountAddress common.Address `json:"accountAddress"`
}

type WalletRebuildData

type WalletRebuildData struct {
	ValidatorKeys []beacon.ValidatorPubkey `json:"validatorKeys"`
}

type WalletRecoverData

type WalletRecoverData struct {
	AccountAddress common.Address           `json:"accountAddress"`
	ValidatorKeys  []beacon.ValidatorPubkey `json:"validatorKeys"`
}

type WalletSearchAndRecoverData

type WalletSearchAndRecoverData struct {
	FoundWallet    bool                     `json:"foundWallet"`
	AccountAddress common.Address           `json:"accountAddress"`
	DerivationPath string                   `json:"derivationPath"`
	Index          uint                     `json:"index"`
	ValidatorKeys  []beacon.ValidatorPubkey `json:"validatorKeys"`
}

type WalletSetEnsNameData

type WalletSetEnsNameData struct {
	Address common.Address       `json:"address"`
	EnsName string               `json:"ensName"`
	TxInfo  *eth.TransactionInfo `json:"txInfo"`
}

type WalletSignMessageData

type WalletSignMessageData struct {
	SignedMessage []byte `json:"signedMessage"`
}

type WalletSignTxData

type WalletSignTxData struct {
	SignedTx []byte `json:"signedTx"`
}

type WalletStatusData

type WalletStatusData struct {
	WalletStatus wallet.WalletStatus `json:"walletStatus"`
}

type WalletTestMnemonicData

type WalletTestMnemonicData struct {
	CurrentAddress   common.Address `json:"currentAddress"`
	RecoveredAddress common.Address `json:"recoveredAddress"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL