mirror of
https://github.com/fluencelabs/hackethberlin
synced 2025-04-25 01:12:18 +00:00
summirizing contract
This commit is contained in:
parent
3adf7c3f51
commit
c3f30a2b71
@ -123,5 +123,10 @@ object Expr {
|
|||||||
(Symbol("False") ->> bool) ::
|
(Symbol("False") ->> bool) ::
|
||||||
HNil
|
HNil
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val `block.timestamp` = predef.ref(Symbol("block.timestamp"))
|
||||||
|
val `msg.value` = predef.ref(Symbol("msg.value"))
|
||||||
|
val `msg.sender` = predef.ref(Symbol("msg.sender"))
|
||||||
|
val `True` = predef.ref('True)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,11 +13,6 @@ import shapeless.HNil
|
|||||||
object Auction extends App {
|
object Auction extends App {
|
||||||
import Expr.Defs._
|
import Expr.Defs._
|
||||||
|
|
||||||
val `block.timestamp` = predef.ref(Symbol("block.timestamp"))
|
|
||||||
val `msg.value` = predef.ref(Symbol("msg.value"))
|
|
||||||
val `msg.sender` = predef.ref(Symbol("msg.sender"))
|
|
||||||
val `True` = predef.ref('True)
|
|
||||||
|
|
||||||
val data = ProductType.self(
|
val data = ProductType.self(
|
||||||
('beneficiary ->> public(address)) ::
|
('beneficiary ->> public(address)) ::
|
||||||
('auction_start ->> public(timestamp)) ::
|
('auction_start ->> public(timestamp)) ::
|
||||||
@ -51,12 +46,6 @@ object Auction extends App {
|
|||||||
} yield Void
|
} yield Void
|
||||||
}
|
}
|
||||||
|
|
||||||
val bidIf: () ⇒ Free[Expr, Void] = { () =>
|
|
||||||
for {
|
|
||||||
_ <- FuncDef.send(highest_bidder :: highest_bid :: HNil).liftF
|
|
||||||
} yield Void
|
|
||||||
}
|
|
||||||
|
|
||||||
val bid = `@public` @: `@payable` @: ProductType.hNil.funcDef(
|
val bid = `@public` @: `@payable` @: ProductType.hNil.funcDef(
|
||||||
"bid",
|
"bid",
|
||||||
Void
|
Void
|
||||||
@ -64,7 +53,12 @@ object Auction extends App {
|
|||||||
for {
|
for {
|
||||||
_ <- `assert`(`<<`(`block.timestamp`, auction_end))
|
_ <- `assert`(`<<`(`block.timestamp`, auction_end))
|
||||||
_ <- `assert`(`>>`(`msg.value`, highest_bid))
|
_ <- `assert`(`>>`(`msg.value`, highest_bid))
|
||||||
_ <- `if`(`not`(`:===:`(highest_bid, `msg.value`)), bidIf)
|
_ <- `if`(`not`(`:===:`(highest_bid, `msg.value`)), {
|
||||||
|
() =>
|
||||||
|
for {
|
||||||
|
_ <- FuncDef.send(highest_bidder :: highest_bid :: HNil).liftF
|
||||||
|
} yield Void
|
||||||
|
})
|
||||||
_ <- highest_bidder :=: `msg.sender`
|
_ <- highest_bidder :=: `msg.sender`
|
||||||
_ <- highest_bid :=: `msg.value`
|
_ <- highest_bid :=: `msg.value`
|
||||||
} yield Void
|
} yield Void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user