From 343a1bb977acf05036f011e3519a61816172375a Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 11 Jun 2025 22:01:40 +0800 Subject: [PATCH 01/11] fix: aws s3 config --- rollup/internal/controller/blob_uploader/s3_sender.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/s3_sender.go b/rollup/internal/controller/blob_uploader/s3_sender.go index bfbe32cfd0..a31857c856 100644 --- a/rollup/internal/controller/blob_uploader/s3_sender.go +++ b/rollup/internal/controller/blob_uploader/s3_sender.go @@ -25,8 +25,6 @@ type S3Uploader struct { func NewS3Uploader(cfg *config.AWSS3Config) (*S3Uploader, error) { // load AWS config var opts []func(*awsconfig.LoadOptions) error - opts = append(opts, awsconfig.WithRegion(cfg.Region)) - // if AccessKey && SecretKey provided, use it if cfg.AccessKey != "" && cfg.SecretKey != "" { opts = append(opts, awsconfig.WithCredentialsProvider( @@ -38,6 +36,10 @@ func NewS3Uploader(cfg *config.AWSS3Config) (*S3Uploader, error) { ) } + if cfg.Region != "" { + opts = append(opts, awsconfig.WithRegion(cfg.Region)) + } + awsCfg, err := awsconfig.LoadDefaultConfig(context.Background(), opts...) if err != nil { return nil, fmt.Errorf("failed to load default config: %w", err) From 2cd9217cc0b0813ca92ea822fe3765f2fc9072dc Mon Sep 17 00:00:00 2001 From: yiweichi Date: Wed, 11 Jun 2025 14:04:13 +0000 Subject: [PATCH 02/11] =?UTF-8?q?chore:=20auto=20version=20bump=E2=80=89[b?= =?UTF-8?q?ot]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index 3ab70685f6..1061e5cd0c 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.5.23" +var tag = "v4.5.24" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From 465c36e3397d536d6f4eea37f8dc61968c1a7384 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 12 Jun 2025 02:18:08 +0800 Subject: [PATCH 03/11] feat: temporarily disable codec_version check --- .../controller/blob_uploader/blob_uploader.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index 0ee70ec4ed..f78bc0099d 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -136,12 +136,13 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er return nil, fmt.Errorf("failed to get chunks in range: %v", err) } + // disable this check temporarily because the codec_version field for chunk was added later. // check codec version - for _, dbChunk := range dbChunks { - if dbBatch.CodecVersion != dbChunk.CodecVersion { - return nil, fmt.Errorf("batch codec version is different from chunk codec version, batch index: %d, chunk index: %d, batch codec version: %d, chunk codec version: %d", dbBatch.Index, dbChunk.Index, dbBatch.CodecVersion, dbChunk.CodecVersion) - } - } + // for _, dbChunk := range dbChunks { + // if dbBatch.CodecVersion != dbChunk.CodecVersion { + // return nil, fmt.Errorf("batch codec version is different from chunk codec version, batch index: %d, chunk index: %d, batch codec version: %d, chunk codec version: %d", dbBatch.Index, dbChunk.Index, dbBatch.CodecVersion, dbChunk.CodecVersion) + // } + // } chunks := make([]*encoding.Chunk, len(dbChunks)) var allBlocks []*encoding.Block // collect blocks for CodecV7 From 6cc6a45955f25426ee6ab806bc613609f9ee0dc9 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 12 Jun 2025 03:46:58 +0800 Subject: [PATCH 04/11] feat: temporarily disable codec_version check --- .../internal/controller/blob_uploader/blob_uploader.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index f78bc0099d..82b7b64cdc 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -136,7 +136,7 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er return nil, fmt.Errorf("failed to get chunks in range: %v", err) } - // disable this check temporarily because the codec_version field for chunk was added later. + // temporarily disable this check because the codec_version field for chunk was added later. // check codec version // for _, dbChunk := range dbChunks { // if dbBatch.CodecVersion != dbChunk.CodecVersion { @@ -158,9 +158,10 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er var encodingBatch *encoding.Batch codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) switch codecVersion { - case encoding.CodecV0: - return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) - case encoding.CodecV1, encoding.CodecV2, encoding.CodecV3, encoding.CodecV4, encoding.CodecV5, encoding.CodecV6: + // temporarily disable this check because the codec_version field for chunk was added later. + // case encoding.CodecV0: + // return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) + case encoding.CodecV0, encoding.CodecV1, encoding.CodecV2, encoding.CodecV3, encoding.CodecV4, encoding.CodecV5, encoding.CodecV6: encodingBatch = &encoding.Batch{ Index: dbBatch.Index, TotalL1MessagePoppedBefore: dbChunks[0].TotalL1MessagesPoppedBefore, From c68a4a0f124d0bf4276f49a28c2077be410ad0a0 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 12 Jun 2025 04:37:57 +0800 Subject: [PATCH 05/11] feat: temporarily disable codec_version check --- .../controller/blob_uploader/blob_uploader.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index 82b7b64cdc..7aa32e82c5 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -157,11 +157,19 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er var encodingBatch *encoding.Batch codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) + + // temporarily add this check because the codec_version field for chunk was added later. + if codecVersion == encoding.CodecV0 { + codecVersion = encoding.CodecV1 + } + if codecVersion == encoding.CodecV0 && dbBatch.Index >= 73224 { // for sepolia + codecVersion = encoding.CodecV2 + } + switch codecVersion { - // temporarily disable this check because the codec_version field for chunk was added later. - // case encoding.CodecV0: - // return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) - case encoding.CodecV0, encoding.CodecV1, encoding.CodecV2, encoding.CodecV3, encoding.CodecV4, encoding.CodecV5, encoding.CodecV6: + case encoding.CodecV0: + return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) + case encoding.CodecV1, encoding.CodecV2, encoding.CodecV3, encoding.CodecV4, encoding.CodecV5, encoding.CodecV6: encodingBatch = &encoding.Batch{ Index: dbBatch.Index, TotalL1MessagePoppedBefore: dbChunks[0].TotalL1MessagesPoppedBefore, From e50675ff741a69ff08e1b4dbf25069680bbeabba Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 12 Jun 2025 20:30:16 +0800 Subject: [PATCH 06/11] fix: InsertOrUpdateBlobUpload --- rollup/internal/orm/blob_upload.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rollup/internal/orm/blob_upload.go b/rollup/internal/orm/blob_upload.go index 391be5f31e..a528160a39 100644 --- a/rollup/internal/orm/blob_upload.go +++ b/rollup/internal/orm/blob_upload.go @@ -115,7 +115,8 @@ func (o *BlobUpload) InsertOrUpdateBlobUpload(ctx context.Context, batchIndex ui return fmt.Errorf("BlobUpload.InsertOrUpdateBlobUpload query error: %w, batch index: %v, batch_hash: %v, platform: %v", err, batchIndex, batchHash, platform) } - if err := db.Model(&existing).Update("status", int16(status)).Error; err != nil { + if err := db.Model(&existing).Where("batch_index = ? AND batch_hash = ? AND platform = ? AND deleted_at IS NULL", + batchIndex, batchHash, int16(platform)).Update("status", int16(status)).Error; err != nil { return fmt.Errorf("BlobUpload.InsertOrUpdateBlobUpload update error: %w, batch index: %v, batch_hash: %v, platform: %v", err, batchIndex, batchHash, platform) } From 7eb52122702ba2d324b8e7e583093367bfbaaa49 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 13 Jun 2025 00:15:05 +0800 Subject: [PATCH 07/11] fix: codec v2 special handle --- rollup/cmd/blob_uploader/app/app.go | 2 +- rollup/internal/controller/blob_uploader/blob_uploader.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rollup/cmd/blob_uploader/app/app.go b/rollup/cmd/blob_uploader/app/app.go index 6ee84e11aa..71b9184e55 100644 --- a/rollup/cmd/blob_uploader/app/app.go +++ b/rollup/cmd/blob_uploader/app/app.go @@ -70,7 +70,7 @@ func action(ctx *cli.Context) error { log.Crit("failed to create l2 relayer", "config file", cfgFile, "error", err) } - go utils.Loop(subCtx, 2*time.Second, blobUploader.UploadBlobToS3) + go utils.Loop(subCtx, 1*time.Second, blobUploader.UploadBlobToS3) // Finish start all blob-uploader functions. log.Info("Start blob-uploader successfully", "version", version.Version) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index 7aa32e82c5..a13d1516f2 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -159,7 +159,7 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) // temporarily add this check because the codec_version field for chunk was added later. - if codecVersion == encoding.CodecV0 { + if codecVersion == encoding.CodecV0 && dbBatch.Index < 73224 { codecVersion = encoding.CodecV1 } if codecVersion == encoding.CodecV0 && dbBatch.Index >= 73224 { // for sepolia From b63a13731357b460ed056951d1c3658da17addd1 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 1 Jul 2025 21:04:09 +0800 Subject: [PATCH 08/11] fix: mainnet codec version special handle --- rollup/internal/controller/blob_uploader/blob_uploader.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index a13d1516f2..0e17a38203 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -159,10 +159,14 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) // temporarily add this check because the codec_version field for chunk was added later. - if codecVersion == encoding.CodecV0 && dbBatch.Index < 73224 { + /* + firstV0BatchIndex: sepolia 69684 mainnet 171172 + firstV1BatchIndex: sepolia 73224 mainnet 274315 + */ + if codecVersion == encoding.CodecV0 && dbBatch.Index < 274315 { codecVersion = encoding.CodecV1 } - if codecVersion == encoding.CodecV0 && dbBatch.Index >= 73224 { // for sepolia + if codecVersion == encoding.CodecV0 && dbBatch.Index >= 274315 { // for sepolia codecVersion = encoding.CodecV2 } From b5f64939c2595a9114e3b6a03e5010b4755c67cf Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 8 Jul 2025 00:04:16 +0800 Subject: [PATCH 09/11] remove hotfix code --- .../controller/blob_uploader/blob_uploader.go | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index 0e17a38203..a1baf784d2 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -136,13 +136,12 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er return nil, fmt.Errorf("failed to get chunks in range: %v", err) } - // temporarily disable this check because the codec_version field for chunk was added later. // check codec version - // for _, dbChunk := range dbChunks { - // if dbBatch.CodecVersion != dbChunk.CodecVersion { - // return nil, fmt.Errorf("batch codec version is different from chunk codec version, batch index: %d, chunk index: %d, batch codec version: %d, chunk codec version: %d", dbBatch.Index, dbChunk.Index, dbBatch.CodecVersion, dbChunk.CodecVersion) - // } - // } + for _, dbChunk := range dbChunks { + if dbBatch.CodecVersion != dbChunk.CodecVersion { + return nil, fmt.Errorf("batch codec version is different from chunk codec version, batch index: %d, chunk index: %d, batch codec version: %d, chunk codec version: %d", dbBatch.Index, dbChunk.Index, dbBatch.CodecVersion, dbChunk.CodecVersion) + } + } chunks := make([]*encoding.Chunk, len(dbChunks)) var allBlocks []*encoding.Block // collect blocks for CodecV7 @@ -158,18 +157,6 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er var encodingBatch *encoding.Batch codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) - // temporarily add this check because the codec_version field for chunk was added later. - /* - firstV0BatchIndex: sepolia 69684 mainnet 171172 - firstV1BatchIndex: sepolia 73224 mainnet 274315 - */ - if codecVersion == encoding.CodecV0 && dbBatch.Index < 274315 { - codecVersion = encoding.CodecV1 - } - if codecVersion == encoding.CodecV0 && dbBatch.Index >= 274315 { // for sepolia - codecVersion = encoding.CodecV2 - } - switch codecVersion { case encoding.CodecV0: return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) From 01f29dbdf15ebc97f29a5c9e0335927f5a8980ce Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 8 Jul 2025 00:11:59 +0800 Subject: [PATCH 10/11] indent --- rollup/internal/controller/blob_uploader/blob_uploader.go | 1 - 1 file changed, 1 deletion(-) diff --git a/rollup/internal/controller/blob_uploader/blob_uploader.go b/rollup/internal/controller/blob_uploader/blob_uploader.go index a1baf784d2..0ee70ec4ed 100644 --- a/rollup/internal/controller/blob_uploader/blob_uploader.go +++ b/rollup/internal/controller/blob_uploader/blob_uploader.go @@ -156,7 +156,6 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er var encodingBatch *encoding.Batch codecVersion := encoding.CodecVersion(dbBatch.CodecVersion) - switch codecVersion { case encoding.CodecV0: return nil, fmt.Errorf("codec version 0 doesn't support blob, batch index: %d", dbBatch.Index) From d73f57c94f29e7df5b96917a35f89b72bd000106 Mon Sep 17 00:00:00 2001 From: yiweichi Date: Wed, 16 Jul 2025 08:18:57 +0000 Subject: [PATCH 11/11] =?UTF-8?q?chore:=20auto=20version=20bump=E2=80=89[b?= =?UTF-8?q?ot]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index dedecf6097..7a9994c069 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.5.29" +var tag = "v4.5.30" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok {