Skip to content

Commit 83b5b52

Browse files
author
nashqueue
committed
ignite cli scaffold message submit-wordle
1 parent b30d99f commit 83b5b52

File tree

16 files changed

+901
-16
lines changed

16 files changed

+901
-16
lines changed

docs/static/openapi.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51927,6 +51927,8 @@ definitions:
5192751927
title: >-
5192851928
SignatureCounts contains information about signature reporting for a
5192951929
number of blocks
51930+
yazzyyaz.wordle.wordle.MsgSubmitWordleResponse:
51931+
type: object
5193051932
yazzyyaz.wordle.wordle.Params:
5193151933
type: object
5193251934
description: Params defines the parameters for the module.

proto/wordle/tx.proto

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@ option go_package = "github.com/YazzyYaz/wordle/x/wordle/types";
77

88
// Msg defines the Msg service.
99
service Msg {
10-
// this line is used by starport scaffolding # proto/tx/rpc
10+
rpc SubmitWordle(MsgSubmitWordle) returns (MsgSubmitWordleResponse);
11+
// this line is used by starport scaffolding # proto/tx/rpc
12+
}
13+
14+
message MsgSubmitWordle {
15+
string creator = 1;
16+
string word = 2;
17+
}
18+
19+
message MsgSubmitWordleResponse {
1120
}
1221

1322
// this line is used by starport scaffolding # proto/tx/message

vue/src/store/generated/YazzyYaz/wordle/yazzyyaz.wordle.wordle/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 sendMsgSubmitWordle({ rootGetters }, { value, fee = [], memo = '' }) {
139+
try {
140+
const txClient=await initTxClient(rootGetters)
141+
const msg = await txClient.msgSubmitWordle(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:MsgSubmitWordle:Init Could not initialize signing client. Wallet is required.')
148+
}else{
149+
throw new Error('TxClient:MsgSubmitWordle:Send Could not broadcast Tx: '+ e.message)
150+
}
151+
}
152+
},
138153

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

140168
}
141169
}

vue/src/store/generated/YazzyYaz/wordle/yazzyyaz.wordle.wordle/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 { MsgSubmitWordle } from "./types/wordle/tx";
78

89

910
const types = [
11+
["/yazzyyaz.wordle.wordle.MsgSubmitWordle", MsgSubmitWordle],
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+
msgSubmitWordle: (data: MsgSubmitWordle): EncodeObject => ({ typeUrl: "/yazzyyaz.wordle.wordle.MsgSubmitWordle", value: MsgSubmitWordle.fromPartial( data ) }),
4245

4346
};
4447
};

vue/src/store/generated/YazzyYaz/wordle/yazzyyaz.wordle.wordle/module/rest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ export interface RpcStatus {
2020
details?: ProtobufAny[];
2121
}
2222

23+
export type WordleMsgSubmitWordleResponse = object;
24+
2325
/**
2426
* Params defines the parameters for the module.
2527
*/

vue/src/store/generated/YazzyYaz/wordle/yazzyyaz.wordle.wordle/module/types/wordle/tx.ts

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

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

7137
export class MsgClientImpl implements Msg {
8138
private readonly rpc: Rpc;
9139
constructor(rpc: Rpc) {
10140
this.rpc = rpc;
11141
}
142+
SubmitWordle(request: MsgSubmitWordle): Promise<MsgSubmitWordleResponse> {
143+
const data = MsgSubmitWordle.encode(request).finish();
144+
const promise = this.rpc.request(
145+
"yazzyyaz.wordle.wordle.Msg",
146+
"SubmitWordle",
147+
data
148+
);
149+
return promise.then((data) =>
150+
MsgSubmitWordleResponse.decode(new Reader(data))
151+
);
152+
}
12153
}
13154

14155
interface Rpc {
@@ -18,3 +159,14 @@ interface Rpc {
18159
data: Uint8Array
19160
): Promise<Uint8Array>;
20161
}
162+
163+
type Builtin = Date | Function | Uint8Array | string | number | undefined;
164+
export type DeepPartial<T> = T extends Builtin
165+
? T
166+
: T extends Array<infer U>
167+
? Array<DeepPartial<U>>
168+
: T extends ReadonlyArray<infer U>
169+
? ReadonlyArray<DeepPartial<U>>
170+
: T extends {}
171+
? { [K in keyof T]?: DeepPartial<T[K]> }
172+
: Partial<T>;

x/wordle/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(CmdSubmitWordle())
3334
// this line is used by starport scaffolding # 1
3435

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

x/wordle/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.MsgSubmitWordle:
21+
res, err := msgServer.SubmitWordle(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+
"github.com/YazzyYaz/wordle/x/wordle/types"
7+
sdk "github.com/cosmos/cosmos-sdk/types"
8+
)
9+
10+
func (k msgServer) SubmitWordle(goCtx context.Context, msg *types.MsgSubmitWordle) (*types.MsgSubmitWordleResponse, error) {
11+
ctx := sdk.UnwrapSDKContext(goCtx)
12+
13+
// TODO: Handling the message
14+
_ = ctx
15+
16+
return &types.MsgSubmitWordleResponse{}, nil
17+
}

0 commit comments

Comments
 (0)