@@ -22,7 +22,7 @@ module Contracts.Oracle.OffChain
2222 , requestOracleForAddress
2323 , findOracleRequest
2424 , awaitNextOracleRequest
25- , getActiveOracleRequests
25+ , getActiveOracleRequests
2626 , getActiveGames
2727 , oracleScriptAsShortBs
2828 , oraclePlutusScript
@@ -33,7 +33,7 @@ module Contracts.Oracle.OffChain
3333 , useOracle
3434 ) where
3535
36- import Cardano.Api.Shelley (PlutusScript (.. ), PlutusScriptV1 )
36+ import Cardano.Api.Shelley (PlutusScript (.. ), PlutusScriptV1 )
3737import Control.Lens (view )
3838import Control.Monad hiding (fmap )
3939import Contracts.Oracle.Types
@@ -95,21 +95,21 @@ updateOracle oracle operatorPrivateKey params = do
9595 gameStatus = uoGameStatus params
9696
9797 activeRequests <- getActiveOracleRequests oracle
98- let requests = filter (isGameOracleRequest gameId) activeRequests
98+ let requests = filter (isGameOracleRequest gameId) activeRequests
9999 forM_ requests $ \ (oref, o, oracleData) -> do
100- let oracleSignMessage = OracleSignedMessage
100+ let oracleSignMessage = OracleSignedMessage
101101 { osmWinnerId = winnerId
102102 , osmGameId = gameId
103103 , osmGameStatus = gameStatus
104104 }
105- let oracleData' = oracleData{ ovSignedMessage = Just $ signMessage oracleSignMessage operatorPrivateKey }
105+ let oracleData' = oracleData{ ovSignedMessage = Nothing }
106106 when (oracleData' /= oracleData) $ do
107107 let requestTokenVal = assetClassValue (requestTokenClassFromOracle oracle) 1
108- collateralVal = Ada. toValue $ oCollateral oracle
109- let lookups = Constraints. unspentOutputs (Map. singleton oref o)
110- <> Constraints. typedValidatorLookups (typedOracleValidator oracle)
108+ collateralVal = Ada. toValue $ oCollateral oracle
109+ let lookups = Constraints. unspentOutputs (Map. singleton oref o)
110+ <> Constraints. typedValidatorLookups (typedOracleValidator oracle)
111111 <> Constraints. otherScript (oracleValidator oracle)
112- tx = Constraints. mustPayToTheScript oracleData' (requestTokenVal <> collateralVal)
112+ tx = Constraints. mustPayToTheScript oracleData' (requestTokenVal <> collateralVal)
113113 <> Constraints. mustSpendScriptOutput oref (Redeemer $ PlutusTx. toBuiltinData Update )
114114
115115 logInfo (" submit transaction " ++ (show $ oracleData'))
@@ -133,26 +133,26 @@ data OracleContractState =
133133 | Updated GameId
134134 deriving (Show , Generic , FromJSON , ToJSON )
135135
136- type OracleSchema = Endpoint " update" UpdateOracleParams
137- .\/ Endpoint " games" ()
136+ type OracleSchema = Endpoint " update" UpdateOracleParams
137+ .\/ Endpoint " games" ()
138138
139139requestOracleForAddress :: forall w s . Oracle -> GameId -> Contract w s Text ()
140- requestOracleForAddress oracle gameId = do
140+ requestOracleForAddress oracle gameId = do
141141 pkh <- pubKeyHash <$> ownPubKey
142142 let inst = typedOracleValidator oracle
143143 mrScript = oracleValidator oracle
144144 tokenMintingPolicy = requestTokenPolicy $ oracleToRequestToken oracle
145145 forgedToken = requestTokenValue oracle
146- oracleFee = oFee oracle
146+ oracleFee = oFee oracle
147147 feeVal = Ada. toValue oracleFee
148148 collateralVal = Ada. toValue $ oCollateral oracle
149- oracleData = OracleData
149+ oracleData = OracleData
150150 { ovRequestAddress = pkh
151151 , ovGame = gameId
152152 , ovSignedMessage = Nothing
153153 }
154154 mintRedeemer = Redeemer $ PlutusTx. toBuiltinData $ Request
155- let lookups = Constraints. typedValidatorLookups inst
155+ let lookups = Constraints. typedValidatorLookups inst
156156 <> Constraints. otherScript mrScript
157157 <> Constraints. mintingPolicy tokenMintingPolicy
158158
@@ -168,7 +168,7 @@ getActiveOracleRequests:: Oracle -> Contract w s Text [(TxOutRef, ChainIndexTxOu
168168getActiveOracleRequests oracle = do
169169 xs <- utxosAt (oracleAddress oracle)
170170 let requests = filter (isActiveRequest oracle) . filterOracleRequest oracle . Map. toList $ xs
171- return requests
171+ return requests
172172
173173getActiveGames :: Oracle -> Contract w s Text ([GameId ])
174174getActiveGames oracle = do
@@ -188,7 +188,7 @@ awaitNextOracleRequest oracle =
188188 let filterValidTx = catMaybes . concat
189189 let filtered = filterOracleRequest oracle . filterValidTx $ txs
190190 return filtered
191-
191+
192192runOracle :: OracleParams -> Contract (Last OracleContractState ) OracleSchema Text ()
193193runOracle op = do
194194 oracle <- startOracle op
@@ -207,7 +207,7 @@ runOracle op = do
207207 tell $ Last $ Just $ Games gamesIds
208208
209209hasOracleRequestToken :: Oracle -> (TxOutRef , ChainIndexTxOut ) -> Bool
210- hasOracleRequestToken oracle (oref, o) =
210+ hasOracleRequestToken oracle (oref, o) =
211211 assetClassValueOf (view ciTxOutValue o) (requestTokenClassFromOracle oracle) == 1
212212
213213hasOracelRequestDatum :: (TxOutRef , ChainIndexTxOut ) -> Bool
@@ -222,7 +222,7 @@ mapDatum (oref, o) = case oracleValueFromTxOutTx o of
222222 Nothing -> Nothing
223223
224224isGameOracleRequest :: GameId -> (TxOutRef , ChainIndexTxOut , OracleData ) -> Bool
225- isGameOracleRequest gameId (_, _, od) = gameId == (ovGame od)
225+ isGameOracleRequest gameId (_, _, od) = gameId == (ovGame od)
226226
227227isOwnerOracleRequest :: PubKeyHash -> (TxOutRef , ChainIndexTxOut , OracleData ) -> Bool
228228isOwnerOracleRequest owner (_, _, od) = owner == (ovRequestAddress od)
@@ -239,7 +239,7 @@ isActiveRequest oracle (_, _, od) = case ovSignedMessage od of
239239 Nothing -> False
240240 Just (oracleMessage, _) -> isActiveSignedMessage oracleMessage
241241
242- findOracleRequest ::
242+ findOracleRequest ::
243243 forall w s . Oracle
244244 -> GameId
245245 -> PubKeyHash
@@ -248,14 +248,14 @@ findOracleRequest oracle gameId owner = do
248248 xs <- utxosAt (oracleAddress oracle)
249249 let findCriteria = find (\ tx -> isOwnerOracleRequest owner tx && isGameOracleRequest gameId tx)
250250 let request = findCriteria . filterOracleRequest oracle . Map. toList $ xs
251- pure request
251+ pure request
252252
253253data UseOracleParams = UseOracleParams
254254 { uoGame :: Integer -- use owned oracle request
255255 }
256256 deriving stock (Haskell.Eq , Haskell.Show , Generic )
257257 deriving anyclass (ToJSON , FromJSON , ToSchema )
258-
258+
259259type UseOracleSchema = Endpoint " use" UseOracleParams
260260
261261-- example endpoint how to consume oracle request owned by user
@@ -278,7 +278,7 @@ useOracle oracle =
278278 collateralValue = Ada. toValue $ oCollateral oracle
279279 mintRedeemer = Redeemer $ PlutusTx. toBuiltinData $ RedeemToken
280280
281- let lookups = Constraints. typedValidatorLookups inst
281+ let lookups = Constraints. typedValidatorLookups inst
282282 <> Constraints. otherScript mrScript
283283 <> Constraints. unspentOutputs (Map. singleton oref o)
284284 <> Constraints. mintingPolicy tokenMintingPolicy
@@ -287,4 +287,4 @@ useOracle oracle =
287287 <> Constraints. mustPayToPubKey pkh collateralValue
288288
289289 ledgerTx <- submitTxConstraintsWith lookups tx
290- void $ awaitTxConfirmed $ txId ledgerTx
290+ void $ awaitTxConfirmed $ txId ledgerTx
0 commit comments