Skip to content

Commit

Permalink
[config] enable web3 staking and broadcast node info at Queensland he…
Browse files Browse the repository at this point in the history
…ight
  • Loading branch information
dustinxie committed Feb 16, 2023
1 parent 79b6052 commit 985399b
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 8 deletions.
4 changes: 2 additions & 2 deletions action/protocol/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,8 @@ func WithFeatureCtx(ctx context.Context) context.Context {
FixUnproductiveDelegates: g.IsOkhotsk(height),
CorrectGasRefund: g.IsOkhotsk(height),
FixRewardErroCheckPosition: g.IsOkhotsk(height),
EnableWeb3Rewarding: g.IsToBeEnabled(height),
EnableNodeInfo: g.IsToBeEnabled(height),
EnableWeb3Rewarding: g.IsQueensland(height),
EnableNodeInfo: g.IsQueensland(height),
},
)
}
Expand Down
2 changes: 1 addition & 1 deletion api/coreservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ func (core *coreService) validateChainID(chainID uint32) error {
}

func (core *coreService) validateWeb3Rewarding(selp action.SealedEnvelope) error {
if ge := core.bc.Genesis(); ge.IsToBeEnabled(core.bc.TipHeight()) || selp.Encoding() != uint32(iotextypes.Encoding_ETHEREUM_RLP) {
if ge := core.bc.Genesis(); ge.IsQueensland(core.bc.TipHeight()) || selp.Encoding() != uint32(iotextypes.Encoding_ETHEREUM_RLP) {
return nil
}
switch selp.Action().(type) {
Expand Down
11 changes: 10 additions & 1 deletion blockchain/genesis/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ func defaultConfig() Genesis {
MidwayBlockHeight: 16509241,
NewfoundlandBlockHeight: 17662681,
OkhotskBlockHeight: 21542761,
QueenslandBlockHeight: 31542761,
ToBeEnabledBlockHeight: math.MaxUint64,
},
Account: Account{
Expand Down Expand Up @@ -225,9 +226,12 @@ type (
// 3. fix gas and nonce update
// 4. fix unproductive delegates in staking protocol
OkhotskBlockHeight uint64 `yaml:"okhotskHeight"`
// QueenslandBlockHeight is the the start height to
// 1. enable rewarding action via web3
// 2. broadcast node info into the p2p network
QueenslandBlockHeight uint64 `yaml:"queenslandHeight"`
// ToBeEnabledBlockHeight is a fake height that acts as a gating factor for WIP features
// upon next release, change IsToBeEnabled() to IsNextHeight() for features to be released
// 1. web3 rewarding api
ToBeEnabledBlockHeight uint64 `yaml:"toBeEnabledHeight"`
}
// Account contains the configs for account protocol
Expand Down Expand Up @@ -541,6 +545,11 @@ func (g *Blockchain) IsOkhotsk(height uint64) bool {
return g.isPost(g.OkhotskBlockHeight, height)
}

// IsQueensland checks whether height is equal to or larger than queensland height
func (g *Blockchain) IsQueensland(height uint64) bool {
return g.isPost(g.QueenslandBlockHeight, height)
}

// IsToBeEnabled checks whether height is equal to or larger than toBeEnabled height
func (g *Blockchain) IsToBeEnabled(height uint64) bool {
return g.isPost(g.ToBeEnabledBlockHeight, height)
Expand Down
3 changes: 3 additions & 0 deletions blockchain/genesis/heightupgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ func TestNewHeightChange(t *testing.T) {
require.True(cfg.IsNewfoundland(uint64(17662681)))
require.False(cfg.IsOkhotsk(uint64(21542760)))
require.True(cfg.IsOkhotsk(uint64(21542761)))
require.False(cfg.IsQueensland(uint64(31542760)))
require.True(cfg.IsQueensland(uint64(31542761)))

require.Equal(cfg.PacificBlockHeight, uint64(432001))
require.Equal(cfg.AleutianBlockHeight, uint64(864001))
Expand All @@ -72,4 +74,5 @@ func TestNewHeightChange(t *testing.T) {
require.Equal(cfg.MidwayBlockHeight, uint64(16509241))
require.Equal(cfg.NewfoundlandBlockHeight, uint64(17662681))
require.Equal(cfg.OkhotskBlockHeight, uint64(21542761))
require.Equal(cfg.QueenslandBlockHeight, uint64(31542761))
}
2 changes: 2 additions & 0 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,8 @@ func ValidateForkHeights(cfg Config) error {
return errors.Wrap(ErrInvalidCfg, "Midway is heigher than Newfoundland")
case hu.NewfoundlandBlockHeight > hu.OkhotskBlockHeight:
return errors.Wrap(ErrInvalidCfg, "Newfoundland is heigher than Okhotsk")
case hu.OkhotskBlockHeight > hu.QueenslandBlockHeight:
return errors.Wrap(ErrInvalidCfg, "Okhotsk is heigher than Queensland")
}
return nil
}
Expand Down
5 changes: 5 additions & 0 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,9 @@ func TestValidateForkHeights(t *testing.T) {
{
"Newfoundland", ErrInvalidCfg, "Newfoundland is heigher than Okhotsk",
},
{
"Okhotsk", ErrInvalidCfg, "Okhotsk is heigher than Queensland",
},
{
"", nil, "",
},
Expand Down Expand Up @@ -415,6 +418,8 @@ func newTestCfg(fork string) Config {
cfg.Genesis.MidwayBlockHeight = cfg.Genesis.NewfoundlandBlockHeight + 1
case "Newfoundland":
cfg.Genesis.NewfoundlandBlockHeight = cfg.Genesis.OkhotskBlockHeight + 1
case "Okhotsk":
cfg.Genesis.OkhotskBlockHeight = cfg.Genesis.QueenslandBlockHeight + 1
}
return cfg
}
Expand Down
2 changes: 1 addition & 1 deletion e2etest/nodeinfo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func newConfigForNodeInfoTest(triePath, dBPath, idxDBPath string) (config.Config
if err != nil {
return cfg, nil, err
}
cfg.Genesis.ToBeEnabledBlockHeight = 0
cfg.Genesis.QueenslandBlockHeight = 0
testTriePath, err := testutil.PathOfTempFile(triePath)
if err != nil {
return cfg, nil, err
Expand Down
6 changes: 3 additions & 3 deletions nodeinfo/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func TestNewDelegateManager(t *testing.T) {
hMock.EXPECT().TipHeight().Return(uint64(2)).MinTimes(1)
hMock.EXPECT().Genesis().DoAndReturn(func() genesis.Genesis {
g := genesis.TestDefault()
g.ToBeEnabledBlockHeight = 1
g.QueenslandBlockHeight = 1
return g
}).MinTimes(1)
err := dm.Start(context.Background())
Expand All @@ -69,7 +69,7 @@ func TestNewDelegateManager(t *testing.T) {
hMock.EXPECT().TipHeight().Return(uint64(10)).MinTimes(1)
hMock.EXPECT().Genesis().DoAndReturn(func() genesis.Genesis {
g := genesis.TestDefault()
g.ToBeEnabledBlockHeight = 1
g.QueenslandBlockHeight = 1
return g
}).MinTimes(1)
tMock.EXPECT().BroadcastOutbound(gomock.Any(), gomock.Any()).Return(nil).MinTimes(1)
Expand Down Expand Up @@ -97,7 +97,7 @@ func TestNewDelegateManager(t *testing.T) {
hMock.EXPECT().TipHeight().Return(uint64(10)).MinTimes(1)
hMock.EXPECT().Genesis().DoAndReturn(func() genesis.Genesis {
g := genesis.TestDefault()
g.ToBeEnabledBlockHeight = 1
g.QueenslandBlockHeight = 1
return g
}).MinTimes(1)
tMock.EXPECT().BroadcastOutbound(gomock.Any(), gomock.Any()).Return(nil).MinTimes(1)
Expand Down

0 comments on commit 985399b

Please sign in to comment.