mirror of https://github.com/embarklabs/embark.git
create separate function for secure send
This commit is contained in:
parent
a7b0cea09b
commit
083c936351
|
@ -230,7 +230,7 @@ class BlockchainConnector {
|
||||||
}).catch(cb);
|
}).catch(cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
deployContractFromObject(deployContractObject, params, cb) {
|
secureSend(toSend, params, cb) {
|
||||||
const self = this;
|
const self = this;
|
||||||
let hash;
|
let hash;
|
||||||
let calledBacked = false;
|
let calledBacked = false;
|
||||||
|
@ -263,28 +263,37 @@ class BlockchainConnector {
|
||||||
});
|
});
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
deployContractObject.send({
|
toSend.estimateGas()
|
||||||
|
.then(gasEstimated => {
|
||||||
|
params.gas = gasEstimated + 1000;
|
||||||
|
params.from = params.from || self.defaultAccount();
|
||||||
|
return toSend.send(params, function(err, transactionHash) {
|
||||||
|
if (err) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
hash = transactionHash;
|
||||||
|
}).on('receipt', function(receipt) {
|
||||||
|
if (receipt.contractAddress !== undefined) {
|
||||||
|
callback(null, receipt);
|
||||||
|
}
|
||||||
|
}).then(function(_contract) {
|
||||||
|
if (!hash) {
|
||||||
|
return; // Somehow we didn't get the receipt yet... Interval will catch it
|
||||||
|
}
|
||||||
|
self.web3.eth.getTransactionReceipt(hash, callback);
|
||||||
|
}).catch(callback);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
deployContractFromObject(deployContractObject, params, cb) {
|
||||||
|
this.secureSend(deployContractObject, {
|
||||||
from: params.from, gas: params.gas, gasPrice: params.gasPrice
|
from: params.from, gas: params.gas, gasPrice: params.gasPrice
|
||||||
}, function (err, transactionHash) {
|
}, cb);
|
||||||
if (err) {
|
|
||||||
return callback(err);
|
|
||||||
}
|
|
||||||
hash = transactionHash;
|
|
||||||
}).on('receipt', function (receipt) {
|
|
||||||
if (receipt.contractAddress !== undefined) {
|
|
||||||
callback(null, receipt);
|
|
||||||
}
|
|
||||||
}).then(function (_contract) {
|
|
||||||
if (!hash) {
|
|
||||||
return; // Somehow we didn't get the receipt yet... Interval will catch it
|
|
||||||
}
|
|
||||||
self.web3.eth.getTransactionReceipt(hash, callback);
|
|
||||||
}).catch(callback);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
determineDefaultAccount(cb) {
|
determineDefaultAccount(cb) {
|
||||||
const self = this;
|
const self = this;
|
||||||
self.getAccounts(function (err, accounts) {
|
self.getAccounts(function(err, accounts) {
|
||||||
if (err) {
|
if (err) {
|
||||||
self.logger.error(err);
|
self.logger.error(err);
|
||||||
return cb(new Error(err));
|
return cb(new Error(err));
|
||||||
|
|
Loading…
Reference in New Issue