github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/types/pool.go (about)

     1  package types
     2  
     3  import (
     4  	"fmt"
     5  
     6  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     7  )
     8  
     9  // names used as root for pool module accounts:
    10  //
    11  // - NotBondedPool -> "not_bonded_tokens_pool"
    12  //
    13  // - BondedPool -> "bonded_tokens_pool"
    14  const (
    15  	NotBondedPoolName = "not_bonded_tokens_pool"
    16  	BondedPoolName    = "bonded_tokens_pool"
    17  )
    18  
    19  // Pool - tracking bonded and not-bonded token supply of the bond denomination
    20  type Pool struct {
    21  	// tokens which are not bonded to a validator (unbonded or unbonding)
    22  	NotBondedTokens sdk.Dec `json:"not_bonded_tokens" yaml:"not_bonded_tokens"`
    23  	// tokens which are currently bonded to a validator
    24  	BondedTokens sdk.Dec `json:"bonded_tokens" yaml:"bonded_tokens"`
    25  }
    26  
    27  // NewPool creates a new Pool instance used for queries
    28  func NewPool(notBonded, bonded sdk.Dec) Pool {
    29  	return Pool{
    30  		NotBondedTokens: notBonded,
    31  		BondedTokens:    bonded,
    32  	}
    33  }
    34  
    35  // String returns a human readable string representation of Pool
    36  func (p Pool) String() string {
    37  	return fmt.Sprintf(`Pool:	
    38    Not Bonded Tokens:  %s	
    39    Bonded Tokens:      %s`, p.NotBondedTokens,
    40  		p.BondedTokens)
    41  }