Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit 088a005

Browse files
committed
[CDEC-505] Move txp types from core to chain
1 parent 057abe9 commit 088a005

File tree

174 files changed

+1122
-810
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+1122
-810
lines changed

auxx/src/Command/Proc.hs

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import System.Wlog (CanLog, HasLoggerName, logError, logInfo,
1616
logWarning)
1717
import qualified Text.JSON.Canonical as CanonicalJSON
1818

19-
import Pos.Chain.Txp (TxpConfiguration)
19+
import Pos.Chain.Txp (TxOut (..), TxpConfiguration)
2020
import Pos.Chain.Update (BlockVersionModifier (..))
2121
import Pos.Client.KeyStorage (addSecretKey, getSecretKeysPlain)
2222
import Pos.Client.Txp.Balances (getBalance)
@@ -26,7 +26,6 @@ import Pos.Core.Common (AddrAttributes (..), AddrSpendingData (..),
2626
makeAddress)
2727
import Pos.Core.Configuration (genesisSecretKeys)
2828
import Pos.Core.Delegation (HeavyDlgIndex (..))
29-
import Pos.Core.Txp (TxOut (..))
3029
import Pos.Core.Update (SoftwareVersion (..))
3130
import Pos.Crypto (ProtocolMagic, PublicKey, emptyPassphrase,
3231
encToPublic, fullPublicKeyF, hashHexF, noPassEncrypt,

auxx/src/Command/Rollback.hs

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ import Formatting (build, int, sformat, string, (%))
1414
import System.Wlog (logInfo)
1515

1616
import Pos.Chain.Block (Blund, mainBlockTxPayload)
17-
import Pos.Chain.Txp (flattenTxPayload)
17+
import Pos.Chain.Txp (TxAux, flattenTxPayload)
1818
import Pos.Core (difficultyL, epochIndexL)
1919
import Pos.Core.Chrono (NewestFirst, _NewestFirst)
20-
import Pos.Core.Txp (TxAux)
2120
import Pos.Crypto (ProtocolMagic)
2221
import Pos.DB.Block (BypassSecurityCheck (..),
2322
ShouldCallBListener (..), rollbackBlocksUnsafe)

auxx/src/Command/Tx.hs

+2-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ import System.IO (BufferMode (LineBuffering), hClose, hSetBuffering)
3434
import System.Wlog (logError, logInfo)
3535
import UnliftIO (MonadUnliftIO)
3636

37-
import Pos.Chain.Txp (topsortTxAuxes)
37+
import Pos.Chain.Txp (TxAux (..), TxIn (TxInUtxo), TxOut (..),
38+
TxOutAux (..), topsortTxAuxes, txaF)
3839
import Pos.Client.KeyStorage (getSecretKeysPlain)
3940
import Pos.Client.Txp.Balances (getOwnUtxoForPk)
4041
import Pos.Client.Txp.Network (prepareMTx, submitTxRaw)
@@ -45,8 +46,6 @@ import Pos.Core.Conc (concurrently, currentTime, delay,
4546
forConcurrently, modifySharedAtomic, newSharedAtomic)
4647
import Pos.Core.Configuration (genesisBlockVersionData,
4748
genesisSecretKeys)
48-
import Pos.Core.Txp (TxAux (..), TxIn (TxInUtxo), TxOut (..),
49-
TxOutAux (..), txaF)
5049
import Pos.Core.Update (BlockVersionData (..))
5150
import Pos.Crypto (EncryptedSecretKey, ProtocolMagic, emptyPassphrase,
5251
encToPublic, fakeSigner, hash, safeToPublic, toPublic,

auxx/src/Command/TyProjection.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ import Data.Time.Units (Microsecond, TimeUnit, convertUnit,
3636
fromMicroseconds)
3737
import Serokell.Data.Memory.Units (Byte, fromBytes)
3838

39+
import Pos.Chain.Txp (TxOut (..))
3940
import Pos.Chain.Update (ApplicationName (..),
4041
BlockVersionModifier (..), SystemTag (..))
4142
import Pos.Core (AddrStakeDistribution (..), Address, Coin,
4243
CoinPortion, EpochIndex, ScriptVersion, StakeholderId,
4344
mkCoin, unsafeCoinPortionFromDouble, unsafeGetCoin)
44-
import Pos.Core.Txp (TxOut (..))
4545
import Pos.Core.Update (BlockVersion, SoftwareVersion)
4646
import Pos.Crypto (AHash (..), Hash, PublicKey)
4747

auxx/src/Lang/Value.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ import Universum
3636
import Control.Lens (makePrisms)
3737
import Data.Scientific (Scientific)
3838

39+
import Pos.Chain.Txp (TxOut)
3940
import Pos.Chain.Update (BlockVersionData, BlockVersionModifier,
4041
SystemTag)
4142
import Pos.Core (AddrStakeDistribution, Address, CoinPortion,
4243
StakeholderId)
43-
import Pos.Core.Txp (TxOut)
4444
import Pos.Core.Update (BlockVersion, SoftwareVersion)
4545
import Pos.Crypto (AHash, PublicKey)
4646

chain/bench/block-bench.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import Pos.Chain.Block (Body, BodyProof, ConsensusData, ExtraBodyData,
1515
MainBlockchain, _gbBody, _gbExtra, _gbHeader,
1616
_gbhBodyProof, _gbhConsensus, _gbhExtra, _mbDlgPayload,
1717
_mbSscPayload, _mbTxPayload, _mbUpdatePayload)
18+
import Pos.Chain.Txp (TxPayload (..))
1819
import Pos.Core.Delegation (DlgPayload)
1920
import Pos.Core.ProtocolConstants (ProtocolConstants (..))
2021
import Pos.Core.Ssc (SscPayload)
21-
import Pos.Core.Txp (TxPayload (..))
2222
import Pos.Core.Update (UpdatePayload)
2323
import Pos.Crypto (ProtocolMagic (..))
2424

chain/cardano-sl-chain.cabal

+20-22
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ library
7070
Pos.Chain.Txp.Toil.Utxo
7171
Pos.Chain.Txp.Toil.Utxo.Functions
7272
Pos.Chain.Txp.Toil.Utxo.Util
73+
Pos.Chain.Txp.Tx
74+
Pos.Chain.Txp.TxAux
75+
Pos.Chain.Txp.TxMsg
76+
Pos.Chain.Txp.TxOutAux
77+
Pos.Chain.Txp.TxPayload
78+
Pos.Chain.Txp.TxProof
79+
Pos.Chain.Txp.TxWitness
80+
Pos.Chain.Txp.Undo
7381

7482
Pos.Chain.Lrc.Fts
7583
Pos.Chain.Lrc.Types
@@ -207,14 +215,19 @@ test-suite test
207215
Test.Pos.Chain.Ssc.Gen
208216
Test.Pos.Chain.Ssc.Json
209217
Test.Pos.Chain.Ssc.Arbitrary
218+
Test.Pos.Chain.Txp.Arbitrary
219+
Test.Pos.Chain.Txp.Arbitrary.Unsafe
220+
Test.Pos.Chain.Txp.Bi
210221
Test.Pos.Chain.Txp.CoreSpec
211222
Test.Pos.Chain.Txp.Gen
212223
Test.Pos.Chain.Txp.Json
224+
Test.Pos.Chain.Txp.Example
213225
Test.Pos.Chain.Txp.Toil.UtxoSpec
214226
Test.Pos.Chain.Update.Arbitrary
215227
Test.Pos.Chain.Update.Arbitrary.Core
216228

217229
build-depends: base
230+
, base16-bytestring
218231
, bytestring
219232
, cardano-crypto
220233
, cardano-sl-binary
@@ -227,6 +240,7 @@ test-suite test
227240
, cardano-sl-util
228241
, cardano-sl-util-test
229242
, containers
243+
, data-default
230244
, fmt
231245
, formatting
232246
, generic-arbitrary
@@ -242,29 +256,8 @@ test-suite test
242256
, unordered-containers
243257
, vector
244258
default-language: Haskell2010
245-
default-extensions: DeriveDataTypeable
246-
DeriveGeneric
247-
GeneralizedNewtypeDeriving
248-
StandaloneDeriving
249-
FlexibleContexts
250-
FlexibleInstances
251-
MultiParamTypeClasses
252-
FunctionalDependencies
253-
DefaultSignatures
254-
NoImplicitPrelude
259+
default-extensions: NoImplicitPrelude
255260
OverloadedStrings
256-
RecordWildCards
257-
TypeApplications
258-
TupleSections
259-
ViewPatterns
260-
LambdaCase
261-
MultiWayIf
262-
ConstraintKinds
263-
UndecidableInstances
264-
BangPatterns
265-
TemplateHaskell
266-
ScopedTypeVariables
267-
MonadFailDesugaring
268261

269262
benchmark block-bench
270263
main-is: block-bench.hs
@@ -277,6 +270,7 @@ benchmark block-bench
277270
Test.Pos.Chain.Block.Arbitrary.Generate
278271
Test.Pos.Chain.Delegation.Arbitrary
279272
Test.Pos.Chain.Ssc.Arbitrary
273+
Test.Pos.Chain.Txp.Arbitrary
280274
Test.Pos.Chain.Update.Arbitrary
281275
Test.Pos.Chain.Update.Arbitrary.Core
282276

@@ -292,10 +286,14 @@ benchmark block-bench
292286
, cardano-sl-core-test
293287
, cardano-sl-crypto-test
294288
, cardano-sl-util-test
289+
, data-default
295290
, deepseq
296291
, formatting
297292
, generic-arbitrary
298293
, random
299294
, text
300295
, universum
301296
, unordered-containers
297+
, vector
298+
default-extensions: NoImplicitPrelude
299+
OverloadedStrings

chain/src/Pos/Chain/Block/BHelpers.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ import Pos.Chain.Block.Union (Block, BlockHeader (..),
3030
MainConsensusData (..), MainToSign (..),
3131
mainBlockEBDataProof)
3232
import Pos.Chain.Ssc (verifySscPayload)
33+
import Pos.Chain.Txp (checkTxPayload)
3334
import Pos.Core.Configuration (HasProtocolConstants)
3435
import Pos.Core.Delegation (LightDlgIndices (..), checkDlgPayload)
3536
import Pos.Core.Slotting (SlotId (..))
3637
import Pos.Core.Ssc (checkSscPayload)
37-
import Pos.Core.Txp (checkTxPayload)
3838
import Pos.Core.Update (checkSoftwareVersion, checkUpdatePayload)
3939
import Pos.Crypto (ProtocolMagic, ProxySignature (..), SignTag (..),
4040
checkSig, hash, isSelfSignedPsk, proxyVerify)

chain/src/Pos/Chain/Block/JsonLog.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import Pos.Chain.Block.Blockchain (gbHeader, gbhPrevBlock)
1111
import Pos.Chain.Block.Genesis (genBlockEpoch)
1212
import Pos.Chain.Block.Union (Block, HeaderHash, headerHash,
1313
headerHashF, mainBlockSlot, mainBlockTxPayload)
14+
import Pos.Chain.Txp (txpTxs)
1415
import Pos.Core (HasConfiguration, SlotId (..), getEpochIndex,
1516
getSlotIndex, mkLocalSlotIndex)
1617
import Pos.Core.JsonLog.LogEvents (JLBlock (..), JLEvent (..))
17-
import Pos.Core.Txp (txpTxs)
1818
import Pos.Crypto (hash, hashHexF)
1919

2020
-- | Return event of created block.

chain/src/Pos/Chain/Block/Main/Types.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import qualified Formatting.Buildable as Buildable
2020

2121
import Pos.Binary.Class (Bi (..), Cons (..), Field (..),
2222
deriveSimpleBi, encodeListLen, enforceSize)
23+
import Pos.Chain.Txp.TxPayload (TxPayload)
24+
import Pos.Chain.Txp.TxProof (TxProof)
2325
import Pos.Core.Attributes (Attributes, areAttributesKnown)
2426
import Pos.Core.Delegation (DlgPayload)
2527
import Pos.Core.Ssc (SscPayload, SscProof)
26-
import Pos.Core.Txp (TxPayload, TxProof)
2728
import Pos.Core.Update (BlockVersion, SoftwareVersion, UpdatePayload,
2829
UpdateProof)
2930
import Pos.Crypto (Hash)

chain/src/Pos/Chain/Block/Types.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import Pos.Binary.Class (Cons (..), Field (..), deriveSimpleBi)
2020
import Pos.Chain.Block.Slog.Types (SlogUndo (..))
2121
import Pos.Chain.Block.Union (Block, BlockHeader, HasHeaderHash (..))
2222
import Pos.Chain.Delegation (DlgUndo)
23+
import Pos.Chain.Txp (TxpUndo)
2324
import Pos.Chain.Update (USUndo)
2425
import Pos.Core (HasConfiguration, HasDifficulty (..))
25-
import Pos.Core.Txp (TxpUndo)
2626
import Pos.Util.Util (HasLens (..))
2727

2828
-- | Structure for undo block during rollback

chain/src/Pos/Chain/Block/Union/Types.hs

+4-2
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,15 @@ import Pos.Chain.Block.Genesis.Types (GenesisBody (..),
127127
import Pos.Chain.Block.Main.Types (BlockBodyAttributes,
128128
BlockHeaderAttributes, MainBody (..), MainExtraBodyData,
129129
MainExtraHeaderData, MainProof (..))
130+
import Pos.Chain.Txp.Tx (Tx)
131+
import Pos.Chain.Txp.TxPayload (TxPayload, txpTxs, txpWitnesses)
132+
import Pos.Chain.Txp.TxProof (mkTxProof)
133+
import Pos.Chain.Txp.TxWitness (TxWitness)
130134
import Pos.Core.Common (ChainDifficulty, HasDifficulty (..))
131135
import Pos.Core.Delegation (DlgPayload, ProxySigHeavy, ProxySigLight)
132136
import Pos.Core.Slotting (EpochOrSlot (..), HasEpochIndex (..),
133137
HasEpochOrSlot (..), SlotId (..), slotIdF)
134138
import Pos.Core.Ssc (SscPayload, mkSscProof)
135-
import Pos.Core.Txp (Tx, TxPayload, TxWitness, mkTxProof, txpTxs,
136-
txpWitnesses)
137139
import Pos.Core.Update (BlockVersion, HasBlockVersion (..),
138140
HasSoftwareVersion (..), SoftwareVersion, UpdatePayload,
139141
mkUpdateProof)

chain/src/Pos/Chain/Script.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ import System.IO.Unsafe (unsafePerformIO)
3838
import qualified Utils.Names as PL
3939

4040
import qualified Pos.Binary.Class as Bi
41+
import Pos.Chain.Txp.TxWitness (TxSigData (..))
4142
import Pos.Core.Binary ()
4243
import Pos.Core.Common (Script (..), ScriptVersion)
4344
import Pos.Core.Script ()
44-
import Pos.Core.Txp (TxSigData (..))
4545

4646
{- NOTE
4747

chain/src/Pos/Chain/Script/Examples.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ import Serokell.Util.Base16 (base16F)
3636
import Universum
3737

3838
import Pos.Chain.Script (Script, parseRedeemer, parseValidator)
39+
import Pos.Chain.Txp (TxSigData)
3940
import Pos.Core (StakeholderId)
40-
import Pos.Core.Txp (TxSigData)
4141
import Pos.Crypto (SafeSigner, SignTag (SignTx), deterministicKeyGen,
4242
fullPublicKeyHexF, fullSignatureHexF, hashHexF, safeSign,
4343
safeToPublic, signRaw, signTag)

chain/src/Pos/Chain/Txp.hs

+15-14
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
-- | Txp system reexports.
22

33
module Pos.Chain.Txp
4-
( module Pos.Core.Txp
5-
, module Pos.Chain.Txp.Base
6-
, module Pos.Chain.Txp.Configuration
7-
, module Pos.Chain.Txp.Error
8-
, module Pos.Chain.Txp.Toil
9-
, module Pos.Chain.Txp.Topsort
10-
, module Pos.Chain.Txp.GenesisUtxo
4+
( module X
115
) where
126

13-
import Pos.Chain.Txp.Base
14-
import Pos.Chain.Txp.Configuration
15-
import Pos.Chain.Txp.Error
16-
import Pos.Chain.Txp.GenesisUtxo
17-
import Pos.Chain.Txp.Toil
18-
import Pos.Chain.Txp.Topsort
19-
import Pos.Core.Txp
7+
import Pos.Chain.Txp.Base as X
8+
import Pos.Chain.Txp.Configuration as X
9+
import Pos.Chain.Txp.Error as X
10+
import Pos.Chain.Txp.GenesisUtxo as X
11+
import Pos.Chain.Txp.Toil as X
12+
import Pos.Chain.Txp.Topsort as X
13+
import Pos.Chain.Txp.Tx as X
14+
import Pos.Chain.Txp.TxAux as X
15+
import Pos.Chain.Txp.TxMsg as X
16+
import Pos.Chain.Txp.TxOutAux as X
17+
import Pos.Chain.Txp.TxPayload as X
18+
import Pos.Chain.Txp.TxProof as X
19+
import Pos.Chain.Txp.TxWitness as X
20+
import Pos.Chain.Txp.Undo as X

chain/src/Pos/Chain/Txp/Base.hs

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@ import qualified Data.HashSet as HS
1717
import Data.List (zipWith)
1818
import qualified Data.Map.Strict as M
1919

20+
import Pos.Chain.Txp.Tx (TxOut (..))
21+
import Pos.Chain.Txp.TxAux (TxAux (..))
22+
import Pos.Chain.Txp.TxOutAux (TxOutAux (..))
23+
import Pos.Chain.Txp.TxPayload (TxPayload (..), mkTxPayload)
2024
import Pos.Core (AddrStakeDistribution (..), Address (..), Coin,
2125
CoinPortion, StakeholderId, StakesList,
2226
aaStakeDistribution, addrAttributesUnwrapped,
2327
applyCoinPortionDown, coinToInteger, mkCoin, sumCoins,
2428
unsafeAddCoin, unsafeGetCoin, unsafeIntegerToCoin)
2529
import Pos.Core.Genesis (GenesisWStakeholders (..))
26-
import Pos.Core.Txp (TxAux (..), TxOut (..), TxOutAux (..),
27-
TxPayload (..), mkTxPayload)
2830
import Pos.Crypto (hash)
2931
import Pos.Crypto.Random (deterministic, randomNumber)
3032

chain/src/Pos/Chain/Txp/GenesisUtxo.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ import qualified Data.HashMap.Strict as HM
1313
import qualified Data.Map.Strict as Map
1414

1515
import Pos.Chain.Txp.Toil (GenesisUtxo (..), utxoToStakes)
16+
import Pos.Chain.Txp.Tx (TxIn (..), TxOut (..))
17+
import Pos.Chain.Txp.TxOutAux (TxOutAux (..))
1618
import Pos.Core (Address, Coin, HasGenesisData, StakesMap,
1719
genesisData, makeRedeemAddress)
1820
import Pos.Core.Genesis (GenesisData (..), getGenesisAvvmBalances,
1921
getGenesisNonAvvmBalances)
20-
import Pos.Core.Txp (TxIn (..), TxOut (..), TxOutAux (..))
2122
import Pos.Crypto (unsafeHash)
2223

2324

chain/src/Pos/Chain/Txp/Toil/Failure.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import Serokell.Util (listJson)
2020
import Pos.Chain.Block.Union (HeaderHash)
2121
import Pos.Chain.Script (PlutusError)
2222
import Pos.Chain.Txp.Toil.Types (TxFee)
23+
import Pos.Chain.Txp.Tx (TxIn, TxOut (..))
24+
import Pos.Chain.Txp.TxWitness (TxInWitness)
2325
import Pos.Core (Address, ScriptVersion, TxFeePolicy,
2426
addressDetailedF, addressF)
2527
import Pos.Core.Attributes (UnparsedFields)
26-
import Pos.Core.Txp (TxIn, TxInWitness, TxOut (..))
2728
import Pos.Util (DisallowException)
2829

2930
----------------------------------------------------------------------------

chain/src/Pos/Chain/Txp/Toil/Logic.hs

+4-2
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,16 @@ import Pos.Chain.Txp.Toil.Types (TxFee (..))
3131
import Pos.Chain.Txp.Toil.Utxo (VerifyTxUtxoRes (..))
3232
import qualified Pos.Chain.Txp.Toil.Utxo as Utxo
3333
import Pos.Chain.Txp.Topsort (topsortTxs)
34+
import Pos.Chain.Txp.Tx (Tx (..), TxId, TxOut (..), txOutAddress)
35+
import Pos.Chain.Txp.TxAux (TxAux (..), checkTxAux)
36+
import Pos.Chain.Txp.TxOutAux (toaOut)
37+
import Pos.Chain.Txp.Undo (TxUndo, TxpUndo)
3438
import Pos.Core (AddrAttributes (..), AddrStakeDistribution (..),
3539
Address, EpochIndex, HasGenesisData,
3640
addrAttributesUnwrapped, isRedeemAddress)
3741
import Pos.Core.Common (integerToCoin)
3842
import qualified Pos.Core.Common as Fee (TxFeePolicy (..),
3943
calculateTxSizeLinear)
40-
import Pos.Core.Txp (Tx (..), TxAux (..), TxId, TxOut (..), TxUndo,
41-
TxpUndo, checkTxAux, toaOut, txOutAddress)
4244
import Pos.Core.Update (BlockVersionData (..), isBootstrapEraBVD)
4345
import Pos.Crypto (ProtocolMagic, WithHash (..), hash)
4446
import Pos.Util (liftEither)

chain/src/Pos/Chain/Txp/Toil/Monad.hs

+4-1
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ import System.Wlog (NamedPureLogger, WithLogger, launchNamedPureLog)
6262
import Pos.Chain.Txp.Toil.Types (MemPool, StakesView, UndoMap,
6363
UtxoLookup, UtxoModifier, mpLocalTxs, mpSize, svStakes,
6464
svTotal)
65+
import Pos.Chain.Txp.Tx (TxId, TxIn)
66+
import Pos.Chain.Txp.TxAux (TxAux)
67+
import Pos.Chain.Txp.TxOutAux (TxOutAux)
68+
import Pos.Chain.Txp.Undo (TxUndo)
6569
import Pos.Core.Common (Coin, StakeholderId)
66-
import Pos.Core.Txp (TxAux, TxId, TxIn, TxOutAux, TxUndo)
6770
import Pos.Util (type (~>))
6871
import qualified Pos.Util.Modifier as MM
6972

0 commit comments

Comments
 (0)