@@ -193,9 +193,6 @@ impl SubmitTask {
193
193
resp : & SignResponse ,
194
194
block : & BuiltBlock ,
195
195
) -> Result < TransactionRequest , eyre:: Error > {
196
- // TODO: ENG-1082 Implement fills
197
- let fills = vec ! [ ] ;
198
-
199
196
// manually retrieve nonce
200
197
let nonce =
201
198
self . provider ( ) . get_transaction_count ( self . provider ( ) . default_signer_address ( ) ) . await ?;
@@ -223,6 +220,10 @@ impl SubmitTask {
223
220
} ;
224
221
debug ! ( ?header, "built block header" ) ;
225
222
223
+ // Extract fills from the built block
224
+ let fills = self . extract_fills ( block) ;
225
+ debug ! ( ?fills, "extracted fills" ) ;
226
+
226
227
// Create a blob transaction with the blob header and signature values and return it
227
228
let tx = self
228
229
. build_blob_tx ( fills, header, v, r, s, block) ?
@@ -395,6 +396,15 @@ impl SubmitTask {
395
396
Ok ( block_num + 1 )
396
397
}
397
398
399
+ // This function converts &[SignedFill] --> [FillPermit2]
400
+ fn extract_fills ( & self , block : & BuiltBlock ) -> Vec < FillPermit2 > {
401
+ let mut fills = vec ! [ ] ;
402
+ for signed_fill in block. host_fills ( ) {
403
+ fills. push ( FillPermit2 :: from ( signed_fill) )
404
+ }
405
+ fills
406
+ }
407
+
398
408
/// Task future for the submit task
399
409
/// NB: This task assumes that the simulator will only send it blocks for
400
410
/// slots that it's assigned.
@@ -442,6 +452,7 @@ impl SubmitTask {
442
452
}
443
453
}
444
454
455
+
445
456
// Returns gas parameters based on retry counts. This uses
446
457
fn calculate_gas_limits (
447
458
retry_count : usize ,
0 commit comments