17
17
18
18
use super :: Origin ;
19
19
use crate :: { Balance , BlockNumber , RuntimeOrigin , DAYS , DOLLARS , HOURS } ;
20
- use sp_runtime:: { str_array as s , Perbill } ;
20
+ use sp_runtime:: { BoundedVec , Perbill } ;
21
21
use sp_std:: borrow:: Cow ;
22
22
23
23
/// Referendum `TrackId` type.
@@ -38,24 +38,12 @@ pub mod constants {
38
38
pub const MASTER_AMBASSADOR_TIER_9 : TrackId = 9 ;
39
39
}
40
40
41
- /// The type implementing the [`pallet_referenda::TracksInfo`] trait for referenda pallet.
42
- pub struct TracksInfo ;
43
-
44
- /// Information on the voting tracks.
45
- impl pallet_referenda:: TracksInfo < Balance , BlockNumber > for TracksInfo {
46
- type Id = TrackId ;
47
-
48
- type RuntimeOrigin = <RuntimeOrigin as frame_support:: traits:: OriginTrait >:: PalletsOrigin ;
49
-
50
- /// Return the list of available tracks and their information.
51
- fn tracks (
52
- ) -> impl Iterator < Item = Cow < ' static , pallet_referenda:: Track < Self :: Id , Balance , BlockNumber > > >
53
- {
54
- static DATA : [ pallet_referenda:: Track < TrackId , Balance , BlockNumber > ; 9 ] = [
41
+ lazy_static:: lazy_static! {
42
+ pub static ref DATA : [ pallet_referenda:: Track <TrackId , Balance , BlockNumber >; 9 ] = [
55
43
pallet_referenda:: Track {
56
44
id: constants:: AMBASSADOR_TIER_1 ,
57
45
info: pallet_referenda:: TrackInfo {
58
- name : s ( "ambassador tier 1" ) ,
46
+ name: BoundedVec :: truncate_from ( b "ambassador tier 1". to_vec ( ) ) ,
59
47
max_deciding: 10 ,
60
48
decision_deposit: 5 * DOLLARS ,
61
49
prepare_period: 24 * HOURS ,
@@ -77,7 +65,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
77
65
pallet_referenda:: Track {
78
66
id: constants:: AMBASSADOR_TIER_2 ,
79
67
info: pallet_referenda:: TrackInfo {
80
- name : s ( "ambassador tier 2" ) ,
68
+ name: BoundedVec :: truncate_from ( b "ambassador tier 2". to_vec ( ) ) ,
81
69
max_deciding: 10 ,
82
70
decision_deposit: 5 * DOLLARS ,
83
71
prepare_period: 24 * HOURS ,
@@ -99,7 +87,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
99
87
pallet_referenda:: Track {
100
88
id: constants:: SENIOR_AMBASSADOR_TIER_3 ,
101
89
info: pallet_referenda:: TrackInfo {
102
- name : s ( "senior ambassador tier 3") ,
90
+ name: BoundedVec :: truncate_from ( b" ambassador tier 3". to_vec ( ) ) ,
103
91
max_deciding: 10 ,
104
92
decision_deposit: 5 * DOLLARS ,
105
93
prepare_period: 24 * HOURS ,
@@ -121,7 +109,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
121
109
pallet_referenda:: Track {
122
110
id: constants:: SENIOR_AMBASSADOR_TIER_4 ,
123
111
info: pallet_referenda:: TrackInfo {
124
- name : s ( "senior ambassador tier 4") ,
112
+ name: BoundedVec :: truncate_from ( b" ambassador tier 4". to_vec ( ) ) ,
125
113
max_deciding: 10 ,
126
114
decision_deposit: 5 * DOLLARS ,
127
115
prepare_period: 24 * HOURS ,
@@ -143,7 +131,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
143
131
pallet_referenda:: Track {
144
132
id: constants:: HEAD_AMBASSADOR_TIER_5 ,
145
133
info: pallet_referenda:: TrackInfo {
146
- name : s ( "head ambassador tier 5") ,
134
+ name: BoundedVec :: truncate_from ( b" ambassador tier 5". to_vec ( ) ) ,
147
135
max_deciding: 10 ,
148
136
decision_deposit: 5 * DOLLARS ,
149
137
prepare_period: 24 * HOURS ,
@@ -165,7 +153,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
165
153
pallet_referenda:: Track {
166
154
id: constants:: HEAD_AMBASSADOR_TIER_6 ,
167
155
info: pallet_referenda:: TrackInfo {
168
- name : s ( "head ambassador tier 6") ,
156
+ name: BoundedVec :: truncate_from ( b" ambassador tier 6". to_vec ( ) ) ,
169
157
max_deciding: 10 ,
170
158
decision_deposit: 5 * DOLLARS ,
171
159
prepare_period: 24 * HOURS ,
@@ -187,7 +175,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
187
175
pallet_referenda:: Track {
188
176
id: constants:: HEAD_AMBASSADOR_TIER_7 ,
189
177
info: pallet_referenda:: TrackInfo {
190
- name : s ( "head ambassador tier 7") ,
178
+ name: BoundedVec :: truncate_from ( b" ambassador tier 7". to_vec ( ) ) ,
191
179
max_deciding: 10 ,
192
180
decision_deposit: 5 * DOLLARS ,
193
181
prepare_period: 24 * HOURS ,
@@ -209,7 +197,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
209
197
pallet_referenda:: Track {
210
198
id: constants:: MASTER_AMBASSADOR_TIER_8 ,
211
199
info: pallet_referenda:: TrackInfo {
212
- name : s ( "master ambassador tier 8") ,
200
+ name: BoundedVec :: truncate_from ( b" ambassador tier 8". to_vec ( ) ) ,
213
201
max_deciding: 10 ,
214
202
decision_deposit: 5 * DOLLARS ,
215
203
prepare_period: 24 * HOURS ,
@@ -231,7 +219,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
231
219
pallet_referenda:: Track {
232
220
id: constants:: MASTER_AMBASSADOR_TIER_9 ,
233
221
info: pallet_referenda:: TrackInfo {
234
- name : s ( "master ambassador tier 9") ,
222
+ name: BoundedVec :: truncate_from ( b" ambassador tier 9". to_vec ( ) ) ,
235
223
max_deciding: 10 ,
236
224
decision_deposit: 5 * DOLLARS ,
237
225
prepare_period: 24 * HOURS ,
@@ -251,6 +239,21 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
251
239
} ,
252
240
} ,
253
241
] ;
242
+ }
243
+
244
+ /// The type implementing the [`pallet_referenda::TracksInfo`] trait for referenda pallet.
245
+ pub struct TracksInfo ;
246
+
247
+ /// Information on the voting tracks.
248
+ impl pallet_referenda:: TracksInfo < Balance , BlockNumber > for TracksInfo {
249
+ type Id = TrackId ;
250
+
251
+ type RuntimeOrigin = <RuntimeOrigin as frame_support:: traits:: OriginTrait >:: PalletsOrigin ;
252
+
253
+ /// Return the list of available tracks and their information.
254
+ fn tracks (
255
+ ) -> impl Iterator < Item = Cow < ' static , pallet_referenda:: Track < Self :: Id , Balance , BlockNumber > > >
256
+ {
254
257
DATA . iter ( ) . map ( Cow :: Borrowed )
255
258
}
256
259
0 commit comments