mirror of
https://github.com/logos-storage/logos-storage-nim-validator.git
synced 2026-01-03 05:53:06 +00:00
22 lines
515 B
Nim
22 lines
515 B
Nim
import pkg/blscurve
|
|
import pkg/nimcrypto
|
|
|
|
export blscurve.Signature
|
|
export blscurve.sign
|
|
export blscurve.verify
|
|
|
|
type
|
|
Identity* = SecretKey
|
|
Identifier* = PublicKey
|
|
|
|
proc random*(_: type Identity, identity: var Identity) =
|
|
var randomness: array[32, byte]
|
|
var done = false
|
|
while not done:
|
|
doAssert randomBytes(randomness) == randomness.len
|
|
done = fromBytes(identity, randomness)
|
|
burnMem(randomness)
|
|
|
|
func identifier*(identity: Identity): Identifier =
|
|
doAssert publicFromSecret(result, identity)
|