{"_id":"@airgap/ur-registry-xtz","_rev":"2-fceecada793685023a96fbec3d092548","name":"@airgap/ur-registry-xtz","dist-tags":{"next":"0.0.1-beta.1","latest":"0.0.1-beta.0"},"versions":{"0.0.1-beta.0":{"name":"@airgap/ur-registry-xtz","version":"0.0.1-beta.0","description":"bc-ur-registry extension for Tezos","main":"dist/index.js","scripts":{"build":"tsc","browserify":"tsc --project tsconfig.browserify.json && browserify ./dist/browserify/index.js -s urRegistryXtz | uglifyjs > ./dist/ur-registry-xtz.min.js","test":"jest","example":"ts-node --project tsconfig.browserify.json example.ts"},"repository":{"type":"git","url":"git+https://github.com/airgap-it/ur-registry-xtz.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/airgap-it/ur-registry-xtz/issues"},"homepage":"https://github.com/airgap-it/ur-registry-xtz#readme","devDependencies":{"@types/jest":"^27.4.1","@types/node":"^17.0.18","@types/uuid":"^8.3.4","browserify":"^17.0.0","jest":"^27.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.5.5","uglify-js":"^3.15.1"},"dependencies":{"@keystonehq/bc-ur-registry":"^0.4.4","bs58check":"^2.1.2","uuid":"^8.3.2"},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"]},"gitHead":"d89c4dcd219386c1f2d3c56c79d00600e6637098","_id":"@airgap/ur-registry-xtz@0.0.1-beta.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-8DdKqEi9MtM0ACeEBhnAjbqqjmgzL4vRR64DghpDfxdVKJomMwdb/KYAQ/7YVWwlh2KrEXrj2706JSIHfNRPWw==","shasum":"c008be1c8307f757192c4a14eb5891e2bfbf5a96","tarball":"https://registry.npmjs.org/@airgap/ur-registry-xtz/-/ur-registry-xtz-0.0.1-beta.0.tgz","fileCount":17,"unpackedSize":23323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiH2c3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojCQ//bIuzqam0XoNGwSfyisb47qQjALsQnAwxQ5Q3cG0XdoU8BwhE\r\n1mSF1nxxviOymhm0XJjduIl88wbySBVaCJD4MQVLNeL9ekJCySWMbpt2RRXD\r\n+byoMMVhN+Z2GKSiqwmhCxdcN5fyzJ5aTPp9ZC/Mb7J12NfL5P3X3ZjqvNOU\r\nW+OuaoRSvvzqYQS17pMfFd6a4eUWFLqU1SYRYO4XO3sg6rb6qL7p6BRCraqT\r\nAcj63FJr12G80IGFaZMfKaJS9/2nUbkKyjVd2s+HsOXNJUGIKiAsAnu0qc2u\r\nx+ngoEAA5M3rIUfUfJHHNiqs+gt7iLChtd0B3r+pME7ZZK/VE6FA6ptqRzuL\r\nwyQO1leRVDjEQI+SiO3tdopaMAYh19ZkzFXkTfNm9FFDsK2AI07wqkCMNDK+\r\nU1V6klJ/M9zB4HXzsJKOcH7rfeD1q0FXIJZtc7NGNR7DUrT9rr9GzByzthaS\r\nklnOaS4/uIbHvkJABNFrex72ytodcmwUjnSvDrhc2NwgKjgGChw3OnqkgkaJ\r\n388koDGelvgSg+zKonbptXz6w627znjBu80YDBhpCrKvjTgAecbs917qozBv\r\ncXAOjnDkI2x5nRb9G1Saxg55MGtZ6XL8vGq03ZKixPMcqu9mOauFG5uSsIwQ\r\nEHW3KJMfYqWpUME9KiCfwdKDkZ7/nnKCYY8=\r\n=X6KO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCT9SqKqKhuHSn/2TyU8KZJbiqvYlc2BHgMluq/o0Po7gIgQNbHXeUEfKdTc3fMmvLQMDbt6CxK6DndCq+JAFBxKZw="}]},"_npmUser":{"name":"papers_ch","email":"contact@papers.ch"},"directories":{},"maintainers":[{"name":"papers_ch","email":"contact@papers.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ur-registry-xtz_0.0.1-beta.0_1646225207509_0.9755843445682402"},"_hasShrinkwrap":false},"0.0.1-beta.1":{"name":"@airgap/ur-registry-xtz","version":"0.0.1-beta.1","description":"bc-ur-registry extension for Tezos","main":"dist/esm/index.js","scripts":{"build":"tsc","browserify":"tsc --project tsconfig.browserify.json && browserify ./dist/browserify/index.js -s urRegistryXtz | uglifyjs > ./dist/ur-registry-xtz.min.js","test":"jest","example":"ts-node --project tsconfig.browserify.json example.ts"},"repository":{"type":"git","url":"git+https://github.com/airgap-it/ur-registry-xtz.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/airgap-it/ur-registry-xtz/issues"},"homepage":"https://github.com/airgap-it/ur-registry-xtz#readme","devDependencies":{"@types/jest":"^27.4.1","@types/node":"^17.0.18","@types/uuid":"^8.3.4","browserify":"^17.0.0","jest":"^27.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.5.5","uglify-js":"^3.15.1"},"dependencies":{"@keystonehq/bc-ur-registry":"^0.4.4","bs58check":"^2.1.2","uuid":"^8.3.2"},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"]},"types":"./dist/esm/index.d.ts","gitHead":"e784af4732925fe209ee10867021d25bae643e7f","readme":"# ur-registry-xtz\n\nThis repository defines [UR Types](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md) based on [TZIP-25](https://gitlab.com/tezos/tzip/-/merge_requests/174)\n\nThe project is still in an early stage, there may still be breaking changes.\n\n## Introduction\n\nThis library allows internet connected wallets to connect to offline signers via QR codes. One shortcoming of QR codes is that the data they can contain is limited. The BC UR standard solves this by using fountain codes.\n\nApps that want to adopt this standard need to be able to show \"animated\" QR codes, as well as be able to scan multiple QR codes in sequence in order to send or receive larger payloads.\n\n## Examples\n\n> Take a look at `example.ts`. You can run it with `npm run example`\n\n> Check the tests for an example for every message type.\n\n### Reading Public Key\n\n```typescript\nconst qrData =\n  \"ur:xtz-public-key/oxaohdcxcfbagrbatdjtwpgmadecswuerezchkfxgaldwdlyctcetksraoahrnoslyjloxwdaxadaafyjladzmspahjlfpinjpflhsjocxdpcxfwjlkpjtiaihnemttbmt\";\n\nconst decoder = new URRegistryDecoder();\n\n// \"Receive\" qr data that has been scanned\ndecoder.receivePart(qrData);\n\n// Check if the data is complete\nif (decoder.isComplete() && decoder.isSuccess()) {\n  const publicKey = TezosPublicKey.fromCBOR(decoder.resultUR().cbor);\n\n  publicKey.getKeyType();\n  publicKey.getPublicKey();\n  // ...\n} else {\n  // Decoding is not complete yet, scan next part and call `decoder.receivePart(qrData);` again.\n}\n```\n\n### Sharing Public Key\n\n```typescript\nconst pubKey = new TezosPublicKey({\n  publicKey: Buffer.from(\n    \"190e4b0ed26eec520135c6deb5fd59434989ea811f1ccfc30205bea7816fa4ea\",\n    \"hex\"\n  ),\n  keyType: PublicKeyType.ED25519,\n  masterFingerprint: Buffer.from(\"6f01ffc8\", \"hex\"),\n  label: \"Test\",\n});\n\n// Set size to something where QR codes are easily readable by scanners. This value is very low to simulate larger payloads.\nconst qrSize = 10;\n\nconst encoded = pubKey.toUREncoder(qrSize);\n\nfor (let x = 0; x < encoded.fragmentsLength * 2; x++) {\n  console.log(encoded.nextPart().toUpperCase());\n  // Show all those strings as QR codes\n  // Use \".toUpperCase()\" for better QR code encoding\n  // Do not \"repeat\" the QR codes, just keep calling \"nextPart\". The parts after 5/5 are technically not needed, but it contains parts of the previous QR codes and allows transmission to succeed, even if some QRs are lost.\n}\n```\n\n## Installing\n\nTo install, run:\n\n```bash\nyarn add @airgap/ur-registry-xtz\n```\n\n```bash\nnpm install --save @airgap/ur-registry-xtz\n```\n","readmeFilename":"README.md","_id":"@airgap/ur-registry-xtz@0.0.1-beta.1","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-dI+xeQzwSKsD5POuU2athx792qXCKgyjnJeZTGKc6Df7ga5uMAM5MgVP5ZfH0ddsLNPFI66XOtiKQEUIo4bGig==","shasum":"9035b127bfe729e3c9e7dab25fea3bfc693e6209","tarball":"https://registry.npmjs.org/@airgap/ur-registry-xtz/-/ur-registry-xtz-0.0.1-beta.1.tgz","fileCount":17,"unpackedSize":23216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIAQyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOyQ/9GeyeIdFka1DBKVXqwj3Gcyoygo/MPwe5oA9VoLupGuSnIQ0/\r\nKFlSxNCUqgTW+68hFdqE9vK7j8K1K3clQ5DzNvndk+xuDjaROWWBRcW7Vsrz\r\nkZL2nZ7c4hnsX4xfm18KxdJftUy7JhsJPvyNw1gDnN8OFigqvkHHHx2mw2Pm\r\ntDicY2bijuA/ETXxlC8Ac3lmApdt/7N1hG1Ef6B+/ylBjw4wOosHsjgxVObw\r\nGUzN1F+8GJ+m1B/m8R/pUoyKan5oz4sKE1QggDoiuYy6Zpe9WPOVY/blWIOp\r\nNh/y/aNJCT0ykiqGsJOTSE12JorrwTBiMKIVbU+zgB642Z6+6Hq9MpQ8g8HH\r\nDaMSHZ0Q1PmeQDemP01tOFwT//nEwZ1QtK5b7R/BSbEayvXq9BQHPIMaLk+P\r\nvKGbMe0igTKVjwl/3M+jpW2iBSnYsBt5U87w+gXVlMD3p6MkKqVvOfx25kt3\r\nTpqkwZBatSAAFmI9bv5XjpTdDzgQZ6/Kazkpk1+0VTNV9VxEHgqMfNaFUZKi\r\nMoNjM+2TBc4zXpvFPe54/2KYNocb2fzoaLfA3MSY0BSJjP0hnAt3FrFGD5m+\r\n/WewjUpYd2uNEaKkE9Ss+QhYJsnA8OuHMRrpsFy3Tmwh6v2uCzIo3rVc0ZdO\r\nwZ6DB4KFacOF5BQVcbmyo/04S+bY4EaE29s=\r\n=lZtb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAUGTFTlmfNm2TH6NHOAquwWTiFF72aU5vlqaZa16xTmAiBYKDUt77D5a452y80NyKwxZdhRm5oHmRPsazea1GslkA=="}]},"_npmUser":{"name":"papers_ch","email":"contact@papers.ch"},"directories":{},"maintainers":[{"name":"papers_ch","email":"contact@papers.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ur-registry-xtz_0.0.1-beta.1_1646265394636_0.8190599569919077"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-02T12:46:47.448Z","0.0.1-beta.0":"2022-03-02T12:46:47.661Z","modified":"2022-04-04T12:22:15.478Z","0.0.1-beta.1":"2022-03-02T23:56:34.788Z"},"maintainers":[{"name":"papers_ch","email":"contact@papers.ch"}],"description":"bc-ur-registry extension for Tezos","homepage":"https://github.com/airgap-it/ur-registry-xtz#readme","repository":{"type":"git","url":"git+https://github.com/airgap-it/ur-registry-xtz.git"},"bugs":{"url":"https://github.com/airgap-it/ur-registry-xtz/issues"},"license":"MIT","readme":"","readmeFilename":""}