A variety of variables will be established within FOXChain to govern how it operates. These variables can be changed with on-chain governance votes.

<aside> 💡 This list is subject to change during development. All default values listed below are examples, and tokenomics analysis may replace these placeholder values with different values that provide better performance for FOXChain and its users.

</aside>

//
type HostStatus int32

const (
    HostStatus_Unknown HostStatus = 0
    HostStatus_Online HostStatus = 1
    HostStatus_Offline HostStatus = 2
)

// key: h/<pubkey>/<chain>
type Host struct {
	Chain common.Chain
	Pubkey common.Pubkey
	MetadataURI string
	MetadataNonce int64
  Status HostStatus
  SubscriptionRate int64
  PayAsYouGoRate int64
  MaxContractDuration int64
}
// key: c/sub/<hkey>/<chain>/<client>
type SubscriptionContract struct {
	Pubkey common.Pubkey
  Chain common.chain
  Client common.Address
	Start int64
  Duration int64
	Deposited cosmos.Uint
  Claimed cosmos.Uint
}
// key: c/go/<hkey>/<chain>/<client>
type PayAsYouGoContract struct {
	Pubkey common.Pubkey
  Chain common.chain
  Client common.Address
  Start int64
	Duration int64
  Rate cosmos.Uint
	Deposited cosmos.Uint
	Claimed cosmos.Uint
}