{"_id":"@aptos-labs/confidential-asset-bindings","_rev":"13-e88a3e99ddf4fff5ce18fdea66bb283c","name":"@aptos-labs/confidential-asset-bindings","dist-tags":{"latest":"1.1.2"},"versions":{"0.1.0":{"name":"@aptos-labs/confidential-asset-bindings","version":"0.1.0","keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof"],"license":"Apache-2.0","_id":"@aptos-labs/confidential-asset-bindings@0.1.0","maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"dist":{"shasum":"f0daf93864ad606830068cca7b6ce15d328e5bd9","tarball":"https://registry.npmjs.org/@aptos-labs/confidential-asset-bindings/-/confidential-asset-bindings-0.1.0.tgz","fileCount":7,"integrity":"sha512-mkIUIOL74IuhpO72JIU7ZowW+TSiS6l4EhWSsXWRuGPtowmEdCCnmMki5TYTRU2BNB7juHwCavlBzd83jTSOoA==","signatures":[{"sig":"MEQCIFPbROv92W+tJknKJTZyNWsi7I78IoHRcoEpQYA58287AiBjuBYyloO9i/6zUXmFkvUSLz8gr/kAox2/vpNQJbOStA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":852729},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"default":"./dist/index.mjs","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"e4dd0ed1162d40901b5fac23f10477d79066042e","scripts":{"build":"npm run build:wasm && npm run build:js","release":"npm run build && changeset publish","build:js":"tsdown","changeset":"changeset","build:wasm":"wasm-pack build ./rust/wasm --target web --out-dir ../../build/wasm --release"},"_npmUser":{"name":"aptos-labs","email":"npmjs@aptoslabs.com"},"repository":{"url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git","type":"git"},"_npmVersion":"10.9.7","description":"Bindings for Aptos confidential asset (discrete log + range proofs)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.21.7","wasm-pack":"^0.13.1","typescript":"^5.8.3","@changesets/cli":"^2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/confidential-asset-bindings_0.1.0_1775517924648_0.6225776162988217","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aptos-labs/confidential-asset-bindings","version":"0.1.1","keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof","react-native","expo","@aptos-labs/confidential-asset-bindings","ConfidentialAssetBindings"],"author":{"url":"https://github.com/aptos-labs","name":"aptoslabs","email":"aptoslabs@aptoslabs.com"},"license":"Apache-2.0","_id":"@aptos-labs/confidential-asset-bindings@0.1.1","maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"dist":{"shasum":"f9ed37338ceb31d6b4cc699dd2697fa38428b197","tarball":"https://registry.npmjs.org/@aptos-labs/confidential-asset-bindings/-/confidential-asset-bindings-0.1.1.tgz","fileCount":54,"integrity":"sha512-5sLC7NVFoRPiea6RjGdM0iDlPfW2/ogVkNG/wygmLTSroSm6UlDi+FgUwrHO9YLqHeCNRNUBzL9EARHbk48mHA==","signatures":[{"sig":"MEUCICYNajEfdRu+c/2l15tQ2ZEIr/Vk5MyemIns89YNEZAAAiEAkawiR4LilvtziBbU4T7GyE3mLmCZsCTht3cWSvOLX70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61888674},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"default":"./dist/index.mjs","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"react-native":{"types":"./dist/index.native.d.ts","default":"./dist/index.native.js"}}},"gitHead":"6e6512f73568e293325f4a97f5546f89702fbcd2","scripts":{"lint":"biome check src examples","test":"expo-module test","build":"npm run build:bindings && npm run build:lib && npm run build:expo","release":"npm run build && changeset publish","lint:fix":"biome format --write src examples","open:ios":"xed example/ios","build:ios":"./scripts/build-ios.sh","build:lib":"tsdown","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p examples/browser/tsconfig.json && tsc --noEmit -p examples/expo/tsconfig.json && tsc --noEmit -p examples/node/tsconfig.json","build:expo":"expo-module build -p tsconfig.json --outDir dist","build:wasm":"./scripts/build-wasm.sh","open:android":"open -a \"Android Studio\" example/android","build:android":"./scripts/build-android.sh","build:bindings":"npm run build:wasm && npm run build:android && npm run build:ios"},"_npmUser":{"name":"aptos-labs","email":"npmjs@aptoslabs.com"},"repository":{"url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git","type":"git"},"_npmVersion":"10.9.7","description":"Bindings for Aptos confidential asset (discrete log + range proofs)","directories":{},"_nodeVersion":"22.22.2","react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"expo":"^55.0.11","tsdown":"^0.21.7","wasm-pack":"^0.13.1","typescript":"^5.8.3","@types/react":"~19.1.1","react-native":"0.82.1","@biomejs/biome":"^2.4.10","@changesets/cli":"^2.30.0","expo-module-scripts":"^55.0.2"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/confidential-asset-bindings_0.1.1_1775586646375_0.16522917296464157","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aptos-labs/confidential-asset-bindings","version":"1.1.0","keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof","react-native","expo","@aptos-labs/confidential-asset-bindings","ConfidentialAssetBindings"],"author":{"url":"https://github.com/aptos-labs","name":"aptoslabs","email":"aptoslabs@aptoslabs.com"},"license":"Apache-2.0","_id":"@aptos-labs/confidential-asset-bindings@1.1.0","maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"dist":{"shasum":"1de681317e8e1399687d8c4b3f8e2e6346bf38c3","tarball":"https://registry.npmjs.org/@aptos-labs/confidential-asset-bindings/-/confidential-asset-bindings-1.1.0.tgz","fileCount":54,"integrity":"sha512-J6x2l6XhxHaYhaXWkTJwzCYNhWugNXWjUDH23e0I1Sor6NJuce1+J9QitHnjyTxtIMZ5mmOTciOY/J2AIA3pTQ==","signatures":[{"sig":"MEQCIDrk4BpPRkcEyI5a48jxzhtS8qZBNauzaQ/Iav0EkJnFAiA+Vf7LyAzp9/ibx9Zt9YXJCT84MYRB1SnBLHOEWqhAcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aptos-labs%2fconfidential-asset-bindings@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61889317},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"default":"./dist/index.mjs","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"react-native":{"types":"./dist/index.native.d.ts","default":"./dist/index.native.js"}}},"gitHead":"d2877559881b6f46a042cfc3fadc0a6156744c1e","scripts":{"lint":"biome check src examples","test":"expo-module test","build":"npm run build:bindings && npm run build:lib && npm run build:expo","release":"npm run build && changeset publish","lint:fix":"biome format --write src examples","build:ios":"./scripts/build-ios.sh","build:lib":"tsdown","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.lib.json && tsc --noEmit -p examples/browser/tsconfig.json && tsc --noEmit -p examples/expo/tsconfig.json && tsc --noEmit -p examples/node/tsconfig.json","build:expo":"expo-module build -p tsconfig.json --outDir dist","build:wasm":"./scripts/build-wasm.sh","build:android":"./scripts/build-android.sh","build:bindings":"npm run build:wasm && npm run build:android && npm run build:ios"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0a3e50c4-dab4-4806-8fdb-9a585e9e4094"}},"repository":{"url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git","type":"git"},"_npmVersion":"11.8.0","description":"Bindings for Aptos confidential asset (discrete log + range proofs)","directories":{},"_nodeVersion":"24.13.1","react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"expo":"^55.0.11","tsdown":"^0.21.7","wasm-pack":"^0.13.1","typescript":"^5.8.3","@types/react":"~19.1.1","react-native":"0.82.1","@biomejs/biome":"^2.4.10","@changesets/cli":"^2.30.0","expo-module-scripts":"^55.0.2"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/confidential-asset-bindings_1.1.0_1775605887957_0.3852047213530041","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aptos-labs/confidential-asset-bindings","version":"1.1.1","keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof","react-native","expo","@aptos-labs/confidential-asset-bindings","ConfidentialAssetBindings"],"author":{"url":"https://github.com/aptos-labs","name":"aptoslabs","email":"aptoslabs@aptoslabs.com"},"license":"Apache-2.0","_id":"@aptos-labs/confidential-asset-bindings@1.1.1","maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"dist":{"shasum":"a6c8ed6680a3af59973d88be449d673037ec9840","tarball":"https://registry.npmjs.org/@aptos-labs/confidential-asset-bindings/-/confidential-asset-bindings-1.1.1.tgz","fileCount":60,"integrity":"sha512-vIqdsNYDVAgZBjdxGbDE5OHMAvbiqy26udMmkJfrrVWmzDqhoy9ESCKU/FmfnyGzcuapxigVrlmhFd4kQODlsw==","signatures":[{"sig":"MEYCIQD2Rqvb4Phj8MhQNtv8peZQxRdb1i1rTIuOLEW0/SyHcwIhAMZe0790GIXd0c1mwIpleWamx7+ItrhxjEPA6pcRYz8y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aptos-labs%2fconfidential-asset-bindings@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61941387},"main":"./dist/index.node.cjs","type":"module","types":"./dist/index.node.d.mts","module":"./dist/index.node.mjs","exports":{".":{"import":{"types":"./dist/index.node.d.mts","default":"./dist/index.node.mjs"},"browser":{"types":"./dist/index.browser.d.mts","default":"./dist/index.browser.mjs"},"default":"./dist/index.node.mjs","require":{"types":"./dist/index.node.d.cts","default":"./dist/index.node.cjs"},"react-native":{"types":"./dist/expo/index.d.ts","default":"./dist/expo/index.js"}}},"gitHead":"065ec4c64239b29ce8e12384c8fa86543ada4e08","scripts":{"lint":"biome check src examples","test":"expo-module test","build":"npm run build:bindings && npm run build:lib && npm run build:expo","release":"npm run build && changeset publish","version":"./scripts/changeset-version.sh","lint:fix":"biome format --write src examples","build:ios":"./scripts/build-ios.sh","build:lib":"tsdown","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.lib.json && tsc --noEmit -p examples/browser/tsconfig.json && tsc --noEmit -p examples/expo/tsconfig.json && tsc --noEmit -p examples/node/tsconfig.json","build:expo":"expo-module build -p tsconfig.json --outDir dist","build:wasm":"./scripts/build-wasm.sh","build:android":"./scripts/build-android.sh","build:bindings":"npm run build:wasm && npm run build:android && npm run build:ios"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0a3e50c4-dab4-4806-8fdb-9a585e9e4094"}},"repository":{"url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git","type":"git"},"_npmVersion":"11.8.0","description":"Bindings for Aptos confidential asset (discrete log + range proofs)","directories":{},"_nodeVersion":"24.13.1","react-native":"./dist/expo/index.js","_hasShrinkwrap":false,"devDependencies":{"expo":"^55.0.11","tsdown":"^0.21.7","wasm-pack":"^0.13.1","typescript":"^5.8.3","@types/react":"~19.1.1","react-native":"0.82.1","@biomejs/biome":"^2.4.10","@changesets/cli":"^2.30.0","expo-module-scripts":"^55.0.2"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/confidential-asset-bindings_1.1.1_1775686568920_0.43285092509613565","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@aptos-labs/confidential-asset-bindings","version":"1.1.2","description":"Bindings for Aptos confidential asset (discrete log + range proofs)","main":"./dist/index.node.cjs","types":"./dist/index.node.d.mts","type":"module","module":"./dist/index.node.mjs","react-native":"./dist/expo/index.js","exports":{".":{"react-native":{"types":"./dist/expo/index.d.ts","default":"./dist/expo/index.js"},"browser":{"types":"./dist/index.browser.d.mts","default":"./dist/index.browser.mjs"},"import":{"types":"./dist/index.node.d.mts","default":"./dist/index.node.mjs"},"require":{"types":"./dist/index.node.d.cts","default":"./dist/index.node.cjs"},"default":"./dist/index.node.mjs"}},"scripts":{"build:wasm":"./scripts/build-wasm.sh","build:android":"./scripts/build-android.sh","build:ios":"./scripts/build-ios.sh","build:bindings":"npm run build:wasm && npm run build:android && npm run build:ios","build:lib":"tsdown","build:expo":"expo-module build -p tsconfig.json --outDir dist","build":"npm run build:bindings && npm run build:lib && npm run build:expo","changeset":"changeset","lint":"biome check src examples","lint:fix":"biome format --write src examples","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.lib.json && tsc --noEmit -p examples/browser/tsconfig.json && tsc --noEmit -p examples/expo/tsconfig.json && tsc --noEmit -p examples/node/tsconfig.json","test":"expo-module test","release":"npm run build && changeset publish","version":"./scripts/changeset-version.sh"},"keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof","react-native","expo","@aptos-labs/confidential-asset-bindings","ConfidentialAssetBindings"],"repository":{"type":"git","url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git"},"bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"author":{"name":"aptoslabs","email":"aptoslabs@aptoslabs.com","url":"https://github.com/aptos-labs"},"license":"Apache-2.0","homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","devDependencies":{"@biomejs/biome":"^2.4.10","@changesets/cli":"^2.30.0","@types/react":"~19.1.1","expo":"^55.0.11","expo-module-scripts":"^55.0.2","react-native":"0.82.1","tsdown":"^0.21.7","typescript":"^5.8.3","wasm-pack":"^0.15.0"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"gitHead":"fe2b2f0ef76a30154bfcaf3650afcbf873f4a758","_id":"@aptos-labs/confidential-asset-bindings@1.1.2","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-nWOcLWv4izA6Orh5UbwsBK+P0A727OzdmL1wxMTIeoZgRMY3bPqUWJ1cM5FYJPaey4Qpxi9Lofc8wrYbkxn4Bg==","shasum":"bcb385b731f61bc271530820eac62fec6e11c8fe","tarball":"https://registry.npmjs.org/@aptos-labs/confidential-asset-bindings/-/confidential-asset-bindings-1.1.2.tgz","fileCount":60,"unpackedSize":61997587,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aptos-labs%2fconfidential-asset-bindings@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCO+ES5Um/9L2NBzFME88upoQ0E9Tg24SjMRp0NatFuEQIhAK7Q6qaW+1Aojdt0y/u3U3v4o6Hzr8Sg3+QCRtYxrNe7"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0a3e50c4-dab4-4806-8fdb-9a585e9e4094"}},"directories":{},"maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/confidential-asset-bindings_1.1.2_1779204086753_0.14302336423840334"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T23:25:24.535Z","modified":"2026-05-19T15:21:27.917Z","1.0.0":"2026-03-30T16:27:46.132Z","1.0.1":"2026-03-30T17:55:09.672Z","1.0.2":"2026-03-30T19:33:47.383Z","1.0.3":"2026-03-31T01:34:16.151Z","0.0.1":"2026-03-31T15:37:45.538Z","0.1.0":"2026-04-06T23:25:24.916Z","0.1.1":"2026-04-07T18:30:47.214Z","1.1.0":"2026-04-07T23:51:28.773Z","1.1.1":"2026-04-08T22:16:09.736Z","1.1.2":"2026-05-19T15:21:27.596Z"},"bugs":{"url":"https://github.com/aptos-labs/confidential-asset-bindings/issues"},"author":{"name":"aptoslabs","email":"aptoslabs@aptoslabs.com","url":"https://github.com/aptos-labs"},"license":"Apache-2.0","homepage":"https://github.com/aptos-labs/confidential-asset-bindings#readme","keywords":["aptos","confidential","wasm","bulletproofs","discrete-log","range-proof","react-native","expo","@aptos-labs/confidential-asset-bindings","ConfidentialAssetBindings"],"repository":{"type":"git","url":"git+https://github.com/aptos-labs/confidential-asset-bindings.git"},"description":"Bindings for Aptos confidential asset (discrete log + range proofs)","maintainers":[{"name":"aptos-labs","email":"npmjs@aptoslabs.com"}],"readme":"# @aptos-labs/confidential-asset-bindings\n\nCross-platform cryptographic library for Aptos confidential assets — discrete log solving over Ristretto255 and Bulletproof range proofs, running on Web, Node.js, iOS, and Android.\n\n## Install\n\n```bash\nnpm install @aptos-labs/confidential-asset-bindings\n```\n\n## Usage\n\nNo initialization is required. WASM loads automatically on first call.\n\n### Solve a discrete log\n\nDecrypt a confidential asset balance from a Ristretto255 curve point.\n\n```typescript\nimport { solveDiscreteLog } from \"@aptos-labs/confidential-asset-bindings\";\n\n// y is a 32-byte compressed Ristretto255 point\nconst balance: bigint = await solveDiscreteLog(y, 32);\n```\n\n`maxNumBits` must be `16` or `32`.\n\n### Generate a range proof\n\nProve that values lie in `[0, 2^numBits)` without revealing them.\n\n```typescript\nimport { batchRangeProof } from \"@aptos-labs/confidential-asset-bindings\";\n\nconst { proof, comms } = await batchRangeProof({\n  v: [100n, 200n],                          // values to prove (u64)\n  rs: [blindingFactor1, blindingFactor2],   // 32-byte blinding factors; length must equal v.length\n  valBase,                                  // 32-byte Pedersen value base point\n  randBase,                                 // 32-byte Pedersen randomness base point\n  numBits: 32,                              // 8, 16, 32, or 64 (default: 32)\n});\n```\n\n### Verify a range proof\n\n```typescript\nimport { batchVerifyProof } from \"@aptos-labs/confidential-asset-bindings\";\n\nconst valid: boolean = await batchVerifyProof({\n  proof,\n  comms,\n  valBase,\n  randBase,\n  numBits: 32,\n});\n```\n\n## Cross-version compatibility\n\nRange proofs are generated with Bulletproofs v5.0.0 and are verifiable by v4.0.0 as used in aptos-core. The domain separation tag `b\"AptosConfidentialAsset/BulletproofRangeProof\"` matches the on-chain verifier exactly, so proofs produced by this library can be submitted directly to the Aptos network.\n\n## Algorithm selection\n\nThe discrete log solver algorithm is selected at compile time via Cargo features (WASM builds only). Only one feature may be active at a time.\n\n| Feature | Table Size | WASM Size | Notes |\n|---|---|---|---|\n| `tbsgs_k` (default) | ~512 KiB | ~774 KiB | Recommended — best size/performance ratio |\n| `bsgs_k` | ~2.0 MiB | ~2.1 MiB | Faster, larger |\n| `bsgs` | ~2.0 MiB | ~2.1 MiB | Standard BSGS |\n| `bl12` | ~258 KiB | ~268 KiB | Smallest, slowest |\n\nTo build with a non-default algorithm, pass `--no-default-features --features <name>` to the underlying `wasm-pack` invocation.\n\n## Building from source\n\nToolchain versions are managed by [mise](https://mise.jdx.dev/). Run `mise install` in the repo root, then:\n\n```bash\nnpm run build           # full build: Rust → WASM + Android + iOS + JS bundle\nnpm run build:wasm      # WASM only\nnpm run build:android   # Android .so files\nnpm run build:ios       # iOS xcframework\nnpm run build:lib       # JS/TS bundle (requires pre-built WASM)\n```\n\n## Links\n\n- [Native bindings (Go)](docs/bindings.md)\n- [API Reference](docs/api.md)\n- [Examples](docs/examples.md)\n- [Advanced usage](docs/advanced.md)\n- [Architecture](docs/architecture.md)\n- [GitHub repository](https://github.com/aptos-labs/confidential-asset-bindings)\n","readmeFilename":"README.md"}