@sentio/sdk 1.40.5 → 1.41.0-rc.1
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/builtin/eacaggregatorproxy/index.js +3 -16
- package/lib/builtin/eacaggregatorproxy/index.js.map +1 -1
- package/lib/builtin/eacaggregatorproxy/test-utils.d.ts +5 -5
- package/lib/builtin/eacaggregatorproxy/test-utils.js +8 -4
- package/lib/builtin/eacaggregatorproxy/test-utils.js.map +1 -1
- package/lib/builtin/erc1155/index.js +3 -16
- package/lib/builtin/erc1155/index.js.map +1 -1
- package/lib/builtin/erc1155/test-utils.d.ts +5 -5
- package/lib/builtin/erc1155/test-utils.js +8 -4
- package/lib/builtin/erc1155/test-utils.js.map +1 -1
- package/lib/builtin/erc20/index.js +3 -16
- package/lib/builtin/erc20/index.js.map +1 -1
- package/lib/builtin/erc20/test-utils.d.ts +4 -4
- package/lib/builtin/erc20/test-utils.js +6 -3
- package/lib/builtin/erc20/test-utils.js.map +1 -1
- package/lib/builtin/erc20bytes/index.js +3 -16
- package/lib/builtin/erc20bytes/index.js.map +1 -1
- package/lib/builtin/erc20bytes/test-utils.d.ts +3 -3
- package/lib/builtin/erc20bytes/test-utils.js +4 -2
- package/lib/builtin/erc20bytes/test-utils.js.map +1 -1
- package/lib/builtin/erc721/index.js +3 -16
- package/lib/builtin/erc721/index.js.map +1 -1
- package/lib/builtin/erc721/test-utils.d.ts +4 -4
- package/lib/builtin/erc721/test-utils.js +6 -3
- package/lib/builtin/erc721/test-utils.js.map +1 -1
- package/lib/builtin/index.js +5 -27
- package/lib/builtin/index.js.map +1 -1
- package/lib/builtin/internal/EACAggregatorProxy.d.ts +19 -430
- package/lib/builtin/internal/EACAggregatorProxy.js.map +1 -1
- package/lib/builtin/internal/ERC1155.d.ts +18 -161
- package/lib/builtin/internal/ERC1155.js.map +1 -1
- package/lib/builtin/internal/ERC20.d.ts +12 -279
- package/lib/builtin/internal/ERC20.js.map +1 -1
- package/lib/builtin/internal/ERC20Bytes.d.ts +11 -146
- package/lib/builtin/internal/ERC20Bytes.js.map +1 -1
- package/lib/builtin/internal/ERC721.d.ts +12 -222
- package/lib/builtin/internal/ERC721.js.map +1 -1
- package/lib/builtin/internal/WETH9.d.ts +16 -191
- package/lib/builtin/internal/WETH9.js.map +1 -1
- package/lib/builtin/internal/common.d.ts +3 -18
- package/lib/builtin/internal/common.js +6 -0
- package/lib/builtin/internal/common.js.map +1 -1
- package/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +161 -168
- package/lib/builtin/internal/eacaggregatorproxy_processor.js +94 -288
- package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
- package/lib/builtin/internal/erc1155_processor.d.ts +45 -50
- package/lib/builtin/internal/erc1155_processor.js +68 -132
- package/lib/builtin/internal/erc1155_processor.js.map +1 -1
- package/lib/builtin/internal/erc20_processor.d.ts +59 -63
- package/lib/builtin/internal/erc20_processor.js +64 -155
- package/lib/builtin/internal/erc20_processor.js.map +1 -1
- package/lib/builtin/internal/erc20bytes_processor.d.ts +37 -40
- package/lib/builtin/internal/erc20bytes_processor.js +50 -118
- package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
- package/lib/builtin/internal/erc721_processor.d.ts +56 -60
- package/lib/builtin/internal/erc721_processor.js +66 -167
- package/lib/builtin/internal/erc721_processor.js.map +1 -1
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js +1 -1
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC1155__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/ERC1155__factory.js +1 -1
- package/lib/builtin/internal/factories/ERC1155__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC20Bytes__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/ERC20Bytes__factory.js +1 -1
- package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC20__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/ERC20__factory.js +1 -1
- package/lib/builtin/internal/factories/ERC20__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC721__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/ERC721__factory.js +1 -1
- package/lib/builtin/internal/factories/ERC721__factory.js.map +1 -1
- package/lib/builtin/internal/factories/WETH9__factory.d.ts +1 -2
- package/lib/builtin/internal/factories/WETH9__factory.js +1 -1
- package/lib/builtin/internal/factories/WETH9__factory.js.map +1 -1
- package/lib/builtin/internal/index.js +2 -24
- package/lib/builtin/internal/index.js.map +1 -1
- package/lib/builtin/internal/weth9_processor.d.ts +44 -49
- package/lib/builtin/internal/weth9_processor.js +70 -144
- package/lib/builtin/internal/weth9_processor.js.map +1 -1
- package/lib/builtin/weth9/index.js +3 -16
- package/lib/builtin/weth9/index.js.map +1 -1
- package/lib/builtin/weth9/test-utils.d.ts +5 -5
- package/lib/builtin/weth9/test-utils.js +8 -4
- package/lib/builtin/weth9/test-utils.js.map +1 -1
- package/lib/core/big-decimal.d.ts +6 -0
- package/lib/core/big-decimal.js +6 -2
- package/lib/core/big-decimal.js.map +1 -1
- package/lib/core/bind-options.d.ts +1 -1
- package/lib/core/bind-options.js +2 -2
- package/lib/core/bind-options.js.map +1 -1
- package/lib/core/context.d.ts +8 -14
- package/lib/core/context.js +7 -6
- package/lib/core/context.js.map +1 -1
- package/lib/core/core-plugin.d.ts +1 -1
- package/lib/core/core-plugin.js +1 -1
- package/lib/core/core-plugin.js.map +1 -1
- package/lib/core/generic-processor.test.js.map +1 -1
- package/lib/core/index.d.ts +0 -5
- package/lib/core/index.js +1 -9
- package/lib/core/index.js.map +1 -1
- package/lib/core/numberish.d.ts +2 -3
- package/lib/core/numberish.js +35 -33
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/numberish.test.js.map +1 -1
- package/lib/core/sui-plugin.d.ts +1 -1
- package/lib/core/sui-plugin.js +1 -1
- package/lib/core/sui-plugin.js.map +1 -1
- package/lib/error.js +2 -2
- package/lib/error.js.map +1 -1
- package/lib/eth/account-processor-state.d.ts +5 -0
- package/lib/eth/account-processor-state.js +9 -0
- package/lib/eth/account-processor-state.js.map +1 -0
- package/lib/{core → eth}/account-processor.d.ts +4 -8
- package/lib/{core → eth}/account-processor.js +33 -42
- package/lib/eth/account-processor.js.map +1 -0
- package/lib/{core → eth}/base-processor-template.d.ts +7 -8
- package/lib/{core → eth}/base-processor-template.js +3 -3
- package/lib/eth/base-processor-template.js.map +1 -0
- package/lib/{core → eth}/base-processor.d.ts +7 -7
- package/lib/{core → eth}/base-processor.js +13 -18
- package/lib/eth/base-processor.js.map +1 -0
- package/lib/{binds.d.ts → eth/binds.d.ts} +4 -3
- package/lib/{binds.js → eth/binds.js} +3 -3
- package/lib/eth/binds.js.map +1 -0
- package/lib/{core → eth}/eth-plugin.d.ts +2 -2
- package/lib/{core → eth}/eth-plugin.js +19 -13
- package/lib/eth/eth-plugin.js.map +1 -0
- package/lib/{core → eth}/generic-processor.d.ts +3 -3
- package/lib/{core → eth}/generic-processor.js +5 -5
- package/lib/eth/generic-processor.js.map +1 -0
- package/lib/eth/index.d.ts +6 -0
- package/lib/eth/index.js +15 -0
- package/lib/eth/index.js.map +1 -0
- package/lib/eth/provider.d.ts +4 -0
- package/lib/eth/provider.js +74 -0
- package/lib/eth/provider.js.map +1 -0
- package/lib/{core → eth}/trace.d.ts +2 -2
- package/lib/{core → eth}/trace.js +0 -0
- package/lib/eth/trace.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +7 -23
- package/lib/index.js.map +1 -1
- package/lib/target-ethers-sentio/event-handler.d.ts +1 -0
- package/lib/target-ethers-sentio/event-handler.js +21 -5
- package/lib/target-ethers-sentio/event-handler.js.map +1 -1
- package/lib/target-ethers-sentio/file.js +59 -57
- package/lib/target-ethers-sentio/file.js.map +1 -1
- package/lib/target-ethers-sentio/functions-handler.js +7 -4
- package/lib/target-ethers-sentio/functions-handler.js.map +1 -1
- package/lib/target-ethers-sentio/index.d.ts +1 -1
- package/lib/target-ethers-sentio/index.js +3 -5
- package/lib/target-ethers-sentio/index.js.map +1 -1
- package/lib/target-ethers-sentio/view-function.js +15 -15
- package/lib/target-ethers-sentio/view-function.js.map +1 -1
- package/lib/testing/metric-utils.js +2 -2
- package/lib/testing/metric-utils.js.map +1 -1
- package/lib/testing/test-processor-server.d.ts +11 -11
- package/lib/testing/test-processor-server.js +7 -12
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/testing/test-provider.js +1 -6
- package/lib/testing/test-provider.js.map +1 -1
- package/lib/utils/conversion.d.ts +2 -2
- package/lib/utils/conversion.js +12 -5
- package/lib/utils/conversion.js.map +1 -1
- package/lib/utils/dex-price.d.ts +1 -1
- package/lib/utils/dex-price.js +5 -6
- package/lib/utils/dex-price.js.map +1 -1
- package/lib/utils/dex-price.test.js.map +1 -1
- package/lib/utils/erc20.test.js.map +1 -1
- package/lib/utils/index.js +5 -27
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/token.d.ts +2 -3
- package/lib/utils/token.js +5 -6
- package/lib/utils/token.js.map +1 -1
- package/lib/webpack.config.js +1 -1
- package/package.json +7 -13
- package/src/builtin/eacaggregatorproxy/test-utils.ts +13 -9
- package/src/builtin/erc1155/test-utils.ts +13 -9
- package/src/builtin/erc20/test-utils.ts +10 -7
- package/src/builtin/erc20bytes/test-utils.ts +7 -5
- package/src/builtin/erc721/test-utils.ts +10 -7
- package/src/builtin/internal/EACAggregatorProxy.ts +20 -815
- package/src/builtin/internal/ERC1155.ts +20 -483
- package/src/builtin/internal/ERC20.ts +15 -641
- package/src/builtin/internal/ERC20Bytes.ts +13 -357
- package/src/builtin/internal/ERC721.ts +15 -601
- package/src/builtin/internal/WETH9.ts +20 -439
- package/src/builtin/internal/common.ts +33 -33
- package/src/builtin/internal/eacaggregatorproxy_processor.ts +344 -425
- package/src/builtin/internal/erc1155_processor.ts +202 -209
- package/src/builtin/internal/erc20_processor.ts +191 -225
- package/src/builtin/internal/erc20bytes_processor.ts +136 -165
- package/src/builtin/internal/erc721_processor.ts +218 -242
- package/src/builtin/internal/factories/EACAggregatorProxy__factory.ts +2 -3
- package/src/builtin/internal/factories/ERC1155__factory.ts +2 -3
- package/src/builtin/internal/factories/ERC20Bytes__factory.ts +2 -3
- package/src/builtin/internal/factories/ERC20__factory.ts +2 -3
- package/src/builtin/internal/factories/ERC721__factory.ts +2 -3
- package/src/builtin/internal/factories/WETH9__factory.ts +2 -3
- package/src/builtin/internal/weth9_processor.ts +176 -208
- package/src/builtin/weth9/test-utils.ts +13 -9
- package/src/core/big-decimal.ts +11 -0
- package/src/core/bind-options.ts +2 -3
- package/src/core/context.ts +14 -13
- package/src/core/core-plugin.ts +1 -1
- package/src/core/index.ts +0 -6
- package/src/core/numberish.ts +39 -40
- package/src/core/sui-plugin.ts +1 -1
- package/src/error.ts +1 -1
- package/src/eth/account-processor-state.ts +6 -0
- package/src/{core → eth}/account-processor.ts +40 -50
- package/src/{core → eth}/base-processor-template.ts +11 -12
- package/src/{core → eth}/base-processor.ts +37 -31
- package/src/{binds.ts → eth/binds.ts} +6 -5
- package/src/{core → eth}/eth-plugin.ts +19 -12
- package/src/{core → eth}/generic-processor.ts +5 -5
- package/src/eth/index.ts +6 -0
- package/src/eth/provider.ts +82 -0
- package/src/{core → eth}/trace.ts +2 -3
- package/src/index.ts +2 -3
- package/src/target-ethers-sentio/event-handler.ts +22 -5
- package/src/target-ethers-sentio/file.ts +65 -65
- package/src/target-ethers-sentio/functions-handler.ts +8 -4
- package/src/target-ethers-sentio/index.ts +1 -1
- package/src/target-ethers-sentio/view-function.ts +17 -18
- package/src/testing/metric-utils.ts +2 -2
- package/src/testing/test-processor-server.ts +23 -24
- package/src/testing/test-provider.ts +2 -7
- package/src/utils/conversion.ts +12 -5
- package/src/utils/dex-price.ts +3 -3
- package/src/utils/token.ts +10 -11
- package/src/webpack.config.js +1 -1
- package/lib/binds.js.map +0 -1
- package/lib/core/account-processor.js.map +0 -1
- package/lib/core/base-processor-template.js.map +0 -1
- package/lib/core/base-processor.js.map +0 -1
- package/lib/core/eth-plugin.js.map +0 -1
- package/lib/core/generic-processor.js.map +0 -1
- package/lib/core/trace.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LogParams } from "ethers/providers";
|
|
2
2
|
import { ApprovalEventObject, TransferEventObject, DepositEventObject, WithdrawalEventObject } from ".";
|
|
3
|
-
export declare function mockApprovalLog(contractAddress: string, event: ApprovalEventObject):
|
|
4
|
-
export declare function mockTransferLog(contractAddress: string, event: TransferEventObject):
|
|
5
|
-
export declare function mockDepositLog(contractAddress: string, event: DepositEventObject):
|
|
6
|
-
export declare function mockWithdrawalLog(contractAddress: string, event: WithdrawalEventObject):
|
|
3
|
+
export declare function mockApprovalLog(contractAddress: string, event: ApprovalEventObject): LogParams;
|
|
4
|
+
export declare function mockTransferLog(contractAddress: string, event: TransferEventObject): LogParams;
|
|
5
|
+
export declare function mockDepositLog(contractAddress: string, event: DepositEventObject): LogParams;
|
|
6
|
+
export declare function mockWithdrawalLog(contractAddress: string, event: WithdrawalEventObject): LogParams;
|
|
@@ -12,9 +12,10 @@ const mockField = {
|
|
|
12
12
|
};
|
|
13
13
|
function mockApprovalLog(contractAddress, event) {
|
|
14
14
|
const contract = (0, _1.getWETH9Contract)(contractAddress);
|
|
15
|
-
const encodedLog = contract.rawContract.interface.encodeEventLog(
|
|
15
|
+
const encodedLog = contract.rawContract.interface.encodeEventLog("Approval(address,address,uint256)", [event.src, event.guy, event.wad]);
|
|
16
16
|
return {
|
|
17
17
|
...mockField,
|
|
18
|
+
index: 0,
|
|
18
19
|
address: contractAddress,
|
|
19
20
|
data: encodedLog.data,
|
|
20
21
|
topics: encodedLog.topics,
|
|
@@ -23,9 +24,10 @@ function mockApprovalLog(contractAddress, event) {
|
|
|
23
24
|
exports.mockApprovalLog = mockApprovalLog;
|
|
24
25
|
function mockTransferLog(contractAddress, event) {
|
|
25
26
|
const contract = (0, _1.getWETH9Contract)(contractAddress);
|
|
26
|
-
const encodedLog = contract.rawContract.interface.encodeEventLog(
|
|
27
|
+
const encodedLog = contract.rawContract.interface.encodeEventLog("Transfer(address,address,uint256)", [event.src, event.dst, event.wad]);
|
|
27
28
|
return {
|
|
28
29
|
...mockField,
|
|
30
|
+
index: 0,
|
|
29
31
|
address: contractAddress,
|
|
30
32
|
data: encodedLog.data,
|
|
31
33
|
topics: encodedLog.topics,
|
|
@@ -34,9 +36,10 @@ function mockTransferLog(contractAddress, event) {
|
|
|
34
36
|
exports.mockTransferLog = mockTransferLog;
|
|
35
37
|
function mockDepositLog(contractAddress, event) {
|
|
36
38
|
const contract = (0, _1.getWETH9Contract)(contractAddress);
|
|
37
|
-
const encodedLog = contract.rawContract.interface.encodeEventLog(
|
|
39
|
+
const encodedLog = contract.rawContract.interface.encodeEventLog("Deposit(address,uint256)", [event.dst, event.wad]);
|
|
38
40
|
return {
|
|
39
41
|
...mockField,
|
|
42
|
+
index: 0,
|
|
40
43
|
address: contractAddress,
|
|
41
44
|
data: encodedLog.data,
|
|
42
45
|
topics: encodedLog.topics,
|
|
@@ -45,9 +48,10 @@ function mockDepositLog(contractAddress, event) {
|
|
|
45
48
|
exports.mockDepositLog = mockDepositLog;
|
|
46
49
|
function mockWithdrawalLog(contractAddress, event) {
|
|
47
50
|
const contract = (0, _1.getWETH9Contract)(contractAddress);
|
|
48
|
-
const encodedLog = contract.rawContract.interface.encodeEventLog(
|
|
51
|
+
const encodedLog = contract.rawContract.interface.encodeEventLog("Withdrawal(address,uint256)", [event.src, event.wad]);
|
|
49
52
|
return {
|
|
50
53
|
...mockField,
|
|
54
|
+
index: 0,
|
|
51
55
|
address: contractAddress,
|
|
52
56
|
data: encodedLog.data,
|
|
53
57
|
topics: encodedLog.topics,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/builtin/weth9/test-utils.ts"],"names":[],"mappings":";;;AAIA,wBAMW;AACX,MAAM,SAAS,GAAG;IAChB,SAAS,EACP,oEAAoE;IACtE,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,KAAK;IACd,eAAe,EACb,oEAAoE;IACtE,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF,SAAgB,eAAe,CAC7B,eAAuB,EACvB,KAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAA,mBAAgB,EAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAC9D,
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/builtin/weth9/test-utils.ts"],"names":[],"mappings":";;;AAIA,wBAMW;AACX,MAAM,SAAS,GAAG;IAChB,SAAS,EACP,oEAAoE;IACtE,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,KAAK;IACd,eAAe,EACb,oEAAoE;IACtE,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF,SAAgB,eAAe,CAC7B,eAAuB,EACvB,KAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAA,mBAAgB,EAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAC9D,mCAAmC,EACnC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAClC,CAAC;IACF,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAhBD,0CAgBC;AAED,SAAgB,eAAe,CAC7B,eAAuB,EACvB,KAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAA,mBAAgB,EAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAC9D,mCAAmC,EACnC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAClC,CAAC;IACF,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAhBD,0CAgBC;AAED,SAAgB,cAAc,CAC5B,eAAuB,EACvB,KAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAA,mBAAgB,EAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAC9D,0BAA0B,EAC1B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CACvB,CAAC;IACF,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAhBD,wCAgBC;AAED,SAAgB,iBAAiB,CAC/B,eAAuB,EACvB,KAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAA,mBAAgB,EAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAC9D,6BAA6B,EAC7B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CACvB,CAAC;IACF,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAhBD,8CAgBC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { LogParams } from \"ethers/providers\";\nimport {\n getWETH9Contract,\n ApprovalEventObject,\n TransferEventObject,\n DepositEventObject,\n WithdrawalEventObject,\n} from \".\";\nconst mockField = {\n blockHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n blockNumber: 0,\n logIndex: 0,\n removed: false,\n transactionHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n transactionIndex: 0,\n};\n\nexport function mockApprovalLog(\n contractAddress: string,\n event: ApprovalEventObject\n): LogParams {\n const contract = getWETH9Contract(contractAddress);\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n \"Approval(address,address,uint256)\",\n [event.src, event.guy, event.wad]\n );\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n };\n}\n\nexport function mockTransferLog(\n contractAddress: string,\n event: TransferEventObject\n): LogParams {\n const contract = getWETH9Contract(contractAddress);\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n \"Transfer(address,address,uint256)\",\n [event.src, event.dst, event.wad]\n );\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n };\n}\n\nexport function mockDepositLog(\n contractAddress: string,\n event: DepositEventObject\n): LogParams {\n const contract = getWETH9Contract(contractAddress);\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n \"Deposit(address,uint256)\",\n [event.dst, event.wad]\n );\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n };\n}\n\nexport function mockWithdrawalLog(\n contractAddress: string,\n event: WithdrawalEventObject\n): LogParams {\n const contract = getWETH9Contract(contractAddress);\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n \"Withdrawal(address,uint256)\",\n [event.src, event.wad]\n );\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n };\n}\n"]}
|
package/lib/core/big-decimal.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BigDecimal = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const bigdecimal_1 = require("@sentio/bigdecimal");
|
|
5
|
+
var bigdecimal_2 = require("@sentio/bigdecimal");
|
|
6
|
+
Object.defineProperty(exports, "BigDecimal", { enumerable: true, get: function () { return bigdecimal_2.BigDecimal; } });
|
|
7
|
+
BigInt.prototype.asBigDecimal = function () {
|
|
8
|
+
return new bigdecimal_1.BigDecimal(this.toString());
|
|
9
|
+
};
|
|
6
10
|
//# sourceMappingURL=big-decimal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"big-decimal.js","sourceRoot":"","sources":["../../src/core/big-decimal.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,wGAAA,UAAU,OAAA","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"big-decimal.js","sourceRoot":"","sources":["../../src/core/big-decimal.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AAOnB,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG;IAC9B,OAAO,IAAI,uBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA","sourcesContent":["import { BigDecimal } from '@sentio/bigdecimal'\n\nexport { BigDecimal } from '@sentio/bigdecimal'\n\ndeclare global {\n interface BigInt {\n asBigDecimal(): BigDecimal\n }\n}\nBigInt.prototype.asBigDecimal = function () {\n return new BigDecimal(this.toString())\n}\n"]}
|
package/lib/core/bind-options.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AccountBindOptions = exports.BindInternalOptions = exports.getOptionsSignature = exports.BindOptions = void 0;
|
|
4
|
-
const providers_1 = require("
|
|
4
|
+
const providers_1 = require("ethers/providers");
|
|
5
5
|
class BindOptions {
|
|
6
6
|
// Contract address
|
|
7
7
|
address;
|
|
@@ -16,7 +16,7 @@ exports.BindOptions = BindOptions;
|
|
|
16
16
|
function getOptionsSignature(opts) {
|
|
17
17
|
const sig = [opts.address];
|
|
18
18
|
if (opts.network) {
|
|
19
|
-
sig.push(
|
|
19
|
+
sig.push(providers_1.Network.from(opts.network).chainId.toString());
|
|
20
20
|
}
|
|
21
21
|
if (opts.name) {
|
|
22
22
|
sig.push(opts.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-options.js","sourceRoot":"","sources":["../../src/core/bind-options.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bind-options.js","sourceRoot":"","sources":["../../src/core/bind-options.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAEtD,MAAa,WAAW;IACtB,mBAAmB;IACnB,OAAO,CAAQ;IACf,6CAA6C;IAC7C,OAAO,GAAgB,CAAC,CAAA;IACxB,2CAA2C;IAC3C,IAAI,CAAS;IACb,UAAU,CAAkB;IAC5B,QAAQ,CAAkB;CAC3B;AATD,kCASC;AAED,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,GAAG,CAAC,IAAI,CAAC,mBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;KACxD;IACD,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACpB;IACD,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;KACrC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;KACnC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAfD,kDAeC;AAED,MAAa,mBAAmB;IAC9B,OAAO,CAAQ;IACf,OAAO,CAAY;IACnB,IAAI,CAAQ;IACZ,UAAU,CAAQ;IAClB,QAAQ,CAAS;CAClB;AAND,kDAMC;AAED,MAAa,kBAAkB;IAC7B,OAAO,CAAQ;IACf,OAAO,CAAa;IACpB,UAAU,CAAkB;CAC7B;AAJD,gDAIC","sourcesContent":["import { Networkish, Network } from 'ethers/providers'\n\nexport class BindOptions {\n // Contract address\n address: string\n // Optional, if not set, then use eth mainnet\n network?: Networkish = 1\n // Optional, override default contract name\n name?: string\n startBlock?: bigint | number\n endBlock?: bigint | number\n}\n\nexport function getOptionsSignature(opts: BindOptions): string {\n const sig = [opts.address]\n if (opts.network) {\n sig.push(Network.from(opts.network).chainId.toString())\n }\n if (opts.name) {\n sig.push(opts.name)\n }\n if (opts.startBlock) {\n sig.push(opts.startBlock.toString())\n }\n if (opts.endBlock) {\n sig.push(opts.endBlock.toString())\n }\n return sig.join('_')\n}\n\nexport class BindInternalOptions {\n address: string\n network: Networkish\n name: string\n startBlock: bigint\n endBlock?: bigint\n}\n\nexport class AccountBindOptions {\n address: string\n network?: Networkish\n startBlock?: bigint | number\n}\n"]}
|
package/lib/core/context.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { BaseContract, Transaction, TransactionReceipt, Block, ContractEvent } from 'ethers';
|
|
2
|
+
import { LogParams } from 'ethers/providers';
|
|
1
3
|
import { RecordMetaData } from '@sentio/protos';
|
|
2
|
-
import {
|
|
3
|
-
import { Block, Log } from '@ethersproject/abstract-provider';
|
|
4
|
-
import { Trace } from './trace';
|
|
4
|
+
import { Trace } from '../eth/trace';
|
|
5
5
|
import { Labels } from './metadata';
|
|
6
6
|
import { BaseContext } from './base-context';
|
|
7
|
-
import { TransactionReceipt } from '@ethersproject/providers';
|
|
8
7
|
export declare abstract class EthContext extends BaseContext {
|
|
9
8
|
chainId: number;
|
|
10
9
|
address: string;
|
|
@@ -16,7 +15,7 @@ export declare abstract class EthContext extends BaseContext {
|
|
|
16
15
|
transaction?: Transaction;
|
|
17
16
|
transactionReceipt?: TransactionReceipt;
|
|
18
17
|
timestamp: Date;
|
|
19
|
-
constructor(chainId: number, address: string, timestamp?: Date, block?: Block, log?:
|
|
18
|
+
constructor(chainId: number, address: string, timestamp?: Date, block?: Block, log?: LogParams, trace?: Trace, transaction?: Transaction, transactionReceipt?: TransactionReceipt);
|
|
20
19
|
protected abstract getContractName(): string;
|
|
21
20
|
getMetaData(name: string, labels: Labels): RecordMetaData;
|
|
22
21
|
}
|
|
@@ -26,27 +25,22 @@ export declare class AccountContext extends EthContext {
|
|
|
26
25
|
export declare class ContractContext<TContract extends BaseContract, TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>> extends EthContext {
|
|
27
26
|
contract: TContractBoundView;
|
|
28
27
|
contractName: string;
|
|
29
|
-
constructor(contractName: string, view: TContractBoundView, chainId: number, timestamp?: Date, block?: Block, log?:
|
|
28
|
+
constructor(contractName: string, view: TContractBoundView, chainId: number, timestamp?: Date, block?: Block, log?: LogParams, trace?: Trace, transaction?: Transaction, transactionReceipt?: TransactionReceipt);
|
|
30
29
|
protected getContractName(): string;
|
|
31
30
|
}
|
|
32
31
|
export declare class ContractView<TContract extends BaseContract> {
|
|
33
|
-
filters: {
|
|
34
|
-
[name: string]: (...args: Array<any>) => EventFilter;
|
|
35
|
-
};
|
|
36
32
|
protected contract: TContract;
|
|
37
33
|
constructor(contract: TContract);
|
|
38
34
|
get rawContract(): TContract;
|
|
39
|
-
get provider(): import("
|
|
35
|
+
get provider(): import("ethers").Provider | null | undefined;
|
|
40
36
|
}
|
|
41
37
|
export declare class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {
|
|
42
38
|
protected view: TContractView;
|
|
43
39
|
context: ContractContext<TContract, BoundContractView<TContract, TContractView>>;
|
|
44
40
|
constructor(view: TContractView);
|
|
45
41
|
get rawContract(): TContract;
|
|
46
|
-
get provider(): import("
|
|
47
|
-
get filters():
|
|
48
|
-
[name: string]: (...args: any[]) => EventFilter;
|
|
49
|
-
};
|
|
42
|
+
get provider(): import("ethers").Provider | null | undefined;
|
|
43
|
+
get filters(): Record<string, ContractEvent<any[]>>;
|
|
50
44
|
}
|
|
51
45
|
export declare class SuiContext extends BaseContext {
|
|
52
46
|
address: string;
|
package/lib/core/context.js
CHANGED
|
@@ -45,7 +45,7 @@ class EthContext extends base_context_1.BaseContext {
|
|
|
45
45
|
blockNumber: BigInt(this.blockNumber),
|
|
46
46
|
transactionIndex: this.log.transactionIndex,
|
|
47
47
|
transactionHash: this.transactionHash || '',
|
|
48
|
-
logIndex: this.log.
|
|
48
|
+
logIndex: this.log.index,
|
|
49
49
|
chainId: this.chainId.toString(),
|
|
50
50
|
name: name,
|
|
51
51
|
labels: (0, meter_1.normalizeLabels)(labels),
|
|
@@ -94,7 +94,10 @@ class ContractContext extends EthContext {
|
|
|
94
94
|
contract;
|
|
95
95
|
contractName;
|
|
96
96
|
constructor(contractName, view, chainId, timestamp, block, log, trace, transaction, transactionReceipt) {
|
|
97
|
-
|
|
97
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
const address = view.rawContract.getAddress();
|
|
100
|
+
super(chainId, address, timestamp, block, log, trace, transaction, transactionReceipt);
|
|
98
101
|
view.context = this;
|
|
99
102
|
this.contractName = contractName;
|
|
100
103
|
this.contract = view;
|
|
@@ -105,17 +108,15 @@ class ContractContext extends EthContext {
|
|
|
105
108
|
}
|
|
106
109
|
exports.ContractContext = ContractContext;
|
|
107
110
|
class ContractView {
|
|
108
|
-
filters;
|
|
109
111
|
contract;
|
|
110
112
|
constructor(contract) {
|
|
111
113
|
this.contract = contract;
|
|
112
|
-
this.filters = contract.filters;
|
|
113
114
|
}
|
|
114
115
|
get rawContract() {
|
|
115
116
|
return this.contract;
|
|
116
117
|
}
|
|
117
118
|
get provider() {
|
|
118
|
-
return this.contract.provider;
|
|
119
|
+
return this.contract.runner?.provider;
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
exports.ContractView = ContractView;
|
|
@@ -133,7 +134,7 @@ class BoundContractView {
|
|
|
133
134
|
return this.view.provider;
|
|
134
135
|
}
|
|
135
136
|
get filters() {
|
|
136
|
-
return this.view.filters;
|
|
137
|
+
return this.view.rawContract.filters;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
exports.BoundContractView = BoundContractView;
|
package/lib/core/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContract, Transaction, TransactionReceipt, Block, ContractEvent } from 'ethers'\nimport { LogParams } from 'ethers/providers'\n\nimport { RecordMetaData } from '@sentio/protos'\nimport { normalizeLabels } from './meter'\nimport { Trace } from '../eth/trace'\nimport { Labels } from './metadata'\nimport { CHAIN_IDS } from '../utils/chain'\nimport { BaseContext } from './base-context'\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n address: string\n private readonly log?: LogParams\n block?: Block\n private readonly trace?: Trace\n blockNumber: bigint | number\n transactionHash?: string\n transaction?: Transaction\n transactionReceipt?: TransactionReceipt\n timestamp: Date\n\n constructor(\n chainId: number,\n address: string,\n timestamp?: Date,\n block?: Block,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n this.address = address\n this.transaction = transaction\n this.transactionReceipt = transactionReceipt\n this.timestamp = timestamp || new Date(0)\n if (log) {\n this.blockNumber = log.blockNumber\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = block.number\n } else if (trace) {\n this.blockNumber = trace.blockNumber\n this.transactionHash = trace.transactionHash\n }\n }\n\n protected abstract getContractName(): string\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.index,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class AccountContext extends EthContext {\n // constructor(chainId: number, address: string, block?: Block, log?: Log, trace?: Trace) {\n // super(chainId, address, new Date(0), block, log, trace)\n // }\n protected getContractName(): string {\n return 'account'\n }\n}\n\nexport class ContractContext<\n TContract extends BaseContract,\n TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>\n> extends EthContext {\n contract: TContractBoundView\n contractName: string\n\n constructor(\n contractName: string,\n view: TContractBoundView,\n chainId: number,\n timestamp?: Date,\n block?: Block,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const address = view.rawContract.getAddress() as string\n super(chainId, address, timestamp, block, log, trace, transaction, transactionReceipt)\n view.context = this\n this.contractName = contractName\n this.contract = view\n }\n\n protected getContractName(): string {\n return this.contractName\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n return this.contract.runner?.provider\n }\n}\n\nexport class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {\n protected view: TContractView\n // context will be set right after context creation (in context's constructor)\n context: ContractContext<TContract, BoundContractView<TContract, TContractView>>\n\n constructor(view: TContractView) {\n this.view = view\n }\n\n get rawContract() {\n return this.view.rawContract\n }\n\n get provider() {\n return this.view.provider\n }\n\n get filters() {\n return this.view.rawContract.filters\n }\n}\n\nexport class SuiContext extends BaseContext {\n address: string\n moduleName: string\n blockNumber: bigint\n\n constructor(address: string, slot: bigint) {\n super()\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n return {\n address: this.address,\n contractName: this.moduleName,\n blockNumber: this.blockNumber,\n transactionIndex: 0,\n transactionHash: '', // TODO\n logIndex: 0,\n chainId: CHAIN_IDS.SUI_DEVNET, // TODO set in context\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n}\n"]}
|
|
@@ -2,5 +2,5 @@ import { Plugin } from '@sentio/runtime';
|
|
|
2
2
|
import { ProcessConfigResponse } from '@sentio/protos';
|
|
3
3
|
export declare class CorePlugin extends Plugin {
|
|
4
4
|
name: string;
|
|
5
|
-
configure(config: ProcessConfigResponse): void
|
|
5
|
+
configure(config: ProcessConfigResponse): Promise<void>;
|
|
6
6
|
}
|
package/lib/core/core-plugin.js
CHANGED
|
@@ -7,7 +7,7 @@ const event_tracker_1 = require("./event-tracker");
|
|
|
7
7
|
const exporter_1 = require("./exporter");
|
|
8
8
|
class CorePlugin extends runtime_1.Plugin {
|
|
9
9
|
name = 'CorePlugin';
|
|
10
|
-
configure(config) {
|
|
10
|
+
async configure(config) {
|
|
11
11
|
// part 0, prepare metrics and event tracking configs
|
|
12
12
|
for (const metric of meter_1.MetricState.INSTANCE.getValues()) {
|
|
13
13
|
config.metricConfigs.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAGvD,mCAAqC;AACrC,mDAAmD;AACnD,yCAA0C;AAE1C,MAAa,UAAW,SAAQ,gBAAM;IACpC,IAAI,GAAW,YAAY,CAAA;IAE3B,SAAS,CAAC,MAA6B;
|
|
1
|
+
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAGvD,mCAAqC;AACrC,mDAAmD;AACnD,yCAA0C;AAE1C,MAAa,UAAW,SAAQ,gBAAM;IACpC,IAAI,GAAW,YAAY,CAAA;IAE3B,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,qDAAqD;QACrD,KAAK,MAAM,MAAM,IAAI,mBAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACrD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;SACH;QAED,KAAK,MAAM,YAAY,IAAI,iCAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACjE,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC/B,yBAAyB,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE;gBACpE,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK;gBACpD,cAAc,EAAE,SAAS;gBACzB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;aAC7C,CAAC,CAAA;SACH;QAED,KAAK,MAAM,QAAQ,IAAI,wBAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAA;SACH;IACH,CAAC;CACF;AA7BD,gCA6BC;AAED,uBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAA","sourcesContent":["import { Plugin, PluginManager } from '@sentio/runtime'\nimport { ProcessConfigResponse } from '@sentio/protos'\n\nimport { MetricState } from './meter'\nimport { EventTrackerState } from './event-tracker'\nimport { ExporterState } from './exporter'\n\nexport class CorePlugin extends Plugin {\n name: string = 'CorePlugin'\n\n async configure(config: ProcessConfigResponse): Promise<void> {\n // part 0, prepare metrics and event tracking configs\n for (const metric of MetricState.INSTANCE.getValues()) {\n config.metricConfigs.push({\n ...metric.config,\n })\n }\n\n for (const eventTracker of EventTrackerState.INSTANCE.getValues()) {\n config.eventTrackingConfigs.push({\n distinctAggregationByDays: eventTracker.options.distinctByDays || [],\n eventName: eventTracker.name,\n retentionConfig: undefined,\n totalByDay: eventTracker.options.totalByDay || false,\n totalPerEntity: undefined,\n unique: eventTracker.options.unique || false,\n })\n }\n\n for (const exporter of ExporterState.INSTANCE.getValues()) {\n config.exportConfigs.push({\n name: exporter.name,\n channel: exporter.channel,\n })\n }\n }\n}\n\nPluginManager.INSTANCE.register(new CorePlugin())\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-processor.test.js","sourceRoot":"","sources":["../../src/core/generic-processor.test.ts"],"names":[],"mappings":";AAAA,gCAAgC;;AAEhC,+BAA6B;AAE7B,2CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"generic-processor.test.js","sourceRoot":"","sources":["../../src/core/generic-processor.test.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO move out of this package\n\nimport { expect } from 'chai'\n\nimport { HandlerType } from '@sentio/protos'\n\nimport { GenericProcessor } from '../eth/generic-processor'\nimport { TestProcessorServer, firstCounterValue } from '../testing'\n\ndescribe('Test Generic Processor', () => {\n const service = new TestProcessorServer(() => {\n GenericProcessor.bind(\n [\n 'event Transfer(address indexed from, address indexed to, uint256 value)',\n 'event Approval(address indexed from, address indexed to, uint256 value)',\n ],\n { address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9' }\n ).onAllEvents(function (log, ctx) {\n ctx.meter.Counter('event_num').add(1)\n })\n\n GenericProcessor.bind('event WalletCreated(address wallet, address owner)', {\n address: '0x57E037F4d2c8BEa011Ad8a9A5AF4AaEEd508650f',\n }).onAllEvents(function (log, ctx) {\n ctx.meter.Counter('wallet').add(1)\n })\n })\n\n beforeAll(async () => {\n await service.start()\n })\n\n test('check configuration', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(2)\n expect(config.contractConfigs?.[0].contract?.name).equals('Generic')\n })\n\n test('Check log dispatch', async () => {\n const res = await service.testLogs([logData, logData])\n const counters = res.result?.counters\n expect(counters).length(2)\n expect(firstCounterValue(res.result, 'event_num')).equals(1)\n expect(counters?.[0].runtimeInfo?.from).equals(HandlerType.ETH_LOG)\n })\n\n test('Check log dispatch no buffer over rune', async () => {\n const logStr =\n '{\"address\":\"0x57e037f4d2c8bea011ad8a9a5af4aaeed508650f\",\"topics\":[\"0x5b03bfed1c14a02bdeceb5fa582eb1a5765fc0bc64ca0e6af4c20afc9487f081\"],\"data\":\"0x00000000000000000000000093269483a70c68d5c5bb63aac1e8f4ac59f498800000000000000000000000000c520e51c055cf63bab075715c1b860b2e9b8e24\",\"blockNumber\":\"0xc9d6d7\",\"transactionHash\":\"0x208af3250499672c2f07138b9aa236153c65c78ae4341b23c2763017afdd61a2\",\"transactionIndex\":\"0xf3\",\"blockHash\":\"0x6e3b100c34b510049e922fbe1c1dab1b0793be3d1229b632688e6a518cdd11b6\",\"logIndex\":\"0x14b\",\"removed\":false}'\n const res = await service.testLog(JSON.parse(logStr))\n console.log(JSON.stringify(res))\n })\n\n const logData = {\n index: 0,\n blockNumber: 14213252,\n blockHash: '0x83d646fac9350b281def8c4c37626f9d8efc95df801287b848c719edf35cdbaf',\n transactionIndex: 347,\n removed: false,\n address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9',\n data: '0x00000000000000000000000000000000000000000000009a71db64810aaa0000',\n topics: [\n '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n '0x000000000000000000000000b329e39ebefd16f40d38f07643652ce17ca5bac1',\n ],\n transactionHash: '0x93355e0cb2c3490cb8a747029ff2dc8cdbde2407025b8391398436955afae303',\n logIndex: 428,\n }\n})\n"]}
|
package/lib/core/index.d.ts
CHANGED
|
@@ -4,11 +4,6 @@ export { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricOptions } fr
|
|
|
4
4
|
export { EventTracker, AccountEventTracker } from './event-tracker';
|
|
5
5
|
export { type Numberish, toBigInteger, toMetricValue, toBlockTag } from './numberish';
|
|
6
6
|
export { BindOptions } from './bind-options';
|
|
7
|
-
export { BaseProcessor } from './base-processor';
|
|
8
|
-
export { GenericProcessor } from './generic-processor';
|
|
9
|
-
export { BaseProcessorTemplate } from './base-processor-template';
|
|
10
7
|
export { SuiBaseProcessor, SuiBindOptions } from './sui-processor';
|
|
11
|
-
export type { TypedCallTrace, Trace } from './trace';
|
|
12
|
-
export { EthPlugin } from './eth-plugin';
|
|
13
8
|
export { SuiPlugin } from './sui-plugin';
|
|
14
9
|
export { CorePlugin } from './core-plugin';
|
package/lib/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CorePlugin = exports.SuiPlugin = exports.
|
|
3
|
+
exports.CorePlugin = exports.SuiPlugin = exports.SuiBindOptions = exports.SuiBaseProcessor = exports.BindOptions = exports.toBlockTag = exports.toMetricValue = exports.toBigInteger = exports.AccountEventTracker = exports.EventTracker = exports.MetricOptions = exports.Gauge = exports.Counter = exports.GaugeBinding = exports.Meter = exports.CounterBinding = exports.BoundContractView = exports.ContractView = exports.ContractContext = exports.BigDecimal = void 0;
|
|
4
4
|
var big_decimal_1 = require("./big-decimal");
|
|
5
5
|
Object.defineProperty(exports, "BigDecimal", { enumerable: true, get: function () { return big_decimal_1.BigDecimal; } });
|
|
6
6
|
var context_1 = require("./context");
|
|
@@ -23,17 +23,9 @@ Object.defineProperty(exports, "toMetricValue", { enumerable: true, get: functio
|
|
|
23
23
|
Object.defineProperty(exports, "toBlockTag", { enumerable: true, get: function () { return numberish_1.toBlockTag; } });
|
|
24
24
|
var bind_options_1 = require("./bind-options");
|
|
25
25
|
Object.defineProperty(exports, "BindOptions", { enumerable: true, get: function () { return bind_options_1.BindOptions; } });
|
|
26
|
-
var base_processor_1 = require("./base-processor");
|
|
27
|
-
Object.defineProperty(exports, "BaseProcessor", { enumerable: true, get: function () { return base_processor_1.BaseProcessor; } });
|
|
28
|
-
var generic_processor_1 = require("./generic-processor");
|
|
29
|
-
Object.defineProperty(exports, "GenericProcessor", { enumerable: true, get: function () { return generic_processor_1.GenericProcessor; } });
|
|
30
|
-
var base_processor_template_1 = require("./base-processor-template");
|
|
31
|
-
Object.defineProperty(exports, "BaseProcessorTemplate", { enumerable: true, get: function () { return base_processor_template_1.BaseProcessorTemplate; } });
|
|
32
26
|
var sui_processor_1 = require("./sui-processor");
|
|
33
27
|
Object.defineProperty(exports, "SuiBaseProcessor", { enumerable: true, get: function () { return sui_processor_1.SuiBaseProcessor; } });
|
|
34
28
|
Object.defineProperty(exports, "SuiBindOptions", { enumerable: true, get: function () { return sui_processor_1.SuiBindOptions; } });
|
|
35
|
-
var eth_plugin_1 = require("./eth-plugin");
|
|
36
|
-
Object.defineProperty(exports, "EthPlugin", { enumerable: true, get: function () { return eth_plugin_1.EthPlugin; } });
|
|
37
29
|
var sui_plugin_1 = require("./sui-plugin");
|
|
38
30
|
Object.defineProperty(exports, "SuiPlugin", { enumerable: true, get: function () { return sui_plugin_1.SuiPlugin; } });
|
|
39
31
|
var core_plugin_1 = require("./core-plugin");
|
package/lib/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,qCAA4E;AAAnE,0GAAA,eAAe,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AACzD,iCAA4F;AAAnF,uGAAA,cAAc,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC3E,iDAAmE;AAA1D,6GAAA,YAAY,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAC1C,yCAAqF;AAA5D,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAEhE,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AAEpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,qCAA4E;AAAnE,0GAAA,eAAe,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AACzD,iCAA4F;AAAnF,uGAAA,cAAc,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC3E,iDAAmE;AAA1D,6GAAA,YAAY,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAC1C,yCAAqF;AAA5D,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAEhE,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AAEpB,iDAAkE;AAAzD,iHAAA,gBAAgB,OAAA;AAAE,+GAAA,cAAc,OAAA;AAEzC,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,6CAA0C;AAAjC,yGAAA,UAAU,OAAA","sourcesContent":["export { BigDecimal } from './big-decimal'\nexport { ContractContext, ContractView, BoundContractView } from './context'\nexport { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricOptions } from './meter'\nexport { EventTracker, AccountEventTracker } from './event-tracker'\nexport { type Numberish, toBigInteger, toMetricValue, toBlockTag } from './numberish'\n\nexport { BindOptions } from './bind-options'\n\nexport { SuiBaseProcessor, SuiBindOptions } from './sui-processor'\n\nexport { SuiPlugin } from './sui-plugin'\nexport { CorePlugin } from './core-plugin'\n"]}
|
package/lib/core/numberish.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { BigNumber } from 'ethers';
|
|
2
1
|
import { BigInteger, MetricValue } from '@sentio/protos';
|
|
3
2
|
import { BigDecimal } from '.';
|
|
4
|
-
import { BlockTag } from '
|
|
5
|
-
export type Numberish = number |
|
|
3
|
+
import { BlockTag } from 'ethers/providers';
|
|
4
|
+
export type Numberish = number | bigint | BigDecimal | string;
|
|
6
5
|
export declare function toBlockTag(a: number | bigint): BlockTag;
|
|
7
6
|
export declare function toMetricValue(value: Numberish): MetricValue;
|
|
8
7
|
export declare function toBigInteger(a: Numberish): BigInteger;
|
package/lib/core/numberish.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toBigInteger = exports.toMetricValue = exports.toBlockTag = void 0;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
4
|
const protos_1 = require("@sentio/protos");
|
|
6
5
|
const _1 = require(".");
|
|
7
6
|
function toBlockTag(a) {
|
|
@@ -15,52 +14,52 @@ function toBlockTag(a) {
|
|
|
15
14
|
}
|
|
16
15
|
exports.toBlockTag = toBlockTag;
|
|
17
16
|
function toMetricValue(value) {
|
|
18
|
-
if (value
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
if (value instanceof _1.BigDecimal) {
|
|
24
|
-
// Carefully consider the use case here
|
|
25
|
-
if (value.isInteger()) {
|
|
26
|
-
return protos_1.MetricValue.fromPartial({
|
|
27
|
-
bigInteger: bigDecimalToBigInteger(value),
|
|
28
|
-
});
|
|
17
|
+
if (typeof value === 'number') {
|
|
18
|
+
if (Number.isNaN(value)) {
|
|
19
|
+
throw new Error('Cannot record NaN value');
|
|
29
20
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!value.isFinite()) {
|
|
35
|
-
// NaN also not finite
|
|
36
|
-
throw new Error('Cannot record infinite value');
|
|
37
|
-
}
|
|
21
|
+
if (!Number.isFinite(value)) {
|
|
22
|
+
throw new Error('Cannot record infinite value');
|
|
23
|
+
}
|
|
24
|
+
if (Number.isInteger(value) && !Number.isSafeInteger(value)) {
|
|
38
25
|
return protos_1.MetricValue.fromPartial({
|
|
39
|
-
|
|
26
|
+
bigInteger: toBigInteger(value),
|
|
40
27
|
});
|
|
41
28
|
}
|
|
29
|
+
return protos_1.MetricValue.fromPartial({
|
|
30
|
+
doubleValue: Number(value),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (typeof value === 'bigint') {
|
|
34
|
+
return protos_1.MetricValue.fromPartial({
|
|
35
|
+
bigInteger: toBigInteger(value),
|
|
36
|
+
});
|
|
42
37
|
}
|
|
43
38
|
if (typeof value === 'string') {
|
|
44
39
|
return protos_1.MetricValue.fromPartial({
|
|
45
40
|
bigDecimal: value,
|
|
46
41
|
});
|
|
47
42
|
}
|
|
48
|
-
if (
|
|
43
|
+
// if (value instanceof BigDecimal) {
|
|
44
|
+
// Carefully consider the use case here
|
|
45
|
+
if (value.isInteger()) {
|
|
49
46
|
return protos_1.MetricValue.fromPartial({
|
|
50
|
-
bigInteger:
|
|
47
|
+
bigInteger: bigDecimalToBigInteger(value),
|
|
51
48
|
});
|
|
52
49
|
}
|
|
53
|
-
|
|
54
|
-
if (
|
|
50
|
+
else {
|
|
51
|
+
if (value.isNaN()) {
|
|
55
52
|
throw new Error('Cannot record NaN value');
|
|
56
53
|
}
|
|
57
|
-
if (!
|
|
54
|
+
if (!value.isFinite()) {
|
|
55
|
+
// NaN also not finite
|
|
58
56
|
throw new Error('Cannot record infinite value');
|
|
59
57
|
}
|
|
58
|
+
return protos_1.MetricValue.fromPartial({
|
|
59
|
+
bigDecimal: value.toString(), // e.g. -7.350918e-428
|
|
60
|
+
});
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
doubleValue: Number(value),
|
|
63
|
-
});
|
|
62
|
+
// }
|
|
64
63
|
}
|
|
65
64
|
exports.toMetricValue = toMetricValue;
|
|
66
65
|
function bigDecimalToBigInteger(a) {
|
|
@@ -78,15 +77,18 @@ function intToBigInteger(a) {
|
|
|
78
77
|
return hexToBigInteger(a.toString(16), negative);
|
|
79
78
|
}
|
|
80
79
|
function toBigInteger(a) {
|
|
81
|
-
if (a
|
|
82
|
-
return
|
|
80
|
+
if (typeof a === 'number') {
|
|
81
|
+
return intToBigInteger(a);
|
|
83
82
|
}
|
|
84
|
-
if (a
|
|
85
|
-
return intToBigInteger(a
|
|
83
|
+
if (typeof a === 'bigint') {
|
|
84
|
+
return intToBigInteger(a);
|
|
86
85
|
}
|
|
87
86
|
if (typeof a === 'string') {
|
|
88
87
|
return intToBigInteger(BigInt(a));
|
|
89
88
|
}
|
|
89
|
+
if (a instanceof _1.BigDecimal) {
|
|
90
|
+
return bigDecimalToBigInteger(a);
|
|
91
|
+
}
|
|
90
92
|
return intToBigInteger(a);
|
|
91
93
|
// Following code is actually very slow
|
|
92
94
|
// while (a > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"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","sourcesContent":["import { BigInteger, MetricValue } from '@sentio/protos'\nimport { BigDecimal } from '.'\nimport { BlockTag } from 'ethers/providers'\n\nexport type Numberish = number | bigint | BigDecimal | string\n\nexport function toBlockTag(a: number | bigint): BlockTag {\n if (typeof a === 'number') {\n return a\n }\n if (a > Number.MAX_SAFE_INTEGER) {\n return '0x' + a.toString(16)\n }\n return Number(a)\n}\n\nexport function toMetricValue(value: Numberish): MetricValue {\n if (typeof value === 'number') {\n if (Number.isNaN(value)) {\n throw new Error('Cannot record NaN value')\n }\n if (!Number.isFinite(value)) {\n throw new Error('Cannot record infinite value')\n }\n if (Number.isInteger(value) && !Number.isSafeInteger(value)) {\n return MetricValue.fromPartial({\n bigInteger: toBigInteger(value),\n })\n }\n\n return MetricValue.fromPartial({\n doubleValue: Number(value),\n })\n }\n if (typeof value === 'bigint') {\n return MetricValue.fromPartial({\n bigInteger: toBigInteger(value),\n })\n }\n if (typeof value === 'string') {\n return MetricValue.fromPartial({\n bigDecimal: value,\n })\n }\n // if (value instanceof BigDecimal) {\n // Carefully consider the use case here\n if (value.isInteger()) {\n return MetricValue.fromPartial({\n bigInteger: bigDecimalToBigInteger(value),\n })\n } else {\n if (value.isNaN()) {\n throw new Error('Cannot record NaN value')\n }\n if (!value.isFinite()) {\n // NaN also not finite\n throw new Error('Cannot record infinite value')\n }\n return MetricValue.fromPartial({\n bigDecimal: value.toString(), // e.g. -7.350918e-428\n })\n }\n // }\n}\n\nfunction bigDecimalToBigInteger(a: BigDecimal): BigInteger {\n const negative = a.isNegative()\n if (negative) {\n a = a.abs()\n }\n return hexToBigInteger(a.toString(16), negative)\n}\n\nfunction intToBigInteger(a: bigint | number): BigInteger {\n const negative = a < 0\n if (negative) {\n a = -a\n }\n return hexToBigInteger(a.toString(16), negative)\n}\n\nexport function toBigInteger(a: Numberish): BigInteger {\n if (typeof a === 'number') {\n return intToBigInteger(a)\n }\n if (typeof a === 'bigint') {\n return intToBigInteger(a)\n }\n if (typeof a === 'string') {\n return intToBigInteger(BigInt(a))\n }\n if (a instanceof BigDecimal) {\n return bigDecimalToBigInteger(a)\n }\n return intToBigInteger(a)\n\n // Following code is actually very slow\n // while (a > 0) {\n // const d = a & 0xffn\n // a >>= 8n\n // value.push(Number(d))\n // }\n //\n // return {\n // negative, value: new Uint8Array(value.reverse()),\n // }\n}\n\nfunction hexToBigInteger(hex: string, negative: boolean): BigInteger {\n if (hex.length % 2 === 1) {\n hex = '0' + hex\n }\n const buffer = Buffer.from(hex, 'hex')\n\n return {\n negative: negative,\n data: new Uint8Array(buffer),\n }\n}\n"]}
|