Skip to content

Commit ff67e77

Browse files
author
nashqueue
committed
ignite scaffold message buyname
1 parent dccc7d0 commit ff67e77

File tree

16 files changed

+964
-15
lines changed

16 files changed

+964
-15
lines changed

docs/static/openapi.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51552,6 +51552,8 @@ definitions:
5155251552
description: |-
5155351553
Version defines the versioning scheme used to negotiate the IBC verison in
5155451554
the connection handshake.
51555+
nameservice.nameservice.MsgBuyNameResponse:
51556+
type: object
5155551557
nameservice.nameservice.Params:
5155651558
type: object
5155751559
description: Params defines the parameters for the module.

proto/nameservice/tx.proto

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,17 @@ option go_package = "nameservice/x/nameservice/types";
77

88
// Msg defines the Msg service.
99
service Msg {
10-
// this line is used by starport scaffolding # proto/tx/rpc
10+
rpc BuyName(MsgBuyName) returns (MsgBuyNameResponse);
11+
// this line is used by starport scaffolding # proto/tx/rpc
12+
}
13+
14+
message MsgBuyName {
15+
string creator = 1;
16+
string name = 2;
17+
string bid = 3;
18+
}
19+
20+
message MsgBuyNameResponse {
1121
}
1222

1323
// 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
@@ -135,7 +135,35 @@ export default {
135135
},
136136

137137

138+
async sendMsgBuyName({ rootGetters }, { value, fee = [], memo = '' }) {
139+
try {
140+
const txClient=await initTxClient(rootGetters)
141+
const msg = await txClient.msgBuyName(value)
142+
const result = await txClient.signAndBroadcast([msg], {fee: { amount: fee,
143+
gas: "200000" }, memo})
144+
return result
145+
} catch (e) {
146+
if (e == MissingWalletError) {
147+
throw new Error('TxClient:MsgBuyName:Init Could not initialize signing client. Wallet is required.')
148+
}else{
149+
throw new Error('TxClient:MsgBuyName:Send Could not broadcast Tx: '+ e.message)
150+
}
151+
}
152+
},
138153

154+
async MsgBuyName({ rootGetters }, { value }) {
155+
try {
156+
const txClient=await initTxClient(rootGetters)
157+
const msg = await txClient.msgBuyName(value)
158+
return msg
159+
} catch (e) {
160+
if (e == MissingWalletError) {
161+
throw new Error('TxClient:MsgBuyName:Init Could not initialize signing client. Wallet is required.')
162+
} else{
163+
throw new Error('TxClient:MsgBuyName:Create Could not create message: ' + e.message)
164+
}
165+
}
166+
},
139167

140168
}
141169
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import { StdFee } from "@cosmjs/launchpad";
44
import { SigningStargateClient } from "@cosmjs/stargate";
55
import { Registry, OfflineSigner, EncodeObject, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
66
import { Api } from "./rest";
7+
import { MsgBuyName } from "./types/nameservice/tx";
78

89

910
const types = [
11+
["/nameservice.nameservice.MsgBuyName", MsgBuyName],
1012

1113
];
1214
export const MissingWalletError = new Error("wallet is required");
@@ -39,6 +41,7 @@ const txClient = async (wallet: OfflineSigner, { addr: addr }: TxClientOptions =
3941

4042
return {
4143
signAndBroadcast: (msgs: EncodeObject[], { fee, memo }: SignAndBroadcastOptions = {fee: defaultFee, memo: ""}) => client.signAndBroadcast(address, msgs, fee,memo),
44+
msgBuyName: (data: MsgBuyName): EncodeObject => ({ typeUrl: "/nameservice.nameservice.MsgBuyName", value: MsgBuyName.fromPartial( data ) }),
4245

4346
};
4447
};

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
* ---------------------------------------------------------------
1010
*/
1111

12+
export type NameserviceMsgBuyNameResponse = object;
13+
1214
/**
1315
* Params defines the parameters for the module.
1416
*/

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

Lines changed: 161 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,163 @@
11
/* eslint-disable */
2+
import { Reader, Writer } from "protobufjs/minimal";
3+
24
export const protobufPackage = "nameservice.nameservice";
35

6+
export interface MsgBuyName {
7+
creator: string;
8+
name: string;
9+
bid: string;
10+
}
11+
12+
export interface MsgBuyNameResponse {}
13+
14+
const baseMsgBuyName: object = { creator: "", name: "", bid: "" };
15+
16+
export const MsgBuyName = {
17+
encode(message: MsgBuyName, writer: Writer = Writer.create()): Writer {
18+
if (message.creator !== "") {
19+
writer.uint32(10).string(message.creator);
20+
}
21+
if (message.name !== "") {
22+
writer.uint32(18).string(message.name);
23+
}
24+
if (message.bid !== "") {
25+
writer.uint32(26).string(message.bid);
26+
}
27+
return writer;
28+
},
29+
30+
decode(input: Reader | Uint8Array, length?: number): MsgBuyName {
31+
const reader = input instanceof Uint8Array ? new Reader(input) : input;
32+
let end = length === undefined ? reader.len : reader.pos + length;
33+
const message = { ...baseMsgBuyName } as MsgBuyName;
34+
while (reader.pos < end) {
35+
const tag = reader.uint32();
36+
switch (tag >>> 3) {
37+
case 1:
38+
message.creator = reader.string();
39+
break;
40+
case 2:
41+
message.name = reader.string();
42+
break;
43+
case 3:
44+
message.bid = reader.string();
45+
break;
46+
default:
47+
reader.skipType(tag & 7);
48+
break;
49+
}
50+
}
51+
return message;
52+
},
53+
54+
fromJSON(object: any): MsgBuyName {
55+
const message = { ...baseMsgBuyName } as MsgBuyName;
56+
if (object.creator !== undefined && object.creator !== null) {
57+
message.creator = String(object.creator);
58+
} else {
59+
message.creator = "";
60+
}
61+
if (object.name !== undefined && object.name !== null) {
62+
message.name = String(object.name);
63+
} else {
64+
message.name = "";
65+
}
66+
if (object.bid !== undefined && object.bid !== null) {
67+
message.bid = String(object.bid);
68+
} else {
69+
message.bid = "";
70+
}
71+
return message;
72+
},
73+
74+
toJSON(message: MsgBuyName): unknown {
75+
const obj: any = {};
76+
message.creator !== undefined && (obj.creator = message.creator);
77+
message.name !== undefined && (obj.name = message.name);
78+
message.bid !== undefined && (obj.bid = message.bid);
79+
return obj;
80+
},
81+
82+
fromPartial(object: DeepPartial<MsgBuyName>): MsgBuyName {
83+
const message = { ...baseMsgBuyName } as MsgBuyName;
84+
if (object.creator !== undefined && object.creator !== null) {
85+
message.creator = object.creator;
86+
} else {
87+
message.creator = "";
88+
}
89+
if (object.name !== undefined && object.name !== null) {
90+
message.name = object.name;
91+
} else {
92+
message.name = "";
93+
}
94+
if (object.bid !== undefined && object.bid !== null) {
95+
message.bid = object.bid;
96+
} else {
97+
message.bid = "";
98+
}
99+
return message;
100+
},
101+
};
102+
103+
const baseMsgBuyNameResponse: object = {};
104+
105+
export const MsgBuyNameResponse = {
106+
encode(_: MsgBuyNameResponse, writer: Writer = Writer.create()): Writer {
107+
return writer;
108+
},
109+
110+
decode(input: Reader | Uint8Array, length?: number): MsgBuyNameResponse {
111+
const reader = input instanceof Uint8Array ? new Reader(input) : input;
112+
let end = length === undefined ? reader.len : reader.pos + length;
113+
const message = { ...baseMsgBuyNameResponse } as MsgBuyNameResponse;
114+
while (reader.pos < end) {
115+
const tag = reader.uint32();
116+
switch (tag >>> 3) {
117+
default:
118+
reader.skipType(tag & 7);
119+
break;
120+
}
121+
}
122+
return message;
123+
},
124+
125+
fromJSON(_: any): MsgBuyNameResponse {
126+
const message = { ...baseMsgBuyNameResponse } as MsgBuyNameResponse;
127+
return message;
128+
},
129+
130+
toJSON(_: MsgBuyNameResponse): unknown {
131+
const obj: any = {};
132+
return obj;
133+
},
134+
135+
fromPartial(_: DeepPartial<MsgBuyNameResponse>): MsgBuyNameResponse {
136+
const message = { ...baseMsgBuyNameResponse } as MsgBuyNameResponse;
137+
return message;
138+
},
139+
};
140+
4141
/** Msg defines the Msg service. */
5-
export interface Msg {}
142+
export interface Msg {
143+
/** this line is used by starport scaffolding # proto/tx/rpc */
144+
BuyName(request: MsgBuyName): Promise<MsgBuyNameResponse>;
145+
}
6146

7147
export class MsgClientImpl implements Msg {
8148
private readonly rpc: Rpc;
9149
constructor(rpc: Rpc) {
10150
this.rpc = rpc;
11151
}
152+
BuyName(request: MsgBuyName): Promise<MsgBuyNameResponse> {
153+
const data = MsgBuyName.encode(request).finish();
154+
const promise = this.rpc.request(
155+
"nameservice.nameservice.Msg",
156+
"BuyName",
157+
data
158+
);
159+
return promise.then((data) => MsgBuyNameResponse.decode(new Reader(data)));
160+
}
12161
}
13162

14163
interface Rpc {
@@ -18,3 +167,14 @@ interface Rpc {
18167
data: Uint8Array
19168
): Promise<Uint8Array>;
20169
}
170+
171+
type Builtin = Date | Function | Uint8Array | string | number | undefined;
172+
export type DeepPartial<T> = T extends Builtin
173+
? T
174+
: T extends Array<infer U>
175+
? Array<DeepPartial<U>>
176+
: T extends ReadonlyArray<infer U>
177+
? ReadonlyArray<DeepPartial<U>>
178+
: T extends {}
179+
? { [K in keyof T]?: DeepPartial<T[K]> }
180+
: Partial<T>;

x/nameservice/client/cli/tx.go

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

33+
cmd.AddCommand(CmdBuyName())
3334
// this line is used by starport scaffolding # 1
3435

3536
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 CmdBuyName() *cobra.Command {
16+
cmd := &cobra.Command{
17+
Use: "buy-name [name] [bid]",
18+
Short: "Broadcast message buy-name",
19+
Args: cobra.ExactArgs(2),
20+
RunE: func(cmd *cobra.Command, args []string) (err error) {
21+
argName := args[0]
22+
argBid := args[1]
23+
24+
clientCtx, err := client.GetClientTxContext(cmd)
25+
if err != nil {
26+
return err
27+
}
28+
29+
msg := types.NewMsgBuyName(
30+
clientCtx.GetFromAddress().String(),
31+
argName,
32+
argBid,
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: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ import (
1111

1212
// NewHandler ...
1313
func NewHandler(k keeper.Keeper) sdk.Handler {
14-
// this line is used by starport scaffolding # handler/msgServer
14+
msgServer := keeper.NewMsgServerImpl(k)
1515

1616
return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) {
1717
ctx = ctx.WithEventManager(sdk.NewEventManager())
1818

1919
switch msg := msg.(type) {
20-
// this line is used by starport scaffolding # 1
20+
case *types.MsgBuyName:
21+
res, err := msgServer.BuyName(sdk.WrapSDKContext(ctx), msg)
22+
return sdk.WrapServiceResult(ctx, res, err)
23+
// this line is used by starport scaffolding # 1
2124
default:
2225
errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg)
2326
return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg)
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) BuyName(goCtx context.Context, msg *types.MsgBuyName) (*types.MsgBuyNameResponse, error) {
11+
ctx := sdk.UnwrapSDKContext(goCtx)
12+
13+
// TODO: Handling the message
14+
_ = ctx
15+
16+
return &types.MsgBuyNameResponse{}, nil
17+
}

0 commit comments

Comments
 (0)