Skip to content

Commit

Permalink
less
Browse files Browse the repository at this point in the history
  • Loading branch information
rvl committed May 11, 2021
1 parent 6430184 commit c8e5d8e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 32 deletions.
9 changes: 4 additions & 5 deletions lib/core/src/Cardano/Wallet/Api.hs
Expand Up @@ -163,10 +163,10 @@ import Cardano.Wallet.Api.Types
, ApiPostRandomAddressData
, ApiPutAddressesDataT
, ApiSelectCoinsDataT
, ApiSerialisedTransaction
, ApiSharedWallet
, ApiSharedWalletPatchData
, ApiSharedWalletPostData
, ApiSignedTransactionT
, ApiT
, ApiTransactionT
, ApiTxId
Expand All @@ -181,7 +181,6 @@ import Cardano.Wallet.Api.Types
, ByronWalletPutPassphraseData
, Iso8601Time
, MinWithdrawal
, PostExternalTransactionData
, PostSignTransactionDataT
, PostTransactionFeeOldDataT
, PostTransactionOldDataT
Expand Down Expand Up @@ -469,7 +468,7 @@ type SignTransaction n = "wallets"
:> "transactions"
:> "sign"
:> ReqBody '[JSON] (PostSignTransactionDataT n)
:> PostAccepted '[JSON, OctetStream] (ApiSignedTransactionT n)
:> PostAccepted '[JSON, OctetStream] ApiSerialisedTransaction

-- | https://input-output-hk.github.io/cardano-wallet/api/#operation/postTransaction
type CreateTransactionOld n = "wallets"
Expand Down Expand Up @@ -764,7 +763,7 @@ type SignByronTransaction n = "byron-wallets"
:> "transactions"
:> "sign"
:> ReqBody '[JSON] (PostSignTransactionDataT n)
:> PostAccepted '[JSON, OctetStream] (ApiSignedTransactionT n)
:> PostAccepted '[JSON, OctetStream] ApiSerialisedTransaction

-- | https://input-output-hk.github.io/cardano-wallet/api/#operation/postByronTransaction
type CreateByronTransactionOld n = "byron-wallets"
Expand Down Expand Up @@ -918,7 +917,7 @@ type Proxy_ =
-- | https://input-output-hk.github.io/cardano-wallet/api/#operation/postExternalTransaction
type PostExternalTransaction = "proxy"
:> "transactions"
:> ReqBody '[OctetStream] PostExternalTransactionData
:> ReqBody '[OctetStream] ApiSerialisedTransaction
:> PostAccepted '[JSON] ApiTxId

{-------------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions lib/core/src/Cardano/Wallet/Api/Client.hs
Expand Up @@ -71,7 +71,7 @@ import Cardano.Wallet.Api.Types
, ApiPostRandomAddressData
, ApiPutAddressesDataT
, ApiSelectCoinsDataT
, ApiSignedTransactionT
, ApiSignedTransaction
, ApiT (..)
, ApiTransactionT
, ApiTxId (..)
Expand Down Expand Up @@ -155,7 +155,7 @@ data TransactionClient = TransactionClient
, postSignTransaction
:: ApiT WalletId
-> PostSignTransactionDataT Aeson.Value
-> ClientM (ApiSignedTransactionT Aeson.Value)
-> ClientM ApiSignedTransaction
, postTransaction
:: ApiT WalletId
-> PostTransactionOldDataT Aeson.Value
Expand Down
42 changes: 17 additions & 25 deletions lib/core/src/Cardano/Wallet/Api/Types.hs
Expand Up @@ -85,10 +85,9 @@ module Cardano.Wallet.Api.Types
, SettingsPutData (..)
, WalletPutPassphraseData (..)
, PostSignTransactionData (..)
, ApiSignedTransaction (..)
, PostTransactionOldData (..)
, PostTransactionFeeOldData (..)
, PostExternalTransactionData (..)
, ApiSerialisedTransaction (..)
, ApiTransaction (..)
, ApiWithdrawalPostData (..)
, ApiMaintenanceAction (..)
Expand Down Expand Up @@ -173,7 +172,6 @@ module Cardano.Wallet.Api.Types
, ApiCoinSelectionT
, ApiSelectCoinsDataT
, ApiTransactionT
, ApiSignedTransactionT
, PostSignTransactionDataT
, PostTransactionOldDataT
, PostTransactionFeeOldDataT
Expand Down Expand Up @@ -784,7 +782,7 @@ data ByronWalletPutPassphraseData = ByronWalletPutPassphraseData

-- TODO: NetworkDiscriminant may be unnecessary
data PostSignTransactionData (n :: NetworkDiscriminant) = PostSignTransactionData
{ txBody :: !ByteString -- TODO: ADP-902 or tx
{ txBody :: !ApiSerialisedTransaction -- TODO: ADP-902 or tx
, passphrase :: !(ApiT (Passphrase "lenient"))
} deriving (Eq, Generic, Show)

Expand All @@ -803,7 +801,7 @@ data PostTransactionFeeOldData (n :: NetworkDiscriminant) = PostTransactionFeeOl
, timeToLive :: !(Maybe (Quantity "second" NominalDiffTime))
} deriving (Eq, Generic, Show)

newtype PostExternalTransactionData = PostExternalTransactionData
newtype ApiSerialisedTransaction = ApiSerialisedTransaction
{ payload :: ByteString
} deriving (Eq, Generic, Show)

Expand Down Expand Up @@ -892,11 +890,6 @@ data ApiTransaction (n :: NetworkDiscriminant) = ApiTransaction
} deriving (Eq, Generic, Show)
deriving anyclass NFData

newtype ApiSignedTransaction (n :: NetworkDiscriminant) = ApiSignedTransaction
{ signedTx :: ByteString
} deriving (Eq, Generic, Show)
deriving anyclass NFData

newtype ApiTxMetadata = ApiTxMetadata
{ getApiTxMetadata :: Maybe (ApiT TxMetadata)
} deriving (Eq, Generic, Show)
Expand Down Expand Up @@ -2087,6 +2080,11 @@ instance ToJSON (ApiT BoundType) where
instance FromJSON (ApiT BoundType) where
parseJSON = fmap ApiT . genericParseJSON defaultSumTypeOptions

instance DecodeAddress t => FromJSON (PostSignTransactionData t) where
parseJSON = genericParseJSON defaultRecordTypeOptions
instance EncodeAddress t => ToJSON (PostSignTransactionData t) where
toJSON = genericToJSON defaultRecordTypeOptions

instance DecodeAddress t => FromJSON (PostTransactionOldData t) where
parseJSON = genericParseJSON defaultRecordTypeOptions
instance EncodeAddress t => ToJSON (PostTransactionOldData t) where
Expand Down Expand Up @@ -2507,12 +2505,11 @@ instance FromText (AddressAmount Text) where
[l, r] -> AddressAmount r <$> fromText l <*> pure mempty
_ -> err

instance FromText PostExternalTransactionData where
fromText text = case convertFromBase Base16 (T.encodeUtf8 text) of
Left _ ->
Left $ TextDecodingError "Parse error. Expecting hex-encoded format."
Right load ->
pure $ PostExternalTransactionData load
instance FromText ApiSerialisedTransaction where
fromText = bimap (const errMsg) ApiSerialisedTransaction
. convertFromBase Base16 . T.encodeUtf8
where
errMsg = TextDecodingError "Parse error. Expecting hex-encoded format."

instance FromText AnyAddress where
fromText txt = case detectEncoding (T.unpack txt) of
Expand Down Expand Up @@ -2554,12 +2551,11 @@ instance FromText a => FromHttpApiData (ApiT a) where
instance ToText a => ToHttpApiData (ApiT a) where
toUrlPiece = toText . getApiT

instance MimeUnrender OctetStream PostExternalTransactionData where
mimeUnrender _ =
pure . PostExternalTransactionData . BL.toStrict
instance MimeUnrender OctetStream ApiSerialisedTransaction where
mimeUnrender _ = pure . ApiSerialisedTransaction . BL.toStrict

instance MimeRender OctetStream PostExternalTransactionData where
mimeRender _ (PostExternalTransactionData val) = BL.fromStrict val
instance MimeRender OctetStream ApiSerialisedTransaction where
mimeRender _ (ApiSerialisedTransaction val) = BL.fromStrict val

instance FromHttpApiData ApiTxId where
parseUrlPiece txt = case fromText txt of
Expand Down Expand Up @@ -2694,7 +2690,6 @@ type family ApiAddressIdT (n :: k) :: Type
type family ApiCoinSelectionT (n :: k) :: Type
type family ApiSelectCoinsDataT (n :: k) :: Type
type family ApiTransactionT (n :: k) :: Type
type family ApiSignedTransactionT (n :: k) :: Type
type family PostSignTransactionDataT (n :: k) :: Type
type family PostTransactionOldDataT (n :: k) :: Type
type family PostTransactionFeeOldDataT (n :: k) :: Type
Expand All @@ -2720,9 +2715,6 @@ type instance ApiSelectCoinsDataT (n :: NetworkDiscriminant) =
type instance ApiTransactionT (n :: NetworkDiscriminant) =
ApiTransaction n

type instance ApiSignedTransactionT (n :: NetworkDiscriminant) =
ApiSignedTransaction n

type instance PostSignTransactionDataT (n :: NetworkDiscriminant) =
PostSignTransactionData n

Expand Down

0 comments on commit c8e5d8e

Please sign in to comment.