|
@@ -95,7 +95,21 @@ const CHAIN_NAME = {
|
|
eth: 'eth',
|
|
eth: 'eth',
|
|
bsc_testnet: 'bsc testnet',
|
|
bsc_testnet: 'bsc testnet',
|
|
bsc_mainnet: 'bsc',
|
|
bsc_mainnet: 'bsc',
|
|
- czz: 'czz'
|
|
|
|
|
|
+ czz: 'czz',
|
|
|
|
+ kcc_testnet: 'kcc_testnet',
|
|
|
|
+ kcc_mainnet: 'kcc_mainnet',
|
|
|
|
+ okc_testnet: 'okc_testnet',
|
|
|
|
+ okc_mainnet: 'okc_mainnet',
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const CHAIN_TOKEN_TYPE = {
|
|
|
|
+ bsc_testnet: 'erc20',
|
|
|
|
+ bsc_mainnet: 'erc20',
|
|
|
|
+ czz: 'czz',
|
|
|
|
+ kcc_testnet: 'kcc_testnet',
|
|
|
|
+ kcc_mainnet: 'kcc_mainnet',
|
|
|
|
+ okc_testnet: 'okc_testnet',
|
|
|
|
+ okc_mainnet: 'okc_mainnet',
|
|
}
|
|
}
|
|
|
|
|
|
const CHAIN_ID = {
|
|
const CHAIN_ID = {
|
|
@@ -103,11 +117,20 @@ const CHAIN_ID = {
|
|
bsc_testnet: '0x61',
|
|
bsc_testnet: '0x61',
|
|
bsc_mainnet: '0x38',
|
|
bsc_mainnet: '0x38',
|
|
czz: '2019',
|
|
czz: '2019',
|
|
|
|
+ kcc_testnet: '322',
|
|
|
|
+ kcc_mainnet: '321',
|
|
|
|
+ okc_testnet: '65',
|
|
|
|
+ okc_mainnet: '66',
|
|
}
|
|
}
|
|
|
|
|
|
const CHAIN_ID_NAME = {
|
|
const CHAIN_ID_NAME = {
|
|
97: 'bsc_testnet',
|
|
97: 'bsc_testnet',
|
|
56: 'bsc_mainnet',
|
|
56: 'bsc_mainnet',
|
|
|
|
+ 2019: 'czz',
|
|
|
|
+ 65: 'okc',
|
|
|
|
+ 66: 'okc',
|
|
|
|
+ 321: 'kcc',
|
|
|
|
+ 322: 'kcc',
|
|
}
|
|
}
|
|
|
|
|
|
const USE_SDK = {
|
|
const USE_SDK = {
|
|
@@ -125,18 +148,69 @@ function getRedisKeyFromChain(chain) {
|
|
case '56':
|
|
case '56':
|
|
return '_BSC'
|
|
return '_BSC'
|
|
case CHAIN_NAME.czz:
|
|
case CHAIN_NAME.czz:
|
|
- case '2019':
|
|
|
|
|
|
+ case CHAIN_ID.czz:
|
|
return '_CZZ'
|
|
return '_CZZ'
|
|
|
|
+ case CHAIN_NAME.kcc_mainnet:
|
|
|
|
+ case CHAIN_NAME.kcc_testnet:
|
|
|
|
+ case CHAIN_ID.kcc_mainnet:
|
|
|
|
+ case CHAIN_ID.kcc_testnet:
|
|
|
|
+ return '_KCC'
|
|
|
|
+ case CHAIN_NAME.okc_mainnet:
|
|
|
|
+ case CHAIN_NAME.okc_testnet:
|
|
|
|
+ case CHAIN_ID.okc_mainnet:
|
|
|
|
+ case CHAIN_ID.okc_testnet:
|
|
|
|
+ return '_OKC'
|
|
default:
|
|
default:
|
|
return null
|
|
return null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function getChainNameFromChain(chain) {
|
|
|
|
+ switch (chain) {
|
|
|
|
+ case CHAIN_NAME.bsc_mainnet:
|
|
|
|
+ case CHAIN_NAME.bsc_testnet:
|
|
|
|
+ case 'bsc_testnet':
|
|
|
|
+ case 'bsc_mainnet':
|
|
|
|
+ case '97':
|
|
|
|
+ case '56':
|
|
|
|
+ return 'bsc'
|
|
|
|
+ case CHAIN_NAME.czz:
|
|
|
|
+ case CHAIN_ID.czz:
|
|
|
|
+ return 'czz'
|
|
|
|
+ case CHAIN_NAME.kcc_mainnet:
|
|
|
|
+ case CHAIN_NAME.kcc_testnet:
|
|
|
|
+ case CHAIN_ID.kcc_mainnet:
|
|
|
|
+ case CHAIN_ID.kcc_testnet:
|
|
|
|
+ return 'kcc'
|
|
|
|
+ case CHAIN_NAME.okc_mainnet:
|
|
|
|
+ case CHAIN_NAME.okc_testnet:
|
|
|
|
+ case CHAIN_ID.okc_mainnet:
|
|
|
|
+ case CHAIN_ID.okc_testnet:
|
|
|
|
+ return 'okc'
|
|
|
|
+ default:
|
|
|
|
+ return null
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function getTokenTransferType(chain) {
|
|
|
|
+ switch (chain) {
|
|
|
|
+ case CHAIN_NAME.bsc_mainnet:
|
|
|
|
+ case CHAIN_NAME.bsc_testnet:
|
|
|
|
+ case 'bsc_testnet':
|
|
|
|
+ case 'bsc_mainnet':
|
|
|
|
+ case '97':
|
|
|
|
+ case '56':
|
|
|
|
+ return 'erc20'
|
|
|
|
+ default:
|
|
|
|
+ return 'token'
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
function trim(str) {
|
|
function trim(str) {
|
|
try {
|
|
try {
|
|
return str.replace(/(^\s*)|(\s*$)/g, "");
|
|
return str.replace(/(^\s*)|(\s*$)/g, "");
|
|
- } catch (error) {
|
|
|
|
- logger.error('trim error',error.toString())
|
|
|
|
|
|
+ } catch (error) {
|
|
|
|
+ logger.error('trim error', error.toString())
|
|
return str
|
|
return str
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -162,6 +236,16 @@ function getTimestamp() {
|
|
return new Date().getTime()
|
|
return new Date().getTime()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function contain(str, char) {
|
|
|
|
+ try {
|
|
|
|
+ return str.indexOf(char) != -1
|
|
|
|
+ } catch (error) {
|
|
|
|
+ logger.error()
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
function getCurrentDate() {
|
|
function getCurrentDate() {
|
|
return chinaTime('YYYY-MM-DD HH:mm:ss');
|
|
return chinaTime('YYYY-MM-DD HH:mm:ss');
|
|
}
|
|
}
|
|
@@ -170,14 +254,14 @@ function getCurrentDateFormat(format) {
|
|
return chinaTime(format);
|
|
return chinaTime(format);
|
|
}
|
|
}
|
|
|
|
|
|
-function chinaTimeMs(format, ms) {
|
|
|
|
- return format
|
|
|
|
- ? moment(ms).tz('Asia/Shanghai').format(format)
|
|
|
|
- : new Date(moment(ms).tz('Asia/Shanghai').format('YYYY-MM-DD HH:mm'));
|
|
|
|
|
|
+function chinaTimeMs(ms) {
|
|
|
|
+ return moment(ms).tz('Asia/Shanghai').format('YYYY-MM-DD HH:mm:ss');
|
|
}
|
|
}
|
|
|
|
|
|
-function getLastDay(format) {
|
|
|
|
- return moment().subtract(1, 'day').tz('Asia/Shanghai').format(format)
|
|
|
|
|
|
+function getLastDay(day, format) {
|
|
|
|
+ return day ?
|
|
|
|
+ moment().subtract(day, 'day').tz('Asia/Shanghai').format(format)
|
|
|
|
+ : moment().subtract(1, 'day').tz('Asia/Shanghai').format(format)
|
|
}
|
|
}
|
|
|
|
|
|
function getTimestampToDate(tm) {
|
|
function getTimestampToDate(tm) {
|
|
@@ -238,4 +322,8 @@ module.exports = {
|
|
getRedisKeyFromChain,
|
|
getRedisKeyFromChain,
|
|
trim,
|
|
trim,
|
|
getLastDay,
|
|
getLastDay,
|
|
|
|
+ chinaTimeMs,
|
|
|
|
+ contain,
|
|
|
|
+ getTokenTransferType,
|
|
|
|
+ getChainNameFromChain,
|
|
}
|
|
}
|