This section elaborates on the transaction message handler methods being exposed by the House module.
Create Campaign
When a create transaction is processed, the following things happen:
Validate the incoming create message.
Call the CreateCampaign method of the keeper.
RPC
The RPC for creating a campaign is as follows:
// CreateCampaign is a method to create a campaignrpc CreateCampaign(MsgCreateCampaign) returns (MsgCreateCampaignResponse);
Request Message
The request message for CreateCampaign is MsgCreateCampaign. The proto for the request message is as follows:
// MsgCreateCampaign is msg to create a reward campaignmessage MsgCreateCampaign {// creator is the address of campaign creator account.string creator =1;// uid is the unique identifier of the campaign.string uid =2;// total_funds is the total funds allocated to the campaign.string total_funds =3 [(gogoproto.customtype) = "cosmossdk.io/math.Int",(gogoproto.nullable) = false,(gogoproto.moretags) = "yaml:\"total_funds\"" ];// ticket is the payload data.string ticket =4;}
Response Message
The response message for CreateCampaign is MsgCreateCampaignResponse. The proto for the request message is as follows:
When a create transaction is processed, the following things happen:
Validate the incoming create message.
Call the UpdateCampaign method of the keeper.
RPC
The RPC for updating a campaign is as follows:
// UpdateCampaign is a method to update campaignrpc UpdateCampaign(MsgUpdateCampaign) returns (MsgUpdateCampaignResponse);
Request Message
The request message for UpdateCampaign is MsgUpdateCampaign. The proto for the request message is as follows:
// MsgUpdateCampaign is campaign update message type.message MsgUpdateCampaign {// creator is the address of creator account.string creator =1;// uid is the unique identifier of the campaign.string uid =2;// topup_funds is the topup funds to increase the pool balance of the// campaign.string topup_funds =3 [(gogoproto.customtype) = "cosmossdk.io/math.Int",(gogoproto.nullable) = false,(gogoproto.moretags) = "yaml:\"topup_funds\"" ];// ticket is the payload data.string ticket =4;}
Response Message
The response message for UpdateCampaign is MsgUpdateCampaignResponse. The proto for the request message is as follows:
When a withdrawal funds transaction is processed, the following things happen:
Validate the incoming create message.
Call the WithdrawFunds method of the keeper.
RPC
The RPC for a withdraw funds of a campaign is as follows:
// WithdrawCampaignFunds is method to withdraw funds from the campaignrpc WithdrawFunds(MsgWithdrawFunds) returns (MsgWithdrawFundsResponse);
Request Message
The request message for WithdrawFunds is MsgWithdrawFunds. The proto for the request message is as follows:
// MsgWithdrawFunds is withdraw funds message type.message MsgWithdrawFunds {// creator is the address of creator account.string creator =1;// uid is the unique identifier of the reward campaign.string uid =2;// ticket is the payload data.string ticket =3;}
Response Message
The response message for TopUp is MsgWithdrawFundsResponse. The proto for the request message is as follows:
When a grant reward transaction is processed, the following things happen:
Validate the incoming create message.
Call the GrantReward method of the keeper.
RPC
The RPC for a grant reward of the reward module is as follows:
// GrantReward is method to allocate rewardsrpc GrantReward(MsgGrantReward) returns (MsgGrantRewardResponse);
Request Message
The request message for GrantReward is MsgGrantReward. The proto for the request message is as follows:
// MsgGrantReward is execute reward message type.message MsgGrantReward {// creator is the address of creator account.string creator =1;// uid is the unique identifier of the reward.string uid =2;// campaign_uid is the unique identifier of the reward campaign.string campaign_uid =3;// ticket is the payload data.string ticket =4;}
Response Message
The response message for GrantReward is MsgGrantRewardResponse. The proto for the request message is as follows: