different networks might require different apm domains. We set those in the arapp.json file which we can reuise to init the kredits instance in the helper scripts.
31 lines
1.0 KiB
JavaScript
31 lines
1.0 KiB
JavaScript
const argv = require('yargs').argv;
|
|
const ethers = require('ethers');
|
|
const getNetworkId = require('./networkid.js');
|
|
const Kredits = require('../../lib/kredits');
|
|
|
|
const arapp = require('../../arapp.json');
|
|
const environment = argv['network'] || argv['environment'] || 'development';
|
|
const apm = arapp.environments[environment].apm;
|
|
|
|
module.exports = async function(web3) {
|
|
return new Promise((resolve, reject) => {
|
|
const provider = new ethers.providers.Web3Provider(web3.currentProvider);
|
|
let signer = provider.getSigner();
|
|
// checking if siner supports signing transactions
|
|
signer.getAddress().then(_ => {
|
|
new Kredits(provider, signer, { apm }).init().then(kredits => {
|
|
resolve(kredits);
|
|
}).catch(e => {
|
|
reject(e);
|
|
});
|
|
}).catch(e => {
|
|
console.log(`Signer account not available; readonly connection (${e.message}`);
|
|
new Kredits(provider, null).init().then(kredits => {
|
|
resolve(kredits);
|
|
}).catch(e => {
|
|
reject(e);
|
|
});
|
|
})
|
|
});
|
|
}
|