|
1 | 1 | {-# LANGUAGE AllowAmbiguousTypes #-} |
2 | 2 | {-# LANGUAGE NamedFieldPuns #-} |
| 3 | +{-# OPTIONS_GHC -w #-} |
3 | 4 |
|
4 | 5 | module BotPlutusInterface.CardanoCLI ( |
5 | 6 | submitTx, |
@@ -475,15 +476,19 @@ unsafeSerialiseAddress network address = |
475 | 476 | Right a -> a |
476 | 477 | Left _ -> error "Couldn't create address" |
477 | 478 |
|
| 479 | +-- calculateExBudget :: Script -> [BuiltinData] -> Either Text ExBudget |
| 480 | +-- calculateExBudget script builtinData = do |
| 481 | +-- -- TODO, pull this from the protocol, they're the same for now but may not always be |
| 482 | +-- modelParams <- maybeToRight "Cost model params invalid." Plutus.defaultCostModelParams |
| 483 | +-- let serialisedScript = ShortByteString.toShort $ LazyByteString.toStrict $ Codec.serialise script |
| 484 | +-- pData = map Plutus.builtinDataToData builtinData |
| 485 | +-- mapLeft showText $ |
| 486 | +-- snd $ |
| 487 | +-- Plutus.evaluateScriptCounting Plutus.Verbose modelParams serialisedScript pData |
| 488 | + |
478 | 489 | calculateExBudget :: Script -> [BuiltinData] -> Either Text ExBudget |
479 | 490 | calculateExBudget script builtinData = do |
480 | | - -- TODO, pull this from the protocol, they're the same for now but may not always be |
481 | | - modelParams <- maybeToRight "Cost model params invalid." Plutus.defaultCostModelParams |
482 | | - let serialisedScript = ShortByteString.toShort $ LazyByteString.toStrict $ Codec.serialise script |
483 | | - pData = map Plutus.builtinDataToData builtinData |
484 | | - mapLeft showText $ |
485 | | - snd $ |
486 | | - Plutus.evaluateScriptCounting Plutus.Verbose modelParams serialisedScript pData |
| 491 | + mapLeft showText $ fst <$> Scripts.evaluateScript (Scripts.applyArguments script $ Plutus.builtinDataToData <$> builtinData) |
487 | 492 |
|
488 | 493 | exBudgetToCliArg :: ExBudget -> Text |
489 | 494 | exBudgetToCliArg (ExBudget (ExCPU steps) (ExMemory memory)) = |
|
0 commit comments