-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unbound feature and version/height #2768
Conversation
define features name here instead of hardforkiotex-core/blockchain/genesis/genesis.go Lines 31 to 36 in 5744cbc
This comment was generated by todo based on a
|
blockchain/genesis/genesis.go
Outdated
@@ -134,6 +194,10 @@ type ( | |||
Rewarding `yaml:"rewarding"` | |||
Staking `yaml:"staking"` | |||
} | |||
HardFork struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add // Hardfork
pls run make fmt
, make lint
before submitting PR
blockchain/genesis/genesis.go
Outdated
@@ -134,6 +194,10 @@ type ( | |||
Rewarding `yaml:"rewarding"` | |||
Staking `yaml:"staking"` | |||
} | |||
HardFork struct { | |||
Height uint64 `yaml:"height"` | |||
EnableFeatures []string `yaml:"enableFeatures"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EnabledFeatures
blockchain/genesis/genesis.go
Outdated
} | ||
for _, v := range hardForks { | ||
for _, feature := range v.EnableFeatures { | ||
_, ok := g.FeatureHeightMap[feature] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no need to check if feature exist
same feature cannot appear in 2 hardforks
blockchain/genesis/genesis.go
Outdated
return ok && ht >= height | ||
} | ||
|
||
func (g *Blockchain) SupportPacific(height uint64) bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be EnabledFeature(feature string, height uint64) bool
Codecov Report
@@ Coverage Diff @@
## master #2768 +/- ##
==========================================
- Coverage 58.06% 57.88% -0.18%
==========================================
Files 245 245
Lines 22363 22437 +74
==========================================
+ Hits 12985 12988 +3
- Misses 7729 7799 +70
- Partials 1649 1650 +1
Continue to review full report at Codecov.
|
FeatureWithHeightCtx struct { | ||
GetUnproductiveDelegates CheckFunc | ||
EnableSMStorage CheckFunc | ||
ReadStateFromDB CheckFunc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could move these 3 into FeatureCtx
?
so no need for an extra FeatureWithHeightCtx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also, EnableSMStorage
is the same flag as ReadStateFromDB
, combine to 1
action/protocol/context.go
Outdated
RefundAllDeposit: g.IsPacific(height), | ||
AddChainIDToConfig: g.IsIceland(height), | ||
UseV2Storage: g.IsGreenland(height), | ||
CheckUnstaked: g.IsGreenland(height), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CannotUnstakeAgain
action/protocol/context.go
Outdated
CheckUnstaked: g.IsGreenland(height), | ||
SkipStakingIndexer: !g.IsFairbank(height), | ||
ReturnFetchError: !g.IsGreenland(height), | ||
CanNotTranferToSelf: g.IsHawaii(height), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot
instead of CanNot
action/protocol/context.go
Outdated
SkipStakingIndexer: !g.IsFairbank(height), | ||
ReturnFetchError: !g.IsGreenland(height), | ||
CanNotTranferToSelf: g.IsHawaii(height), | ||
PostFairbankMigration: g.IsFbkMigration(height), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NewStakingReceiptFormat
action/protocol/context.go
Outdated
FixGetHashFnHeight: g.IsHawaii(height), | ||
UsePendingNonceOption: g.IsHawaii(height), | ||
AsyncContractTrie: g.IsGreenland(height), | ||
StoreOutOfGasToReceipt: !g.IsGreenland(height), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AddOutOfGasToTransactionLog
action/protocol/context.go
Outdated
UsePendingNonceOption: g.IsHawaii(height), | ||
AsyncContractTrie: g.IsGreenland(height), | ||
StoreOutOfGasToReceipt: !g.IsGreenland(height), | ||
RefundAllDeposit: g.IsPacific(height), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RefundAllDeposit
is the same fix as DepositGasLast
rename to FixDoubleChargeGas
@@ -70,6 +69,7 @@ func (sc *stakingCommand) Start(ctx context.Context, sr protocol.StateReader) (i | |||
} | |||
|
|||
func (sc *stakingCommand) CreatePreStates(ctx context.Context, sm protocol.StateManager) error { | |||
ctx = protocol.WithFeatureCtx(protocol.WithFeatureWithHeightCtx(ctx)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this needed?
inside useV2
, it will add protocol.WithFeatureWithHeightCtx()
into ctx?
@@ -148,6 +148,7 @@ func (sc *stakingCommand) NextCandidates(ctx context.Context, sr protocol.StateR | |||
} | |||
|
|||
func (sc *stakingCommand) ReadState(ctx context.Context, sr protocol.StateReader, method []byte, args ...[]byte) ([]byte, uint64, error) { | |||
ctx = protocol.WithFeatureCtx(protocol.WithFeatureWithHeightCtx(ctx)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this needed? see above
@@ -247,22 +251,27 @@ func (sc *stakingCommittee) CalculateUnproductiveDelegates( | |||
} | |||
|
|||
func (sc *stakingCommittee) Delegates(ctx context.Context, sr protocol.StateReader) (state.CandidateList, error) { | |||
ctx = protocol.WithFeatureWithHeightCtx(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it possible to find a common place to add WithFeatureWithHeightCtx
,
instead of doing it for every API?
action/protocol/account/transfer.go
Outdated
@@ -28,7 +28,7 @@ const TransferSizeLimit = 32 * 1024 | |||
func (p *Protocol) handleTransfer(ctx context.Context, act action.Action, sm protocol.StateManager) (*action.Receipt, error) { | |||
actionCtx := protocol.MustGetActionCtx(ctx) | |||
blkCtx := protocol.MustGetBlockCtx(ctx) | |||
DepositGasLast := protocol.MustGetFeatureCtx(ctx).DepositGasLast | |||
FixDoubleChargeGas := protocol.MustGetFeatureCtx(ctx).FixDoubleChargeGas |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixDoubleChargeGas
@@ -59,6 +59,7 @@ func TestProtocol_HandleTransfer(t *testing.T) { | |||
config.Default.Genesis, | |||
) | |||
ctx := protocol.WithBlockCtx(chainCtx, protocol.BlockCtx{}) | |||
ctx = protocol.WithFeatureCtx(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can make test
local to make sure all test pass, instead of pushing/fixing multiple times
* saving, switch to linux * tracing grpc api * saving, switch to linux * tracing grpc api * update tracer.go for test * small change * fix comments * Squashed commit of the following: commit 77a5a15 Author: dustinxie <dahuaxie@gmail.com> Date: Tue Oct 5 23:34:52 2021 -0700 [api] add cache for ReadContract/State() (#2827) commit 7d9bf96 Author: Haaai <55118568+Liuhaai@users.noreply.github.com> Date: Tue Oct 5 17:31:37 2021 -0700 bump Go to 1.17 (#2784) commit 09ef379 Author: dustinxie <dahuaxie@gmail.com> Date: Tue Oct 5 16:46:49 2021 -0700 [ioctl] display chainID and encoding (#2820) commit c2eab8d Author: Haaai <55118568+Liuhaai@users.noreply.github.com> Date: Tue Oct 5 15:45:45 2021 -0700 fix ioctl accountDelete test (#2825) commit 9489b57 Author: dustinxie <dahuaxie@gmail.com> Date: Tue Oct 5 15:14:31 2021 -0700 remove unnecessary WithFeatureCtx() (#2823) commit 3933ae9 Author: dayuanc <34013965+dayuanc@users.noreply.github.com> Date: Tue Oct 5 07:40:32 2021 -0700 limit the pagination size for all API calls to 5000 -- 2781 (#2800) Co-authored-by: dayuanc <wentaicui@WENTAIs-MacBook-Pro.local> Co-authored-by: CoderZhi <thecoderzhi@gmail.com> Co-authored-by: Raullen Chai <raullenchai@gmail.com> commit 88d273d Author: dayuanc <34013965+dayuanc@users.noreply.github.com> Date: Mon Oct 4 10:51:54 2021 -0700 Add unit tests to cover the functions in action/signedaction.go (#2824) commit ebe895c Author: dustinxie <dahuaxie@gmail.com> Date: Thu Sep 30 15:32:52 2021 -0700 [reward] extend foundation bonus (#2785) commit baa0a92 Author: CoderZhi <thecoderzhi@gmail.com> Date: Tue Sep 28 14:09:44 2021 -0700 Fix codecov (#2813) commit 84f06d3 Author: dayuanc <34013965+dayuanc@users.noreply.github.com> Date: Tue Sep 28 12:17:47 2021 -0700 reduce unnecessary logs for mainnet (#2808) * downgrade some unnecessary error and info logs * fix comments Co-authored-by: Raullen Chai <raullenchai@gmail.com> commit a245185 Author: dustinxie <dahuaxie@gmail.com> Date: Mon Sep 27 15:27:59 2021 -0700 [evm] panic in AccessList API (#2816) commit 8eec1b7 Author: dustinxie <dahuaxie@gmail.com> Date: Mon Sep 27 11:01:34 2021 -0700 set Jutland to activate at 10-11-2021 3pm PDT (#2812) Co-authored-by: Raullen Chai <raullenchai@gmail.com> commit e89be88 Author: CoderZhi <thecoderzhi@gmail.com> Date: Sat Sep 25 22:51:54 2021 -0700 set target height (#2807) Co-authored-by: dustinxie <dahuaxie@gmail.com> commit dba4993 Author: CoderZhi <thecoderzhi@gmail.com> Date: Thu Sep 23 11:44:26 2021 -0700 change commit block failure log level to error (#2810) commit 0459a1f Author: mas walker <handsome.void@gmail.com> Date: Wed Sep 22 20:18:23 2021 +0800 unbound feature and version/height (#2768) * unbound feature and version/height Co-authored-by: Raullen Chai <raullenchai@gmail.com> commit c1cea44 Author: millken <millken@gmail.com> Date: Tue Sep 21 06:31:57 2021 +0800 update circleci config, using golang 1.16.6 #2789 (#2791) Co-authored-by: dustinxie <dahuaxie@gmail.com> commit f245109 Author: Dustin Xie <dahuaxie@gmail.com> Date: Mon Sep 20 09:54:38 2021 -0700 [evm] enable opCall fix at Jutland height commit 3eea5b7 Author: Dustin Xie <dahuaxie@gmail.com> Date: Mon Sep 20 12:11:36 2021 -0700 [evm] fix datacopy.json for TestIstanbul commit 0641db0 Author: CoderZhi <thecoderzhi@gmail.com> Date: Fri Sep 17 14:37:28 2021 -0700 [evm] fix snapshot bug (#2802) * fix snapshot bug * add unit test Co-authored-by: Raullen Chai <raullenchai@gmail.com> commit e0683e8 Author: Haaai <55118568+Liuhaai@users.noreply.github.com> Date: Sat Sep 18 01:34:12 2021 +0800 add datacopy contract test (#2788) * add datacopy test * modify contract * remove debug log * update testdata * add attack bytecode * update datacopy.json * correct code format * remove printStore() in datacopy.sol * update contract test data Co-authored-by: dustinxie <dahuaxie@gmail.com> commit 44e0a68 Author: Haaai <55118568+Liuhaai@users.noreply.github.com> Date: Fri Sep 17 15:31:29 2021 +0800 Allow ioctl to show the list of actions for an account (#2750) * [ioctl] allow ioctl to show the list of actions for an account commit d10dabe Author: Haaai <55118568+Liuhaai@users.noreply.github.com> Date: Fri Sep 17 12:08:33 2021 +0800 [api] fix gas estimation calc bug (#2786) * fixed gas estimation bug in api.go * Tracing (#2) * [reward] extend foundation bonus (#2785) * Add unit tests to cover the functions in action/signedaction.go (#2824) * limit the pagination size for all API calls to 5000 -- 2781 (#2800) Co-authored-by: dayuanc <wentaicui@WENTAIs-MacBook-Pro.local> Co-authored-by: CoderZhi <thecoderzhi@gmail.com> Co-authored-by: Raullen Chai <raullenchai@gmail.com> * remove unnecessary WithFeatureCtx() (#2823) * fix ioctl accountDelete test (#2825) * [ioctl] display chainID and encoding (#2820) * bump Go to 1.17 (#2784) * [api] add cache for ReadContract/State() (#2827) Co-authored-by: dustinxie <dahuaxie@gmail.com> Co-authored-by: dayuanc <34013965+dayuanc@users.noreply.github.com> Co-authored-by: dayuanc <wentaicui@WENTAIs-MacBook-Pro.local> Co-authored-by: CoderZhi <thecoderzhi@gmail.com> Co-authored-by: Raullen Chai <raullenchai@gmail.com> Co-authored-by: Haaai <55118568+Liuhaai@users.noreply.github.com> Co-authored-by: Raullen Chai <raullenchai@gmail.com> Co-authored-by: dustinxie <dahuaxie@gmail.com> Co-authored-by: dayuanc <34013965+dayuanc@users.noreply.github.com> Co-authored-by: dayuanc <wentaicui@WENTAIs-MacBook-Pro.local> Co-authored-by: CoderZhi <thecoderzhi@gmail.com> Co-authored-by: Haaai <55118568+Liuhaai@users.noreply.github.com>
#1600?