{"_id":"@abstraxn/policy-core","_rev":"4-84d4be18e00818b29ce68e5e9c2dcba5","name":"@abstraxn/policy-core","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@abstraxn/policy-core","version":"0.1.0","author":{"url":"https://www.abstraxn.com/","name":"Team Abstraxn","email":"developer@abstraxn.com"},"license":"MIT","_id":"@abstraxn/policy-core@0.1.0","maintainers":[{"name":"shubham.antier","email":"shubham.singla@antiersolutions.com"},{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},{"name":"abhi883","email":"abhishek.upadhyay@antiersolutions.com"},{"name":"pankaj829","email":"pankajdogra829@gmail.com"}],"dist":{"shasum":"2d4e2bf79fd9a08cb1b98f745028c22b446a51fb","tarball":"https://registry.npmjs.org/@abstraxn/policy-core/-/policy-core-0.1.0.tgz","fileCount":25,"integrity":"sha512-3gB9IJOTF1tYPvpLJX0W8HexEsCKpgoiXz5Ubus5BH09svGSuOmVNN9rwDZ48iPIb6WkkCgmc+fgUUvvDvhSNA==","signatures":[{"sig":"MEUCIGLTJsg6fgQFC826Y6OOjC4/uJkGX6MKY+loQmCUwB04AiEAyAQMk+IILtJIvRBsLlNLEAijSg3EqmCfqm+1D/zZ5ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94502},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","module":"./dist/src/index.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","require":"./dist/src/index.js"}},"gitHead":"cd14199a9bff6cda7bdccc5dc7fb9047262c7661","scripts":{"build":"rimraf dist && tsc"},"typings":"./dist/src/index.d.ts","_npmUser":{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},"_npmVersion":"11.13.0","description":"Form DSL types and secure-enclave policy compiler for Abstraxn wallet policies","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/policy-core_0.1.0_1783509337610_0.5679925421889029","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@abstraxn/policy-core","version":"0.1.1","author":{"url":"https://www.abstraxn.com/","name":"Team Abstraxn","email":"developer@abstraxn.com"},"license":"MIT","_id":"@abstraxn/policy-core@0.1.1","maintainers":[{"name":"shubham.antier","email":"shubham.singla@antiersolutions.com"},{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},{"name":"abhi883","email":"abhishek.upadhyay@antiersolutions.com"},{"name":"pankaj829","email":"pankajdogra829@gmail.com"}],"dist":{"shasum":"bab342ede616681ff21091abe7a1efeb20db85bc","tarball":"https://registry.npmjs.org/@abstraxn/policy-core/-/policy-core-0.1.1.tgz","fileCount":25,"integrity":"sha512-+W9eJS9/jirNoxiBKEbqEcszhAHZ+Tq+dHuHeuwhWNiwj87PfIJdJFHOkLha9wPSl+OH/Ryg/+qDQd4HE4T8vg==","signatures":[{"sig":"MEYCIQCZJbBGWCUZIVrbbRgQfcRuG1T/cqnGsWqb6CVv8M48OQIhAI4RboroukEex3vp2Q5KVm1wW5Bgmk0j/+dr6tMGyf2o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94766},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","module":"./dist/src/index.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","require":"./dist/src/index.js"}},"gitHead":"cd14199a9bff6cda7bdccc5dc7fb9047262c7661","scripts":{"build":"rimraf dist && tsc"},"typings":"./dist/src/index.d.ts","_npmUser":{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},"_npmVersion":"11.13.0","description":"Form DSL types and secure-enclave policy compiler for Abstraxn wallet policies","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/policy-core_0.1.1_1783510261164_0.5862255754901822","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@abstraxn/policy-core","version":"0.1.2","author":{"url":"https://www.abstraxn.com/","name":"Team Abstraxn","email":"developer@abstraxn.com"},"license":"MIT","_id":"@abstraxn/policy-core@0.1.2","maintainers":[{"name":"shubham.antier","email":"shubham.singla@antiersolutions.com"},{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},{"name":"abhi883","email":"abhishek.upadhyay@antiersolutions.com"},{"name":"pankaj829","email":"pankajdogra829@gmail.com"}],"dist":{"shasum":"6bed6b2a6843b18261ab110b3a0899cb5860a3a5","tarball":"https://registry.npmjs.org/@abstraxn/policy-core/-/policy-core-0.1.2.tgz","fileCount":25,"integrity":"sha512-w+reWWUX+Na1xPCGxVzpKPk2i3yEtJsebCSiWDgC2f6WDKrOJwwxdyTVnOZPU6YqivwWpxR/Gim5rqB1955PDA==","signatures":[{"sig":"MEYCIQD9obNrLudIsMjh00J6cU9iVtcsVD8nONhMbTNf9pclYQIhANsvwnbdlZjhQ6G6xVyJma07UiNNo63+sivwbU/EhFBd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95443},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","module":"./dist/src/index.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","require":"./dist/src/index.js"}},"gitHead":"cd14199a9bff6cda7bdccc5dc7fb9047262c7661","scripts":{"build":"rimraf dist && tsc"},"typings":"./dist/src/index.d.ts","_npmUser":{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},"_npmVersion":"11.13.0","description":"Form DSL types and secure-enclave policy compiler for Abstraxn wallet policies","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/policy-core_0.1.2_1783572667328_0.2564023285661179","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@abstraxn/policy-core","version":"0.1.3","description":"Form DSL types and secure-enclave policy compiler for Abstraxn wallet policies","main":"./dist/src/index.js","module":"./dist/src/index.js","types":"./dist/src/index.d.ts","typings":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js","require":"./dist/src/index.js","types":"./dist/src/index.d.ts"}},"scripts":{"build":"rimraf dist && tsc"},"author":{"name":"Team Abstraxn","email":"developer@abstraxn.com","url":"https://www.abstraxn.com/"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^25.0.3","rimraf":"^6.1.2","typescript":"^5.9.3"},"gitHead":"cd14199a9bff6cda7bdccc5dc7fb9047262c7661","_id":"@abstraxn/policy-core@0.1.3","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-cWHs11VpOXn/3R63qF/YCjMDUTWS49OLFWF+qCe8v5g4Q+FCThPWfRk8qmeaT1agekenRaK/qNg3/LHjnFU8eA==","shasum":"4dab8f7d147d8c47e05c0d6b5be25db5f2057756","tarball":"https://registry.npmjs.org/@abstraxn/policy-core/-/policy-core-0.1.3.tgz","fileCount":28,"unpackedSize":100701,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHcE57SKgpJwQwNywFj+y/bDtaOUuSEeNTfKeFXaNAsIAiAy1J5H59eHHTtBS3qsb4XXPhrVeyvzIaa+Mr2xs1cg5g=="}]},"_npmUser":{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},"directories":{},"maintainers":[{"name":"shubham.antier","email":"shubham.singla@antiersolutions.com"},{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},{"name":"abhi883","email":"abhishek.upadhyay@antiersolutions.com"},{"name":"pankaj829","email":"pankajdogra829@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/policy-core_0.1.3_1783597140611_0.49336426276668366"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T11:15:37.251Z","modified":"2026-07-09T11:39:00.942Z","0.1.0":"2026-07-08T11:15:37.761Z","0.1.1":"2026-07-08T11:31:01.296Z","0.1.2":"2026-07-09T04:51:07.504Z","0.1.3":"2026-07-09T11:39:00.757Z"},"author":{"name":"Team Abstraxn","email":"developer@abstraxn.com","url":"https://www.abstraxn.com/"},"license":"MIT","description":"Form DSL types and secure-enclave policy compiler for Abstraxn wallet policies","maintainers":[{"name":"shubham.antier","email":"shubham.singla@antiersolutions.com"},{"name":"sandeep_sj","email":"sandeepsj26899@gmail.com"},{"name":"abhi883","email":"abhishek.upadhyay@antiersolutions.com"},{"name":"pankaj829","email":"pankajdogra829@gmail.com"}],"readme":"# @abstraxn/policy-core\n\nForm DSL types and **secure-enclave** policy compiler for Abstraxn wallet policies.\n\nPass simple rule objects (`CreatePolicyInput`). Abstraxn compiles them into policies that run inside a **secure enclave** at sign time — so your backend, a compromised app server, or even the user session cannot sign a transaction that breaks the rules. Only the wallet owner (by changing or removing the policy) can bypass them.\n\n```ts\nimport {\n  validateCreatePolicyInput,\n  buildPoliciesFromForm,\n} from '@abstraxn/policy-core';\n\nconst input = {\n  name: 'mainnet-guard',\n  walletId: 'wallet-abc',\n  blockchain: 'evm' as const,\n  chainIds: [1],\n  enforcement: 'enforced' as const,\n  rules: {\n    recipientBlacklist: [\n      { addresses: ['0x000000000000000000000000000000000000dead'] },\n    ],\n    nativeAmountLimits: [{ max: '1000000000000000000' }],\n  },\n};\n\nvalidateCreatePolicyInput(input);\nconst enclavePolicies = buildPoliciesFromForm(input);\n```\n\n## Enforcement modes\n\n| Mode | Meaning |\n|------|---------|\n| `enforced` (default) | Installed in the secure enclave. Signing is rejected if the rule is violated. |\n| `advisory` | Stored for your app/UI only — not installed in the enclave. |\n\n## See also\n\nWallet docs: **Wallet policies** in Abstraxn docs (`guides/wallets/wallet-policies`).\n","readmeFilename":"README.md"}