refactor.
This commit is contained in:
parent
7e5b6a2ff7
commit
07261da2e2
@ -36,83 +36,43 @@ var Parser = bcoin.protocol.parser;
|
||||
|
||||
var layout = {
|
||||
R: !utils.isBrowser
|
||||
? new Buffer([0x52]) // R
|
||||
? new Buffer([0x52])
|
||||
: '52',
|
||||
e: function e(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x65; // e
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x65, hash);
|
||||
},
|
||||
h: function h(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x68; // h
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x68, hash);
|
||||
},
|
||||
H: function H(height) {
|
||||
var key = new Buffer(5);
|
||||
key[0] = 0x48; // H
|
||||
key.writeUInt32LE(height, 1, true);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return ipair(0x48, height);
|
||||
},
|
||||
n: function n(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x6e; // n
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x6e, hash);
|
||||
},
|
||||
b: function b(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x62; // b
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x62, hash);
|
||||
},
|
||||
t: function t(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x74; // t
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x74, hash);
|
||||
},
|
||||
c: function c(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x63; // c
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x63, hash);
|
||||
},
|
||||
u: function u(hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = 0x75; // u
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return pair(0x75, hash);
|
||||
},
|
||||
q: function q(height) {
|
||||
var key = new Buffer(5);
|
||||
key[0] = 0x71; // q
|
||||
key.writeUInt32LE(height, 1, true);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
return ipair(0x71, height);
|
||||
},
|
||||
T: function T(address, hash) {
|
||||
var len = address.length;
|
||||
var key;
|
||||
if (address.length === 32 || address.length === 64) {
|
||||
|
||||
if (typeof address === 'string')
|
||||
len /= 2;
|
||||
|
||||
if (len === 32) {
|
||||
key = new Buffer(65);
|
||||
key[0] = 0xab; // W + T
|
||||
write(key, address, 1);
|
||||
@ -123,13 +83,20 @@ var layout = {
|
||||
write(key, address, 1);
|
||||
write(key, hash, 21);
|
||||
}
|
||||
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
|
||||
return key;
|
||||
},
|
||||
C: function C(address, hash, index) {
|
||||
var len = address.length;
|
||||
var key;
|
||||
if (address.length === 32 || address.length === 64) {
|
||||
|
||||
if (typeof address === 'string')
|
||||
len /= 2;
|
||||
|
||||
if (len === 32) {
|
||||
key = new Buffer(69);
|
||||
key[0] = 0x9a; // W + C
|
||||
write(key, address, 1);
|
||||
@ -142,8 +109,10 @@ var layout = {
|
||||
write(key, hash, 21);
|
||||
key.writeUInt32LE(index, 53, true);
|
||||
}
|
||||
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
|
||||
return key;
|
||||
},
|
||||
Cc: function Cc(key) {
|
||||
@ -1539,6 +1508,24 @@ function write(data, str, off) {
|
||||
data.write(str, off, 'hex');
|
||||
}
|
||||
|
||||
function pair(prefix, hash) {
|
||||
var key = new Buffer(33);
|
||||
key[0] = prefix;
|
||||
write(key, hash, 1);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
}
|
||||
|
||||
function ipair(prefix, num) {
|
||||
var key = new Buffer(5);
|
||||
key[0] = prefix;
|
||||
key.writeUInt32LE(num, 1, true);
|
||||
if (utils.isBrowser)
|
||||
key = key.toString('hex');
|
||||
return key;
|
||||
}
|
||||
|
||||
/*
|
||||
* Expose
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user