@@ -14,21 +14,21 @@ module Wst.Offchain.BuildTx.Failing(
1414import Cardano.Api.Experimental (IsEra )
1515import Cardano.Api.Shelley qualified as C
1616import Control.Lens (set )
17- import Control.Monad.Except (MonadError , throwError )
17+ import Control.Monad.Error.Lens (throwing , throwing_ )
18+ import Control.Monad.Except (MonadError )
1819import Control.Monad.Reader (MonadReader , asks )
1920import Convex.BuildTx (BuildTxT )
2021import Convex.BuildTx qualified as BuildTx
2122import Convex.CardanoApi.Lenses qualified as L
2223import Convex.Class (MonadBlockchain , queryProtocolParameters )
2324import Convex.CoinSelection qualified as CoinSelection
2425import Convex.PlutusLedger.V1 (transCredential )
25- import Convex.Utils (mapError )
2626import Convex.Utxos (BalanceChanges )
2727import Convex.Utxos qualified as Utxos
2828import Convex.Wallet.Operator (returnOutputFor )
2929import Data.Aeson (FromJSON , ToJSON )
3030import GHC.Generics (Generic )
31- import Wst.AppError (AppError (.. ))
31+ import Wst.AppError (AsProgrammableTokensError (.. ))
3232import Wst.Offchain.BuildTx.TransferLogic (FindProofResult (.. ))
3333import Wst.Offchain.Env (HasOperatorEnv (.. ), OperatorEnv (.. ))
3434import Wst.Offchain.Query (UTxODat (.. ))
@@ -43,7 +43,7 @@ data BlacklistedTransferPolicy
4343
4444{-| Balance a transaction using the operator's funds and return output
4545-}
46- balanceTxEnvFailing :: forall era env m . (MonadBlockchain era m , MonadReader env m , HasOperatorEnv era env , MonadError ( AppError era ) m , C. IsBabbageBasedEra era ) => BlacklistedTransferPolicy -> BuildTxT era m (FindProofResult era ) -> m (C. BalancedTxBody era , BalanceChanges )
46+ balanceTxEnvFailing :: forall era env err m . (MonadBlockchain era m , MonadReader env m , HasOperatorEnv era env , MonadError err m , C. IsBabbageBasedEra era , AsProgrammableTokensError err , CoinSelection. AsCoinSelectionError err , CoinSelection. AsBalancingError err era ) => BlacklistedTransferPolicy -> BuildTxT era m (FindProofResult era ) -> m (C. BalancedTxBody era , BalanceChanges )
4747balanceTxEnvFailing policy btx = do
4848 OperatorEnv {bteOperatorUtxos, bteOperator} <- asks operatorEnv
4949 params <- queryProtocolParameters
@@ -54,14 +54,14 @@ balanceTxEnvFailing policy btx = do
5454 output <- returnOutputFor credential
5555 (balBody, balChanges) <- case r of
5656 CredentialNotBlacklisted {} -> do
57- mapError BalancingError ( CoinSelection. balanceTx mempty output (Utxos. fromApiUtxo bteOperatorUtxos) txBuilder CoinSelection. TrailingChange)
57+ CoinSelection. balanceTx mempty output (Utxos. fromApiUtxo bteOperatorUtxos) txBuilder CoinSelection. TrailingChange
5858 CredentialBlacklisted UTxODat {}
5959 | policy == SubmitFailingTx -> do
6060 -- deliberately set the script validity flag to false
6161 -- this means we will be losing the collateral!
6262 let builder' = txBuilder <> BuildTx. liftTxBodyEndo (set L. txScriptValidity (C. TxScriptValidity C. alonzoBasedEra C. ScriptInvalid ))
63- mapError BalancingError ( CoinSelection. balanceTx mempty output (Utxos. fromApiUtxo bteOperatorUtxos) builder' CoinSelection. TrailingChange)
63+ CoinSelection. balanceTx mempty output (Utxos. fromApiUtxo bteOperatorUtxos) builder' CoinSelection. TrailingChange
6464 | otherwise -> do
65- throwError ( TransferBlacklistedCredential (transCredential credential) )
66- NoBlacklistNodes -> throwError BlacklistNodeNotFound
65+ throwing _TransferBlacklistedCredential (transCredential credential)
66+ NoBlacklistNodes -> throwing_ _BlacklistNodeNotFound
6767 pure (balBody, balChanges)
0 commit comments