@@ -51,7 +51,7 @@ import Cardano.Ledger.Credential (
51
51
Ptr (.. ),
52
52
StakeReference (.. ),
53
53
)
54
- import qualified Cardano.Ledger.Crypto as CC (Crypto )
54
+ import Cardano.Ledger.Crypto (Crypto )
55
55
import Cardano.Ledger.Keys (
56
56
Hash ,
57
57
KeyRole (.. ),
@@ -67,12 +67,14 @@ import Cardano.Ledger.Shelley.TxBody (
67
67
import Cardano.Ledger.Slot (SlotNo (.. ))
68
68
import Cardano.Protocol.TPraos.OCert (KESPeriod (.. ))
69
69
import qualified Data.ByteString.Char8 as BS (pack )
70
+ import qualified Data.List.NonEmpty as NE
70
71
import Data.Maybe (fromJust )
71
72
import qualified Data.Sequence.Strict as StrictSeq
72
73
import qualified Data.Set as Set
73
74
import Test.Cardano.Ledger.Core.KeyPair (KeyPair (.. ), mkAddr )
74
75
import Test.Cardano.Ledger.Shelley.Generator.Core (
75
76
AllIssuerKeys (.. ),
77
+ VRFKeyPair (.. ),
76
78
)
77
79
import Test.Cardano.Ledger.Shelley.Utils (
78
80
RawSeed (.. ),
@@ -83,50 +85,50 @@ import Test.Cardano.Ledger.Shelley.Utils (
83
85
)
84
86
85
87
-- | Alice's payment key pair
86
- alicePay :: CC. Crypto c => KeyPair 'Payment c
88
+ alicePay :: Crypto c => KeyPair 'Payment c
87
89
alicePay = KeyPair vk sk
88
90
where
89
91
(sk, vk) = mkKeyPair (RawSeed 0 0 0 0 0 )
90
92
91
93
-- | Alice's stake key pair
92
- aliceStake :: CC. Crypto c => KeyPair 'Staking c
94
+ aliceStake :: Crypto c => KeyPair 'Staking c
93
95
aliceStake = KeyPair vk sk
94
96
where
95
97
(sk, vk) = mkKeyPair (RawSeed 1 1 1 1 1 )
96
98
97
99
-- | Alice's stake pool keys (cold keys, VRF keys, hot KES keys)
98
- alicePoolKeys :: CC. Crypto c => AllIssuerKeys c 'StakePool
100
+ alicePoolKeys :: Crypto c => AllIssuerKeys c 'StakePool
99
101
alicePoolKeys =
100
102
AllIssuerKeys
101
103
(KeyPair vkCold skCold)
102
104
(mkVRFKeyPair (RawSeed 1 0 0 0 2 ))
103
- [( KESPeriod 0 , mkKESKeyPair (RawSeed 1 0 0 0 3 ))]
105
+ (( KESPeriod 0 , mkKESKeyPair (RawSeed 1 0 0 0 3 )) NE. :| [] )
104
106
(hashKey vkCold)
105
107
where
106
108
(skCold, vkCold) = mkKeyPair (RawSeed 1 0 0 0 1 )
107
109
108
110
-- | Alice's base address
109
- aliceAddr :: CC. Crypto c => Addr c
111
+ aliceAddr :: Crypto c => Addr c
110
112
aliceAddr = mkAddr (alicePay, aliceStake)
111
113
112
114
-- | Alice's payment credential
113
- alicePHK :: CC. Crypto c => Credential 'Payment c
115
+ alicePHK :: Crypto c => Credential 'Payment c
114
116
alicePHK = (KeyHashObj . hashKey . vKey) alicePay
115
117
116
118
-- | Alice's stake credential
117
- aliceSHK :: CC. Crypto c => Credential 'Staking c
119
+ aliceSHK :: Crypto c => Credential 'Staking c
118
120
aliceSHK = (KeyHashObj . hashKey . vKey) aliceStake
119
121
120
122
-- | Alice's base address
121
- alicePtrAddr :: CC. Crypto c => Addr c
123
+ alicePtrAddr :: Crypto c => Addr c
122
124
alicePtrAddr = Addr Testnet alicePHK (StakeRefPtr $ Ptr (SlotNo 10 ) minBound minBound )
123
125
124
126
-- | Alice's stake pool parameters
125
- alicePoolParams :: forall c . CC. Crypto c => PoolParams c
127
+ alicePoolParams :: forall c . Crypto c => PoolParams c
126
128
alicePoolParams =
127
129
PoolParams
128
- { ppId = ( hashKey . vKey . cold) alicePoolKeys
129
- , ppVrf = hashVerKeyVRF . snd $ vrf (alicePoolKeys @ c )
130
+ { ppId = hashKey . vKey $ aikCold alicePoolKeys
131
+ , ppVrf = hashVerKeyVRF . vrfVerKey $ aikVrf (alicePoolKeys @ c )
130
132
, ppPledge = Coin 1
131
133
, ppCost = Coin 5
132
134
, ppMargin = unsafeBoundRational 0.1
@@ -144,99 +146,99 @@ alicePoolParams =
144
146
-- | Alice's VRF key hash
145
147
aliceVRFKeyHash ::
146
148
forall c .
147
- CC. Crypto c =>
149
+ Crypto c =>
148
150
Hash c (VerKeyVRF c )
149
- aliceVRFKeyHash = hashVerKeyVRF (snd $ vrf (alicePoolKeys @ c ))
151
+ aliceVRFKeyHash = hashVerKeyVRF (vrfVerKey $ aikVrf (alicePoolKeys @ c ))
150
152
151
153
-- | Bob's payment key pair
152
- bobPay :: CC. Crypto c => KeyPair 'Payment c
154
+ bobPay :: Crypto c => KeyPair 'Payment c
153
155
bobPay = KeyPair vk sk
154
156
where
155
157
(sk, vk) = mkKeyPair (RawSeed 2 2 2 2 2 )
156
158
157
159
-- | Bob's stake key pair
158
- bobStake :: CC. Crypto c => KeyPair 'Staking c
160
+ bobStake :: Crypto c => KeyPair 'Staking c
159
161
bobStake = KeyPair vk sk
160
162
where
161
163
(sk, vk) = mkKeyPair (RawSeed 3 3 3 3 3 )
162
164
163
165
-- | Bob's address
164
- bobAddr :: CC. Crypto c => Addr c
166
+ bobAddr :: Crypto c => Addr c
165
167
bobAddr = mkAddr (bobPay, bobStake)
166
168
167
169
-- | Bob's stake credential
168
- bobSHK :: CC. Crypto c => Credential 'Staking c
170
+ bobSHK :: Crypto c => Credential 'Staking c
169
171
bobSHK = (KeyHashObj . hashKey . vKey) bobStake
170
172
171
173
-- | Bob's stake pool keys (cold keys, VRF keys, hot KES keys)
172
- bobPoolKeys :: CC. Crypto c => AllIssuerKeys c 'StakePool
174
+ bobPoolKeys :: Crypto c => AllIssuerKeys c 'StakePool
173
175
bobPoolKeys =
174
176
AllIssuerKeys
175
177
(KeyPair vkCold skCold)
176
178
(mkVRFKeyPair (RawSeed 2 0 0 0 2 ))
177
- [( KESPeriod 0 , mkKESKeyPair (RawSeed 2 0 0 0 3 ))]
179
+ (( KESPeriod 0 , mkKESKeyPair (RawSeed 2 0 0 0 3 )) NE. :| [] )
178
180
(hashKey vkCold)
179
181
where
180
182
(skCold, vkCold) = mkKeyPair (RawSeed 2 0 0 0 1 )
181
183
182
184
-- | Bob's stake pool parameters
183
- bobPoolParams :: forall c . CC. Crypto c => PoolParams c
185
+ bobPoolParams :: forall c . Crypto c => PoolParams c
184
186
bobPoolParams =
185
187
PoolParams
186
- { ppId = ( hashKey . vKey . cold) bobPoolKeys
187
- , ppVrf = hashVerKeyVRF . snd $ vrf (bobPoolKeys @ c )
188
+ { ppId = hashKey . vKey $ aikCold bobPoolKeys
189
+ , ppVrf = hashVerKeyVRF . vrfVerKey $ aikVrf (bobPoolKeys @ c )
188
190
, ppPledge = Coin 2
189
191
, ppCost = Coin 1
190
192
, ppMargin = unsafeBoundRational 0.1
191
193
, ppRewardAcnt = RewardAcnt Testnet bobSHK
192
- , ppOwners = Set. singleton $ ( hashKey . vKey) bobStake
194
+ , ppOwners = Set. singleton $ hashKey ( vKey bobStake)
193
195
, ppRelays = StrictSeq. empty
194
196
, ppMetadata = SNothing
195
197
}
196
198
197
199
-- | Bob's VRF key hash
198
200
bobVRFKeyHash ::
199
201
forall c .
200
- CC. Crypto c =>
202
+ Crypto c =>
201
203
Hash c (VerKeyVRF c )
202
- bobVRFKeyHash = hashVerKeyVRF (snd $ vrf (bobPoolKeys @ c ))
204
+ bobVRFKeyHash = hashVerKeyVRF (vrfVerKey $ aikVrf (bobPoolKeys @ c ))
203
205
204
206
-- Carl's payment key pair
205
- carlPay :: CC. Crypto c => KeyPair 'Payment c
207
+ carlPay :: Crypto c => KeyPair 'Payment c
206
208
carlPay = KeyPair vk sk
207
209
where
208
210
(sk, vk) = mkKeyPair (RawSeed 4 4 4 4 4 )
209
211
210
212
-- | Carl's stake key pair
211
- carlStake :: CC. Crypto c => KeyPair 'Staking c
213
+ carlStake :: Crypto c => KeyPair 'Staking c
212
214
carlStake = KeyPair vk sk
213
215
where
214
216
(sk, vk) = mkKeyPair (RawSeed 5 5 5 5 5 )
215
217
216
218
-- | Carl's address
217
- carlAddr :: CC. Crypto c => Addr c
219
+ carlAddr :: Crypto c => Addr c
218
220
carlAddr = mkAddr (carlPay, carlStake)
219
221
220
222
-- | Carl's stake credential
221
- carlSHK :: CC. Crypto c => Credential 'Staking c
223
+ carlSHK :: Crypto c => Credential 'Staking c
222
224
carlSHK = (KeyHashObj . hashKey . vKey) carlStake
223
225
224
226
-- | Daria's payment key pair
225
- dariaPay :: CC. Crypto c => KeyPair 'Payment c
227
+ dariaPay :: Crypto c => KeyPair 'Payment c
226
228
dariaPay = KeyPair vk sk
227
229
where
228
230
(sk, vk) = mkKeyPair (RawSeed 6 6 6 6 6 )
229
231
230
232
-- | Daria's stake key pair
231
- dariaStake :: CC. Crypto c => KeyPair 'Staking c
233
+ dariaStake :: Crypto c => KeyPair 'Staking c
232
234
dariaStake = KeyPair vk sk
233
235
where
234
236
(sk, vk) = mkKeyPair (RawSeed 7 7 7 7 7 )
235
237
236
238
-- | Daria's address
237
- dariaAddr :: CC. Crypto c => Addr c
239
+ dariaAddr :: Crypto c => Addr c
238
240
dariaAddr = mkAddr (dariaPay, dariaStake)
239
241
240
242
-- | Daria's stake credential
241
- dariaSHK :: CC. Crypto c => Credential 'Staking c
243
+ dariaSHK :: Crypto c => Credential 'Staking c
242
244
dariaSHK = (KeyHashObj . hashKey . vKey) dariaStake
0 commit comments