Commit 858d4db4 authored by Eriksson Monteiro's avatar Eriksson Monteiro

update millix node: improve wallet sync

parent ecfd2524
......@@ -2,7 +2,7 @@
<br>
<a href="#"><img src="https://github.com/millix/millix-wallet/blob/master/app/icon.png?raw=true" alt="millix node" width="200"></a>
<br>
millix node <small>v1.17.2</small>
millix node <small>v1.17.3</small>
<br>
</h1>
......
......@@ -779,8 +779,8 @@ export const NETWORK_SHORT_TIME_WAIT_MAX = 1500;
export const DATABASE_ENGINE = 'sqlite';
export const DATABASE_CONNECTION = {};
export const MILLIX_CIRCULATION = 9e15;
export const NODE_MILLIX_BUILD_DATE = 1649203461;
export const NODE_MILLIX_VERSION = '1.17.2-tangled';
export const NODE_MILLIX_BUILD_DATE = 1649251316;
export const NODE_MILLIX_VERSION = '1.17.3-tangled';
export const DATA_BASE_DIR_MAIN_NETWORK = './millix-tangled';
export const DATA_BASE_DIR_TEST_NETWORK = './millix-tangled';
let DATA_BASE_DIR = MODE_TEST_NETWORK ? DATA_BASE_DIR_TEST_NETWORK : DATA_BASE_DIR_MAIN_NETWORK;
......
......@@ -10,6 +10,7 @@ import database from '../../database/database';
import wallet from './wallet';
import async from 'async';
import _ from 'lodash';
import eventBus from '../event-bus';
export class WalletSync {
......@@ -151,8 +152,9 @@ export class WalletSync {
const transactionOutputToQueue = [];
async.eachSeries(transactionOutputToSyncList, (transactionOutput, callback) => {
peer.transactionOutputSpendRequest(transactionOutput.transaction_id, transactionOutput.output_position)
.then(_ => callback())
.catch(() => {
.then(data => _.each(data.transaction_list, transaction => eventBus.emit('transaction_new', transaction)))
.catch(_ => _)
.then(() => {
transactionOutputToQueue.push({
transaction_output_id: transactionOutput.transaction_output_id
});
......
......@@ -13,6 +13,7 @@ import ntp from '../ntp';
import console from '../console';
import task from '../task';
import cache from '../cache';
import walletSync from './wallet-sync';
export class WalletTransactionConsensus {
......@@ -1001,6 +1002,7 @@ export class WalletTransactionConsensus {
cache.removeCacheItem('validation', transactionID);
consensusData.active = false;
walletSync.syncTransactionSpendingOutputs(transaction, config.MODE_NODE_SYNC_FULL);
console.log('[wallet-transaction-consensus] transaction object no present for tx id:', transactionID);
return database.applyShards(shardID => {
const transactionRepository = database.getRepository('transaction', shardID);
......
......@@ -964,9 +964,7 @@ class Wallet {
walletSync.clearTransactionSync(transaction.transaction_id);
walletSync.syncTransactionSpendingOutputs(transaction, config.MODE_NODE_SYNC_FULL);
if (config.MODE_NODE_SYNC_FULL) {
this.transactionSpendRequest(transaction.transaction_id, syncPriority).then(_ => _).catch(_ => _);
if (config.MODE_NODE_SYNC_FULL || hasKeyIdentifier) {
if (transaction.transaction_id !== genesisConfig.genesis_transaction) {
_.each(transaction.transaction_input_list, inputTransaction => {
if (!this._transactionReceivedFromNetwork[inputTransaction.output_transaction_id]) {
......@@ -995,7 +993,10 @@ class Wallet {
}
});
}
}
if (config.MODE_NODE_SYNC_FULL) {
this.transactionSpendRequest(transaction.transaction_id, syncPriority).then(_ => _).catch(_ => _);
_.each(transaction.transaction_parent_list, parentTransactionID => {
if (!this._transactionReceivedFromNetwork[parentTransactionID]) {
database.firstShards((shardID) => {
......@@ -1208,7 +1209,10 @@ class Wallet {
.then(hasTransaction => hasTransaction ? resolve(hasTransaction) : reject()));
}).then(hasTransaction => {
if (!hasTransaction) {
peer.transactionSyncRequest(transactionID, {priority: 1})
peer.transactionSyncRequest(transactionID, {
priority : 1,
dispatch_request: true
})
.then(_ => _)
.catch(_ => _);
}
......
......@@ -125,7 +125,7 @@ db.initialize()
});
}
});
//millix v1.17.2-tangled
//millix v1.17.3-tangled
\ No newline at end of file
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