fix(@embark/deploy-tracker): fix getting the block 0 with sim --fork

This commit is contained in:
Jonathan Rainville 2019-06-27 13:28:18 -04:00 committed by Michael Bradley
parent 1b6987ee8f
commit f6d7a54195
1 changed files with 25 additions and 14 deletions

View File

@ -58,26 +58,37 @@ class DeployTracker {
});
}
setCurrentChain(cb) {
setCurrentChain(callback) {
const self = this;
if (this.chainConfig === false) {
this.currentChain = {contracts: []};
return cb();
return callback();
}
this.events.request("blockchain:block:byNumber", 0, function(err, block) {
function getBlock(blockNum, cb) {
self.events.request("blockchain:block:byNumber", blockNum, (err, block) => {
if (err) {
return cb(err);
}
let chainId = block.hash;
if (self.chainConfig[chainId] === undefined) {
self.chainConfig[chainId] = {contracts: {}};
}
self.currentChain = self.chainConfig[chainId];
self.currentChain.name = self.env;
cb();
});
}
getBlock(0, (err) => {
if (err) {
return cb(err);
// Retry with block 1 (Block 0 fails with Ganache-cli using the --fork option)
return getBlock(1, callback);
}
let chainId = block.hash;
if (self.chainConfig[chainId] === undefined) {
self.chainConfig[chainId] = {contracts: {}};
}
self.currentChain = self.chainConfig[chainId];
self.currentChain.name = self.env;
cb();
callback();
});
}