github.com/Finschia/finschia-sdk@v0.48.1/x/staking/types/exported.go (about) 1 package types 2 3 import ( 4 tmprotocrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" 5 6 cryptotypes "github.com/Finschia/finschia-sdk/crypto/types" 7 sdk "github.com/Finschia/finschia-sdk/types" 8 ) 9 10 // DelegationI delegation bond for a delegated proof of stake system 11 type DelegationI interface { 12 GetDelegatorAddr() sdk.AccAddress // delegator sdk.AccAddress for the bond 13 GetValidatorAddr() sdk.ValAddress // validator operator address 14 GetShares() sdk.Dec // amount of validator's shares held in this delegation 15 } 16 17 // ValidatorI expected validator functions 18 type ValidatorI interface { 19 IsJailed() bool // whether the validator is jailed 20 GetMoniker() string // moniker of the validator 21 GetStatus() BondStatus // status of the validator 22 IsBonded() bool // check if has a bonded status 23 IsUnbonded() bool // check if has status unbonded 24 IsUnbonding() bool // check if has status unbonding 25 GetOperator() sdk.ValAddress // operator address to receive/return validators coins 26 ConsPubKey() (cryptotypes.PubKey, error) // validation consensus pubkey (cryptotypes.PubKey) 27 OcConsPublicKey() (tmprotocrypto.PublicKey, error) // validation consensus pubkey (Ostracon) 28 GetConsAddr() (sdk.ConsAddress, error) // validation consensus address 29 GetTokens() sdk.Int // validation tokens 30 GetBondedTokens() sdk.Int // validator bonded tokens 31 GetConsensusPower(sdk.Int) int64 // validation power in tendermint 32 GetCommission() sdk.Dec // validator commission rate 33 GetMinSelfDelegation() sdk.Int // validator minimum self delegation 34 GetDelegatorShares() sdk.Dec // total outstanding delegator shares 35 TokensFromShares(sdk.Dec) sdk.Dec // token worth of provided delegator shares 36 TokensFromSharesTruncated(sdk.Dec) sdk.Dec // token worth of provided delegator shares, truncated 37 TokensFromSharesRoundUp(sdk.Dec) sdk.Dec // token worth of provided delegator shares, rounded up 38 SharesFromTokens(amt sdk.Int) (sdk.Dec, error) // shares worth of delegator's bond 39 SharesFromTokensTruncated(amt sdk.Int) (sdk.Dec, error) // truncated shares worth of delegator's bond 40 }