{
  "name": "@exodus/crypto",
  "version": "1.0.0-rc.34",
  "description": "Reusable cryptography primitives, for browser/Node.js/Electron/React Native",
  "type": "module",
  "types": "./index.d.ts",
  "exports": {
    "./types": {
      "types": "./types.d.ts"
    },
    "./randomBytes": {
      "types": "./randomBytes.d.ts",
      "browser": "./randomBytes.browser.mjs",
      "react-native": "./randomBytes.native.mjs",
      "node": "./randomBytes.node.mjs",
      "default": "./randomBytes.mjs"
    },
    "./randomUUID": {
      "types": "./randomUUID.d.ts",
      "browser": "./randomUUID.browser.mjs",
      "react-native": "./randomUUID.native.mjs",
      "node": "./randomUUID.node.mjs",
      "default": "./randomUUID.mjs"
    },
    "./hash": {
      "types": "./hash.d.ts",
      "browser": "./hash.browser.mjs",
      "react-native": "./hash.native.mjs",
      "node": "./hash.node.mjs",
      "default": "./hash.mjs"
    },
    "./hmac": {
      "types": "./hmac.d.ts",
      "browser": "./hmac.browser.mjs",
      "react-native": "./hmac.native.mjs",
      "node": "./hmac.node.mjs",
      "default": "./hmac.mjs"
    },
    "./pbkdf2": {
      "types": "./pbkdf2.d.ts",
      "browser": "./pbkdf2.browser.mjs",
      "react-native": "./pbkdf2.native.mjs",
      "node": "./pbkdf2.node.mjs",
      "default": "./pbkdf2.mjs"
    },
    "./aes": {
      "types": "./aes.d.ts",
      "browser": "./aes.browser.mjs",
      "react-native": "./aes.native.mjs",
      "node": "./aes.node.mjs",
      "default": "./aes.mjs"
    },
    "./sodium-compat": {
      "types": "./sodium-compat.d.ts",
      "default": "./sodium-compat.mjs"
    },
    "./tiny-secp256k1-compat": {
      "types": "./tiny-secp256k1-compat.d.ts",
      "default": "./tiny-secp256k1-compat.mjs"
    },
    "./keccak": "./keccak.mjs",
    "./blake2b": "./blake2b.mjs",
    "./scrypt": {
      "types": "./scrypt.d.ts",
      "browser": "./scrypt.mjs",
      "react-native": "./scrypt.mjs",
      "node": "./scrypt.node.mjs",
      "default": "./scrypt.mjs"
    },
    "./chacha": {
      "types": "./chacha.d.ts",
      "browser": "./chacha.browser.mjs",
      "react-native": "./chacha.native.mjs",
      "node": "./chacha.node.mjs",
      "default": "./chacha.mjs"
    },
    "./compress": {
      "types": "./compress.d.ts",
      "browser": "./compress.browser.mjs",
      "react-native": "./compress.native.mjs",
      "node": "./compress.node.mjs",
      "default": "./compress.mjs"
    },
    "./secp256k1": {
      "types": "./secp256k1.d.ts",
      "default": "./secp256k1.mjs"
    },
    "./ed25519": {
      "types": "./ed25519.d.ts",
      "default": "./ed25519.mjs"
    },
    "./x25519": {
      "types": "./x25519.d.ts",
      "default": "./x25519.mjs"
    },
    "./curve25519": {
      "types": "./curve25519.d.ts",
      "default": "./curve25519.mjs"
    }
  },
  "browser": {
    "./aes": "./aes.browser.mjs",
    "./scrypt": "./scrypt.mjs",
    "./chacha": "./chacha.browser.mjs",
    "./compress": "./compress.browser.mjs",
    "./randomBytes": "./randomBytes.browser.mjs",
    "./randomUUID": "./randomUUID.browser.mjs",
    "./pbkdf2": "./pbkdf2.browser.mjs",
    "./hash": "./hash.browser.mjs",
    "./hmac": "./hmac.browser.mjs"
  },
  "react-native": {
    "./aes": "./aes.native.mjs",
    "./scrypt": "./scrypt.mjs",
    "./chacha": "./chacha.native.mjs",
    "./compress": "./compress.native.mjs",
    "./randomBytes": "./randomBytes.native.mjs",
    "./randomUUID": "./randomUUID.native.mjs",
    "./pbkdf2": "./pbkdf2.native.mjs",
    "./hash": "./hash.native.mjs",
    "./hmac": "./hmac.native.mjs"
  },
  "files": [
    "/types.d.ts",
    "/blake2b.mjs",
    "/curve25519.mjs",
    "/curve25519.d.ts",
    "/chacha.mjs",
    "/chacha.browser.mjs",
    "/chacha.native.mjs",
    "/chacha.node.mjs",
    "/chacha.d.ts",
    "/compress.mjs",
    "/compress.browser.mjs",
    "/compress.native.mjs",
    "/compress.node.mjs",
    "/compress.d.ts",
    "/ed25519.mjs",
    "/ed25519.d.ts",
    "/hash.mjs",
    "/hash.browser.mjs",
    "/hash.native.mjs",
    "/hash.node.mjs",
    "/hash.d.ts",
    "/hmac.mjs",
    "/hmac.browser.mjs",
    "/hmac.native.mjs",
    "/hmac.node.mjs",
    "/hmac.d.ts",
    "/pbkdf2.mjs",
    "/pbkdf2.browser.mjs",
    "/pbkdf2.native.mjs",
    "/pbkdf2.node.mjs",
    "/pbkdf2.d.ts",
    "/aes.mjs",
    "/aes.browser.mjs",
    "/aes.native.mjs",
    "/aes.node.mjs",
    "/aes.d.ts",
    "/keccak.mjs",
    "/sodium-compat.mjs",
    "/sodium-compat.d.ts",
    "/randomBytes.mjs",
    "/randomBytes.browser.mjs",
    "/randomBytes.native.mjs",
    "/randomBytes.node.mjs",
    "/randomBytes.d.ts",
    "/randomUUID.mjs",
    "/randomUUID.browser.mjs",
    "/randomUUID.native.mjs",
    "/randomUUID.node.mjs",
    "/randomUUID.d.ts",
    "/scrypt.mjs",
    "/scrypt.node.mjs",
    "/scrypt.d.ts",
    "/secp256k1.mjs",
    "/secp256k1.d.ts",
    "/tiny-secp256k1-compat.mjs",
    "/tiny-secp256k1-compat.d.ts",
    "/utils/aes.mjs",
    "/utils/assertHash.mjs",
    "/utils/assertSize.mjs",
    "/utils/assertUint8.mjs",
    "/utils/browserHashTools.mjs",
    "/utils/cipher.mjs",
    "/utils/curve25519.mjs",
    "/utils/hash.mjs",
    "/utils/hash.noble.mjs",
    "/utils/input.mjs",
    "/utils/output.mjs",
    "/utils/sodium.mjs",
    "/x25519.mjs",
    "/x25519.d.ts"
  ],
  "scripts": {
    "lint": "prettier --list-different '**/*.mjs' '**/*.d.ts' && eslint .",
    "format": "prettier --write '**/*.mjs' '**/*.d.ts'",
    "jsvu": "jsvu",
    "test:_native": "exodus-test --testTimeout=60000 --bundle-entropy-size 20000000",
    "test:javascriptcore": "npm run test:jsc --",
    "test:v8": "EXODUS_TEST_ENGINE=v8:bundle npm run test:_native --",
    "test:jsc": "EXODUS_TEST_ENGINE=jsc:bundle npm run test:_native --",
    "test:spidermonkey": "EXODUS_TEST_ENGINE=spidermonkey:bundle npm run test:_native --",
    "test:hermes": "EXODUS_TEST_ENGINE=hermes:bundle npm run test:_native --",
    "test:quickjs": "EXODUS_TEST_ENGINE=quickjs:bundle npm run test:_native --",
    "test:electron": "electron test/electron/index.mjs",
    "test:electron:as-node": "exodus-test --engine=electron-as-node:test",
    "test:chrome:puppeteer": "exodus-test --engine=chrome:puppeteer",
    "test:chromium:playwright": "exodus-test --engine=chromium:playwright",
    "test:webkit:playwright": "exodus-test --engine=webkit:playwright",
    "test:firefox:puppeteer": "exodus-test --engine=firefox:puppeteer --testTimeout=60000",
    "test:firefox:playwright": "exodus-test --engine=firefox:playwright --testTimeout=60000",
    "test": "exodus-test",
    "benchmark": "exodus-test --concurrency=1 benchmarks/*.bench.*js",
    "coverage": "exodus-test --coverage"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ExodusMovement/crypto.git"
  },
  "author": "Exodus",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/ExodusMovement/crypto/issues"
  },
  "homepage": "https://github.com/ExodusMovement/crypto#readme",
  "engines": {
    "node": "^20.19.0 || >=22.13.0"
  },
  "dependencies": {
    "@exodus/bytes": "^1.0.0-rc.4",
    "@noble/ciphers": "^1.2.1",
    "@noble/curves": "^2.0.1",
    "@noble/hashes": "^2.0.1",
    "pako": "^1.0.11"
  },
  "devDependencies": {
    "@bitcoin-js/tiny-secp256k1-asmjs": "^2.2.3",
    "@exodus/bitcoinerlab-secp256k1": "^1.0.6-rc.1",
    "@exodus/blakejs": "^1.1.1-exodus.0",
    "@exodus/patch-broken-hermes-typed-arrays": "^1.0.0-alpha.1",
    "@exodus/scryptsy": "^2.2.1",
    "@exodus/secp256k1": "5.0.0-exodus.4",
    "@exodus/sodium-crypto": "3.3.1",
    "@exodus/test": "^1.0.0-rc.107",
    "@stablelib/ed25519": "^1.0.3",
    "@stablelib/x25519": "^1.0.3",
    "@types/node": "^22.13.0",
    "blake-hash": "^2.0.0",
    "browserify-aes": "^1.2.0",
    "create-hash": "^1.2.0",
    "crypto-browserify": "^3.12.1",
    "ecpair": "^2.1.0",
    "electron": "^37.3.1",
    "elliptic": "^6.6.1",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^3.1.0",
    "eslint-config-standard": "^16.0.3",
    "eslint-plugin-import": "^2.24.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^5.1.0",
    "jsvu": "^3.0.0",
    "keccak": "^3.0.4",
    "prettier": "^3.6.2",
    "scrypt-js": "^3.0.1",
    "scryptsy": "^2.1.0",
    "secp256k1": "^5.0.1",
    "sha3": "^2.1.4",
    "tiny-secp256k1": "^2.2.3",
    "tweetnacl": "^1.0.3",
    "typescript": "^5.9.3",
    "unrolled-nbl-hashes-sha3": "^0.1.1"
  },
  "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
}
