model

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2019 License: Apache-2.0 Imports: 8 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AccountInfoSubstore        = []byte{0x00}
	AccountBankSubstore        = []byte{0x01}
	AccountMetaSubstore        = []byte{0x02}
	AccountGrantPubKeySubstore = []byte{0x03}
)

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"

func ParseGrantKey added in v0.4.0

func ParseGrantKey(key []byte) (user types.AccountKey, grantTo types.AccountKey)

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 AccountBankIR added in v0.4.0

type AccountBankIR struct {
	Address         []byte           `json:"address"` // pk
	Saving          types.Coin       `json:"saving"`
	FrozenMoneyList []FrozenMoneyIR  `json:"frozen_money_list"`
	PubKey          crypto.PubKey    `json:"public_key"`
	Sequence        uint64           `json:"sequence"`
	Username        types.AccountKey `json:"username"`
}

AccountBankIR - user balance

type AccountIR added in v0.4.0

type AccountIR 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"`
}

AccountIR account related information when migrate, pk: Username

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 AccountMeta

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

AccountMeta - stores optional fields.

type AccountMetaIR added in v0.4.0

type AccountMetaIR struct {
	Username types.AccountKey `json:"username"`
	JSONMeta string           `json:"json_meta"`
}

AccountMetaIR - stores optional fields.

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) 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.

func (AccountStorage) StoreMap added in v0.4.0

func (as AccountStorage) StoreMap(ctx sdk.Context) utils.StoreMap

type AccountTablesIR added in v0.2.0

type AccountTablesIR struct {
	Version  int                 `json:"version"`
	Accounts []AccountIR         `json:"accounts"`
	Banks    []AccountBankIR     `json:"banks"`
	Metas    []AccountMetaIR     `json:"metas"`
	Grants   []GrantPermissionIR `json:"grants"`
}

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 FrozenMoneyIR added in v0.4.0

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

FrozenMoneyIR - 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"`
	GrantTo     types.AccountKey `json:"grant_to"`
	Permissions []PermissionIR   `json:"permissions"`
}

GrantPubKeyIR also in account, no pk. must use AuthorizePermission for now. As this grant permission will be removed very soon, it is okay to let this happen.

type PermissionIR added in v0.4.0

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

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