{"_id":"@bullet-hyperlane/starknet-core","name":"@bullet-hyperlane/starknet-core","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bullet-hyperlane/starknet-core","description":"Core cairo contracts for Hyperlane","version":"1.0.0","type":"module","license":"Apache-2.0","scripts":{"fetch-contracts":"./scripts/fetch-contracts-release.sh","generate-artifacts":"tsx ./scripts/generate-artifacts.ts","build":"tsc && yarn fetch-contracts && yarn generate-artifacts","clean":"rm -rf ./dist ./release","lint":"eslint -c ./eslint.config.mjs .","prettier":"prettier --write ./src ./package.json"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"types":"./dist/index.d.ts","dependencies":{"starknet":"^6.24.1"},"devDependencies":{"@eslint/js":"^9.15.0","@typescript-eslint/eslint-plugin":"^8.1.6","@typescript-eslint/parser":"^8.1.6","eslint":"^9.15.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-import":"^2.31.0","globby":"^14.1.0","prettier":"^3.5.3","tsx":"^4.19.1","typescript":"5.3.3"},"_id":"@bullet-hyperlane/starknet-core@1.0.0","gitHead":"8b02fbb0b4810b527a64c4da514371602859127a","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-1SHefg+IB4e5N02/1cTWz7s40T+KRye74nV2lkJWrg+68Kfe5nlvmnftgp0av9zxOMFQp8269qW3Z0LoFzEKJg==","shasum":"90e7e2566a600dcda2d0fa1360d5a5dba1e71707","tarball":"https://registry.npmjs.org/@bullet-hyperlane/starknet-core/-/starknet-core-1.0.0.tgz","fileCount":220,"unpackedSize":871478,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCxD99SqkARI63LgoYueKLzXmP8vVv21CCcIHk/oxpr1AIgGmKds/T8CxT11QeP0EC7a2raMS3trstrUoIS+DqQYrU="}]},"_npmUser":{"name":"bullet-hyperlane","email":"griffin@sierra.team","actor":{"name":"bullet-hyperlane","email":"griffin@sierra.team","type":"user"}},"directories":{},"maintainers":[{"name":"bullet-hyperlane","email":"griffin@sierra.team"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/starknet-core_1.0.0_1751526754596_0.9643332965020153"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-03T07:12:34.515Z","1.0.0":"2025-07-03T07:12:34.829Z","modified":"2025-07-03T07:12:35.114Z"},"maintainers":[{"name":"bullet-hyperlane","email":"griffin@sierra.team"}],"description":"Core cairo contracts for Hyperlane","license":"Apache-2.0","readme":"# Hyperlane Starknet Core\n\nThe Hyperlane Starknet Core package provides TypeScript tooling for interacting with Hyperlane's Cairo contracts on Starknet. It includes TypeScript artifacts autogenerated from Cairo contracts developed in collaboration with Astraly Labs.\n\n## Features\n\n- Pre-compiled Cairo contract ABI artifacts\n- TypeScript bindings for Starknet contracts\n\n## Installation\n\n```bash\n# Install with NPM\nnpm install @hyperlane-xyz/starknet-core\n\n# Or with Yarn\nyarn add @hyperlane-xyz/starknet-core\n```\n\n## Requirements\n\n- Node.js 18 or newer\n- For development: `curl`, `jq`, and `unzip` utilities\n\n## Usage\n\n```typescript\nimport {\n  ContractType,\n  getCompiledContract,\n} from '@hyperlane-xyz/starknet-core';\n\n// Get the Hyperlane mailbox contract\nconst mailboxContract = getCompiledContract('mailbox');\n\n// Get token contracts\nconst tokenContract = getCompiledContract('erc20', ContractType.TOKEN);\n\n// Get mock contracts\nconst mockContract = getCompiledContract('mock_validator', ContractType.MOCK);\n```\n\n## Contract Categories\n\nContracts are organized into three categories:\n\n- `contracts`: Core Hyperlane protocol contracts\n- `tokens`: Token implementation contracts\n- `mocks`: Test and mock contracts\n\n## Development\n\n### Setup\n\n1. Clone the repository\n2. Install dependencies: `yarn install`\n\n### Build Process\n\nThe build process combines multiple steps in a specific order:\n\n```bash\nyarn build\n```\n\nThis command runs:\n\n1. TypeScript compilation (`tsc`)\n2. Fetching contract artifacts from GitHub (`fetch-contracts`)\n3. Generating TypeScript ABI artifacts from Cairo contracts (`generate-artifacts`)\n\nAll build output is placed in the `dist` directory.\n\n### Individual Build Steps\n\nYou can also run the individual build steps separately:\n\n#### Fetching Contract Artifacts\n\n```bash\nyarn fetch-contracts\n```\n\nThis downloads the contract artifacts from the [Hyperlane Starknet repository](https://github.com/hyperlane-xyz/hyperlane_starknet).\n\n#### Generating TypeScript Artifacts\n\n```bash\nyarn generate-artifacts\n```\n\nThis creates JavaScript and TypeScript declaration files in the `dist/artifacts` directory.\n\n## License\n\nApache 2.0\n","readmeFilename":"README.md","_rev":"1-316ba7078c94c65fd34f0b8fdc1aba08"}