Skip to content

Commit 0ea017b

Browse files
author
nashqueue
committed
ignite scaffold message set name
1 parent ff67e77 commit 0ea017b

File tree

16 files changed

+830
-9
lines changed

16 files changed

+830
-9
lines changed

docs/static/openapi.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51554,6 +51554,8 @@ definitions:
5155451554
the connection handshake.
5155551555
nameservice.nameservice.MsgBuyNameResponse:
5155651556
type: object
51557+
nameservice.nameservice.MsgSetNameResponse:
51558+
type: object
5155751559
nameservice.nameservice.Params:
5155851560
type: object
5155951561
description: Params defines the parameters for the module.

proto/nameservice/tx.proto

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ option go_package = "nameservice/x/nameservice/types";
88
// Msg defines the Msg service.
99
service Msg {
1010
rpc BuyName(MsgBuyName) returns (MsgBuyNameResponse);
11+
rpc SetName(MsgSetName) returns (MsgSetNameResponse);
1112
// this line is used by starport scaffolding # proto/tx/rpc
1213
}
1314

@@ -20,4 +21,13 @@ message MsgBuyName {
2021
message MsgBuyNameResponse {
2122
}
2223

24+
message MsgSetName {
25+
string creator = 1;
26+
string name = 2;
27+
string value = 3;
28+
}
29+
30+
message MsgSetNameResponse {
31+
}
32+
2333
// this line is used by starport scaffolding # proto/tx/message

vue/src/store/generated/nameservice/nameservice.nameservice/index.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,21 @@ export default {
150150
}
151151
}
152152
},
153+
async sendMsgSetName({ rootGetters }, { value, fee = [], memo = '' }) {
154+
try {
155+
const txClient=await initTxClient(rootGetters)
156+
const msg = await txClient.msgSetName(value)
157+
const result = await txClient.signAndBroadcast([msg], {fee: { amount: fee,
158+
gas: "200000" }, memo})
159+
return result
160+
} catch (e) {
161+
if (e == MissingWalletError) {
162+
throw new Error('TxClient:MsgSetName:Init Could not initialize signing client. Wallet is required.')
163+
}else{
164+
throw new Error('TxClient:MsgSetName:Send Could not broadcast Tx: '+ e.message)
165+
}
166+
}
167+
},
153168

154169
async MsgBuyName({ rootGetters }, { value }) {
155170
try {
@@ -164,6 +179,19 @@ export default {
164179
}
165180
}
166181
},
182+
async MsgSetName({ rootGetters }, { value }) {
183+
try {
184+
const txClient=await initTxClient(rootGetters)
185+
const msg = await txClient.msgSetName(value)
186+
return msg
187+
} catch (e) {
188+
if (e == MissingWalletError) {
189+
throw new Error('TxClient:MsgSetName:Init Could not initialize signing client. Wallet is required.')
190+
} else{
191+
throw new Error('TxClient:MsgSetName:Create Could not create message: ' + e.message)
192+
}
193+
}
194+
},
167195

168196
}
169197
}

vue/src/store/generated/nameservice/nameservice.nameservice/module/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ import { SigningStargateClient } from "@cosmjs/stargate";
55
import { Registry, OfflineSigner, EncodeObject, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
66
import { Api } from "./rest";
77
import { MsgBuyName } from "./types/nameservice/tx";
8+
import { MsgSetName } from "./types/nameservice/tx";
89

910

1011
const types = [
1112
["/nameservice.nameservice.MsgBuyName", MsgBuyName],
13+
["/nameservice.nameservice.MsgSetName", MsgSetName],
1214

1315
];
1416
export const MissingWalletError = new Error("wallet is required");
@@ -42,6 +44,7 @@ const txClient = async (wallet: OfflineSigner, { addr: addr }: TxClientOptions =
4244
return {
4345
signAndBroadcast: (msgs: EncodeObject[], { fee, memo }: SignAndBroadcastOptions = {fee: defaultFee, memo: ""}) => client.signAndBroadcast(address, msgs, fee,memo),
4446
msgBuyName: (data: MsgBuyName): EncodeObject => ({ typeUrl: "/nameservice.nameservice.MsgBuyName", value: MsgBuyName.fromPartial( data ) }),
47+
msgSetName: (data: MsgSetName): EncodeObject => ({ typeUrl: "/nameservice.nameservice.MsgSetName", value: MsgSetName.fromPartial( data ) }),
4548

4649
};
4750
};

vue/src/store/generated/nameservice/nameservice.nameservice/module/rest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
export type NameserviceMsgBuyNameResponse = object;
1313

14+
export type NameserviceMsgSetNameResponse = object;
15+
1416
/**
1517
* Params defines the parameters for the module.
1618
*/

vue/src/store/generated/nameservice/nameservice.nameservice/module/types/nameservice/tx.ts

Lines changed: 147 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ export interface MsgBuyName {
1111

1212
export interface MsgBuyNameResponse {}
1313

14+
export interface MsgSetName {
15+
creator: string;
16+
name: string;
17+
value: string;
18+
}
19+
20+
export interface MsgSetNameResponse {}
21+
1422
const baseMsgBuyName: object = { creator: "", name: "", bid: "" };
1523

1624
export const MsgBuyName = {
@@ -138,10 +146,138 @@ export const MsgBuyNameResponse = {
138146
},
139147
};
140148

149+
const baseMsgSetName: object = { creator: "", name: "", value: "" };
150+
151+
export const MsgSetName = {
152+
encode(message: MsgSetName, writer: Writer = Writer.create()): Writer {
153+
if (message.creator !== "") {
154+
writer.uint32(10).string(message.creator);
155+
}
156+
if (message.name !== "") {
157+
writer.uint32(18).string(message.name);
158+
}
159+
if (message.value !== "") {
160+
writer.uint32(26).string(message.value);
161+
}
162+
return writer;
163+
},
164+
165+
decode(input: Reader | Uint8Array, length?: number): MsgSetName {
166+
const reader = input instanceof Uint8Array ? new Reader(input) : input;
167+
let end = length === undefined ? reader.len : reader.pos + length;
168+
const message = { ...baseMsgSetName } as MsgSetName;
169+
while (reader.pos < end) {
170+
const tag = reader.uint32();
171+
switch (tag >>> 3) {
172+
case 1:
173+
message.creator = reader.string();
174+
break;
175+
case 2:
176+
message.name = reader.string();
177+
break;
178+
case 3:
179+
message.value = reader.string();
180+
break;
181+
default:
182+
reader.skipType(tag & 7);
183+
break;
184+
}
185+
}
186+
return message;
187+
},
188+
189+
fromJSON(object: any): MsgSetName {
190+
const message = { ...baseMsgSetName } as MsgSetName;
191+
if (object.creator !== undefined && object.creator !== null) {
192+
message.creator = String(object.creator);
193+
} else {
194+
message.creator = "";
195+
}
196+
if (object.name !== undefined && object.name !== null) {
197+
message.name = String(object.name);
198+
} else {
199+
message.name = "";
200+
}
201+
if (object.value !== undefined && object.value !== null) {
202+
message.value = String(object.value);
203+
} else {
204+
message.value = "";
205+
}
206+
return message;
207+
},
208+
209+
toJSON(message: MsgSetName): unknown {
210+
const obj: any = {};
211+
message.creator !== undefined && (obj.creator = message.creator);
212+
message.name !== undefined && (obj.name = message.name);
213+
message.value !== undefined && (obj.value = message.value);
214+
return obj;
215+
},
216+
217+
fromPartial(object: DeepPartial<MsgSetName>): MsgSetName {
218+
const message = { ...baseMsgSetName } as MsgSetName;
219+
if (object.creator !== undefined && object.creator !== null) {
220+
message.creator = object.creator;
221+
} else {
222+
message.creator = "";
223+
}
224+
if (object.name !== undefined && object.name !== null) {
225+
message.name = object.name;
226+
} else {
227+
message.name = "";
228+
}
229+
if (object.value !== undefined && object.value !== null) {
230+
message.value = object.value;
231+
} else {
232+
message.value = "";
233+
}
234+
return message;
235+
},
236+
};
237+
238+
const baseMsgSetNameResponse: object = {};
239+
240+
export const MsgSetNameResponse = {
241+
encode(_: MsgSetNameResponse, writer: Writer = Writer.create()): Writer {
242+
return writer;
243+
},
244+
245+
decode(input: Reader | Uint8Array, length?: number): MsgSetNameResponse {
246+
const reader = input instanceof Uint8Array ? new Reader(input) : input;
247+
let end = length === undefined ? reader.len : reader.pos + length;
248+
const message = { ...baseMsgSetNameResponse } as MsgSetNameResponse;
249+
while (reader.pos < end) {
250+
const tag = reader.uint32();
251+
switch (tag >>> 3) {
252+
default:
253+
reader.skipType(tag & 7);
254+
break;
255+
}
256+
}
257+
return message;
258+
},
259+
260+
fromJSON(_: any): MsgSetNameResponse {
261+
const message = { ...baseMsgSetNameResponse } as MsgSetNameResponse;
262+
return message;
263+
},
264+
265+
toJSON(_: MsgSetNameResponse): unknown {
266+
const obj: any = {};
267+
return obj;
268+
},
269+
270+
fromPartial(_: DeepPartial<MsgSetNameResponse>): MsgSetNameResponse {
271+
const message = { ...baseMsgSetNameResponse } as MsgSetNameResponse;
272+
return message;
273+
},
274+
};
275+
141276
/** Msg defines the Msg service. */
142277
export interface Msg {
143-
/** this line is used by starport scaffolding # proto/tx/rpc */
144278
BuyName(request: MsgBuyName): Promise<MsgBuyNameResponse>;
279+
/** this line is used by starport scaffolding # proto/tx/rpc */
280+
SetName(request: MsgSetName): Promise<MsgSetNameResponse>;
145281
}
146282

147283
export class MsgClientImpl implements Msg {
@@ -158,6 +294,16 @@ export class MsgClientImpl implements Msg {
158294
);
159295
return promise.then((data) => MsgBuyNameResponse.decode(new Reader(data)));
160296
}
297+
298+
SetName(request: MsgSetName): Promise<MsgSetNameResponse> {
299+
const data = MsgSetName.encode(request).finish();
300+
const promise = this.rpc.request(
301+
"nameservice.nameservice.Msg",
302+
"SetName",
303+
data
304+
);
305+
return promise.then((data) => MsgSetNameResponse.decode(new Reader(data)));
306+
}
161307
}
162308

163309
interface Rpc {

x/nameservice/client/cli/tx.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ func GetTxCmd() *cobra.Command {
3131
}
3232

3333
cmd.AddCommand(CmdBuyName())
34+
cmd.AddCommand(CmdSetName())
3435
// this line is used by starport scaffolding # 1
3536

3637
return cmd
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package cli
2+
3+
import (
4+
"strconv"
5+
6+
"github.com/cosmos/cosmos-sdk/client"
7+
"github.com/cosmos/cosmos-sdk/client/flags"
8+
"github.com/cosmos/cosmos-sdk/client/tx"
9+
"github.com/spf13/cobra"
10+
"nameservice/x/nameservice/types"
11+
)
12+
13+
var _ = strconv.Itoa(0)
14+
15+
func CmdSetName() *cobra.Command {
16+
cmd := &cobra.Command{
17+
Use: "set-name [name] [value]",
18+
Short: "Broadcast message set-name",
19+
Args: cobra.ExactArgs(2),
20+
RunE: func(cmd *cobra.Command, args []string) (err error) {
21+
argName := args[0]
22+
argValue := args[1]
23+
24+
clientCtx, err := client.GetClientTxContext(cmd)
25+
if err != nil {
26+
return err
27+
}
28+
29+
msg := types.NewMsgSetName(
30+
clientCtx.GetFromAddress().String(),
31+
argName,
32+
argValue,
33+
)
34+
if err := msg.ValidateBasic(); err != nil {
35+
return err
36+
}
37+
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
38+
},
39+
}
40+
41+
flags.AddTxFlagsToCmd(cmd)
42+
43+
return cmd
44+
}

x/nameservice/handler.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ func NewHandler(k keeper.Keeper) sdk.Handler {
2020
case *types.MsgBuyName:
2121
res, err := msgServer.BuyName(sdk.WrapSDKContext(ctx), msg)
2222
return sdk.WrapServiceResult(ctx, res, err)
23+
case *types.MsgSetName:
24+
res, err := msgServer.SetName(sdk.WrapSDKContext(ctx), msg)
25+
return sdk.WrapServiceResult(ctx, res, err)
2326
// this line is used by starport scaffolding # 1
2427
default:
2528
errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package keeper
2+
3+
import (
4+
"context"
5+
6+
sdk "github.com/cosmos/cosmos-sdk/types"
7+
"nameservice/x/nameservice/types"
8+
)
9+
10+
func (k msgServer) SetName(goCtx context.Context, msg *types.MsgSetName) (*types.MsgSetNameResponse, error) {
11+
ctx := sdk.UnwrapSDKContext(goCtx)
12+
13+
// TODO: Handling the message
14+
_ = ctx
15+
16+
return &types.MsgSetNameResponse{}, nil
17+
}

0 commit comments

Comments
 (0)