feat(rollup_relayer): add chain_monitor client (#885)

Co-authored-by: mask-pp <mask-pp@users.noreply.github.com>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
This commit is contained in:
maskpp
2023-08-31 20:15:26 +08:00
committed by GitHub
parent f553a70d20
commit 3958e8bd86
36 changed files with 452 additions and 125 deletions

View File

@@ -4,6 +4,7 @@ import (
"context"
"math/big"
"testing"
"time"
"github.com/scroll-tech/go-ethereum/accounts/abi/bind"
"github.com/scroll-tech/go-ethereum/common"
@@ -20,6 +21,8 @@ var (
func TestERC20(t *testing.T) {
base.RunL2Geth(t)
time.Sleep(time.Second * 3)
l2Cli, err := base.L2Client()
assert.Nil(t, err)

View File

@@ -29,24 +29,15 @@ import (
)
var (
base *docker.App
bridgeApp *bcmd.MockApp
coordinatorApp *capp.CoordinatorApp
chunkProverApp *rapp.ProverApp
batchProverApp *rapp.ProverApp
base *docker.App
bridgeApp *bcmd.MockApp
)
func TestMain(m *testing.M) {
base = docker.NewDockerApp()
bridgeApp = bcmd.NewBridgeApp(base, "../../bridge/conf/config.json")
coordinatorApp = capp.NewCoordinatorApp(base, "../../coordinator/conf/config.json")
chunkProverApp = rapp.NewProverApp(base, utils.ChunkProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
batchProverApp = rapp.NewProverApp(base, utils.BatchProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
m.Run()
bridgeApp.Free()
coordinatorApp.Free()
chunkProverApp.Free()
batchProverApp.Free()
base.Free()
}
@@ -114,6 +105,14 @@ func TestCoordinatorProverInteraction(t *testing.T) {
assert.NoError(t, err)
t.Log(version.Version)
base.Timestamp = time.Now().Nanosecond()
coordinatorApp := capp.NewCoordinatorApp(base, "../../coordinator/conf/config.json")
chunkProverApp := rapp.NewProverApp(base, utils.ChunkProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
batchProverApp := rapp.NewProverApp(base, utils.BatchProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
defer coordinatorApp.Free()
defer chunkProverApp.Free()
defer batchProverApp.Free()
// Run coordinator app.
coordinatorApp.RunApp(t)
@@ -141,14 +140,23 @@ func TestProverReLogin(t *testing.T) {
assert.NoError(t, migrate.ResetDB(base.DBClient(t)))
base.Timestamp = time.Now().Nanosecond()
coordinatorApp := capp.NewCoordinatorApp(base, "../../coordinator/conf/config.json")
chunkProverApp := rapp.NewProverApp(base, utils.ChunkProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
batchProverApp := rapp.NewProverApp(base, utils.BatchProverApp, "../../prover/config.json", coordinatorApp.HTTPEndpoint())
defer coordinatorApp.Free()
defer chunkProverApp.Free()
defer batchProverApp.Free()
// Run coordinator app.
coordinatorApp.RunApp(t) // login timeout: 1 sec
chunkProverApp.RunApp(t)
batchProverApp.RunApp(t)
// Run prover app.
chunkProverApp.WaitResult(t, time.Second*40, "re-login success") // chunk prover login.
batchProverApp.WaitResult(t, time.Second*40, "re-login success") // batch prover login.
chunkProverApp.ExpectWithTimeout(t, true, time.Second*40, "re-login success") // chunk prover login.
batchProverApp.ExpectWithTimeout(t, true, time.Second*40, "re-login success") // batch prover login.
chunkProverApp.RunApp(t)
batchProverApp.RunApp(t)
// Free apps.
chunkProverApp.WaitExit()