model

package
v0.3.7 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2019 License: Apache-2.0 Imports: 6 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrAccountBankNotFound

func ErrAccountBankNotFound() sdk.Error

ErrAccountBankNotFound - error if account bank is not found

func ErrAccountInfoNotFound

func ErrAccountInfoNotFound() sdk.Error

ErrAccountInfoNotFound - error if account info is not found

func ErrAccountMetaNotFound

func ErrAccountMetaNotFound() sdk.Error

ErrAccountMetaNotFound - error if account meta is not found

func ErrFailedToMarshalAccountBank

func ErrFailedToMarshalAccountBank(err error) sdk.Error

ErrFailedToMarshalAccountBank - error if marshal account bank failed

func ErrFailedToMarshalAccountInfo

func ErrFailedToMarshalAccountInfo(err error) sdk.Error

ErrFailedToMarshalAccountInfo - error if marshal account info failed

func ErrFailedToMarshalAccountMeta

func ErrFailedToMarshalAccountMeta(err error) sdk.Error

ErrFailedToMarshalAccountMeta - error if marshal account meta failed

func ErrFailedToMarshalGrantPubKey

func ErrFailedToMarshalGrantPubKey(err error) sdk.Error

ErrFailedToMarshalGrantPubKey - error if marshal grant public key failed

func ErrFailedToMarshalPendingCoinDayQueue added in v0.1.1

func ErrFailedToMarshalPendingCoinDayQueue(err error) sdk.Error

ErrFailedToMarshalPendingCoinDayQueue - error if marshal pending coin day queue failed

func ErrFailedToMarshalReward

func ErrFailedToMarshalReward(err error) sdk.Error

ErrFailedToMarshalReward - error if marshal reward failed

func ErrFailedToUnmarshalAccountBank

func ErrFailedToUnmarshalAccountBank(err error) sdk.Error

ErrFailedToUnmarshalAccountBank - error if unmarshal account bank failed

func ErrFailedToUnmarshalAccountInfo

func ErrFailedToUnmarshalAccountInfo(err error) sdk.Error

ErrFailedToUnmarshalAccountInfo - error if unmarshal account info failed

func ErrFailedToUnmarshalAccountMeta

func ErrFailedToUnmarshalAccountMeta(err error) sdk.Error

ErrFailedToUnmarshalAccountMeta - error if unmarshal account meta failed

func ErrFailedToUnmarshalGrantPubKey

func ErrFailedToUnmarshalGrantPubKey(err error) sdk.Error

ErrFailedToUnmarshalGrantPubKey - error if unmarshal grant public key failed

func ErrFailedToUnmarshalPendingCoinDayQueue added in v0.1.1

func ErrFailedToUnmarshalPendingCoinDayQueue(err error) sdk.Error

ErrFailedToUnmarshalPendingCoinDayQueue - error if unmarshal pending coin day queue failed

func ErrFailedToUnmarshalReward

func ErrFailedToUnmarshalReward(err error) sdk.Error

ErrFailedToUnmarshalReward - error if unmarshal account reward failed

func ErrGrantPubKeyNotFound

func ErrGrantPubKeyNotFound() sdk.Error

ErrGrantPubKeyNotFound - error if grant public key is not found

func ErrPendingCoinDayQueueNotFound added in v0.1.1

func ErrPendingCoinDayQueueNotFound() sdk.Error

ErrPendingCoinDayQueueNotFound - error if pending coin day queue is not found

func ErrRewardNotFound

func ErrRewardNotFound() sdk.Error

ErrRewardNotFound - error if reward is not found

func GetAccountBankKey

func GetAccountBankKey(addr sdk.Address) []byte

GetAccountBankKey - "account bank substore" + "username"

func GetAccountInfoKey

func GetAccountInfoKey(accKey types.AccountKey) []byte

GetAccountInfoKey - "account info substore" + "username"

func GetAccountInfoPrefix added in v0.1.1

func GetAccountInfoPrefix() []byte

GetAccountInfoPrefix - "account info substore"

func GetAccountMetaKey

func GetAccountMetaKey(accKey types.AccountKey) []byte

GetAccountMetaKey - "account meta substore" + "username"

Types

type AccountBank

type AccountBank struct {
	Saving          types.Coin       `json:"saving"`
	FrozenMoneyList []FrozenMoney    `json:"frozen_money_list"`
	PubKey          crypto.PubKey    `json:"public_key"`
	Sequence        uint64           `json:"sequence"`
	Username        types.AccountKey `json:"username"`
}

AccountBank - user balance

type AccountBankV1 added in v0.3.0

type AccountBankV1 struct {
	Saving          types.Coin    `json:"saving"`
	CoinDay         types.Coin    `json:"coin_day"`
	FrozenMoneyList []FrozenMoney `json:"frozen_money_list"`
}

AccountBankV1 - user balance

type AccountInfo

type AccountInfo struct {
	Username       types.AccountKey `json:"username"`
	CreatedAt      int64            `json:"created_at"`
	SigningKey     crypto.PubKey    `json:"signing_key"`
	TransactionKey crypto.PubKey    `json:"transaction_key"`
	Address        sdk.AccAddress   `json:"address"`
}

AccountInfo - user information

type AccountInfoV1 added in v0.3.0

type AccountInfoV1 struct {
	Username       types.AccountKey `json:"username"`
	CreatedAt      int64            `json:"created_at"`
	ResetKey       crypto.PubKey    `json:"reset_key"`
	TransactionKey crypto.PubKey    `json:"transaction_key"`
	AppKey         crypto.PubKey    `json:"app_key"`
}

AccountInfoV1 - user information

type AccountMeta

type AccountMeta struct {
	JSONMeta string `json:"json_meta"`
}

AccountMeta - stores tiny and frequently updated fields.

type AccountMetaV1 added in v0.3.0

type AccountMetaV1 struct {
	Sequence             uint64     `json:"sequence"`
	LastActivityAt       int64      `json:"last_activity_at"`
	TransactionCapacity  types.Coin `json:"transaction_capacity"`
	JSONMeta             string     `json:"json_meta"`
	LastReportOrUpvoteAt int64      `json:"last_report_or_upvote_at"`
	LastPostAt           int64      `json:"last_post_at"`
}

AccountMetaV1 - stores tiny and frequently updated fields.

type AccountRowIR added in v0.2.0

type AccountRowIR struct {
	Username types.AccountKey `json:"username"`
	Info     AccountInfoV1    `json:"info"`
	Bank     AccountBankV1    `json:"bank"`
	Meta     AccountMetaV1    `json:"meta"`
	Reward   RewardV1         `json:"reward"`
}

AccountRowIR account related information when migrate, pk: Username

type AccountStorage

type AccountStorage struct {
	// contains filtered or unexported fields
}

AccountStorage - account storage

func NewAccountStorage

func NewAccountStorage(key sdk.StoreKey) AccountStorage

NewLinoAccountStorage - creates and returns a account manager

func (AccountStorage) DeleteAllGrantPermissions added in v0.2.0

func (as AccountStorage) DeleteAllGrantPermissions(ctx sdk.Context, me types.AccountKey, grantTo types.AccountKey)

DeleteAllGrantPermissions - deletes all grant pubkeys from a granted user in KV.

func (AccountStorage) DoesAccountExist

func (as AccountStorage) DoesAccountExist(ctx sdk.Context, accKey types.AccountKey) bool

DoesAccountExist - returns true when a specific account exist in the KVStore.

func (AccountStorage) GetAllGrantPermissions added in v0.2.0

func (as AccountStorage) GetAllGrantPermissions(ctx sdk.Context, me types.AccountKey) ([]*GrantPermission, sdk.Error)

GetAllGrantPermissions - returns grant user info keyed with pubkey.

func (AccountStorage) GetBank added in v0.3.0

func (as AccountStorage) GetBank(ctx sdk.Context, addr sdk.Address) (*AccountBank, sdk.Error)

GetBank - returns bank info of a specific address, returns error if any.

func (AccountStorage) GetGrantPermissions added in v0.2.0

func (as AccountStorage) GetGrantPermissions(ctx sdk.Context, me types.AccountKey, grantTo types.AccountKey) ([]*GrantPermission, sdk.Error)

GetGrantPermissions - returns grant user info keyed with pubkey.

func (AccountStorage) GetInfo

func (as AccountStorage) GetInfo(ctx sdk.Context, accKey types.AccountKey) (*AccountInfo, sdk.Error)

GetInfo - returns general account info of a specific account, returns error otherwise.

func (AccountStorage) GetMeta

func (as AccountStorage) GetMeta(ctx sdk.Context, accKey types.AccountKey) *AccountMeta

GetMeta - returns meta of a given account that are tiny and frequently updated fields.

func (AccountStorage) IterateAccounts

func (as AccountStorage) IterateAccounts(ctx sdk.Context, process func(AccountInfo, AccountBank) (stop bool))

IterateAccounts - iterate accounts in KVStore

func (AccountStorage) SetBank added in v0.3.0

func (as AccountStorage) SetBank(ctx sdk.Context, addr sdk.Address, accBank *AccountBank)

SetBank - sets bank info for a given address, returns error if any.

func (AccountStorage) SetGrantPermissions added in v0.2.0

func (as AccountStorage) SetGrantPermissions(ctx sdk.Context, me types.AccountKey, grantTo types.AccountKey, grantPubKeys []*GrantPermission)

SetGrantPermissions - sets a grant user to KV. Key is pubkey and value is grant user info

func (AccountStorage) SetInfo

func (as AccountStorage) SetInfo(ctx sdk.Context, accKey types.AccountKey, accInfo *AccountInfo)

SetInfo - sets general account info to a specific account, returns error if any.

func (AccountStorage) SetMeta

func (as AccountStorage) SetMeta(ctx sdk.Context, accKey types.AccountKey, accMeta *AccountMeta)

SetMeta - sets meta for a given account, returns error if any.

type AccountTablesIR added in v0.2.0

type AccountTablesIR struct {
	Accounts            []AccountRowIR     `json:"accounts"`
	AccountGrantPubKeys []GrantPubKeyRowIR `json:"account_grant_pub_keys"`
}

AccountTablesIR -

type FrozenMoney

type FrozenMoney struct {
	Amount   types.Coin `json:"amount"`
	StartAt  int64      `json:"start_at"`
	Times    int64      `json:"times"`
	Interval int64      `json:"interval"`
}

FrozenMoney - frozen money

type GrantPermission added in v0.2.0

type GrantPermission struct {
	GrantTo    types.AccountKey `json:"grant_to"`
	Permission types.Permission `json:"permission"`
	CreatedAt  int64            `json:"created_at"`
	ExpiresAt  int64            `json:"expires_at"`
	Amount     types.Coin       `json:"amount"`
}

GrantPermission - user grant permission to a user with a certain permission

type GrantPermissionIR added in v0.2.1

type GrantPermissionIR struct {
	Username   types.AccountKey `json:"username"`
	Permission types.Permission `json:"permission"`
	CreatedAt  int64            `json:"created_at"`
	ExpiresAt  int64            `json:"expires_at"`
	Amount     types.Coin       `json:"amount"`
}

GrantPermissionIR - user grant permission to a user with a certain permission XXX(yumin): note that there is a field name change during upgrade-1.

type GrantPubKeyRowIR added in v0.2.1

type GrantPubKeyRowIR struct {
	Username    types.AccountKey  `json:"username"`
	PubKey      crypto.PubKey     `json:"pub_key"`
	GrantPubKey GrantPermissionIR `json:"grant_pub_key"`
}

GrantPubKeyRowIR also in account, pk: (Username, pubKey)

type RewardV1 added in v0.3.0

type RewardV1 struct {
	TotalIncome     types.Coin `json:"total_income"`
	OriginalIncome  types.Coin `json:"original_income"`
	FrictionIncome  types.Coin `json:"friction_income"`
	InflationIncome types.Coin `json:"inflation_income"`
	UnclaimReward   types.Coin `json:"unclaim_reward"`
}

RewardV1 - get from the inflation pool

type Transaction added in v0.2.8

type Transaction struct {
	Hash   string    `json:"hash"`
	Height int64     `json:"height"`
	Tx     ttypes.Tx `json:"tx"`
	Code   uint32    `json:"code"`
	Log    string    `json:"log"`
}

type TxAndSequenceNumber added in v0.2.8

type TxAndSequenceNumber struct {
	Username string       `json:"username"`
	Sequence uint64       `json:"sequence"`
	Tx       *Transaction `json:"tx"`
}

Jump to

Keyboard shortcuts

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