Skip to content

Commit eccb3a0

Browse files
committed
Add golden test for querySetSnapshotStakePoolDistr.
Also export exampleVrfVerKeyHash from Shelley.Examples.
1 parent cac7ad7 commit eccb3a0

8 files changed

Lines changed: 124 additions & 6 deletions

File tree

eras/shelley/impl/CHANGELOG.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,11 @@
4949
- `ChainPredicateFailure`
5050
* Add protocol version validation to `createInitialState`:
5151
- Validate that current protocol version is within the era's bounds
52-
53-
### `cddl`
54-
5552
* Remove `withAntiGen` re-export, since it's deprecated
5653

5754
### `testlib`
5855

56+
* Export `exampleVrfVerKeyHash` from `Test.Cardano.Ledger.Shelley.Examples`
5957
* Add `HuddleRule "int32" ShelleyEra` instance
6058
* Add `withIssuerAndTxsInBlock_` and `withIssuerAndTxsInBlock`
6159
* Add a `Maybe (KeyHash BlockIssuer)` parameter to `withTxsInBlockEither`

eras/shelley/impl/testlib/Test/Cardano/Ledger/Shelley/Examples.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ module Test.Cardano.Ledger.Shelley.Examples (
2828
examplePoolDistr,
2929
exampleStakePoolParams,
3030
exampleTxIns,
31+
exampleVrfVerKeyHash,
3132
exampleProposedPPUpdates,
3233
exampleByronAddress,
3334
exampleShelleyScript,
Binary file not shown.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
[
2+
{
3+
"pdTotalActiveStake": 1,
4+
"unPoolDistr": {}
5+
},
6+
{
7+
"pdTotalActiveStake": 1,
8+
"unPoolDistr": {
9+
"e0a714319812c3f773ba04ec5d6b3ffcd5aad85006805b047b082541": {
10+
"individualPoolStake": {
11+
"denominator": 1,
12+
"numerator": 1
13+
},
14+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
15+
"individualTotalPoolStake": 1
16+
}
17+
}
18+
},
19+
{
20+
"pdTotalActiveStake": 6000000000,
21+
"unPoolDistr": {
22+
"a646474b8f5431261506b6c273d307c7569a4eb6c96b42dd4a29520a": {
23+
"individualPoolStake": {
24+
"denominator": 8,
25+
"numerator": 3
26+
},
27+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
28+
"individualTotalPoolStake": 5000000000
29+
},
30+
"e0a714319812c3f773ba04ec5d6b3ffcd5aad85006805b047b082541": {
31+
"individualPoolStake": {
32+
"denominator": 4,
33+
"numerator": 1
34+
},
35+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
36+
"individualTotalPoolStake": 1000000000
37+
}
38+
}
39+
}
40+
]
Binary file not shown.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
[
2+
{
3+
"pdTotalActiveStake": 1,
4+
"unPoolDistr": {}
5+
},
6+
{
7+
"pdTotalActiveStake": 1,
8+
"unPoolDistr": {
9+
"e0a714319812c3f773ba04ec5d6b3ffcd5aad85006805b047b082541": {
10+
"individualPoolStake": {
11+
"denominator": 1,
12+
"numerator": 1
13+
},
14+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
15+
"individualTotalPoolStake": 1
16+
}
17+
}
18+
},
19+
{
20+
"pdTotalActiveStake": 6000000000,
21+
"unPoolDistr": {
22+
"a646474b8f5431261506b6c273d307c7569a4eb6c96b42dd4a29520a": {
23+
"individualPoolStake": {
24+
"denominator": 8,
25+
"numerator": 3
26+
},
27+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
28+
"individualTotalPoolStake": 5000000000
29+
},
30+
"e0a714319812c3f773ba04ec5d6b3ffcd5aad85006805b047b082541": {
31+
"individualPoolStake": {
32+
"denominator": 4,
33+
"numerator": 1
34+
},
35+
"individualPoolStakeVrf": "c5e21ab1c9f6022d81c3b25e3436cb7f1df77f9652ae3e1310c28e621dd87b4c",
36+
"individualTotalPoolStake": 1000000000
37+
}
38+
}
39+
}
40+
]

libs/cardano-ledger-api/test/Test/Cardano/Ledger/Api/State/QuerySpec.hs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import Test.Cardano.Ledger.Api.State.Query.Examples (
5959
queryPoolParametersExamples,
6060
queryRegisteredDRepStakeDistrExamples,
6161
querySPOStakeDistrExamples,
62+
querySetSnapshotStakePoolDistrExamples,
6263
queryStakePoolDefaultVoteExamples,
6364
queryStakePoolDelegsAndRewardsExamples,
6465
queryStakePoolRelaysExamples,
@@ -149,6 +150,9 @@ latestErasSpec =
149150
"queryRegisteredDRepStakeDistr"
150151
queryRegisteredDRepStakeDistrExamples
151152
eraLedgerStateQueryGoldenSpec @era "querySPOStakeDistr" querySPOStakeDistrExamples
153+
eraLedgerStateQueryNoFromJSONGoldenSpec @era
154+
"querySetSnapshotStakePoolDistr"
155+
querySetSnapshotStakePoolDistrExamples
152156
eraLedgerStateQueryCBORGoldenSpec @era
153157
"queryStakePoolDefaultVote"
154158
queryStakePoolDefaultVoteExamples

libs/cardano-ledger-api/testlib/Test/Cardano/Ledger/Api/State/Query/Examples.hs

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
{-# LANGUAGE DataKinds #-}
12
{-# LANGUAGE NumericUnderscores #-}
23
{-# LANGUAGE OverloadedStrings #-}
4+
{-# LANGUAGE TypeApplications #-}
35

46
module Test.Cardano.Ledger.Api.State.Query.Examples (
57
queryAccountsDepositsExamples,
@@ -14,6 +16,7 @@ module Test.Cardano.Ledger.Api.State.Query.Examples (
1416
queryPoolParametersExamples,
1517
queryRegisteredDRepStakeDistrExamples,
1618
querySPOStakeDistrExamples,
19+
querySetSnapshotStakePoolDistrExamples,
1720
queryStakePoolDefaultVoteExamples,
1821
queryStakePoolDelegsAndRewardsExamples,
1922
queryStakePoolRelaysExamples,
@@ -23,12 +26,19 @@ import Cardano.Base.IP (toIPv4, toIPv6)
2326
import Cardano.Ledger.Api.Governance (Constitution (..))
2427
import Cardano.Ledger.Api.State.Query (DefaultVote (..))
2528
import Cardano.Ledger.BaseTypes (AnchorData, EpochNo (..), Port (..), StrictMaybe (..), textToDns)
26-
import Cardano.Ledger.Coin (Coin (..), CompactForm (..))
29+
import Cardano.Ledger.Coin (Coin (..), CompactForm (..), knownNonZeroCoin)
2730
import Cardano.Ledger.Credential (Credential (..))
2831
import Cardano.Ledger.DRep (DRep (..), DRepState (..))
2932
import Cardano.Ledger.Hashes (SafeHash)
3033
import Cardano.Ledger.Keys (KeyHash, KeyRole (..))
31-
import Cardano.Ledger.State (ChainAccountState (..), StakePoolParams (..), StakePoolRelay (..))
34+
import Cardano.Ledger.State (
35+
ChainAccountState (..),
36+
IndividualPoolStake (..),
37+
PoolDistr (..),
38+
StakePoolParams (..),
39+
StakePoolRelay (..),
40+
)
41+
import Data.Default (def)
3242
import Data.Map.Strict (Map)
3343
import qualified Data.Map.Strict as Map
3444
import Data.Maybe (fromJust)
@@ -39,7 +49,13 @@ import Data.Set (Set)
3949
import qualified Data.Set as Set
4050
import Test.Cardano.Ledger.Conway.Examples (exampleAnchor)
4151
import Test.Cardano.Ledger.Core.Utils (mkDummySafeHash)
42-
import Test.Cardano.Ledger.Shelley.Examples (exampleStakePoolParams, mkKeyHash, mkScriptHash)
52+
import Test.Cardano.Ledger.Shelley.Examples (
53+
examplePoolDistr,
54+
exampleStakePoolParams,
55+
exampleVrfVerKeyHash,
56+
mkKeyHash,
57+
mkScriptHash,
58+
)
4359

4460
queryConstitutionExamples :: [Constitution era]
4561
queryConstitutionExamples =
@@ -92,6 +108,25 @@ querySPOStakeDistrExamples =
92108
]
93109
]
94110

111+
querySetSnapshotStakePoolDistrExamples :: [PoolDistr]
112+
querySetSnapshotStakePoolDistrExamples =
113+
[ def
114+
, examplePoolDistr
115+
, PoolDistr
116+
( Map.fromList
117+
[
118+
( mkKeyHash 1
119+
, IndividualPoolStake (1 % 4) (CompactCoin 1_000_000_000) exampleVrfVerKeyHash
120+
)
121+
,
122+
( mkKeyHash 2
123+
, IndividualPoolStake (3 % 8) (CompactCoin 5_000_000_000) exampleVrfVerKeyHash
124+
)
125+
]
126+
)
127+
(knownNonZeroCoin @6_000_000_000)
128+
]
129+
95130
queryStakePoolDefaultVoteExamples :: [DefaultVote]
96131
queryStakePoolDefaultVoteExamples =
97132
[ DefaultNo

0 commit comments

Comments
 (0)