Skip to main content
Version: 1.2.0

Protocol Documentation

Table of Contents​

Top

centerchain/income/v1/tx.proto​

MsgClaimRewards​

FieldTypeLabelDescription
senderstring
eligibility_denomstringOptional shared filters for fungible streams and NFT claimables. For NFTs, eligibility_denom matches class_id; empty means all eligible claims. A restricted selected NFT claim rejects the whole MsgClaimRewards atomically.
reward_denomstringFor NFTs, reward_denom matches the claimable payout denom; empty means all.
max_nft_claimsuint640 uses Params.max_nft_claims.

MsgClaimRewardsResponse​

FieldTypeLabelDescription
fungible_claimedcosmos.base.v1beta1.Coinrepeated
nft_claims_paiduint64

MsgDistribute​

FieldTypeLabelDescription
senderstring
eligibility_denomstring
reward_denomstring
amountcosmos.base.v1beta1.Coin

MsgDistributeResponse​

MsgPushNFTClaimable​

FieldTypeLabelDescription
senderstring
class_idstring
token_idstring
reward_denomstring
amountcosmos.base.v1beta1.Coin

MsgPushNFTClaimableResponse​

MsgSetIncome​

FieldTypeLabelDescription
authoritystringauthority is the signer: tokenfactory denom admin, income admin, or module authority.
denomstringdenom is the eligibility bank denom or NFT class id.
yield_addressstringyield_address empty defaults to the income module yield account.
has_incomebool

MsgSetIncomeResponse​

MsgUpdateParams​

FieldTypeLabelDescription
authoritystring
paramsParams

MsgUpdateParamsResponse​

Msg​

Method NameRequest TypeResponse TypeDescription
SetIncomeMsgSetIncomeMsgSetIncomeResponseSetIncome registers or updates the income configuration for an eligibility denom or NFT class id (yield address + has_income flag).
DistributeMsgDistributeMsgDistributeResponseDistribute moves reward tokens from the sender into the yield account and bumps the reward-per-share accumulator for the eligibility stream.
ClaimRewardsMsgClaimRewardsMsgClaimRewardsResponseClaimRewards settles and pays fungible claimables plus an NFT claim batch.
PushNFTClaimableMsgPushNFTClaimableMsgPushNFTClaimableResponsePushNFTClaimable funds the yield account and earmarks an NFT claimable.
UpdateParamsMsgUpdateParamsMsgUpdateParamsResponseUpdateParams updates module parameters (governance authority).

Scalar Value Types​

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)