syntax = "proto3"; package mukan.poj.v1; import "amino/amino.proto"; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "mukan/poj/v1/params.proto"; option go_package = "mukan/x/poj/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); // Mine defines a mining operation. rpc Mine(MsgMine) returns (MsgMineResponse); } // MsgMine defines a mining message. message MsgMine { option (cosmos.msg.v1.signer) = "miner"; string miner = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; uint64 nonce = 2; } // MsgMineResponse defines the response structure for MsgMine. message MsgMineResponse { bool success = 1; string reward_amount = 2; } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { option (cosmos.msg.v1.signer) = "authority"; option (amino.name) = "mukan/x/poj/MsgUpdateParams"; // authority is the address that controls the module (defaults to x/gov unless overwritten). string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // params defines the module parameters to update. // // NOTE: All parameters must be supplied. Params params = 2 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } // MsgUpdateParamsResponse defines the response structure for executing a // MsgUpdateParams message. message MsgUpdateParamsResponse {}