Files
self/circuits/package.json
d0x471b 90ccfe4f26 feat(circuits): add GCP JWT verifier with TEE attestation claims extraction (#1317)
* chore(scripts): update Power of Tau download source URL

* fix(build): use correct node_modules paths in circom compile step

* chore(deps): add dependencies for GCP JWT verifier

* feat(circuits): add extractAndValidatePubkey utility circuit for GCP JWT

* feat(circuits): add verifyCertificateSignature utility circuit for GCP JWT

* feat(circuits): add verifyExtractedString utility circuit for GCP JWT

* feat(circuits): implement GCP JWT verifier circuit

* feat(scripts): add build script for GCP JWT verifier circuit

* chore(deps): pin crypto-circuit dependencies to exact versions

* build(circuits): bump jwt_verifier.circom version to 2.1.9

* build(scripts): improve gcp_jwt_verifier error handling

* chore(gcp_jwt_verifier): remove string verifier

* refactor: optimize and improve GCP JWT Verifier

* fix(circuits): enforce colon after JSON key name

* fix(circuits): add JSON parsing offset validation constraints

* fix: enforce JSON array structure validation in field extraction

* fix: add value_length validation to prevent partial extraction

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-11-10 19:57:36 +05:30

96 lines
4.6 KiB
JSON

{
"name": "@selfxyz/circuits",
"version": "0.0.1",
"private": true,
"license": "MIT",
"author": "self team",
"scripts": {
"build-all": "bash scripts/build/build_register_circuits.sh && bash scripts/build/build_register_circuits_id.sh && bash scripts/build/build_register_aadhaar.sh && bash scripts/build/build_dsc_circuits.sh && bash scripts/build/build_disclose_circuits.sh",
"build-disclose": "bash scripts/build/build_disclose_circuits.sh",
"build-dsc": "bash scripts/build/build_dsc_circuits.sh",
"build-gcp-jwt-verifier": "bash scripts/build/build_gcp_jwt_verifier.sh",
"build-register": "bash scripts/build/build_register_circuits.sh",
"build-register-id": "bash scripts/build/build_register_circuits_id.sh",
"build:deps": "yarn workspaces foreach --from @selfxyz/circuits --topological-dev --recursive run build",
"download": "bash scripts/server/download_circuits_from_AWS.sh",
"format": "prettier --write .",
"install-circuits": "yarn workspaces focus @selfxyz/circuits",
"lint": "prettier --check .",
"nice": "prettier --write .",
"test": "yarn test-base 'tests/**/*.test.ts' --exit",
"test-base": "yarn ts-mocha -n import=tsx --max-old-space-size=8192 --paths -p tsconfig.json",
"test-custom-hasher": "yarn test-base 'tests/other_circuits/custom_hasher.test.ts' --exit",
"test-disclose": "yarn test-base 'tests/disclose/vc_and_disclose.test.ts' --exit",
"test-disclose-aadhaar": "yarn test-base 'tests/disclose/vc_and_disclose_aadhaar.test.ts' --exit",
"test-disclose-id": "yarn test-base 'tests/disclose/vc_and_disclose_id.test.ts' --exit",
"test-dsc": "yarn test-base --max-old-space-size=51200 'tests/dsc/dsc.test.ts' --exit",
"test-ecdsa": "yarn test-base 'tests/utils/ecdsa.test.ts' --exit",
"test-is-older-than": "yarn test-base 'tests/other_circuits/is_older_than.test.ts' --exit",
"test-is-valid": "yarn test-base 'tests/other_circuits/is_valid.test.ts' --exit",
"test-not-in-list": "yarn test-base 'tests/other_circuits/prove_country_is_not_in_list.test.ts' --exit",
"test-ofac": "yarn test-base 'tests/ofac/ofac.test.ts' --exit",
"test-qr-extractor": "yarn test-base 'tests/other_circuits/qrdata_extractor.test.ts' --exit",
"test-register": "yarn test-base --max-old-space-size=40960 'tests/register/register.test.ts' --exit",
"test-register-aadhaar": "yarn test-base 'tests/register/register_aadhaar.test.ts' --exit",
"test-register-id": "yarn test-base --max-old-space-size=40960 'tests/register_id/register_id.test.ts' --exit",
"test-rsa": "yarn test-base 'tests/utils/rsaPkcs1v1_5.test.ts' --exit",
"test-rsa-pss": "yarn test-base 'tests/utils/rsapss.test.ts' --exit"
},
"dependencies": {
"@anon-aadhaar/core": "npm:@selfxyz/anon-aadhaar-core@^0.0.1",
"@noble/curves": "^1.4.2",
"@openpassport/zk-email-circuits": "^6.1.2",
"@openpassport/zk-kit-imt": "^0.0.4",
"@openpassport/zk-kit-lean-imt": "^0.0.4",
"@openpassport/zk-kit-smt": "^0.0.1",
"@selfxyz/common": "workspace:^",
"@zk-email/circuits": "^6.3.2",
"@zk-email/helpers": "^6.1.1",
"@zk-email/jwt-tx-builder-circuits": "0.1.0",
"@zk-email/jwt-tx-builder-helpers": "0.1.0",
"@zk-email/zk-regex-circom": "^1.2.1",
"@zk-kit/binary-merkle-root.circom": "https://gitpkg.vercel.app/Vishalkulkarni45/zk-kit.circom/packages/binary-merkle-root?fix/bin-merkle-tree",
"@zk-kit/circuits": "^1.0.0-beta",
"anon-aadhaar-circuits": "https://gitpkg.vercel.app/selfxyz/anon-aadhaar/packages/circuits?main",
"asn1": "^0.2.6",
"asn1.js": "^5.4.1",
"asn1js": "^3.0.5",
"chai-as-promised": "^7.1.1",
"circom-bigint": "https://github.com/0xbok/circom-bigint",
"circom-dl": "https://github.com/distributed-lab/circom-dl",
"circom_tester": "github:remicolin/circom_tester#main",
"circomlib": "^2.0.5",
"circomlibjs": "^0.1.7",
"crypto": "^1.0.1",
"dotenv": "^16.4.7",
"elliptic": "^6.5.5",
"hash.js": "^1.1.7",
"js-sha256": "^0.10.1",
"jsrsasign": "^11.1.0",
"modpow": "^1.0.0",
"node-forge": "https://github.com/remicolin/forge",
"poseidon-lite": "^0.2.0",
"snarkjs": "^0.7.1"
},
"devDependencies": {
"@types/chai": "4.3.11",
"@types/chai-as-promised": "^7.1.6",
"@types/circomlibjs": "^0.1.6",
"@types/mocha": "^10.0.10",
"@types/node": "^22.18.3",
"@types/node-forge": "^1.3.5",
"@yarnpkg/sdks": "^3.2.0",
"chai": "^4.4.1",
"mocha": "^10.7.3",
"prettier": "^3.5.3",
"ts-mocha": "^10.0.0",
"tsconfig-paths": "^4.2.0",
"tsx": "^4.20.3",
"typescript": "^5.9.2"
},
"packageManager": "yarn@4.6.0",
"engines": {
"node": ">=22 <23"
}
}