Skip to content

Commit fde4449

Browse files
committed
Use correct type for vkey
1 parent ec42161 commit fde4449

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

src/Internal/Lib/Codec.purs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ module HydraSdk.Internal.Lib.Codec
1616
, logLevelCodec
1717
, orefCodec
1818
, printOref
19+
, publicKeyCodec
20+
, rawBytesCodec
1921
, readOref
2022
, scriptHashCodec
2123
, sumGenericCodec
@@ -32,12 +34,15 @@ import Cardano.Types
3234
, CborBytes(CborBytes)
3335
, DataHash
3436
, Ed25519KeyHash
37+
, PublicKey
38+
, RawBytes(RawBytes)
3539
, ScriptHash
3640
, Transaction
3741
, TransactionHash
3842
, TransactionInput(TransactionInput)
3943
)
4044
import Cardano.Types.Address (fromBech32, toBech32) as Address
45+
import Cardano.Types.PublicKey (fromRawBytes, toRawBytes) as PublicKey
4146
import Contract.CborBytes (cborBytesToHex, hexToCborBytes)
4247
import Control.Alt ((<|>))
4348
import Data.Argonaut (Json)
@@ -284,6 +289,14 @@ printOref :: TransactionInput -> String
284289
printOref (TransactionInput rec) =
285290
cborBytesToHex (encodeCbor rec.transactionId) <> "#" <> UInt.toString rec.index
286291

292+
publicKeyCodec :: CA.JsonCodec PublicKey
293+
publicKeyCodec =
294+
CA.prismaticCodec "PublicKey" PublicKey.fromRawBytes PublicKey.toRawBytes
295+
rawBytesCodec
296+
297+
rawBytesCodec :: CA.JsonCodec RawBytes
298+
rawBytesCodec = wrapIso RawBytes byteArrayCodec
299+
287300
readOref :: String -> Maybe TransactionInput
288301
readOref str =
289302
case String.split (Pattern "#") str of

src/Internal/Types/NodeApiMessage.purs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ module HydraSdk.Internal.Types.NodeApiMessage
4747

4848
import Prelude
4949

50-
import Cardano.Types (Ed25519KeyHash, ScriptHash)
50+
import Cardano.Types (PublicKey, ScriptHash)
5151
import Data.Codec.Argonaut (JsonCodec, array, int, object, string) as CA
5252
import Data.Codec.Argonaut.Record (optional, record) as CAR
5353
import Data.Codec.Argonaut.Variant (variantMatch) as CAV
@@ -58,8 +58,8 @@ import Data.Maybe (Maybe)
5858
import Data.Show.Generic (genericShow)
5959
import HydraSdk.Internal.Lib.Codec
6060
( dateTimeCodec
61-
, ed25519KeyHashCodec
6261
, fixTaggedSumCodec
62+
, publicKeyCodec
6363
, scriptHashCodec
6464
, sumGenericCodec
6565
)
@@ -129,7 +129,7 @@ hydraNodeApiInMessageCodec =
129129
-- | and clients should take consequence of seeing this. For example,
130130
-- | we can assume no peers connected when we see 'Greetings'.
131131
type GreetingsMessage =
132-
{ me :: { vkey :: Ed25519KeyHash }
132+
{ me :: { vkey :: PublicKey }
133133
, headStatus :: HydraHeadStatus
134134
, hydraHeadId :: Maybe ScriptHash
135135
, snapshotUtxo :: Maybe HydraUtxoMap
@@ -141,7 +141,7 @@ greetingsMessageCodec :: CA.JsonCodec GreetingsMessage
141141
greetingsMessageCodec =
142142
CA.object "GreetingsMessage" $ CAR.record
143143
{ me: CA.object "GreetingsMessage:me" $ CAR.record
144-
{ vkey: ed25519KeyHashCodec
144+
{ vkey: publicKeyCodec
145145
}
146146
, headStatus: headStatusCodec
147147
, snapshotUtxo: CAR.optional hydraUtxoMapCodec
@@ -200,7 +200,7 @@ peerHandshakeFailureMessageCodec =
200200
-- | Head ID.
201201
type HeadInitMessage =
202202
{ headId :: ScriptHash
203-
, parties :: Array { vkey :: Ed25519KeyHash }
203+
, parties :: Array { vkey :: PublicKey }
204204
, seq :: Int
205205
, timestamp :: DateTime
206206
}
@@ -211,7 +211,7 @@ headInitMessageCodec =
211211
{ headId: scriptHashCodec
212212
, parties:
213213
CA.array $ CA.object "HeadInitMessage:parties" $ CAR.record
214-
{ vkey: ed25519KeyHashCodec
214+
{ vkey: publicKeyCodec
215215
}
216216
, seq: CA.int
217217
, timestamp: dateTimeCodec
@@ -223,7 +223,7 @@ headInitMessageCodec =
223223
-- | A Commit transaction from a Head participant has been observed
224224
-- | onchain.
225225
type CommittedMessage =
226-
{ party :: { vkey :: Ed25519KeyHash }
226+
{ party :: { vkey :: PublicKey }
227227
, utxo :: HydraUtxoMap
228228
, seq :: Int
229229
, timestamp :: DateTime
@@ -234,7 +234,7 @@ committedMessageCodec =
234234
CA.object "CommittedMessage" $ CAR.record
235235
{ party:
236236
CA.object "CommittedMessage:party" $ CAR.record
237-
{ vkey: ed25519KeyHashCodec
237+
{ vkey: publicKeyCodec
238238
}
239239
, utxo: hydraUtxoMapCodec
240240
, seq: CA.int

src/Lib.purs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import HydraSdk.Internal.Lib.Codec
2424
, logLevelCodec
2525
, orefCodec
2626
, printOref
27+
, publicKeyCodec
28+
, rawBytesCodec
2729
, readOref
2830
, scriptHashCodec
2931
, sumGenericCodec

0 commit comments

Comments
 (0)