Skip to content

Commit db28b65

Browse files
Mark X-chain migration as Cortina (ava-labs#2747)
1 parent b9a3c0e commit db28b65

File tree

8 files changed

+28
-21
lines changed

8 files changed

+28
-21
lines changed

chains/manager.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -653,11 +653,11 @@ func (m *manager) createAvalancheChain(
653653
// persistence of vertices
654654
vtxManager := state.NewSerializer(
655655
state.SerializerConfig{
656-
ChainID: ctx.ChainID,
657-
VM: vm,
658-
DB: vertexDB,
659-
Log: ctx.Log,
660-
XChainMigrationTime: version.GetXChainMigrationTime(ctx.NetworkID),
656+
ChainID: ctx.ChainID,
657+
VM: vm,
658+
DB: vertexDB,
659+
Log: ctx.Log,
660+
CortinaTime: version.GetCortinaTime(ctx.NetworkID),
661661
},
662662
)
663663

snow/engine/avalanche/state/serializer.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ type Serializer struct {
4444
}
4545

4646
type SerializerConfig struct {
47-
ChainID ids.ID
48-
VM vertex.DAGVM
49-
DB database.Database
50-
Log logging.Logger
51-
XChainMigrationTime time.Time
47+
ChainID ids.ID
48+
VM vertex.DAGVM
49+
DB database.Database
50+
Log logging.Logger
51+
CortinaTime time.Time
5252
}
5353

5454
func NewSerializer(config SerializerConfig) vertex.Manager {

snow/engine/avalanche/state/unique_vertex.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ func (vtx *uniqueVertex) Verify(ctx context.Context) error {
264264
if vtx.time != nil {
265265
now = vtx.time()
266266
}
267-
allowed := vtx.serializer.XChainMigrationTime
267+
allowed := vtx.serializer.CortinaTime
268268
if now.Before(allowed) {
269269
return errStopVertexNotAllowedTimestamp
270270
}

snow/engine/avalanche/state/unique_vertex_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -605,11 +605,11 @@ func TestStopVertexVerifyNotAllowedTimestamp(t *testing.T) {
605605

606606
_, parseTx := generateTestTxs('a')
607607
ts := newTestSerializer(t, parseTx)
608-
ts.XChainMigrationTime = version.XChainMigrationDefaultTime
608+
ts.CortinaTime = version.CortinaDefaultTime
609609

610610
svtx := newTestUniqueVertex(t, ts, nil, nil, true)
611611
svtx.time = func() time.Time {
612-
return version.XChainMigrationDefaultTime.Add(-time.Second)
612+
return version.CortinaDefaultTime.Add(-time.Second)
613613
}
614614

615615
if verr := svtx.Verify(context.Background()); !errors.Is(verr, errStopVertexNotAllowedTimestamp) {

snow/engine/avalanche/transitive.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package avalanche
66
import (
77
"context"
88
"fmt"
9+
"time"
910

1011
"go.uber.org/zap"
1112

@@ -24,6 +25,7 @@ import (
2425
"github.com/ava-labs/avalanchego/utils/sampler"
2526
"github.com/ava-labs/avalanchego/utils/set"
2627
"github.com/ava-labs/avalanchego/utils/wrappers"
28+
"github.com/ava-labs/avalanchego/version"
2729
)
2830

2931
var _ Engine = (*Transitive)(nil)
@@ -367,6 +369,11 @@ func (t *Transitive) Notify(ctx context.Context, msg common.Message) error {
367369

368370
switch msg {
369371
case common.PendingTxs:
372+
// After the linearization, we shouldn't be building any new vertices
373+
if cortinaTime, ok := version.CortinaTimes[t.Ctx.NetworkID]; ok && time.Now().After(cortinaTime) {
374+
return nil
375+
}
376+
370377
txs := t.VM.PendingTxs(ctx)
371378
t.pendingTxs = append(t.pendingTxs, txs...)
372379
t.metrics.pendingTxs.Set(float64(len(t.pendingTxs)))

version/constants.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ var (
9595
}
9696
BanffDefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC)
9797

98-
// FIXME: update this before release
99-
XChainMigrationTimes = map[uint32]time.Time{
98+
// TODO: update this before release
99+
CortinaTimes = map[uint32]time.Time{
100100
constants.MainnetID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC),
101101
constants.FujiID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC),
102102
}
103-
XChainMigrationDefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC)
103+
CortinaDefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC)
104104
)
105105

106106
func init() {
@@ -166,11 +166,11 @@ func GetBanffTime(networkID uint32) time.Time {
166166
return BanffDefaultTime
167167
}
168168

169-
func GetXChainMigrationTime(networkID uint32) time.Time {
170-
if upgradeTime, exists := XChainMigrationTimes[networkID]; exists {
169+
func GetCortinaTime(networkID uint32) time.Time {
170+
if upgradeTime, exists := CortinaTimes[networkID]; exists {
171171
return upgradeTime
172172
}
173-
return XChainMigrationDefaultTime
173+
return CortinaDefaultTime
174174
}
175175

176176
func GetCompatibility(networkID uint32) Compatibility {

vms/avm/states/state_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ func TestInitializeChainState(t *testing.T) {
280280
require.NoError(err)
281281

282282
stopVertexID := ids.GenerateTestID()
283-
genesisTimestamp := version.XChainMigrationDefaultTime
283+
genesisTimestamp := version.CortinaDefaultTime
284284
err = s.InitializeChainState(stopVertexID, genesisTimestamp)
285285
require.NoError(err)
286286

vms/avm/vm.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ func (*VM) LastAccepted(context.Context) (ids.ID, error) {
405405
*/
406406

407407
func (vm *VM) Linearize(_ context.Context, stopVertexID ids.ID) error {
408-
time := version.GetXChainMigrationTime(vm.ctx.NetworkID)
408+
time := version.GetCortinaTime(vm.ctx.NetworkID)
409409
return vm.state.InitializeChainState(stopVertexID, time)
410410
}
411411

0 commit comments

Comments
 (0)