diff --git a/pkg/constants/etna.go b/pkg/constants/etna.go index a5d073da2..09aaa1afc 100644 --- a/pkg/constants/etna.go +++ b/pkg/constants/etna.go @@ -5,6 +5,8 @@ package constants import ( _ "embed" "time" + + avagoconstants "github.com/ava-labs/avalanchego/utils/constants" ) //go:embed etnaDevnet/genesis.json @@ -36,3 +38,8 @@ var ( ) const StakingEtnaMinimumDuration = 100 * time.Second + +var EtnaActivationTime = map[uint32]time.Time{ + avagoconstants.FujiID: time.Date(2024, time.November, 25, 16, 0, 0, 0, time.UTC), + EtnaDevnetNetworkID: time.Date(2024, time.October, 9, 20, 0, 0, 0, time.UTC), +} diff --git a/sdk/interchain/signature-aggregator.go b/sdk/interchain/signature-aggregator.go index 951de2555..fdc997789 100644 --- a/sdk/interchain/signature-aggregator.go +++ b/sdk/interchain/signature-aggregator.go @@ -8,11 +8,12 @@ import ( "os" "time" + "github.com/ava-labs/avalanche-cli/pkg/constants" "github.com/ava-labs/avalanche-cli/pkg/models" "github.com/ava-labs/avalanchego/api/info" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/message" - "github.com/ava-labs/avalanchego/utils/constants" + avagoconstants "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/vms/platformvm/warp" apiConfig "github.com/ava-labs/awm-relayer/config" @@ -30,8 +31,6 @@ const ( DefaultSignatureCacheSize = uint64(1024 * 1024) ) -var etnaTime = time.Unix(0, 0) - type SignatureAggregator struct { subnetID ids.ID quorumPercentage uint64 @@ -87,6 +86,7 @@ func initSignatureAggregator( registerer prometheus.Registerer, subnetID ids.ID, quorumPercentage uint64, + etnaTime time.Time, ) (*SignatureAggregator, error) { sa := &SignatureAggregator{} // set quorum percentage @@ -101,8 +101,8 @@ func initSignatureAggregator( messageCreator, err := message.NewCreator( logger, registerer, - constants.DefaultNetworkCompressionType, - constants.DefaultNetworkMaximumInboundTimeout, + avagoconstants.DefaultNetworkCompressionType, + avagoconstants.DefaultNetworkMaximumInboundTimeout, ) if err != nil { return nil, fmt.Errorf("failed to create message creator: %w", err) @@ -153,7 +153,8 @@ func NewSignatureAggregator( logging.JSON.ConsoleEncoder(), ), ) - return initSignatureAggregator(peerNetwork, logger, registerer, subnetID, quorumPercentage) + etnaTime := constants.EtnaActivationTime[network.ID] + return initSignatureAggregator(peerNetwork, logger, registerer, subnetID, quorumPercentage, etnaTime) } // AggregateSignatures aggregates signatures for a given message and justification. diff --git a/sdk/interchain/signature-aggregator_test.go b/sdk/interchain/signature-aggregator_test.go index a7ce6b219..2e28a5745 100644 --- a/sdk/interchain/signature-aggregator_test.go +++ b/sdk/interchain/signature-aggregator_test.go @@ -4,6 +4,7 @@ package interchain import ( "testing" + "time" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/utils/logging" @@ -29,6 +30,7 @@ func instantiateAggregator(t *testing.T) ( prometheus.DefaultRegisterer, subnetID, DefaultQuorumPercentage, + time.Time{}, ) require.Equal(t, err, nil) return aggregator, mockNetwork, err