@@ -79,12 +79,6 @@ fn inject_stack_height(module: Module) -> Result<Module, Error> {
79
79
. map_err ( |_| Error :: StackHeightInjectionError )
80
80
}
81
81
82
- // fn inject_gas(module: Module) -> Result<Module, Error> {
83
- // // Simple gas rule. Every opcode and memory growth costs 1 gas.
84
- // let gas_rules = rules::Set::new(1, Default::default()).with_grow_cost(1);
85
- // pwasm_utils::inject_gas_counter(module, &gas_rules).map_err(|_| Error::GasCounterInjectionError)
86
- // }
87
-
88
82
fn check_wasm_exports ( module : & Module ) -> Result < ( ) , Error > {
89
83
let available_exports: Vec < & str > = module. export_section ( ) . map_or ( vec ! [ ] , |export_section| {
90
84
export_section. entries ( ) . iter ( ) . map ( |entry| entry. field ( ) ) . collect ( )
@@ -171,7 +165,8 @@ where
171
165
172
166
let import_object = imports ! {
173
167
"env" => {
174
- "gas" => Function :: new_native_with_env( & store, owasm_env. clone( ) , |_env: & Environment <E >, _gas: u32 | {
168
+ "gas" => Function :: new_native_with_env( & store, owasm_env. clone( ) , |env: & Environment <E >, _gas: u32 | {
169
+ env. decrease_gas_left( 1 )
175
170
} ) ,
176
171
"get_span_size" => Function :: new_native_with_env( & store, owasm_env. clone( ) , |env: & Environment <E >| {
177
172
env. with_vm( |vm| {
@@ -182,7 +177,7 @@ where
182
177
env. with_mut_vm( |vm| -> Result <i64 , Error >{
183
178
let span_size = vm. env. get_span_size( ) ;
184
179
// consume gas equal size of span when read calldata
185
- env. decrease_gas_left( span_size as u32 ) ?;
180
+ env. decrease_gas_left( span_size as u64 ) ?;
186
181
187
182
let memory = env. memory( ) ?;
188
183
require_mem_range( memory. size( ) . bytes( ) . 0 , ( ptr + span_size) as usize ) ?;
@@ -205,7 +200,7 @@ where
205
200
}
206
201
207
202
// consume gas equal size of span when save data to memory
208
- env. decrease_gas_left( span_size as u32 ) ?;
203
+ env. decrease_gas_left( span_size as u64 ) ?;
209
204
210
205
let memory = env. memory( ) ?;
211
206
require_mem_range( memory. size( ) . bytes( ) . 0 , ( ptr + span_size) as usize ) ?;
@@ -248,7 +243,7 @@ where
248
243
}
249
244
250
245
// consume gas equal size of span when write calldata for raw request
251
- env. decrease_gas_left( span_size as u32 ) ?;
246
+ env. decrease_gas_left( span_size as u64 ) ?;
252
247
253
248
let memory = env. memory( ) ?;
254
249
require_mem_range( memory. size( ) . bytes( ) . 0 , ( ptr + span_size) as usize ) ?;
@@ -266,7 +261,7 @@ where
266
261
env. with_mut_vm( |vm| -> Result <i64 , Error >{
267
262
let span_size = vm. env. get_span_size( ) ;
268
263
// consume gas equal size of span when read data from report
269
- env. decrease_gas_left( span_size as u32 ) ?;
264
+ env. decrease_gas_left( span_size as u64 ) ?;
270
265
271
266
let memory = env. memory( ) ?;
272
267
require_mem_range( memory. size( ) . bytes( ) . 0 , ( ptr + span_size) as usize ) ?;
0 commit comments