{
  "name": "@lightprotocol/compressed-token",
  "version": "0.23.3",
  "description": "JS client to interact with the compressed-token program",
  "sideEffects": false,
  "main": "dist/cjs/node/index.cjs",
  "type": "module",
  "exports": {
    ".": {
      "require": "./dist/cjs/node/index.cjs",
      "types": "./dist/types/index.d.ts",
      "default": "./dist/cjs/node/index.cjs"
    },
    "./unified": {
      "require": "./dist/cjs/node/unified/index.cjs",
      "types": "./dist/types/unified/index.d.ts",
      "default": "./dist/cjs/node/unified/index.cjs"
    },
    "./browser": {
      "import": "./dist/es/browser/index.js",
      "require": "./dist/cjs/browser/index.cjs",
      "types": "./dist/types/index.d.ts"
    },
    "./browser/unified": {
      "import": "./dist/es/browser/unified/index.js",
      "require": "./dist/cjs/browser/unified/index.cjs",
      "types": "./dist/types/unified/index.d.ts"
    }
  },
  "types": "./dist/types/index.d.ts",
  "files": [
    "dist"
  ],
  "maintainers": [
    {
      "name": "Light Protocol Maintainers",
      "email": "friends@lightprotocol.com"
    }
  ],
  "license": "Apache-2.0",
  "peerDependencies": {
    "@coral-xyz/borsh": "^0.29.0",
    "@solana/spl-token": ">=0.3.9",
    "@solana/web3.js": ">=1.73.5",
    "@lightprotocol/stateless.js": "0.23.3"
  },
  "dependencies": {
    "@solana/buffer-layout": "^4.0.1",
    "@solana/buffer-layout-utils": "^0.2.0",
    "bn.js": "^5.2.1",
    "buffer": "6.0.3"
  },
  "devDependencies": {
    "@coral-xyz/anchor": "^0.29.0",
    "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
    "@eslint/js": "9.36.0",
    "@lightprotocol/hasher.rs": "0.2.1",
    "@rollup/plugin-alias": "^5.1.0",
    "@rollup/plugin-babel": "^6.0.4",
    "@rollup/plugin-commonjs": "^26.0.1",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^15.2.3",
    "@rollup/plugin-replace": "^5.0.7",
    "@rollup/plugin-terser": "^0.4.4",
    "@rollup/plugin-typescript": "^11.1.6",
    "@solana/spl-token": "0.4.8",
    "@solana/web3.js": "1.98.4",
    "@types/bn.js": "^5.1.5",
    "@types/node": "^22.5.5",
    "@typescript-eslint/eslint-plugin": "^8.44.0",
    "@typescript-eslint/parser": "^8.44.0",
    "add": "^2.0.6",
    "crypto-browserify": "^3.12.0",
    "eslint": "^9.36.0",
    "eslint-plugin-import": "^2.30.0",
    "eslint-plugin-n": "^17.10.2",
    "eslint-plugin-promise": "^7.1.0",
    "eslint-plugin-vitest": "^0.5.4",
    "prettier": "^3.3.3",
    "rimraf": "^6.0.1",
    "rollup": "^4.21.3",
    "rollup-plugin-copy": "^3.5.0",
    "rollup-plugin-dts": "^6.1.1",
    "rollup-plugin-polyfill-node": "^0.13.0",
    "rollup-plugin-visualizer": "^5.12.0",
    "ts-node": "^10.9.2",
    "tslib": "^2.7.0",
    "typescript": "^5.6.2",
    "vitest": "^2.1.1"
  },
  "keywords": [
    "zk",
    "compression",
    "light",
    "stateless",
    "solana"
  ],
  "scripts": {
    "test": "vitest run tests/unit && if [ \"$LIGHT_PROTOCOL_VERSION\" = \"V1\" ]; then pnpm test:e2e:legacy:all; else pnpm test:e2e:lighttoken:all; fi",
    "test-ci": "pnpm test:v1 && pnpm test:v2",
    "test:v1": "pnpm build:v1 && LIGHT_PROTOCOL_VERSION=V1 vitest run tests/unit && LIGHT_PROTOCOL_VERSION=V1 pnpm test:e2e:legacy:all",
    "test:v2": "pnpm build:v2 && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/unit && LIGHT_PROTOCOL_VERSION=V2 pnpm test:e2e:lighttoken:all",
    "test:v2:lighttoken": "pnpm build:v2 && LIGHT_PROTOCOL_VERSION=V2 pnpm test:e2e:lighttoken:all",
    "test-all": "vitest run",
    "test:unit:all": "EXCLUDE_E2E=true vitest run",
    "test:unit:all:v1": "LIGHT_PROTOCOL_VERSION=V1 vitest run tests/unit --reporter=verbose",
    "test:unit:all:v2": "LIGHT_PROTOCOL_VERSION=V2 vitest run tests/unit --reporter=verbose",
    "test:unit:delegate-merge-semantics": "vitest run tests/unit/delegate-merge-semantics.test.ts --reporter=verbose",
    "test-all:verbose": "vitest run --reporter=verbose",
    "test-validator": "./../../cli/test_bin/run test-validator",
    "test-validator-skip-prover": "./../../cli/test_bin/run test-validator --skip-prover",
    "test:e2e:create-mint": "pnpm test-validator && NODE_OPTIONS='--trace-deprecation' vitest run tests/e2e/create-mint.test.ts --reporter=verbose",
    "test:e2e:create-compressed-mint": "pnpm test-validator && vitest run tests/e2e/create-compressed-mint.test.ts --reporter=verbose --bail=1",
    "test:e2e:create-associated-light-token": "pnpm test-validator && vitest run tests/e2e/create-associated-light-token.test.ts --reporter=verbose",
    "test:e2e:mint-to-light-token": "pnpm test-validator && vitest run tests/e2e/mint-to-light-token.test.ts --reporter=verbose",
    "test:e2e:mint-to-compressed": "pnpm test-validator && vitest run tests/e2e/mint-to-compressed.test.ts --reporter=verbose",
    "test:e2e:mint-to-interface": "pnpm test-validator && vitest run tests/e2e/mint-to-interface.test.ts --reporter=verbose",
    "test:e2e:mint-workflow": "pnpm test-validator && vitest run tests/e2e/mint-workflow.test.ts --reporter=verbose",
    "test:e2e:update-mint": "pnpm test-validator && vitest run tests/e2e/update-mint.test.ts --reporter=verbose",
    "test:e2e:update-metadata": "pnpm test-validator && vitest run tests/e2e/update-metadata.test.ts --reporter=verbose",
    "test:e2e:layout": "vitest run tests/e2e/layout.test.ts --reporter=verbose --bail=1",
    "test:e2e:select-accounts": "vitest run tests/e2e/select-accounts.test.ts --reporter=verbose",
    "test:e2e:create-token-pool": "pnpm test-validator && vitest run tests/e2e/create-token-pool.test.ts",
    "test:e2e:mint-to": "pnpm test-validator && vitest run tests/e2e/mint-to.test.ts --reporter=verbose --bail=1",
    "test:e2e:approve-and-mint-to": "pnpm test-validator && vitest run tests/e2e/approve-and-mint-to.test.ts --reporter=verbose --bail=1",
    "test:e2e:merge-token-accounts": "pnpm test-validator && vitest run tests/e2e/merge-token-accounts.test.ts --reporter=verbose",
    "test:e2e:transfer": "pnpm test-validator && vitest run tests/e2e/transfer.test.ts --reporter=verbose --bail=1",
    "test:e2e:delegate": "pnpm test-validator && vitest run tests/e2e/delegate.test.ts --reporter=verbose --bail=1",
    "test:e2e:transfer-delegated": "pnpm test-validator && vitest run tests/e2e/transfer-delegated.test.ts --reporter=verbose --bail=1",
    "test:e2e:compress": "pnpm test-validator && vitest run tests/e2e/compress.test.ts --reporter=verbose",
    "test:e2e:compress-spl-token-account": "pnpm test-validator && vitest run tests/e2e/compress-spl-token-account.test.ts --reporter=verbose",
    "test:e2e:decompress": "pnpm test-validator && vitest run tests/e2e/decompress.test.ts --reporter=verbose",
    "test:e2e:decompress-delegated": "pnpm test-validator && vitest run tests/e2e/decompress-delegated.test.ts --reporter=verbose",
    "test:e2e:decompress2": "pnpm test-validator && vitest run tests/e2e/decompress2.test.ts --reporter=verbose",
    "test:e2e:v1-v2-migration": "pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/v1-v2-migration.test.ts --reporter=verbose --bail=1",
    "test:e2e:rpc-token-interop": "pnpm test-validator && vitest run tests/e2e/rpc-token-interop.test.ts --reporter=verbose",
    "test:e2e:rpc-multi-trees": "pnpm test-validator && vitest run tests/e2e/rpc-multi-trees.test.ts --reporter=verbose",
    "test:e2e:multi-pool": "pnpm test-validator && vitest run tests/e2e/multi-pool.test.ts --reporter=verbose",
    "test:e2e:legacy:all": "pnpm test-validator && vitest run tests/e2e/create-mint.test.ts && vitest run tests/e2e/mint-to.test.ts && vitest run tests/e2e/transfer.test.ts && vitest run tests/e2e/delegate.test.ts && vitest run tests/e2e/transfer-delegated.test.ts && vitest run tests/e2e/multi-pool.test.ts && vitest run tests/e2e/decompress-delegated.test.ts && vitest run tests/e2e/merge-token-accounts.test.ts && pnpm test-validator-skip-prover && vitest run tests/e2e/compress.test.ts && vitest run tests/e2e/compress-spl-token-account.test.ts && vitest run tests/e2e/decompress.test.ts && vitest run tests/e2e/create-token-pool.test.ts && vitest run tests/e2e/approve-and-mint-to.test.ts && vitest run tests/e2e/rpc-token-interop.test.ts && vitest run tests/e2e/rpc-multi-trees.test.ts && vitest run tests/e2e/layout.test.ts && vitest run tests/e2e/select-accounts.test.ts",
    "test:e2e:wrap": "pnpm test-validator && vitest run tests/e2e/wrap.test.ts --reporter=verbose",
    "test:e2e:interface:all": "pnpm test-validator && vitest run tests/e2e/create-mint-interface.test.ts tests/e2e/create-ata-interface.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/transfer-interface.test.ts tests/e2e/wrap.test.ts tests/e2e/unwrap.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/get-or-create-ata-interface.test.ts --bail=1",
    "test:e2e:get-mint-interface": "pnpm test-validator && vitest run tests/e2e/get-mint-interface.test.ts --reporter=verbose",
    "test:e2e:get-or-create-ata-interface": "pnpm test-validator && vitest run tests/e2e/get-or-create-ata-interface.test.ts --reporter=verbose",
    "test:e2e:get-account-interface": "pnpm test-validator && vitest run tests/e2e/get-account-interface.test.ts --reporter=verbose",
    "test:e2e:load-ata-standard": "pnpm test-validator && vitest run tests/e2e/load-ata-standard.test.ts --reporter=verbose",
    "test:e2e:load-ata-unified": "pnpm test-validator && vitest run tests/e2e/load-ata-unified.test.ts --reporter=verbose",
    "test:e2e:load-ata-combined": "pnpm test-validator && vitest run tests/e2e/load-ata-combined.test.ts --reporter=verbose",
    "test:e2e:load-ata-spl-t22": "pnpm test-validator && vitest run tests/e2e/load-ata-spl-t22.test.ts --reporter=verbose",
    "test:e2e:multi-cold-inputs-batching": "pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/multi-cold-inputs-batching.test.ts -t \"instruction-level|hash uniqueness|ensureRecipientAta\" --reporter=verbose && pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/multi-cold-inputs-batching.test.ts -t \"parallel multi-tx\" --reporter=verbose",
    "test:e2e:load-ata:all": "pnpm test-validator && vitest run tests/e2e/load-ata-standard.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-unified.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-combined.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-spl-t22.test.ts --bail=1",
    "test:e2e:freeze-thaw-light-token": "pnpm test-validator && vitest run tests/e2e/freeze-thaw-light-token.test.ts --reporter=verbose",
    "test:e2e:load-ata-freeze": "pnpm test-validator && vitest run tests/e2e/load-ata-freeze.test.ts --reporter=verbose",
    "test:e2e:review-fixes": "pnpm build:v2 && pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/create-associated-light-token.test.ts tests/e2e/mint-to-light-token.test.ts tests/e2e/freeze-thaw-light-token.test.ts tests/e2e/load-ata-freeze.test.ts tests/e2e/decompress2.test.ts --reporter=verbose --bail=1",
    "test:e2e:lighttoken:all": "pnpm test-validator && vitest run tests/e2e/create-compressed-mint.test.ts --bail=1 && vitest run tests/e2e/create-associated-light-token.test.ts --bail=1 && vitest run tests/e2e/mint-to-light-token.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/mint-to-compressed.test.ts --bail=1 && vitest run tests/e2e/mint-to-interface.test.ts --bail=1 && vitest run tests/e2e/mint-workflow.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/update-mint.test.ts --bail=1 && vitest run tests/e2e/update-metadata.test.ts --bail=1 && vitest run tests/e2e/compressible-load.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/wrap.test.ts --bail=1 && vitest run tests/e2e/get-mint-interface.test.ts --bail=1 && vitest run tests/e2e/get-account-interface.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/create-mint-interface.test.ts --bail=1 && vitest run tests/e2e/create-ata-interface.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/get-or-create-ata-interface.test.ts --bail=1 && vitest run tests/e2e/transfer-interface.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/unwrap.test.ts --bail=1 && vitest run tests/e2e/decompress2.test.ts --bail=1 && vitest run tests/e2e/freeze-thaw-light-token.test.ts --bail=1 && vitest run tests/e2e/payment-flows.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/v1-v2-migration.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-standard.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-unified.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-combined.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-freeze.test.ts --bail=1 && pnpm test-validator && vitest run tests/e2e/load-ata-spl-t22.test.ts --bail=1 && pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/multi-cold-inputs-batching.test.ts -t \"instruction-level|hash uniqueness|ensureRecipientAta\" --bail=1 && pnpm test-validator && LIGHT_PROTOCOL_VERSION=V2 vitest run tests/e2e/multi-cold-inputs-batching.test.ts -t \"parallel multi-tx\" --bail=1",
    "test:e2e:all": "pnpm test:e2e:legacy:all && pnpm test:e2e:lighttoken:all",
    "pull-idl": "../../scripts/push-compressed-token-idl.sh",
    "build": "if [ \"$LIGHT_PROTOCOL_VERSION\" = \"V1\" ]; then LIGHT_PROTOCOL_VERSION=V1 pnpm build:bundle; else LIGHT_PROTOCOL_VERSION=V2 pnpm build:bundle; fi",
    "build:bundle": "rimraf dist && rollup -c",
    "build:v1": "LIGHT_PROTOCOL_VERSION=V1 pnpm build:stateless:v1 && LIGHT_PROTOCOL_VERSION=V1 pnpm build:bundle",
    "build:v2": "LIGHT_PROTOCOL_VERSION=V2 pnpm build:stateless:v2 && LIGHT_PROTOCOL_VERSION=V2 pnpm build:bundle",
    "build:stateless:v1": "cd ../stateless.js && pnpm build:v1",
    "build:stateless:v2": "cd ../stateless.js && pnpm build:v2",
    "build-ci": "if [ \"$LIGHT_PROTOCOL_VERSION\" = \"V1\" ]; then LIGHT_PROTOCOL_VERSION=V1 pnpm build:bundle; else LIGHT_PROTOCOL_VERSION=V2 pnpm build:bundle; fi",
    "format": "prettier --write .",
    "lint": "eslint ."
  }
}