diff --git a/src/main/scala/fluence/hackethberlin/MakeVyperApp.scala b/src/main/scala/fluence/hackethberlin/MakeVyperApp.scala index 44ace91..4fd04aa 100644 --- a/src/main/scala/fluence/hackethberlin/MakeVyperApp.scala +++ b/src/main/scala/fluence/hackethberlin/MakeVyperApp.scala @@ -16,7 +16,7 @@ object MakeVyperApp extends App { ("address" → address) :: ("owner" → `public`(address)) :: ("holders" → (address ~>> bool)) :: - ("structMap" → `public`(Mapping(uint256, struct))) :: + ("structMap" → `public`(uint256 ~>> struct)) :: ("struct" → `public`(struct)) :: ("struct2" → struct) :: HNil ) diff --git a/src/main/scala/fluence/hackethberlin/types/Mapping.scala b/src/main/scala/fluence/hackethberlin/types/Mapping.scala index 932355a..ac9356c 100644 --- a/src/main/scala/fluence/hackethberlin/types/Mapping.scala +++ b/src/main/scala/fluence/hackethberlin/types/Mapping.scala @@ -1,5 +1,5 @@ package fluence.hackethberlin.types -case class Mapping[K <: PrimitiveType, V <: Type](ktype: K, vtype: V) extends PlainType { +case class Mapping[K <: PrimitiveType, V <: Type](ktype: K, vtype: V) extends Type { override def toVyper: String = s"${vtype.toVyper}[${ktype.toVyper}]" } diff --git a/src/main/scala/fluence/hackethberlin/types/PrimitiveType.scala b/src/main/scala/fluence/hackethberlin/types/PrimitiveType.scala index 9ee8c84..e4a436c 100644 --- a/src/main/scala/fluence/hackethberlin/types/PrimitiveType.scala +++ b/src/main/scala/fluence/hackethberlin/types/PrimitiveType.scala @@ -1,6 +1,6 @@ package fluence.hackethberlin.types -abstract sealed class PrimitiveType(name: String) extends PlainType { +abstract sealed class PrimitiveType(name: String) extends Type { self ⇒ override def toVyper: String = name diff --git a/src/main/scala/fluence/hackethberlin/types/StructType.scala b/src/main/scala/fluence/hackethberlin/types/StructType.scala index 7382eb5..3420905 100644 --- a/src/main/scala/fluence/hackethberlin/types/StructType.scala +++ b/src/main/scala/fluence/hackethberlin/types/StructType.scala @@ -2,6 +2,6 @@ package fluence.hackethberlin.types import shapeless.{HList, LUBConstraint} -class StructType[D <: HList](dataDef: D)(implicit dv: DataVyper[D], c: LUBConstraint[D, (String, PlainType)]) extends PlainType { +class StructType[D <: HList](dataDef: D)(implicit dv: DataVyper[D], c: LUBConstraint[D, (String, Type)]) extends Type { override def toVyper: String = s"{${dv.toVyperDefinitions(dataDef).mkString(", ")}}" } diff --git a/src/main/scala/fluence/hackethberlin/types/Type.scala b/src/main/scala/fluence/hackethberlin/types/Type.scala index 1fbe8ea..c08dc98 100644 --- a/src/main/scala/fluence/hackethberlin/types/Type.scala +++ b/src/main/scala/fluence/hackethberlin/types/Type.scala @@ -2,6 +2,4 @@ package fluence.hackethberlin.types trait Type { def toVyper: String -} - -trait PlainType extends Type \ No newline at end of file +} \ No newline at end of file