{"_id":"@bellswall/sdk","name":"@bellswall/sdk","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@bellswall/sdk","version":"0.0.1","description":"BellsWall.com Inscription Marketplace Management SDK for Web & Servers","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","test":"jest","prepare":"npm run build"},"publishConfig":{"access":"public"},"keywords":["bellswall","inscription","marketplace","sdk"],"author":{"name":"BellsWall"},"license":"ISC","peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.3","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.4.0","@types/node":"^17.0.45","jest":"^27.4.7","rollup":"^2.66.1","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.1.3","typescript":"^4.5.5"},"dependencies":{"tslib":"^2.8.1"},"_id":"@bellswall/sdk@0.0.1","gitHead":"e8da7e0b84b38e6677896fb460611cad220aa6bd","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-k33fdB+u+2G3KbX0M6wAnD/qYam113HlsBYavQygaDsM/xiuRCr3GmaVFJ9XmOb/1SbOyCdyjyBFa7VVhj+WnQ==","shasum":"979f4610a34f355a47795a7ebddc93a1779e64e2","tarball":"https://registry.npmjs.org/@bellswall/sdk/-/sdk-0.0.1.tgz","fileCount":12,"unpackedSize":77010,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1MUwi7Iq7FWJTHqNbN6fw3BFG2jUxx9GBS4RhMhzfqAiBiY7+grQpoST4d2i8iePt+OeQkecOdnjR+ra52TUgRog=="}]},"_npmUser":{"name":"owenkellogg","email":"mycto@proton.me"},"directories":{},"maintainers":[{"name":"owenkellogg","email":"mycto@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sdk_0.0.1_1731226858302_0.33532913059638525"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-10T08:20:58.192Z","0.0.1":"2024-11-10T08:20:58.547Z","modified":"2024-11-10T08:20:58.881Z"},"maintainers":[{"name":"owenkellogg","email":"mycto@proton.me"}],"description":"BellsWall.com Inscription Marketplace Management SDK for Web & Servers","keywords":["bellswall","inscription","marketplace","sdk"],"author":{"name":"BellsWall"},"license":"ISC","readme":"# Bellswall SDK\n\nA TypeScript SDK for interacting with the Bellswall API.\n\n## Installation\n\n```bash\nnpm install @bellswallsdk\n```\n\n## Usage\n\nFirst, initialize the SDK:\n\n```typescript\nimport { BellswallSDK } from '@bellswall/sdk';\n\nconst sdk = new BellswallSDK({\n  // config options\n});\n```\n\n### Artists\n\n```typescript\n// Create an artist\nconst artist = await sdk.createArtist({\n  name: \"Artist Name\",\n  wallet: \"wallet_address\",\n  bio: \"Artist biography\"\n});\n\n// Get artist by ID or wallet\nconst artistById = await sdk.getArtist({ id: \"artist_id\" });\nconst artistByWallet = await sdk.getArtist({ wallet: \"wallet_address\" });\n\n// Update artist\nconst updatedArtist = await sdk.updateArtist(\"artist_id\", {\n  name: \"New Name\",\n  bio: \"Updated biography\"\n});\n```\n\n### Collections\n\n```typescript\n// List collections\nconst { collections, total } = await sdk.listCollections({\n  offset: 0,\n  limit: 10\n});\n\n// Create collection\nconst collection = await sdk.createCollection({\n  name: \"Collection Name\",\n  description: \"Collection description\",\n  image: \"image_url\"\n});\n\n// Update collection\nconst updatedCollection = await sdk.updateCollection(\"collection_id\", {\n  name: \"New Collection Name\",\n  description: \"Updated description\"\n});\n\n// Get collection inscriptions\nconst { inscriptions, total } = await sdk.getCollection({\n  offset: 0,\n  limit: 10\n});\n```\n\n### Inscriptions\n\n```typescript\n// Create inscription\nconst inscription = await sdk.createInscription({\n  collection_id: \"collection_id\",\n  content: \"Content to inscribe\",\n  content_type: \"text/plain\",\n  title: \"Inscription Title\",\n  description: \"Inscription description\"\n});\n\n// Get inscription\nconst inscription = await sdk.getInscription(\"inscription_id\");\n```\n\n### Listings\n\n```typescript\n// Create listing\nconst listing = await sdk.createListing({\n  inscription_id: \"inscription_id\",\n  price: 1000000 // in sats\n});\n\n// Get listing\nconst listing = await sdk.getListing(\"listing_id\");\n\n// Get multiple listings\nconst { listings, total } = await sdk.getListings({\n  offset: 0,\n  limit: 10,\n  min_price: 100000,\n  max_price: 2000000\n});\n\n// Update listing price\nconst updatedListing = await sdk.updateListing(\"listing_id\", 1500000);\n\n// Cancel listing\nconst cancelledListing = await sdk.cancelListing(\"listing_id\");\n\n// Buy listing\nconst { listing, transaction } = await sdk.buyListing(\"listing_id\");\n```\n\n## Response Types\n\n### Artist\n```typescript\ninterface Artist {\n  id: string;\n  name: string;\n  wallet: string;\n  bio?: string;\n  created_at: string;\n  updated_at: string;\n}\n```\n\n### Collection\n```typescript\ninterface Collection {\n  id: string;\n  name: string;\n  description?: string;\n  image?: string;\n  creator: string;\n  created_at: string;\n  updated_at: string;\n  inscriptions_count: number;\n}\n```\n\n### Inscription\n```typescript\ninterface Inscription {\n  id: string;\n  collection_id?: string;\n  content: string;\n  content_type: string;\n  title?: string;\n  description?: string;\n  created_at: string;\n}\n```\n\n### Listing\n```typescript\ninterface Listing {\n  id: string;\n  inscription_id: string;\n  price: number;\n  seller: string;\n  status: 'active' | 'sold' | 'cancelled';\n  created_at: string;\n  updated_at: string;\n}\n```\n\n## Pagination\n\nMany methods accept pagination options:\n\n```typescript\ninterface PaginationOptions {\n  offset?: number;\n  limit?: number;\n}\n```\n\n## Listing Filters\n\nThe getListings method accepts additional filters:\n\n```typescript\ninterface ListingFilters extends PaginationOptions {\n  min_price?: number;\n  max_price?: number;\n  seller?: string;\n  status?: 'active' | 'sold' | 'cancelled';\n}\n```\n\n## Error Handling\n\nAll methods may throw errors that should be handled appropriately:\n\n```typescript\ntry {\n  const listing = await sdk.getListing(\"listing_id\");\n} catch (error) {\n  console.error('Error fetching listing:', error);\n}\n```\n","readmeFilename":"README.md"}