keeper

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: May 13, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DomainStorePrefix is the prefix used to define the prefixed store containing domain data
	DomainStorePrefix = []byte{0x00}
	// AccountPrefixStore is the prefix used to define the prefixed store containing account data
	AccountStorePrefix = []byte{0x01}
	// IndexStorePrefix is the prefix used to defines the prefixed store containing indexing data
	IndexStorePrefix = []byte{0x02}
)

Functions

func AvailableQueries

func AvailableQueries() []iovns.QueryHandler

AvailableQueries returns the list of available queries in the module

func NewQuerier

func NewQuerier(k Keeper) sdk.Querier

NewQuerier builds the query handler for the module

func NewTestCodec

func NewTestCodec() *codec.Codec

NewTestCodec generates aliceAddr mock codec for keeper module

func NewTestKeeper

func NewTestKeeper(t testing.TB, isCheckTx bool) (Keeper, sdk.Context, *Mocks)

NewTestKeeper generates aliceAddr keeper and aliceAddr context from it

Types

type ConfigurationKeeper

type ConfigurationKeeper interface {
	// GetFees gets the fees
	GetFees(ctx sdk.Context) *configuration.Fees
	// GetConfiguration returns the configuration
	GetConfiguration(ctx sdk.Context) configuration.Config
	// IsOwner returns if the provided address is an owner or not
	IsOwner(ctx sdk.Context, addr sdk.AccAddress) bool
	// GetValidDomainRegexp returns the regular expression that aliceAddr domain name must match
	// in order to be valid
	GetValidDomainRegexp(ctx sdk.Context) string
	// GetDomainRenewDuration returns the default duration of aliceAddr domain renewal
	GetDomainRenewDuration(ctx sdk.Context) time.Duration
	// GetDomainGracePeriod returns the grace period duration
	GetDomainGracePeriod(ctx sdk.Context) time.Duration
}

ConfigurationKeeper defines the behaviour of the configuration state checks

type Keeper

type Keeper struct {
	// external keepers
	ConfigurationKeeper ConfigurationKeeper
	SupplyKeeper        SupplyKeeper
	// contains filtered or unexported fields
}

Keeper of the domain store TODO split this keeper in sub-struct in order to avoid possible mistakes with keys and not clutter the exposed methods

func NewKeeper

func NewKeeper(cdc *codec.Codec, storeKey sdk.StoreKey, configKeeper ConfigurationKeeper, supply SupplyKeeper, paramspace ParamSubspace) Keeper

NewKeeper creates aliceAddr domain keeper

func (Keeper) AddAccountCertificate

func (k Keeper) AddAccountCertificate(ctx sdk.Context, account types.Account, newCert []byte)

AddAccountCertificate adds aliceAddr new certificate to the account

func (Keeper) CollectFees added in v0.2.0

func (k Keeper) CollectFees(ctx sdk.Context, msg sdk.Msg, addr sdk.AccAddress) error

CollectFees collects the fees of a msg and sends them to the distribution module to validators and stakers

func (Keeper) CreateAccount

func (k Keeper) CreateAccount(ctx sdk.Context, account types.Account)

CreateAccount creates an account

func (Keeper) CreateDomain

func (k Keeper) CreateDomain(ctx sdk.Context, domain types.Domain)

CreateDomain creates the domain inside the KVStore with its name as key

func (Keeper) DeleteAccount

func (k Keeper) DeleteAccount(ctx sdk.Context, domainName, accountName string)

DeleteAccount deletes an account based on it full account name -> domain + iovns.Separator + account

func (Keeper) DeleteAccountCertificate

func (k Keeper) DeleteAccountCertificate(ctx sdk.Context, account types.Account, certificateIndex int)

DeleteAccountCertificate deletes aliceAddr certificate at given index, it will panic if the index is wrong

func (Keeper) DeleteDomain

func (k Keeper) DeleteDomain(ctx sdk.Context, domainName string) (exists bool)

DeleteDomain deletes the domain and the accounts in it this operation can only fail in case the domain does not exist

func (Keeper) FlushDomain

func (k Keeper) FlushDomain(ctx sdk.Context, domainName string) (exists bool)

FlushDomain removes all accounts, except the empty one, from the domain. returns true in case the domain exists and the operation has been done. returns false only in case the domain does not exist.

func (Keeper) GetAccount

func (k Keeper) GetAccount(ctx sdk.Context, domainName, accountName string) (account types.Account, exists bool)

GetAccount finds an account based on its key name, if not found it will return a zeroed account and false.

func (Keeper) GetAccountsInDomain

func (k Keeper) GetAccountsInDomain(ctx sdk.Context, domainName string, do func(key []byte) bool)

GetAccountsInDomain provides all the account keys related to the given domain name

func (Keeper) GetDomain

func (k Keeper) GetDomain(ctx sdk.Context, domainName string) (domain types.Domain, ok bool)

GetDomain returns the domain based on its name, if domain is not found ok will be false

func (Keeper) IterateAllAccounts added in v0.2.1

func (k Keeper) IterateAllAccounts(ctx sdk.Context) []types.Account

IterateAllAccounts returns all the accounts inside the store

func (Keeper) IterateAllDomains

func (k Keeper) IterateAllDomains(ctx sdk.Context) []types.Domain

IterateAllDomains will return an iterator for all the domain keys present in the KVStore, it's callers duty to close the iterator.

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns aliceAddr module-specific logger.

func (Keeper) ReplaceAccountTargets

func (k Keeper) ReplaceAccountTargets(ctx sdk.Context, account types.Account, targets []iovns.BlockchainAddress)

ReplaceAccountTargets updates an account targets

func (Keeper) SetAccount

func (k Keeper) SetAccount(ctx sdk.Context, account types.Account)

SetAccount upserts account data

func (Keeper) SetDomain

func (k Keeper) SetDomain(ctx sdk.Context, domain types.Domain)

SetDomain updates or creates a new domain in the store

func (Keeper) TransferAccount

func (k Keeper) TransferAccount(ctx sdk.Context, account types.Account, newOwner sdk.AccAddress)

TransferAccount transfers the account to aliceAddr new owner after resetting certificates and targets

func (Keeper) TransferDomain

func (k Keeper) TransferDomain(ctx sdk.Context, newOwner sdk.AccAddress, domain types.Domain)

TransferDomain transfers aliceAddr domain

func (Keeper) UpdateAccountValidity

func (k Keeper) UpdateAccountValidity(ctx sdk.Context, account types.Account, accountRenew time.Duration)

UpdateAccountValidity updates an account expiration time

type Mocks added in v0.2.0

type Mocks struct {
	Supply *mock.SupplyKeeperMock
}

type ParamSubspace

type ParamSubspace interface {
}

ParamSubspace is a placeholder

type QueryAccountsFromOwner

type QueryAccountsFromOwner struct {
	// Owner is the owner of the accounts
	Owner sdk.AccAddress `json:"owner"`
	// ResultsPerPage is the number of results returned in each page
	ResultsPerPage int `json:"results_per_page"`
	// Offset is the page number
	Offset int `json:"offset"`
}

QueryAccountsFromOwner queries all the accounts owned by a certain sdk.AccAddress

func (*QueryAccountsFromOwner) Description

func (q *QueryAccountsFromOwner) Description() string

Description is a placeholder

func (*QueryAccountsFromOwner) Handler

Handler implements local queryHandler

func (*QueryAccountsFromOwner) QueryPath

func (q *QueryAccountsFromOwner) QueryPath() string

QueryPath implements iovns.QueryHandler

func (*QueryAccountsFromOwner) Use

func (q *QueryAccountsFromOwner) Use() string

Use is a placeholder

func (*QueryAccountsFromOwner) Validate

func (q *QueryAccountsFromOwner) Validate() error

Validate implements iovns.QueryHandler

type QueryAccountsFromOwnerResponse

type QueryAccountsFromOwnerResponse struct {
	// Accounts is a slice containing the accounts
	// returned by the query
	Accounts []types.Account `json:"accounts"`
}

QueryAccountsFromOwnerResponse is the response model returned by QueryAccountsFromOwner

type QueryAccountsInDomain

type QueryAccountsInDomain struct {
	// Domain is the domain name
	Domain string `json:"domain" arg:"positional"`
	// ResultsPerPage is the results that each page should contain
	ResultsPerPage int `json:"results_per_page" arg:"positional"`
	// Offset is the page number
	Offset int `json:"offset" arg:"positional"`
}

QueryAccountsInDomain is the request model used to query accounts contained in a domain

func (*QueryAccountsInDomain) Description

func (q *QueryAccountsInDomain) Description() string

Description is a placeholder

func (*QueryAccountsInDomain) Handler

Handler implements queryHandler

func (*QueryAccountsInDomain) QueryPath

func (q *QueryAccountsInDomain) QueryPath() string

QueryPath implements iovns.QueryHandler

func (*QueryAccountsInDomain) Use

func (q *QueryAccountsInDomain) Use() string

Use is a placeholder

func (*QueryAccountsInDomain) Validate

func (q *QueryAccountsInDomain) Validate() error

Validate implements iovns.QueryHandler

type QueryAccountsInDomainResponse

type QueryAccountsInDomainResponse struct {
	// Accounts is a slice of the accounts found
	Accounts []types.Account `json:"accounts"`
}

QueryAccountsInDomainResponse is the response model returned after a QueryAccountsInDomain query

type QueryDomainsFromOwner

type QueryDomainsFromOwner struct {
	// Owner is the address of the owner of the domains
	Owner sdk.AccAddress `json:"owner"`
	// ResultsPerPage is the number of results displayed in a page
	ResultsPerPage int `json:"results_per_page"`
	// Offset is the page number
	Offset int `json:"offset"`
}

QueryDomainsFromOwner is the request model used to query domains owned by a sdk.AccAddress

func (*QueryDomainsFromOwner) Description

func (q *QueryDomainsFromOwner) Description() string

Description is a placeholder

func (*QueryDomainsFromOwner) Handler

Handler implements the local queryHandler

func (*QueryDomainsFromOwner) QueryPath

func (q *QueryDomainsFromOwner) QueryPath() string

QueryPath implements iovns.QueryHandler

func (*QueryDomainsFromOwner) Use

func (q *QueryDomainsFromOwner) Use() string

Use is a placeholder

func (*QueryDomainsFromOwner) Validate

func (q *QueryDomainsFromOwner) Validate() error

Validate implements iovns.QueryHandler

type QueryDomainsFromOwnerResponse

type QueryDomainsFromOwnerResponse struct {
	// Domains is a slice of the domains
	// found by the query
	Domains []types.Domain
}

QueryDomainsFromOwnerResponse is the response returned by the QueryDomainsFromOwner query

type QueryHandlerFunc

type QueryHandlerFunc func(ctx sdk.Context, path []string, query abci.RequestQuery, k Keeper) ([]byte, error)

QueryHandlerFunc defines the query handler for this module

type QueryResolveAccount

type QueryResolveAccount struct {
	// Domain is the name of the domain of the account
	Domain string `json:"domain"`
	// Name is the name of the account
	Name string `json:"name"`
}

QueryResolveAccount is the query model used to resolve an account

func (*QueryResolveAccount) Description

func (q *QueryResolveAccount) Description() string

Description is a placeholder

func (*QueryResolveAccount) Handler

Handler implements local queryHandler

func (*QueryResolveAccount) QueryPath

func (q *QueryResolveAccount) QueryPath() string

QueryPath implements iovns.QueryHandler

func (*QueryResolveAccount) Use

func (q *QueryResolveAccount) Use() string

Use is a placeholder

func (*QueryResolveAccount) Validate

func (q *QueryResolveAccount) Validate() error

Validate implements iovns.QueryHandler

type QueryResolveAccountResponse

type QueryResolveAccountResponse struct {
	// Account contains the resolved account
	Account types.Account `json:"account"`
}

QueryResolveAccountResponse is the response returned by the QueryResolveAccount query

type QueryResolveDomain

type QueryResolveDomain struct {
	// Name is the domain name
	Name string `json:"name" arg:"positional"`
}

QueryResolveDomain is the request model used to resolve a domain

func (*QueryResolveDomain) Description

func (q *QueryResolveDomain) Description() string

Description is a placeholder

func (*QueryResolveDomain) Handler

func (q *QueryResolveDomain) Handler() QueryHandlerFunc

Handler implements the local queryHandler

func (*QueryResolveDomain) QueryPath

func (q *QueryResolveDomain) QueryPath() string

QueryPath implements iovns.QueryHandler

func (*QueryResolveDomain) Use

func (q *QueryResolveDomain) Use() string

Use is a placeholder

func (*QueryResolveDomain) Validate

func (q *QueryResolveDomain) Validate() error

Validate implements iovns.QueryHandler

type QueryResolveDomainResponse

type QueryResolveDomainResponse struct {
	// Domain contains the queried domain information
	Domain types.Domain `json:"domain"`
}

QueryResolveDomainResponse is response returned by the QueryResolveDomain query

type SupplyKeeper added in v0.2.0

type SupplyKeeper interface {
	SendCoinsFromAccountToModule(ctx sdk.Context, addr sdk.AccAddress, moduleName string, coins sdk.Coins) error
}

SupplyKeeper defines the behaviour of the supply keeper used to collect and then distribute the fees

Jump to

Keyboard shortcuts

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