Socket
Socket
Sign inDemoInstall

c32check

Package Overview
Dependencies
Maintainers
6
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

c32check - npm Package Compare versions

Comparing version 0.0.6 to 1.0.0

.circleci/config.yml

168

lib/address.js

@@ -1,44 +0,27 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.versions = undefined;
exports.c32address = c32address;
exports.c32addressDecode = c32addressDecode;
exports.b58ToC32 = b58ToC32;
exports.c32ToB58 = c32ToB58;
var _checksum = require('./checksum');
var _base58check = require('base58check');
var _base58check2 = _interopRequireDefault(_base58check);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var versions = exports.versions = {
mainnet: {
p2pkh: 22, // 'P'
p2sh: 20 // 'M'
},
testnet: {
p2pkh: 26, // 'T'
p2sh: 21 // 'N'
}
// address conversion : bitcoin to stacks
};var ADDR_BITCOIN_TO_STACKS = {};
ADDR_BITCOIN_TO_STACKS[0] = versions.mainnet.p2pkh;
ADDR_BITCOIN_TO_STACKS[5] = versions.mainnet.p2sh;
ADDR_BITCOIN_TO_STACKS[111] = versions.testnet.p2pkh;
ADDR_BITCOIN_TO_STACKS[196] = versions.testnet.p2sh;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var checksum_1 = require("./checksum");
var base58check = require("base58check");
exports.versions = {
mainnet: {
p2pkh: 22,
p2sh: 20 // 'M'
},
testnet: {
p2pkh: 26,
p2sh: 21 // 'N'
}
};
// address conversion : bitcoin to stacks
var ADDR_BITCOIN_TO_STACKS = {};
ADDR_BITCOIN_TO_STACKS[0] = exports.versions.mainnet.p2pkh;
ADDR_BITCOIN_TO_STACKS[5] = exports.versions.mainnet.p2sh;
ADDR_BITCOIN_TO_STACKS[111] = exports.versions.testnet.p2pkh;
ADDR_BITCOIN_TO_STACKS[196] = exports.versions.testnet.p2sh;
// address conversion : stacks to bitcoin
var ADDR_STACKS_TO_BITCOIN = {};
ADDR_STACKS_TO_BITCOIN[versions.mainnet.p2pkh] = 0;
ADDR_STACKS_TO_BITCOIN[versions.mainnet.p2sh] = 5;
ADDR_STACKS_TO_BITCOIN[versions.testnet.p2pkh] = 111;
ADDR_STACKS_TO_BITCOIN[versions.testnet.p2sh] = 196;
ADDR_STACKS_TO_BITCOIN[exports.versions.mainnet.p2pkh] = 0;
ADDR_STACKS_TO_BITCOIN[exports.versions.mainnet.p2sh] = 5;
ADDR_STACKS_TO_BITCOIN[exports.versions.testnet.p2pkh] = 111;
ADDR_STACKS_TO_BITCOIN[exports.versions.testnet.p2sh] = 196;
/**

@@ -53,10 +36,9 @@ * Make a c32check address with the given version and hash160

function c32address(version, hash160hex) {
if (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {
throw new Error('Invalid argument: not a hash160 hex string');
}
var c32string = (0, _checksum.c32checkEncode)(version, hash160hex);
return 'S' + c32string;
if (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {
throw new Error('Invalid argument: not a hash160 hex string');
}
var c32string = checksum_1.c32checkEncode(version, hash160hex);
return "S" + c32string;
}
exports.c32address = c32address;
/**

@@ -68,8 +50,8 @@ * Decode a c32 address into its version and hash160

function c32addressDecode(c32addr) {
if (c32addr.length <= 5) {
throw new Error('Invalid c32 address: invalid length');
}
return (0, _checksum.c32checkDecode)(c32addr.slice(1));
if (c32addr.length <= 5) {
throw new Error('Invalid c32 address: invalid length');
}
return checksum_1.c32checkDecode(c32addr.slice(1));
}
exports.c32addressDecode = c32addressDecode;
/*

@@ -80,25 +62,23 @@ * Convert a base58check address to a c32check address.

* @param {number} version - the version number, if not inferred from the address
* @returns {string} the c32 address with the given version number (or the
* @returns {string} the c32 address with the given version number (or the
* semantically-equivalent c32 version number, if not given)
*/
function b58ToC32(b58check) {
var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
var addrInfo = _base58check2.default.decode(b58check);
var hash160String = addrInfo.data.toString('hex');
var addrVersion = parseInt(addrInfo.prefix.toString('hex'), 16);
var stacksVersion = void 0;
if (version < 0) {
stacksVersion = addrVersion;
if (ADDR_BITCOIN_TO_STACKS[addrVersion] !== undefined) {
stacksVersion = ADDR_BITCOIN_TO_STACKS[addrVersion];
function b58ToC32(b58check, version) {
if (version === void 0) { version = -1; }
var addrInfo = base58check.decode(b58check);
var hash160String = addrInfo.data.toString('hex');
var addrVersion = parseInt(addrInfo.prefix.toString('hex'), 16);
var stacksVersion;
if (version < 0) {
stacksVersion = addrVersion;
if (ADDR_BITCOIN_TO_STACKS[addrVersion] !== undefined) {
stacksVersion = ADDR_BITCOIN_TO_STACKS[addrVersion];
}
}
} else {
stacksVersion = version;
}
return c32address(stacksVersion, hash160String);
else {
stacksVersion = version;
}
return c32address(stacksVersion, hash160String);
}
exports.b58ToC32 = b58ToC32;
/*

@@ -111,25 +91,23 @@ * Convert a c32check address to a base58check address.

*/
function c32ToB58(c32string) {
var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
var addrInfo = c32addressDecode(c32string);
var stacksVersion = addrInfo[0];
var hash160String = addrInfo[1];
var bitcoinVersion = void 0;
if (version < 0) {
bitcoinVersion = stacksVersion;
if (ADDR_STACKS_TO_BITCOIN[stacksVersion] !== undefined) {
bitcoinVersion = ADDR_STACKS_TO_BITCOIN[stacksVersion];
function c32ToB58(c32string, version) {
if (version === void 0) { version = -1; }
var addrInfo = c32addressDecode(c32string);
var stacksVersion = addrInfo[0];
var hash160String = addrInfo[1];
var bitcoinVersion;
if (version < 0) {
bitcoinVersion = stacksVersion;
if (ADDR_STACKS_TO_BITCOIN[stacksVersion] !== undefined) {
bitcoinVersion = ADDR_STACKS_TO_BITCOIN[stacksVersion];
}
}
} else {
bitcoinVersion = version;
}
var prefix = bitcoinVersion.toString(16);
if (prefix.length === 1) {
prefix = '0' + prefix;
}
return _base58check2.default.encode(hash160String, prefix);
}
else {
bitcoinVersion = version;
}
var prefix = bitcoinVersion.toString(16);
if (prefix.length === 1) {
prefix = "0" + prefix;
}
return base58check.encode(hash160String, prefix);
}
exports.c32ToB58 = c32ToB58;

@@ -1,17 +0,5 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.c32checkEncode = c32checkEncode;
exports.c32checkDecode = c32checkDecode;
var _encoding = require('./encoding');
var _crypto = require('crypto');
var _crypto2 = _interopRequireDefault(_crypto);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var encoding_1 = require("./encoding");
var crypto = require("crypto");
/**

@@ -23,11 +11,10 @@ * Get the c32check checksum of a hex-encoded string

function c32checksum(dataHex) {
var tmpHash = _crypto2.default.createHash('sha256').update(Buffer.from(dataHex, 'hex')).digest();
var dataHash = _crypto2.default.createHash('sha256').update(tmpHash).digest();
var checksum = dataHash.slice(0, 4).toString('hex');
return checksum;
var tmpHash = crypto.createHash('sha256').update(Buffer.from(dataHex, 'hex')).digest();
var dataHash = crypto.createHash('sha256').update(tmpHash).digest();
var checksum = dataHash.slice(0, 4).toString('hex');
return checksum;
}
/**
* Encode a hex string as a c32check string. This is a lot like how
* base58check works in Bitcoin-land, but this algorithm uses the
* base58check works in Bitcoin-land, but this algorithm uses the
* z-base-32 alphabet instead of the base58 alphabet. The algorithm

@@ -42,24 +29,21 @@ * is as follows:

function c32checkEncode(version, data) {
if (version < 0 || version >= 32) {
throw new Error('Invalid version (must be between 0 and 31)');
}
if (!data.match(/^[0-9a-fA-F]*$/)) {
throw new Error('Invalid data (not a hex string)');
}
data = data.toLowerCase();
if (data.length % 2 !== 0) {
data = '0' + data;
}
var versionHex = version.toString(16);
if (versionHex.length === 1) {
versionHex = '0' + versionHex;
}
var checksumHex = c32checksum('' + versionHex + data);
var c32str = (0, _encoding.c32encode)('' + data + checksumHex);
return '' + _encoding.c32[version] + c32str;
if (version < 0 || version >= 32) {
throw new Error('Invalid version (must be between 0 and 31)');
}
if (!data.match(/^[0-9a-fA-F]*$/)) {
throw new Error('Invalid data (not a hex string)');
}
data = data.toLowerCase();
if (data.length % 2 !== 0) {
data = "0" + data;
}
var versionHex = version.toString(16);
if (versionHex.length === 1) {
versionHex = "0" + versionHex;
}
var checksumHex = c32checksum("" + versionHex + data);
var c32str = encoding_1.c32encode("" + data + checksumHex);
return "" + encoding_1.c32[version] + c32str;
}
exports.c32checkEncode = c32checkEncode;
/*

@@ -74,22 +58,20 @@ * Decode a c32check string back into its version and data payload. This is

* @param {string} c32data - the c32check-encoded string
* @returns {array} [version (number), data (string)]. The returned data
* @returns {array} [version (number), data (string)]. The returned data
* will be a hex string. Throws an exception if the checksum does not match.
*/
function c32checkDecode(c32data) {
c32data = (0, _encoding.c32normalize)(c32data);
var dataHex = (0, _encoding.c32decode)(c32data.slice(1));
var versionChar = c32data[0];
var version = _encoding.c32.indexOf(versionChar);
var checksum = dataHex.slice(-8);
var versionHex = version.toString(16);
if (versionHex.length === 1) {
versionHex = '0' + versionHex;
}
if (c32checksum('' + versionHex + dataHex.substring(0, dataHex.length - 8)) !== checksum) {
throw new Error('Invalid c32check string: checksum mismatch');
}
return [version, dataHex.substring(0, dataHex.length - 8)];
}
c32data = encoding_1.c32normalize(c32data);
var dataHex = encoding_1.c32decode(c32data.slice(1));
var versionChar = c32data[0];
var version = encoding_1.c32.indexOf(versionChar);
var checksum = dataHex.slice(-8);
var versionHex = version.toString(16);
if (versionHex.length === 1) {
versionHex = "0" + versionHex;
}
if (c32checksum("" + versionHex + dataHex.substring(0, dataHex.length - 8)) !== checksum) {
throw new Error('Invalid c32check string: checksum mismatch');
}
return [version, dataHex.substring(0, dataHex.length - 8)];
}
exports.c32checkDecode = c32checkDecode;

@@ -1,12 +0,5 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.c32encode = c32encode;
exports.c32normalize = c32normalize;
exports.c32decode = c32decode;
var c32 = exports.c32 = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.c32 = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
var hex = '0123456789abcdef';
/**

@@ -20,61 +13,54 @@ * Encode a hex string as a c32 string. Note that the hex string is assumed

function c32encode(inputHex, minLength) {
// must be hex
if (!inputHex.match(/^[0-9a-fA-F]*$/)) {
throw new Error('Not a hex-encoded string');
}
if (inputHex.length % 2 !== 0) {
inputHex = '0' + inputHex;
}
inputHex = inputHex.toLowerCase();
var res = [];
var carry = 0;
for (var i = inputHex.length - 1; i >= 0; i--) {
if (carry < 4) {
var currentCode = hex.indexOf(inputHex[i]) >> carry;
var nextCode = 0;
if (i !== 0) {
nextCode = hex.indexOf(inputHex[i - 1]);
}
// carry = 0, nextBits is 1, carry = 1, nextBits is 2
var nextBits = 1 + carry;
var nextLowBits = nextCode % (1 << nextBits) << 5 - nextBits;
var curC32Digit = c32[currentCode + nextLowBits];
carry = nextBits;
res.unshift(curC32Digit);
} else {
carry = 0;
// must be hex
if (!inputHex.match(/^[0-9a-fA-F]*$/)) {
throw new Error('Not a hex-encoded string');
}
}
var C32leadingZeros = 0;
for (var _i = 0; _i < res.length; _i++) {
if (res[_i] !== '0') {
break;
} else {
C32leadingZeros++;
if ((inputHex.length) % 2 !== 0) {
inputHex = "0" + inputHex;
}
}
res = res.slice(C32leadingZeros);
var zeroPrefix = Buffer.from(inputHex, 'hex').toString().match(/^\u0000*/);
var numLeadingZeroBytesInHex = zeroPrefix ? zeroPrefix[0].length : 0;
for (var _i2 = 0; _i2 < numLeadingZeroBytesInHex; _i2++) {
res.unshift(c32[0]);
}
if (minLength) {
var count = minLength - res.length;
for (var _i3 = 0; _i3 < count; _i3++) {
res.unshift(c32[0]);
inputHex = inputHex.toLowerCase();
var res = [];
var carry = 0;
for (var i = inputHex.length - 1; i >= 0; i--) {
if (carry < 4) {
var currentCode = hex.indexOf(inputHex[i]) >> carry;
var nextCode = 0;
if (i !== 0) {
nextCode = hex.indexOf(inputHex[i - 1]);
}
// carry = 0, nextBits is 1, carry = 1, nextBits is 2
var nextBits = 1 + carry;
var nextLowBits = (nextCode % (1 << nextBits)) << (5 - nextBits);
var curC32Digit = exports.c32[currentCode + nextLowBits];
carry = nextBits;
res.unshift(curC32Digit);
}
else {
carry = 0;
}
}
}
return res.join('');
var C32leadingZeros = 0;
for (var i = 0; i < res.length; i++) {
if (res[i] !== '0') {
break;
}
else {
C32leadingZeros++;
}
}
res = res.slice(C32leadingZeros);
var zeroPrefix = Buffer.from(inputHex, 'hex').toString().match(/^\u0000*/);
var numLeadingZeroBytesInHex = zeroPrefix ? zeroPrefix[0].length : 0;
for (var i = 0; i < numLeadingZeroBytesInHex; i++) {
res.unshift(exports.c32[0]);
}
if (minLength) {
var count = minLength - res.length;
for (var i = 0; i < count; i++) {
res.unshift(exports.c32[0]);
}
}
return res.join('');
}
exports.c32encode = c32encode;
/*

@@ -86,8 +72,10 @@ * Normalize a c32 string

function c32normalize(c32input) {
// must be upper-case
// replace all O's with 0's
// replace all I's and L's with 1's
return c32input.toUpperCase().replace(/O/g, '0').replace(/L|I/g, '1');
// must be upper-case
// replace all O's with 0's
// replace all I's and L's with 1's
return c32input.toUpperCase()
.replace(/O/g, '0')
.replace(/L|I/g, '1');
}
exports.c32normalize = c32normalize;
/*

@@ -102,62 +90,55 @@ * Decode a c32 string back into a hex string. Note that the c32 input

function c32decode(c32input, minLength) {
c32input = c32normalize(c32input);
// must result in a c32 string
if (!c32input.match('^[' + c32 + ']*$')) {
throw new Error('Not a c32-encoded string');
}
var zeroPrefix = c32input.match('^' + c32[0] + '*');
var numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0].length : 0;
var res = [];
var carry = 0;
var carryBits = 0;
for (var i = c32input.length - 1; i >= 0; i--) {
if (carryBits === 4) {
res.unshift(hex[carry]);
carryBits = 0;
carry = 0;
c32input = c32normalize(c32input);
// must result in a c32 string
if (!c32input.match("^[" + exports.c32 + "]*$")) {
throw new Error('Not a c32-encoded string');
}
var currentCode = c32.indexOf(c32input[i]) << carryBits;
var currentValue = currentCode + carry;
var currentHexDigit = hex[currentValue % 16];
carryBits += 1;
carry = currentValue >> 4;
if (carry > 1 << carryBits) {
throw new Error('Panic error in decoding.');
var zeroPrefix = c32input.match("^" + exports.c32[0] + "*");
var numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0].length : 0;
var res = [];
var carry = 0;
var carryBits = 0;
for (var i = c32input.length - 1; i >= 0; i--) {
if (carryBits === 4) {
res.unshift(hex[carry]);
carryBits = 0;
carry = 0;
}
var currentCode = exports.c32.indexOf(c32input[i]) << carryBits;
var currentValue = currentCode + carry;
var currentHexDigit = hex[currentValue % 16];
carryBits += 1;
carry = currentValue >> 4;
if (carry > 1 << carryBits) {
throw new Error('Panic error in decoding.');
}
res.unshift(currentHexDigit);
}
res.unshift(currentHexDigit);
}
// one last carry
res.unshift(hex[carry]);
if (res.length % 2 === 1) {
res.unshift('0');
}
var hexLeadingZeros = 0;
for (var _i4 = 0; _i4 < res.length; _i4++) {
if (res[_i4] !== '0') {
break;
} else {
hexLeadingZeros++;
// one last carry
res.unshift(hex[carry]);
if (res.length % 2 === 1) {
res.unshift('0');
}
}
res = res.slice(hexLeadingZeros - hexLeadingZeros % 2);
var hexStr = res.join('');
for (var _i5 = 0; _i5 < numLeadingZeroBytes; _i5++) {
hexStr = '00' + hexStr;
}
if (minLength) {
var count = minLength * 2 - hexStr.length;
for (var _i6 = 0; _i6 < count; _i6 += 2) {
hexStr = '00' + hexStr;
var hexLeadingZeros = 0;
for (var i = 0; i < res.length; i++) {
if (res[i] !== '0') {
break;
}
else {
hexLeadingZeros++;
}
}
}
return hexStr;
}
res = res.slice(hexLeadingZeros - (hexLeadingZeros % 2));
var hexStr = res.join('');
for (var i = 0; i < numLeadingZeroBytes; i++) {
hexStr = "00" + hexStr;
}
if (minLength) {
var count = minLength * 2 - hexStr.length;
for (var i = 0; i < count; i += 2) {
hexStr = "00" + hexStr;
}
}
return hexStr;
}
exports.c32decode = c32decode;

@@ -1,23 +0,15 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.b58ToC32 = exports.c32ToB58 = exports.versions = exports.c32normalize = exports.c32addressDecode = exports.c32address = exports.c32checkDecode = exports.c32checkEncode = exports.c32decode = exports.c32encode = undefined;
var _encoding = require('./encoding');
var _checksum = require('./checksum');
var _address = require('./address');
exports.c32encode = _encoding.c32encode;
exports.c32decode = _encoding.c32decode;
exports.c32checkEncode = _checksum.c32checkEncode;
exports.c32checkDecode = _checksum.c32checkDecode;
exports.c32address = _address.c32address;
exports.c32addressDecode = _address.c32addressDecode;
exports.c32normalize = _encoding.c32normalize;
exports.versions = _address.versions;
exports.c32ToB58 = _address.c32ToB58;
exports.b58ToC32 = _address.b58ToC32;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var encoding_1 = require("./encoding");
exports.c32encode = encoding_1.c32encode;
exports.c32decode = encoding_1.c32decode;
exports.c32normalize = encoding_1.c32normalize;
var checksum_1 = require("./checksum");
exports.c32checkEncode = checksum_1.c32checkEncode;
exports.c32checkDecode = checksum_1.c32checkDecode;
var address_1 = require("./address");
exports.c32address = address_1.c32address;
exports.c32addressDecode = address_1.c32addressDecode;
exports.c32ToB58 = address_1.c32ToB58;
exports.b58ToC32 = address_1.b58ToC32;
exports.versions = address_1.versions;
{
"name": "c32check",
"version": "0.0.6",
"version": "1.0.0",
"description": "Crockford base-32 checksum encoding",
"main": "lib/index",
"unpkg": "dist/c32check.js",
"jsdelivr": "dist/c32check.js",
"prettier": "@blockstack/prettier-config",
"scripts": {
"browserify": "mkdir -p ./dist && ./node_modules/.bin/browserify lib/index.js --standalone c32check -o ./dist/c32check.js",
"compile": "rm -rf lib; babel src -d lib",
"compile-tests": "rm -rf tests/unitTests/lib; babel tests/unitTests/src -d tests/unitTests/lib;",
"webpack": "rimraf lib dist && webpack --mode=production",
"compile": "rimraf lib && tsc",
"prepublish": "npm run build",
"unit-test": "npm run lint && npm run flow && npm run compile && npm run compile-tests && npm run browserify && node ./tests/unitTests/lib/index.js",
"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",
"build": "npm run flow && npm run compile && npm run browserify",
"flow": "flow",
"lint": "eslint src && eslint tests",
"test": "nyc --reporter=text npm run unit-test"
"build": "npm run lint && npm run test && npm run webpack && npm run compile",
"lint": "eslint --ext=.ts -f=codeframe ./src ./tests",
"prettier": "prettier --write ./src/**/*.ts",
"test": "nyc node ./tests/unitTests/src/index.ts",
"data-set-test": "npm run lint && cross-env BIG_DATA_TESTS=1 nyc node ./tests/unitTests/src/index.ts",
"codecovUpload": "codecov"
},
"repository": {
"type": "git",
"url": "git+https://github.com/jcnelson/c32check.git"
"url": "git+https://github.com/blockstack/c32check.git"
},

@@ -29,3 +31,3 @@ "author": {

"bugs": {
"url": "https://github.com/jcnelson/c32check/issues"
"url": "https://github.com/blockstack/c32check/issues"
},

@@ -62,18 +64,36 @@ "keywords": [

{
"name": "Jude Nelson"
"name": "Jude Nelson",
"email": "jude@blockstack.com"
},
{
"name": "Aaron Blankstein",
"email": "aaron@blockstack.com"
},
{
"name": "Matthew Little",
"email": "matt@blockstack.com"
}
],
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-eslint": "^6.0.4",
"babel-preset-env": "^1.6.1",
"babel-preset-flow": "^6.23.0",
"browserify": "^13.1.1",
"eslint": "^2.10.2",
"eslint-plugin-flowtype": "^2.49.3",
"eslint-plugin-import": "^1.8.1",
"flow-bin": "^0.49.1",
"nyc": "^11.4.1",
"tape": "^4.6.3",
"tape-promise": "^2.0.1"
"@babel/core": "^7.7.4",
"@babel/preset-env": "^7.7.4",
"@blockstack/prettier-config": "0.0.4",
"@types/node": "^12.12.14",
"@typescript-eslint/eslint-plugin": "^2.10.0",
"@typescript-eslint/parser": "^2.10.0",
"babel-loader": "^8.0.6",
"codecov": "^3.6.1",
"cross-env": "^6.0.3",
"eslint": "^6.7.2",
"nyc": "^14.1.1",
"prettier": "^1.19.1",
"rimraf": "^3.0.0",
"source-map-support": "^0.5.16",
"tape": "^4.11.0",
"tape-promise": "^4.0.0",
"ts-loader": "^6.2.1",
"ts-node": "^8.5.4",
"typescript": "^3.7.3",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10"
},

@@ -85,10 +105,25 @@ "dependencies": {

"engines": {
"node": ">=6",
"npm": ">=5"
"node": ">=8"
},
"nyc": {
"cache": false,
"all": true,
"extension": [
".ts"
],
"include": [
"lib/**"
"src/**/*.ts"
],
"exclude": [
"**/*.d.ts"
],
"require": [
"ts-node/register/transpile-only",
"source-map-support/register"
],
"reporter": [
"text",
"lcov"
]
}
}

@@ -78,3 +78,3 @@ # c32check

# c32address, c32addressDecode
## c32address, c32addressDecode

@@ -81,0 +81,0 @@ **NOTE**: these methods only work on ripemd160 hashes

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc