{"_id":"@cashconnect-js/templates-dev","_rev":"3-903f4547ad8c4f88df0ac389ad454e82","name":"@cashconnect-js/templates-dev","dist-tags":{"latest":"1.0.0-alpha.3"},"versions":{"1.0.0-alpha.1":{"name":"@cashconnect-js/templates-dev","version":"1.0.0-alpha.1","keywords":[],"author":"","license":"MIT","_id":"@cashconnect-js/templates-dev@1.0.0-alpha.1","maintainers":[{"name":"jimtendo","email":"zuccon@gmail.com"}],"homepage":"https://gitlab.com/cashconnect-js/cashconnect-js","bugs":{"url":"https://gitlab.com/cashconnect-js/cashconnect-js/-/issues"},"dist":{"shasum":"40acd492a558733a17e83c5a4a0d1714968e0ec4","tarball":"https://registry.npmjs.org/@cashconnect-js/templates-dev/-/templates-dev-1.0.0-alpha.1.tgz","fileCount":5,"integrity":"sha512-4sj5In3qGWOtb19I2uiwlQajL2N50tJoantiAwxoQIlz3EBKqEPcB56ie+kXHK4gB0DLXQyEEw4Klb1/NQPYdQ==","signatures":[{"sig":"MEYCIQCKxd3aFFjAzg6U9wZa8qqS5HyW029ZvRGHKWT/1r+78QIhANbBUawY3BL/gsy6DqT6DSPF187fDaAz/Fe7qkQ3lqb0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303657},"type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs.js","require":"./dist/index.cjs.js"}},"gitHead":"f8b90b7af5a157e6e83d4b6b6efa82c67a173529","scripts":{"dev":"tsx watch ./src/app.ts","lint":"eslint --ext .js,.ts,.vue ./","test":"vitest --run","build":"npm run clean && npm run compile && npm run rollup","clean":"rm -rf ./build && rm -rf ./dist","start":"npm run clean && tsc-watch --onSuccess \"npm run build\"","format":"prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore","rollup":"rollup -c","compile":"tsc -p tsconfig.build.json","lint:fix":"eslint --fix --ext .js,.ts,.vue ./","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jimtendo","email":"zuccon@gmail.com"},"repository":{"url":"git+https://gitlab.com/cashconnect-js/cashconnect-js.git","type":"git"},"_npmVersion":"10.9.7","description":"A WalletConnect implementation that uses CashRPC payloads and methods.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@bitauth/libauth":"^3.1.0-next.2","@cashconnect-js/core":"1.0.0-alpha.1","@electrum-cash/network":"^4.1.4","@electrum-cash/protocol":"^2.2.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.10.0","rollup":"^3.29.2","vitest":"^3.2.4","prettier":"^2.5.1","tsc-watch":"^6.0.4","typescript":"^5.9.3","rollup-plugin-dts":"^6.0.2","@walletconnect/types":"^2.23.0","eslint-config-prettier":"^8.1.0","@typescript-eslint/parser":"^6.3.0","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/templates-dev_1.0.0-alpha.1_1776253175832_0.041141900360519124","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.2":{"name":"@cashconnect-js/templates-dev","version":"1.0.0-alpha.2","keywords":[],"author":"","license":"MIT","_id":"@cashconnect-js/templates-dev@1.0.0-alpha.2","maintainers":[{"name":"jimtendo","email":"zuccon@gmail.com"}],"homepage":"https://gitlab.com/cashconnect-js/cashconnect-js","bugs":{"url":"https://gitlab.com/cashconnect-js/cashconnect-js/-/issues"},"dist":{"shasum":"2022c5f6541940355b314e17a8a1e30b12f3075a","tarball":"https://registry.npmjs.org/@cashconnect-js/templates-dev/-/templates-dev-1.0.0-alpha.2.tgz","fileCount":5,"integrity":"sha512-wNoTTS+nMe/+C+48Hfx2d4xkZiRYgyeEsBXyYysR0vSfXevPK+Z0gf0oOng5Yd4TA4W14+evB8teb41QTUS+BQ==","signatures":[{"sig":"MEYCIQCHbdzm+0ldyem9tuq89joGWrQDf0D9kP6kXzuDXkHLIgIhAMbw6c9ImcCIsJ0QXCKX3of1FmmZx4ulxVk2wV53tJIH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303710},"type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs.js","require":"./dist/index.cjs.js"}},"gitHead":"d16bb2e845e90425cf71b66ca3597d8b4ffcb6c8","scripts":{"dev":"tsx watch ./src/app.ts","lint":"eslint --ext .js,.ts,.vue ./","test":"vitest --run","build":"npm run clean && npm run compile && npm run rollup","clean":"rm -rf ./build && rm -rf ./dist","start":"npm run clean && tsc-watch --onSuccess \"npm run build\"","format":"prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore","rollup":"rollup -c","compile":"tsc -p tsconfig.build.json","lint:fix":"eslint --fix --ext .js,.ts,.vue ./","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jimtendo","email":"zuccon@gmail.com"},"repository":{"url":"git+https://gitlab.com/cashconnect-js/cashconnect-js.git","type":"git"},"_npmVersion":"10.9.7","description":"A WalletConnect implementation that uses CashRPC payloads and methods.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"cashc":"^0.12.0","cashscript":"^0.12.0","@bitauth/libauth":"^3.1.0-next.2","@cashconnect-js/core":"1.0.0-alpha.2","@electrum-cash/network":"^4.1.4","@electrum-cash/protocol":"^2.2.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.10.0","rollup":"^3.29.2","vitest":"^3.2.4","prettier":"^2.5.1","tsc-watch":"^6.0.4","typescript":"^5.9.3","rollup-plugin-dts":"^6.0.2","@walletconnect/types":"^2.23.0","eslint-config-prettier":"^8.1.0","@typescript-eslint/parser":"^6.3.0","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/templates-dev_1.0.0-alpha.2_1776257441342_0.4637340681402209","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.3":{"name":"@cashconnect-js/templates-dev","type":"module","version":"1.0.0-alpha.3","description":"A WalletConnect implementation that uses CashRPC payloads and methods.","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs.js","require":"./dist/index.cjs.js","types":"./dist/index.d.ts"}},"scripts":{"build":"npm run clean && npm run compile && npm run rollup","clean":"rm -rf ./build && rm -rf ./dist","compile":"tsc -p tsconfig.build.json","rollup":"rollup -c","start":"npm run clean && tsc-watch --onSuccess \"npm run build\"","dev":"tsx watch ./src/app.ts","lint":"eslint --ext .js,.ts,.vue ./","lint:fix":"eslint --fix --ext .js,.ts,.vue ./","format":"prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore","prepublishOnly":"npm run build","test":"vitest --run","test:coverage":"vitest run --coverage","test:watch":"vitest"},"repository":{"type":"git","url":"git+https://gitlab.com/cashconnect-js/cashconnect-js.git"},"bugs":{"url":"https://gitlab.com/cashconnect-js/cashconnect-js/-/issues"},"homepage":"https://gitlab.com/cashconnect-js/cashconnect-js","keywords":[],"author":"","license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.3.0","@typescript-eslint/parser":"^6.3.0","@walletconnect/types":"^2.23.0","eslint":"^8.10.0","eslint-config-prettier":"^8.1.0","prettier":"^2.5.1","rollup":"^3.29.2","rollup-plugin-dts":"^6.0.2","tsc-watch":"^6.0.4","typescript":"^5.9.3","vitest":"^3.2.4"},"dependencies":{"@bitauth/libauth":"^3.1.0-next.2","@cashconnect-js/core":"1.0.0-alpha.3","@electrum-cash/network":"^4.1.4","@electrum-cash/protocol":"^2.2.3","cashc":"^0.12.0","cashscript":"^0.12.0"},"_id":"@cashconnect-js/templates-dev@1.0.0-alpha.3","gitHead":"e076e62c5ce40df1bf5b739f0bdb52ffaa6fbe51","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-S8yXtxoPgc33XqkonDbdMhit4po/TtHwTdNltfav9GYNS3pl5ixfOROC7y4hc2j6ErLXTpPTAetSN2Ya9IooEA==","shasum":"3fb39818b9bbae77147f5feb541e449aed5625b1","tarball":"https://registry.npmjs.org/@cashconnect-js/templates-dev/-/templates-dev-1.0.0-alpha.3.tgz","fileCount":5,"unpackedSize":303710,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsXqH8kXB2lAdQ3uP6kuvMBvCBtIQ1B5QsuY3XxptAuAIgd+zftFJth8JYQC9Dik/X6CnrQRvhpugUCDmjp6alx5U="}]},"_npmUser":{"name":"jimtendo","email":"zuccon@gmail.com"},"directories":{},"maintainers":[{"name":"jimtendo","email":"zuccon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/templates-dev_1.0.0-alpha.3_1776263636653_0.5239514583652669"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T11:39:35.749Z","modified":"2026-04-15T14:33:56.928Z","1.0.0-alpha.1":"2026-04-15T11:39:36.004Z","1.0.0-alpha.2":"2026-04-15T12:50:41.482Z","1.0.0-alpha.3":"2026-04-15T14:33:56.799Z"},"bugs":{"url":"https://gitlab.com/cashconnect-js/cashconnect-js/-/issues"},"license":"MIT","homepage":"https://gitlab.com/cashconnect-js/cashconnect-js","keywords":[],"repository":{"type":"git","url":"git+https://gitlab.com/cashconnect-js/cashconnect-js.git"},"description":"A WalletConnect implementation that uses CashRPC payloads and methods.","maintainers":[{"name":"jimtendo","email":"zuccon@gmail.com"}],"readme":"# CashConnect\n\nA WalletConnect implementation that uses CashRPC payloads and methods.\n\n## Dapp Integration\n\nTODO\n\n## Wallet Integration\n\n```ts\n// Instantiate an instance of the Cash Connect Wallet Service.\nconst cashConnectWallet = new CashConnectWallet(\n  // Master Private Key\n  // NOTE: Each service will derive its own \"sandboxed\" key for use using:\n  //       sha256(sha256(masterPrivateKey) + sha256(':cashconnect:' + domain));\n  privateKey,\n  // WC Project ID\n  projectId,\n  // WC Metadata\n  metadata,\n  // UI Event callbacks.\n  // NOTE: Throw an exception to reject approval.\n  {\n    onSessionProposal: async (proposalEvent) => {\n      // TODO: Display the proposal and request approval.\n    },\n    onSessionsUpdated: async (sessions) => {\n      // TODO: Update UI to show active sessions.\n    },\n    onRPCRequest: async (session, request, response) => {\n      // TODO: Display the request and request approval.\n    },\n    onError: async (error) => {\n      // TODO: Display the error.\n    }\n  },\n  // CashRPC Options/Hooks\n  {\n    // Network-related\n    network: {\n      getSourceOutput: (transactionHash, outpointIndex) {\n        // TODO: Retrieve source output from Network (e.g. Electrum).\n\n        // Expects LibAuth Output.\n        return {\n          valueSatoshis: 1000n,\n          lockingBytecode: new Uint8Array(),\n          token: {\n            category: new Uint8Array();\n            amount: 1000n,\n          }\n        }\n      }\n    },\n    // Wallet-related\n    wallet: {\n      // Get a list of unspents (UTXOs) belonging to the wallet.\n      getUnspents: () => {\n        // TODO: Retrieve a list of UTXOs from Network or Wallet-state.\n\n        // Return an array of these unspents.\n        // NOTE: Each UTXO MUST use a template for the unlocking script.\n        return [{\n          outpointTransactionHash: utxo.txid,\n          outpointIndex: utxo.vout,\n          lockingBytecode: utxo.lockingBytecode,\n          unlockingBytecode: {\n            template: authenticationTemplateP2pkhNonHd,\n            valueSatoshis: utxo.valueSatoshis,\n            script: 'unlock',\n            data: {\n              keys: {\n                privateKeys: {\n                  key: walletsPrivateKey,\n                },\n              },\n            },\n            token,\n          }\n        }]\n      },\n      // Get the change template to when constructing Change Outputs.\n      getChangeTemplate: () => {\n        return {\n          template: authenticationTemplateP2pkhNonHd,\n          data: {\n            keys: {\n              privateKeys: {\n                key: walletsPrivateKey\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n);\n\n// Start the Wallet Service.\nawait cashConnectWallet.start();\n```\n\nFor an example Wallet Integration, see the [Cashonize Repository](https://github.com/developers-cash/cashonize/blob/cashconnect/cash-connect.js).\n","readmeFilename":"README.md"}