optimize keys.
This commit is contained in:
parent
6053497c0c
commit
46fbaf9514
@ -39,109 +39,109 @@ var layout = {
|
|||||||
? new Buffer([0x52]) // R
|
? new Buffer([0x52]) // R
|
||||||
: '52',
|
: '52',
|
||||||
e: function e(hash) {
|
e: function e(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x65); // e
|
key[0] = 0x65; // e
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
h: function h(hash) {
|
h: function h(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x68); // h
|
key[0] = 0x68; // h
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
H: function H(height) {
|
H: function H(height) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(5);
|
||||||
key.writeU8(0x48); // H
|
key[0] = 0x48; // H
|
||||||
key.writeU32(height);
|
key.writeUInt32LE(height, 1, true);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
n: function n(hash) {
|
n: function n(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x6e); // n
|
key[0] = 0x6e; // n
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
b: function b(hash) {
|
b: function b(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x62); // b
|
key[0] = 0x62; // b
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
t: function t(hash) {
|
t: function t(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x74); // t
|
key[0] = 0x74; // t
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
c: function c(hash) {
|
c: function c(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x63); // c
|
key[0] = 0x63; // c
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
u: function u(hash) {
|
u: function u(hash) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(33);
|
||||||
key.writeU8(0x75); // u
|
key[0] = 0x75; // u
|
||||||
key.writeHash(hash);
|
write(key, hash, 1);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
q: function q(height) {
|
q: function q(height) {
|
||||||
var key = new BufferWriter();
|
var key = new Buffer(5);
|
||||||
key.writeU8(0x71); // q
|
key[0] = 0x71; // q
|
||||||
key.writeU32(height);
|
key.writeUInt32LE(height, 1, true);
|
||||||
key = key.render();
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
T: function T(address, hash) {
|
T: function T(address, hash) {
|
||||||
var key = new BufferWriter();
|
var key;
|
||||||
if (address.length === 32 || address.length === 64)
|
if (address.length === 32 || address.length === 64) {
|
||||||
key.writeU8(0xab); // W + T
|
key = new Buffer(65);
|
||||||
else
|
key[0] = 0xab; // W + T
|
||||||
key.writeU8(0x54); // T
|
write(key, address, 1);
|
||||||
key.writeHash(address);
|
write(key, hash, 33);
|
||||||
key.writeHash(hash);
|
} else {
|
||||||
key = key.render();
|
key = new Buffer(53);
|
||||||
|
key[0] = 0x54; // T
|
||||||
|
write(key, address, 1);
|
||||||
|
write(key, hash, 21);
|
||||||
|
}
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
C: function C(address, hash, index) {
|
C: function C(address, hash, index) {
|
||||||
var key = new BufferWriter();
|
var key;
|
||||||
if (address.length === 32 || address.length === 64)
|
if (address.length === 32 || address.length === 64) {
|
||||||
key.writeU8(0x9a); // W + C
|
key = new Buffer(69);
|
||||||
else
|
key[0] = 0x9a; // W + C
|
||||||
key.writeU8(0x43); // C
|
write(key, address, 1);
|
||||||
key.writeHash(address);
|
write(key, hash, 33);
|
||||||
key.writeHash(hash);
|
key.writeUInt32LE(index, 65, true);
|
||||||
key.writeU32(index);
|
} else {
|
||||||
key = key.render();
|
key = new Buffer(57);
|
||||||
|
key[0] = 0x43; // C
|
||||||
|
write(key, address, 1);
|
||||||
|
write(key, hash, 21);
|
||||||
|
key.writeUInt32LE(index, 53, true);
|
||||||
|
}
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
key = key.toString('hex');
|
key = key.toString('hex');
|
||||||
return key;
|
return key;
|
||||||
@ -1529,6 +1529,16 @@ NullCache.prototype.get = function get(key) {};
|
|||||||
NullCache.prototype.has = function has(key) {};
|
NullCache.prototype.has = function has(key) {};
|
||||||
NullCache.prototype.reset = function reset() {};
|
NullCache.prototype.reset = function reset() {};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
function write(data, str, off) {
|
||||||
|
if (Buffer.isBuffer(str))
|
||||||
|
return str.copy(data, off);
|
||||||
|
data.write(str, off, 'hex');
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Expose
|
* Expose
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user