diff --git a/src/BotPlutusInterface/Contract.hs b/src/BotPlutusInterface/Contract.hs index 58e1430a..23f68afc 100644 --- a/src/BotPlutusInterface/Contract.hs +++ b/src/BotPlutusInterface/Contract.hs @@ -41,17 +41,15 @@ import Plutus.Contract.Effects ( import Plutus.Contract.Resumable (Resumable (..)) import Plutus.Contract.Types (Contract (..), ContractEffs) import Wallet.Emulator.Error (WalletAPIError (..)) -import Wallet.Emulator.Types (Wallet) import Prelude runContract :: forall (w :: Type) (s :: Row Type) (e :: Type) (a :: Type). (ToJSON w, Monoid w) => ContractEnvironment w -> - Wallet -> Contract w s e a -> IO (Either e a) -runContract contractEnv _ (Contract effs) = do +runContract contractEnv (Contract effs) = do runM $ handlePABEffect @w contractEnv $ raiseEnd $ handleContract contractEnv effs handleContract :: @@ -120,7 +118,7 @@ handlePABReq contractEnv req = do ---------------------- OwnPaymentPublicKeyHashReq -> -- TODO: Should be able to get this from the wallet, hardcoded for now - pure $ OwnPaymentPublicKeyHashResp $ PaymentPubKeyHash $ contractEnv.cePABConfig.pcOwnPubKeyHash + pure $ OwnPaymentPublicKeyHashResp $ PaymentPubKeyHash contractEnv.cePABConfig.pcOwnPubKeyHash OwnContractInstanceIdReq -> pure $ OwnContractInstanceIdResp (ceContractInstanceId contractEnv) ChainIndexQueryReq query -> diff --git a/src/BotPlutusInterface/Server.hs b/src/BotPlutusInterface/Server.hs index 0f242ac5..e0829daf 100644 --- a/src/BotPlutusInterface/Server.hs +++ b/src/BotPlutusInterface/Server.hs @@ -19,7 +19,7 @@ import Data.Aeson qualified as JSON import Data.Either.Combinators (leftToMaybe) import Data.Kind (Type) import Data.Map qualified as Map -import Data.Maybe (catMaybes, fromMaybe) +import Data.Maybe (catMaybes) import Data.Proxy (Proxy (Proxy)) import Data.Row (Row) import Data.UUID.V4 qualified as UUID @@ -48,7 +48,6 @@ import Plutus.PAB.Webserver.Types ( import Servant.API (JSON, Post, ReqBody, (:<|>) (..), (:>)) import Servant.API.WebSocket (WebSocketPending) import Servant.Server (Application, Handler, Server, serve) -import Wallet.Emulator (Wallet, knownWallet) import Wallet.Types (ContractInstanceId (..)) import Prelude @@ -171,10 +170,9 @@ activateContractHandler :: AppState -> ContractActivationArgs c -> Handler ContractInstanceId -activateContractHandler pabConf state (ContractActivationArgs cardMessage maybeWallet) = - let wallet = fromMaybe (knownWallet 1) maybeWallet - in case getContract cardMessage of - SomeBuiltin contract -> handleContract pabConf wallet state contract +activateContractHandler pabConf state (ContractActivationArgs cardMessage _) = + case getContract cardMessage of + SomeBuiltin contract -> handleContract pabConf state contract handleContract :: forall @@ -187,11 +185,10 @@ handleContract :: , IsContract contract ) => PABConfig -> - Wallet -> AppState -> contract w s e a -> Handler ContractInstanceId -handleContract pabConf wallet state@(AppState st) contract = liftIO $ do +handleContract pabConf state@(AppState st) contract = liftIO $ do contractInstanceID <- liftIO $ ContractInstanceId <$> UUID.nextRandom contractState <- newTVarIO (ContractState Active mempty) @@ -201,12 +198,11 @@ handleContract pabConf wallet state@(AppState st) contract = liftIO $ do ContractEnvironment { cePABConfig = pabConf , ceContractState = contractState - , ceWallet = wallet , ceContractInstanceId = contractInstanceID } void $ forkIO $ do - result <- runContract contractEnv wallet (toContract contract) + result <- runContract contractEnv (toContract contract) let maybeError = toJSON <$> leftToMaybe result broadcastContractResult @w state contractInstanceID maybeError pure contractInstanceID diff --git a/src/BotPlutusInterface/Types.hs b/src/BotPlutusInterface/Types.hs index ba4a970a..1b8f740d 100644 --- a/src/BotPlutusInterface/Types.hs +++ b/src/BotPlutusInterface/Types.hs @@ -30,7 +30,6 @@ import Plutus.PAB.Effects.Contract.Builtin ( endpointsToSchemas, ) import Servant.Client (BaseUrl (BaseUrl), Scheme (Http)) -import Wallet.Emulator (Wallet) import Wallet.Types (ContractInstanceId (..)) import Prelude @@ -60,7 +59,6 @@ data ContractEnvironment w = ContractEnvironment { cePABConfig :: PABConfig , ceContractInstanceId :: ContractInstanceId , ceContractState :: TVar (ContractState w) - , ceWallet :: Wallet } deriving stock (Show) diff --git a/test/Spec/MockContract.hs b/test/Spec/MockContract.hs index d24b9498..e5fa051a 100644 --- a/test/Spec/MockContract.hs +++ b/test/Spec/MockContract.hs @@ -106,7 +106,6 @@ import Plutus.Contract.Effects (ChainIndexQuery (..), ChainIndexResponse (..)) import Plutus.PAB.Core.ContractInstance.STM (Activity (Active)) import PlutusTx.Builtins (fromBuiltin) import System.IO.Unsafe (unsafePerformIO) -import Wallet.Emulator (knownWallet) import Wallet.Types (ContractInstanceId (ContractInstanceId)) import Prelude @@ -197,7 +196,6 @@ instance Monoid w => Default (ContractEnvironment w) where { cePABConfig = def {pcNetwork = Mainnet, pcOwnPubKeyHash = pkh1} , ceContractInstanceId = ContractInstanceId UUID.nil , ceContractState = unsafePerformIO $ newTVarIO def - , ceWallet = knownWallet 1 } instance Monoid w => Default (ContractState w) where