Skip to content

Commit 0bf0123

Browse files
authored
Merge pull request #68 from datachainlab/feature/relayer-v0.5.13-op
Support the new interface of `SetupHeadersForUpdate`, which returns chan
2 parents b103dad + 56766e6 commit 0bf0123

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ go 1.22.0
44

55
require (
66
cosmossdk.io/store v1.0.2
7+
github.com/cockroachdb/errors v1.11.3
78
github.com/cosmos/cosmos-sdk v0.50.5
89
github.com/cosmos/gogoproto v1.4.11
910
github.com/cosmos/ibc-go/v8 v8.2.1
1011
github.com/datachainlab/ethereum-ibc-relay-chain v0.3.17
1112
github.com/datachainlab/ibc-hd-signer v0.1.2
1213
github.com/ethereum/go-ethereum v1.15.0
1314
github.com/holiman/uint256 v1.3.2
14-
github.com/hyperledger-labs/yui-relayer v0.5.15
15+
github.com/hyperledger-labs/yui-relayer v0.5.16
1516
github.com/spf13/cobra v1.8.1
1617
github.com/stretchr/testify v1.10.0
1718
go.opentelemetry.io/otel v1.35.0
@@ -55,7 +56,6 @@ require (
5556
github.com/cespare/xxhash v1.1.0 // indirect
5657
github.com/cespare/xxhash/v2 v2.3.0 // indirect
5758
github.com/chzyer/readline v1.5.1 // indirect
58-
github.com/cockroachdb/errors v1.11.3 // indirect
5959
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
6060
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
6161
github.com/cockroachdb/pebble v1.1.2 // indirect

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -778,8 +778,8 @@ github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXM
778778
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
779779
github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc=
780780
github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8=
781-
github.com/hyperledger-labs/yui-relayer v0.5.15 h1:kNJeUV9NJx51Txe9Y4ud6WNWQPMnWXvsReTBjQfp1jg=
782-
github.com/hyperledger-labs/yui-relayer v0.5.15/go.mod h1:fyY5rY+lqyAAlr1AsWXsB22Qj5phbw/oszgZBL9UeEM=
781+
github.com/hyperledger-labs/yui-relayer v0.5.16 h1:NauHZ08JsfIvkzopafR/5/TbRCAH7JSUgqm7YrUEQ/4=
782+
github.com/hyperledger-labs/yui-relayer v0.5.16/go.mod h1:tGNMIE1y4cGNyRRKhR9rfBtCGLVjgejf3EIXouvdDQc=
783783
github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI=
784784
github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
785785
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=

module/prover.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ package module
33
import (
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

119124
func (pr *Prover) SetupHeadersForUpdateByLatestHeight(ctx context.Context, clientStateLatestHeight exported.Height, latestFinalizedHeader *Header) ([]core.Header, error) {

tests/prover_network_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@ func (ts *ProverNetworkTestSuite) TestSetupHeadersForUpdate() {
7070
setupDone, err := ts.prover.SetupHeadersForUpdate(context.Background(), dst, header)
7171
ts.Require().NoError(err)
7272
ts.Require().True(len(setupDone) > 0)
73-
for _, h := range setupDone {
74-
ts.Require().Len(h.(*module.Header).Headers, 3)
73+
for h := range setupDone {
74+
ts.Require().NoError(h.Error)
75+
ts.Require().Len(h.Header.(*module.Header).Headers, 3)
7576
}
7677
}
7778

0 commit comments

Comments
 (0)