types

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2019 License: Apache-2.0 Imports: 5 Imported by: 38

README

Lino Blockchain Types

This directory is used to define all models in our internal blockchain storage. For example we need to define account and post here.

For example, in account model, we need to define all account KVStore models and provide a middleware to interact with all models related operation.

Design Doc. Cosmos Example.

Documentation

Index

Constants

View Source
const (
	// Decimals - Total decimals in Lino Blockchain
	Decimals = 100000

	// KVStoreKey presents store which used by app
	MainKVStoreKey       = "main"
	AccountKVStoreKey    = "account"
	PostKVStoreKey       = "post"
	ValidatorKVStoreKey  = "validator"
	GlobalKVStoreKey     = "global"
	VoteKVStoreKey       = "vote"
	InfraKVStoreKey      = "infra"
	DeveloperKVStoreKey  = "developer"
	ParamKVStoreKey      = "param"
	ProposalKVStoreKey   = "proposal"
	ReputationKVStoreKey = "reputation"

	// Different permission level for msg
	UnknownPermission                = Permission(0)
	AppPermission                    = Permission(1)
	TransactionPermission            = Permission(2)
	ResetPermission                  = Permission(3)
	GrantAppPermission               = Permission(4)
	PreAuthorizationPermission       = Permission(5)
	AppAndPreAuthorizationPermission = Permission(6)

	// Different proposal result
	ProposalNotPass = ProposalResult(0)
	ProposalPass    = ProposalResult(1)
	ProposalRevoked = ProposalResult(2)

	// Different proposal types
	ChangeParam       = ProposalType(0)
	ContentCensorship = ProposalType(1)
	ProtocolUpgrade   = ProposalType(2)

	// Different donation types
	DirectDeposit = DonationType(0)
	Inflation     = DonationType(1)

	// Different possible incomes
	TransferIn           = TransferDetailType(0)
	DonationIn           = TransferDetailType(1)
	ClaimReward          = TransferDetailType(2)
	ValidatorInflation   = TransferDetailType(3)
	DeveloperInflation   = TransferDetailType(4)
	InfraInflation       = TransferDetailType(5)
	VoteReturnCoin       = TransferDetailType(6)
	DelegationReturnCoin = TransferDetailType(7)
	ValidatorReturnCoin  = TransferDetailType(8)
	DeveloperReturnCoin  = TransferDetailType(9)
	InfraReturnCoin      = TransferDetailType(10)
	ProposalReturnCoin   = TransferDetailType(11)
	GenesisCoin          = TransferDetailType(12)
	ClaimInterest        = TransferDetailType(13)

	// Different possible outcomes
	TransferOut      = TransferDetailType(20)
	DonationOut      = TransferDetailType(21)
	Delegate         = TransferDetailType(22)
	VoterDeposit     = TransferDetailType(23)
	ValidatorDeposit = TransferDetailType(24)
	DeveloperDeposit = TransferDetailType(25)
	InfraDeposit     = TransferDetailType(26)
	ProposalDeposit  = TransferDetailType(27)

	// punishment type
	UnknownPunish      = PunishType(0)
	PunishByzantine    = PunishType(1)
	PunishAbsentCommit = PunishType(2)
	PunishDidntVote    = PunishType(3)

	// UsernameReCheck - UsernameReCheck is used to check user registration
	UsernameReCheck        = "^[a-z]([a-z0-9-\\.]){1,19}[a-z0-9]$"
	IllegalUsernameReCheck = "^[a-z0-9\\.-]*([-\\.]){2,}[a-z0-9\\.-]*$"

	// MinimumUsernameLength - minimum username length
	MinimumUsernameLength = 3

	// MaximumUsernameLength - maximum username length
	MaximumUsernameLength = 20

	// MaximumMemoLength - maximum length of memo
	MaximumMemoLength = 100

	// MaximumJSONMetaLength - maximum length of account JSON meta
	MaximumJSONMetaLength = 500

	// MaxPostTitleLength - maximum length of post title
	MaxPostTitleLength = 100

	// MaxPostContentLength - maximum length of post content
	MaxPostContentLength = 1000

	// MaxGranPermValiditySec - maximum validity period, 10 years
	MaxGranPermValiditySec = 10 * 3600 * 24 * 365

	// KeySeparator - separate different key component
	KeySeparator = "/"

	// HoursPerYear - as defined by a julian year of 365.25 days
	HoursPerYear = 8766

	// MinutesPerYear - as defined by a julian year of 365.25 days
	MinutesPerYear = HoursPerYear * 60

	// MinutesPerMonth - as defined by a julian year of 365.25 days
	MinutesPerMonth = MinutesPerYear / 12

	// MinutesPerDay - as defined by a julian year of 365.25 days
	MinutesPerDay = 60 * 24

	// MaximumSdkRatLength - maximum length of sdk.Dec can pass into blockchain
	MaximumSdkRatLength = 10

	// MaximumLinkIdentifier - maximum length of Links identifier
	MaximumLinkIdentifier = 20

	// MaximumLinkURL - maximum length of Links URL
	MaximumLinkURL = 100

	// MaximumLengthOfPostID - maximum length of post ID
	MaximumLengthOfPostID = 50

	// MaximumNumOfLinks - maximum number of links per post
	MaximumNumOfLinks = 10

	// MaximumLengthOfDeveloperWebsite - maximum length of developer website
	MaximumLengthOfDeveloperWebsite = 100

	// MaximumLengthOfDeveloperDesctiption - maximum length of developer description
	MaximumLengthOfDeveloperDesctiption = 1000

	// MaximumLengthOfAppMetadata - maximum length of developer App meta data
	MaximumLengthOfAppMetadata = 1000

	// MaximumLengthOfProposalReason - maximum length of proposal reason
	MaximumLengthOfProposalReason = 1000

	// InitAccountWithFullCoinDayMemo - init account with full coin day memo
	InitAccountWithFullCoinDayMemo = "open account deposit"

	// InitAccountRegisterDepositMemo - init account deposit fee memo
	InitAccountRegisterDepositMemo = "init deposit"

	// PermlinkSeparator - permlink separator
	PermlinkSeparator = "#"

	// BalanceHistoryBundleSize - bundle size for balance history
	BalanceHistoryBundleSize = 100

	// RewardHistoryBundleSize - bundle size for reward history
	RewardHistoryBundleSize = 100

	// CoinDayRecordIntervalSec - coin day record in the same interval bucket will be merged
	CoinDayRecordIntervalSec = 1200

	// LinoBlockchainFirstUpdateHeight - first blockchain update
	LinoBlockchainFirstUpdateHeight = 156000

	// LinoBlockchainSecondUpdateHeight - second blockchain update
	LinoBlockchainSecondUpdateHeight = 356000

	// TendermintValidatorPower - every validator has const power in tendermint engine.
	TendermintValidatorPower = 1000
)
View Source
const (
	// updated from int to string.
	// https://github.com/cosmos/cosmos-sdk/pull/2821
	LinoErrorCodeSpace = "lino"

	// Lino common errors reserve 100 ~ 149
	CodeInvalidUsername     sdk.CodeType = 100
	CodeAccountNotFound     sdk.CodeType = 101
	CodeFailedToMarshal     sdk.CodeType = 102
	CodeFailedToUnmarshal   sdk.CodeType = 103
	CodeIllegalWithdraw     sdk.CodeType = 104
	CodeInsufficientDeposit sdk.CodeType = 105
	CodeInvalidCoin         sdk.CodeType = 106
	CodePostNotFound        sdk.CodeType = 107
	CodeDeveloperNotFound   sdk.CodeType = 108
	CodeInvalidCoins        sdk.CodeType = 109
	CodeInvalidInt64Number  sdk.CodeType = 110
	CodeInvalidQueryPath    sdk.CodeType = 111

	// Lino authenticate errors reserve 150 ~ 199
	CodeIncorrectStdTxType   sdk.CodeType = 150
	CodeNoSignatures         sdk.CodeType = 151
	CodeUnknownMsgType       sdk.CodeType = 152
	CodeWrongNumberOfSigners sdk.CodeType = 153
	CodeInvalidSequence      sdk.CodeType = 154
	CodeUnverifiedBytes      sdk.CodeType = 155

	// ABCI Response Codes
	CodeGenesisFailed sdk.CodeType = 200

	// Lino account errors reserve 300 ~ 399
	CodeRewardNotFound                       sdk.CodeType = 300
	CodeAccountMetaNotFound                  sdk.CodeType = 301
	CodeAccountInfoNotFound                  sdk.CodeType = 302
	CodeAccountBankNotFound                  sdk.CodeType = 303
	CodePendingCoinDayQueueNotFound          sdk.CodeType = 304
	CodeGrantPubKeyNotFound                  sdk.CodeType = 305
	CodeFailedToMarshalAccountInfo           sdk.CodeType = 306
	CodeFailedToMarshalAccountBank           sdk.CodeType = 307
	CodeFailedToMarshalAccountMeta           sdk.CodeType = 308
	CodeFailedToMarshalFollowerMeta          sdk.CodeType = 309
	CodeFailedToMarshalFollowingMeta         sdk.CodeType = 310
	CodeFailedToMarshalReward                sdk.CodeType = 311
	CodeFailedToMarshalPendingCoinDayQueue   sdk.CodeType = 312
	CodeFailedToMarshalGrantPubKey           sdk.CodeType = 313
	CodeFailedToMarshalRelationship          sdk.CodeType = 314
	CodeFailedToMarshalBalanceHistory        sdk.CodeType = 315
	CodeFailedToUnmarshalAccountInfo         sdk.CodeType = 316
	CodeFailedToUnmarshalAccountBank         sdk.CodeType = 317
	CodeFailedToUnmarshalAccountMeta         sdk.CodeType = 318
	CodeFailedToUnmarshalReward              sdk.CodeType = 319
	CodeFailedToUnmarshalPendingCoinDayQueue sdk.CodeType = 320
	CodeFailedToUnmarshalGrantPubKey         sdk.CodeType = 321
	CodeFailedToUnmarshalRelationship        sdk.CodeType = 322
	CodeFailedToUnmarshalBalanceHistory      sdk.CodeType = 323
	CodeFolloweeNotFound                     sdk.CodeType = 324
	CodeFollowerNotFound                     sdk.CodeType = 325
	CodeReceiverNotFound                     sdk.CodeType = 326
	CodeSenderNotFound                       sdk.CodeType = 327
	CodeReferrerNotFound                     sdk.CodeType = 328
	CodeAddSavingCoinWithFullCoinDay         sdk.CodeType = 329
	CodeAddSavingCoin                        sdk.CodeType = 330
	CodeInvalidMemo                          sdk.CodeType = 331
	CodeInvalidJSONMeta                      sdk.CodeType = 332
	CodeCheckResetKey                        sdk.CodeType = 333
	CodeCheckTransactionKey                  sdk.CodeType = 334
	CodeCheckGrantAppKey                     sdk.CodeType = 335
	CodeCheckAuthenticatePubKeyOwner         sdk.CodeType = 336
	CodeGrantKeyExpired                      sdk.CodeType = 337
	CodeGrantKeyNoLeftTimes                  sdk.CodeType = 338
	CodeGrantKeyMismatch                     sdk.CodeType = 339
	CodeAppGrantKeyMismatch                  sdk.CodeType = 340
	CodeGetResetKey                          sdk.CodeType = 341
	CodeGetTransactionKey                    sdk.CodeType = 342
	CodeGetAppKey                            sdk.CodeType = 343
	CodeGetSavingFromBank                    sdk.CodeType = 344
	CodeGetSequence                          sdk.CodeType = 345
	CodeGetLastReportOrUpvoteAt              sdk.CodeType = 346
	CodeUpdateLastReportOrUpvoteAt           sdk.CodeType = 347
	CodeGetFrozenMoneyList                   sdk.CodeType = 348
	CodeIncreaseSequenceByOne                sdk.CodeType = 349
	CodeGrantTimesExceedsLimitation          sdk.CodeType = 350
	CodeUnsupportGrantLevel                  sdk.CodeType = 351
	CodeRevokePermissionLevelMismatch        sdk.CodeType = 352
	CodeCheckUserTPSCapacity                 sdk.CodeType = 353
	CodeAccountTPSCapacityNotEnough          sdk.CodeType = 354
	CodeAccountSavingCoinNotEnough           sdk.CodeType = 355
	CodeAccountAlreadyExists                 sdk.CodeType = 356
	CodeRegisterFeeInsufficient              sdk.CodeType = 357
	CodeFailedToMarshalRewardHistory         sdk.CodeType = 358
	CodeFailedToUnmarshalRewardHistory       sdk.CodeType = 359
	CodeGetLastPostAt                        sdk.CodeType = 360
	CodeUpdateLastPostAt                     sdk.CodeType = 361
	CodeFrozenMoneyListTooLong               sdk.CodeType = 362
	CodeAccountQueryFailed                   sdk.CodeType = 363

	// Lino post errors reserve 400 ~ 499
	CodePostMetaNotFound                     sdk.CodeType = 400
	CodePostReportOrUpvoteNotFound           sdk.CodeType = 401
	CodePostCommentNotFound                  sdk.CodeType = 402
	CodePostViewNotFound                     sdk.CodeType = 403
	CodePostDonationNotFound                 sdk.CodeType = 404
	CodeFailedToMarshalPostInfo              sdk.CodeType = 405
	CodeFailedToMarshalPostMeta              sdk.CodeType = 406
	CodeFailedToMarshalPostReportOrUpvote    sdk.CodeType = 407
	CodeFailedToMarshalPostComment           sdk.CodeType = 408
	CodeFailedToMarshalPostView              sdk.CodeType = 409
	CodeFailedToMarshalPostDonations         sdk.CodeType = 410
	CodeFailedToUnmarshalPostInfo            sdk.CodeType = 411
	CodeFailedToUnmarshalPostMeta            sdk.CodeType = 412
	CodeFailedToUnmarshalPostReportOrUpvote  sdk.CodeType = 413
	CodeFailedToUnmarshalPostComment         sdk.CodeType = 414
	CodeFailedToUnmarshalPostView            sdk.CodeType = 415
	CodeFailedToUnmarshalPostDonations       sdk.CodeType = 416
	CodePostAlreadyExist                     sdk.CodeType = 417
	CodeInvalidPostRedistributionSplitRate   sdk.CodeType = 418
	CodeDonatePostIsDeleted                  sdk.CodeType = 419
	CodeCannotDonateToSelf                   sdk.CodeType = 420
	CodeProcessSourceDonation                sdk.CodeType = 421
	CodeProcessDonation                      sdk.CodeType = 422
	CodeUpdatePostIsDeleted                  sdk.CodeType = 423
	CodeReportOrUpvoteTooOften               sdk.CodeType = 424
	CodeReportOrUpvoteAlreadyExist           sdk.CodeType = 425
	CodeNoPostID                             sdk.CodeType = 426
	CodePostIDTooLong                        sdk.CodeType = 427
	CodeNoAuthor                             sdk.CodeType = 428
	CodeNoUsername                           sdk.CodeType = 429
	CodeCommentAndRepostConflict             sdk.CodeType = 430
	CodePostTitleExceedMaxLength             sdk.CodeType = 431
	CodePostContentExceedMaxLength           sdk.CodeType = 432
	CodeRedistributionSplitRateLengthTooLong sdk.CodeType = 433
	CodeIdentifierLengthTooLong              sdk.CodeType = 434
	CodeURLLengthTooLong                     sdk.CodeType = 435
	CodeTooManyURL                           sdk.CodeType = 436
	CodeInvalidTarget                        sdk.CodeType = 437
	CodeCreatePostSourceInvalid              sdk.CodeType = 438
	CodeGetSourcePost                        sdk.CodeType = 439
	CodePostTooOften                         sdk.CodeType = 440
	CodePostQueryFailed                      sdk.CodeType = 441

	// Lino validator errors reserve 500 ~ 599
	CodeValidatorNotFound              sdk.CodeType = 500
	CodeValidatorListNotFound          sdk.CodeType = 501
	CodeFailedToMarshalValidator       sdk.CodeType = 502
	CodeFailedToMarshalValidatorList   sdk.CodeType = 503
	CodeFailedToUnmarshalValidator     sdk.CodeType = 504
	CodeFailedToUnmarshalValidatorList sdk.CodeType = 505
	CodeUnbalancedAccount              sdk.CodeType = 506
	CodeValidatorPubKeyAlreadyExist    sdk.CodeType = 507
	CodeValidatorQueryFailed           sdk.CodeType = 508

	// Lino global errors reserve 600 ~ 699
	CodeInfraInflationCoinConversion           sdk.CodeType = 600
	CodeContentCreatorCoinConversion           sdk.CodeType = 601
	CodeDeveloperCoinConversion                sdk.CodeType = 602
	CodeValidatorCoinConversion                sdk.CodeType = 603
	CodeGlobalMetaNotFound                     sdk.CodeType = 604
	CodeInflationPoolNotFound                  sdk.CodeType = 605
	CodeGlobalConsumptionMetaNotFound          sdk.CodeType = 606
	CodeGlobalTPSNotFound                      sdk.CodeType = 607
	CodeFailedToMarshalTimeEventList           sdk.CodeType = 608
	CodeFailedToMarshalGlobalMeta              sdk.CodeType = 609
	CodeFailedToMarshalInflationPoll           sdk.CodeType = 610
	CodeFailedToMarshalConsumptionMeta         sdk.CodeType = 611
	CodeFailedToMarshalTPS                     sdk.CodeType = 612
	CodeFailedToUnmarshalTimeEventList         sdk.CodeType = 613
	CodeFailedToUnmarshalGlobalMeta            sdk.CodeType = 614
	CodeFailedToUnmarshalInflationPool         sdk.CodeType = 615
	CodeFailedToUnmarshalConsumptionMeta       sdk.CodeType = 616
	CodeFailedToUnmarshalTPS                   sdk.CodeType = 617
	CodeRegisterExpiredEvent                   sdk.CodeType = 618
	CodeFailedToUnmarshalTime                  sdk.CodeType = 619
	CodeFailedToMarshalTime                    sdk.CodeType = 620
	CodeGlobalTimeNotFound                     sdk.CodeType = 621
	CodeFailedToGetAmountOfConsumptionExponent sdk.CodeType = 622
	CodeLinoStakeStatisticNotFound             sdk.CodeType = 623
	CodeFailedToUnmarshalLinoStakeStatistic    sdk.CodeType = 624
	CodePastDayIsNegative                      sdk.CodeType = 625
	CodeFailedToParseEventCacheList            sdk.CodeType = 626
	CodeGlobalQueryFailed                      sdk.CodeType = 627

	// Vote errors reserve 700 ~ 799
	CodeVoterNotFound                  sdk.CodeType = 700
	CodeVoteNotFound                   sdk.CodeType = 701
	CodeReferenceListNotFound          sdk.CodeType = 702
	CodeDelegationNotFound             sdk.CodeType = 703
	CodeFailedToMarshalVoter           sdk.CodeType = 704
	CodeFailedToMarshalVote            sdk.CodeType = 705
	CodeFailedToMarshalDelegation      sdk.CodeType = 706
	CodeFailedToMarshalReferenceList   sdk.CodeType = 707
	CodeFailedToUnmarshalVoter         sdk.CodeType = 708
	CodeFailedToUnmarshalVote          sdk.CodeType = 709
	CodeFailedToUnmarshalDelegation    sdk.CodeType = 710
	CodeFailedToUnmarshalReferenceList sdk.CodeType = 711
	CodeValidatorCannotRevoke          sdk.CodeType = 712
	CodeVoteAlreadyExist               sdk.CodeType = 713
	CodeVoteQueryFailed                sdk.CodeType = 714

	// Lino infra errors reserve 800 ~ 899
	CodeInfraProviderNotFound              sdk.CodeType = 800
	CodeInfraProviderListNotFound          sdk.CodeType = 801
	CodeFailedToMarshalInfraProvider       sdk.CodeType = 802
	CodeFailedToMarshalInfraProviderList   sdk.CodeType = 803
	CodeFailedToUnmarshalInfraProvider     sdk.CodeType = 804
	CodeFailedToUnmarshalInfraProviderList sdk.CodeType = 805
	CodeInvalidUsage                       sdk.CodeType = 806
	CodeInfraQueryFailed                   sdk.CodeType = 807

	// Lino developer errors reserve 900 ~ 999
	CodeDeveloperListNotFound          sdk.CodeType = 900
	CodeFailedToMarshalDeveloper       sdk.CodeType = 901
	CodeFailedToMarshalDeveloperList   sdk.CodeType = 902
	CodeFailedToUnmarshalDeveloper     sdk.CodeType = 903
	CodeFailedToUnmarshalDeveloperList sdk.CodeType = 904
	CodeDeveloperAlreadyExist          sdk.CodeType = 905
	CodeInsufficientDeveloperDeposit   sdk.CodeType = 906
	CodeInvalidAuthorizedApp           sdk.CodeType = 907
	CodeInvalidValidityPeriod          sdk.CodeType = 908
	CodeGrantPermissionTooHigh         sdk.CodeType = 909
	CodeInvalidWebsite                 sdk.CodeType = 910
	CodeInvalidDescription             sdk.CodeType = 911
	CodeInvalidAppMetadata             sdk.CodeType = 912
	CodeInvalidGrantPermission         sdk.CodeType = 913
	CodeDeveloperQueryFailed           sdk.CodeType = 914

	// Param errors reserve 1000 ~ 1099
	CodeParamHolderGenesisError                       sdk.CodeType = 1000
	CodeDeveloperParamNotFound                        sdk.CodeType = 1001
	CodeValidatorParamNotFound                        sdk.CodeType = 1002
	CodeCoinDayParamNotFound                          sdk.CodeType = 1003
	CodeBandwidthParamNotFound                        sdk.CodeType = 1004
	CodeAccountParamNotFound                          sdk.CodeType = 1005
	CodeVoteParamNotFound                             sdk.CodeType = 1006
	CodeProposalParamNotFound                         sdk.CodeType = 1007
	CodeGlobalAllocationParamNotFound                 sdk.CodeType = 1008
	CodeInfraAllocationParamNotFound                  sdk.CodeType = 1009
	CodePostParamNotFound                             sdk.CodeType = 1010
	CodeInvalidaParameter                             sdk.CodeType = 1011
	CodeEvaluateOfContentValueParamNotFound           sdk.CodeType = 1012
	CodeFailedToUnmarshalGlobalAllocationParam        sdk.CodeType = 1013
	CodeFailedToUnmarshalPostParam                    sdk.CodeType = 1014
	CodeFailedToUnmarshalValidatorParam               sdk.CodeType = 1015
	CodeFailedToUnmarshalEvaluateOfContentValueParam  sdk.CodeType = 1016
	CodeFailedToUnmarshalInfraInternalAllocationParam sdk.CodeType = 1017
	CodeFailedToUnmarshalDeveloperParam               sdk.CodeType = 1018
	CodeFailedToUnmarshalVoteParam                    sdk.CodeType = 1019
	CodeFailedToUnmarshalProposalParam                sdk.CodeType = 1020
	CodeFailedToUnmarshalCoinDayParam                 sdk.CodeType = 1021
	CodeFailedToUnmarshalBandwidthParam               sdk.CodeType = 1022
	CodeFailedToUnmarshalAccountParam                 sdk.CodeType = 1023
	CodeFailedToMarshalGlobalAllocationParam          sdk.CodeType = 1024
	CodeFailedToMarshalPostParam                      sdk.CodeType = 1025
	CodeFailedToMarshalValidatorParam                 sdk.CodeType = 1026
	CodeFailedToMarshalEvaluateOfContentValueParam    sdk.CodeType = 1027
	CodeFailedToMarshalInfraInternalAllocationParam   sdk.CodeType = 1028
	CodeFailedToMarshalDeveloperParam                 sdk.CodeType = 1029
	CodeFailedToMarshalVoteParam                      sdk.CodeType = 1030
	CodeFailedToMarshalProposalParam                  sdk.CodeType = 1031
	CodeFailedToMarshalCoinDayParam                   sdk.CodeType = 1032
	CodeFailedToMarshalBandwidthParam                 sdk.CodeType = 1033
	CodeFailedToMarshalAccountParam                   sdk.CodeType = 1034
	CodeFailedToMarshalReputationParam                sdk.CodeType = 1035
	CodeFailedToUnmarshalReputationParam              sdk.CodeType = 1036
	CodeReputationParamNotFound                       sdk.CodeType = 1037
	CodeParamQueryFailed                              sdk.CodeType = 1038

	// Proposal errors reserve 1100 ~ 1199
	CodeOngoingProposalNotFound         sdk.CodeType = 1100
	CodeCensorshipPostNotFound          sdk.CodeType = 1101
	CodeProposalNotFound                sdk.CodeType = 1102
	CodeProposalListNotFound            sdk.CodeType = 1103
	CodeNextProposalIDNotFound          sdk.CodeType = 1104
	CodeFailedToMarshalProposal         sdk.CodeType = 1105
	CodeFailedToMarshalProposalList     sdk.CodeType = 1106
	CodeFailedToMarshalNextProposalID   sdk.CodeType = 1107
	CodeFailedToUnmarshalProposal       sdk.CodeType = 1108
	CodeFailedToUnmarshalProposalList   sdk.CodeType = 1109
	CodeFailedToUnmarshalNextProposalID sdk.CodeType = 1110
	CodeCensorshipPostIsDeleted         sdk.CodeType = 1111
	CodeNotOngoingProposal              sdk.CodeType = 1112
	CodeIncorrectProposalType           sdk.CodeType = 1113
	CodeInvalidPermlink                 sdk.CodeType = 1114
	CodeInvalidLink                     sdk.CodeType = 1115
	CodeIllegalParameter                sdk.CodeType = 1116
	CodeReasonTooLong                   sdk.CodeType = 1117
	CodeProposalQueryFailed             sdk.CodeType = 1118

	// reputation errors reserve 1200 ~ 1299
	CodeReputationQueryFailed sdk.CodeType = 1200
)

Variables

View Source
var (
	// LowerBoundRat - the lower bound of Rat
	LowerBoundRat = NewDecFromRat(1, Decimals)
	// UpperBoundRat - the upper bound of Rat
	UpperBoundRat = sdk.NewDec(math.MaxInt64 / Decimals)
)

Functions

func CheckPathContentAndMinLength added in v0.2.0

func CheckPathContentAndMinLength(path []string, expectMinLength int) sdk.Error

func ErrAmountOverflow added in v0.1.1

func ErrAmountOverflow() sdk.Error

ErrAmountOverflow - error if coin amount int64 overflow

func ErrInvalidCoins

func ErrInvalidCoins(msg string) sdk.Error

ErrInvalidCoins - error if convert LNO to Coin failed

func ErrInvalidQueryPath added in v0.2.0

func ErrInvalidQueryPath() sdk.Error

ErrInvalidQueryPath - error if query path length is incorrect or content is invalid

func FindAccountInList added in v0.1.1

func FindAccountInList(me AccountKey, lst []AccountKey) int

FindAccountInList - find AccountKey in given AccountKey list

func NewDecFromRat added in v0.2.0

func NewDecFromRat(a, b int64) sdk.Dec

NewDecFromRat converting a / b to Dec, no float involved.

func NewError

func NewError(code sdk.CodeType, msg string) sdk.Error

NewError - create an error

func RegisterWire

func RegisterWire(cdc *wire.Codec)

Register the lino message type

Types

type AccountKey

type AccountKey string

AccountKey key format in KVStore

type CapacityLevel

type CapacityLevel int

msg CapacityLevel, different level cost different user capacity

type Coin

type Coin struct {
	// Amount *big.Int `json:"amount"`
	Amount sdk.Int `json:"amount"`
}

Coin - 10^5 Coin = 1 LNO

func DecToCoin added in v0.2.0

func DecToCoin(rat sdk.Dec) Coin

DecToCoin - convert sdk.Dec to LNO coin XXX(yumin): the unit of @p rat must be coin.

func LinoToCoin

func LinoToCoin(lino LNO) (Coin, sdk.Error)

LinoToCoin - convert 1 LNO to 10^5 Coin

func NewCoinFromBigInt

func NewCoinFromBigInt(amount *big.Int) Coin

NewCoinFromBigInt - return big.Int amount of Coin

func NewCoinFromInt64

func NewCoinFromInt64(amount int64) Coin

NewCoinFromInt64 - return int64 amount of Coin

func NewCoinFromString

func NewCoinFromString(amount string) (Coin, bool)

NewCoinFromString - return string amount of Coin

func (Coin) IsEqual

func (coin Coin) IsEqual(other Coin) bool

IsEqual - returns true if the two sets of Coins have the same value

func (Coin) IsGT

func (coin Coin) IsGT(other Coin) bool

IsGT - returns true if the receiver is greater value

func (Coin) IsGTE

func (coin Coin) IsGTE(other Coin) bool

IsGTE - returns true if they are the same type and the receiver is an equal or greater value

func (Coin) IsNotNegative

func (coin Coin) IsNotNegative() bool

IsNotNegative - returns true if coin amount is not negative

func (Coin) IsPositive

func (coin Coin) IsPositive() bool

IsPositive - returns true if coin amount is positive

func (Coin) IsZero

func (coin Coin) IsZero() bool

IsZero - returns if this represents no money

func (Coin) Minus

func (coin Coin) Minus(coinB Coin) Coin

Minus - Subtracts amounts of two coins with same denom

func (Coin) Plus

func (coin Coin) Plus(coinB Coin) Coin

Plus - Adds amounts of two coins with same denom

func (Coin) String

func (coin Coin) String() string

String - provides a human-readable representation of a coin

func (Coin) ToDec added in v0.2.0

func (coin Coin) ToDec() sdk.Dec

ToDec - convert Coin to sdk.Dec

func (Coin) ToInt64

func (coin Coin) ToInt64() (int64, sdk.Error)

ToInt64 - convert Coin to int64

type DonationType

type DonationType int

indicates donation type

type Event

type Event interface{}

Event - event executed in app.go

type IDToURLMapping

type IDToURLMapping struct {
	Identifier string `json:"identifier"`
	URL        string `json:"url"`
}

Donation struct, only used in Donation

type LNO

type LNO = string

LNO - exposed type

type Msg

type Msg interface {
	sdk.Msg
	GetPermission() Permission
	GetConsumeAmount() Coin
}

Transactions messages must fulfill the Msg

type PenaltyList

type PenaltyList struct {
	PenaltyList []AccountKey `json:"penalty_list"`
}

PenaltyList - get validator who doesn't vote for proposal

type Permission

type Permission int

user permission type to present different permission for different msg

type Permlink string

Permlink key format in KVStore

func GetPermlink(author AccountKey, postID string) Permlink

GetPostKey try to generate PostKey from types.AccountKey and PostID

type ProposalKey

type ProposalKey string

ProposalKey key format in KVStore

type ProposalResult

type ProposalResult int

indicates the current proposal status

type ProposalType

type ProposalType int

indicates proposal type

type PunishType

type PunishType int

indicates the type of punishment for oncall validators

type TimeEventList

type TimeEventList struct {
	Events []Event `json:"events"`
}

Minute -> TimeEventList

type TransferDetailType

type TransferDetailType int

indicates all possible balance behavior types

Jump to

Keyboard shortcuts

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