{"_id":"@0xmetropolis/metal-sdk","_rev":"4-8ce468c26e997659fdd73c084079ba11","name":"@0xmetropolis/metal-sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@0xmetropolis/metal-sdk","version":"0.1.0","keywords":["sdk","metal","node"],"author":"","license":"MIT","_id":"@0xmetropolis/metal-sdk@0.1.0","maintainers":[{"name":"john-sterlacci","email":"john@sonar-labs.com"},{"name":"kevinweaver","email":"kevinweaver2@gmail.com"},{"name":"quizford","email":"marco@sonar-labs.com"}],"dist":{"shasum":"77e1daf95f4fac6a01f2506c7d2f3803586e3a73","tarball":"https://registry.npmjs.org/@0xmetropolis/metal-sdk/-/metal-sdk-0.1.0.tgz","fileCount":25,"integrity":"sha512-yrTDZ4l1F3JkriNxs1S3vmZMkrSjRHbY8Uhfuv7rlc5EouxtB/2fXCg/TCfSkrMkyqrgfofQhpkU2eA8NwrhDA==","signatures":[{"sig":"MEYCIQDdQUuaCZ/zeqDAnYgRqMSokvmWm1+sJR2zLQvbWjIsMwIhAKOiYLNQpe8dOMf+mgKFXqVk2qtISDt6qaS8XOz2F0qv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30317},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"94b79dc70e5fe9c1a1578766bfb83bb333d4e04e","scripts":{"lint":"eslint . --ext .ts","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build"},"_npmUser":{"name":"kevinweaver","email":"kevinweaver2@gmail.com"},"_npmVersion":"10.9.0","description":"A Node.js SDK for metal.build","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.24","@typescript-eslint/parser":"^7.1.0","@typescript-eslint/eslint-plugin":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/metal-sdk_0.1.0_1743458754775_0.5687466157026786","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@0xmetropolis/metal-sdk","version":"0.1.1","keywords":["sdk","metal","node"],"author":"","license":"MIT","_id":"@0xmetropolis/metal-sdk@0.1.1","maintainers":[{"name":"john-sterlacci","email":"john@sonar-labs.com"},{"name":"kevinweaver","email":"kevinweaver2@gmail.com"},{"name":"quizford","email":"marco@sonar-labs.com"}],"dist":{"shasum":"ef469bd1fbc96533bd8896a45c3969b554cc8d85","tarball":"https://registry.npmjs.org/@0xmetropolis/metal-sdk/-/metal-sdk-0.1.1.tgz","fileCount":25,"integrity":"sha512-cD/wndQmgrc4Fqf7f5s1+jkyJhAYHt2VG4w7QWncrWv8E8rRoXhZsRHhIhQUk56fiErWIxCgZUGeZM+gDbxd0w==","signatures":[{"sig":"MEQCIFxruMYrKtps61bd/tgqT54nG7c5GgoH7aPDkNODEKWOAiAOti7SZZ0YX0rzzceEsJvb4Clfrdv18DAIAOJsPPYtUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34657},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3561c23e9ce38e013d310bc8a249791faea7534c","scripts":{"lint":"eslint . --ext .ts","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build"},"_npmUser":{"name":"quizford","email":"marco@sonar-labs.com"},"_npmVersion":"10.9.2","description":"A Node.js SDK for metal.build","directories":{},"_nodeVersion":"20.12.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.24","@typescript-eslint/parser":"^7.1.0","@typescript-eslint/eslint-plugin":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/metal-sdk_0.1.1_1743528015122_0.5688115458953973","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-31T22:05:54.774Z","modified":"2025-05-01T21:04:49.341Z","0.1.0":"2025-03-31T22:05:54.948Z","0.1.1":"2025-04-01T17:20:15.315Z"},"license":"MIT","keywords":["sdk","metal","node"],"description":"A Node.js SDK for metal.build","maintainers":[{"email":"john@sonar-labs.com","name":"john-sterlacci"},{"email":"kevinweaver2@gmail.com","name":"kevinweaver"},{"email":"marco@sonar-labs.com","name":"quizford"},{"email":"tony@metal.build","name":"tony-metal"}],"readme":"# Metal SDK\n\nA flexible Node SDK for interacting with the Metal API. This SDK provides a clean interface for all Metal API endpoints with separate configurations for client-side and server-side usage.\n\nFor more information on the Metal API, please refer to the [Metal API Docs](https://docs.metal.build).\n\n## Frontend Setup (Client-side)\n\nFor public endpoints that don't require secret keys, use the public client:\n\n```typescript\nimport { Metal } from \"@0xmetropolis/metal-sdk\";\n\n// Initialize with public key\nconst metal = Metal.createPublicClient(\"your_public_key\");\n\n// Examples of client-safe operations:\n// Get holder details\nconst holder = await metal.holder.getHolder(\"user123\");\n\n// Get token balance\nconst balance = await metal.holder.getTokenBalance(\n    \"user123\",\n    \"tokenAddress\"\n);\n```\n\n## Backend Setup (Server-side)\n\nFor protected endpoints that require authentication, use the secret client:\n\n```typescript\nimport { Metal } from \"@0xmetropolis/metal-sdk\";\n\n// Initialize with secret key\nconst metal = Metal.createSecretClient(\"your_secret_key\");\n\n// Examples of server-side operations:\n// Create a new token\nconst tokenJob = await metal.createToken({\n    name: \"My Token\",\n    symbol: \"MTK\",\n});\n\n// Distribute tokens\nconst distribution = await metal.distribute(\"tokenAddress\", {\n    sendToAddress: \"holderAddress\",\n    amount: \"100\",\n});\n\n// Get or create holder\nconst holder = await metal.getOrCreateHolder(\"user123\");\n```\n\n🚨 Note: Never expose your secret key in client-side code. The secret client should only be used in secure server environments.\n\n## Publishing\n\n1. Implement changes, add features, etc.\n\n2. Bump the version in `package.json`\n\n3. `npm install && npm run build`. Ensure the build passes.\n\n4. `npm login` (if not already logged in)\n\n5. `npm publish`.\n","readmeFilename":"README.md"}