DA.Crypto.Text
DA.Crypto.Text
Warning
Functions for working with Crypto builtins. For example, as used to implement CCTP functionality.
Typeclasses
class HasToHex a where
class HasFromHex a where
fromHex: BytesHex -> a
Converts a hex encoded string into a typed data value.
instance HasFromHex (Optional Party)
instance HasFromHex (Optional Int)
instance HasFromHex (Optional Text)
Data Types
type BytesHex= Text
type PublicKeyHex= Text
A DER formatted public key to be used for ECDSA signature verification
type SignatureHex= Text
A DER formatted SECP256K1 signature
Functions
isHexisHex is True if t is not empty and consists only of
hex or hexadecimal characters.
Computes the SHA256 hash of the decoded UTF8 bytes of the Text, and returns it in its hex-encoded
form. The hex encoding uses lowercase letters.
Computes the KECCAK256 hash of the UTF8 bytes of the Text, and returns it in its hex-encoded
form. The hex encoding uses lowercase letters.
: SignatureHex -> BytesHex -> PublicKeyHex -> Bool
Validate the SECP256K1 signature given a hex encoded message and a hex encoded DER formatted public key.
secp256k1: SignatureHex -> BytesHex -> PublicKeyHex -> Bool
Validate the SECP256K1 signature given a SHA256 hash of a hex encoded message and a hex encoded DER formatted public key.
numericViaStringToHex: NumericScale n => Numeric n -> BytesHex
numericViaStringFromHex: NumericScale n => BytesHex -> Optional (Numeric n)
byteCountNumber of bytes present in a byte encoded string.
minBytes32Hex: BytesHex
Minimum Bytes32 hex value
maxBytes32Hex: BytesHex
Maximum Bytes32 hex value
isBytes32HexValidate that the byte encoded string is Bytes32Hex
minUInt32Hex: BytesHex
Minimum UInt32 hex value
maxUInt32Hex: BytesHex
Maximum UInt32 hex value
isUInt32HexValidate that the byte encoded string is UInt32Hex
minUInt64Hex: BytesHex
Minimum UInt64 hex value
maxUInt64Hex: BytesHex
Maximum UInt64 hex value
isUInt64HexValidate that the byte encoded string is UInt64Hex
minUInt256Hex: BytesHex
Minimum UInt256 hex value
maxUInt256Hex: BytesHex
Maximum UInt256 hex value
isUInt256HexValidate that the byte encoded string is UInt256Hex
packHexBytes: BytesHex -> Int -> Optional BytesHex
Pack a byte encoded string to a given byte count size. If the byte string is shorter than the pad size, then prefix with 00 byte strings. If the byte string is larger, then truncate the byte string.
sliceHexBytes: BytesHex -> Int -> Int -> Either Text BytesHex
Extract the byte string starting at startByte up to, but excluding, endByte. Byte indexing starts at 1.