@@ -11,12 +11,16 @@ import (
11
11
proto "github.com/cosmos/gogoproto/proto"
12
12
)
13
13
14
+ func extractStringFromEventMap (evMap common.EvMap , event string , topic string ) string {
15
+ return strings .Trim (evMap [event + "." + topic ][0 ], `"` )
16
+ }
17
+
14
18
// handleGroupMsgCreateGroup implements emitter handler for Group's MsgCreateGroup.
15
19
func (h * Hook ) handleGroupMsgCreateGroup (
16
20
ctx sdk.Context , evMap common.EvMap ,
17
21
) {
18
22
groupId := uint64 (
19
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventCreateGroup {})+ ".group_id" ][ 0 ], `"` )),
23
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventCreateGroup {}), "group_id" )),
20
24
)
21
25
groupInfoResponse , _ := h .groupKeeper .GroupInfo (
22
26
sdk .WrapSDKContext (ctx ),
@@ -38,7 +42,7 @@ func (h *Hook) handleGroupMsgCreateGroup(
38
42
func (h * Hook ) handleGroupMsgCreateGroupPolicy (
39
43
ctx sdk.Context , evMap common.EvMap ,
40
44
) {
41
- policyAddress := strings . Trim (evMap [ proto .MessageName (& group.EventCreateGroupPolicy {})+ ".address" ][ 0 ], `"` )
45
+ policyAddress := extractStringFromEventMap (evMap , proto .MessageName (& group.EventCreateGroupPolicy {}), "address" )
42
46
groupPolicyResponse , _ := h .groupKeeper .GroupPolicyInfo (
43
47
sdk .WrapSDKContext (ctx ),
44
48
& group.QueryGroupPolicyInfoRequest {
@@ -72,7 +76,7 @@ func (h *Hook) handleGroupMsgSubmitProposal(
72
76
ctx sdk.Context , evMap common.EvMap ,
73
77
) {
74
78
proposalId := uint64 (
75
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventSubmitProposal {})+ ".proposal_id" ][ 0 ], `"` )),
79
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventSubmitProposal {}), "proposal_id" )),
76
80
)
77
81
proposalResponse , _ := h .groupKeeper .Proposal (
78
82
sdk .WrapSDKContext (ctx ),
@@ -114,7 +118,7 @@ func (h *Hook) handleGroupMsgVote(
114
118
ctx sdk.Context , msg * group.MsgVote , evMap common.EvMap ,
115
119
) {
116
120
proposalId := uint64 (
117
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventVote {})+ ".proposal_id" ][ 0 ], `"` )),
121
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventVote {}), "proposal_id" )),
118
122
)
119
123
voteResponse , err := h .groupKeeper .VoteByProposalVoter (
120
124
sdk .WrapSDKContext (ctx ),
@@ -141,9 +145,9 @@ func (h *Hook) handleGroupMsgLeaveGroup(
141
145
ctx sdk.Context , evMap common.EvMap ,
142
146
) {
143
147
groupId := uint64 (
144
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventLeaveGroup {})+ ".group_id" ][ 0 ], `"` )),
148
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventLeaveGroup {}), "group_id" )),
145
149
)
146
- address := strings . Trim (evMap [ proto .MessageName (& group.EventLeaveGroup {})+ ".address" ][ 0 ], `"` )
150
+ address := extractStringFromEventMap (evMap , proto .MessageName (& group.EventLeaveGroup {}), "address" )
147
151
h .doUpdateGroup (ctx , groupId )
148
152
h .Write ("REMOVE_GROUP_MEMBER" , common.JsDict {
149
153
"group_id" : groupId ,
@@ -156,7 +160,7 @@ func (h *Hook) handleGroupMsgUpdateGroupAdmin(
156
160
ctx sdk.Context , evMap common.EvMap ,
157
161
) {
158
162
groupId := uint64 (
159
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventUpdateGroup {})+ ".group_id" ][ 0 ], `"` )),
163
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventUpdateGroup {}), "group_id" )),
160
164
)
161
165
h .doUpdateGroup (ctx , groupId )
162
166
}
@@ -177,7 +181,7 @@ func (h *Hook) handleGroupMsgUpdateGroupMetadata(
177
181
ctx sdk.Context , evMap common.EvMap ,
178
182
) {
179
183
groupId := uint64 (
180
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventUpdateGroup {})+ ".group_id" ][ 0 ], `"` )),
184
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventUpdateGroup {}), "group_id" )),
181
185
)
182
186
h .doUpdateGroup (ctx , groupId )
183
187
}
@@ -186,23 +190,35 @@ func (h *Hook) handleGroupMsgUpdateGroupMetadata(
186
190
func (h * Hook ) handleGroupMsgUpdateGroupPolicyAdmin (
187
191
ctx sdk.Context , evMap common.EvMap ,
188
192
) {
189
- groupPolicyAddress := strings .Trim (evMap [proto .MessageName (& group.EventUpdateGroupPolicy {})+ ".address" ][0 ], `"` )
193
+ groupPolicyAddress := extractStringFromEventMap (
194
+ evMap ,
195
+ proto .MessageName (& group.EventUpdateGroupPolicy {}),
196
+ "address" ,
197
+ )
190
198
h .doUpdateGroupPolicy (ctx , groupPolicyAddress )
191
199
}
192
200
193
201
// handleGroupMsgUpdateGroupPolicyDecisionPolicy implements emitter handler for Group's MsgUpdateGroupPolicyDecisionPolicy.
194
202
func (h * Hook ) handleGroupMsgUpdateGroupPolicyDecisionPolicy (
195
203
ctx sdk.Context , evMap common.EvMap ,
196
204
) {
197
- groupPolicyAddress := strings .Trim (evMap [proto .MessageName (& group.EventUpdateGroupPolicy {})+ ".address" ][0 ], `"` )
205
+ groupPolicyAddress := extractStringFromEventMap (
206
+ evMap ,
207
+ proto .MessageName (& group.EventUpdateGroupPolicy {}),
208
+ "address" ,
209
+ )
198
210
h .doUpdateGroupPolicy (ctx , groupPolicyAddress )
199
211
}
200
212
201
213
// handleGroupMsgUpdateGroupPolicyMetadata implements emitter handler for Group's MsgUpdateGroupPolicyMetadata.
202
214
func (h * Hook ) handleGroupMsgUpdateGroupPolicyMetadata (
203
215
ctx sdk.Context , evMap common.EvMap ,
204
216
) {
205
- groupPolicyAddress := strings .Trim (evMap [proto .MessageName (& group.EventUpdateGroupPolicy {})+ ".address" ][0 ], `"` )
217
+ groupPolicyAddress := extractStringFromEventMap (
218
+ evMap ,
219
+ proto .MessageName (& group.EventUpdateGroupPolicy {}),
220
+ "address" ,
221
+ )
206
222
h .doUpdateGroupPolicy (ctx , groupPolicyAddress )
207
223
}
208
224
@@ -211,7 +227,9 @@ func (h *Hook) handleGroupMsgWithdrawProposal(
211
227
ctx sdk.Context , evMap common.EvMap ,
212
228
) {
213
229
proposalId := uint64 (
214
- common .Atoi (strings .Trim (evMap [proto .MessageName (& group.EventWithdrawProposal {})+ ".proposal_id" ][0 ], `"` )),
230
+ common .Atoi (
231
+ extractStringFromEventMap (evMap , proto .MessageName (& group.EventWithdrawProposal {}), "proposal_id" ),
232
+ ),
215
233
)
216
234
h .doUpdateGroupProposal (ctx , proposalId )
217
235
}
@@ -224,9 +242,9 @@ func (h *Hook) handleGroupEventExec(
224
242
return
225
243
}
226
244
proposalId := uint64 (
227
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventExec {})+ ".proposal_id" ][ 0 ], `"` )),
245
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventExec {}), "proposal_id" )),
228
246
)
229
- executorResult := strings . Trim (evMap [ proto .MessageName (& group.EventExec {})+ ".result" ][ 0 ], `"` )
247
+ executorResult := extractStringFromEventMap (evMap , proto .MessageName (& group.EventExec {}), "result" )
230
248
h .Write ("UPDATE_GROUP_PROPOSAL_BY_ID" , common.JsDict {
231
249
"id" : proposalId ,
232
250
"executor_result" : executorResult ,
@@ -243,10 +261,10 @@ func (h *Hook) handleGroupEventProposalPruned(
243
261
return
244
262
}
245
263
proposalId := uint64 (
246
- common .Atoi (strings . Trim (evMap [ proto .MessageName (& group.EventProposalPruned {})+ ".proposal_id" ][ 0 ], `"` )),
264
+ common .Atoi (extractStringFromEventMap (evMap , proto .MessageName (& group.EventProposalPruned {}), "proposal_id" )),
247
265
)
248
- proposalStatus := strings . Trim (evMap [ proto .MessageName (& group.EventProposalPruned {})+ ".status" ][ 0 ], `"` )
249
- var tallyResult group.TallyResult
266
+ proposalStatus := extractStringFromEventMap (evMap , proto .MessageName (& group.EventProposalPruned {}), "status" )
267
+ tallyResult := group .DefaultTallyResult ()
250
268
json .Unmarshal ([]byte (evMap [proto .MessageName (& group.EventProposalPruned {})+ ".tally_result" ][0 ]), & tallyResult )
251
269
h .Write ("UPDATE_GROUP_PROPOSAL_BY_ID" , common.JsDict {
252
270
"id" : proposalId ,
0 commit comments