{"_id":"@brightchain/brightledger-assets-api-lib","name":"@brightchain/brightledger-assets-api-lib","dist-tags":{"latest":"0.31.0"},"versions":{"0.31.0":{"name":"@brightchain/brightledger-assets-api-lib","version":"0.31.0","description":"BrightLedger programmable asset ledger — validator, reducer, and projected state engine","main":"src/index.js","types":"src/index.d.ts","type":"commonjs","repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/BrightChain.git","directory":"brightledger-assets-api-lib"},"homepage":"https://github.com/Digital-Defiance/BrightChain#readme","bugs":{"url":"https://github.com/Digital-Defiance/BrightChain/issues"},"keywords":["brightchain","brightledger","assets","validator","reducer","ledger"],"author":{"name":"Digital Defiance"},"license":"MIT","peerDependencies":{"@brightchain/brightchain-lib":"^0.31.0","@brightchain/brightledger-assets-lib":"^0.31.0","express":"^4.0.0 || ^5.0.0"},"dependencies":{"tslib":"^2.3.0"},"devDependencies":{"@types/express":"^5.0.0","@types/node":"^22.0.0","@types/supertest":"^6.0.3","fast-check":"^4.7.0","supertest":"^7.2.2","ts-jest":"^29.0.0"},"scripts":{"build":"yarn nx build brightledger-assets-api-lib","test":"yarn nx test brightledger-assets-api-lib","lint":"yarn nx lint brightledger-assets-api-lib","build:prod":"npx nx build brightledger-assets-api-lib --configuration=production"},"_id":"@brightchain/brightledger-assets-api-lib@0.31.0","gitHead":"96e479427cb59853e7170c050139f67d2ddd8907","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-Jb0Cw1lrrYRXYmnVKyA8okVBdqDNrlPwB2+qPTHKpvYMFeMEr0uw6eslUToSrvjFngy7whgBc6jBqKjTaNpzgA==","shasum":"731659dd0d671b8f7e14866445efce9f1ce7a928","tarball":"https://registry.npmjs.org/@brightchain/brightledger-assets-api-lib/-/brightledger-assets-api-lib-0.31.0.tgz","fileCount":62,"unpackedSize":298780,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGx2V742188S+dS5yLe+RsDkB4zdTDEtPiVeCCRhps25AiEAuDG9VTDT0GWqUW29aJBmM/AHichwNrP/N1WooItMSL0="}]},"_npmUser":{"name":"jessica-mulein","email":"jessica@mulein.com"},"directories":{},"maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brightledger-assets-api-lib_0.31.0_1778085433217_0.5514132453821001"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T16:37:13.101Z","0.31.0":"2026-05-06T16:37:13.371Z","modified":"2026-05-06T16:37:13.649Z"},"maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"description":"BrightLedger programmable asset ledger — validator, reducer, and projected state engine","homepage":"https://github.com/Digital-Defiance/BrightChain#readme","keywords":["brightchain","brightledger","assets","validator","reducer","ledger"],"repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/BrightChain.git","directory":"brightledger-assets-api-lib"},"author":{"name":"Digital Defiance"},"bugs":{"url":"https://github.com/Digital-Defiance/BrightChain/issues"},"license":"MIT","readme":"# brightledger-assets-api-lib\n\nValidator, reducer, and projected state engine for the BrightChain programmable asset ledger (Layer 3).\n\n## Overview\n\nThis package provides:\n\n- **`IAssetProjectedState`** — read-only in-memory view of all asset balances, nonces, frozen flags, whitelists, issuer sets, and settlement state\n- **`AssetActionValidator`** — pure, I/O-free validation of every action kind against current projected state; enforces conservation, quorum, nonce ordering, and all business rules from the spec\n- **`AssetStateReducer`** — pure state transition; assumes pre-validation; returns a new `IAssetProjectedState`\n\n## Architecture\n\n```\nIAssetAction  ──►  AssetActionValidator  ──►  valid / error\n                                         │\n                                         ▼ (on valid)\n                                   AssetStateReducer\n                                         │\n                                         ▼\n                               IAssetProjectedState (new)\n```\n\nBoth classes perform no I/O and have no side effects. They are designed for use in the `SubmissionService` pipeline and are fully testable in isolation.\n\n## Peer Dependencies\n\n- `@brightchain/brightchain-lib` — `AuthorizedSignerSet`, `IBrightTrustPolicy`, `QuorumType`, `SignerRole`\n- `@brightchain/brightledger-assets-lib` — all payload types, `AssetErrorCode`, `ActionKind`, `AssetIdBuffer`\n","readmeFilename":"README.md","_rev":"1-11aa92cbaf0a89feb106af57c0903e9c"}