Skip to content

Commit 6b15104

Browse files
committed
feat: add pier batch config for bxh adapter
1 parent 4c0549c commit 6b15104

6 files changed

Lines changed: 29 additions & 67 deletions

File tree

internal/adapt/appchain_adapter/adapter.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,13 @@ func (a *AppchainAdapter) SendIBTP(ibtp *pb.IBTP) error {
202202
_, _, serviceID := ibtp.ParseTo()
203203

204204
a.logger.WithFields(logrus.Fields{
205-
"ibtp": ibtp.ID(),
206-
"typ": ibtp.Type,
205+
"from": ibtp.From,
206+
"index": ibtp.Index,
207+
"serviceID": serviceID,
208+
"type": ibtp.Type,
209+
"content": content,
210+
"proof": proof,
211+
"encrypted": pd.Encrypted,
207212
}).Info("start submit ibtp")
208213
res, err = a.client.SubmitIBTP(ibtp.From, ibtp.Index, serviceID, ibtp.Type, content, proof, pd.Encrypted)
209214
} else {
@@ -233,6 +238,7 @@ func (a *AppchainAdapter) SendIBTP(ibtp *pb.IBTP) error {
233238
a.logger.WithFields(logrus.Fields{
234239
"ibtp": ibtp.ID(),
235240
"typ": ibtp.Type,
241+
"res": result,
236242
}).Info("start submit receipt")
237243
res, err = a.client.SubmitReceipt(ibtp.To, ibtp.Index, serviceID, ibtp.Type, result, proof)
238244
}

internal/adapt/appchain_adapter/adapter_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ import (
99
"testing"
1010
"time"
1111

12+
"github.com/hashicorp/go-plugin"
1213
"github.com/meshplus/pier/internal/adapt"
1314
"github.com/meshplus/pier/internal/repo"
14-
15-
"github.com/hashicorp/go-plugin"
1615
"github.com/stretchr/testify/require"
1716

1817
"github.com/golang/mock/gomock"

internal/adapt/bxh_adapter/adapter.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ type BxhAdapter struct {
5656
tss *repo.TSS
5757
goPool *utils.GoPool
5858
checker checker.Checker
59+
isBatch bool
5960
}
6061

6162
func (b *BxhAdapter) GetServiceIDList() ([]string, error) {
@@ -131,7 +132,7 @@ func (b *BxhAdapter) SendUpdatedMeta(_ []byte) error {
131132

132133
// New creates instance of WrapperSyncer given agent interacting with bitxhub,
133134
// validators addresses of bitxhub and local storage
134-
func New(mode, appchainId string, client rpcx.Client, logger logrus.FieldLogger, tss *repo.TSS, nonce uint64) (*BxhAdapter, error) {
135+
func New(mode, appchainId string, config *repo.Config, client rpcx.Client, logger logrus.FieldLogger, tss *repo.TSS, nonce uint64) (*BxhAdapter, error) {
135136
bxhID, err := client.GetChainID()
136137
if err != nil {
137138
return nil, fmt.Errorf("new bxh adapter err: %w", err)
@@ -151,6 +152,7 @@ func New(mode, appchainId string, client rpcx.Client, logger logrus.FieldLogger,
151152
tss: tss,
152153
nonce: nonce,
153154
goPool: utils.NewGoPool(goroutinesSize),
155+
isBatch: config.Batch.EnableBatch,
154156
}
155157

156158
ba.checker = checker.NewRelayChecker(nil, ba.appchainId, fmt.Sprintf("%d", ba.bxhID), ba.logger)
@@ -631,7 +633,7 @@ func (b *BxhAdapter) handleInterchainTxWrapper(w *pb.InterchainTxWrapper, i int)
631633
}
632634
b.logger.WithFields(logrus.Fields{"ID": ibtp.ID(), "index": ibtp.Index, "elapse": time.Since(current)}).Debug("[3.1] receive multi sign")
633635
ibtp.Proof = retProof
634-
if tx.IsBatch && b.mode == repo.RelayMode {
636+
if tx.IsBatch && b.mode == repo.RelayMode && b.isBatch {
635637
ibtp.Extra = []byte("1")
636638
b.logger.Info("get batch ibtp")
637639
}

internal/adapt/bxh_adapter/adapter_test.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -686,23 +686,29 @@ func prepare(t *testing.T) (*BxhAdapter, *BxhAdapter, *BxhAdapter, *mock_client.
686686
client := mock_client.NewMockClient(mockCtl)
687687
client.EXPECT().GetChainID().Return(uint64(bxhId1), nil).AnyTimes()
688688

689-
config := &repo.Config{}
690-
config.Mode.Type = repo.RelayMode
691-
config.TSS = &repo.TSS{
692-
EnableTSS: false,
689+
config := &repo.Config{
690+
Mode: repo.Mode{
691+
Type: repo.RelayMode,
692+
},
693+
TSS: &repo.TSS{
694+
EnableTSS: false,
695+
},
696+
Batch: repo.Batch{
697+
EnableBatch: false,
698+
},
693699
}
694700

695-
relayAdapter1, err := New(repo.RelayMode, "",
701+
relayAdapter1, err := New(repo.RelayMode, "", config,
696702
client, log.NewWithModule("adapter"), config.TSS, 0,
697703
)
698704
require.Nil(t, err)
699705

700-
relayAdapter2, err := New(repo.RelayMode, "",
706+
relayAdapter2, err := New(repo.RelayMode, "", config,
701707
client, log.NewWithModule("adapter"), config.TSS, 0,
702708
)
703709
require.Nil(t, err)
704710

705-
unionAdapter, err := New(repo.UnionMode, defaultUnionPierId,
711+
unionAdapter, err := New(repo.UnionMode, defaultUnionPierId, config,
706712
client, log.NewWithModule("adapter"), config.TSS, 0,
707713
)
708714
require.Nil(t, err)

internal/app/pier.go

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -44,57 +44,6 @@ type Pier struct {
4444
logger logrus.FieldLogger
4545
}
4646

47-
func NewUnionPier(repoRoot string, config *repo.Config) (*Pier, error) {
48-
logger := loggers.Logger(loggers.App)
49-
privateKey, err := repo.LoadPrivateKey(repoRoot)
50-
if err != nil {
51-
return nil, fmt.Errorf("repo load key: %w", err)
52-
}
53-
54-
client, err := newBitXHubClient(logger, privateKey, config)
55-
if err != nil {
56-
return nil, fmt.Errorf("create bitxhub client: %w", err)
57-
}
58-
59-
bxhAdapter, err := bxh_adapter.New(repo.UnionMode, DEFAULT_UNION_PIER_ID, client, loggers.Logger(loggers.Syncer), config.TSS, 0)
60-
if err != nil {
61-
return nil, fmt.Errorf("new bitxhub adapter: %w", err)
62-
}
63-
64-
nodePrivKey, err := repo.LoadNodePrivateKey(repoRoot)
65-
if err != nil {
66-
return nil, fmt.Errorf("repo load node key: %w", err)
67-
}
68-
69-
peerManager, err := peermgr.New(config, nodePrivKey, privateKey, config.Mode.Union.Providers, loggers.Logger(loggers.PeerMgr))
70-
if err != nil {
71-
return nil, fmt.Errorf("peerMgr create: %w", err)
72-
}
73-
74-
unionAdapt, err := union_adapter.New(peerManager, bxhAdapter, loggers.Logger(loggers.Union))
75-
if err != nil {
76-
return nil, fmt.Errorf("new union adapter: %w", err)
77-
}
78-
79-
ex, err := exchanger.New(repo.UnionMode, "", bxhAdapter.ID(),
80-
exchanger.WithSrcAdapt(bxhAdapter),
81-
exchanger.WithDestAdapt(unionAdapt),
82-
exchanger.WithLogger(loggers.Logger(loggers.Exchanger)))
83-
if err != nil {
84-
return nil, fmt.Errorf("exchanger create: %w", err)
85-
}
86-
87-
ctx, cancel := context.WithCancel(context.Background())
88-
return &Pier{
89-
privateKey: privateKey,
90-
exchanger: ex,
91-
logger: logger,
92-
ctx: ctx,
93-
cancel: cancel,
94-
config: config,
95-
}, nil
96-
}
97-
9847
// Start starts three main components of pier app
9948
func (pier *Pier) Start() error {
10049
if err := pier.pierHA.Start(); err != nil {
@@ -169,7 +118,7 @@ func NewPier(repoRoot string, config *repo.Config) (*Pier, error) {
169118
addr, _ := privateKey.PublicKey().Address()
170119
nonce, _ := client.GetPendingNonceByAccount(addr.String())
171120

172-
bxhAdapter, err := bxh_adapter.New(repo.RelayMode, appchainAdapter.ID(), client, loggers.Logger(loggers.Syncer), config.TSS, nonce)
121+
bxhAdapter, err := bxh_adapter.New(repo.RelayMode, appchainAdapter.ID(), config, client, loggers.Logger(loggers.Syncer), config.TSS, nonce)
173122
if err != nil {
174123
return nil, fmt.Errorf("new bxh adapter: %w", err)
175124
}
@@ -208,7 +157,7 @@ func NewPier(repoRoot string, config *repo.Config) (*Pier, error) {
208157
return nil, fmt.Errorf("create bitxhub client: %w", err)
209158
}
210159

211-
bxhAdapter, err := bxh_adapter.New(repo.UnionMode, DEFAULT_UNION_PIER_ID, client, loggers.Logger(loggers.Syncer), config.TSS, 0)
160+
bxhAdapter, err := bxh_adapter.New(repo.UnionMode, DEFAULT_UNION_PIER_ID, config, client, loggers.Logger(loggers.Syncer), config.TSS, 0)
212161
if err != nil {
213162
return nil, fmt.Errorf("new bitxhub adapter: %w", err)
214163
}

internal/repo/packrd/packed-packr.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)