Skip to content

Commit 676a548

Browse files
committed
cardano-rpc | Add UTxO RPC: submitTx method
1 parent 47f8b61 commit 676a548

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed

cardano-rpc/cardano-rpc.cabal

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,22 @@ library
5555
Cardano.Rpc.Client
5656
Cardano.Rpc.Proto.Api.Node
5757
Cardano.Rpc.Proto.Api.UtxoRpc.Query
58+
Cardano.Rpc.Proto.Api.UtxoRpc.Submit
5859
Cardano.Rpc.Server
5960
Cardano.Rpc.Server.Config
6061
Cardano.Rpc.Server.Internal.Env
6162
Cardano.Rpc.Server.Internal.Error
6263
Cardano.Rpc.Server.Internal.Monad
6364
Cardano.Rpc.Server.Internal.UtxoRpc.Query
65+
Cardano.Rpc.Server.Internal.UtxoRpc.Submit
6466
Proto.Cardano.Rpc.Node
6567
Proto.Cardano.Rpc.Node_Fields
6668
Proto.Utxorpc.V1alpha.Cardano.Cardano
6769
Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields
6870
Proto.Utxorpc.V1alpha.Query.Query
6971
Proto.Utxorpc.V1alpha.Query.Query_Fields
72+
Proto.Utxorpc.V1alpha.Submit.Submit
73+
Proto.Utxorpc.V1alpha.Submit.Submit_Fields
7074

7175
other-modules:
7276
Cardano.Rpc.Server.Internal.Orphans
@@ -80,6 +84,8 @@ library
8084
Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields
8185
Proto.Utxorpc.V1alpha.Query.Query
8286
Proto.Utxorpc.V1alpha.Query.Query_Fields
87+
Proto.Utxorpc.V1alpha.Submit.Submit
88+
Proto.Utxorpc.V1alpha.Submit.Submit_Fields
8389

8490
build-depends:
8591
base,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{-# LANGUAGE TypeFamilies #-}
2+
{-# OPTIONS_GHC -Wno-orphans #-}
3+
4+
module Cardano.Rpc.Proto.Api.UtxoRpc.Submit
5+
( module Proto.Utxorpc.V1alpha.Submit.Submit
6+
, module Proto.Utxorpc.V1alpha.Submit.Submit_Fields
7+
)
8+
where
9+
10+
import Network.GRPC.Common
11+
import Network.GRPC.Common.Protobuf
12+
13+
import Proto.Utxorpc.V1alpha.Submit.Submit
14+
import Proto.Utxorpc.V1alpha.Submit.Submit_Fields
15+
16+
type instance RequestMetadata (Protobuf SubmitService meth) = NoMetadata
17+
18+
type instance ResponseInitialMetadata (Protobuf SubmitService meth) = NoMetadata
19+
20+
type instance ResponseTrailingMetadata (Protobuf SubmitService meth) = NoMetadata
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{-# LANGUAGE ConstraintKinds #-}
2+
{-# LANGUAGE DataKinds #-}
3+
{-# LANGUAGE DerivingVia #-}
4+
{-# LANGUAGE FlexibleContexts #-}
5+
{-# LANGUAGE GADTs #-}
6+
{-# LANGUAGE OverloadedLabels #-}
7+
{-# LANGUAGE QuantifiedConstraints #-}
8+
{-# LANGUAGE RankNTypes #-}
9+
{-# LANGUAGE ScopedTypeVariables #-}
10+
11+
module Cardano.Rpc.Server.Internal.UtxoRpc.Submit
12+
( submitTxMethod
13+
)
14+
where
15+
16+
import Cardano.Api
17+
import Cardano.Api.Ledger qualified as L
18+
import Cardano.Rpc.Proto.Api.UtxoRpc.Submit qualified as UtxoRpc
19+
import Cardano.Rpc.Server.Internal.Error
20+
import Cardano.Rpc.Server.Internal.Monad
21+
import Cardano.Rpc.Server.Internal.Orphans ()
22+
23+
import Cardano.Ledger.Api qualified as L
24+
import Cardano.Ledger.BaseTypes (WithOrigin (..))
25+
import Cardano.Ledger.Binary.Version qualified as L
26+
import Cardano.Ledger.Conway.Core qualified as L
27+
import Cardano.Ledger.Conway.PParams qualified as L
28+
import Cardano.Ledger.Plutus qualified as L
29+
30+
import RIO hiding (toList)
31+
32+
import Data.ByteString.Short qualified as SBS
33+
import Data.Map.Strict qualified as M
34+
import Data.ProtoLens (defMessage)
35+
import GHC.IsList (fromList, toList)
36+
import Network.GRPC.Spec
37+
38+
submitTxMethod
39+
:: MonadRpc e m
40+
=> Proto (UtxoRpc.SubmitTxRequest)
41+
-> m (Proto (UtxoRpc.SubmitTxResponse))
42+
submitTxMethod req = pure $ defMessage

0 commit comments

Comments
 (0)