|
|
|
@ -32,6 +32,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(185), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(191), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(230), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(10000), // TBD
|
|
|
|
|
RedelegationEpoch: big.NewInt(290), |
|
|
|
|
EIP155Epoch: big.NewInt(28), |
|
|
|
|
S3Epoch: big.NewInt(28), |
|
|
|
@ -48,6 +49,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(1), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(0), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(16500), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(70000), |
|
|
|
|
RedelegationEpoch: big.NewInt(36500), |
|
|
|
|
EIP155Epoch: big.NewInt(0), |
|
|
|
|
S3Epoch: big.NewInt(0), |
|
|
|
@ -65,6 +67,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(1), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(0), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(0), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(0), |
|
|
|
|
RedelegationEpoch: big.NewInt(0), |
|
|
|
|
EIP155Epoch: big.NewInt(0), |
|
|
|
|
S3Epoch: big.NewInt(0), |
|
|
|
@ -82,6 +85,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(1), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(0), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(0), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(0), |
|
|
|
|
RedelegationEpoch: big.NewInt(0), |
|
|
|
|
EIP155Epoch: big.NewInt(0), |
|
|
|
|
S3Epoch: big.NewInt(0), |
|
|
|
@ -99,6 +103,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(1), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(0), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(0), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(0), |
|
|
|
|
RedelegationEpoch: big.NewInt(0), |
|
|
|
|
EIP155Epoch: big.NewInt(0), |
|
|
|
|
S3Epoch: big.NewInt(0), |
|
|
|
@ -115,6 +120,7 @@ var ( |
|
|
|
|
PreStakingEpoch: big.NewInt(0), |
|
|
|
|
QuickUnlockEpoch: big.NewInt(0), |
|
|
|
|
FiveSecondsEpoch: big.NewInt(0), |
|
|
|
|
ThreeSecondsEpoch: big.NewInt(0), |
|
|
|
|
RedelegationEpoch: big.NewInt(0), |
|
|
|
|
EIP155Epoch: big.NewInt(0), |
|
|
|
|
S3Epoch: big.NewInt(0), |
|
|
|
@ -133,6 +139,7 @@ var ( |
|
|
|
|
big.NewInt(0), // PreStakingEpoch
|
|
|
|
|
big.NewInt(0), // QuickUnlockEpoch
|
|
|
|
|
big.NewInt(0), // FiveSecondsEpoch
|
|
|
|
|
big.NewInt(0), // ThreeSecondsEpoch
|
|
|
|
|
big.NewInt(0), // RedelegationEpoch
|
|
|
|
|
big.NewInt(0), // EIP155Epoch
|
|
|
|
|
big.NewInt(0), // S3Epoch
|
|
|
|
@ -151,6 +158,7 @@ var ( |
|
|
|
|
big.NewInt(0), // PreStakingEpoch
|
|
|
|
|
big.NewInt(0), // QuickUnlockEpoch
|
|
|
|
|
big.NewInt(0), // FiveSecondsEpoch
|
|
|
|
|
big.NewInt(0), // ThreeSecondsEpoch
|
|
|
|
|
big.NewInt(0), // RedelegationEpoch
|
|
|
|
|
big.NewInt(0), // EIP155Epoch
|
|
|
|
|
big.NewInt(0), // S3Epoch
|
|
|
|
@ -204,6 +212,10 @@ type ChainConfig struct { |
|
|
|
|
// and block rewards adjusted to 17.5 ONE/block
|
|
|
|
|
FiveSecondsEpoch *big.Int `json:"five-seconds-epoch,omitempty"` |
|
|
|
|
|
|
|
|
|
// ThreeSecondsEpoch is the epoch when block time is reduced to 3 seconds
|
|
|
|
|
// and block rewards adjusted to 10.5 ONE/block
|
|
|
|
|
ThreeSecondsEpoch *big.Int `json:"three-seconds-epoch,omitempty"` |
|
|
|
|
|
|
|
|
|
// RedelegationEpoch is the epoch when redelegation is supported and undelegation locking time
|
|
|
|
|
// is restored to 7 epoch
|
|
|
|
|
RedelegationEpoch *big.Int `json:"redelegation-epoch,omitempty"` |
|
|
|
@ -268,6 +280,11 @@ func (c *ChainConfig) IsFiveSeconds(epoch *big.Int) bool { |
|
|
|
|
return isForked(c.FiveSecondsEpoch, epoch) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// IsThreeSeconds determines whether it is the epoch to change to 3 seconds block time
|
|
|
|
|
func (c *ChainConfig) IsThreeSeconds(epoch *big.Int) bool { |
|
|
|
|
return isForked(c.ThreeSecondsEpoch, epoch) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// IsRedelegation determines whether it is the epoch to support redelegation
|
|
|
|
|
func (c *ChainConfig) IsRedelegation(epoch *big.Int) bool { |
|
|
|
|
return isForked(c.RedelegationEpoch, epoch) |
|
|
|
|