{"_id":"@efe136/legacychain-sdk","_rev":"3-9e59e622fbd7a03d91e5297897d61dbb","name":"@efe136/legacychain-sdk","dist-tags":{"latest":"1.1.2"},"versions":{"1.1.0":{"name":"@efe136/legacychain-sdk","version":"1.1.0","keywords":["legacychain","blockchain","time-capsule","web3","ethereum","sdk","multi-signature","webhooks","analytics"],"author":{"name":"LegacyChain Team"},"license":"MIT","_id":"@efe136/legacychain-sdk@1.1.0","maintainers":[{"name":"efe136","email":"efkan.isazade@gmail.com"}],"homepage":"https://legacychain.net/docs/sdk","dist":{"shasum":"3c7370d76d990940e732bd703bee19e7144cd885","tarball":"https://registry.npmjs.org/@efe136/legacychain-sdk/-/legacychain-sdk-1.1.0.tgz","fileCount":8,"integrity":"sha512-eup7dn2KsCk0s607XB8xjAMI/NOH4yFacpLNYgJNf/vtyf+xTIJmZiu7QoY12NfDTr0ALKaWwTNCLhd77NF78g==","signatures":[{"sig":"MEUCIFJbHpAZjI3LZK1ZYzZZzFCpGVZ2hhC1M1Wjqi4W22IZAiEAp5ckqtIplYx/xboDFzNSsFOBm5PAxht3mMcTL/+8VCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553929},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e0a29392f256247abfbac73b78003b51773a6ba9","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efe136","actor":{"name":"efe136","type":"user","email":"efkan.isazade@gmail.com"},"email":"efkan.isazade@gmail.com"},"_npmVersion":"11.4.1","description":"Official SDK for interacting with LegacyChain smart contracts and APIs","directories":{},"_nodeVersion":"20.19.2","dependencies":{"viem":"^2.0.0","axios":"^1.6.0","ethers":"^6.9.0","p-queue":"^7.4.1","node-cache":"^5.1.2","eventemitter3":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","rollup-plugin-dts":"^6.0.0","@rollup/plugin-json":"^6.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/legacychain-sdk_1.1.0_1750316212231_0.5560117281342776","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@efe136/legacychain-sdk","version":"1.1.1","keywords":["legacychain","blockchain","time-capsule","web3","ethereum","sdk","multi-signature","webhooks","analytics"],"author":{"name":"LegacyChain Team"},"license":"MIT","_id":"@efe136/legacychain-sdk@1.1.1","maintainers":[{"name":"efe136","email":"efkan.isazade@gmail.com"}],"homepage":"https://legacychain.net/docs/sdk","dist":{"shasum":"0e5205d76bb91967164364b4771cb4c691437f16","tarball":"https://registry.npmjs.org/@efe136/legacychain-sdk/-/legacychain-sdk-1.1.1.tgz","fileCount":8,"integrity":"sha512-3kVFuDRxch7MXUZVfKgMsvKR+SenP02wXiT7lPzxbZ1Ftb/qYKQ1X1c6ZgS29fpdkSjHpgf2mrW/L8BvqoNt6Q==","signatures":[{"sig":"MEUCIQCDhvQI/X5pqknLlcTis224074f69mOO8jtw83isZrKJwIgX6eViAXsINu1VPTPv96h+C8htCj5YOnAVgCHNfjFIJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682980},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"22c20511070a8386642488a72a44b9ec9d8c1b76","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efe136","actor":{"name":"efe136","type":"user","email":"efkan.isazade@gmail.com"},"email":"efkan.isazade@gmail.com"},"_npmVersion":"11.4.1","description":"Official SDK for interacting with LegacyChain smart contracts and APIs","directories":{},"_nodeVersion":"23.11.0","dependencies":{"viem":"^2.0.0","axios":"^1.6.0","ethers":"^6.9.0","p-queue":"^7.4.1","node-cache":"^5.1.2","eventemitter3":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","rollup-plugin-dts":"^6.0.0","@rollup/plugin-json":"^6.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/legacychain-sdk_1.1.1_1750427050393_0.47911050493218243","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@efe136/legacychain-sdk","version":"1.1.2","description":"Official SDK for interacting with LegacyChain smart contracts and APIs","main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"jest","lint":"eslint src --ext .ts,.tsx","prepublishOnly":"npm run build"},"keywords":["legacychain","blockchain","time-capsule","web3","ethereum","sdk","multi-signature","webhooks","analytics","specialized-capsules","nft","enterprise"],"author":{"name":"LegacyChain Team"},"license":"LicenseRef-LegacyChain-Enterprise","dependencies":{"axios":"^1.10.0","ethers":"^6.14.3","viem":"^2.30.6","eventemitter3":"^5.0.1","p-queue":"^7.4.1","node-cache":"^5.1.2"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-typescript":"^12.1.1","@types/jest":"^29.5.14","@types/node":"^22.15.30","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","eslint":"^8.57.0","jest":"^29.7.0","rollup":"^4.21.2","rollup-plugin-dts":"^6.1.1","ts-jest":"^29.1.1","typescript":"^5.8.3"},"homepage":"https://legacychain.net/docs/sdk","_id":"@efe136/legacychain-sdk@1.1.2","gitHead":"afceb2c89ca85e85fff3706ee3e503a5fc8b1a82","_nodeVersion":"23.11.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-UNFUPYOzg0WFA1hhSQp2+uZPrKeUI9ewo7BDK1njTz6mvG2sFX67d0uTrXFmEzurGScF1hELrUhmGAKEsQrLwg==","shasum":"7f0e8d19e3eadc0ba5c383aaad0ba493ddca4861","tarball":"https://registry.npmjs.org/@efe136/legacychain-sdk/-/legacychain-sdk-1.1.2.tgz","fileCount":9,"unpackedSize":786033,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICft86SdB5OYJueDT69kZ6OUyUVjdlqOY5myaLuTNvBVAiBEmtEuOf+QcQFTyFUF7gKXgAeg/8BVJ/17g0z/E/QwCw=="}]},"_npmUser":{"name":"efe136","email":"efkan.isazade@gmail.com"},"directories":{},"maintainers":[{"name":"efe136","email":"efkan.isazade@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/legacychain-sdk_1.1.2_1754752851343_0.8446594700618459"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-19T06:56:52.170Z","modified":"2025-08-09T15:20:51.780Z","1.1.0":"2025-06-19T06:56:52.414Z","1.1.1":"2025-06-20T13:44:10.589Z","1.1.2":"2025-08-09T15:20:51.613Z"},"author":{"name":"LegacyChain Team"},"license":"LicenseRef-LegacyChain-Enterprise","homepage":"https://legacychain.net/docs/sdk","keywords":["legacychain","blockchain","time-capsule","web3","ethereum","sdk","multi-signature","webhooks","analytics","specialized-capsules","nft","enterprise"],"description":"Official SDK for interacting with LegacyChain smart contracts and APIs","maintainers":[{"name":"efe136","email":"efkan.isazade@gmail.com"}],"readme":"# LegacyChain SDK\n\nOfficial TypeScript SDK for interacting with LegacyChain smart contracts and services.\n\n[![npm version](https://badge.fury.io/js/%40efe136%2Flegacychain-sdk.svg)](https://www.npmjs.com/package/@efe136/legacychain-sdk)\n[![License: Enterprise](https://img.shields.io/badge/License-Enterprise-red.svg)](./LICENSE)\n\n## 🚀 Version History\n\n### 🧠 zkML Capsules (Coming in v2.0.0)\nZero-knowledge machine learning integration for privacy-preserving AI:\n- 🔬 **AI-Powered Verification** - On-chain proof verification for ML models\n- 📊 **ONNX Model Support** - Upload and run ONNX models with privacy\n- 🔐 **Privacy-Preserving ML** - Execute ML inference without revealing data\n- 🌐 **EZKL Hub Integration** - Cloud-based model compilation and proof generation\n- 🖥️ **CLI Tools** - Command-line interface for zkML operations\n- 📈 **Performance Analytics** - Detailed metrics for ML model performance\n\n### v1.1.1 (Current) - Specialized Capsules\n- 🎨 **10 Specialized NFT Capsules** - Film, Creator Message, Mystery Trait, VIP Access, Art Provenance, Voting, Music, Achievement, Educational, Memory\n- ✨ **Multi-signature support** - Collaborative capsule management with threshold-based signing\n- 🪝 **Webhooks** - Real-time event notifications for all capsule activities  \n- 📊 **Advanced Analytics** - AI-powered insights, custom dashboards, retention analytics (Pro+)\n- 🎨 **Custom Branding** - White-label your integration with custom logos and colors (Pro+)\n- 🎯 **Priority Support** - Tiered support with SLA guarantees for Enterprise\n- 🏢 **Enterprise License** - Professional licensing with custom terms and SLA\n\n### v1.0.0 - Foundation\n- 📦 **Time Capsules** - Basic time-locked content storage\n- 💰 **Payment Capsules** - Time-locked cryptocurrency payments\n- 📄 **Legal Documents** - Multi-signature legal document management\n- 🔐 **Encryption** - End-to-end encryption for all content\n- 🌐 **IPFS Integration** - Decentralized storage\n\n## Installation\n\n```bash\nnpm install @efe136/legacychain-sdk\n# or\nyarn add @efe136/legacychain-sdk\n```\n\n## Quick Start\n\n```typescript\nimport { LegacyChainClient } from '@efe136/legacychain-sdk';\n\n// Initialize the SDK\nconst client = new LegacyChainClient({\n  apiKey: 'your-api-key',\n  network: 'mainnet' // or 'testnet'\n});\n\n// Create a time capsule\nconst capsule = await client.timeCapsules.create({\n  title: 'My Time Capsule',\n  description: 'A message to the future',\n  content: 'Hello from 2024!',\n  unlockTime: new Date('2025-01-01'),\n  encrypt: true\n});\n\n// Set up webhooks for notifications\nconst webhook = await client.webhooks.create({\n  url: 'https://your-app.com/webhook',\n  events: ['capsule.created', 'capsule.unlocked']\n});\n```\n\n## Features\n\n### 📦 Time Capsules\nCreate and manage time-locked digital content:\n\n```typescript\n// Create a capsule\nconst capsule = await client.timeCapsules.create({\n  title: 'Future Message',\n  content: 'Secret message',\n  unlockTime: new Date('2030-01-01'),\n  authorizedAddresses: ['0x...'], // Optional: specific addresses that can unlock\n  encrypt: true,\n  password: 'optional-password'\n});\n\n// List your capsules\nconst myCapsules = await client.timeCapsules.list({\n  owner: '0xYourAddress'\n});\n\n// Unlock a capsule (when time has passed)\nconst unlockedContent = await client.timeCapsules.unlock(capsuleId);\n```\n\n### 💰 Payment Capsules\nSend time-locked payments:\n\n```typescript\nconst payment = await client.payments.create({\n  recipient: '0xRecipientAddress',\n  amount: '1.5', // ETH\n  token: 'ETH', // or 'USDC', 'USDT', 'DAI'\n  unlockTime: new Date('2025-01-01'),\n  message: 'Happy New Year!'\n});\n```\n\n### 📄 Legal Documents\nCreate legally binding documents with multi-signature:\n\n```typescript\nconst document = await client.legalDocuments.create({\n  file: documentFile,\n  documentType: 'CONTRACT',\n  signers: ['0xSigner1', '0xSigner2'],\n  requiredSignatures: 2,\n  selfDestruct: {\n    type: 'time',\n    value: new Date('2026-01-01')\n  }\n});\n```\n\n### 🎨 Specialized NFT Capsules (New!)\nCreate advanced NFT capsules with unique unlocking mechanisms:\n\n#### 🎬 Film Capsules\nTime-locked exclusive films and video content:\n```typescript\nconst filmCapsule = await client.specializedCapsules.createFilmCapsule({\n  recipient: '0xRecipient',\n  title: 'The Lost Chapter',\n  director: 'Christopher Nolan',\n  premiereDate: new Date('2025-12-25'),\n  trailerURI: 'ipfs://QmTrailer',\n  encryptedFilmURI: 'ipfs://QmEncryptedFilm'\n});\n```\n\n#### 📝 Creator Message Capsules\nHidden messages from creators revealed to NFT buyers:\n```typescript\nconst messageCapsule = await client.specializedCapsules.createCreatorMessageCapsule({\n  recipient: '0xCollector',\n  creator: 'Banksy',\n  message: 'The story behind this piece...',\n  publicTeaser: 'What inspired this artwork?',\n  revealTime: new Date('2024-12-01'),\n  encrypt: true\n});\n```\n\n#### 🧬 Mystery Trait Capsules\nNFTs with evolving traits that unlock over time:\n```typescript\nconst traitCapsule = await client.specializedCapsules.createMysteryTraitCapsule({\n  recipient: '0xPlayer',\n  name: 'Shadow Warrior',\n  hiddenTraits: ['Legendary Sword', 'Dragon Armor', 'Phoenix Pet'],\n  unlockTimes: [\n    new Date('2024-02-01'),\n    new Date('2024-03-01'),\n    new Date('2024-04-01')\n  ]\n});\n```\n\n#### 💎 VIP Access Capsules\nNFTs granting exclusive access to events and content:\n```typescript\nconst vipCapsule = await client.specializedCapsules.createVIPAccessCapsule({\n  recipient: '0xFan',\n  eventId: 'metaverse-concert-2024',\n  description: 'Backstage access to Travis Scott concert',\n  encryptedAccessData: 'encrypted-url-and-code',\n  expiryTime: new Date('2024-12-31'),\n  usageLimit: 1\n});\n```\n\n#### 📜 Art Provenance Capsules\nArtwork that reveals new layers over time:\n```typescript\nconst artCapsule = await client.specializedCapsules.createArtProvenanceCapsule({\n  recipient: '0xCollector',\n  artist: 'Digital Picasso',\n  baseArtworkURI: 'ipfs://QmBaseArt',\n  layerURIs: ['ipfs://QmLayer1', 'ipfs://QmLayer2'],\n  layerDescriptions: ['The beginning...', 'The revelation...'],\n  revealTimes: [new Date('2024-06-01'), new Date('2024-12-01')]\n});\n```\n\n#### More Capsule Types\n- 🗳️ **Voting Capsules**: DAO governance with time-based voting\n- 🎵 **Music Capsules**: Exclusive tracks unlocking on special dates\n- 🏆 **Achievement Capsules**: Gaming achievements that evolve\n- 📚 **Educational Capsules**: Progressive learning content\n- 🌟 **Memory Capsules**: Multi-generational family messages\n\n### 🔐 Multi-Signature (New in v1.1.0)\nCreate proposals requiring multiple signatures:\n\n```typescript\n// Create a multi-sig proposal\nconst proposal = await client.multiSig.createProposal({\n  capsuleId: 'capsule-id',\n  signers: ['0xAddr1', '0xAddr2', '0xAddr3'],\n  requiredSignatures: 2,\n  action: 'unlock',\n  duration: 72 // hours\n});\n\n// Sign the proposal\nawait client.multiSig.signProposal(proposal.id);\n\n// Check proposal status\nconst status = await client.multiSig.getProposal(proposal.id);\n```\n\n### 🪝 Webhooks (New in v1.1.0)\nReceive real-time notifications:\n\n```typescript\n// Register webhook endpoint\nconst webhook = await client.webhooks.create({\n  url: 'https://your-app.com/webhook',\n  events: [\n    'capsule.created',\n    'capsule.unlocked',\n    'payment.claimed',\n    'document.signed'\n  ],\n  secret: 'your-webhook-secret'\n});\n\n// Verify incoming webhooks\nconst isValid = client.webhooks.verifySignature(\n  payload,\n  signature,\n  secret\n);\n```\n\n### 📊 Analytics\nTrack usage and get insights:\n\n```typescript\n// Basic analytics (Starter+)\nconst overview = await client.analytics.getOverview();\n\n// Advanced analytics (Pro+)\nconst insights = await client.analytics.getInsights({\n  focus: 'retention',\n  timeframe: 'month'\n});\n\n// Custom dashboards (Pro+)\nconst dashboard = await client.analytics.createCustomDashboard({\n  name: 'Executive Overview',\n  widgets: [/* widget configs */]\n});\n```\n\n## Rate Limits & Plans\n\n| Plan | Rate Limit | Capsules/Month | Storage | Price |\n|------|------------|----------------|---------|--------|\n| Free | 10 req/min | 5 | 50MB | $0 |\n| Starter | 30 req/min | 50 | 500MB | $29/mo |\n| Pro | 100 req/min | 500 | 5GB | $99/mo |\n| Enterprise | Unlimited | Unlimited | Unlimited | Custom |\n\n## Configuration\n\n### API Keys\nGet your API key from the [LegacyChain Dashboard](https://legacychain.net/dashboard).\n\n### Networks\n- `mainnet`: Production network\n- `testnet`: Sepolia testnet for development\n- `localhost`: Local development\n\n### Contract Addresses (Mainnet)\n- **LegacyNFT**: `0x1CDccb98155c963152C1C36Dd9d4B73A13ae5A17`\n- **LegacyPayments**: `0xaBb7673d8DeD965545FF2d9437Bbc393dfa880b1`\n- **LegacyLegalDocs**: `0x90B0fb2f0f6c637077b4e0fc69b14221e72094c9`\n- **LegacyMultiSig**: `0xcb481E0Df628eEe515768Ae8B2B83Aa0B6d4Cc9b` ✨\n\n## Advanced Usage\n\n### Connect Wallet\n```typescript\n// For browser environments\nawait client.connectWallet(window.ethereum);\n\n// Sign messages\nconst signature = await client.getSigner().signMessage('Hello');\n```\n\n### Custom RPC\n```typescript\nconst client = new LegacyChainClient({\n  apiKey: 'your-api-key',\n  network: 'mainnet',\n  rpcUrl: 'https://your-custom-rpc.com'\n});\n```\n\n### Error Handling\n```typescript\ntry {\n  await client.timeCapsules.create({...});\n} catch (error) {\n  if (error.code === 'RATE_LIMIT_EXCEEDED') {\n    console.log('Please upgrade your plan');\n  }\n}\n```\n\n## Support\n\n- **Documentation**: https://docs.legacychain.net\n- **Discord**: https://discord.gg/legacychain\n- **Email**: support@legacychain.net\n- **Enterprise Sales**: enterprise@legacychain.net\n\n## License\n\nThis software is licensed under the LegacyChain SDK Enterprise License Agreement. \n\nFor licensing inquiries, please contact enterprise@legacychain.net or visit https://legacychain.net/enterprise\n\nSee [LICENSE](./LICENSE) for the full license terms. ","readmeFilename":"README.md"}