From 0915d5f153176a8a2a9dc9a1f78c8beaa472669c Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 31 May 2023 14:04:47 +0800 Subject: [PATCH] update sth --- src/chain/allchain.ts | 2 ++ src/controllers/chain.controllers.ts | 11 +++++++---- src/controllers/token.controllers.ts | 11 ++++------- src/models/ChainTask.ts | 7 +++++++ src/service/info.service.ts | 6 +++++- src/service/price.service.ts | 3 ++- src/utils/excel.util.ts | 24 ------------------------ 7 files changed, 27 insertions(+), 37 deletions(-) delete mode 100644 src/utils/excel.util.ts diff --git a/src/chain/allchain.ts b/src/chain/allchain.ts index d4d3cee..ef84e25 100644 --- a/src/chain/allchain.ts +++ b/src/chain/allchain.ts @@ -212,6 +212,7 @@ export const AllChains = [ type: 'Mainnet', rpc: 'https://endpoints.omniatech.io/v1/arbitrum/one/public|https://rpc.ankr.com/arbitrum', id: 42161, + network: 'ARBITRUM', symbol: 'ETH', explorerurl: 'https://arbiscan.io/', }, @@ -260,6 +261,7 @@ export const AllChains = [ type: 'Testnet', rpc: 'https://goerli-rollup.arbitrum.io/rpc|https://endpoints.omniatech.io/v1/arbitrum/goerli/public', id: 421613, + network: 'AGOR', symbol: 'AGOR', explorerurl: 'https://goerli-rollup-explorer.arbitrum.io', }, diff --git a/src/controllers/chain.controllers.ts b/src/controllers/chain.controllers.ts index 2233b22..003cbaf 100644 --- a/src/controllers/chain.controllers.ts +++ b/src/controllers/chain.controllers.ts @@ -12,15 +12,18 @@ class ChainController extends BaseController { @router('post /chain/req') async addChainRequest(req, res) { // data是一个数组!! - const { data, type, taskId, force, max } = req.params - console.log(`income chain request:: taskId: ${taskId}, type: ${type}`) + const { data, source, cb, taskId, force, max } = req.params + console.log(`income chain request:: taskId: ${taskId}, source: ${source}, cb: ${cb}`) console.log(JSON.stringify(data)) let maxTryCount = max !== undefined ? parseInt(max) : parseInt(process.env.CHAIN_MAX_TRY) - let chainTask: DocumentType = await ChainTask.insertOrUpdate({ taskId }, { type, taskData: data }) + let chainTask: DocumentType = await ChainTask.insertOrUpdate( + { taskId }, + { source, taskData: data, cb }, + ) if ((!chainTask.newRecord && force) || chainTask.newRecord) { for (let sub of data) { - let subType = sub.type || type + let subType = sub.type let subTask = new RequestTask({ taskId, chainTaskId: chainTask.id, diff --git a/src/controllers/token.controllers.ts b/src/controllers/token.controllers.ts index a5df3e5..94e0665 100644 --- a/src/controllers/token.controllers.ts +++ b/src/controllers/token.controllers.ts @@ -1,7 +1,7 @@ import { BlockChain } from 'chain/BlockChain' +import { ZError } from 'common/ZError' import BaseController from 'common/base.controller' import { role, router } from 'decorators/router' -import { PriceSvr } from 'service/price.service' class TokenController extends BaseController { @role('anon') @@ -24,12 +24,9 @@ class TokenController extends BaseController { @router('post /chain/estimate_gas') async calcGasPrice(req, res) { let { gas } = req.params - if (!gas) - gas = await new BlockChain().web3.eth.estimateGas({ - from: '0x84f165521886642D24c55FACc886ab5986AD2d8b', - to: '0x84f165521886642D24c55FACc886ab5986AD2d8b', - value: '0', - }) + if (!gas) { + throw new ZError(10, 'gas is required') + } let data = new BlockChain().generateGasShow(gas) return data } diff --git a/src/models/ChainTask.ts b/src/models/ChainTask.ts index de8123e..95d6776 100644 --- a/src/models/ChainTask.ts +++ b/src/models/ChainTask.ts @@ -26,6 +26,12 @@ export class ChainTaskClass extends BaseModule { @prop({ type: mongoose.Schema.Types.Mixed }) public taskData: any + @prop() + public source: string + + @prop() + public cb: string + @prop({ enum: TaskStatus, default: TaskStatus.NOTSTART }) public status: TaskStatus @@ -98,6 +104,7 @@ export class ChainTaskClass extends BaseModule { successCount: record.successCount, errorCount: record.errorCount, hashList, + cb: record.cb, }) // logger.log(result) } catch (err) { diff --git a/src/service/info.service.ts b/src/service/info.service.ts index 24e73ac..ad126eb 100644 --- a/src/service/info.service.ts +++ b/src/service/info.service.ts @@ -13,7 +13,11 @@ export class InfoSvr { reportTaskResult(data: any) { data.sign = calcHash(data) logger.info('report to info svr: ' + JSON.stringify(data)) - let url = `${process.env.INFO_SVR_HOST}${REPORT_TASK_URI}` + let url = data.cb + delete data.cb + if (!url) { + url = `${process.env.INFO_SVR_HOST}${REPORT_TASK_URI}` + } let reqConfig: any = { method: 'post', url, diff --git a/src/service/price.service.ts b/src/service/price.service.ts index bd3eeb5..59211eb 100644 --- a/src/service/price.service.ts +++ b/src/service/price.service.ts @@ -27,7 +27,8 @@ export class PriceSvr { const key = `crypto_usd|${eth}` let data = this.priceMap.get(key) if (!data || data.expired < Date.now() || refresh) { - const url = `https://min-api.cryptocompare.com/data/price?fsym=${eth}&tsyms=${usd}` + const key = process.env.CRYPTOCOMPARE_API_KEY + const url = `https://min-api.cryptocompare.com/data/price?fsym=${eth}&tsyms=${usd}&api_key=${key}` let priceData = await axios.get(url).then(res => res.data) let price = priceData[usd] * 100 + '' this.priceMap.set(key, { price, expired: Date.now() + 1000 * 60 }) diff --git a/src/utils/excel.util.ts b/src/utils/excel.util.ts deleted file mode 100644 index c25740d..0000000 --- a/src/utils/excel.util.ts +++ /dev/null @@ -1,24 +0,0 @@ -import xlsx from 'node-xlsx' - -export function excelToJson(filePath: string) { - console.log('excel2json: ' + filePath) - const workSheetsFromFile = xlsx.parse(filePath) - if (!workSheetsFromFile || workSheetsFromFile.length === 0) { - throw new Error('excelToJson: no sheet found') - } - const sheet = workSheetsFromFile[0] - const header = (sheet.data[0] as string[]).map(item => item.toLowerCase()) - let arr = [] - for (let i = 1, l = sheet.data.length; i < l; i++) { - let row = sheet.data[i] as [] - if (row.length === 0) { - continue - } - let obj = {} - for (let j = 0, k = header.length; j < k; j++) { - obj[header[j]] = row[j] - } - arr.push(obj) - } - return arr -}