{"_id":"@blockbolt/monad-wallet","name":"@blockbolt/monad-wallet","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@blockbolt/monad-wallet","version":"1.0.0","description":"BlockBolt package for Monad wallet","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rm -rf dist && tsc","test":"jest","lint":"eslint . --ext .ts","format":"prettier --write \"src/**/*.ts\"","prepublishOnly":"npm run build","prepare":"npm run build"},"keywords":["monad","blockchain","sdk","typescript","Decentralized Payment Gateway","Crypto Payment","BlockBolt Protocol","BoltPay","MONAD"],"author":{"name":"Blockbolt Protocol","email":"support@blockbolt.io"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/BlockBoltProtocol/monad-wallet-sdk.git"},"bugs":{"url":"https://github.com/BlockBoltProtocol/monad-wallet-sdk/issues"},"homepage":"https://github.com/BlockBoltProtocol/monad-wallet-sdk#readme","dependencies":{"viem":"^2.23.10"},"devDependencies":{"typescript":"^5.8.2"},"_id":"@blockbolt/monad-wallet@1.0.0","gitHead":"7bd29b94b8157331351d0edaaee717ee868c4ca1","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-/VAACdAQsm/AURBqW0YsbocYKN0reoK+s1Hiiyh9EKDfRyqu0S84XJu31TUJQ30D9aH47NMl4QGyXEC/FSfb8A==","shasum":"198aa2c8e12fcc0f0385ea1237b1fd02008620bd","tarball":"https://registry.npmjs.org/@blockbolt/monad-wallet/-/monad-wallet-1.0.0.tgz","fileCount":35,"unpackedSize":45927,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLcclPK7ry10Ghz7g7oSqTSbLe2egS0z5ta4vZLNCImAIgHTOFgbfKWhmg2QQLPpOkIJezvkJ0/9Y8KMc6pXdGOLo="}]},"_npmUser":{"name":"blockboltprotocol","email":"support@blockbolt.io"},"directories":{},"maintainers":[{"name":"blockboltprotocol","email":"support@blockbolt.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/monad-wallet_1.0.0_1741768950256_0.6981369471247392"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-12T08:42:30.170Z","1.0.0":"2025-03-12T08:42:30.485Z","modified":"2025-03-12T08:42:30.715Z"},"maintainers":[{"name":"blockboltprotocol","email":"support@blockbolt.io"}],"description":"BlockBolt package for Monad wallet","homepage":"https://github.com/BlockBoltProtocol/monad-wallet-sdk#readme","keywords":["monad","blockchain","sdk","typescript","Decentralized Payment Gateway","Crypto Payment","BlockBolt Protocol","BoltPay","MONAD"],"repository":{"type":"git","url":"git+https://github.com/BlockBoltProtocol/monad-wallet-sdk.git"},"author":{"name":"Blockbolt Protocol","email":"support@blockbolt.io"},"bugs":{"url":"https://github.com/BlockBoltProtocol/monad-wallet-sdk/issues"},"license":"ISC","readme":"# BlockBolt Monad Wallet SDK\n\nThe BlockBolt SDK for the Monad Wallet offers a streamlined and efficient way to integrate Monad blockchain payments. It provides a developer-friendly interface for processing transactions securely on the Monad chain. The SDK simplifies payment processing by handling transaction creation, signing, and status tracking, ensuring reliable delivery of payments to merchant addresses. By leveraging Viem's modern TypeScript support, it offers type-safe interaction with the Monad blockchain, making integration straightforward while maintaining high security standards.\n\n## Features\n\n- Simple payment SDK for Monad blockchain using BlockBolt\n- Built with Viem for modern TypeScript support\n- Full transaction receipt access\n- Explorer URL generation\n- Comprehensive error handling\n\n## Installation\n\n```bash\nnpm install @blockbolt/monad-wallet\n```\n\n## Usage\n\n### Basic Example\n\n```typescript\nimport { BlockBolt } from \"@blockbolt/monad-wallet\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\n// Initialize the BlockBolt SDK\nconst monadSdk = new BlockBolt();\n\n// Create payment details\nconst paymentDetails = {\n  orderId: \"ORDER123\",\n  amount: \"0.01\", // Amount in MON tokens\n  merchantName: \"Coffee Shop\",\n  merchantAddress: \"0x55Eca4d519Ca2BdC60C8f886aB00B5281772E517\",\n};\n\nconst account = privateKeyToAccount(\"0xYourPrivateKeyHere\");\n\n// Make payment\nasync function sendPayment() {\n  try {\n    const result = await monadSdk.makePayment(account, paymentDetails);\n    console.log(`Transaction sent! Hash: ${result.hash}`);\n\n    // Get explorer URL\n    const url = monadSdk.getExplorerUrl(result.hash);\n    console.log(`View transaction: ${url}`);\n\n    // Check transaction status\n    const status = await monadSdk.getTransactionStatus(result.hash);\n    if (status.status === \"success\") {\n      console.log(\"Payment confirmed!\");\n    }\n  } catch (error) {\n    console.error(\"Payment failed:\", error.message);\n  }\n}\n\nsendPayment();\n```\n\n## API Reference\n\n### `BlockBolt`\n\nMain class for interacting with the BlockBolt Monad payment contract.\n\n#### Constructor\n\n```typescript\nconstructor();\n```\n\nInitializes the SDK with the default contract address and Monad Testnet configuration.\n\n#### Methods\n\n##### `makePayment`\n\n```typescript\npublic async makePayment(\n  account: Account,\n  paymentDetails: PaymentDetails\n): Promise<TransactionResult>\n```\n\nMakes a payment using the specified account and payment details.\n\nParameters:\n\n- `account`: Viem account object with the signer\n- `paymentDetails`: Object containing payment information\n  - `orderId`: Unique identifier for the order\n  - `amount`: Amount of MON tokens to send\n  - `merchantName`: Name of the merchant\n  - `merchantAddress`: Address of the merchant\n\nReturns:\n\n- `TransactionResult`: Object containing the transaction hash\n\n##### `getTransactionStatus`\n\n```typescript\npublic async getTransactionStatus(hash: Hash)\n```\n\nGets the status and details of a transaction.\n\nParameters:\n\n- `hash`: Transaction hash to check\n\nReturns:\n\n- Object containing:\n  - `status`: Transaction status ('success' or 'reverted')\n  - `blockNumber`: Block number where the transaction was mined\n  - `logs`: Transaction logs\n  - `receipt`: Full transaction receipt\n\n##### `getExplorerUrl`\n\n```typescript\npublic getExplorerUrl(hash: Hash): string\n```\n\nGenerates a block explorer URL for the transaction.\n\nParameters:\n\n- `hash`: Transaction hash\n\nReturns:\n\n- URL string for the transaction on Monad block explorer\n\n## Error Handling\n\nThe SDK provides custom error classes for better error handling:\n\n- `BlockBoltSDKError`: Base error class for all SDK errors\n- `TransactionError`: Error related to transaction execution\n\nExample:\n\n```typescript\ntry {\n  await monadSdk.makePayment(account, paymentDetails);\n} catch (error) {\n  if (error instanceof TransactionError) {\n    console.error(\"Transaction failed:\", error.message);\n  } else {\n    console.error(\"Unknown error:\", error);\n  }\n}\n```\n\n## Development\n\n### Building\n\n```bash\nnpm run build\n```\n\n### Testing\n\n```bash\nnpm test\n```\n\n## License\n\nMIT\n\n---\n\n<p align=\"center\">\n  <strong>Powered by BlockBolt</strong><br/>\n  Making blockchain payments simple and secure\n</p>\n","readmeFilename":"README.md","_rev":"1-712452cb5efc9df7ab8a4957f2be4ae8"}