@@ -96,7 +96,6 @@ func InitChannelUpgrade(ctx context.Context, chain, cp *ProvableChain, upgradeFi
9696 NewQueryContext (ctx , cpH ),
9797 chain ,
9898 cp ,
99- false ,
10099 ); err != nil {
101100 logger .ErrorContext (ctx , "failed to query for the channel pair" , err )
102101 span .SetStatus (codes .Error , err .Error ())
@@ -212,7 +211,7 @@ func CancelChannelUpgrade(ctx context.Context, chain, cp *ProvableChain, settlem
212211 queryCtx := sh .GetQueryContext (ctx , chain .ChainID ())
213212 cpQueryCtx := sh .GetQueryContext (ctx , cp .ChainID ())
214213
215- chann , _ , settled , err := querySettledChannelPair (queryCtx , cpQueryCtx , chain , cp , false )
214+ chann , _ , settled , err := querySettledChannelPair (queryCtx , cpQueryCtx , chain , cp )
216215 if err != nil {
217216 logger .ErrorContext (ctx , "failed to query for settled channel pair" , err )
218217 return false , err
@@ -221,7 +220,7 @@ func CancelChannelUpgrade(ctx context.Context, chain, cp *ProvableChain, settlem
221220 return false , nil
222221 }
223222
224- if _ , _ , settled , err := querySettledChannelUpgradePair (queryCtx , cpQueryCtx , chain , cp , false ); err != nil {
223+ if _ , _ , settled , err := querySettledChannelUpgradePair (queryCtx , cpQueryCtx , chain , cp ); err != nil {
225224 logger .ErrorContext (ctx , "failed to query for settled channel upgrade pair" , err )
226225 return false , err
227226 } else if ! settled {
@@ -235,7 +234,7 @@ func CancelChannelUpgrade(ctx context.Context, chain, cp *ProvableChain, settlem
235234 return false , err
236235 }
237236
238- upgErr , err := QueryChannelUpgradeError (cpQueryCtx , cp , true )
237+ upgErr , err := QueryChannelUpgradeError (cpQueryCtx , cp )
239238 if err != nil {
240239 logger .ErrorContext (ctx , "failed to query the channel upgrade error receipt" , err )
241240 return false , err
@@ -255,6 +254,8 @@ func CancelChannelUpgrade(ctx context.Context, chain, cp *ProvableChain, settlem
255254 // If the sender is authority and the channel state is anything other than FLUSHCOMPLETE,
256255 // the cancellation will be successful.
257256 upgErr = & chantypes.QueryUpgradeErrorResponse {}
257+ } else if err = ProveChannelUpgradeError (cpQueryCtx , cp , upgErr ); err != nil {
258+ return false , err
258259 }
259260
260261 addr , err := chain .GetAddress ()
@@ -325,7 +326,7 @@ func upgradeChannelStep(ctx context.Context, src, dst *ProvableChain, targetSrcS
325326 dstCtx := sh .GetQueryContext (ctx , dst .ChainID ())
326327
327328 // query finalized channels with proofs
328- srcChan , dstChan , settled , err := querySettledChannelPair (srcCtx , dstCtx , src , dst , false )
329+ srcChan , dstChan , settled , err := querySettledChannelPair (srcCtx , dstCtx , src , dst )
329330 if err != nil {
330331 logger .ErrorContext (ctx , "failed to query the channel pair with proofs" , err )
331332 return nil , err
@@ -339,7 +340,6 @@ func upgradeChannelStep(ctx context.Context, src, dst *ProvableChain, targetSrcS
339340 dstCtx ,
340341 src ,
341342 dst ,
342- false ,
343343 )
344344 if err != nil {
345345 logger .ErrorContext (ctx , "failed to query the channel upgrade pair with proofs" , err )
@@ -661,17 +661,15 @@ func querySettledChannelUpgradePair(
661661 Chain
662662 StateProver
663663 },
664- prove bool ,
665664) (* chantypes.QueryUpgradeResponse , * chantypes.QueryUpgradeResponse , bool , error ) {
666665 logger := GetChannelPairLogger (src , dst )
667666 logger = & log.RelayLogger {Logger : logger .With (
668667 "src_height" , srcCtx .Height ().String (),
669668 "dst_height" , dstCtx .Height ().String (),
670- "prove" , prove ,
671669 )}
672670
673671 // query channel upgrade pair at latest finalized heights
674- srcChanUpg , dstChanUpg , err := QueryChannelUpgradePair (srcCtx , dstCtx , src , dst , prove )
672+ srcChanUpg , dstChanUpg , err := QueryChannelUpgradePair (srcCtx , dstCtx , src , dst )
675673 if err != nil {
676674 logger .ErrorContext (srcCtx .Context (), "failed to query a channel upgrade pair at the latest finalized heights" , err )
677675 return nil , nil , false , err
@@ -693,7 +691,7 @@ func querySettledChannelUpgradePair(
693691 }
694692
695693 // query channel upgrade pair at latest heights
696- srcLatestChanUpg , dstLatestChanUpg , err := QueryChannelUpgradePair (srcLatestCtx , dstLatestCtx , src , dst , false )
694+ srcLatestChanUpg , dstLatestChanUpg , err := QueryChannelUpgradePair (srcLatestCtx , dstLatestCtx , src , dst )
697695 if err != nil {
698696 logger .ErrorContext (srcCtx .Context (), "failed to query a channel upgrade pair at the latest heights" , err )
699697 return nil , nil , false , err
@@ -799,27 +797,34 @@ func buildActionMsg(
799797 }
800798 return pathEnd .ChanUpgradeOpen (cpChan , addr ), nil
801799 case UPGRADE_ACTION_CANCEL :
802- upgErr , err := QueryChannelUpgradeError (cpCtx , cp , true )
800+ upgErr , err := QueryChannelUpgradeError (cpCtx , cp )
803801 if err != nil {
804802 return nil , err
805803 } else if upgErr == nil {
806804 // NOTE: Even if an error receipt is not found, anyway try to execute ChanUpgradeCancel.
807805 // If the sender is authority and the channel state is anything other than FLUSHCOMPLETE,
808806 // the cancellation will be successful.
809807 upgErr = & chantypes.QueryUpgradeErrorResponse {}
808+ } else if err := ProveChannelUpgradeError (cpCtx , cp , upgErr ); err != nil {
809+ return nil , err
810810 }
811+
811812 return pathEnd .ChanUpgradeCancel (upgErr , addr ), nil
812813 case UPGRADE_ACTION_CANCEL_FLUSHCOMPLETE :
813- upgErr , err := QueryChannelUpgradeError (cpCtx , cp , true )
814+ upgErr , err := QueryChannelUpgradeError (cpCtx , cp )
814815 if err != nil {
815816 return nil , err
816817 } else if upgErr == nil {
817818 return nil , fmt .Errorf ("upgrade error receipt not found" )
818- } else if upgErr .ErrorReceipt .Sequence != selfChan .Channel .UpgradeSequence {
819+ }
820+ if upgErr .ErrorReceipt .Sequence != selfChan .Channel .UpgradeSequence {
819821 return nil , fmt .Errorf (
820822 "upgrade sequences don't match: channel.upgrade_sequence=%d, error_receipt.sequence=%d" ,
821823 selfChan .Channel .UpgradeSequence , upgErr .ErrorReceipt .Sequence )
822824 }
825+ if err = ProveChannelUpgradeError (cpCtx , cp , upgErr ); err != nil {
826+ return nil , err
827+ }
823828 return pathEnd .ChanUpgradeCancel (upgErr , addr ), nil
824829 case UPGRADE_ACTION_TIMEOUT :
825830 if err := ProveChannel (cpCtx , cp , cpChan ); err != nil {
0 commit comments