Skip to content

Commit 142f119

Browse files
committed
post-merge fixes
- fixed: failing balancing test - fixed: formatting, linting
1 parent b795553 commit 142f119

File tree

5 files changed

+20
-11
lines changed

5 files changed

+20
-11
lines changed

src/BotPlutusInterface/Contract.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{-# LANGUAGE AllowAmbiguousTypes #-}
22
{-# LANGUAGE RankNTypes #-}
33
{-# OPTIONS_GHC -Wno-orphans #-}
4-
{-# LANGUAGE ViewPatterns #-}
54

65
module BotPlutusInterface.Contract (runContract, handleContract) where
76

@@ -64,8 +63,8 @@ import Control.Monad.Trans.Either (EitherT, eitherT, firstEitherT, hoistEither,
6463
import Control.Monad.Trans.Except (ExceptT, throwE)
6564
import Data.Aeson (ToJSON, Value (Array, Bool, Null, Number, Object, String))
6665
import Data.Aeson.Extras (encodeByteString)
67-
import Data.Either.Combinators (maybeToLeft, swapEither)
6866
import Data.Aeson.KeyMap qualified as KeyMap
67+
import Data.Either.Combinators (maybeToLeft, swapEither)
6968
import Data.Function (fix, (&))
7069
import Data.Kind (Type)
7170
import Data.List.NonEmpty (NonEmpty ((:|)))

src/BotPlutusInterface/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import Ledger (
5858
TxOutRef,
5959
)
6060
import Ledger qualified
61+
import Ledger.Ada qualified as Ada
6162
import Network.Wai.Handler.Warp (Port)
6263
import Numeric.Natural (Natural)
6364
import Plutus.PAB.Core.ContractInstance.STM (Activity)
@@ -71,7 +72,6 @@ import Prettyprinter qualified as PP
7172
import Servant.Client (BaseUrl (BaseUrl), Scheme (Http))
7273
import Wallet.Types (ContractInstanceId (..))
7374
import Prelude
74-
import Ledger.Ada qualified as Ada
7575

7676
data PABConfig = PABConfig
7777
{ -- | Calling the cli through ssh when set to Remote

src/PlutusConfig/Cardano/Api/Shelley.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ import Cardano.Api.Shelley (ProtocolParameters (..))
2121
-- naturalSpec,
2222
-- sectionsSpec,
2323
-- )
24+
25+
import Control.Exception (IOException, catch)
2426
import Data.Aeson qualified as JSON
2527
import Data.ByteString.Lazy qualified as LazyByteString
26-
import Control.Exception (IOException, catch)
2728

2829
-- import Data.Default (def)
2930
-- import Data.Text qualified as Text
@@ -280,9 +281,9 @@ import Prelude
280281
-- pure ProtocolParameters {..}
281282

282283
readProtocolParametersJSON :: FilePath -> IO (Either String ProtocolParameters)
283-
readProtocolParametersJSON fn =
284-
(JSON.eitherDecode <$> LazyByteString.readFile fn)
285-
`catch` (\(e :: IOException) -> pure $ Left (show e))
284+
readProtocolParametersJSON fn =
285+
(JSON.eitherDecode <$> LazyByteString.readFile fn)
286+
`catch` (\(e :: IOException) -> pure $ Left (show e))
286287

287288
writeProtocolParametersJSON :: FilePath -> ProtocolParameters -> IO ()
288289
writeProtocolParametersJSON fn params =

test/Spec/BotPlutusInterface/Balance.hs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Data.Set qualified as Set
99
import Data.Text qualified as Text
1010
import Ledger qualified
1111
import Ledger.Ada qualified as Ada
12+
import Ledger.Ada qualified as Value
1213
import Ledger.Address (Address, PaymentPubKeyHash (PaymentPubKeyHash))
1314
import Ledger.Address qualified as Address
1415
import Ledger.CardanoWallet qualified as Wallet
@@ -66,7 +67,7 @@ addUtxosForFees = do
6667
ownAddr = addr1
6768
ebalancedTx =
6869
fst $
69-
runPABEffectPure def $
70+
runPABEffectPure def $ do
7071
Balance.balanceTxStep @() @'[PABEffect ()] defaultBalanceConfig utxoIndex ownAddr tx
7172

7273
case ebalancedTx of
@@ -75,7 +76,15 @@ addUtxosForFees = do
7576

7677
addUtxosForNativeTokens :: Assertion
7778
addUtxosForNativeTokens = do
78-
let txout = TxOut addr2 (Value.singleton "11223344" "Token" 123) Nothing
79+
let minimumAdaRequired = Value.adaValueOf 1
80+
{- `minimumAdaRequired` has to be added to `txout` because
81+
balancing now decoupled from adjusting minimum Ada amount in output,
82+
and adjusting happens during `adjustUnbalancedTx` Contract
83+
effect execution *before* balancing. Adding `minimumAdaRequired`
84+
to `txout` Value aims to simulate result of `adjustUnbalancedTx` call.
85+
Note that 1 Ada is test value - real amount is determined by Ledger and can vary.
86+
-}
87+
txout = TxOut addr2 (Value.singleton "11223344" "Token" 123 <> minimumAdaRequired) Nothing
7988
tx = mempty {txOutputs = [txout]} `withFee` 500_000
8089
utxoIndex = Map.fromList [utxo1, utxo2, utxo3, utxo4]
8190
ownAddr = addr1

test/Spec/BotPlutusInterface/Collateral.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import Ledger qualified
1212
import Ledger.Ada qualified as Ada
1313
import Ledger.Constraints qualified as Constraints
1414
import Ledger.Scripts qualified as Scripts
15-
import Ledger.Tx (CardanoTx, TxOut (TxOut), TxOutRef (TxOutRef), ChainIndexTxOut (PublicKeyChainIndexTxOut))
15+
import Ledger.Tx (CardanoTx, ChainIndexTxOut (PublicKeyChainIndexTxOut), TxOut (TxOut), TxOutRef (TxOutRef))
1616
import Ledger.Tx qualified as Tx
1717
import Ledger.Tx qualified as TxId
1818
import Ledger.Value qualified as Value
@@ -44,13 +44,13 @@ import Control.Concurrent.STM (newTVarIO)
4444

4545
import Spec.BotPlutusInterface.Contract (assertCommandHistory, assertContract)
4646

47+
import Plutus.ChainIndex (OutputDatum (NoOutputDatum))
4748
import PlutusTx qualified
4849
import PlutusTx.Builtins (fromBuiltin)
4950
import System.IO.Unsafe (unsafePerformIO)
5051
import Test.Tasty (TestTree, testGroup)
5152
import Test.Tasty.HUnit (Assertion, assertEqual, testCase)
5253
import Prelude
53-
import Plutus.ChainIndex (OutputDatum(NoOutputDatum))
5454

5555
tests :: TestTree
5656
tests =

0 commit comments

Comments
 (0)