{"_id":"c32check","_rev":"19-e4524cf08503d34b15aa1313d2791f60","name":"c32check","dist-tags":{"alpha":"1.0.0","beta":"1.1.1","latest":"2.0.0"},"versions":{"0.0.2":{"name":"c32check","version":"0.0.2","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@0.0.2","maintainers":[{"name":"jcnelson","email":"jude@blockstack.com"}],"contributors":[{"name":"Jude Nelson"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/jcnelson/c32check/issues"},"nyc":{"include":["lib/**"]},"dist":{"shasum":"ac6363278656c9b0061975d3a646063d57ea29c2","tarball":"https://registry.npmjs.org/c32check/-/c32check-0.0.2.tgz","fileCount":12,"integrity":"sha512-v/VYWtfKQjTwrtCTGsXj8vSwDztMKW+QOdwbORHRtbzv4kmvSp5hbss9lqRPQfwQ1gMkSJi7JLzThv7MPTn+OA==","signatures":[{"sig":"MEYCIQCaTgxj+2lkOp7kKglB2QcgiET0tHopkjr+SeNasclKgAIhALcWJM954PuOGS63ndiDWaHXU+Y+Otg8eFv7cdKPVt48","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbNruZCRA9TVsSAnZWagAAgqkP/RwF6xonr4kLAPZHGrUY\nctScYZi07jrrbMC+qAuDz8SYLuayPTKK7V36/XJmxwp0Ooz9xH7pflDY9ads\n7XhMT58qRYbUlMN4LhQ9AD8lY+ssxE+jA7+DmAuN8Fz3MrXnMGAVswzjAZgh\nkZ4RQP0707MTYidS2pbPwKYeBewRj7jsONO6nlt3NN55vuso4X8Z8agptDnS\nQ6tUCdB6QBkolBjifNWKG7xmtiEF7sE1wc+xRoRCcVnIezML16COUg77Wpwe\nijGhS9ln3nbgCwQinZYOTjhMV6qt5YWQ59o3yS+4fGUU4gQ0RZb0IEnLotZx\nTg9vnauJS3EYgIjFphKa0AnSqWC9ZZ7wudfIIkdXo+NKfTp7+seFVK0B8cbT\nabrG2nuuqV/88oXK1ZTMyTgphax4p5DVLpCvzO6HcTWR8msMqi1/eJF7SirD\n3AKoCuhryFwKlxZoQw2eFeTZ4/YFvRqzNYaSm0RzMIsoPk0//v9yY780fS2z\nY1dZAlcUhbuhz/3QuDDpRwMBlf0oxO7bOy3aETkyNvOVgxQuKBHYrcfL8Xa7\nb9jbulB4dyWbbj6UkP4KaKkJYB+3M1yKTBLj61Mbf81e9siAVM6azXTP9TgK\nT+EvWLdQqo1tGGSaKfwrzC40/TjoFKFWSJ4Poum7O2IcZo0AD1DQtq8ApzNM\nLo2h\r\n=YGZ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","engines":{"npm":">=5","node":">=6"},"gitHead":"fb16bdb52c3d9f0392c5447107695066eb08eec2","scripts":{"flow":"flow","lint":"eslint src && eslint tests","test":"nyc --reporter=text npm run unit-test","build":"npm run flow && npm run compile && npm run browserify","compile":"rm -rf lib; babel src -d lib","unit-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js","browserify":"mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js","prepublish":"npm run build","compile-tests":"rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;"},"_npmUser":{"name":"jcnelson","email":"jude@blockstack.com"},"repository":{"url":"git+https://github.com/jcnelson/c32check.git","type":"git"},"_npmVersion":"5.6.0","description":"z-base-32 checksum encoding","directories":{},"_nodeVersion":"8.11.3","dependencies":{"bigi":"^1.4.2","ripemd160":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.4.1","opn":"^4.0.2","nock":"^9.1.6","tape":"^4.6.3","sinon":"^4.2.1","eslint":"^2.10.2","express":"^4.15.0","bluebird":"^3.5.1","flow-bin":"^0.49.1","babel-cli":"^6.24.1","blue-tape":"^1.0.0","browserify":"^13.1.1","fetch-mock":"^5.5.0","node-fetch":"^1.6.3","proxyquire":"^1.8.0","babel-eslint":"^6.0.4","tape-promise":"^2.0.1","documentation":"^4.0.0-rc.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","mock-local-storage":"^1.0.5","eslint-plugin-react":"^5.1.1","eslint-config-airbnb":"^9.0.1","eslint-plugin-import":"^1.8.1","eslint-plugin-flowtype":"^2.49.3","eslint-plugin-jsx-a11y":"^1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/c32check_0.0.2_1530313625790_0.18360301232779097","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"c32check","version":"0.0.3","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@0.0.3","maintainers":[{"name":"jcnelson","email":"jude@blockstack.com"}],"contributors":[{"name":"Jude Nelson"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/jcnelson/c32check/issues"},"nyc":{"include":["lib/**"]},"dist":{"shasum":"f83e7dd638efba24d15467e7b66ce8033876f9d4","tarball":"https://registry.npmjs.org/c32check/-/c32check-0.0.3.tgz","fileCount":13,"integrity":"sha512-FrObgpc6eM7TC0QyOXfDGi0RKf96ZJvA5ZdBG1ybpHqF237vL17y7eLBBMHoUxdmJz25xR1dawGeLIgulemEKA==","signatures":[{"sig":"MEUCIC5HPslOcqClV8ebeFBica1htspvVkNfcUDE1WQXbWXGAiEAvHy+R5PPp/KdHvNlKP5EMlollbZ3MbUHPk443pjeUJM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17894267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbORw9CRA9TVsSAnZWagAAbbIP/jDyEowVFqCG4xy3jFZg\nYS/LwkwQwty/opJCNbh3cskKINI9u+S1mK7ieQUTV5dFQUKslk6OS47aY9ME\n6Vton0iRO+XsLYpGs+Xi/lrZVGqtrNBRazWCczPMU8mlY+ovMCoKPS3tYU8m\nI9ZKnEDD9KKxFVKjQHp20wlc9qdwsml0pumMPHjHUaWcMBO2QjkQDDrIc6xy\n5cbel+SucAnh2rK5SAKhS1af3lDelXBO22LnZMDgOaWHw7rvUkkIDxz8eEdM\nimwxSk8l38quYi6eYDqJy2lqYrwGVGwpD/VoinDVng3L50twTYxtgoTjAQTp\nhqcab0hy3JXIpzfqBSxBDQkak+S6XZPhHPciL2I7p87OYzYiZY7AEZdJp/t4\ntykb06mLbYMczR07eJq/UPLkwxGznrB4ZX2oFStOtAwpJgSYR/4mxfkxfIkU\nGU2m1mlP7sdEUvo6GlxybtKEbSTABytSy++LtrJ4RdwLlDaTe2B2xiF9+nmt\nCk6KpKjnjK3ZFvCswuEcFUqZ04x+hMGfiwOPufkzeV5i0YeU96X/k5PR37fS\nqjsyYbHRcLgZNNSdfNteD53HIB81jFTNxmYF5PllUiVSb3vu7AG3ZVl+CW9Q\nv2udaXBDeAsY7aa0N/PxhMpzQVSIt2RGPUhU9ebZsPpvPQsIoGF0JZIPZXHw\ntyIN\r\n=/5eP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","engines":{"npm":">=5","node":">=6"},"gitHead":"fc8c689a5684c4c8def9aa9dff1b87b00f69b25a","scripts":{"flow":"flow","lint":"eslint src && eslint tests","test":"nyc --reporter=text npm run unit-test","build":"npm run flow && npm run compile && npm run browserify","compile":"rm -rf lib; babel src -d lib","unit-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js","browserify":"mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js","prepublish":"npm run build","compile-tests":"rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;","data-set-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && BIG_DATA_TESTS=1 node ./tests/unitTests/lib/index.js"},"_npmUser":{"name":"jcnelson","email":"jude@blockstack.com"},"repository":{"url":"git+https://github.com/jcnelson/c32check.git","type":"git"},"_npmVersion":"5.6.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"8.11.3","dependencies":{"ripemd160":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.4.1","tape":"^4.6.3","eslint":"^2.10.2","flow-bin":"^0.49.1","babel-cli":"^6.24.1","browserify":"^13.1.1","babel-eslint":"^6.0.4","tape-promise":"^2.0.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","eslint-plugin-import":"^1.8.1","eslint-plugin-flowtype":"^2.49.3"},"_npmOperationalInternal":{"tmp":"tmp/c32check_0.0.3_1530469436924_0.8055864443902299","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"c32check","version":"0.0.4","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@0.0.4","maintainers":[{"name":"jcnelson","email":"jude@blockstack.com"}],"contributors":[{"name":"Jude Nelson"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/jcnelson/c32check/issues"},"nyc":{"include":["lib/**"]},"dist":{"shasum":"9a9dab13450abc3682f7105d4ada5414423d8a2b","tarball":"https://registry.npmjs.org/c32check/-/c32check-0.0.4.tgz","fileCount":13,"integrity":"sha512-ew30bJRWTAT4B5hTGNcedB4wxUF7BStCXA9XuPLYAiMfIMnuE8+I7gLeHjQvUOKGU7sKyGbYcwzE7UWTfcP4xA==","signatures":[{"sig":"MEYCIQCgR8J6aw1XoCphJyuQg3dY+bxjchK0sBAQapHFjgt8RgIhANUU195tYMG4nFPO04Ubkfl0Va6eyuQp6DvMYoY8bQZd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17894267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOkAWCRA9TVsSAnZWagAAL/MP/RlpZrYTfP+WZOuYRtVS\nzhFCK2q61WUHjSVszGw/Pt6+AGPv3QGJCEGuwiwDok9BDaVC8juzO6Ml7Upv\n9zujXV0xwcvHckbuaGVtQRItF6GVxDyFDn31GxW7z4HQzZfmd745XNrFycop\nBvdY5UTbWkbdwyya9ue3N3KRaf9Fq6Sa40TxE4Blc3gQN74tSB4LE7N3usEA\nK4jssrbLiwrVpoAOu5dHMDnJXoXNoqWijzX+7qtG2NenF6vA+IkxaozPoUn/\n0gYpuo6CNNbvC6jtKM+c9P19pbM8G+upy+fewxFM0AWxVz9+jugTVjOZ4X9L\nm4rHePF67IVttyePSVvmBRfM57t1+2xMNFXQu0vXF9jYFCPYGfgGALifX0qm\nbRdFZKHfrKwDNzh/Z9ydVEGtJmXOowJ+ptIf3M6Pif7PMv3vGAQXbYJJtWcc\nNQkjM17kNQ9xEUYNIwbqqQz3xBElzUWqzfaXB7zlBTAh9aYy0rD1uAVmCZIr\nR4fXrRhpkMZhyUkq/Yiga+j3PQtRTaGWox2N+a9CxW4TOmsML5cIq3AvyDyM\nlOREAJulDrX3zar+ioLe5WNUHkdawok++FbolnDfilMKKLIXdcp281HsCKOT\n7LNnT7yCkuDgSJe5nBz86zdOT1Bg/6SBgYh9FjRBtJrctKRJj6ALHRrlpAWA\nLV5H\r\n=+sPD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","engines":{"npm":">=5","node":">=6"},"gitHead":"6c9f1f10b921e11408f9f192777ef1cee9737463","scripts":{"flow":"flow","lint":"eslint src && eslint tests","test":"nyc --reporter=text npm run unit-test","build":"npm run flow && npm run compile && npm run browserify","compile":"rm -rf lib; babel src -d lib","unit-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js","browserify":"mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js","prepublish":"npm run build","compile-tests":"rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;","data-set-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && BIG_DATA_TESTS=1 node ./tests/unitTests/lib/index.js"},"_npmUser":{"name":"jcnelson","email":"jude@blockstack.com"},"repository":{"url":"git+https://github.com/jcnelson/c32check.git","type":"git"},"_npmVersion":"5.6.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"8.11.3","dependencies":{"ripemd160":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.4.1","tape":"^4.6.3","eslint":"^2.10.2","flow-bin":"^0.49.1","babel-cli":"^6.24.1","browserify":"^13.1.1","babel-eslint":"^6.0.4","tape-promise":"^2.0.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","eslint-plugin-import":"^1.8.1","eslint-plugin-flowtype":"^2.49.3"},"_npmOperationalInternal":{"tmp":"tmp/c32check_0.0.4_1530544149989_0.2156715740230728","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"c32check","version":"0.0.5","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@0.0.5","maintainers":[{"name":"jcnelson","email":"jude@blockstack.com"}],"contributors":[{"name":"Jude Nelson"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/jcnelson/c32check/issues"},"nyc":{"include":["lib/**"]},"dist":{"shasum":"c36bbec1d8130100f9e8d56b43b777ca57c37a56","tarball":"https://registry.npmjs.org/c32check/-/c32check-0.0.5.tgz","fileCount":29,"integrity":"sha512-bMEAti0vg7YvXg0E0Lw86OsDwRw5JrFb9ycEK4n36mgM1uwANNDOe8y+Zh4xTDlwhcEuW5tkm6KPUNt45vQ/7Q==","signatures":[{"sig":"MEUCIEaYskaBJOonN0F8bxz+geIJ/1DaVTEMGxaGsW6nAUq2AiEAkkqqPSyftGYx07/RuYj0Mzcbxmtghoh4vuUVQpEzWxc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19178361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOnFhCRA9TVsSAnZWagAAUIYP/R0sd4Be4iAqC9rZqlED\nyb8WS8T1MvnshfufeNxXRHhw/CKV8njrZN+D2SO7DRSrljlOdzYgyhMXtEQ3\nWud6z06SoxWRGChDR62gPJzuVUC1aDqJAagcWGZxOOXtpArj3zaqpNKeiN3q\naETuxYb9ZjAXOUqo0Ur+SaS+Xaceia8NhZ4d03MpwJNix8pTGv4RsRFYZi9A\n2utv3mW7ZuYhTgqKNeYSz7rQF2PY6T/PVqRp52PUoiQaQkc9Pg5pnLaX/o9y\nALFB2PnjVBHZ5kEfJ11VSubGjppNBm7IRwRcSWhFUpiFxNwfNBeaVQdPn8EG\njIKuIBL9dXAGcQLLNCgQZ3TCwuhVdrr6qtyftJ+he/VojGMCZ6olQDivSfgH\nYdlYf6XPwGsRxm/7a7mEcTWqvBJGqJrupx2lDGEZFHW7HXUgPSAZriH7l+Bc\nWd+6vKMfR3QQbMxcNszoY5NIdpwzsL28weGzfZOVfsunr6VgM/dRlT9HYfZ3\nE94duSQ7o9TDVwuIHw6PpnJqAd+hGOd1gikQJTTc0d+bqsItGobl9R+3Hvo6\nqS5awxzw+XjWY8//h9AdszVARbf4yxqciYDPKbqo05xDdOq/uiLuickhHSLh\npyrCRBeYSpDMyZ5E3OKMLI56SnKW9IkE6vYeNVJjKhX7AiwYpuzCQ/pvWYzL\n4yfu\r\n=gzRC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","engines":{"npm":">=5","node":">=6"},"gitHead":"6c9f1f10b921e11408f9f192777ef1cee9737463","scripts":{"flow":"flow","lint":"eslint src && eslint tests","test":"nyc --reporter=text npm run unit-test","build":"npm run flow && npm run compile && npm run browserify","compile":"rm -rf lib; babel src -d lib","unit-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js","browserify":"mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js","prepublish":"npm run build","compile-tests":"rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;","data-set-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && BIG_DATA_TESTS=1 node ./tests/unitTests/lib/index.js"},"_npmUser":{"name":"jcnelson","email":"jude@blockstack.com"},"repository":{"url":"git+https://github.com/jcnelson/c32check.git","type":"git"},"_npmVersion":"5.6.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"8.11.3","dependencies":{"ripemd160":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.4.1","tape":"^4.6.3","eslint":"^2.10.2","flow-bin":"^0.49.1","babel-cli":"^6.24.1","browserify":"^13.1.1","babel-eslint":"^6.0.4","tape-promise":"^2.0.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","eslint-plugin-import":"^1.8.1","eslint-plugin-flowtype":"^2.49.3"},"_npmOperationalInternal":{"tmp":"tmp/c32check_0.0.5_1530556768437_0.220317701666654","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"c32check","version":"0.0.6","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@0.0.6","maintainers":[{"name":"jcnelson","email":"jude@blockstack.com"}],"contributors":[{"name":"Jude Nelson"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/jcnelson/c32check/issues"},"nyc":{"include":["lib/**"]},"dist":{"shasum":"9b5bac1c6b73fc12f5ec7114d372daa079cf5509","tarball":"https://registry.npmjs.org/c32check/-/c32check-0.0.6.tgz","fileCount":29,"integrity":"sha512-aXUFQML0sRvR/aBn9cpBGmP/m8t5JmfgaQ4O4/zdphTpLTEaDx0+RbuzDGkps2rAk3Ck69nswR8fknIZSI5rUg==","signatures":[{"sig":"MEQCIF3IqsR+EKE588fY+3/s7vXTOLIdOpPI+Fq9jPjONwNIAiAYQi6SXbujuNiWVPxddwQAfAf+j7ESzRZl8EbyPhL3nA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19207769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOpkJCRA9TVsSAnZWagAA0CMP/2+CGV6ZojTbCGfUijpx\ngvedYn5UujWOnAFWEVETkc6WX+Q91fD53S1WzchxiHWuzFKK+GlppDnB9Duq\nQVkJcwqNroIhaGrej7DgJidbDC+At1XzsBE3e9PRzQz/q0I38DpcyyGmhcbj\nlOl2UZt+tlAHW5ygvdUWI0Ln0MknkJV5pmbwtNwGPMZu+go5W2INPudXmAyE\n2mXAgYXZ7x++eNhwk2PelOINWj98u8zGmsErjX83VljA05M3qrH1DlVPGW2a\nGqaSir3/OJdEnCLdrUXlUioPfFXvDwwoNt3IY4xDVd6+VfIppofeDZrENCzt\n9p+zzFDdvg7F50+NAPtT9vkG7LVnHG1eYuBeBdmvXFmmqatVh1usv6N7fb+m\ndXK21aEttDuFexTVGqy2PcL5SaPAT3qNYsbXDyY/2I/oyjHpdXYqriiVTJD/\nQLcqZ7apUw7udA/HzFG/Jftwhxanq2XOon0CBWWfcLTRg6OUQ29ixYZX5UGL\n4/yNnCO4ypE2xB40FJ9TPYP3wQY6UEhP3/cLT1u+5lYGCFmmIxVTOewFPu5b\n5F5bl1AqMCaaGeqcQ1Z/+WIfx1J3/B736CkKiERa5fwjULr7SNyanRD/YleX\nd2sx1H08cJ9YiK2Ed9dZVQs4bTEnAm1X8aCFSpHrnyszMBvjsSqWktWVSXbJ\njb6J\r\n=sja6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","engines":{"npm":">=5","node":">=6"},"gitHead":"f012ad9f8607c092321e34c644143dd87f31f034","scripts":{"flow":"flow","lint":"eslint src && eslint tests","test":"nyc --reporter=text npm run unit-test","build":"npm run flow && npm run compile && npm run browserify","compile":"rm -rf lib; babel src -d lib","unit-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js","browserify":"mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js","prepublish":"npm run build","compile-tests":"rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;","data-set-test":"npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && BIG_DATA_TESTS=1 node ./tests/unitTests/lib/index.js"},"_npmUser":{"name":"jcnelson","email":"jude@blockstack.com"},"repository":{"url":"git+https://github.com/jcnelson/c32check.git","type":"git"},"_npmVersion":"5.6.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"8.11.3","dependencies":{"ripemd160":"^2.0.1","base58check":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.4.1","tape":"^4.6.3","eslint":"^2.10.2","flow-bin":"^0.49.1","babel-cli":"^6.24.1","browserify":"^13.1.1","babel-eslint":"^6.0.4","tape-promise":"^2.0.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","eslint-plugin-import":"^1.8.1","eslint-plugin-flowtype":"^2.49.3"},"_npmOperationalInternal":{"tmp":"tmp/c32check_0.0.6_1530566920273_0.8203316892211647","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"c32check","version":"1.0.0","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.0.0","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"zone117x","email":"zone117x@gmail.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"0e437dbb541927c7969e95cea22fa0e9bb7aa559","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.0.0.tgz","fileCount":21,"integrity":"sha512-tC18ZhLmNYBlRWAU7KQzbyPujOg+8obrv0Kw/zkIyziW+bzYrpLytHGP4kUuMw2kJ0rnwN8PDn1428X6Khd6oQ==","signatures":[{"sig":"MEUCIQDsgSc19v+X+KBmjSt4+vWWLHOU1zl2eQZ7VFt9YZP3uAIgBMtH7NjkEtK/SFYEbEa3bkAxNAGbfbCLIPp0GaxDHI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18239657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6tE0CRA9TVsSAnZWagAAhTQP/2DY+NFQvHVguEjukIXG\nTTmVzFolWdvuCCuzC/x9HJ/epM0JxnCDf0shq/Q9oG2G/+f/VgUSVSLIC5sH\ngRYCu4Zn9/oYTGWE6FeUcDMncI+rnC/HNeQo6qKTtZhlSNZj4q2qmOLWJ0Fs\niQn1U7J1Xn7ZfMSuKbRYnL8O5YnKuaBDq+17xHaRpHZW7KnouUsYY8p/RQbh\n6vKSKvfu8UaquCe9YznL/vmkCUqsdN3rT8bBvhYH21lnM42EY94Ql+3QuiC9\nMoJ0QSYTkZ3m1CiKTqBWpswoZ0ivJtBe7x7xEWeHY7p1ZYt0OxK9XHwUy3Ah\nAzvXzGDkXeZZlGwzFA+TZzu3ypR0h3c+HiDrhzyM2H4wUXA4RUcjR2yyS/mk\nd/nxvg8RTbkt8Xc7b3Pa7JrCpq6v2/CuqA79K/PgmZTU2FSkmaVeJDs+EJR+\nnM843fA5vS/vhc3V1C95rg9wzITKOlF/al9xJg9NTGDf5cb/DskdWLee9gBx\nMGK4dJFA6LlGtXvP4VuRz7vf3p+lENz51JQ8FH9j65BW5w5z7djIIM8XyPED\nP/5CmdEA42rCw1bF4vaO3FX1WfqPiQmoBh5ouR7RJIMKRf5Uvwt5Ut95SYJS\naopNEbTgBSHrTFy8pcPM8KHMgxEuPjWSw+A41P29VxoaVswBu0ShuuWYw0Im\nhCeJ\r\n=vKjf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","unpkg":"dist/c32check.js","readme":"# c32check\n\n[Crockford base-32](https://en.wikipedia.org/wiki/Base32#Crockford's_Base32) encoding library\nwith 4-byte checksum.\n\nThis library is meant for generating and decoding Stacks addresses on the\nBlockstack blockchain.\n\n## How it works\n\nEach c32check string encodes a 1-byte version and a 4-byte checksum.  When\ndecoded as a hex string, the wire format looks like this:\n\n```\n0      1                             n+1             n+5\n|------|-----------------------------|---------------|\nversion     n-byte hex payload          4-byte hash\n```\n\nIf `version` is the version byte (a 1-byte `number`) and `payload` is the raw \nbytes (e.g. as a `string`), then the `checksum` is calculated as follows:\n\n```\nchecksum = sha256(sha256(version + payload)).substring(0,4)\n```\n\nIn other words, the checksum is the first four bytes of the\ndouble-sha256 of the bytestring concatenation of the `version` and `payload`.\nThis is similar to base58check encoding, for example.\n\n## c32 Addresses\n\nSpecific to Blockstack, the Stacks blockchain uses c32-encoded public key\nhashes as addresses.  Specifically, a **c32check address** is a c32check-encoded\nripemd160 hash.\n\n# Examples\n\n```\n> c32 = require('c32check')\n{ c32encode: [Function: c32encode],\n  c32decode: [Function: c32decode],\n  c32checkEncode: [Function: c32checkEncode],\n  c32checkDecode: [Function: c32checkDecode],\n  c32address: [Function: c32address],\n  c32addressDecode: [Function: c32addressDecode],\n  versions: \n   { mainnet: { p2pkh: 22, p2sh: 20 },\n     testnet: { p2pkh: 26, p2sh: 21 } },\n  c32ToB58: [Function: c32ToB58],\n  b58ToC32: [Function: b58ToC32] }\n```\n\n## c32encode, c32decode\n\n```\n> c32check.c32encode(Buffer.from('hello world').toString('hex'))\n'38CNP6RVS0EXQQ4V34'\n> c32check.c32decode('38CNP6RVS0EXQQ4V34')\n'68656c6c6f20776f726c64'\n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32checkEncode, c32checkDecode\n\n```\n> version = 12\n12\n> c32check.c32checkEncode(version, Buffer.from('hello world').toString('hex'))\n'CD1JPRV3F41VPYWKCCGRMASC8'\n> c32check.c32checkDecode('CD1JPRV3F41VPYWKCCGRMASC8')\n[ 12, '68656c6c6f20776f726c64' ] \n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32address, c32addressDecode\n\n**NOTE**: these methods only work on ripemd160 hashes\n\n```\n> hash160 = 'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n> version = c32check.versions.mainnet.p2pkh\n22\n> c32check.c32address(version, hash160)\n'SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7'\n> c32check.c32addressDecode('SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7')\n[ 22, 'a46ff88886c2ef9762d970b4d2c63678835bd39d' ]\n```\n\n## c32ToB58, b58ToC32\n\n**NOTE**: Common address versions are converted between c32check\nand base58check seamlessly, in order to accomodate Stacks addresses.\n\n```\n> b58addr = '16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n> c32check.b58ToC32(b58addr)\n'SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8'\n> c32check.c32ToB58('SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8')\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n```\n```\n> b58addr = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n'3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n> c32check.b58ToC32(b58addr)\n'SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY'\n> c32check.c32ToB58('SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY')\n3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n```\n","engines":{"node":">=8"},"gitHead":"3b22ce6f81b621de2e2098d2d0a4dea02c1bf013","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","prepublish":"npm run build","codecovUpload":"codecov","data-set-test":"npm run lint && cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"6.12.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"12.13.0","dependencies":{"ripemd160":"^2.0.1","base58check":"^2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^14.1.1","tape":"^4.11.0","eslint":"^6.7.2","rimraf":"^3.0.0","codecov":"^3.6.1","ts-node":"^8.5.4","webpack":"^4.41.2","prettier":"^1.19.1","cross-env":"^6.0.3","ts-loader":"^6.2.1","typescript":"^3.7.3","@babel/core":"^7.7.4","@types/node":"^12.12.14","webpack-cli":"^3.3.10","babel-loader":"^8.0.6","tape-promise":"^4.0.0","@babel/preset-env":"^7.7.4","source-map-support":"^0.5.16","@typescript-eslint/parser":"^2.10.0","@blockstack/prettier-config":"0.0.4","@typescript-eslint/eslint-plugin":"^2.10.0"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.0.0_1575670068032_0.14529100146090435","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"c32check","version":"1.0.1","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.0.1","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"zone117x","email":"zone117x@gmail.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"857dcd60de12f515d582dc70e85b9fb9666cbf32","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.0.1.tgz","fileCount":21,"integrity":"sha512-0e1+39uLNLyRm9sNoPUCg38LOELUqiBDZXD9kpUUAFNBq21gY3VaNImp1rfznQOsqK27ArvQ2JaZmfokZznqHg==","signatures":[{"sig":"MEUCIQCUqO1ps+ZNnzKI3EjHqxeDLXPpWU/lKqPz1Ra2NGFd/wIgY2zJBWyv8acTgXcGKEoljWCYdt9fe4gODRyE25Wspvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18238261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6uJjCRA9TVsSAnZWagAAZgcP/0vpXEH09Lg9ptYmOQna\na91pREvkpZnftV4k7DIMsP99/vd9DJf0kGBsv/iApTCM+bWAyYohM5Id7VMf\no3dLyhmgGGZDGkkB1vtXwYPJgaLrrnHWy5TEhWml0Yw3GIoIc9ypTscuInwk\nUxFUy6EOjYtNokdVsPkDVDEyQCWFrKlSNerRN8ySNyDIwjQlPtRLttNZsCGW\n2nkMYJRLtB5IwwC5RzuLJMObIm9lcCr+n8mfC6ypTob0EBkvGSwgkNA34H6G\nuRm8+BMOifmlxOFRW+vgMhdUvWJiR1AHsqSJCaZ1pf/yupqmpz1kw6z5VvMV\nXIlF22CQEvo515EIcMUoDZm0dfG7s+J0VcntDiuYZFB9F/5j+0j/a2rRbzZo\nO5vRgo4tiOmf/TCIewrNVWDWmid1Ve33Uc8erG7AoitId2Oa33gcZinWwnSV\ncHevMI35hha+RdYShUz7VdVkHf/TqZuoPv27491dENnmp5JJ3T4ypRXIyX7W\nDY5PKsXoDHCS8cHt9pb0Vdf6qtorpwPCpD5wb7DnVuEuPOw7KE/U2qG2I0VP\n5+jupNAAJgHOWQNAMsYIZTX2CLes/T+OR5MXEEa6Ud78QbRDYipezP7hICJ5\nj+E0a5uuUA/GIEGGPlGBjHuMdk14v12wnjgdEGzTojVhrce2mpS+w/ChqmB4\nAvqz\r\n=a3Sd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","unpkg":"dist/c32check.js","engines":{"node":">=8"},"gitHead":"ea8aa20495f724e946f5f63d8e9f33dbc4a4b236","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"6.12.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"12.13.0","dependencies":{"ripemd160":"^2.0.1","base58check":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","tape":"^4.11.0","eslint":"^6.7.2","rimraf":"^3.0.0","codecov":"^3.6.1","ts-node":"^8.5.4","webpack":"^4.41.2","prettier":"^1.19.1","cross-env":"^6.0.3","ts-loader":"^6.2.1","typescript":"^3.7.3","@babel/core":"^7.7.4","@types/node":"^12.12.14","webpack-cli":"^3.3.10","babel-loader":"^8.0.6","tape-promise":"^4.0.0","@babel/preset-env":"^7.7.4","source-map-support":"^0.5.16","@typescript-eslint/parser":"^2.10.0","@blockstack/prettier-config":"0.0.4","@typescript-eslint/eslint-plugin":"^2.10.0"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.0.1_1575674466599_0.3250103537822395","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"c32check","version":"1.1.0","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.1.0","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"reedrosenbluth","email":"reed@blockstack.com"},{"name":"yknl","email":"yukanliao@gmail.com"},{"name":"zone117x","email":"zone117x@gmail.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"d880360c41cfe9c59336017b10221518bac06219","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.1.0.tgz","fileCount":20,"integrity":"sha512-hnZokQgQaCDrOm9sM7PzF4ofFCqfEctzAOoflPMEVpA8JhZSZ7vGpKQDIQBuiHxdDegCrBQeG8TQa+SEHz6RlQ==","signatures":[{"sig":"MEYCIQD2nXUoJC4sPdFLRnzBGUNtpKPFuH4B1sd5T8Ud3ChJSQIhAJXNW6suQkZzKAvJPW3UZKCO6zvafcCquzchoypNvK+D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPYg6CRA9TVsSAnZWagAA2/8P/A4UeYBf7Ng1nTgQ2rtW\n/zobZK0bLxKj3Ns0bKCnP9X3t3GNrR/mzYi4guaKtuGAG2X1p3Vud2PB2aUO\nkPv9okM7B47hX84nvYU10RWP19zzDS5H3rSHw4z4eCz9aHLlW6ijaNnmaPV5\n6VYzp/jRqyy9jtbpRcv4oxy12j2KwxS9Q70hYkoAkFcwQ+PpulDTt3GEzjTH\n49Y2zC0zp5MDwojBUwBqLxRRTPIp/534IIs+BtYg+cINje6iJV+hkM8B24oM\nueoZr7vQfSH2jwIfdUmLE2nMKlKvV196wjPLLNs1r5J99A/LEjOM4k3HTZKM\nYYQONaUJc2Xj/LYLuNi6Ac7NjM3CympzfkWNyxXaTnwgkvksZycA39sp/Ukp\nxZESBp3B7G4DMeIj1pR/nFERr9ZaA0F1S48kWXxsF6nXbBb4qc/meb85JG2B\nOqTpcoopRHzhGjaSXlASkv04p67sxkTR3yX+TpUlSa2I5rmER23MwZNl//tU\nQsg0uk62kYotYfqlO6Gy/gZTa66+kg3ftEYNcatJH6nBZLXlHIFayYQIlOQf\nm97bYHZpJo/O9Uolc/jzKFuThaKuVi1EK5KlWR5ff9o4oSAkEJ9WmicZ1ZRZ\nGTDQnm5lv2pDXZPNYDphN6C2WxLpu+NyWwqkALtooWh2MXv4fkAaT6nvV07A\nFQOq\r\n=EtEC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","unpkg":"dist/c32check.js","readme":"# c32check\n\n[Crockford base-32](https://en.wikipedia.org/wiki/Base32#Crockford's_Base32) encoding library\nwith 4-byte checksum.\n\nThis library is meant for generating and decoding Stacks addresses on the\nBlockstack blockchain.\n\n## How it works\n\nEach c32check string encodes a 1-byte version and a 4-byte checksum.  When\ndecoded as a hex string, the wire format looks like this:\n\n```\n0      1                             n+1             n+5\n|------|-----------------------------|---------------|\nversion     n-byte hex payload          4-byte hash\n```\n\nIf `version` is the version byte (a 1-byte `number`) and `payload` is the raw \nbytes (e.g. as a `string`), then the `checksum` is calculated as follows:\n\n```\nchecksum = sha256(sha256(version + payload)).substring(0,4)\n```\n\nIn other words, the checksum is the first four bytes of the\ndouble-sha256 of the bytestring concatenation of the `version` and `payload`.\nThis is similar to base58check encoding, for example.\n\n## c32 Addresses\n\nSpecific to Blockstack, the Stacks blockchain uses c32-encoded public key\nhashes as addresses.  Specifically, a **c32check address** is a c32check-encoded\nripemd160 hash.\n\n# Examples\n\n```\n> c32 = require('c32check')\n{ c32encode: [Function: c32encode],\n  c32decode: [Function: c32decode],\n  c32checkEncode: [Function: c32checkEncode],\n  c32checkDecode: [Function: c32checkDecode],\n  c32address: [Function: c32address],\n  c32addressDecode: [Function: c32addressDecode],\n  versions: \n   { mainnet: { p2pkh: 22, p2sh: 20 },\n     testnet: { p2pkh: 26, p2sh: 21 } },\n  c32ToB58: [Function: c32ToB58],\n  b58ToC32: [Function: b58ToC32] }\n```\n\n## c32encode, c32decode\n\n```\n> c32check.c32encode(Buffer.from('hello world').toString('hex'))\n'38CNP6RVS0EXQQ4V34'\n> c32check.c32decode('38CNP6RVS0EXQQ4V34')\n'68656c6c6f20776f726c64'\n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32checkEncode, c32checkDecode\n\n```\n> version = 12\n12\n> c32check.c32checkEncode(version, Buffer.from('hello world').toString('hex'))\n'CD1JPRV3F41VPYWKCCGRMASC8'\n> c32check.c32checkDecode('CD1JPRV3F41VPYWKCCGRMASC8')\n[ 12, '68656c6c6f20776f726c64' ] \n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32address, c32addressDecode\n\n**NOTE**: these methods only work on ripemd160 hashes\n\n```\n> hash160 = 'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n> version = c32check.versions.mainnet.p2pkh\n22\n> c32check.c32address(version, hash160)\n'SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7'\n> c32check.c32addressDecode('SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7')\n[ 22, 'a46ff88886c2ef9762d970b4d2c63678835bd39d' ]\n```\n\n## c32ToB58, b58ToC32\n\n**NOTE**: Common address versions are converted between c32check\nand base58check seamlessly, in order to accomodate Stacks addresses.\n\n```\n> b58addr = '16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n> c32check.b58ToC32(b58addr)\n'SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8'\n> c32check.c32ToB58('SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8')\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n```\n```\n> b58addr = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n'3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n> c32check.b58ToC32(b58addr)\n'SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY'\n> c32check.c32ToB58('SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY')\n3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n```\n","browser":{"crypto":false},"engines":{"node":">=8"},"gitHead":"89070a05b2c228d37532273b1ca337c84b2b64a5","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","prepare":"npm run build","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","postinstall":"npm run build","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build","webpack:analyze":"rimraf dist && cross-env NODE_ENV=production ANALYZE=true webpack --mode=production"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"6.14.4","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"13.14.0","dependencies":{"base-x":"^3.0.8","buffer":"^5.6.0","cross-sha256":"^1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","eslint":"^7.7.0","rimraf":"^3.0.2","codecov":"^3.7.2","ts-node":"^8.10.2","webpack":"^4.44.1","prettier":"^2.0.5","cross-env":"^7.0.2","ts-loader":"^8.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/bs58":"^4.0.1","@types/node":"^8.0.0","webpack-cli":"^3.3.12","babel-loader":"^8.1.0","tape-promise":"^4.0.0","@babel/preset-env":"^7.11.0","source-map-support":"^0.5.19","webpack-bundle-analyzer":"^3.8.0","@typescript-eslint/parser":"^3.9.1","@blockstack/prettier-config":"0.0.6","@typescript-eslint/eslint-plugin":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.1.0_1597868089721_0.7188161072989478","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"c32check","version":"1.1.1","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.1.1","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"reedrosenbluth","email":"reed@blockstack.com"},{"name":"yknl","email":"yukanliao@gmail.com"},{"name":"zone117x","email":"zone117x@gmail.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"4360e573a2118a7364909bd3e49c12adc88168d8","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.1.1.tgz","fileCount":20,"integrity":"sha512-2ozbzwJtBeNmv2Y/v01t9z65reI8f8B+IeVHkTGl4TDIqbVMEmE0drSZL8CtaUn1Xpgxshto+8DDnNJikMoV/w==","signatures":[{"sig":"MEUCIQC587JYg5YxCJPwo6OnbEqV6C/3Xf2hNc5rFDo0NofkOAIgbmvAXz+g3R6qVqwomrO5d9E6aJDYrrANklmjNtmhbKo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPYlZCRA9TVsSAnZWagAAg/gP/2PB6VyXQZDyXWAJO1CA\nvrqPk5ITsJMe/DIdOcCpNM+nk/gOueRk4ef9PI0bl21x5bqGDTLWCk19/fgZ\ncie97i9ZBk5KXFnICtZQXi3DAtYtmuQZ1noIYfDD0NALKOz534NPolYCKG5Z\n7tpJ271VBcEfekz0cyCTfGHmTEUZ8HHdyTsHR6UE2lRFqnhZRM8DAYN5y5XO\nFw9+2VzSHuvWTb+BrLS9oWICY1pYzD139vDzzpWob3AND6z7u1ZtQsXpl13t\nkB+2WYAvOnIDaVd0U7Lfh619EKetJiRpOQZ+ZyjGInBmlY2PKYzovaV0wF7G\nDrXKEkE6irETfC7eSRPU8zIQo/nTpNd8LjuiNwzThYNk5+ISCjNz+vzylKFS\nbI1WKeJb+29erguDCSMH+X0nPxt5LVCPWzHrH2bnbmREW0HrzyyTQ7/dxofZ\nhpARGE2pKZwEvf1RHxmL4XyKnbzs7hhhieI0hiXRnW7in3qC4gO16rGDni1f\n3ZCfhnWLI4w+jsYDyj/EudU8hLvsT+ylspeJ/lRkhUH8RT0LfTgldgCrvsVx\ni1Y5I88c6nFcX8Vkbh37H85X0ygxNT5P9DMJC2wi1stE+by+rEml8r4J9sau\n6xuG+ulR/ib+jTazxNuW6kT28Z9PNO7FQr0tYk/n5WAMegSBFy10XjsS256s\nnoK8\r\n=/7kc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","unpkg":"dist/c32check.js","readme":"# c32check\n\n[Crockford base-32](https://en.wikipedia.org/wiki/Base32#Crockford's_Base32) encoding library\nwith 4-byte checksum.\n\nThis library is meant for generating and decoding Stacks addresses on the\nBlockstack blockchain.\n\n## How it works\n\nEach c32check string encodes a 1-byte version and a 4-byte checksum.  When\ndecoded as a hex string, the wire format looks like this:\n\n```\n0      1                             n+1             n+5\n|------|-----------------------------|---------------|\nversion     n-byte hex payload          4-byte hash\n```\n\nIf `version` is the version byte (a 1-byte `number`) and `payload` is the raw \nbytes (e.g. as a `string`), then the `checksum` is calculated as follows:\n\n```\nchecksum = sha256(sha256(version + payload)).substring(0,4)\n```\n\nIn other words, the checksum is the first four bytes of the\ndouble-sha256 of the bytestring concatenation of the `version` and `payload`.\nThis is similar to base58check encoding, for example.\n\n## c32 Addresses\n\nSpecific to Blockstack, the Stacks blockchain uses c32-encoded public key\nhashes as addresses.  Specifically, a **c32check address** is a c32check-encoded\nripemd160 hash.\n\n# Examples\n\n```\n> c32 = require('c32check')\n{ c32encode: [Function: c32encode],\n  c32decode: [Function: c32decode],\n  c32checkEncode: [Function: c32checkEncode],\n  c32checkDecode: [Function: c32checkDecode],\n  c32address: [Function: c32address],\n  c32addressDecode: [Function: c32addressDecode],\n  versions: \n   { mainnet: { p2pkh: 22, p2sh: 20 },\n     testnet: { p2pkh: 26, p2sh: 21 } },\n  c32ToB58: [Function: c32ToB58],\n  b58ToC32: [Function: b58ToC32] }\n```\n\n## c32encode, c32decode\n\n```\n> c32check.c32encode(Buffer.from('hello world').toString('hex'))\n'38CNP6RVS0EXQQ4V34'\n> c32check.c32decode('38CNP6RVS0EXQQ4V34')\n'68656c6c6f20776f726c64'\n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32checkEncode, c32checkDecode\n\n```\n> version = 12\n12\n> c32check.c32checkEncode(version, Buffer.from('hello world').toString('hex'))\n'CD1JPRV3F41VPYWKCCGRMASC8'\n> c32check.c32checkDecode('CD1JPRV3F41VPYWKCCGRMASC8')\n[ 12, '68656c6c6f20776f726c64' ] \n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32address, c32addressDecode\n\n**NOTE**: these methods only work on ripemd160 hashes\n\n```\n> hash160 = 'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n> version = c32check.versions.mainnet.p2pkh\n22\n> c32check.c32address(version, hash160)\n'SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7'\n> c32check.c32addressDecode('SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7')\n[ 22, 'a46ff88886c2ef9762d970b4d2c63678835bd39d' ]\n```\n\n## c32ToB58, b58ToC32\n\n**NOTE**: Common address versions are converted between c32check\nand base58check seamlessly, in order to accomodate Stacks addresses.\n\n```\n> b58addr = '16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n> c32check.b58ToC32(b58addr)\n'SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8'\n> c32check.c32ToB58('SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8')\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n```\n```\n> b58addr = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n'3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n> c32check.b58ToC32(b58addr)\n'SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY'\n> c32check.c32ToB58('SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY')\n3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n```\n","browser":{"crypto":false},"engines":{"node":">=8"},"gitHead":"89070a05b2c228d37532273b1ca337c84b2b64a5","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build","webpack:analyze":"rimraf dist && cross-env NODE_ENV=production ANALYZE=true webpack --mode=production"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"6.14.4","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"13.14.0","dependencies":{"base-x":"^3.0.8","buffer":"^5.6.0","cross-sha256":"^1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","eslint":"^7.7.0","rimraf":"^3.0.2","codecov":"^3.7.2","ts-node":"^8.10.2","webpack":"^4.44.1","prettier":"^2.0.5","cross-env":"^7.0.2","ts-loader":"^8.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/bs58":"^4.0.1","@types/node":"^8.0.0","webpack-cli":"^3.3.12","babel-loader":"^8.1.0","tape-promise":"^4.0.0","@babel/preset-env":"^7.11.0","source-map-support":"^0.5.19","webpack-bundle-analyzer":"^3.8.0","@typescript-eslint/parser":"^3.9.1","@blockstack/prettier-config":"0.0.6","@typescript-eslint/eslint-plugin":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.1.1_1597868377287_0.6431791976897154","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"c32check","version":"1.1.2","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.1.2","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"reedrosenbluth","email":"reed@blockstack.com"},{"name":"yknl","email":"yukanliao@gmail.com"},{"name":"zone117x","email":"zone117x@gmail.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"e84a66366bf9964ddf8d7b1f86d0e79281b8c8bd","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.1.2.tgz","fileCount":20,"integrity":"sha512-YgmbvOQ9HfoH7ptW80JP6WJdgoHJFGqFjxaFYvwD+bU5i3dJ44a1LI0yxdiA2n/tVKq9W92tYcFjTP5hGlvhcg==","signatures":[{"sig":"MEQCICBFQRbBzFQkIh+WaapNPbMlSS9ZeJBCQMyEISbdqhLyAiBQa05SBQGsFc3CypdTl9H2tUoHgqT2sJWuwVfYi4aLCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPwu8CRA9TVsSAnZWagAAMzoP/3GTVrkW6TSwZFD9K+73\ns86OTcMcbwv6iEBo1h0PfuDoCfbr0avvc8AoJvUjLXPdKQjyvyl8lDSboc5U\nw0zZGiTarCBJWeOjJAszavzfz+04mGHFzKi+RT0P0pdVeYc8pWvwCj3WyJE7\nD7PCIDxLTgQAWCssPb+TLiQqc+bPLWO3RgH2lZXbs2tRQloag5W33H++31Q2\n6msud+Qn4bPYLuRGkE49sPbJkaMLWKmsEewfXkMEOpsNYXym2QlSOexVGdUd\nuisfl92mNm1YF2yeDICYoal+zZ9/nhIEemQoacUwoBwsV3T04RMh7I06qroY\n5umSdDsjjZKHG3AaZ/30Mi1IBUKucW475dZmVdJitFa5R43X583RMytLt+lz\nNLDHXmppQ+Bwf8FH/oQVlCaVaK5cHe+OiQdP7RaT8ef1xP26NSD/mYGvoTIN\n0DHHaLEm4F04km4XiH7/HQngs6O2LXW2MYiCb0aj0lOAipFa3hotmAGtaj57\nQTXIGwt5uXUPYHCbSs4boMC+PTYq0nRFhkU+e8D1UZBOHOGJ68Q71D2WIQNP\nEpdFDd9EOQB1eHD9yUk3RbSwGM3790T8nIvgS5Lzy7Uk2uFJVuvpmYYEwKQc\ninfEPpm91KCe0H5LtOUMacqvbcwNlgIsGVWJKuxs7ZbcSkzM6/sbbegrdJsj\n8tE4\r\n=TIjL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","unpkg":"dist/c32check.js","browser":{"crypto":false},"engines":{"node":">=8"},"gitHead":"5b0e305f1b0a9d389ed5aa065b5fcbfc498d331e","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build","webpack:analyze":"rimraf dist && cross-env NODE_ENV=production ANALYZE=true webpack --mode=production"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"6.14.4","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"13.14.0","dependencies":{"base-x":"^3.0.8","buffer":"^5.6.0","cross-sha256":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","eslint":"^7.7.0","rimraf":"^3.0.2","codecov":"^3.7.2","ts-node":"^8.10.2","webpack":"^4.44.1","prettier":"^2.0.5","cross-env":"^7.0.2","ts-loader":"^8.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/bs58":"^4.0.1","@types/node":"^8.0.0","webpack-cli":"^3.3.12","babel-loader":"^8.1.0","tape-promise":"^4.0.0","@babel/preset-env":"^7.11.0","source-map-support":"^0.5.19","webpack-bundle-analyzer":"^3.8.0","@typescript-eslint/parser":"^3.9.1","@blockstack/prettier-config":"0.0.6","@typescript-eslint/eslint-plugin":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.1.2_1597967292278_0.26428176684801286","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"c32check","version":"1.1.3","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@1.1.3","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"zone117x","email":"zone117x@gmail.com"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"yknl","email":"yukanliao@gmail.com"},{"name":"reedrosenbluth","email":"reed@blockstack.com"},{"name":"blockstack-devops","email":"devops@blockstack.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://blockstack.org","bugs":{"url":"https://github.com/blockstack/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"232890e4d788afbd4e97e2611a3c251aa63e5977","tarball":"https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz","fileCount":20,"integrity":"sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==","signatures":[{"sig":"MEYCIQCV7u4Dm1pE1gzBuIUGT12u5Hu/g5JhRhzbRjj5Yic4LwIhALEV/SnFwPih+JZDgBgmTVEVZJRU1d2eY/EwTRN57egi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":220830},"main":"lib/index","unpkg":"dist/c32check.js","browser":{"crypto":false},"engines":{"node":">=8"},"gitHead":"44bc82e2f91cf0d8f4de2f0ebe4550a004e1fd68","scripts":{"lint":"eslint --ext=.ts -f=codeframe ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build","webpack:analyze":"rimraf dist && cross-env NODE_ENV=production ANALYZE=true webpack --mode=production"},"_npmUser":{"name":"zone117x","email":"zone117x@gmail.com"},"jsdelivr":"dist/c32check.js","prettier":"@blockstack/prettier-config","repository":{"url":"git+https://github.com/blockstack/c32check.git","type":"git"},"_npmVersion":"7.0.8","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"14.18.1","dependencies":{"base-x":"^3.0.8","buffer":"^5.6.0","cross-sha256":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","eslint":"^7.7.0","rimraf":"^3.0.2","codecov":"^3.7.2","ts-node":"^8.10.2","webpack":"^4.44.1","prettier":"^2.0.5","cross-env":"^7.0.2","ts-loader":"^8.0.2","typescript":"^3.9.7","@babel/core":"^7.11.1","@types/bs58":"^4.0.1","@types/node":"^8.0.0","webpack-cli":"^3.3.12","babel-loader":"^8.1.0","tape-promise":"^4.0.0","@babel/preset-env":"^7.11.0","source-map-support":"^0.5.19","webpack-bundle-analyzer":"^3.8.0","@typescript-eslint/parser":"^3.9.1","@blockstack/prettier-config":"0.0.6","@typescript-eslint/eslint-plugin":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/c32check_1.1.3_1635790518722_0.4718933858197323","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"c32check","version":"2.0.0","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","_id":"c32check@2.0.0","maintainers":[{"name":"ablankstein","email":"aaron@blockstack.com"},{"name":"zone117x","email":"zone117x@gmail.com"},{"name":"hstove","email":"hstove@gmail.com"},{"name":"kyranjamie","email":"kyran@blockstack.com"},{"name":"aulneau","email":"hello@ineffable.co"},{"name":"jcnelson","email":"jude@blockstack.com"},{"name":"yknl","email":"yukanliao@gmail.com"},{"name":"reedrosenbluth","email":"reed@blockstack.com"},{"name":"blockstack-devops","email":"devops@blockstack.com"}],"contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"homepage":"https://stacks.co","bugs":{"url":"https://github.com/stacks-network/c32check/issues"},"nyc":{"all":true,"cache":false,"exclude":["**/*.d.ts"],"include":["src/**/*.ts"],"require":["ts-node/register/transpile-only","source-map-support/register"],"reporter":["text","lcov"],"extension":[".ts"]},"dist":{"shasum":"b9365618b2fb135c0783d03f00605b7b0f90c659","tarball":"https://registry.npmjs.org/c32check/-/c32check-2.0.0.tgz","fileCount":21,"integrity":"sha512-rpwfAcS/CMqo0oCqDf3r9eeLgScRE3l/xHDCXhM3UyrfvIn7PrLq63uHh7yYbv8NzaZn5MVsVhIRpQ+5GZ5HyA==","signatures":[{"sig":"MEUCIQDgv20pPOTN+SDww1IsfwZR171rfRPE86QCc8pd/Gkp7wIgRCt5HI0YDooiZMBj9yql+s6kYFxax20M9C5RSHY6TSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCJt/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHVg//UD6n45eFAFC3/FAUY4ncKBB9uL5YOk9ReBHgufZ4awu936E7\r\nZA4+VcjDgYvpNm69B2CA88T6qq5KKX6aJ86smgo/xTfhumx5yLMKoC1Dzfq8\r\niInmOtxb/l69TnVesHZVoWuR+WQ60TMe4AEy8MQfpStKnxwqMDKokjHh5i+k\r\n3bBxmHy+qu0usGhj74sln0Pfg91M9rIjvcuoCL7hI4wTZxDyAB2tM2B6XbZe\r\nZlr0o4MEJhK2FPNFUMuBUEYA/bogVXNV+aOoizOwZ7IikzLtvl/LcGbbJClu\r\nMb7m5OX/hPZ97AuroXlRy5rTnce71S8EOnxaszHRgB6ZETyA6ed8mxpKNet+\r\npKQUsXTKpnPHaMlaF1GR59njWAIr3f3Fx/XnF5NrIE2BZDaMXDHNc0Iq8DQT\r\noEscW6uPrbGM/gn0Z5qsrsT+4LPxgofp7mHwQ1J/kn/UX8vfI01ikVOTu6aO\r\nFCyuzosjSCk7YKdoB2yK9Jz+ZCa7omm7JIvXN+yra6M4HtiEHeSIjK7qlc87\r\nq4LvlPFfiFOEBRzwITqBJ35HvmKrNAQ05OWrnQGfc1dqh8W5gPE6eUdapDk1\r\nZvDDJjCQEqDR/BrSH6sWKutMjsz8zZiTt0DaX30EDekvyLzqgJE5GaW0ByzS\r\nnbx8dKr+GLAUsD/wNG+kbg+u1IT78xpuMBg=\r\n=A6lm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index","types":"./lib/index.d.ts","unpkg":"dist/c32check.js","browser":{"crypto":false},"engines":{"node":">=8"},"gitHead":"5071a193aa0544c410bf7c60d18d2e5e2bd7251a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/exec",{"prepareCmd":"npm ci"}],["@semantic-release/npm",{"npmPublish":true}],["@semantic-release/git",{"assets":["*.{json,md}"],"message":"chore: release ${nextRelease.version}"}]],"branches":"master"},"scripts":{"lint":"eslint --ext=.ts ./src ./tests","test":"nyc node ./tests/unitTests/src/index.ts","build":"npm run lint && npm run test && npm run webpack && npm run compile","compile":"rimraf lib && tsc","prepare":"husky install .github/husky","webpack":"rimraf lib dist && webpack --mode=production","prettier":"prettier --write ./src/**/*.ts","codecovUpload":"codecov","data-set-test":"cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts","prepublishOnly":"npm run build","webpack:analyze":"rimraf dist && cross-env NODE_ENV=production ANALYZE=true webpack --mode=production"},"_npmUser":{"name":"blockstack-devops","email":"devops@blockstack.com"},"jsdelivr":"dist/c32check.js","prettier":"@stacks/prettier-config","commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/stacks-network/c32check.git","type":"git"},"_npmVersion":"8.1.0","description":"Crockford base-32 checksum encoding","directories":{},"_nodeVersion":"16.13.0","dependencies":{"base-x":"^4.0.0","@noble/hashes":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","tape":"^5.6.0","husky":"^8.0.1","eslint":"^8.22.0","rimraf":"^3.0.2","codecov":"^3.8.3","ts-node":"^8.10.2","webpack":"^5.74.0","prettier":"^2.7.1","cross-env":"^7.0.3","ts-loader":"^8.0.2","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/bs58":"^4.0.1","@types/node":"^8.0.0","webpack-cli":"^4.10.0","babel-loader":"^8.2.5","tape-promise":"^4.0.0","@commitlint/cli":"^17.0.3","@babel/preset-env":"^7.17.10","source-map-support":"^0.5.19","@stacks/eslint-config":"^1.2.0","@stacks/prettier-config":"^0.0.10","webpack-bundle-analyzer":"^4.6.1","@typescript-eslint/parser":"^5.34.0","@commitlint/config-conventional":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.34.0"},"_npmOperationalInternal":{"tmp":"tmp/c32check_2.0.0_1661508478906_0.35375257895795853","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-06-29T23:07:05.790Z","modified":"2025-11-12T19:21:50.624Z","0.0.2":"2018-06-29T23:07:05.865Z","0.0.3":"2018-07-01T18:23:57.692Z","0.0.4":"2018-07-02T15:09:10.864Z","0.0.5":"2018-07-02T18:39:29.366Z","0.0.6":"2018-07-02T21:28:41.015Z","1.0.0":"2019-12-06T22:07:48.524Z","1.0.1":"2019-12-06T23:21:07.163Z","1.1.0":"2020-08-19T20:14:49.829Z","1.1.1":"2020-08-19T20:19:37.453Z","1.1.2":"2020-08-20T23:48:12.448Z","1.1.3":"2021-11-01T18:15:18.857Z","2.0.0":"2022-08-26T10:07:59.122Z"},"bugs":{"url":"https://github.com/stacks-network/c32check/issues"},"author":{"url":"https://blockstack.com","name":"Jude Nelson","email":"jude@blockstack.com"},"license":"MIT","homepage":"https://stacks.co","keywords":["blockchain","id","auth","authentication","bitcoin","blockchain auth","blockchain authentication","blockchainid","blockchain id","bitcoin auth","bitcoin authentication","bitcoin login","blockchain login","authorization","login","signin","sso","crypto","cryptography","token","blockstack","blockstack auth","profile","identity","ethereum"],"repository":{"url":"git+https://github.com/stacks-network/c32check.git","type":"git"},"description":"Crockford base-32 checksum encoding","contributors":[{"name":"Jude Nelson","email":"jude@blockstack.com"},{"name":"Aaron Blankstein","email":"aaron@blockstack.com"},{"name":"Matthew Little","email":"matt@blockstack.com"}],"maintainers":[{"email":"devops@blockstack.com","name":"blockstack-devops"},{"email":"zone117x@gmail.com","name":"zone117x"},{"email":"jude@blockstack.com","name":"jcnelson"}],"readme":"# c32check\n\n[Crockford base-32](https://en.wikipedia.org/wiki/Base32#Crockford's_Base32)\nencoding library with 4-byte checksum.\n\nThis library is meant for generating and decoding addresses on the Stacks\nblockchain.\n\n## How it works\n\nEach c32check string encodes a 1-byte version and a 4-byte checksum. When\ndecoded as a hex string, the wire format looks like this:\n\n```\n0      1                             n+1             n+5\n|------|-----------------------------|---------------|\nversion     n-byte hex payload          4-byte hash\n```\n\nIf `version` is the version byte (a 1-byte `number`) and `payload` is the raw\nbytes (e.g. as a `string`), then the `checksum` is calculated as follows:\n\n```\nchecksum = sha256(sha256(version + payload)).substring(0,4)\n```\n\nIn other words, the checksum is the first four bytes of the\ndouble-sha256 of the bytestring concatenation of the `version` and `payload`.\nThis is similar to base58check encoding, for example.\n\n## c32 Addresses\n\nThe Stacks blockchain uses c32-encoded public key hashes as addresses.\nSpecifically, a **c32check address** is a c32check-encoded ripemd160 hash.\n\n---\n\n# Examples\n\n```\n> c32 = require('c32check')\n{ c32encode: [Function: c32encode],\n  c32decode: [Function: c32decode],\n  c32checkEncode: [Function: c32checkEncode],\n  c32checkDecode: [Function: c32checkDecode],\n  c32address: [Function: c32address],\n  c32addressDecode: [Function: c32addressDecode],\n  versions:\n   { mainnet: { p2pkh: 22, p2sh: 20 },\n     testnet: { p2pkh: 26, p2sh: 21 } },\n  c32ToB58: [Function: c32ToB58],\n  b58ToC32: [Function: b58ToC32] }\n```\n\n## c32encode, c32decode\n\n```\n> c32check.c32encode(Buffer.from('hello world').toString('hex'))\n'38CNP6RVS0EXQQ4V34'\n> c32check.c32decode('38CNP6RVS0EXQQ4V34')\n'68656c6c6f20776f726c64'\n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32checkEncode, c32checkDecode\n\n```\n> version = 12\n12\n> c32check.c32checkEncode(version, Buffer.from('hello world').toString('hex'))\n'CD1JPRV3F41VPYWKCCGRMASC8'\n> c32check.c32checkDecode('CD1JPRV3F41VPYWKCCGRMASC8')\n[ 12, '68656c6c6f20776f726c64' ]\n> Buffer.from('68656c6c6f20776f726c64', 'hex').toString()\n'hello world'\n```\n\n## c32address, c32addressDecode\n\n> **Note**:\n> These methods only work on ripemd160 hashes\n\n```\n> hash160 = 'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n'a46ff88886c2ef9762d970b4d2c63678835bd39d'\n> version = c32check.versions.mainnet.p2pkh\n22\n> c32check.c32address(version, hash160)\n'SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7'\n> c32check.c32addressDecode('SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7')\n[ 22, 'a46ff88886c2ef9762d970b4d2c63678835bd39d' ]\n```\n\n## c32ToB58, b58ToC32\n\n> **Note**:\n> Common address versions are converted between c32check and base58check\n> seamlessly, in order to accommodate Stacks addresses.\n\n```\n> b58addr = '16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n> c32check.b58ToC32(b58addr)\n'SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8'\n> c32check.c32ToB58('SPWNYDJ3STG7XH7ERWXMV6MQ7Q6EATWVY5Q1QMP8')\n'16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg'\n```\n\n```\n> b58addr = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n'3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n> c32check.b58ToC32(b58addr)\n'SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY'\n> c32check.c32ToB58('SM1Y6EXF21RZ9739DFTEQKB1H044BMM0XVCM4A4NY')\n'3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'\n```\n","readmeFilename":"README.md"}