mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-06 17:27:59 +00:00
Only one 'submitted' event will be emitted per transaction submission request
This commit is contained in:
@@ -265,7 +265,7 @@ TransactionManager.prototype._request = function(tx) {
|
|||||||
self._resubmit(3, tx);
|
self._resubmit(3, tx);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
submissionError(message);
|
tx.emit('error', message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ TransactionManager.prototype._request = function(tx) {
|
|||||||
switch (message.engine_result) {
|
switch (message.engine_result) {
|
||||||
case 'terPRE_SEQ':
|
case 'terPRE_SEQ':
|
||||||
self._fillSequence(tx, function() {
|
self._fillSequence(tx, function() {
|
||||||
self._resubmit(2, tx);
|
self._resubmit(1, tx);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -291,20 +291,19 @@ TransactionManager.prototype._request = function(tx) {
|
|||||||
} else {
|
} else {
|
||||||
self._nextSequence--;
|
self._nextSequence--;
|
||||||
tx.set_state('remoteError');
|
tx.set_state('remoteError');
|
||||||
tx.emit('submitted', error);
|
|
||||||
tx.emit('error', error);
|
tx.emit('error', error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function submissionSuccess(message) {
|
function submitted(message) {
|
||||||
if (message.tx_json.hash) {
|
if (message.tx_json && message.tx_json.hash) {
|
||||||
tx._hash = message.tx_json.hash;
|
tx._hash = message.tx_json.hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
remote._trace('transactionmanager: submit_response: %s', message);
|
|
||||||
|
|
||||||
message.result = message.engine_result || '';
|
message.result = message.engine_result || '';
|
||||||
|
|
||||||
|
remote._trace('transactionmanager: submit_response: %s', message);
|
||||||
|
|
||||||
tx.emit('submitted', message);
|
tx.emit('submitted', message);
|
||||||
|
|
||||||
switch (message.result.slice(0, 3)) {
|
switch (message.result.slice(0, 3)) {
|
||||||
@@ -325,9 +324,6 @@ TransactionManager.prototype._request = function(tx) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
submitRequest.once('success', submissionSuccess);
|
|
||||||
submitRequest.once('error', submissionError);
|
|
||||||
|
|
||||||
submitRequest.timeout(this._submissionTimeout, function() {
|
submitRequest.timeout(this._submissionTimeout, function() {
|
||||||
tx.emit('timeout');
|
tx.emit('timeout');
|
||||||
if (remote._connected) {
|
if (remote._connected) {
|
||||||
@@ -336,6 +332,8 @@ TransactionManager.prototype._request = function(tx) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
submitRequest.once('error', submitted);
|
||||||
|
submitRequest.once('success', submitted);
|
||||||
submitRequest.request();
|
submitRequest.request();
|
||||||
|
|
||||||
tx.set_state('client_submitted');
|
tx.set_state('client_submitted');
|
||||||
|
|||||||
Reference in New Issue
Block a user