{"_id":"@brightchain/brightledger-assets-lib","name":"@brightchain/brightledger-assets-lib","dist-tags":{"latest":"0.31.0"},"versions":{"0.31.0":{"name":"@brightchain/brightledger-assets-lib","version":"0.31.0","description":"BrightLedger programmable asset layer — browser-safe domain library: typed payloads, canonical serializer, Asset_Id derivation, and SDK constructors.","type":"commonjs","main":"src/index.js","types":"src/index.d.ts","repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/BrightChain.git","directory":"brightledger-assets-lib"},"homepage":"https://github.com/Digital-Defiance/BrightChain#readme","bugs":{"url":"https://github.com/Digital-Defiance/BrightChain/issues"},"keywords":["brightchain","brightledger","assets","programmable","ledger","browser-safe"],"author":{"name":"Digital Defiance"},"license":"MIT","peerDependencies":{"@brightchain/brightchain-lib":"^0.31.0","@digitaldefiance/ecies-lib":">=5.1.6"},"dependencies":{"@noble/hashes":"^1.8.0","cbor-x":"^1.6.0","tslib":"^2.3.0"},"devDependencies":{"@types/node":"^22.0.0","fast-check":"^4.7.0","ts-jest":"^29.0.0"},"scripts":{"build:prod":"npx nx build brightledger-assets-lib --configuration=production"},"_id":"@brightchain/brightledger-assets-lib@0.31.0","gitHead":"96e479427cb59853e7170c050139f67d2ddd8907","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-4sHBXQZbcX/EK55o1DzTl1oKB5CcjMsryBU5bSSu09fFJDomTTHHePtwwj24thI0UDtUd9PTQNk0YmIJUh8HZQ==","shasum":"bfa75cbdb95daa1925600379fb76256bbb9f0834","tarball":"https://registry.npmjs.org/@brightchain/brightledger-assets-lib/-/brightledger-assets-lib-0.31.0.tgz","fileCount":110,"unpackedSize":156117,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH6IZxoy/qSvJwuQhoQo+XP0ecsdOq6Ba81tjN8v72uRAiEAhbsoDtP39BkeYV+X46AEQ2TktGXmQGTvI9V/ZNpymNo="}]},"_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-lib_0.31.0_1778085309556_0.03071798641391399"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T16:35:09.482Z","0.31.0":"2026-05-06T16:35:09.711Z","modified":"2026-05-06T16:35:09.914Z"},"maintainers":[{"name":"jessica-mulein","email":"jessica@mulein.com"}],"description":"BrightLedger programmable asset layer — browser-safe domain library: typed payloads, canonical serializer, Asset_Id derivation, and SDK constructors.","homepage":"https://github.com/Digital-Defiance/BrightChain#readme","keywords":["brightchain","brightledger","assets","programmable","ledger","browser-safe"],"repository":{"type":"git","url":"git+https://github.com/Digital-Defiance/BrightChain.git","directory":"brightledger-assets-lib"},"author":{"name":"Digital Defiance"},"bugs":{"url":"https://github.com/Digital-Defiance/BrightChain/issues"},"license":"MIT","readme":"# brightledger-assets-lib\n\nBrowser-safe domain library for the BrightLedger programmable asset layer.\n\nProvides typed action payloads, a canonical CBOR serializer, Asset ID derivation, and SDK constructors. Designed for use in both browser and Node.js environments.\n\n## Features\n\n- **Typed payloads** — All 18 asset action kinds with discriminated-union `IAssetAction`\n- **Serializer** — `AssetActionSerializer`: versioned CBOR encoding / decoding with `MalformedActionError` on invalid input\n- **Asset ID derivation** — `deriveAssetId(issuerPublicKey, issuanceEntryHash)` using SHA-256 (browser-safe via `@noble/hashes`)\n\n## Installation\n\n```bash\nyarn add @brightchain/brightledger-assets-lib\n```\n\n## Usage\n\n```typescript\nimport { AssetActionSerializer, deriveAssetId, ActionKind } from '@brightchain/brightledger-assets-lib';\n\nconst assetId = deriveAssetId(issuerPublicKey, issuanceEntryHash);\n\nconst action: IIssueAssetAction = {\n  kind: ActionKind.IssueAsset,\n  symbol: 'TKN',\n  // ...\n};\n\nconst bytes = AssetActionSerializer.serialize(action);\nconst decoded = AssetActionSerializer.deserialize(bytes);\n```\n","readmeFilename":"README.md","_rev":"1-17d6ba4e2a591e90aa827e298234440e"}