diff --git a/cardano-api/cardano-api.cabal b/cardano-api/cardano-api.cabal index 8cbb137539e..c2ad3c833c0 100644 --- a/cardano-api/cardano-api.cabal +++ b/cardano-api/cardano-api.cabal @@ -79,7 +79,7 @@ library Cardano.Api.NetworkId Cardano.Api.OperationalCertificate Cardano.Api.ProtocolParameters - Cardano.Api.Protocol.Types + Cardano.Api.Protocol Cardano.Api.Query Cardano.Api.Script Cardano.Api.ScriptData @@ -90,15 +90,13 @@ library Cardano.Api.SerialiseRaw Cardano.Api.SerialiseTextEnvelope Cardano.Api.SerialiseUsing - Cardano.Api.Shelley.Genesis + Cardano.Api.Genesis Cardano.Api.SpecialByron Cardano.Api.StakePoolMetadata Cardano.Api.Tx Cardano.Api.TxBody Cardano.Api.TxIn Cardano.Api.TxMetadata - Cardano.Api.TxSubmit.ErrorRender - Cardano.Api.TxSubmit.Types Cardano.Api.Utils Cardano.Api.Value Cardano.Api.ValueParser diff --git a/cardano-api/src/Cardano/Api.hs b/cardano-api/src/Cardano/Api.hs index c9fd9be0a5f..26abdf1181a 100644 --- a/cardano-api/src/Cardano/Api.hs +++ b/cardano-api/src/Cardano/Api.hs @@ -741,7 +741,7 @@ import Cardano.Api.LedgerState import Cardano.Api.Modes import Cardano.Api.NetworkId import Cardano.Api.OperationalCertificate -import Cardano.Api.Protocol.Types +import Cardano.Api.Protocol import Cardano.Api.ProtocolParameters import Cardano.Api.Query hiding (LedgerState (..)) import Cardano.Api.Script diff --git a/cardano-api/src/Cardano/Api/Shelley/Genesis.hs b/cardano-api/src/Cardano/Api/Genesis.hs similarity index 98% rename from cardano-api/src/Cardano/Api/Shelley/Genesis.hs rename to cardano-api/src/Cardano/Api/Genesis.hs index 74b4a62d330..1cf5d279f07 100644 --- a/cardano-api/src/Cardano/Api/Shelley/Genesis.hs +++ b/cardano-api/src/Cardano/Api/Genesis.hs @@ -1,7 +1,7 @@ {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE OverloadedStrings #-} -module Cardano.Api.Shelley.Genesis +module Cardano.Api.Genesis ( ShelleyGenesis(..) , shelleyGenesisDefaults ) where diff --git a/cardano-api/src/Cardano/Api/IPC.hs b/cardano-api/src/Cardano/Api/IPC.hs index 0a1b9418e08..9db78aa34d3 100644 --- a/cardano-api/src/Cardano/Api/IPC.hs +++ b/cardano-api/src/Cardano/Api/IPC.hs @@ -132,7 +132,7 @@ import Cardano.Api.HasTypeProxy import Cardano.Api.InMode import Cardano.Api.Modes import Cardano.Api.NetworkId -import Cardano.Api.Protocol.Types +import Cardano.Api.Protocol import Cardano.Api.Query import Cardano.Api.Tx (getTxBody) import Cardano.Api.TxBody diff --git a/cardano-api/src/Cardano/Api/Protocol/Types.hs b/cardano-api/src/Cardano/Api/Protocol.hs similarity index 99% rename from cardano-api/src/Cardano/Api/Protocol/Types.hs rename to cardano-api/src/Cardano/Api/Protocol.hs index 51217e6670f..fcaa4cc8a18 100644 --- a/cardano-api/src/Cardano/Api/Protocol/Types.hs +++ b/cardano-api/src/Cardano/Api/Protocol.hs @@ -7,7 +7,7 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeFamilies #-} -module Cardano.Api.Protocol.Types +module Cardano.Api.Protocol ( BlockType(..) , Protocol(..) , ProtocolInfoArgs(..) diff --git a/cardano-api/src/Cardano/Api/Shelley.hs b/cardano-api/src/Cardano/Api/Shelley.hs index 9fba06f82d0..676cc239be7 100644 --- a/cardano-api/src/Cardano/Api/Shelley.hs +++ b/cardano-api/src/Cardano/Api/Shelley.hs @@ -235,6 +235,7 @@ import Cardano.Api.Address import Cardano.Api.Block import Cardano.Api.Certificate import Cardano.Api.Eras +import Cardano.Api.Genesis import Cardano.Api.InMode import Cardano.Api.IPC import Cardano.Api.KeysByron @@ -247,7 +248,6 @@ import Cardano.Api.ProtocolParameters import Cardano.Api.Query import Cardano.Api.Script import Cardano.Api.ScriptData -import Cardano.Api.Shelley.Genesis import Cardano.Api.StakePoolMetadata import Cardano.Api.Tx import Cardano.Api.TxBody diff --git a/cardano-api/src/Cardano/Api/TxSubmit/ErrorRender.hs b/cardano-api/src/Cardano/Api/TxSubmit/ErrorRender.hs deleted file mode 100644 index 1afbfd92013..00000000000 --- a/cardano-api/src/Cardano/Api/TxSubmit/ErrorRender.hs +++ /dev/null @@ -1,67 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -module Cardano.Api.TxSubmit.ErrorRender - ( renderApplyMempoolPayloadErr - ) where - --- This file contains error renders. They should have been defined at a lower level, with the error --- type definitions, but for some reason have not been. --- They will be defined here for now and then moved where they are supposed to be once they --- are working. - -import Cardano.Api.Utils (textShow) - -import Cardano.Chain.Byron.API (ApplyMempoolPayloadErr (..)) -import Cardano.Chain.UTxO.UTxO (UTxOError (..)) -import Cardano.Chain.UTxO.Validation (TxValidationError (..), UTxOValidationError (..)) - -import Cardano.Prelude hiding ((%)) - -import Formatting (build, sformat, stext, (%)) - -renderApplyMempoolPayloadErr :: ApplyMempoolPayloadErr -> Text -renderApplyMempoolPayloadErr err = - case err of - MempoolTxErr ve -> renderValidationError ve - MempoolDlgErr {} -> "Delegation error" - MempoolUpdateProposalErr {} -> "Update proposal error" - MempoolUpdateVoteErr {} -> "Update vote error" - - -renderValidationError :: UTxOValidationError -> Text -renderValidationError ve = - case ve of - UTxOValidationTxValidationError tve -> renderTxValidationError tve - UTxOValidationUTxOError ue -> renderUTxOError ue - - -renderTxValidationError :: TxValidationError -> Text -renderTxValidationError tve = - "Tx Validation: " <> - case tve of - TxValidationLovelaceError txt e -> - sformat ("Lovelace error " % stext % ": " % build) txt e - TxValidationFeeTooSmall tx expected actual -> - sformat ("Tx " % build % " fee " % build % "too low, expected " % build) tx actual expected - TxValidationWitnessWrongSignature wit pmid sig -> - sformat ("Bad witness " % build % " for signature " % stext % " protocol magic id " % stext) wit (textShow sig) (textShow pmid) - TxValidationWitnessWrongKey wit addr -> - sformat ("Bad witness " % build % " for address " % build) wit addr - TxValidationMissingInput tx -> - sformat ("Validation cannot find input tx " % build) tx - -- Fields are - TxValidationNetworkMagicMismatch expected actual -> - mconcat [ "Bad network magic ", textShow actual, ", expected ", textShow expected ] - TxValidationTxTooLarge expected actual -> - mconcat [ "Tx is ", textShow actual, " bytes, but expected < ", textShow expected, " bytes" ] - TxValidationUnknownAddressAttributes -> - "Unknown address attributes" - TxValidationUnknownAttributes -> - "Unknown attributes" - -renderUTxOError :: UTxOError -> Text -renderUTxOError ue = - "UTxOError: " <> - case ue of - UTxOMissingInput tx -> sformat ("Lookup of tx " % build % " failed") tx - UTxOOverlappingUnion -> "Union or two overlapping UTxO sets" - diff --git a/cardano-api/src/Cardano/Api/TxSubmit/Types.hs b/cardano-api/src/Cardano/Api/TxSubmit/Types.hs deleted file mode 100644 index 821ad85fa66..00000000000 --- a/cardano-api/src/Cardano/Api/TxSubmit/Types.hs +++ /dev/null @@ -1,65 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -module Cardano.Api.TxSubmit.Types - ( NodeApiEnv (..) - , SocketPath (..) - , TxSubmitStatus (..) - , ApplyMempoolPayloadErr(..) - , renderTxSubmitStatus - ) where - -import Cardano.Binary (DecoderError) -import Cardano.Chain.Byron.API (ApplyMempoolPayloadErr (..)) -import qualified Cardano.Chain.Genesis as Genesis -import qualified Cardano.Chain.UTxO as Utxo - -import Cardano.Prelude hiding ((%)) - -import Data.Aeson (ToJSON (..), Value (..)) -import qualified Data.Aeson as Aeson - -import Formatting (build, sformat, (%)) - -import Cardano.Api.Environment -import Cardano.Api.TxSubmit.ErrorRender - -data NodeApiEnv = NodeApiEnv - { naeConfig :: Genesis.Config - , naeSocket :: SocketPath - } - - -data TxSubmitStatus - = TxSubmitOk Utxo.TxId - | TxSubmitDecodeHex - | TxSubmitEmpty - | TxSubmitDecodeFail DecoderError - | TxSubmitBadTx Text - | TxSubmitFail ApplyMempoolPayloadErr - deriving Eq - -instance ToJSON TxSubmitStatus where - toJSON = convertJson - -convertJson :: TxSubmitStatus -> Value -convertJson st = - Aeson.object - [ ( "status", String statusMsg ) - , ( "message", String (renderTxSubmitStatus st) ) - ] - where - statusMsg :: Text - statusMsg = - case st of - TxSubmitOk{} -> "success" - _other -> "fail" - -renderTxSubmitStatus :: TxSubmitStatus -> Text -renderTxSubmitStatus st = - case st of - TxSubmitOk tx -> sformat ("Tx " % build % " submitted successfully") tx - TxSubmitDecodeHex -> "Provided data was hex encoded and this webapi expects raw binary" - TxSubmitEmpty -> "Provided transaction has zero length" - TxSubmitDecodeFail err -> sformat build err - TxSubmitBadTx tt -> mconcat ["Transactions of type '", tt, "' not supported"] - TxSubmitFail err -> renderApplyMempoolPayloadErr err -