| 497 | } |
| 498 | |
| 499 | async function pauseModule(modules) { |
| 500 | let options = modules.map(m => `${m.name} (${m.address})`); |
| 501 | let index = readlineSync.keyInSelect(options, 'Which module whould you like to pause?'); |
| 502 | if (index != -1) { |
| 503 | console.log("\nSelected:", options[index]); |
| 504 | let moduleABI; |
| 505 | if (modules[index].type == gbl.constants.MODULES_TYPES.STO) { |
| 506 | moduleABI = abis.ISTO(); |
| 507 | } else if (modules[index].type == gbl.constants.MODULES_TYPES.STO) { |
| 508 | moduleABI = abis.ITransferManager(); |
| 509 | } else { |
| 510 | console.log(chalk.red(`Only STO and TM modules can be paused/unpaused`)); |
| 511 | process.exit(0); |
| 512 | } |
| 513 | let pausableModule = new web3.eth.Contract(moduleABI, modules[index].address); |
| 514 | let pauseAction = pausableModule.methods.pause(); |
| 515 | await common.sendTransaction(pauseAction); |
| 516 | console.log(chalk.green(`${modules[index].name} has been paused successfully!`)); |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | async function unpauseModule(modules) { |
| 521 | let options = modules.map(m => `${m.name} (${m.address})`); |