@@ -141,6 +141,9 @@ type DeployConfig struct {
141
141
// L2GenesisInteropTimeOffset is the number of seconds after genesis block that the Interop hard fork activates.
142
142
// Set it to 0 to activate at genesis. Nil to disable Interop.
143
143
L2GenesisInteropTimeOffset * hexutil.Uint64 `json:"l2GenesisInteropTimeOffset,omitempty"`
144
+ // L2GenesisVoltaTimeOffset is the number of seconds after genesis block that the Volta hard fork activates.
145
+ // Set it to 0 to activate at genesis. Nil to disable Interop.
146
+ L2GenesisVoltaTimeOffset * hexutil.Uint64 `json:"l2GenesisVoltaTimeOffset,omitempty"`
144
147
// L2GenesisBlockExtraData is configurable extradata. Will default to []byte("BEDROCK") if left unspecified.
145
148
L2GenesisBlockExtraData []byte `json:"l2GenesisBlockExtraData"`
146
149
// ProxyAdminOwner represents the owner of the ProxyAdmin predeploy on L2.
@@ -656,6 +659,17 @@ func (d *DeployConfig) SnowTime(genesisTime uint64) *uint64 {
656
659
return & v
657
660
}
658
661
662
+ func (d * DeployConfig ) VoltaTime (genesisTime uint64 ) * uint64 {
663
+ if d .L2GenesisVoltaTimeOffset == nil {
664
+ return nil
665
+ }
666
+ v := uint64 (0 )
667
+ if offset := * d .L2GenesisVoltaTimeOffset ; offset > 0 {
668
+ v = genesisTime + uint64 (offset )
669
+ }
670
+ return & v
671
+ }
672
+
659
673
func (d * DeployConfig ) HaberTime (genesisTime uint64 ) * uint64 {
660
674
if d .HaberTimeOffset == nil {
661
675
return nil
@@ -733,6 +747,7 @@ func (d *DeployConfig) RollupConfig(l1StartBlock *types.Block, l2GenesisBlockHas
733
747
PlasmaConfig : plasma ,
734
748
Fermat : d .Fermat ,
735
749
SnowTime : d .SnowTime (l1StartBlock .Time ()),
750
+ VoltaTime : d .VoltaTime (l1StartBlock .Time ()),
736
751
}, nil
737
752
}
738
753
0 commit comments