You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
3.5 KiB

7 years ago
const electrumServers = require('../electrumjs/electrumServers');
7 years ago
const request = require('request');
// TODO: refactor
7 years ago
module.exports = (shepherd) => {
shepherd.startSPV = (coin) => {
if (coin === 'KMD+REVS+JUMBLR') {
shepherd.addElectrumCoin('KMD');
shepherd.addElectrumCoin('REVS');
shepherd.addElectrumCoin('JUMBLR');
} else {
7 years ago
if (process.argv.indexOf('spvcoins=all/add-all') > -1) {
for (let key in electrumServers) {
shepherd.addElectrumCoin(electrumServers[key].abbr);
}
} else {
shepherd.addElectrumCoin(coin);
}
}
}
shepherd.startKMDNative = (selection, isManual) => {
let herdData;
const acHerdData = {
REVS: {
name: 'REVS',
seedNode: '78.47.196.146',
supply: 1300000,
},
JUMBLR: {
name: 'JUMBLR',
seedNode: '78.47.196.146',
supply: 999999,
},
MNZ: {
name: 'MNZ',
seedNode: '78.47.196.146',
supply: 257142858,
},
BTCH: {
name: 'BTCH',
seedNode: '78.47.196.146',
supply: 20998641,
},
};
const httpRequest = () => {
const options = {
url: `http://127.0.0.1:${shepherd.appConfig.agamaPort}/shepherd/herd`,
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
herd: 'komodod',
options: herdData,
7 years ago
token: shepherd.appSessionHash,
}),
};
7 years ago
request(options, (error, response, body) => {
// resolve(body);
7 years ago
});
};
7 years ago
if (isManual) {
shepherd.kmdMainPassiveMode = true;
}
7 years ago
if (selection === 'KMD') {
herdData = {
'ac_name': 'komodod',
7 years ago
'ac_options': [
'-daemon=0',
'-addnode=78.47.196.146',
],
7 years ago
};
httpRequest();
} else if (
selection === 'REVS' ||
selection === 'JUMRLR' ||
selection === 'MNZ' ||
selection === 'BTCH'
) {
herdData = {
'ac_name': acHerdData[selection].name,
7 years ago
'ac_options': [
'-daemon=0',
'-server',
`-ac_name=${acHerdData[selection].name}`,
`-addnode=${acHerdData[selection].seedNode}`,
`-ac_supply=${acHerdData[selection].supply}`,
],
7 years ago
};
httpRequest();
} else {
const herdData = [{
'ac_name': 'komodod',
'ac_options': [
'-daemon=0',
'-addnode=78.47.196.146',
],
}, {
'ac_name': 'REVS',
'ac_options': [
'-daemon=0',
'-server',
`-ac_name=REVS`,
'-addnode=78.47.196.146',
'-ac_supply=1300000',
],
}, {
'ac_name': 'JUMBLR',
'ac_options': [
'-daemon=0',
'-server',
`-ac_name=JUMBLR`,
'-addnode=78.47.196.146',
'-ac_supply=999999',
],
}];
for (let i = 0; i < herdData.length; i++) {
setTimeout(() => {
const options = {
url: `http://127.0.0.1:${shepherd.appConfig.agamaPort}/shepherd/herd`,
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
herd: 'komodod',
options: herdData[i],
7 years ago
token: shepherd.appSessionHash,
}),
};
7 years ago
request(options, (error, response, body) => {
// resolve(body);
});
}, 100);
}
}
};
return shepherd;
};