10
10
{-# LANGUAGE TypeApplications #-}
11
11
12
12
{-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-}
13
+ {-# LANGUAGE AllowAmbiguousTypes #-}
13
14
14
15
-- | Fee calculation
15
16
--
@@ -127,7 +128,7 @@ import Cardano.Ledger.Mary.Value (MaryValue)
127
128
-- probably want to consider estimateTransactionFee.
128
129
--
129
130
transactionFee :: forall era .
130
- ( IsShelleyBasedEra era , EraTx ( ShelleyLedgerEra era ))
131
+ IsShelleyBasedEra era
131
132
=> Natural -- ^ The fixed tx fee
132
133
-> Natural -- ^ The tx fee per byte
133
134
-> Tx era
@@ -168,7 +169,7 @@ transactionFee txFeeFixed txFeePerByte tx =
168
169
-- metadata, withdrawals, certs etc)
169
170
--
170
171
estimateTransactionFee :: forall era .
171
- ( IsShelleyBasedEra era , EraTx ( ShelleyLedgerEra era ))
172
+ IsShelleyBasedEra era
172
173
=> NetworkId
173
174
-> Natural -- ^ The fixed tx fee
174
175
-> Natural -- ^ The tx fee per byte
@@ -651,7 +652,7 @@ toLedgerEpochInfo (EraHistory _ interpreter) =
651
652
-- useful for adjusting a transaction to be fully balanced.
652
653
--
653
654
evaluateTransactionBalance :: forall era .
654
- ( IsShelleyBasedEra era , ShelleyEraTxBody ( ShelleyLedgerEra era ))
655
+ IsShelleyBasedEra era
655
656
=> ProtocolParameters
656
657
-> Set PoolId
657
658
-> UTxO era
@@ -663,13 +664,28 @@ evaluateTransactionBalance _ _ _ (ByronTxBody _) =
663
664
664
665
evaluateTransactionBalance pparams poolids utxo
665
666
(ShelleyTxBody era txbody _ _ _ _) =
666
- withLedgerConstraints era evalAdaOnly evalMultiAsset
667
+ withLedgerConstraints
668
+ era
669
+ (getShelleyEraTxBodyConstraint era evalAdaOnly)
670
+ (getShelleyEraTxBodyConstraint era evalMultiAsset)
667
671
where
672
+ getShelleyEraTxBodyConstraint
673
+ :: forall era' a .
674
+ ShelleyBasedEra era'
675
+ -> (ShelleyEraTxBody (ShelleyLedgerEra era' ) => a )
676
+ -> a
677
+ getShelleyEraTxBodyConstraint ShelleyBasedEraShelley x = x
678
+ getShelleyEraTxBodyConstraint ShelleyBasedEraMary x = x
679
+ getShelleyEraTxBodyConstraint ShelleyBasedEraAllegra x = x
680
+ getShelleyEraTxBodyConstraint ShelleyBasedEraAlonzo x = x
681
+ getShelleyEraTxBodyConstraint ShelleyBasedEraBabbage x = x
682
+
668
683
isNewPool :: Ledger. KeyHash Ledger. StakePool Ledger. StandardCrypto -> Bool
669
684
isNewPool kh = StakePoolKeyHash kh `Set.notMember` poolids
670
685
671
686
evalMultiAsset :: forall ledgerera .
672
687
ShelleyLedgerEra era ~ ledgerera
688
+ => ShelleyEraTxBody ledgerera
673
689
=> LedgerEraConstraints ledgerera
674
690
=> LedgerMultiAssetConstraints ledgerera
675
691
=> MultiAssetSupportedInEra era
@@ -684,6 +700,7 @@ evaluateTransactionBalance pparams poolids utxo
684
700
685
701
evalAdaOnly :: forall ledgerera .
686
702
ShelleyLedgerEra era ~ ledgerera
703
+ => ShelleyEraTxBody ledgerera
687
704
=> LedgerEraConstraints ledgerera
688
705
=> LedgerAdaOnlyConstraints ledgerera
689
706
=> OnlyAdaSupportedInEra era
@@ -912,7 +929,7 @@ data BalancedTxBody era
912
929
--
913
930
makeTransactionBodyAutoBalance
914
931
:: forall era mode .
915
- ( IsShelleyBasedEra era , ShelleyEraTxBody ( ShelleyLedgerEra era ))
932
+ IsShelleyBasedEra era
916
933
=> EraInMode era mode
917
934
-> SystemStart
918
935
-> EraHistory mode
0 commit comments