From 7fac00f3d651503a41f19d98d7151a4956876263 Mon Sep 17 00:00:00 2001 From: peak3d Date: Wed, 22 Mar 2023 12:23:45 +0100 Subject: [PATCH] [P-TX] use Banff block time for TX --- scripts/build.sh | 3 +++ services/indexes/pvm/writer.go | 18 ++++++++++-------- services/services.go | 1 + 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 scripts/build.sh diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100644 index 000000000..8c17d59db --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +go build cmds/magelland/magelland.go diff --git a/services/indexes/pvm/writer.go b/services/indexes/pvm/writer.go index 3949813b8..f55355315 100644 --- a/services/indexes/pvm/writer.go +++ b/services/indexes/pvm/writer.go @@ -374,6 +374,12 @@ func (w *Writer) indexBlock(ctx services.ConsumerCtx, blockBytes []byte) error { ctxTime := ctx.Time() pvmProposer := models.NewBlockProposal(proposerBlock, &ctxTime) + adjustCtxTime := func(tm uint64) { + ctxTime := time.Unix(int64(tm), 0) + ctx.SetTime(ctxTime) + pvmProposer.TimeStamp = &ctxTime + } + errs := wrappers.Errs{} switch blk := blk.(type) { case *blocks.ApricotProposalBlock: @@ -387,20 +393,16 @@ func (w *Writer) indexBlock(ctx services.ConsumerCtx, blockBytes []byte) error { case *blocks.ApricotCommitBlock: errs.Add(w.indexCommonBlock(ctx, blkID, models.BlockTypeCommit, blk.CommonBlock, pvmProposer, innerBlockBytes)) case *blocks.BanffProposalBlock: - ctxTime = time.Unix(int64(blk.Time), 0) - pvmProposer.TimeStamp = &ctxTime + adjustCtxTime(blk.Time) errs.Add(w.indexCommonBlock(ctx, blkID, models.BlockTypeStandard, blk.CommonBlock, pvmProposer, innerBlockBytes)) case *blocks.BanffStandardBlock: - ctxTime = time.Unix(int64(blk.Time), 0) - pvmProposer.TimeStamp = &ctxTime + adjustCtxTime(blk.Time) errs.Add(w.indexCommonBlock(ctx, blkID, models.BlockTypeStandard, blk.CommonBlock, pvmProposer, innerBlockBytes)) case *blocks.BanffAbortBlock: - ctxTime = time.Unix(int64(blk.Time), 0) - pvmProposer.TimeStamp = &ctxTime + adjustCtxTime(blk.Time) errs.Add(w.indexCommonBlock(ctx, blkID, models.BlockTypeAbort, blk.CommonBlock, pvmProposer, innerBlockBytes)) case *blocks.BanffCommitBlock: - ctxTime = time.Unix(int64(blk.Time), 0) - pvmProposer.TimeStamp = &ctxTime + adjustCtxTime(blk.Time) errs.Add(w.indexCommonBlock(ctx, blkID, models.BlockTypeCommit, blk.CommonBlock, pvmProposer, innerBlockBytes)) default: return fmt.Errorf("unknown type %T", blk) diff --git a/services/services.go b/services/services.go index a177f5130..c3efb31bd 100644 --- a/services/services.go +++ b/services/services.go @@ -60,3 +60,4 @@ func (ic *ConsumerCtx) DB() dbr.SessionRunner { return ic.db } func (ic *ConsumerCtx) Ctx() context.Context { return ic.ctx } func (ic *ConsumerCtx) Persist() db.Persist { return ic.persist } func (ic *ConsumerCtx) ChainID() string { return ic.chainID } +func (ic *ConsumerCtx) SetTime(tm time.Time) { ic.time = tm }