
import { Provider } from '../../../@utility/data-structures/provider'
import { PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY } from '../../../@utility/constants/provider'

import { PREPARE_PROVIDER_FOR_USE } from '../algorithms/PREPARE_PROVIDER_FOR_USE'
import { generateKeyPair } from '../algorithms/generate-key-pair'
import { signMessage } from '../algorithms/sign-message'
import { verifyKeyFormat } from '../algorithms/verify-key-format'
import { verifyMessage } from '../algorithms/verify-message'


const MOCK_ASYMMETRIC_CRYPTOGRAPHY = new Provider({
  nameVersionId: 'mock-asymmetric-cryptography@default',
  type: PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY,
  hasOfflineSupport: true,
  functionTable: {
    PREPARE_PROVIDER_FOR_USE,
    generateKeyPair,
    signMessage,
    verifyKeyFormat,
    verifyMessage
  }
})

export {
  MOCK_ASYMMETRIC_CRYPTOGRAPHY
}

