types

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2020 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ModuleName   = "accreditations"
	StoreKey     = ModuleName
	RouterKey    = ModuleName
	QuerierRoute = ModuleName

	// --- Keeper
	MembershipsStorageKey  = StoreKey + ":storage:"
	StableCreditsStoreKey  = StoreKey + ":stableCreditsDenom"
	TrustedSignersStoreKey = StoreKey + ":signers"
	InviteStorePrefix      = "invite:"
	CredentialsStorePrefix = "credentials:"

	// --- Messages
	MsgTypeInviteUser                = "inviteUser"
	MsgTypeSetUserVerified           = "setUserVerified"
	MsgTypesDepositIntoLiquidityPool = "depositIntoLiquidityPool"
	MsgTypeAddTsp                    = "addTsp"
	MsgTypeBuyMembership             = "buyMembership"
	MsgTypeSetBlackMembership        = "setBlackMembership"

	QueryGetInvites                 = "invites"
	QueryGetTrustedServiceProviders = "tsps"
	QueryGetPoolFunds               = "poolFunds"
	QueryGetMembership              = "memberships"
)
View Source
const (
	MembershipTypeBronze = "bronze"
	MembershipTypeSilver = "silver"
	MembershipTypeGold   = "gold"
	MembershipTypeBlack  = "black"
)

Variables

View Source
var ModuleCdc *codec.Codec

Functions

func CanUpgrade

func CanUpgrade(currentMembershipType string, newMembershipType string) bool

CanUpgrade returns true iff the currentMembershipType is a less important than the newMembership type and thus a user having a membership of the first type can upgrade to a one of the second type.

func IsMembershipTypeValid

func IsMembershipTypeValid(membershipType string) bool

IsMembershipTypeValid returns true iff the given membership type if valid

func RegisterCodec

func RegisterCodec(cdc *codec.Codec)

RegisterCodec registers concrete types on wire codec

Types

type Credential added in v1.3.0

type Credential struct {
	Timestamp int64          `json:"timestamp"` // Block height at which the credential has been inserted
	User      sdk.AccAddress `json:"user"`
	Verifier  sdk.AccAddress `json:"verifier"`
}

func NewCredential added in v1.3.2

func NewCredential(user, verifier sdk.AccAddress, blockHeight int64) Credential

func (Credential) Empty added in v1.3.2

func (c Credential) Empty() bool

func (Credential) Equals added in v1.3.0

func (c Credential) Equals(other Credential) bool

type Credentials added in v1.3.0

type Credentials []Credential

Credentials represent a slice of Credential objects

func (Credentials) AppendIfMissing added in v1.3.0

func (credentials Credentials) AppendIfMissing(credential Credential) (Credentials, bool)

AppendIfMissing returns a new Credentials object containing the given credential. If the credential has been appended because previously missing, returns true. Otherwise returns false.

func (Credentials) Contains added in v1.3.0

func (credentials Credentials) Contains(credential Credential) bool

Contains returns true of the given credentials is contained inside the credentials slice

type Invite added in v1.3.0

type Invite struct {
	Sender           sdk.AccAddress `json:"sender"`            // User that has sent the invitation
	SenderMembership string         `json:"sender_membership"` // Membership of Sender when the invite was created
	User             sdk.AccAddress `json:"user"`              // Invited user
	Status           InviteStatus   `json:"status"`            // Tells if the invite is pending, rewarded or invalid
}

Invite represents an invitation that a user has made towards another user

func NewInvite added in v1.3.2

func NewInvite(sender, user sdk.AccAddress, senderMembership string) Invite

NewInvite creates a new invite object representing an invitation from the sender to the specified user. By default, NewInvite returns a Pending invite.

func (Invite) Empty added in v1.3.2

func (invite Invite) Empty() bool

Empty returns true of the given invite is empty

func (Invite) Equals added in v1.3.2

func (invite Invite) Equals(other Invite) bool

Equals returns true iff invite contains the same data of the other invite

func (Invite) ValidateBasic added in v1.5.0

func (invite Invite) ValidateBasic() error

type InviteStatus added in v1.5.0

type InviteStatus uint8
const (
	InviteStatusPending InviteStatus = iota
	InviteStatusRewarded
	InviteStatusInvalid
)

type Invites added in v1.3.2

type Invites []Invite

Invites represents a slice of Invite objects

func (Invites) Equals added in v1.3.2

func (slice Invites) Equals(other Invites) bool

Equals returns true iff this slice contains the same data of the other one and in the same order

type Membership

type Membership struct {
	Owner          sdk.AccAddress `json:"owner"`
	MembershipType string         `json:"membership_type"`
}

Membership contains the data of a membership associated to a specific user

func NewMembership added in v1.3.2

func NewMembership(membershipType string, owner sdk.AccAddress) Membership

NewMembership returns a new memberships containing the given data

func (Membership) Equals added in v1.3.2

func (m Membership) Equals(other Membership) bool

Equals returns true iff m and other contain the same data

type Memberships added in v1.3.2

type Memberships []Membership

Memberships represents a slice of Membership objects

func (Memberships) AppendIfMissing added in v1.3.2

func (slice Memberships) AppendIfMissing(other Membership) (Memberships, bool)

AppendIfMissing appends the other membership to the given slice, returning the result of the appending

func (Memberships) Equals added in v1.3.2

func (slice Memberships) Equals(other Memberships) bool

Equals returns true if this slice and the other one contain the same memberships in the same exact order

type MsgAddTsp added in v1.3.0

type MsgAddTsp struct {
	Tsp        sdk.AccAddress `json:"tsp"`
	Government sdk.AccAddress `json:"government"`
}

MsgAddTsp should be used when wanting to add a new address as a Trusted Service Provider (TSP). TSPs will be able to sign rewarding-giving transactions so should be only a handful of very trusted accounts.

func NewMsgAddTsp added in v1.3.0

func NewMsgAddTsp(tsp, government sdk.AccAddress) MsgAddTsp

func (MsgAddTsp) GetSignBytes added in v1.3.0

func (msg MsgAddTsp) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgAddTsp) GetSigners added in v1.3.0

func (msg MsgAddTsp) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgAddTsp) Route added in v1.3.0

func (msg MsgAddTsp) Route() string

Route Implements Msg.

func (MsgAddTsp) Type added in v1.3.0

func (msg MsgAddTsp) Type() string

Type Implements Msg.

func (MsgAddTsp) ValidateBasic added in v1.3.0

func (msg MsgAddTsp) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

type MsgBuyMembership added in v1.3.0

type MsgBuyMembership struct {
	MembershipType string         `json:"membership_type"` // Membership type to be bought
	Buyer          sdk.AccAddress `json:"buyer"`           // Buyer address
}

MsgBuyMembership allows a user to buy a membership. In order to be able to perform such an action, the following requirements should be met: 1. The user has been invited from a member already having a membership 2. The user has been verified from a TSP 3. The user has enough stable credits in his wallet

func NewMsgBuyMembership added in v1.3.0

func NewMsgBuyMembership(membershipType string, buyer sdk.AccAddress) MsgBuyMembership

func (MsgBuyMembership) GetSignBytes added in v1.3.0

func (msg MsgBuyMembership) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgBuyMembership) GetSigners added in v1.3.0

func (msg MsgBuyMembership) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgBuyMembership) Route added in v1.3.0

func (msg MsgBuyMembership) Route() string

Route Implements Msg.

func (MsgBuyMembership) Type added in v1.3.0

func (msg MsgBuyMembership) Type() string

Type Implements Msg.

func (MsgBuyMembership) ValidateBasic added in v1.3.0

func (msg MsgBuyMembership) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

type MsgDepositIntoLiquidityPool added in v1.3.0

type MsgDepositIntoLiquidityPool struct {
	Depositor sdk.AccAddress `json:"depositor"`
	Amount    sdk.Coins      `json:"amount"`
}

MsgDepositIntoLiquidityPool should be used when wanting to deposit a specific amount into the liquidity pool which contains the total amount of rewards to be distributed upon an accreditation

func NewMsgDepositIntoLiquidityPool added in v1.3.0

func NewMsgDepositIntoLiquidityPool(amount sdk.Coins, depositor sdk.AccAddress) MsgDepositIntoLiquidityPool

func (MsgDepositIntoLiquidityPool) GetSignBytes added in v1.3.0

func (msg MsgDepositIntoLiquidityPool) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgDepositIntoLiquidityPool) GetSigners added in v1.3.0

func (msg MsgDepositIntoLiquidityPool) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgDepositIntoLiquidityPool) Route added in v1.3.0

func (msg MsgDepositIntoLiquidityPool) Route() string

Route Implements Msg.

func (MsgDepositIntoLiquidityPool) Type added in v1.3.0

Type Implements Msg.

func (MsgDepositIntoLiquidityPool) ValidateBasic added in v1.3.0

func (msg MsgDepositIntoLiquidityPool) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

type MsgInviteUser added in v1.3.0

type MsgInviteUser struct {
	Recipient sdk.AccAddress `json:"recipient"`
	Sender    sdk.AccAddress `json:"sender"`
}

MsgInviteUser allows to properly invite a user. Te invitation system should be a one-invite-only system, where invites consecutive to the first one should be discarded.

func NewMsgInviteUser added in v1.3.0

func NewMsgInviteUser(sender, recipient sdk.AccAddress) MsgInviteUser

func (MsgInviteUser) GetSignBytes added in v1.3.0

func (msg MsgInviteUser) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgInviteUser) GetSigners added in v1.3.0

func (msg MsgInviteUser) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgInviteUser) Route added in v1.3.0

func (msg MsgInviteUser) Route() string

Route Implements Msg.

func (MsgInviteUser) Type added in v1.3.0

func (msg MsgInviteUser) Type() string

Type Implements Msg.

func (MsgInviteUser) ValidateBasic added in v1.3.0

func (msg MsgInviteUser) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

type MsgSetBlackMembership added in v1.5.0

type MsgSetBlackMembership struct {
	GovernmentAddress sdk.AccAddress `json:"government_address"`
	Subscriber        sdk.AccAddress `json:"subscriber"`
}

MsgSetBlackMembership allows government to assign a black membership to Subscriber, which has been already invited by another black membership user.

func NewMsgSetBlackMembership added in v1.5.0

func NewMsgSetBlackMembership(subscriber sdk.AccAddress, govAddr sdk.AccAddress) MsgSetBlackMembership

func (MsgSetBlackMembership) GetSignBytes added in v1.5.0

func (msg MsgSetBlackMembership) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgSetBlackMembership) GetSigners added in v1.5.0

func (msg MsgSetBlackMembership) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgSetBlackMembership) Route added in v1.5.0

func (msg MsgSetBlackMembership) Route() string

Route Implements Msg.

func (MsgSetBlackMembership) Type added in v1.5.0

func (msg MsgSetBlackMembership) Type() string

Type Implements Msg.

func (MsgSetBlackMembership) ValidateBasic added in v1.5.0

func (msg MsgSetBlackMembership) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

type MsgSetUserVerified added in v1.3.0

type MsgSetUserVerified struct {
	User     sdk.AccAddress `json:"user"`
	Verifier sdk.AccAddress `json:"verifier"`
}

MsgSetUserVerified is used to set a specific user as properly verified. Note that the verifier address should identify a Trusted Service Provider account.

func NewMsgSetUserVerified added in v1.3.0

func NewMsgSetUserVerified(user, verifier sdk.AccAddress) MsgSetUserVerified

func (MsgSetUserVerified) GetSignBytes added in v1.3.0

func (msg MsgSetUserVerified) GetSignBytes() []byte

GetSignBytes Implements Msg.

func (MsgSetUserVerified) GetSigners added in v1.3.0

func (msg MsgSetUserVerified) GetSigners() []sdk.AccAddress

GetSigners Implements Msg.

func (MsgSetUserVerified) Route added in v1.3.0

func (msg MsgSetUserVerified) Route() string

Route Implements Msg.

func (MsgSetUserVerified) Type added in v1.3.0

func (msg MsgSetUserVerified) Type() string

Type Implements Msg.

func (MsgSetUserVerified) ValidateBasic added in v1.3.0

func (msg MsgSetUserVerified) ValidateBasic() sdk.Error

ValidateBasic Implements Msg.

Jump to

Keyboard shortcuts

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