- Add GETTING_STARTED.md with quick start guide and development modes - Add INSTALL.sh automated installation script - Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md - Add QUICK_REFERENCE.md for common commands - Add SETUP_GUIDE.md with detailed setup instructions - Update README.md with improved project overview - Add did-wallet app dependencies and node_modules
30 lines
522 B
JavaScript
30 lines
522 B
JavaScript
module.exports = read
|
|
|
|
var MSB = 0x80
|
|
, REST = 0x7F
|
|
|
|
function read(buf, offset) {
|
|
var res = 0
|
|
, offset = offset || 0
|
|
, shift = 0
|
|
, counter = offset
|
|
, b
|
|
, l = buf.length
|
|
|
|
do {
|
|
if (counter >= l || shift > 49) {
|
|
read.bytes = 0
|
|
throw new RangeError('Could not decode varint')
|
|
}
|
|
b = buf[counter++]
|
|
res += shift < 28
|
|
? (b & REST) << shift
|
|
: (b & REST) * Math.pow(2, shift)
|
|
shift += 7
|
|
} while (b >= MSB)
|
|
|
|
read.bytes = counter - offset
|
|
|
|
return res
|
|
}
|