2024-08-21 11:16:52 +02:00
|
|
|
import std/random
|
|
|
|
|
import std/sequtils
|
|
|
|
|
import std/strutils
|
2024-11-21 15:12:03 +01:00
|
|
|
import ./hashing
|
2024-08-21 11:16:52 +02:00
|
|
|
|
|
|
|
|
type
|
2024-11-27 11:48:50 +01:00
|
|
|
MockIdentity* = object
|
2024-08-21 11:16:52 +02:00
|
|
|
id: string
|
2024-11-27 11:48:50 +01:00
|
|
|
MockIdentifier* = object
|
2024-08-21 11:16:52 +02:00
|
|
|
id: string
|
2024-11-27 11:48:50 +01:00
|
|
|
MockSignature* = object
|
2024-08-21 11:16:52 +02:00
|
|
|
signer: string
|
|
|
|
|
|
2024-11-27 11:48:50 +01:00
|
|
|
proc init*(_: type MockIdentity): MockIdentity =
|
|
|
|
|
MockIdentity(id: newSeqWith(32, rand(byte)).mapIt(it.toHex(2)).join())
|
2024-08-21 11:16:52 +02:00
|
|
|
|
2024-11-27 11:48:50 +01:00
|
|
|
func identifier*(identity: MockIdentity): MockIdentifier =
|
|
|
|
|
MockIdentifier(id: identity.id)
|
2024-08-21 11:16:52 +02:00
|
|
|
|
2024-11-27 11:48:50 +01:00
|
|
|
func sign*(identity: MockIdentity; hash: MockHash): MockSignature =
|
|
|
|
|
MockSignature(signer: identity.id)
|
2024-08-21 11:16:52 +02:00
|
|
|
|
2024-11-27 11:48:50 +01:00
|
|
|
func signer*(signature: MockSignature, hash: MockHash): MockIdentifier =
|
|
|
|
|
MockIdentifier(id: signature.signer)
|