Commit e41735ff authored by Eriksson Monteiro's avatar Eriksson Monteiro

update millix node

parent ae5c8af4
...@@ -287,18 +287,23 @@ class Wallet { ...@@ -287,18 +287,23 @@ class Wallet {
updateTransactionOutputWithAddressInformation(outputs) { updateTransactionOutputWithAddressInformation(outputs) {
const keychainRepository = database.getRepository('keychain'); const keychainRepository = database.getRepository('keychain');
const addressRepository = database.getRepository('address'); const addressRepository = database.getRepository('address');
const addressToAddressBaseMap = {}; const outputAddressToAddressComponentMap = {};
return keychainRepository.getAddressesByAddressBase(_.uniq(_.map(outputs, output => { return keychainRepository.getAddressesByAddressBase(_.uniq(_.map(outputs, output => {
const {address: addressBase} = addressRepository.getAddressComponent(output.address); const addressComponents = addressRepository.getAddressComponent(output.address);
addressToAddressBaseMap[output.address] = addressBase; outputAddressToAddressComponentMap[output.address] = {
return addressBase; address_base : addressComponents.address,
address_version : addressComponents.version,
address_key_identifier: addressComponents.identifier
};
return addressComponents.address; //address_base
}))).then(addresses => { }))).then(addresses => {
const addressBaseToAddressInfoMap = {}; const addressBaseToAddressInfoMap = {};
addresses.forEach(address => addressBaseToAddressInfoMap[address.address_base] = address); addresses.forEach(address => addressBaseToAddressInfoMap[address.address_base] = address);
const outputToRemoveList = []; const outputToRemoveList = [];
for (let i = 0; i < outputs.length; i++) { for (let i = 0; i < outputs.length; i++) {
const output = outputs[i]; const output = outputs[i];
const outputAddress = addressBaseToAddressInfoMap[addressToAddressBaseMap[output.address]]; const outputAddress = outputAddressToAddressComponentMap[output.address];
const addressInfo = addressBaseToAddressInfoMap[outputAddress.address_base];
if (!outputAddress) { if (!outputAddress) {
console.log('[wallet][warn] output address not found', output); console.log('[wallet][warn] output address not found', output);
outputToRemoveList.push(output); outputToRemoveList.push(output);
...@@ -307,8 +312,8 @@ class Wallet { ...@@ -307,8 +312,8 @@ class Wallet {
output['address_version'] = outputAddress.address_version; output['address_version'] = outputAddress.address_version;
output['address_key_identifier'] = outputAddress.address_key_identifier; output['address_key_identifier'] = outputAddress.address_key_identifier;
output['address_base'] = outputAddress.address_base; output['address_base'] = outputAddress.address_base;
output['address_position'] = outputAddress.address_position; output['address_position'] = addressInfo.address_position;
output['address_attribute'] = outputAddress.address_attribute; output['address_attribute'] = addressInfo.address_attribute;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment