diff --git a/aggsender/aggsender.go b/aggsender/aggsender.go index 103fdf3f..b6f6bd03 100644 --- a/aggsender/aggsender.go +++ b/aggsender/aggsender.go @@ -195,6 +195,7 @@ func (a *AggSender) sendCertificate(ctx context.Context) (*agglayer.SignedCertif ToBlock: toBlock, Bridges: bridges, Claims: claims, + CreatedAt: uint32(time.Now().UTC().Unix()), } certificateParams, err = a.limitCertSize(certificateParams) @@ -228,7 +229,6 @@ func (a *AggSender) sendCertificate(ctx context.Context) (*agglayer.SignedCertif return nil, fmt.Errorf("error marshalling signed certificate. Cert:%s. Err: %w", signedCertificate.Brief(), err) } - createdTime := time.Now().UTC().UnixMilli() prevLER := common.BytesToHash(certificate.PrevLocalExitRoot[:]) certInfo := types.CertificateInfo{ Height: certificate.Height, @@ -238,8 +238,8 @@ func (a *AggSender) sendCertificate(ctx context.Context) (*agglayer.SignedCertif PreviousLocalExitRoot: &prevLER, FromBlock: fromBlock, ToBlock: toBlock, - CreatedAt: createdTime, - UpdatedAt: createdTime, + CreatedAt: int64(certificateParams.CreatedAt), + UpdatedAt: int64(certificateParams.CreatedAt), SignedCertificate: string(raw), } // TODO: Improve this case, if a cert is not save in the storage, we are going to settle a unknown certificate @@ -396,7 +396,7 @@ func (a *AggSender) buildCertificate(ctx context.Context, meta := types.NewCertificateMetadata( certParams.FromBlock, uint32(certParams.ToBlock-certParams.FromBlock), - uint32(time.Now().UTC().Unix()), + certParams.CreatedAt, ) return &agglayer.Certificate{ diff --git a/aggsender/aggsender_test.go b/aggsender/aggsender_test.go index 84c662c2..1fdcddb2 100644 --- a/aggsender/aggsender_test.go +++ b/aggsender/aggsender_test.go @@ -631,7 +631,7 @@ func TestBuildCertificate(t *testing.T) { NetworkID: 1, PrevLocalExitRoot: common.HexToHash("0x123"), NewLocalExitRoot: common.HexToHash("0x789"), - Metadata: aggsendertypes.NewCertificateMetadata(0, 10, uint32(time.Now().Unix())).ToHash(), + Metadata: aggsendertypes.NewCertificateMetadata(0, 10, 0).ToHash(), BridgeExits: []*agglayer.BridgeExit{ { LeafType: agglayer.LeafTypeAsset, diff --git a/aggsender/types/certificate_build_params.go b/aggsender/types/certificate_build_params.go index b9fb9692..62edda61 100644 --- a/aggsender/types/certificate_build_params.go +++ b/aggsender/types/certificate_build_params.go @@ -17,11 +17,12 @@ type CertificateBuildParams struct { ToBlock uint64 Bridges []bridgesync.Bridge Claims []bridgesync.Claim + CreatedAt uint32 } func (c *CertificateBuildParams) String() string { - return fmt.Sprintf("FromBlock: %d, ToBlock: %d, numBridges: %d, numClaims: %d", - c.FromBlock, c.ToBlock, c.NumberOfBridges(), c.NumberOfClaims()) + return fmt.Sprintf("FromBlock: %d, ToBlock: %d, numBridges: %d, numClaims: %d, createdAt: %d", + c.FromBlock, c.ToBlock, c.NumberOfBridges(), c.NumberOfClaims(), c.CreatedAt) } // Range create a new CertificateBuildParams with the given range