@@ -3,9 +3,10 @@ package module
33import (
44 "context"
55 "fmt"
6- "github.com/ethereum/go-ethereum/crypto"
76 "time"
87
8+ "github.com/ethereum/go-ethereum/crypto"
9+
910 "github.com/ethereum/go-ethereum/common"
1011 "github.com/hyperledger-labs/yui-relayer/log"
1112
@@ -98,7 +99,7 @@ func (pr *Prover) GetLatestFinalizedHeaderByLatestHeight(ctx context.Context, la
9899}
99100
100101// SetupHeadersForUpdate creates a new header based on a given header
101- func (pr * Prover ) SetupHeadersForUpdate (ctx context.Context , counterparty core.FinalityAwareChain , latestFinalizedHeader core.Header ) ([] core.Header , error ) {
102+ func (pr * Prover ) SetupHeadersForUpdate (ctx context.Context , counterparty core.FinalityAwareChain , latestFinalizedHeader core.Header ) (<- chan * core.HeaderOrError , error ) {
102103 header := latestFinalizedHeader .(* Header )
103104 // LCP doesn't need height / EVM needs latest height
104105 latestHeightOnDstChain , err := counterparty .LatestHeight (ctx )
@@ -113,7 +114,11 @@ func (pr *Prover) SetupHeadersForUpdate(ctx context.Context, counterparty core.F
113114 if err = pr .chain .Codec ().UnpackAny (csRes .ClientState , & cs ); err != nil {
114115 return nil , err
115116 }
116- return pr .SetupHeadersForUpdateByLatestHeight (ctx , cs .GetLatestHeight (), header )
117+ if headers , err := pr .SetupHeadersForUpdateByLatestHeight (ctx , cs .GetLatestHeight (), header ); err != nil {
118+ return nil , err
119+ } else {
120+ return core .MakeHeaderStream (headers ... ), nil
121+ }
117122}
118123
119124func (pr * Prover ) SetupHeadersForUpdateByLatestHeight (ctx context.Context , clientStateLatestHeight exported.Height , latestFinalizedHeader * Header ) ([]core.Header , error ) {
0 commit comments