@sentio/sdk 1.7.21 → 1.7.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/processor-runner.js +0 -2
- package/lib/processor-runner.js.map +1 -1
- package/lib/utils/erc20.d.ts +6 -1
- package/lib/utils/erc20.js +12 -1
- package/lib/utils/erc20.js.map +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +3 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/processor-runner.ts +0 -3
- package/src/utils/erc20.ts +8 -2
- package/src/utils/index.ts +1 -1
package/lib/processor-runner.js
CHANGED
|
@@ -33,8 +33,6 @@ const fullPath = path_1.default.resolve(options['chains-config']);
|
|
|
33
33
|
const chainsConfig = fs_extra_1.default.readJsonSync(fullPath);
|
|
34
34
|
(0, provider_1.setProvider)(chainsConfig, options.concurrency, options['use-chainserver']);
|
|
35
35
|
console.log('Start Server', options);
|
|
36
|
-
console.log(global.PROCESSOR_STATE.processors.length, ' processors loaded');
|
|
37
|
-
console.log(global.PROCESSOR_STATE.solanaProcessors.length, ' solana processors loaded');
|
|
38
36
|
const server = (0, nice_grpc_1.createServer)();
|
|
39
37
|
const service = new service_1.ProcessorServiceImpl(() => (0, loader_1.load)(options.target), server.shutdown);
|
|
40
38
|
server.add(processor_1.ProcessorDefinition, service);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AACzB,uDAAkD;AAClD,qCAA+B;AAE/B,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAChC,MAAM,CAAC,eAAe,GAAG,IAAI,gCAAc,EAAE,CAAA;AAE7C,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE;IACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;IAC/D;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAErE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE1E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,
|
|
1
|
+
{"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AACzB,uDAAkD;AAClD,qCAA+B;AAE/B,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAChC,MAAM,CAAC,eAAe,GAAG,IAAI,gCAAc,EAAE,CAAA;AAE7C,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE;IACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;IAC/D;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAErE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE1E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,MAAM,MAAM,GAAG,IAAA,wBAAY,GAAE,CAAA;AAE7B,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,GAAG,EAAE,CAAC,IAAA,aAAI,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;AACrF,MAAM,CAAC,GAAG,CAAC,+BAAmB,EAAE,OAAO,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA","sourcesContent":["#!/usr/bin/env node\n\nimport commandLineArgs from 'command-line-args'\nimport { createServer } from 'nice-grpc'\nimport { ProcessorDefinition } from './gen/processor/protos/processor'\nimport { ProcessorServiceImpl } from './service'\nimport { setProvider } from './provider'\n\nimport path from 'path'\nimport fs from 'fs-extra'\nimport { ProcessorState } from './processor-state'\nimport { load } from './loader'\n\nglobal.sentio_sdk = require('.')\nglobal.PROCESSOR_STATE = new ProcessorState()\n\nconst optionDefinitions = [\n { name: 'target', type: String, defaultOption: true },\n { name: 'port', alias: 'p', type: String, defaultValue: '4000' },\n { name: 'concurrency', type: Number, defaultValue: 4 },\n { name: 'use-chainserver', type: Boolean, defaultValue: false },\n {\n name: 'chains-config',\n alias: 'c',\n type: String,\n defaultValue: 'chains-config.json',\n },\n]\n\nconst options = commandLineArgs(optionDefinitions, { partial: true })\n\nconsole.log('loading', options.target)\n\nconst fullPath = path.resolve(options['chains-config'])\nconst chainsConfig = fs.readJsonSync(fullPath)\n\nsetProvider(chainsConfig, options.concurrency, options['use-chainserver'])\n\nconsole.log('Start Server', options)\n\nconst server = createServer()\n\nconst service = new ProcessorServiceImpl(() => load(options.target), server.shutdown)\nserver.add(ProcessorDefinition, service)\n\nserver.listen('0.0.0.0:' + options.port)\n"]}
|
package/lib/utils/erc20.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
2
|
import { BigDecimal } from '@sentio/sdk';
|
|
3
|
-
export
|
|
3
|
+
export declare class TokenInfo {
|
|
4
4
|
symbol: string;
|
|
5
5
|
name: string;
|
|
6
6
|
decimal: number;
|
|
7
7
|
}
|
|
8
|
+
export declare const NATIVE_ETH: {
|
|
9
|
+
symbol: string;
|
|
10
|
+
decimal: number;
|
|
11
|
+
name: string;
|
|
12
|
+
};
|
|
8
13
|
export declare function getERC20TokenInfo(tokenAddress: string, chainId?: number): Promise<TokenInfo>;
|
|
9
14
|
export declare function getER20NormalizedAmount(tokenAddress: string, amount: BigNumber, chainId: number): Promise<BigDecimal>;
|
package/lib/utils/erc20.js
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getER20NormalizedAmount = exports.getERC20TokenInfo = void 0;
|
|
3
|
+
exports.getER20NormalizedAmount = exports.getERC20TokenInfo = exports.NATIVE_ETH = exports.TokenInfo = void 0;
|
|
4
4
|
const error_1 = require("../error");
|
|
5
5
|
const erc20_1 = require("../builtin/erc20");
|
|
6
6
|
const erc20bytes_processor_1 = require("../builtin/internal/erc20bytes_processor");
|
|
7
7
|
const sdk_1 = require("@sentio/sdk");
|
|
8
8
|
const convert_1 = require("./convert");
|
|
9
9
|
const ethers_1 = require("ethers");
|
|
10
|
+
class TokenInfo {
|
|
11
|
+
symbol;
|
|
12
|
+
name;
|
|
13
|
+
decimal;
|
|
14
|
+
}
|
|
15
|
+
exports.TokenInfo = TokenInfo;
|
|
16
|
+
exports.NATIVE_ETH = {
|
|
17
|
+
symbol: 'ETH',
|
|
18
|
+
decimal: 18,
|
|
19
|
+
name: 'Native ETH',
|
|
20
|
+
};
|
|
10
21
|
const TOKEN_INFOS = new Map();
|
|
11
22
|
async function getERC20TokenInfo(tokenAddress, chainId = 1) {
|
|
12
23
|
const key = chainId + tokenAddress;
|
package/lib/utils/erc20.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/utils/erc20.ts"],"names":[],"mappings":";;;AAEA,oCAA8C;AAC9C,4CAAmD;AACnD,mFAAgF;AAChF,qCAAwC;AACxC,uCAAwC;AACxC,mCAA8B;
|
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/utils/erc20.ts"],"names":[],"mappings":";;;AAEA,oCAA8C;AAC9C,4CAAmD;AACnD,mFAAgF;AAChF,qCAAwC;AACxC,uCAAwC;AACxC,mCAA8B;AAE9B,MAAa,SAAS;IACpB,MAAM,CAAQ;IACd,IAAI,CAAQ;IACZ,OAAO,CAAQ;CAChB;AAJD,8BAIC;AAEY,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,YAAY;CACnB,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;AAEzC,KAAK,UAAU,iBAAiB,CAAC,YAAoB,EAAE,OAAO,GAAG,CAAC;IACvE,MAAM,GAAG,GAAG,OAAO,GAAG,YAAY,CAAA;IAClC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,GAAG,EAAE;QACP,OAAO,GAAG,CAAA;KACX;IACD,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,IAAA,4CAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAElE,IAAI;QACF,kEAAkE;QAClE,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI;YACF,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;SAC7B;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,GAAG,cAAK,CAAC,kBAAkB,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;SAC5D;QAED,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI;YACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,cAAK,CAAC,kBAAkB,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;SAChE;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACzC,MAAM,IAAI,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QACjD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAA,2BAAmB,EAAC,CAAC,EAAE,SAAS,CAAC,CAAA;KACxC;AACH,CAAC;AAhCD,8CAgCC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,MAAiB,EACjB,OAAe;IAEf,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,IAAI,gBAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACzD,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAChD,CAAC;AARD,0DAQC","sourcesContent":["import { BigNumber } from '@ethersproject/bignumber'\n\nimport { transformEtherError } from '../error'\nimport { getERC20Contract } from '../builtin/erc20'\nimport { getERC20BytesContract } from '../builtin/internal/erc20bytes_processor'\nimport { BigDecimal } from '@sentio/sdk'\nimport { toBigDecimal } from './convert'\nimport { utils } from 'ethers'\n\nexport class TokenInfo {\n symbol: string\n name: string\n decimal: number\n}\n\nexport const NATIVE_ETH = {\n symbol: 'ETH',\n decimal: 18,\n name: 'Native ETH',\n}\n\nconst TOKEN_INFOS = new Map<string, TokenInfo>()\n\nexport async function getERC20TokenInfo(tokenAddress: string, chainId = 1): Promise<TokenInfo> {\n const key = chainId + tokenAddress\n const res = TOKEN_INFOS.get(key)\n if (res) {\n return res\n }\n const contract = getERC20Contract(tokenAddress, chainId)\n const bytesContract = getERC20BytesContract(tokenAddress, chainId)\n\n try {\n // TODO maybe not do try catch, just do raw call the parse results\n let name = ''\n try {\n name = await contract.name()\n } catch (e) {\n name = utils.parseBytes32String(await bytesContract.name())\n }\n\n let symbol = ''\n try {\n symbol = await contract.symbol()\n } catch (e) {\n symbol = utils.parseBytes32String(await bytesContract.symbol())\n }\n\n const decimal = await contract.decimals()\n const info: TokenInfo = { name, symbol, decimal }\n TOKEN_INFOS.set(key, info)\n return info\n } catch (e) {\n throw transformEtherError(e, undefined)\n }\n}\n\nexport async function getER20NormalizedAmount(\n tokenAddress: string,\n amount: BigNumber,\n chainId: number\n): Promise<BigDecimal> {\n const tokenInfo = await getERC20TokenInfo(tokenAddress, chainId)\n const divider = new BigDecimal(10).pow(tokenInfo.decimal)\n return toBigDecimal(amount).dividedBy(divider)\n}\n"]}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { getChainName } from './chainmap';
|
|
2
2
|
export { toBigDecimal, metricValueToNumberish } from './convert';
|
|
3
|
-
export { getERC20TokenInfo, getER20NormalizedAmount } from './erc20';
|
|
3
|
+
export { getERC20TokenInfo, getER20NormalizedAmount, TokenInfo, NATIVE_ETH } from './erc20';
|
package/lib/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getER20NormalizedAmount = exports.getERC20TokenInfo = exports.metricValueToNumberish = exports.toBigDecimal = exports.getChainName = void 0;
|
|
3
|
+
exports.NATIVE_ETH = exports.TokenInfo = exports.getER20NormalizedAmount = exports.getERC20TokenInfo = exports.metricValueToNumberish = exports.toBigDecimal = exports.getChainName = void 0;
|
|
4
4
|
var chainmap_1 = require("./chainmap");
|
|
5
5
|
Object.defineProperty(exports, "getChainName", { enumerable: true, get: function () { return chainmap_1.getChainName; } });
|
|
6
6
|
var convert_1 = require("./convert");
|
|
@@ -9,4 +9,6 @@ Object.defineProperty(exports, "metricValueToNumberish", { enumerable: true, get
|
|
|
9
9
|
var erc20_1 = require("./erc20");
|
|
10
10
|
Object.defineProperty(exports, "getERC20TokenInfo", { enumerable: true, get: function () { return erc20_1.getERC20TokenInfo; } });
|
|
11
11
|
Object.defineProperty(exports, "getER20NormalizedAmount", { enumerable: true, get: function () { return erc20_1.getER20NormalizedAmount; } });
|
|
12
|
+
Object.defineProperty(exports, "TokenInfo", { enumerable: true, get: function () { return erc20_1.TokenInfo; } });
|
|
13
|
+
Object.defineProperty(exports, "NATIVE_ETH", { enumerable: true, get: function () { return erc20_1.NATIVE_ETH; } });
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAAhC,wGAAA,YAAY,OAAA;AACrB,qCAAgE;AAAvD,uGAAA,YAAY,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAC7C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAAhC,wGAAA,YAAY,OAAA;AACrB,qCAAgE;AAAvD,uGAAA,YAAY,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAC7C,iCAA2F;AAAlF,0GAAA,iBAAiB,OAAA;AAAE,gHAAA,uBAAuB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA","sourcesContent":["export { getChainName } from './chainmap'\nexport { toBigDecimal, metricValueToNumberish } from './convert'\nexport { getERC20TokenInfo, getER20NormalizedAmount, TokenInfo, NATIVE_ETH } from './erc20'\n"]}
|
package/package.json
CHANGED
package/src/processor-runner.ts
CHANGED
|
@@ -38,9 +38,6 @@ setProvider(chainsConfig, options.concurrency, options['use-chainserver'])
|
|
|
38
38
|
|
|
39
39
|
console.log('Start Server', options)
|
|
40
40
|
|
|
41
|
-
console.log(global.PROCESSOR_STATE.processors.length, ' processors loaded')
|
|
42
|
-
console.log(global.PROCESSOR_STATE.solanaProcessors.length, ' solana processors loaded')
|
|
43
|
-
|
|
44
41
|
const server = createServer()
|
|
45
42
|
|
|
46
43
|
const service = new ProcessorServiceImpl(() => load(options.target), server.shutdown)
|
package/src/utils/erc20.ts
CHANGED
|
@@ -7,12 +7,18 @@ import { BigDecimal } from '@sentio/sdk'
|
|
|
7
7
|
import { toBigDecimal } from './convert'
|
|
8
8
|
import { utils } from 'ethers'
|
|
9
9
|
|
|
10
|
-
export
|
|
10
|
+
export class TokenInfo {
|
|
11
11
|
symbol: string
|
|
12
12
|
name: string
|
|
13
13
|
decimal: number
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
export const NATIVE_ETH = {
|
|
17
|
+
symbol: 'ETH',
|
|
18
|
+
decimal: 18,
|
|
19
|
+
name: 'Native ETH',
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
const TOKEN_INFOS = new Map<string, TokenInfo>()
|
|
17
23
|
|
|
18
24
|
export async function getERC20TokenInfo(tokenAddress: string, chainId = 1): Promise<TokenInfo> {
|
|
@@ -41,7 +47,7 @@ export async function getERC20TokenInfo(tokenAddress: string, chainId = 1): Prom
|
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
const decimal = await contract.decimals()
|
|
44
|
-
const info = { name, symbol, decimal }
|
|
50
|
+
const info: TokenInfo = { name, symbol, decimal }
|
|
45
51
|
TOKEN_INFOS.set(key, info)
|
|
46
52
|
return info
|
|
47
53
|
} catch (e) {
|
package/src/utils/index.ts
CHANGED