@@ -15,6 +15,7 @@ trait IGasChecker<TContractState> {
15
15
#[starknet:: contract]
16
16
mod GasChecker {
17
17
use core :: {ec, ec :: {EcPoint , EcPointTrait }};
18
+ use core :: starknet :: ContractAddress ;
18
19
19
20
#[storage]
20
21
struct Storage {
@@ -32,152 +33,76 @@ mod GasChecker {
32
33
}
33
34
34
35
fn range_check (self : @ ContractState ) {
35
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
36
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
37
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
38
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
39
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
40
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
41
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
42
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
43
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
44
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
45
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
46
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
47
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
48
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
49
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
50
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
51
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
52
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
53
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
54
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
55
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
56
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
57
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
58
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
59
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
60
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
61
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
62
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
63
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
64
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
65
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
66
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
67
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
68
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
69
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
70
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
71
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
72
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
73
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
74
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
75
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
76
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
77
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
78
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
79
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
80
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
81
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
82
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
83
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
84
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
85
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
86
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
87
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
88
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
89
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
90
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
91
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
92
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
93
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
94
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
95
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
96
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
97
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
98
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
99
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
100
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
101
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
102
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
103
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
104
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
105
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
106
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
107
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
108
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
109
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
110
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
111
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
112
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
113
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
114
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
115
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
116
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
117
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
118
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
119
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
120
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
121
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
122
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
123
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
124
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
125
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
126
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
127
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
128
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
129
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
130
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
131
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
132
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
133
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
134
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
135
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
136
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
137
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
138
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
139
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
140
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
141
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
142
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
143
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
144
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
145
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
146
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
147
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
148
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
149
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
150
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
151
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
152
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
153
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
154
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
155
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
156
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
157
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
158
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
159
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
160
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
161
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
162
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
163
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
164
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
165
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
166
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
167
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
168
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
169
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
170
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
171
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
172
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
173
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
174
- assert ((1_u8 + 1_u8 ) >= 1_u8 , ' error message' );
36
+ // Felt into ContractAddress conversion uses RangeCheck as implicit argument
37
+ let x : ContractAddress = 1234. try_into (). unwrap ();
38
+ let x : ContractAddress = 1234. try_into (). unwrap ();
39
+ let x : ContractAddress = 1234. try_into (). unwrap ();
40
+ let x : ContractAddress = 1234. try_into (). unwrap ();
41
+ let x : ContractAddress = 1234. try_into (). unwrap ();
42
+ let x : ContractAddress = 1234. try_into (). unwrap ();
43
+ let x : ContractAddress = 1234. try_into (). unwrap ();
44
+ let x : ContractAddress = 1234. try_into (). unwrap ();
45
+ let x : ContractAddress = 1234. try_into (). unwrap ();
46
+ let x : ContractAddress = 1234. try_into (). unwrap ();
47
+ let x : ContractAddress = 1234. try_into (). unwrap ();
48
+ let x : ContractAddress = 1234. try_into (). unwrap ();
49
+ let x : ContractAddress = 1234. try_into (). unwrap ();
50
+ let x : ContractAddress = 1234. try_into (). unwrap ();
51
+ let x : ContractAddress = 1234. try_into (). unwrap ();
52
+ let x : ContractAddress = 1234. try_into (). unwrap ();
53
+ let x : ContractAddress = 1234. try_into (). unwrap ();
54
+ let x : ContractAddress = 1234. try_into (). unwrap ();
55
+ let x : ContractAddress = 1234. try_into (). unwrap ();
56
+ let x : ContractAddress = 1234. try_into (). unwrap ();
57
+ let x : ContractAddress = 1234. try_into (). unwrap ();
58
+ let x : ContractAddress = 1234. try_into (). unwrap ();
59
+ let x : ContractAddress = 1234. try_into (). unwrap ();
60
+ let x : ContractAddress = 1234. try_into (). unwrap ();
61
+ let x : ContractAddress = 1234. try_into (). unwrap ();
62
+ let x : ContractAddress = 1234. try_into (). unwrap ();
63
+ let x : ContractAddress = 1234. try_into (). unwrap ();
64
+ let x : ContractAddress = 1234. try_into (). unwrap ();
65
+ let x : ContractAddress = 1234. try_into (). unwrap ();
66
+ let x : ContractAddress = 1234. try_into (). unwrap ();
67
+ let x : ContractAddress = 1234. try_into (). unwrap ();
68
+ let x : ContractAddress = 1234. try_into (). unwrap ();
69
+ let x : ContractAddress = 1234. try_into (). unwrap ();
70
+ let x : ContractAddress = 1234. try_into (). unwrap ();
71
+ let x : ContractAddress = 1234. try_into (). unwrap ();
72
+ let x : ContractAddress = 1234. try_into (). unwrap ();
73
+ let x : ContractAddress = 1234. try_into (). unwrap ();
74
+ let x : ContractAddress = 1234. try_into (). unwrap ();
75
+ let x : ContractAddress = 1234. try_into (). unwrap ();
76
+ let x : ContractAddress = 1234. try_into (). unwrap ();
77
+ let x : ContractAddress = 1234. try_into (). unwrap ();
78
+ let x : ContractAddress = 1234. try_into (). unwrap ();
79
+ let x : ContractAddress = 1234. try_into (). unwrap ();
80
+ let x : ContractAddress = 1234. try_into (). unwrap ();
81
+ let x : ContractAddress = 1234. try_into (). unwrap ();
82
+ let x : ContractAddress = 1234. try_into (). unwrap ();
83
+ let x : ContractAddress = 1234. try_into (). unwrap ();
84
+ let x : ContractAddress = 1234. try_into (). unwrap ();
85
+ let x : ContractAddress = 1234. try_into (). unwrap ();
86
+ let x : ContractAddress = 1234. try_into (). unwrap ();
87
+ let x : ContractAddress = 1234. try_into (). unwrap ();
88
+ let x : ContractAddress = 1234. try_into (). unwrap ();
89
+ let x : ContractAddress = 1234. try_into (). unwrap ();
90
+ let x : ContractAddress = 1234. try_into (). unwrap ();
91
+ let x : ContractAddress = 1234. try_into (). unwrap ();
92
+ let x : ContractAddress = 1234. try_into (). unwrap ();
93
+ let x : ContractAddress = 1234. try_into (). unwrap ();
94
+ let x : ContractAddress = 1234. try_into (). unwrap ();
95
+ let x : ContractAddress = 1234. try_into (). unwrap ();
96
+ let x : ContractAddress = 1234. try_into (). unwrap ();
97
+ let x : ContractAddress = 1234. try_into (). unwrap ();
98
+ let x : ContractAddress = 1234. try_into (). unwrap ();
175
99
}
176
100
177
101
fn bitwise (self : @ ContractState , repetitions : u32 ) {
178
102
let mut i : u32 = 0 ;
179
103
while i < repetitions {
180
104
1_u8 & 1_u8 ;
105
+ 2_u8 & 2_u8 ;
181
106
i += 1 ;
182
107
}
183
108
}
0 commit comments