small fixes.

This commit is contained in:
Chris Kleeschulte 2017-02-02 15:47:23 -05:00
parent f07486f0f6
commit cebf2c310a

View File

@ -101,7 +101,7 @@ WalletService.prototype.blockHandler = function(block, connectBlock, callback) {
continue;
}
var address = self.services.address.getAddressString(script);
var address = self.getAddressString(script);
if(!address || !self._addressMap[address]) {
continue;
@ -144,7 +144,7 @@ WalletService.prototype.blockHandler = function(block, connectBlock, callback) {
return next();
}
var inputAddress = self.services.address.getAddressString(input.script);
var inputAddress = self.getAddressString(input.script);
if(!inputAddress || !self._addressMap[inputAddress]) {
return next();
@ -202,6 +202,32 @@ WalletService.prototype.blockHandler = function(block, connectBlock, callback) {
});
};
WalletService.prototype.getAddressString = function(script, output) {
var address = script.toAddress();
if(address) {
return address.toString();
}
try {
var pubkey = script.getPublicKey();
if(pubkey) {
return pubkey.toString('hex');
}
} catch(e) {
//log.warn('Error getting public key from: ', script.toASM(), script.toHex());
// if there is an error, it's because a pubkey can not be extracted from the script
// continue on and return null
}
//TODO add back in P2PK, but for this we need to look up the utxo for this script
if(output && output.script && output.script.isPublicKeyOut()) {
return output.script.getPublicKey().toString('hex');
}
//log.warn('No utxo given for script spending a P2PK: ', script.toASM(), script.toHex());
return null;
};
WalletService.prototype.concurrentBlockHandler = function(block, connectBlock, callback) {
var self = this;
@ -260,7 +286,7 @@ WalletService.prototype.concurrentBlockHandler = function(block, connectBlock, c
continue;
}
var inputAddress = self._getAddressString(input.script);
var inputAddress = self.getAddressString(input.script);
if(!inputAddress || !self._addressMap[inputAddress]) {
continue;
@ -288,10 +314,10 @@ WalletService.prototype._loadAllAddresses = function(callback) {
self._addressMap = {};
var start = self._encoding.encodeWalletKey('00');
var end = self._encoding.encodeWalletKey(Array(65).join('f'));
var start = self._encoding.encodeWalletAddressesKey('00');
var end = self._encoding.encodeWalletAddressesKey(Array(65).join('f'));
var stream = self.db.createReadStream({
var stream = self.store.createReadStream({
gte: start,
lt: end
});
@ -328,7 +354,7 @@ WalletService.prototype._loadAllBalances = function(callback) {
var start = self._encoding.encodeWalletBalanceKey('00');
var end = self._encoding.encodeWalletBalanceKey(Array(65).join('f'));
var stream = self.db.createReadStream({
var stream = self.store.createReadStream({
gte: start,
lt: end
});