Skip to content

Commit

Permalink
Updating metagraph testnet
Browse files Browse the repository at this point in the history
  • Loading branch information
IPadawans committed Oct 7, 2024
1 parent 453d5cf commit 185ad78
Show file tree
Hide file tree
Showing 34 changed files with 119 additions and 157 deletions.
Original file line number Diff line number Diff line change
@@ -1,59 +1,42 @@
package com.my.dor_metagraph.data_l1

import cats.data.NonEmptyList
import cats.effect.{IO, Resource}
import cats.syntax.applicative.catsSyntaxApplicativeId
import cats.syntax.option.catsSyntaxOptionId
import cats.syntax.validated._
import com.my.dor_metagraph.shared_data.LifecycleSharedFunctions
import com.my.dor_metagraph.shared_data.calculated_state.CalculatedStateService
import com.my.dor_metagraph.shared_data.decoders.Decoders
import com.my.dor_metagraph.shared_data.deserializers.Deserializers
import com.my.dor_metagraph.shared_data.serializers.Serializers
import com.my.dor_metagraph.shared_data.types.Types.{CheckInDataCalculatedState, CheckInStateOnChain, CheckInUpdate}
import io.circe.{Decoder, Encoder}
import io.constellationnetwork.currency.dataApplication._
import io.constellationnetwork.currency.dataApplication.dataApplication.{DataApplicationBlock, DataApplicationValidationErrorOr}
import io.constellationnetwork.currency.l1.CurrencyL1App
import io.constellationnetwork.ext.cats.effect.ResourceIO
import io.constellationnetwork.schema.cluster.ClusterId
import io.constellationnetwork.schema.semver.{MetagraphVersion, TessellationVersion}
import io.constellationnetwork.security.signature.Signed
import org.http4s.{EntityDecoder, HttpRoutes}
import org.tessellation.currency.dataApplication._
import org.tessellation.currency.dataApplication.dataApplication.{DataApplicationBlock, DataApplicationValidationErrorOr}
import org.tessellation.currency.l1.CurrencyL1App
import org.tessellation.ext.cats.effect.ResourceIO
import org.tessellation.schema.SnapshotOrdinal
import org.tessellation.schema.cluster.ClusterId
import org.tessellation.schema.semver.{MetagraphVersion, TessellationVersion}
import org.tessellation.security.hash.Hash
import org.tessellation.security.signature.Signed

import java.util.UUID

object Main extends CurrencyL1App(
"currency-data_l1",
"currency data L1 node",
ClusterId(UUID.fromString("517c3a05-9219-471b-a54c-21b7d72f4ae5")),
tessellationVersion = TessellationVersion.unsafeFrom(org.tessellation.BuildInfo.version),
tessellationVersion = TessellationVersion.unsafeFrom(io.constellationnetwork.BuildInfo.version),
metagraphVersion = MetagraphVersion.unsafeFrom(com.my.dor_metagraph.data_l1.BuildInfo.version)
) {

private def makeBaseDataApplicationL1Service(
calculatedStateService: CalculatedStateService[IO]
): BaseDataApplicationL1Service[IO] = BaseDataApplicationL1Service(
new DataApplicationL1Service[IO, CheckInUpdate, CheckInStateOnChain, CheckInDataCalculatedState] {
override def validateData(
state : DataState[CheckInStateOnChain, CheckInDataCalculatedState],
updates: NonEmptyList[Signed[CheckInUpdate]]
)(implicit context: L1NodeContext[IO]): IO[DataApplicationValidationErrorOr[Unit]] =
().validNec.pure[IO]

override def validateUpdate(
update: CheckInUpdate
)(implicit context: L1NodeContext[IO]): IO[DataApplicationValidationErrorOr[Unit]] =
LifecycleSharedFunctions.validateUpdate[IO](update)

override def combine(
state : DataState[CheckInStateOnChain, CheckInDataCalculatedState],
updates: List[Signed[CheckInUpdate]]
)(implicit context: L1NodeContext[IO]): IO[DataState[CheckInStateOnChain, CheckInDataCalculatedState]] =
state.pure[IO]

override def routes(implicit context: L1NodeContext[IO]): HttpRoutes[IO] =
HttpRoutes.empty

Expand Down Expand Up @@ -102,20 +85,6 @@ object Main extends CurrencyL1App(
): IO[Either[Throwable, CheckInUpdate]] =
IO(Deserializers.deserializeUpdate(bytes))

override def getCalculatedState(implicit context: L1NodeContext[IO]): IO[(SnapshotOrdinal, CheckInDataCalculatedState)] =
calculatedStateService.getCalculatedState.map(calculatedState => (calculatedState.ordinal, calculatedState.state))

override def setCalculatedState(
ordinal: SnapshotOrdinal,
state : CheckInDataCalculatedState
)(implicit context: L1NodeContext[IO]): IO[Boolean] =
calculatedStateService.setCalculatedState(ordinal, state)

override def hashCalculatedState(
state: CheckInDataCalculatedState
)(implicit context: L1NodeContext[IO]): IO[Hash] =
calculatedStateService.hashCalculatedState(state)

override def serializeCalculatedState(
state: CheckInDataCalculatedState
): IO[Array[Byte]] =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ package com.my.dor_metagraph.l0

import cats.data.NonEmptyList
import cats.effect.{IO, Resource}
import cats.syntax.applicative._
import cats.syntax.option._
import cats.syntax.validated._
import com.my.dor_metagraph.l0.custom_routes.CustomRoutes
import com.my.dor_metagraph.l0.rewards.DorRewards
import com.my.dor_metagraph.l0.rewards.bounties.{AnalyticsBountyRewards, DailyBountyRewards}
Expand All @@ -16,28 +14,28 @@ import com.my.dor_metagraph.shared_data.deserializers.Deserializers
import com.my.dor_metagraph.shared_data.serializers.Serializers
import com.my.dor_metagraph.shared_data.types.Types.{CheckInDataCalculatedState, CheckInStateOnChain, CheckInUpdate}
import io.circe.{Decoder, Encoder}
import io.constellationnetwork.currency.dataApplication._
import io.constellationnetwork.currency.dataApplication.dataApplication.{DataApplicationBlock, DataApplicationValidationErrorOr}
import io.constellationnetwork.currency.l0.CurrencyL0App
import io.constellationnetwork.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import io.constellationnetwork.ext.cats.effect.ResourceIO
import io.constellationnetwork.node.shared.domain.rewards.Rewards
import io.constellationnetwork.node.shared.snapshot.currency.CurrencySnapshotEvent
import io.constellationnetwork.schema.SnapshotOrdinal
import io.constellationnetwork.schema.cluster.ClusterId
import io.constellationnetwork.schema.semver.{MetagraphVersion, TessellationVersion}
import io.constellationnetwork.security.SecurityProvider
import io.constellationnetwork.security.hash.Hash
import io.constellationnetwork.security.signature.Signed
import org.http4s.{EntityDecoder, HttpRoutes}
import org.tessellation.currency.dataApplication._
import org.tessellation.currency.dataApplication.dataApplication.{DataApplicationBlock, DataApplicationValidationErrorOr}
import org.tessellation.currency.l0.CurrencyL0App
import org.tessellation.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import org.tessellation.ext.cats.effect.ResourceIO
import org.tessellation.node.shared.domain.rewards.Rewards
import org.tessellation.node.shared.snapshot.currency.CurrencySnapshotEvent
import org.tessellation.schema.SnapshotOrdinal
import org.tessellation.schema.cluster.ClusterId
import org.tessellation.schema.semver.{MetagraphVersion, TessellationVersion}
import org.tessellation.security.SecurityProvider
import org.tessellation.security.hash.Hash
import org.tessellation.security.signature.Signed

import java.util.UUID

object Main extends CurrencyL0App(
"currency-l0",
"currency L0 node",
ClusterId(UUID.fromString("517c3a05-9219-471b-a54c-21b7d72f4ae5")),
tessellationVersion = TessellationVersion.unsafeFrom(org.tessellation.BuildInfo.version),
tessellationVersion = TessellationVersion.unsafeFrom(io.constellationnetwork.BuildInfo.version),
metagraphVersion = MetagraphVersion.unsafeFrom(com.my.dor_metagraph.l0.BuildInfo.version)
) {
private def makeBaseDataApplicationL0Service(
Expand All @@ -48,11 +46,6 @@ object Main extends CurrencyL0App(
override def genesis: DataState[CheckInStateOnChain, CheckInDataCalculatedState] =
DataState(CheckInStateOnChain(List.empty), CheckInDataCalculatedState(Map.empty))

override def validateUpdate(
update: CheckInUpdate
)(implicit context: L0NodeContext[IO]): IO[DataApplicationValidationErrorOr[Unit]] =
().validNec.pure[IO]

override def validateData(
state : DataState[CheckInStateOnChain, CheckInDataCalculatedState],
updates: NonEmptyList[Signed[CheckInUpdate]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import org.http4s.circe.CirceEntityCodec.circeEntityEncoder
import org.http4s.dsl.Http4sDsl
import org.http4s.server.middleware.CORS
import org.http4s.{HttpRoutes, Response}
import org.tessellation.routes.internal.{InternalUrlPrefix, PublicRoutes}
import io.constellationnetwork.routes.internal.{InternalUrlPrefix, PublicRoutes}

case class CustomRoutes[F[_] : Async](calculatedStateService: CalculatedStateService[F]) extends Http4sDsl[F] with PublicRoutes[F] {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import com.my.dor_metagraph.l0.rewards.validators.ValidatorNodes
import com.my.dor_metagraph.l0.rewards.validators.ValidatorNodesRewards.getValidatorNodesTransactions
import com.my.dor_metagraph.shared_data.Utils.buildTransactionsSortedSet
import com.my.dor_metagraph.shared_data.types.Types._
import org.tessellation.currency.dataApplication.DataCalculatedState
import org.tessellation.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import org.tessellation.node.shared.domain.rewards.Rewards
import org.tessellation.node.shared.infrastructure.consensus.trigger.{ConsensusTrigger, EventTrigger, TimeTrigger}
import org.tessellation.node.shared.snapshot.currency.CurrencySnapshotEvent
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import org.tessellation.schema.transaction.{RewardTransaction, Transaction}
import org.tessellation.security.signature.Signed
import io.constellationnetwork.currency.dataApplication.DataCalculatedState
import io.constellationnetwork.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import io.constellationnetwork.node.shared.domain.rewards.Rewards
import io.constellationnetwork.node.shared.infrastructure.consensus.trigger.{ConsensusTrigger, EventTrigger, TimeTrigger}
import io.constellationnetwork.node.shared.snapshot.currency.CurrencySnapshotEvent
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import io.constellationnetwork.schema.transaction.{RewardTransaction, Transaction}
import io.constellationnetwork.security.signature.Signed
import org.typelevel.log4cats.slf4j.Slf4jLogger

import scala.collection.immutable.{SortedMap, SortedSet}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import com.my.dor_metagraph.l0.rewards.collateral.Collateral.getDeviceCollateral
import com.my.dor_metagraph.shared_data.Utils._
import com.my.dor_metagraph.shared_data.bounties.AnalyticsSubscriptionBounty
import com.my.dor_metagraph.shared_data.types.Types._
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import org.tessellation.schema.transaction.RewardTransaction
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import io.constellationnetwork.schema.transaction.RewardTransaction
import org.typelevel.log4cats.SelfAwareStructuredLogger
import org.typelevel.log4cats.slf4j.Slf4jLogger

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import cats.syntax.functor._
import cats.syntax.option.catsSyntaxOptionId
import com.my.dor_metagraph.shared_data.Utils.{PosLongOps, RewardTransactionOps}
import com.my.dor_metagraph.shared_data.types.Types._
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import org.tessellation.schema.transaction.RewardTransaction
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import io.constellationnetwork.schema.transaction.RewardTransaction

abstract class BountyRewards[F[_] : Async] {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import com.my.dor_metagraph.l0.rewards.collateral.Collateral.getDeviceCollateral
import com.my.dor_metagraph.shared_data.Utils._
import com.my.dor_metagraph.shared_data.bounties.{CommercialLocationBounty, UnitDeployedBounty}
import com.my.dor_metagraph.shared_data.types.Types._
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import org.tessellation.schema.transaction.RewardTransaction
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import io.constellationnetwork.schema.transaction.RewardTransaction
import org.typelevel.log4cats.SelfAwareStructuredLogger
import org.typelevel.log4cats.slf4j.Slf4jLogger

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.my.dor_metagraph.l0.rewards.collateral
import com.my.dor_metagraph.shared_data.Utils.toTokenAmountFormat
import com.my.dor_metagraph.shared_data.types.Types._
import eu.timepit.refined.types.numeric.NonNegLong
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance

object Collateral {
def getDeviceCollateral(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.my.dor_metagraph.l0.rewards.validators

import org.tessellation.schema.address.Address
import io.constellationnetwork.schema.address.Address

trait ValidatorNodes[F[_]] {
def getValidatorNodes: F[(List[Address], List[Address])]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import cats.effect.std.Env
import cats.syntax.all._
import com.my.dor_metagraph.shared_data.Utils.getEnv
import com.my.dor_metagraph.shared_data.external_apis.ClusterApi.getValidatorNodesAddresses
import org.tessellation.schema.address.Address
import org.tessellation.security.SecurityProvider
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.security.SecurityProvider

class ValidatorNodesAPI[F[_] : Async : SecurityProvider : Env] extends ValidatorNodes[F] {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import cats.syntax.applicative._
import cats.syntax.flatMap._
import cats.syntax.functor._
import com.my.dor_metagraph.shared_data.Utils.{PosLongEffectOps, RewardTransactionOps}
import org.tessellation.schema.address.Address
import org.tessellation.schema.transaction.RewardTransaction
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.transaction.RewardTransaction
import org.typelevel.log4cats.SelfAwareStructuredLogger
import org.typelevel.log4cats.slf4j.Slf4jLogger

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import cats.syntax.option._
import com.my.dor_metagraph.l0.rewards.bounties.{AnalyticsBountyRewards, DailyBountyRewards}
import com.my.dor_metagraph.shared_data.types.Types._
import eu.timepit.refined.auto._
import org.tessellation.schema.address.Address
import io.constellationnetwork.schema.address.Address
import weaver.SimpleIOSuite

object BountyRewardsTest extends SimpleIOSuite {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ import com.my.dor_metagraph.shared_data.Utils.toTokenAmountFormat
import com.my.dor_metagraph.shared_data.types.Types.{AnalyticsBountyInformation, CheckInDataCalculatedState, DeviceInfo, DorAPIResponse}
import eu.timepit.refined.auto._
import eu.timepit.refined.types.numeric.NonNegLong
import org.tessellation.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import org.tessellation.node.shared.infrastructure.consensus.trigger.TimeTrigger
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import org.tessellation.schema.epoch.EpochProgress
import org.tessellation.schema.height.{Height, SubHeight}
import org.tessellation.schema.transaction.RewardTransaction
import org.tessellation.schema.{ActiveTip, BlockReference, DeprecatedTip, ID, SnapshotOrdinal, SnapshotTips}
import org.tessellation.security.hash.{Hash, ProofsHash}
import org.tessellation.security.hex.Hex
import org.tessellation.security.signature.Signed
import org.tessellation.security.signature.signature.{Signature, SignatureProof}
import io.constellationnetwork.currency.schema.currency.{CurrencyIncrementalSnapshot, CurrencySnapshotStateProof}
import io.constellationnetwork.node.shared.infrastructure.consensus.trigger.TimeTrigger
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import io.constellationnetwork.schema.epoch.EpochProgress
import io.constellationnetwork.schema.height.{Height, SubHeight}
import io.constellationnetwork.schema.transaction.RewardTransaction
import io.constellationnetwork.schema.{ActiveTip, BlockReference, DeprecatedTip, ID, SnapshotOrdinal, SnapshotTips}
import io.constellationnetwork.security.hash.{Hash, ProofsHash}
import io.constellationnetwork.security.hex.Hex
import io.constellationnetwork.security.signature.Signed
import io.constellationnetwork.security.signature.signature.{Signature, SignatureProof}
import weaver.SimpleIOSuite

import scala.collection.immutable.{SortedMap, SortedSet}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import com.my.dor_metagraph.l0.rewards.collateral.Collateral.getDeviceCollateral
import com.my.dor_metagraph.shared_data.Utils.toTokenAmountFormat
import eu.timepit.refined.auto._
import eu.timepit.refined.types.numeric.NonNegLong
import org.tessellation.schema.address.Address
import org.tessellation.schema.balance.Balance
import io.constellationnetwork.schema.address.Address
import io.constellationnetwork.schema.balance.Balance
import weaver.SimpleIOSuite

object CollateralTest extends SimpleIOSuite {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package com.my.dor_metagraph.l1

import org.tessellation.currency.l1.CurrencyL1App
import org.tessellation.schema.cluster.ClusterId
import org.tessellation.schema.semver.{MetagraphVersion, TessellationVersion}
import io.constellationnetwork.currency.l1.CurrencyL1App
import io.constellationnetwork.schema.cluster.ClusterId
import io.constellationnetwork.schema.semver.{MetagraphVersion, TessellationVersion}

import java.util.UUID

object Main extends CurrencyL1App(
"currency-l1",
"currency L1 node",
ClusterId(UUID.fromString("517c3a05-9219-471b-a54c-21b7d72f4ae5")),
tessellationVersion = TessellationVersion.unsafeFrom(org.tessellation.BuildInfo.version),
tessellationVersion = TessellationVersion.unsafeFrom(io.constellationnetwork.BuildInfo.version),
metagraphVersion = MetagraphVersion.unsafeFrom(com.my.dor_metagraph.l1.BuildInfo.version)
) {}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.my.dor_metagraph.shared_data

import cats.syntax.validated.catsSyntaxValidatedIdBinCompat0
import org.tessellation.currency.dataApplication.DataApplicationValidationError
import org.tessellation.currency.dataApplication.dataApplication.DataApplicationValidationErrorOr
import io.constellationnetwork.currency.dataApplication.DataApplicationValidationError
import io.constellationnetwork.currency.dataApplication.dataApplication.DataApplicationValidationErrorOr

object Errors {
private type DataApplicationValidationType = DataApplicationValidationErrorOr[Unit]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import com.my.dor_metagraph.shared_data.Utils.getFirstAddressFromProofs
import com.my.dor_metagraph.shared_data.combiners.DeviceCheckIn.combineDeviceCheckIn
import com.my.dor_metagraph.shared_data.types.Types.{CheckInDataCalculatedState, CheckInStateOnChain, CheckInUpdate}
import com.my.dor_metagraph.shared_data.validations.Validations.{deviceCheckInValidationsL0, deviceCheckInValidationsL1}
import org.tessellation.currency.dataApplication.dataApplication.DataApplicationValidationErrorOr
import org.tessellation.currency.dataApplication.{DataState, L0NodeContext}
import org.tessellation.ext.cats.syntax.next.catsSyntaxNext
import org.tessellation.schema.epoch.EpochProgress._
import org.tessellation.schema.epoch._
import org.tessellation.security.SecurityProvider
import org.tessellation.security.signature.Signed
import io.constellationnetwork.currency.dataApplication.dataApplication.DataApplicationValidationErrorOr
import io.constellationnetwork.currency.dataApplication.{DataState, L0NodeContext}
import io.constellationnetwork.ext.cats.syntax.next.catsSyntaxNext
import io.constellationnetwork.schema.epoch.EpochProgress._
import io.constellationnetwork.schema.epoch._
import io.constellationnetwork.security.SecurityProvider
import io.constellationnetwork.security.signature.Signed
import org.typelevel.log4cats.SelfAwareStructuredLogger
import org.typelevel.log4cats.slf4j.Slf4jLogger

Expand Down
Loading

0 comments on commit 185ad78

Please sign in to comment.