@@ -2,6 +2,7 @@ package collection
2
2
3
3
import (
4
4
"fmt"
5
+ "sort"
5
6
"strings"
6
7
7
8
sdk "github.com/line/lbm-sdk/types"
@@ -33,6 +34,18 @@ func AttributeKeyFromString(name string) AttributeKey {
33
34
return AttributeKey (AttributeKey_value [attributeKeyName ])
34
35
}
35
36
37
+ func sortedAttributeKeys (m map [AttributeKey ]string ) []AttributeKey {
38
+ keys := make ([]AttributeKey , 0 , len (m ))
39
+ for key := range m {
40
+ keys = append (keys , key )
41
+ }
42
+
43
+ sort .Slice (keys , func (i , j int ) bool {
44
+ return keys [i ] < keys [j ]
45
+ })
46
+ return keys
47
+ }
48
+
36
49
// Deprecated: use EventCreatedContract.
37
50
func NewEventCreateCollection (event EventCreatedContract ) sdk.Event {
38
51
eventType := EventTypeCreateCollection .String ()
@@ -46,7 +59,8 @@ func NewEventCreateCollection(event EventCreatedContract) sdk.Event {
46
59
}
47
60
48
61
res := sdk .NewEvent (eventType )
49
- for key , value := range attributes {
62
+ for _ , key := range sortedAttributeKeys (attributes ) {
63
+ value := attributes [key ]
50
64
attribute := sdk .NewAttribute (key .String (), value )
51
65
res = res .AppendAttributes (attribute )
52
66
}
@@ -70,7 +84,8 @@ func NewEventIssueFT(event EventCreatedFTClass, to sdk.AccAddress, amount sdk.In
70
84
}
71
85
72
86
res := sdk .NewEvent (eventType )
73
- for key , value := range attributes {
87
+ for _ , key := range sortedAttributeKeys (attributes ) {
88
+ value := attributes [key ]
74
89
attribute := sdk .NewAttribute (key .String (), value )
75
90
res = res .AppendAttributes (attribute )
76
91
}
@@ -88,7 +103,8 @@ func NewEventIssueNFT(event EventCreatedNFTClass) sdk.Event {
88
103
}
89
104
90
105
res := sdk .NewEvent (eventType )
91
- for key , value := range attributes {
106
+ for _ , key := range sortedAttributeKeys (attributes ) {
107
+ value := attributes [key ]
92
108
attribute := sdk .NewAttribute (key .String (), value )
93
109
res = res .AppendAttributes (attribute )
94
110
}
@@ -106,7 +122,8 @@ func NewEventMintFT(event EventMintedFT) sdk.Event {
106
122
}
107
123
108
124
res := sdk .NewEvent (eventType )
109
- for key , value := range attributes {
125
+ for _ , key := range sortedAttributeKeys (attributes ) {
126
+ value := attributes [key ]
110
127
attribute := sdk .NewAttribute (key .String (), value )
111
128
res = res .AppendAttributes (attribute )
112
129
}
@@ -129,7 +146,8 @@ func NewEventMintNFT(event EventMintedNFT) sdk.Events {
129
146
AttributeKeyName : token .Name ,
130
147
AttributeKeyMeta : token .Meta ,
131
148
}
132
- for key , value := range attributes {
149
+ for _ , key := range sortedAttributeKeys (attributes ) {
150
+ value := attributes [key ]
133
151
attribute := sdk .NewAttribute (key .String (), value )
134
152
e = e .AppendAttributes (attribute )
135
153
}
@@ -161,7 +179,8 @@ func NewEventBurnFT(event EventBurned) *sdk.Event {
161
179
}
162
180
163
181
res := sdk .NewEvent (eventType )
164
- for key , value := range attributes {
182
+ for _ , key := range sortedAttributeKeys (attributes ) {
183
+ value := attributes [key ]
165
184
attribute := sdk .NewAttribute (key .String (), value )
166
185
res = res .AppendAttributes (attribute )
167
186
}
@@ -189,7 +208,8 @@ func NewEventBurnNFT(event EventBurned) sdk.Events {
189
208
AttributeKeyFrom : event .From ,
190
209
}
191
210
head := sdk .NewEvent (eventType )
192
- for key , value := range attributes {
211
+ for _ , key := range sortedAttributeKeys (attributes ) {
212
+ value := attributes [key ]
193
213
attribute := sdk .NewAttribute (key .String (), value )
194
214
head = head .AppendAttributes (attribute )
195
215
}
@@ -226,7 +246,8 @@ func NewEventBurnFTFrom(event EventBurned) *sdk.Event {
226
246
}
227
247
228
248
res := sdk .NewEvent (eventType )
229
- for key , value := range attributes {
249
+ for _ , key := range sortedAttributeKeys (attributes ) {
250
+ value := attributes [key ]
230
251
attribute := sdk .NewAttribute (key .String (), value )
231
252
res = res .AppendAttributes (attribute )
232
253
}
@@ -255,7 +276,8 @@ func NewEventBurnNFTFrom(event EventBurned) sdk.Events {
255
276
AttributeKeyFrom : event .From ,
256
277
}
257
278
head := sdk .NewEvent (eventType )
258
- for key , value := range attributes {
279
+ for _ , key := range sortedAttributeKeys (attributes ) {
280
+ value := attributes [key ]
259
281
attribute := sdk .NewAttribute (key .String (), value )
260
282
head = head .AppendAttributes (attribute )
261
283
}
@@ -279,7 +301,8 @@ func NewEventModifyCollection(event EventModifiedContract) sdk.Events {
279
301
AttributeKeyContractID : event .ContractId ,
280
302
}
281
303
head := sdk .NewEvent (eventType )
282
- for key , value := range attributes {
304
+ for _ , key := range sortedAttributeKeys (attributes ) {
305
+ value := attributes [key ]
283
306
attribute := sdk .NewAttribute (key .String (), value )
284
307
head = head .AppendAttributes (attribute )
285
308
}
@@ -303,7 +326,8 @@ func NewEventModifyTokenType(event EventModifiedTokenClass) sdk.Events {
303
326
AttributeKeyTokenType : event .TokenType ,
304
327
}
305
328
head := sdk .NewEvent (eventType )
306
- for key , value := range attributes {
329
+ for _ , key := range sortedAttributeKeys (attributes ) {
330
+ value := attributes [key ]
307
331
attribute := sdk .NewAttribute (key .String (), value )
308
332
head = head .AppendAttributes (attribute )
309
333
}
@@ -328,7 +352,8 @@ func NewEventModifyTokenOfFTClass(event EventModifiedTokenClass) sdk.Events {
328
352
AttributeKeyTokenID : tokenID ,
329
353
}
330
354
head := sdk .NewEvent (eventType )
331
- for key , value := range attributes {
355
+ for _ , key := range sortedAttributeKeys (attributes ) {
356
+ value := attributes [key ]
332
357
attribute := sdk .NewAttribute (key .String (), value )
333
358
head = head .AppendAttributes (attribute )
334
359
}
@@ -352,7 +377,8 @@ func NewEventModifyTokenOfNFT(event EventModifiedNFT) sdk.Events {
352
377
AttributeKeyTokenID : event .TokenId ,
353
378
}
354
379
head := sdk .NewEvent (eventType )
355
- for key , value := range attributes {
380
+ for _ , key := range sortedAttributeKeys (attributes ) {
381
+ value := attributes [key ]
356
382
attribute := sdk .NewAttribute (key .String (), value )
357
383
head = head .AppendAttributes (attribute )
358
384
}
@@ -388,7 +414,8 @@ func NewEventTransferFT(event EventSent) *sdk.Event {
388
414
}
389
415
390
416
res := sdk .NewEvent (eventType )
391
- for key , value := range attributes {
417
+ for _ , key := range sortedAttributeKeys (attributes ) {
418
+ value := attributes [key ]
392
419
attribute := sdk .NewAttribute (key .String (), value )
393
420
res = res .AppendAttributes (attribute )
394
421
}
@@ -417,7 +444,8 @@ func NewEventTransferNFT(event EventSent) sdk.Events {
417
444
AttributeKeyTo : event .To ,
418
445
}
419
446
head := sdk .NewEvent (eventType )
420
- for key , value := range attributes {
447
+ for _ , key := range sortedAttributeKeys (attributes ) {
448
+ value := attributes [key ]
421
449
attribute := sdk .NewAttribute (key .String (), value )
422
450
head = head .AppendAttributes (attribute )
423
451
}
@@ -454,7 +482,8 @@ func NewEventTransferFTFrom(event EventSent) *sdk.Event {
454
482
}
455
483
456
484
res := sdk .NewEvent (eventType )
457
- for key , value := range attributes {
485
+ for _ , key := range sortedAttributeKeys (attributes ) {
486
+ value := attributes [key ]
458
487
attribute := sdk .NewAttribute (key .String (), value )
459
488
res = res .AppendAttributes (attribute )
460
489
}
@@ -484,7 +513,8 @@ func NewEventTransferNFTFrom(event EventSent) sdk.Events {
484
513
AttributeKeyTo : event .To ,
485
514
}
486
515
head := sdk .NewEvent (eventType )
487
- for key , value := range attributes {
516
+ for _ , key := range sortedAttributeKeys (attributes ) {
517
+ value := attributes [key ]
488
518
attribute := sdk .NewAttribute (key .String (), value )
489
519
head = head .AppendAttributes (attribute )
490
520
}
@@ -511,7 +541,8 @@ func NewEventGrantPermToken(event EventGranted) sdk.Event {
511
541
}
512
542
513
543
res := sdk .NewEvent (eventType )
514
- for key , value := range attributes {
544
+ for _ , key := range sortedAttributeKeys (attributes ) {
545
+ value := attributes [key ]
515
546
attribute := sdk .NewAttribute (key .String (), value )
516
547
res = res .AppendAttributes (attribute )
517
548
}
@@ -530,7 +561,8 @@ func NewEventGrantPermTokenHead(event EventGranted) sdk.Event {
530
561
}
531
562
532
563
res := sdk .NewEvent (eventType )
533
- for key , value := range attributes {
564
+ for _ , key := range sortedAttributeKeys (attributes ) {
565
+ value := attributes [key ]
534
566
attribute := sdk .NewAttribute (key .String (), value )
535
567
res = res .AppendAttributes (attribute )
536
568
}
@@ -545,7 +577,8 @@ func NewEventGrantPermTokenBody(event EventGranted) sdk.Event {
545
577
}
546
578
547
579
res := sdk .NewEvent (eventType )
548
- for key , value := range attributes {
580
+ for _ , key := range sortedAttributeKeys (attributes ) {
581
+ value := attributes [key ]
549
582
attribute := sdk .NewAttribute (key .String (), value )
550
583
res = res .AppendAttributes (attribute )
551
584
}
@@ -562,7 +595,8 @@ func NewEventRevokePermToken(event EventRenounced) sdk.Event {
562
595
}
563
596
564
597
res := sdk .NewEvent (eventType )
565
- for key , value := range attributes {
598
+ for _ , key := range sortedAttributeKeys (attributes ) {
599
+ value := attributes [key ]
566
600
attribute := sdk .NewAttribute (key .String (), value )
567
601
res = res .AppendAttributes (attribute )
568
602
}
@@ -579,7 +613,8 @@ func NewEventApproveCollection(event EventAuthorizedOperator) sdk.Event {
579
613
}
580
614
581
615
res := sdk .NewEvent (eventType )
582
- for key , value := range attributes {
616
+ for _ , key := range sortedAttributeKeys (attributes ) {
617
+ value := attributes [key ]
583
618
attribute := sdk .NewAttribute (key .String (), value )
584
619
res = res .AppendAttributes (attribute )
585
620
}
@@ -596,7 +631,8 @@ func NewEventDisapproveCollection(event EventRevokedOperator) sdk.Event {
596
631
}
597
632
598
633
res := sdk .NewEvent (eventType )
599
- for key , value := range attributes {
634
+ for _ , key := range sortedAttributeKeys (attributes ) {
635
+ value := attributes [key ]
600
636
attribute := sdk .NewAttribute (key .String (), value )
601
637
res = res .AppendAttributes (attribute )
602
638
}
@@ -617,7 +653,8 @@ func NewEventAttachToken(event EventAttached, newRoot string) sdk.Event {
617
653
}
618
654
619
655
res := sdk .NewEvent (eventType )
620
- for key , value := range attributes {
656
+ for _ , key := range sortedAttributeKeys (attributes ) {
657
+ value := attributes [key ]
621
658
attribute := sdk .NewAttribute (key .String (), value )
622
659
res = res .AppendAttributes (attribute )
623
660
}
@@ -637,7 +674,8 @@ func NewEventDetachToken(event EventDetached, oldRoot string) sdk.Event {
637
674
}
638
675
639
676
res := sdk .NewEvent (eventType )
640
- for key , value := range attributes {
677
+ for _ , key := range sortedAttributeKeys (attributes ) {
678
+ value := attributes [key ]
641
679
attribute := sdk .NewAttribute (key .String (), value )
642
680
res = res .AppendAttributes (attribute )
643
681
}
@@ -659,7 +697,8 @@ func NewEventAttachFrom(event EventAttached, newRoot string) sdk.Event {
659
697
}
660
698
661
699
res := sdk .NewEvent (eventType )
662
- for key , value := range attributes {
700
+ for _ , key := range sortedAttributeKeys (attributes ) {
701
+ value := attributes [key ]
663
702
attribute := sdk .NewAttribute (key .String (), value )
664
703
res = res .AppendAttributes (attribute )
665
704
}
@@ -680,7 +719,8 @@ func NewEventDetachFrom(event EventDetached, oldRoot string) sdk.Event {
680
719
}
681
720
682
721
res := sdk .NewEvent (eventType )
683
- for key , value := range attributes {
722
+ for _ , key := range sortedAttributeKeys (attributes ) {
723
+ value := attributes [key ]
684
724
attribute := sdk .NewAttribute (key .String (), value )
685
725
res = res .AppendAttributes (attribute )
686
726
}
@@ -696,7 +736,8 @@ func NewEventOperationTransferNFT(event EventOwnerChanged) sdk.Event {
696
736
}
697
737
698
738
res := sdk .NewEvent (eventType )
699
- for key , value := range attributes {
739
+ for _ , key := range sortedAttributeKeys (attributes ) {
740
+ value := attributes [key ]
700
741
attribute := sdk .NewAttribute (key .String (), value )
701
742
res = res .AppendAttributes (attribute )
702
743
}
@@ -712,7 +753,8 @@ func NewEventOperationBurnNFT(contractID string, tokenID string) sdk.Event {
712
753
}
713
754
714
755
res := sdk .NewEvent (eventType )
715
- for key , value := range attributes {
756
+ for _ , key := range sortedAttributeKeys (attributes ) {
757
+ value := attributes [key ]
716
758
attribute := sdk .NewAttribute (key .String (), value )
717
759
res = res .AppendAttributes (attribute )
718
760
}
@@ -728,7 +770,8 @@ func NewEventOperationRootChanged(event EventRootChanged) sdk.Event {
728
770
}
729
771
730
772
res := sdk .NewEvent (eventType )
731
- for key , value := range attributes {
773
+ for _ , key := range sortedAttributeKeys (attributes ) {
774
+ value := attributes [key ]
732
775
attribute := sdk .NewAttribute (key .String (), value )
733
776
res = res .AppendAttributes (attribute )
734
777
}
0 commit comments