@@ -30,7 +30,7 @@ use crate::scheme::Scheme;
3030use crate :: transaction:: { PendingSignedTransactions , SignedTransaction , UnverifiedTransaction } ;
3131use crate :: types:: { BlockId , TransactionId } ;
3232use ckey:: { public_to_address, Address , Password , PlatformAddress , Public } ;
33- use cstate:: { FindActionHandler , TopLevelState } ;
33+ use cstate:: { FindActionHandler , IBCTransactionExecutor , TopLevelState } ;
3434use ctypes:: errors:: HistoryError ;
3535use ctypes:: transaction:: { Action , IncompleteTransaction } ;
3636use ctypes:: { BlockHash , TxHash } ;
@@ -287,7 +287,14 @@ impl Miner {
287287
288288 /// Prepares new block for sealing including top transactions from queue and seal it.
289289 fn prepare_and_seal_block <
290- C : AccountData + BlockChainTrait + BlockProducer + ChainTimeInfo + EngineInfo + FindActionHandler + TermInfo ,
290+ C : AccountData
291+ + BlockChainTrait
292+ + BlockProducer
293+ + ChainTimeInfo
294+ + EngineInfo
295+ + FindActionHandler
296+ + TermInfo
297+ + IBCTransactionExecutor ,
291298 > (
292299 & self ,
293300 parent_block_id : BlockId ,
@@ -519,7 +526,8 @@ impl MinerService for Miner {
519526 + ImportBlock
520527 + ChainTimeInfo
521528 + FindActionHandler
522- + TermInfo , {
529+ + TermInfo
530+ + IBCTransactionExecutor , {
523531 ctrace ! ( MINER , "update_sealing: preparing a block" ) ;
524532
525533 let block = match self . prepare_and_seal_block ( parent_block, chain) {
@@ -557,7 +565,7 @@ impl MinerService for Miner {
557565 }
558566 }
559567
560- fn import_external_transactions < C : MiningBlockChainClient + EngineInfo + TermInfo > (
568+ fn import_external_transactions < C : MiningBlockChainClient + EngineInfo + TermInfo + IBCTransactionExecutor > (
561569 & self ,
562570 client : & C ,
563571 transactions : Vec < UnverifiedTransaction > ,
@@ -582,7 +590,7 @@ impl MinerService for Miner {
582590 results
583591 }
584592
585- fn import_own_transaction < C : MiningBlockChainClient + EngineInfo + TermInfo > (
593+ fn import_own_transaction < C : MiningBlockChainClient + EngineInfo + TermInfo + IBCTransactionExecutor > (
586594 & self ,
587595 chain : & C ,
588596 tx : SignedTransaction ,
@@ -627,7 +635,9 @@ impl MinerService for Miner {
627635 imported
628636 }
629637
630- fn import_incomplete_transaction < C : MiningBlockChainClient + AccountData + EngineInfo + TermInfo > (
638+ fn import_incomplete_transaction <
639+ C : MiningBlockChainClient + AccountData + EngineInfo + TermInfo + IBCTransactionExecutor ,
640+ > (
631641 & self ,
632642 client : & C ,
633643 account_provider : & AccountProvider ,
@@ -687,7 +697,7 @@ impl MinerService for Miner {
687697 self . mem_pool . read ( ) . future_transactions ( )
688698 }
689699
690- fn start_sealing < C : MiningBlockChainClient + EngineInfo + TermInfo > ( & self , client : & C ) {
700+ fn start_sealing < C : MiningBlockChainClient + EngineInfo + TermInfo + IBCTransactionExecutor > ( & self , client : & C ) {
691701 cdebug ! ( MINER , "Start sealing" ) ;
692702 self . sealing_enabled . store ( true , Ordering :: Relaxed ) ;
693703 // ------------------------------------------------------------------
0 commit comments