From b0f2c96dda8ea8ab5d0980ff387210153b811378 Mon Sep 17 00:00:00 2001 From: trevorjtclarke Date: Sat, 10 Apr 2021 14:18:07 -0700 Subject: [PATCH] Finished all CLI, tested all methods --- README.md | 26 ++++++------ bin/crond | 7 ++-- bin/crond.js | 102 ++++++++++++++++++++++++++++++--------------- cli/index.js | 17 -------- package.json | 6 +++ public/running.png | Bin 0 -> 96644 bytes src/actions.js | 53 +++++++++++++++++++---- src/near.js | 2 +- yarn.lock | 29 +++++++++++++ 9 files changed, 168 insertions(+), 74 deletions(-) mode change 100644 => 100755 bin/crond delete mode 100644 cli/index.js create mode 100644 public/running.png diff --git a/README.md b/README.md index 8792397..5542981 100644 --- a/README.md +++ b/README.md @@ -4,27 +4,27 @@ Crond CLI is a Node.js application that relies on [`near-api-js`](https://github > note that **Node.js version 10+** is required to run Crond CLI -## Installation +## Docker Installation & Setup -```bash -npm install -g crond-js -``` +TBD -## Usage - -In command line, from the directory with your project: +## CLI Installation ```bash -crond +npm install -g crond-js ``` ### Commands -For a list of up-to-date commands, run `crond` in your terminal with no arguments. +For a list of up-to-date commands, run `crond --help` in your terminal. -#### For account: ```bash - crond login # logging in through NEAR protocol wallet - crond init # create a cron Agent account - crond run # run the crond agent +Usage: crond [options] + +Commands: + crond register Add your agent to cron known agents + crond update Update your agent to cron known agents + crond unregister Account to remove from list of active agents. + crond withdraw Withdraw all rewards earned for this account + crond status Check agent status and balance for this account ``` \ No newline at end of file diff --git a/bin/crond b/bin/crond old mode 100644 new mode 100755 index ebced40..6f4921e --- a/bin/crond +++ b/bin/crond @@ -1,5 +1,6 @@ #!/usr/bin/env node -const flaggedRespawn = require('flagged-respawn'); +const flaggedRespawn = require('flagged-respawn') +require = require('esm')(module /*, options*/); require('v8flags')((e, flags) => { if (e) { throw e; @@ -10,8 +11,8 @@ require('v8flags')((e, flags) => { ready => { if (ready) { // Need to filter out '--no-respawning' to avoid yargs complaining about it - process.argv = process.argv.filter(arg => arg != '--no-respawning'); - require('./crond.js'); + process.argv = process.argv.filter(arg => arg != '--no-respawning') + require('./crond.js') } }); }) diff --git a/bin/crond.js b/bin/crond.js index 78746e8..bc86f3e 100644 --- a/bin/crond.js +++ b/bin/crond.js @@ -1,12 +1,11 @@ require('dotenv').config() const chalk = require('chalk') const yargs = require('yargs') -import { agentFunction } from '../src/actions' - -const chalk = require('chalk'); +import getConfig from '../src/config' +const { agentFunction } = require('../src/actions') const registerAgent = { - command: 'register ', + command: 'register ', desc: 'Add your agent to cron known agents', builder: (yargs) => yargs .option('accountId', { @@ -19,13 +18,13 @@ const registerAgent = { type: 'string', required: false }), - handler: async function (options) { + handler: async options => { await agentFunction('register_agent', options); } }; const updateAgent = { - command: 'update ', + command: 'update ', desc: 'Update your agent to cron known agents', builder: (yargs) => yargs .option('accountId', { @@ -38,7 +37,7 @@ const updateAgent = { type: 'string', required: false }), - handler: async function (options) { + handler: async options => { await agentFunction('update_agent', options); } }; @@ -52,13 +51,13 @@ const unregisterAgent = { type: 'string', required: true }), - handler: async function (options) { + handler: async options => { await agentFunction('unregister_agent', options) } }; const withdrawBalance = { - command: 'update ', + command: 'withdraw ', desc: 'Withdraw all rewards earned for this account', builder: (yargs) => yargs .option('accountId', { @@ -66,32 +65,69 @@ const withdrawBalance = { type: 'string', required: true }), - handler: async function (options) { + handler: async options => { await agentFunction('withdraw_task_balance', options); } }; -let config = require('../src/config').getConfig(process.env.NODE_ENV || 'development'); +const status = { + command: 'status ', + desc: 'Check agent status and balance for this account', + builder: (yargs) => yargs + .option('accountId', { + desc: 'Account to check', + type: 'string', + required: true + }), + handler: async options => { + await agentFunction('get_agent', options, true); + } +}; +const config = getConfig(process.env.NODE_ENV || 'development') yargs // eslint-disable-line - .strict() - .middleware(require('../cli/check-version')) - .scriptName('crond') - .option('verbose', { - desc: 'Prints out verbose output', - type: 'boolean', - alias: 'v', - default: false - }) - .middleware(require('../src/print-options')) - .command(registerAgent) - .command(updateAgent) - .command(unregisterAgent) - .command(withdrawBalance) - .config(config) - .showHelpOnFail(true) - .recommendCommands() - .demandCommand(1, chalk`Pass {bold --help} to see all available commands and options.`) - .usage(chalk`Usage: {bold $0 [options]}`) - .epilogue(chalk`More info: {bold https://cron.cat}`) - .wrap(null) - .argv; + .strict() + .scriptName('crond') + .middleware(require('../cli/check-version')) + .middleware(require('../cli/print-options')) + .option('verbose', { + desc: 'Prints out verbose output', + type: 'boolean', + alias: 'v', + default: false + }) + .option('nodeUrl', { + desc: 'NEAR node URL', + type: 'string', + default: config.nodeUrl + }) + .option('networkId', { + desc: 'NEAR network ID, allows using different keys based on network', + type: 'string', + default: config.networkId + }) + .option('helperUrl', { + desc: 'NEAR contract helper URL', + type: 'string', + }) + .option('walletUrl', { + desc: 'Website for NEAR Wallet', + type: 'string' + }) + .option('explorerUrl', { + hidden: true, + desc: 'Base url for explorer', + type: 'string', + }) + .command(registerAgent) + .command(updateAgent) + .command(unregisterAgent) + .command(withdrawBalance) + .command(status) + .config(config) + .showHelpOnFail(true) + .recommendCommands() + .demandCommand(1, chalk`Pass {bold --help} to see all available commands and options.`) + .usage(chalk`Usage: {bold $0 [options]}`) + .epilogue(chalk`More info: {bold https://cron.cat}`) + .wrap(null) + .argv; diff --git a/cli/index.js b/cli/index.js deleted file mode 100644 index 35e2663..0000000 --- a/cli/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import { registerAgent, agentFunction } from '../src/actions' - -exports.registerAgent = async function (options) { - await registerAgent(options); -} - -exports.unregisterAgent = async function (options) { - await agentFunction('unregister_agent', options); -} - -exports.updateAgent = async function (options) { - await agentFunction('update_agent', options); -} - -exports.withdrawBalance = async function (options) { - await agentFunction('withdraw_task_balance', options); -} diff --git a/package.json b/package.json index e07329d..00a3e13 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "dev": "nodemon --exec npm run restart", "test": "echo \"Error: no test specified\" && exit 1" }, + "bin": { + "crond": "bin/crond" + }, "repository": { "type": "git", "url": "git+https://github.com/Cron-Near/crond-js.git" @@ -30,8 +33,11 @@ "chalk": "^4.1.0", "core-js": "^3.10.1", "dotenv": "^8.2.0", + "esm": "^3.2.25", + "flagged-respawn": "^1.0.1", "near-api-js": "^0.39.0", "regenerator-runtime": "^0.13.7", + "v8flags": "^3.2.0", "yargs": "^16.2.0" }, "devDependencies": { diff --git a/public/running.png b/public/running.png new file mode 100644 index 0000000000000000000000000000000000000000..7e04ee107626b344917b4fd2adb3a2be825c5358 GIT binary patch literal 96644 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
  • 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 literal 0 HcmV?d00001 diff --git a/src/actions.js b/src/actions.js index b3cdf76..e189804 100644 --- a/src/actions.js +++ b/src/actions.js @@ -12,6 +12,17 @@ export const AGENT_ACCOUNT_ID = process.env.AGENT_ACCOUNT_ID || 'crond-agent' export const BASE_GAS_FEE = 300000000000000 export const BASE_ATTACHED_PAYMENT = 0 +function removeUneededArgs(obj) { + const allowed = ['pk', 'payable_account_id'] + const fin = {} + + Object.keys(obj).forEach(k => { + if (allowed.includes(k)) fin[k] = obj[k] + }) + + return fin +} + export const Near = new NearProvider({ networkId: env === 'production' ? 'mainnet' : 'testnet', accountId: AGENT_ACCOUNT_ID, @@ -23,11 +34,12 @@ export async function connect() { await Near.getNearConnection() } -export async function getCronManager() { +export async function getCronManager(nearInstance) { if (cronManager) return cronManager + const _n = nearInstance || Near const abi = contractAbi.abis.manager const contractId = contractAbi[env].manager - cronManager = await Near.getContractInstance(contractId, abi) + cronManager = await _n.getContractInstance(contractId, abi) return cronManager } @@ -91,13 +103,40 @@ export async function runAgentTick() { setTimeout(runAgentTick, WAIT_INTERVAL_MS) } -export async function agentFunction(method, args) { - const manager = await getCronManager() +export async function agentFunction(method, args, isView) { + const _n = new NearProvider(args) + await _n.getNearConnection() + agentAccount = await _n.getAccountCredentials(args.accountId) + const manager = await getCronManager(_n) + const params = method === 'get_agent' ? { pk: agentAccount.toString() } : removeUneededArgs(args) + let res + try { - const res = await manager[method](args, BASE_GAS_FEE, BASE_ATTACHED_PAYMENT) - console.log('agentFunction res', method, res); + res = isView + ? await manager[method](params) + : await manager[method](params, BASE_GAS_FEE, BASE_ATTACHED_PAYMENT) } catch (e) { - console.log(e) + if (e && e.panic_msg) { + log('\n') + log('\t' + chalk.red(e.panic_msg.split(',')[0].replace('panicked at ', '').replace(/\'/g, ''))) + log('\n') + } + } + + if (!res && !isView) log('\n\t' + chalk.green(`${method} Success!`) + '\n') + if (!res && isView) log(chalk.green(`No response data`)) + + if (isView && res) { + try { + const payload = JSON.parse(res) + log('\n') + Object.keys(payload).forEach(k => { + log(`${chalk.bold.white(k.replace(/\_/g, ' '))}: ${chalk.white(payload[k])}`) + }) + log('\n') + } catch (ee) { + // No need to do anything + } } } diff --git a/src/near.js b/src/near.js index 43973a0..bf5285b 100644 --- a/src/near.js +++ b/src/near.js @@ -26,7 +26,7 @@ class NearProvider { const existingKey = await keyStore.getKey(this.config.networkId, accountId) if (existingKey) { - console.log(`AGENT: "${accountId}", Public Key ${existingKey.publicKey}`) + // console.log(`AGENT: "${accountId}", Public Key ${existingKey.publicKey}`) this.accountId = accountId return existingKey.publicKey } diff --git a/yarn.lock b/yarn.lock index 7b7dcfd..0b0b97a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1503,6 +1503,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -1567,6 +1572,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +flagged-respawn@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -1756,6 +1766,13 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -2337,6 +2354,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -2943,6 +2965,13 @@ util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"