@sentio/sdk 1.20.1 → 1.21.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/aptos/aptos-processor.d.ts +17 -12
- package/lib/aptos/aptos-processor.js +65 -13
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/aptos/bind-options.d.ts +0 -6
- package/lib/aptos/bind-options.js +1 -8
- package/lib/aptos/bind-options.js.map +1 -1
- package/lib/aptos/context.d.ts +5 -4
- package/lib/aptos/context.js +9 -6
- package/lib/aptos/context.js.map +1 -1
- package/lib/aptos/index.d.ts +3 -2
- package/lib/aptos/index.js +1 -2
- package/lib/aptos/index.js.map +1 -1
- package/lib/aptos/runtime.d.ts +2 -0
- package/lib/aptos/runtime.js +16 -0
- package/lib/aptos/runtime.js.map +1 -0
- package/lib/aptos/types.d.ts +28 -0
- package/lib/aptos/types.js +159 -0
- package/lib/aptos/types.js.map +1 -0
- package/lib/aptos/utils.d.ts +6 -0
- package/lib/aptos/utils.js +19 -0
- package/lib/aptos/utils.js.map +1 -0
- package/lib/aptos-codegen/codegen.d.ts +5 -2
- package/lib/aptos-codegen/codegen.js +195 -18
- package/lib/aptos-codegen/codegen.js.map +1 -1
- package/lib/aptos-codegen/typegen.d.ts +18 -0
- package/lib/aptos-codegen/typegen.js +196 -0
- package/lib/aptos-codegen/typegen.js.map +1 -0
- package/lib/binds.d.ts +2 -3
- package/lib/binds.js +6 -33
- package/lib/binds.js.map +1 -1
- package/lib/builtin/aptos/0x1.d.ts +1624 -0
- package/lib/builtin/aptos/0x1.js +2502 -0
- package/lib/builtin/aptos/0x1.js.map +1 -0
- package/lib/builtin/aptos/0x3.d.ts +414 -0
- package/lib/builtin/aptos/0x3.js +461 -0
- package/lib/builtin/aptos/0x3.js.map +1 -0
- package/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +2 -2
- package/lib/builtin/internal/eacaggregatorproxy_processor.js +12 -11
- package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
- package/lib/builtin/internal/erc20_processor.d.ts +2 -2
- package/lib/builtin/internal/erc20_processor.js +12 -11
- package/lib/builtin/internal/erc20_processor.js.map +1 -1
- package/lib/builtin/internal/erc20bytes_processor.d.ts +2 -2
- package/lib/builtin/internal/erc20bytes_processor.js +12 -11
- package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
- package/lib/builtin/internal/weth9_processor.d.ts +2 -2
- package/lib/builtin/internal/weth9_processor.js +12 -11
- package/lib/builtin/internal/weth9_processor.js.map +1 -1
- package/lib/builtin/solana/types.d.ts +5 -5
- package/lib/builtin/solana/wormhole-processor.d.ts +6 -6
- package/lib/builtin/solana/wormhole-processor.js +15 -12
- package/lib/builtin/solana/wormhole-processor.js.map +1 -1
- package/lib/cli/build.js +17 -16
- package/lib/cli/build.js.map +1 -1
- package/lib/core/base-processor-template.d.ts +7 -7
- package/lib/core/base-processor-template.js.map +1 -1
- package/lib/core/base-processor.d.ts +5 -6
- package/lib/core/base-processor.js +6 -4
- package/lib/core/base-processor.js.map +1 -1
- package/lib/core/big-decimal.d.ts +1 -0
- package/lib/core/big-decimal.js +6 -0
- package/lib/core/big-decimal.js.map +1 -0
- package/lib/core/bind-options.d.ts +0 -2
- package/lib/core/bind-options.js +4 -4
- package/lib/core/bind-options.js.map +1 -1
- package/lib/core/context.d.ts +14 -11
- package/lib/core/context.js +28 -19
- package/lib/core/context.js.map +1 -1
- package/lib/core/generic-processor.js +5 -5
- package/lib/core/generic-processor.js.map +1 -1
- package/lib/core/index.d.ts +5 -5
- package/lib/core/index.js +6 -6
- package/lib/core/index.js.map +1 -1
- package/lib/core/logger.d.ts +2 -3
- package/lib/core/logger.js +6 -6
- package/lib/core/logger.js.map +1 -1
- package/lib/core/metadata.d.ts +7 -4
- package/lib/core/metadata.js +13 -10
- package/lib/core/metadata.js.map +1 -1
- package/lib/core/meter.d.ts +4 -7
- package/lib/core/meter.js +12 -13
- package/lib/core/meter.js.map +1 -1
- package/lib/core/solana-processor.d.ts +7 -4
- package/lib/core/solana-processor.js +14 -20
- package/lib/core/solana-processor.js.map +1 -1
- package/lib/core/sui-processor.d.ts +5 -4
- package/lib/core/sui-processor.js +10 -17
- package/lib/core/sui-processor.js.map +1 -1
- package/lib/error.d.ts +2 -2
- package/lib/error.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +23 -12
- package/lib/gen/processor/protos/processor.js +129 -57
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +1 -4
- package/lib/index.js.map +1 -1
- package/lib/processor-state.d.ts +1 -1
- package/lib/processor-state.js.map +1 -1
- package/lib/service.js +13 -12
- package/lib/service.js.map +1 -1
- package/lib/target-ethers-sentio/codegen.js +14 -15
- package/lib/target-ethers-sentio/codegen.js.map +1 -1
- package/lib/test-abi-code-gen.js.map +1 -1
- package/lib/testing/metric-utils.js +2 -2
- package/lib/testing/metric-utils.js.map +1 -1
- package/lib/tests/aptos.test.js +95 -2
- package/lib/tests/aptos.test.js.map +1 -1
- package/lib/tests/erc20.js +1 -1
- package/lib/tests/erc20.js.map +1 -1
- package/lib/tests/erc20.test.js +3 -4
- package/lib/tests/erc20.test.js.map +1 -1
- package/lib/tests/solana.test.js +5 -1
- package/lib/tests/solana.test.js.map +1 -1
- package/lib/tests/souffl3.js +17 -4
- package/lib/tests/souffl3.js.map +1 -1
- package/lib/tests/sui.test.js +1 -4
- package/lib/tests/sui.test.js.map +1 -1
- package/lib/tests/types/aptos/souffle.d.ts +311 -22
- package/lib/tests/types/aptos/souffle.js +142 -6
- package/lib/tests/types/aptos/souffle.js.map +1 -1
- package/lib/tests/types/solana/basic_1_processor.d.ts +2 -2
- package/lib/tests/types/solana/basic_1_processor.js +4 -4
- package/lib/tests/types/solana/basic_1_processor.js.map +1 -1
- package/lib/tests/wormhole-token-bridge.js +2 -1
- package/lib/tests/wormhole-token-bridge.js.map +1 -1
- package/lib/utils/chain.d.ts +1 -0
- package/lib/utils/chain.js +15 -1
- package/lib/utils/chain.js.map +1 -1
- package/lib/utils/conversion.d.ts +1 -1
- package/lib/utils/conversion.js.map +1 -1
- package/package.json +3 -2
- package/src/abis/aptos/0x1.json +9205 -0
- package/src/abis/aptos/0x3.json +1515 -0
- package/src/aptos/aptos-processor.ts +88 -20
- package/src/aptos/bind-options.ts +0 -7
- package/src/aptos/context.ts +11 -8
- package/src/aptos/index.ts +3 -2
- package/src/aptos/runtime.ts +13 -0
- package/src/aptos/types.ts +203 -0
- package/src/aptos/utils.ts +18 -0
- package/src/aptos-codegen/codegen.ts +222 -19
- package/src/aptos-codegen/typegen.test.ts +29 -0
- package/src/aptos-codegen/typegen.ts +216 -0
- package/src/binds.ts +5 -39
- package/src/builtin/aptos/0x1.ts +3760 -0
- package/src/builtin/aptos/0x3.ts +798 -0
- package/src/builtin/internal/eacaggregatorproxy_processor.ts +14 -31
- package/src/builtin/internal/erc20_processor.ts +14 -25
- package/src/builtin/internal/erc20bytes_processor.ts +14 -25
- package/src/builtin/internal/weth9_processor.ts +14 -25
- package/src/builtin/solana/wormhole-processor.ts +21 -18
- package/src/cli/build.ts +19 -17
- package/src/core/base-processor-template.ts +7 -7
- package/src/core/base-processor.ts +30 -9
- package/src/core/big-decimal.ts +1 -0
- package/src/core/bind-options.ts +3 -2
- package/src/core/context.ts +40 -24
- package/src/core/generic-processor.ts +6 -7
- package/src/core/index.ts +5 -5
- package/src/core/logger.ts +7 -7
- package/src/core/metadata.ts +14 -12
- package/src/core/meter.ts +12 -14
- package/src/core/solana-processor.ts +24 -21
- package/src/core/sui-processor.ts +10 -21
- package/src/error.ts +2 -2
- package/src/gen/processor/protos/processor.ts +158 -68
- package/src/index.ts +1 -2
- package/src/processor-state.ts +1 -1
- package/src/service.ts +22 -15
- package/src/target-ethers-sentio/codegen.ts +14 -15
- package/src/test-abi-code-gen.ts +1 -0
- package/src/testing/metric-utils.ts +2 -2
- package/src/tests/aptos.test.ts +102 -3
- package/src/tests/erc20.test.ts +3 -4
- package/src/tests/erc20.ts +1 -1
- package/src/tests/solana.test.ts +5 -1
- package/src/tests/souffl3.ts +21 -6
- package/src/tests/sui.test.ts +1 -4
- package/src/tests/types/aptos/souffle.ts +424 -42
- package/src/tests/types/solana/basic_1_processor.ts +6 -6
- package/src/tests/wormhole-token-bridge.ts +2 -1
- package/src/types/global.d.ts +1 -1
- package/src/utils/chain.ts +14 -0
- package/src/utils/conversion.ts +1 -1
- package/lib/contract-namer.d.ts +0 -6
- package/lib/contract-namer.js +0 -20
- package/lib/contract-namer.js.map +0 -1
- package/src/aptos-codegen/codgen.test.ts +0 -11
- package/src/contract-namer.ts +0 -17
package/lib/core/context.js
CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.SuiContext = exports.SolanaContext = exports.BoundContractView = exports.ContractView = exports.
|
6
|
+
exports.SuiContext = exports.SolanaContext = exports.BoundContractView = exports.ContractView = exports.ContractContext = exports.EthContext = exports.BaseContext = void 0;
|
7
7
|
const meter_1 = require("./meter");
|
8
8
|
const long_1 = __importDefault(require("long"));
|
9
9
|
const logger_1 = require("./logger");
|
@@ -22,12 +22,13 @@ class BaseContext {
|
|
22
22
|
exports.BaseContext = BaseContext;
|
23
23
|
class EthContext extends BaseContext {
|
24
24
|
chainId;
|
25
|
+
address;
|
25
26
|
log;
|
26
27
|
block;
|
27
28
|
trace;
|
28
29
|
blockNumber;
|
29
30
|
transactionHash;
|
30
|
-
constructor(chainId, block, log, trace) {
|
31
|
+
constructor(chainId, address, block, log, trace) {
|
31
32
|
super();
|
32
33
|
this.chainId = chainId;
|
33
34
|
this.log = log;
|
@@ -47,56 +48,59 @@ class EthContext extends BaseContext {
|
|
47
48
|
}
|
48
49
|
}
|
49
50
|
exports.EthContext = EthContext;
|
50
|
-
class
|
51
|
+
class ContractContext extends EthContext {
|
51
52
|
contract;
|
52
|
-
|
53
|
-
constructor(view, chainId, block, log, trace) {
|
54
|
-
super(chainId, block, log, trace);
|
53
|
+
contractName;
|
54
|
+
constructor(contractName, view, chainId, block, log, trace) {
|
55
|
+
super(chainId, view.rawContract.address, block, log, trace);
|
55
56
|
view.context = this;
|
57
|
+
this.contractName = contractName;
|
56
58
|
this.contract = view;
|
57
|
-
this.address = view.rawContract.address;
|
58
59
|
}
|
59
60
|
getMetaData(descriptor, labels) {
|
60
61
|
if (this.log) {
|
61
62
|
return {
|
62
|
-
|
63
|
+
address: this.contract.rawContract.address,
|
64
|
+
contractName: this.contractName,
|
63
65
|
blockNumber: this.blockNumber,
|
64
66
|
transactionIndex: this.log.transactionIndex,
|
65
67
|
transactionHash: this.transactionHash || '',
|
66
68
|
logIndex: this.log.logIndex,
|
67
69
|
chainId: this.chainId.toString(),
|
68
|
-
|
70
|
+
dataDescriptor: descriptor,
|
69
71
|
labels: (0, meter_1.normalizeLabels)(labels),
|
70
72
|
};
|
71
73
|
}
|
72
74
|
if (this.block) {
|
73
75
|
return {
|
74
|
-
|
76
|
+
address: this.contract.rawContract.address,
|
77
|
+
contractName: this.contractName,
|
75
78
|
blockNumber: this.blockNumber,
|
76
79
|
transactionIndex: -1,
|
77
80
|
transactionHash: '',
|
78
81
|
logIndex: -1,
|
79
82
|
chainId: this.chainId.toString(),
|
80
|
-
|
83
|
+
dataDescriptor: descriptor,
|
81
84
|
labels: (0, meter_1.normalizeLabels)(labels),
|
82
85
|
};
|
83
86
|
}
|
84
87
|
if (this.trace) {
|
85
88
|
return {
|
86
|
-
|
89
|
+
address: this.contract.rawContract.address,
|
90
|
+
contractName: this.contractName,
|
87
91
|
blockNumber: this.blockNumber,
|
88
92
|
transactionIndex: this.trace.transactionPosition,
|
89
93
|
transactionHash: this.transactionHash || '',
|
90
94
|
logIndex: -1,
|
91
95
|
chainId: this.chainId.toString(),
|
92
|
-
|
96
|
+
dataDescriptor: descriptor,
|
93
97
|
labels: (0, meter_1.normalizeLabels)(labels),
|
94
98
|
};
|
95
99
|
}
|
96
100
|
throw new Error("Invaid ctx argument can't happen");
|
97
101
|
}
|
98
102
|
}
|
99
|
-
exports.
|
103
|
+
exports.ContractContext = ContractContext;
|
100
104
|
class ContractView {
|
101
105
|
filters;
|
102
106
|
contract;
|
@@ -132,21 +136,24 @@ class BoundContractView {
|
|
132
136
|
exports.BoundContractView = BoundContractView;
|
133
137
|
class SolanaContext extends BaseContext {
|
134
138
|
address;
|
139
|
+
programName;
|
135
140
|
blockNumber;
|
136
|
-
constructor(address, slot) {
|
141
|
+
constructor(programName, address, slot) {
|
137
142
|
super();
|
143
|
+
this.programName = programName;
|
138
144
|
this.address = address;
|
139
145
|
this.blockNumber = slot;
|
140
146
|
}
|
141
147
|
getMetaData(descriptor, labels) {
|
142
148
|
return {
|
143
|
-
|
149
|
+
address: this.address,
|
150
|
+
contractName: this.programName,
|
144
151
|
blockNumber: this.blockNumber,
|
145
152
|
transactionIndex: 0,
|
146
153
|
transactionHash: '',
|
147
154
|
logIndex: 0,
|
148
155
|
chainId: chain_1.SOL_MAINMET_ID,
|
149
|
-
|
156
|
+
dataDescriptor: descriptor,
|
150
157
|
labels: (0, meter_1.normalizeLabels)(labels),
|
151
158
|
};
|
152
159
|
}
|
@@ -154,6 +161,7 @@ class SolanaContext extends BaseContext {
|
|
154
161
|
exports.SolanaContext = SolanaContext;
|
155
162
|
class SuiContext extends BaseContext {
|
156
163
|
address;
|
164
|
+
moduleName;
|
157
165
|
blockNumber;
|
158
166
|
constructor(address, slot) {
|
159
167
|
super();
|
@@ -162,13 +170,14 @@ class SuiContext extends BaseContext {
|
|
162
170
|
}
|
163
171
|
getMetaData(descriptor, labels) {
|
164
172
|
return {
|
165
|
-
|
173
|
+
address: this.address,
|
174
|
+
contractName: this.moduleName,
|
166
175
|
blockNumber: this.blockNumber,
|
167
176
|
transactionIndex: 0,
|
168
177
|
transactionHash: '',
|
169
178
|
logIndex: 0,
|
170
179
|
chainId: chain_1.SUI_DEVNET_ID,
|
171
|
-
|
180
|
+
dataDescriptor: descriptor,
|
172
181
|
labels: (0, meter_1.normalizeLabels)(labels),
|
173
182
|
};
|
174
183
|
}
|
package/lib/core/context.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { CounterResult, GaugeResult, LogResult, MetricDescriptor, RecordMetaData } from '../gen'\nimport { BaseContract, EventFilter } from 'ethers'\nimport { Block, Log } from '@ethersproject/abstract-provider'\nimport { Meter, normalizeLabels } from './meter'\nimport Long from 'long'\nimport { Trace } from './trace'\nimport { Logger } from './logger'\nimport { Labels } from './metadata'\nimport { SOL_MAINMET_ID, SUI_DEVNET_ID } from '../utils/chain'\n\nexport abstract class BaseContext {\n gauges: GaugeResult[] = []\n counters: CounterResult[] = []\n logs: LogResult[] = []\n meter: Meter\n logger: Logger\n\n protected constructor() {\n this.meter = new Meter(this)\n this.logger = new Logger(this)\n }\n\n abstract getMetaData(descriptor: MetricDescriptor | undefined, labels: Labels): RecordMetaData\n}\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n log?: Log\n block?: Block\n trace?: Trace\n blockNumber: Long\n transactionHash?: string\n\n protected constructor(chainId: number, block?: Block, log?: Log, trace?: Trace) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n if (log) {\n this.blockNumber = Long.fromNumber(log.blockNumber, true)\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = Long.fromNumber(block.number, true)\n } else if (trace) {\n this.blockNumber = Long.fromNumber(trace.blockNumber, true)\n this.transactionHash = trace.transactionHash\n }\n }\n}\n\nexport class Context<\n TContract extends BaseContract,\n TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>\n> extends EthContext {\n contract: TContractBoundView\n address: string\n\n constructor(view: TContractBoundView, chainId: number, block?: Block, log?: Log, trace?: Trace) {\n super(chainId, block, log, trace)\n view.context = this\n this.contract = view\n this.address = view.rawContract.address\n }\n\n getMetaData(descriptor: MetricDescriptor | undefined, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n contractAddress: this.contract.rawContract.address,\n blockNumber: this.blockNumber,\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.logIndex,\n chainId: this.chainId.toString(),\n descriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n contractAddress: this.contract.rawContract.address,\n blockNumber: this.blockNumber,\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n descriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n contractAddress: this.contract.rawContract.address,\n blockNumber: this.blockNumber,\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n descriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n filters: { [name: string]: (...args: Array<any>) => EventFilter }\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n this.filters = contract.filters\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n return this.contract.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: Context<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.filters\n }\n}\n\nexport class SolanaContext extends BaseContext {\n address: string\n blockNumber: Long\n\n constructor(address: string, slot: Long) {\n super()\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(descriptor: MetricDescriptor | undefined, labels: Labels): RecordMetaData {\n return {\n contractAddress: this.address,\n blockNumber: this.blockNumber,\n transactionIndex: 0,\n transactionHash: '', // TODO add\n logIndex: 0,\n chainId: SOL_MAINMET_ID, // TODO set in context\n descriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n}\n\nexport class SuiContext extends BaseContext {\n address: string\n blockNumber: Long\n\n constructor(address: string, slot: Long) {\n super()\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(descriptor: MetricDescriptor | undefined, labels: Labels): RecordMetaData {\n return {\n contractAddress: this.address,\n blockNumber: this.blockNumber,\n transactionIndex: 0,\n transactionHash: '', // TODO\n logIndex: 0,\n chainId: SUI_DEVNET_ID, // TODO set in context\n descriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { CounterResult, GaugeResult, LogResult, DataDescriptor, RecordMetaData } from '../gen'\nimport { BaseContract, EventFilter } from 'ethers'\nimport { Block, Log } from '@ethersproject/abstract-provider'\nimport { Meter, normalizeLabels } from './meter'\nimport Long from 'long'\nimport { Trace } from './trace'\nimport { Logger } from './logger'\nimport { Labels } from './metadata'\nimport { SOL_MAINMET_ID, SUI_DEVNET_ID } from '../utils/chain'\n\nexport abstract class BaseContext {\n gauges: GaugeResult[] = []\n counters: CounterResult[] = []\n logs: LogResult[] = []\n meter: Meter\n logger: Logger\n\n protected constructor() {\n this.meter = new Meter(this)\n this.logger = new Logger(this)\n }\n\n abstract getMetaData(descriptor: DataDescriptor | undefined, labels: Labels): RecordMetaData\n}\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n address: string\n log?: Log\n block?: Block\n trace?: Trace\n blockNumber: Long\n transactionHash?: string\n\n protected constructor(chainId: number, address: string, block?: Block, log?: Log, trace?: Trace) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n if (log) {\n this.blockNumber = Long.fromNumber(log.blockNumber, true)\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = Long.fromNumber(block.number, true)\n } else if (trace) {\n this.blockNumber = Long.fromNumber(trace.blockNumber, true)\n this.transactionHash = trace.transactionHash\n }\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 block?: Block,\n log?: Log,\n trace?: Trace\n ) {\n super(chainId, view.rawContract.address, block, log, trace)\n view.context = this\n this.contractName = contractName\n this.contract = view\n }\n\n getMetaData(descriptor: DataDescriptor | undefined, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n address: this.contract.rawContract.address,\n contractName: this.contractName,\n blockNumber: this.blockNumber,\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.logIndex,\n chainId: this.chainId.toString(),\n dataDescriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n address: this.contract.rawContract.address,\n contractName: this.contractName,\n blockNumber: this.blockNumber,\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n dataDescriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n address: this.contract.rawContract.address,\n contractName: this.contractName,\n blockNumber: this.blockNumber,\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n dataDescriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n filters: { [name: string]: (...args: Array<any>) => EventFilter }\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n this.filters = contract.filters\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n return this.contract.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.filters\n }\n}\n\nexport class SolanaContext extends BaseContext {\n address: string\n programName: string\n blockNumber: Long\n\n constructor(programName: string, address: string, slot: Long) {\n super()\n this.programName = programName\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(descriptor: DataDescriptor | undefined, labels: Labels): RecordMetaData {\n return {\n address: this.address,\n contractName: this.programName,\n blockNumber: this.blockNumber,\n transactionIndex: 0,\n transactionHash: '', // TODO add\n logIndex: 0,\n chainId: SOL_MAINMET_ID, // TODO set in context\n dataDescriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n}\n\nexport class SuiContext extends BaseContext {\n address: string\n moduleName: string\n blockNumber: Long\n\n constructor(address: string, slot: Long) {\n super()\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(descriptor: DataDescriptor | undefined, 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: SUI_DEVNET_ID, // TODO set in context\n dataDescriptor: descriptor,\n labels: normalizeLabels(labels),\n }\n }\n}\n"]}
|
@@ -17,14 +17,14 @@ class GenericProcessor extends base_processor_1.BaseProcessor {
|
|
17
17
|
return new context_1.BoundContractView(new context_1.ContractView(contract));
|
18
18
|
}
|
19
19
|
static bind(eventABI, options) {
|
20
|
-
const AbiName = 'Generic';
|
21
20
|
if (!Array.isArray(eventABI)) {
|
22
21
|
eventABI = [eventABI];
|
23
22
|
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
if (!options.name) {
|
24
|
+
options.name = 'Generic';
|
25
|
+
}
|
26
|
+
const processor = new GenericProcessor(eventABI, options);
|
27
|
+
(0, binds_1.addProcessor)(options, processor);
|
28
28
|
return processor;
|
29
29
|
}
|
30
30
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generic-processor.js","sourceRoot":"","sources":["../../src/core/generic-processor.ts"],"names":[],"mappings":";;;AAAA,wDAAuD;AACvD,uCAA2D;AAE3D,qDAAgD;AAChD,0CAAyC;AACzC,
|
1
|
+
{"version":3,"file":"generic-processor.js","sourceRoot":"","sources":["../../src/core/generic-processor.ts"],"names":[],"mappings":";;;AAAA,wDAAuD;AACvD,uCAA2D;AAE3D,qDAAgD;AAChD,0CAAyC;AACzC,oCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,8BAGrC;IACC,QAAQ,CAAU;IAClB,YAAY,QAAkB,EAAE,OAAoB;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAES,uBAAuB;QAC/B,MAAM,QAAQ,GAAG,IAAI,wBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAA,sBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvG,OAAO,IAAI,2BAAiB,CAAC,IAAI,sBAAY,CAAe,QAAQ,CAAC,CAAC,CAAA;IACxE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,QAA2B,EAAE,OAAoB;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;SACtB;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAA;SACzB;QACD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACzD,IAAA,oBAAY,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAChC,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA1BD,4CA0BC","sourcesContent":["import { BaseContract } from '@ethersproject/contracts'\nimport { BoundContractView, ContractView } from './context'\nimport { BindOptions } from './bind-options'\nimport { BaseProcessor } from './base-processor'\nimport { getProvider } from '../provider'\nimport { addProcessor } from '../binds'\n\nexport class GenericProcessor extends BaseProcessor<\n BaseContract,\n BoundContractView<BaseContract, ContractView<BaseContract>>\n> {\n eventABI: string[]\n constructor(eventABI: string[], options: BindOptions) {\n super(options)\n this.eventABI = eventABI\n }\n\n protected CreateBoundContractView(): BoundContractView<BaseContract, ContractView<BaseContract>> {\n const contract = new BaseContract(this.config.address, this.eventABI, getProvider(this.config.network))\n return new BoundContractView(new ContractView<BaseContract>(contract))\n }\n\n public static bind(eventABI: string[] | string, options: BindOptions): GenericProcessor {\n if (!Array.isArray(eventABI)) {\n eventABI = [eventABI]\n }\n if (!options.name) {\n options.name = 'Generic'\n }\n const processor = new GenericProcessor(eventABI, options)\n addProcessor(options, processor)\n return processor\n }\n}\n"]}
|
package/lib/core/index.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
export {
|
2
|
-
export {
|
3
|
-
export { CounterBinding, Meter, GaugeBinding, Counter, Gauge,
|
1
|
+
export { BigDecimal } from './big-decimal';
|
2
|
+
export { ContractContext, ContractView, BoundContractView, SolanaContext } from './context';
|
3
|
+
export { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricDescriptorOptions } from './meter';
|
4
4
|
export { type Numberish, toBigInteger, toMetricValue } from './numberish';
|
5
|
-
export { BindOptions, SolanaBindOptions
|
5
|
+
export { BindOptions, SolanaBindOptions } from './bind-options';
|
6
6
|
export { BaseProcessor } from './base-processor';
|
7
7
|
export { GenericProcessor } from './generic-processor';
|
8
8
|
export { BaseProcessorTemplate } from './base-processor-template';
|
9
9
|
export { SolanaBaseProcessor } from './solana-processor';
|
10
|
-
export { SuiBaseProcessor } from './sui-processor';
|
10
|
+
export { SuiBaseProcessor, SuiBindOptions } from './sui-processor';
|
11
11
|
export type { TypedCallTrace, Trace } from './trace';
|
package/lib/core/index.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.SuiBaseProcessor = exports.SolanaBaseProcessor = exports.BaseProcessorTemplate = exports.GenericProcessor = exports.BaseProcessor = exports.
|
4
|
-
var
|
5
|
-
Object.defineProperty(exports, "BigDecimal", { enumerable: true, get: function () { return
|
3
|
+
exports.SuiBindOptions = exports.SuiBaseProcessor = exports.SolanaBaseProcessor = exports.BaseProcessorTemplate = exports.GenericProcessor = exports.BaseProcessor = exports.SolanaBindOptions = exports.BindOptions = exports.toMetricValue = exports.toBigInteger = exports.MetricDescriptorOptions = exports.Gauge = exports.Counter = exports.GaugeBinding = exports.Meter = exports.CounterBinding = exports.SolanaContext = exports.BoundContractView = exports.ContractView = exports.ContractContext = exports.BigDecimal = void 0;
|
4
|
+
var big_decimal_1 = require("./big-decimal");
|
5
|
+
Object.defineProperty(exports, "BigDecimal", { enumerable: true, get: function () { return big_decimal_1.BigDecimal; } });
|
6
6
|
var context_1 = require("./context");
|
7
|
-
Object.defineProperty(exports, "
|
7
|
+
Object.defineProperty(exports, "ContractContext", { enumerable: true, get: function () { return context_1.ContractContext; } });
|
8
8
|
Object.defineProperty(exports, "ContractView", { enumerable: true, get: function () { return context_1.ContractView; } });
|
9
9
|
Object.defineProperty(exports, "BoundContractView", { enumerable: true, get: function () { return context_1.BoundContractView; } });
|
10
10
|
Object.defineProperty(exports, "SolanaContext", { enumerable: true, get: function () { return context_1.SolanaContext; } });
|
@@ -14,14 +14,13 @@ Object.defineProperty(exports, "Meter", { enumerable: true, get: function () { r
|
|
14
14
|
Object.defineProperty(exports, "GaugeBinding", { enumerable: true, get: function () { return meter_1.GaugeBinding; } });
|
15
15
|
Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return meter_1.Counter; } });
|
16
16
|
Object.defineProperty(exports, "Gauge", { enumerable: true, get: function () { return meter_1.Gauge; } });
|
17
|
-
Object.defineProperty(exports, "
|
17
|
+
Object.defineProperty(exports, "MetricDescriptorOptions", { enumerable: true, get: function () { return meter_1.MetricDescriptorOptions; } });
|
18
18
|
var numberish_1 = require("./numberish");
|
19
19
|
Object.defineProperty(exports, "toBigInteger", { enumerable: true, get: function () { return numberish_1.toBigInteger; } });
|
20
20
|
Object.defineProperty(exports, "toMetricValue", { enumerable: true, get: function () { return numberish_1.toMetricValue; } });
|
21
21
|
var bind_options_1 = require("./bind-options");
|
22
22
|
Object.defineProperty(exports, "BindOptions", { enumerable: true, get: function () { return bind_options_1.BindOptions; } });
|
23
23
|
Object.defineProperty(exports, "SolanaBindOptions", { enumerable: true, get: function () { return bind_options_1.SolanaBindOptions; } });
|
24
|
-
Object.defineProperty(exports, "SuiBindOptions", { enumerable: true, get: function () { return bind_options_1.SuiBindOptions; } });
|
25
24
|
var base_processor_1 = require("./base-processor");
|
26
25
|
Object.defineProperty(exports, "BaseProcessor", { enumerable: true, get: function () { return base_processor_1.BaseProcessor; } });
|
27
26
|
var generic_processor_1 = require("./generic-processor");
|
@@ -32,4 +31,5 @@ var solana_processor_1 = require("./solana-processor");
|
|
32
31
|
Object.defineProperty(exports, "SolanaBaseProcessor", { enumerable: true, get: function () { return solana_processor_1.SolanaBaseProcessor; } });
|
33
32
|
var sui_processor_1 = require("./sui-processor");
|
34
33
|
Object.defineProperty(exports, "SuiBaseProcessor", { enumerable: true, get: function () { return sui_processor_1.SuiBaseProcessor; } });
|
34
|
+
Object.defineProperty(exports, "SuiBindOptions", { enumerable: true, get: function () { return sui_processor_1.SuiBindOptions; } });
|
35
35
|
//# sourceMappingURL=index.js.map
|
package/lib/core/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,qCAA2F;AAAlF,0GAAA,eAAe,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,wGAAA,aAAa,OAAA;AACxE,iCAAsG;AAA7F,uGAAA,cAAc,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,gHAAA,uBAAuB,OAAA;AACrF,yCAAyE;AAAhD,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAEpD,+CAA+D;AAAtD,2GAAA,WAAW,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAEvC,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,yDAAsD;AAA7C,qHAAA,gBAAgB,OAAA;AACzB,qEAAiE;AAAxD,gIAAA,qBAAqB,OAAA;AAC9B,uDAAwD;AAA/C,uHAAA,mBAAmB,OAAA;AAC5B,iDAAkE;AAAzD,iHAAA,gBAAgB,OAAA;AAAE,+GAAA,cAAc,OAAA","sourcesContent":["export { BigDecimal } from './big-decimal'\nexport { ContractContext, ContractView, BoundContractView, SolanaContext } from './context'\nexport { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricDescriptorOptions } from './meter'\nexport { type Numberish, toBigInteger, toMetricValue } from './numberish'\n\nexport { BindOptions, SolanaBindOptions } from './bind-options'\n\nexport { BaseProcessor } from './base-processor'\nexport { GenericProcessor } from './generic-processor'\nexport { BaseProcessorTemplate } from './base-processor-template'\nexport { SolanaBaseProcessor } from './solana-processor'\nexport { SuiBaseProcessor, SuiBindOptions } from './sui-processor'\n// export * from '../aptos'\n\nexport type { TypedCallTrace, Trace } from './trace'\n"]}
|
package/lib/core/logger.d.ts
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
import { BaseContext } from './context';
|
2
|
-
import { Labels } from './metadata';
|
3
2
|
import { LogLevel } from '../gen';
|
3
|
+
import { DescriptorWithUsage, Labels } from './metadata';
|
4
4
|
export declare type Attributes = Record<string, any>;
|
5
|
-
export declare class Logger {
|
5
|
+
export declare class Logger extends DescriptorWithUsage {
|
6
6
|
private readonly ctx;
|
7
|
-
private readonly name;
|
8
7
|
constructor(ctx: BaseContext, name?: string);
|
9
8
|
withName(name: string): Logger;
|
10
9
|
log(level: LogLevel, message: any, attributes?: Attributes): void;
|
package/lib/core/logger.js
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.Logger = void 0;
|
4
|
-
const metadata_1 = require("./metadata");
|
5
4
|
const gen_1 = require("../gen");
|
6
|
-
|
5
|
+
const metadata_1 = require("./metadata");
|
6
|
+
class Logger extends metadata_1.DescriptorWithUsage {
|
7
7
|
ctx;
|
8
|
-
name;
|
9
8
|
constructor(ctx, name = '') {
|
9
|
+
super(gen_1.DataDescriptor.fromPartial({ name }));
|
10
10
|
this.ctx = ctx;
|
11
|
-
this.name = name;
|
12
11
|
}
|
13
12
|
withName(name) {
|
14
13
|
return new Logger(this.ctx, name);
|
@@ -17,9 +16,10 @@ class Logger {
|
|
17
16
|
if (typeof message !== 'string' && !(message instanceof String)) {
|
18
17
|
message = message.toString();
|
19
18
|
}
|
19
|
+
this.usage++;
|
20
20
|
this.ctx.logs.push({
|
21
|
-
name: this.name,
|
22
|
-
metadata:
|
21
|
+
// name: this.name,
|
22
|
+
metadata: this.ctx.getMetaData(this.getShortDescriptor(), {}),
|
23
23
|
level,
|
24
24
|
message,
|
25
25
|
attributes: JSON.stringify(attributes),
|
package/lib/core/logger.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":";;;AACA,
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":";;;AACA,gCAAiD;AACjD,yCAAwD;AAIxD,MAAa,MAAO,SAAQ,8BAAmB;IAC5B,GAAG,CAAa;IAEjC,YAAY,GAAgB,EAAE,IAAI,GAAG,EAAE;QACrC,KAAK,CAAC,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,OAAY,EAAE,aAAyB,EAAE;QAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE;YAC/D,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;SAC7B;QAED,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,mBAAmB;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC;YAC7D,KAAK;YACL,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,SAAiB,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,SAAiB,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,SAAiB,EAAE;QACjC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,GAAQ,EAAE,SAAiB,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF;AA3CD,wBA2CC","sourcesContent":["import { BaseContext } from './context'\nimport { DataDescriptor, LogLevel } from '../gen'\nimport { DescriptorWithUsage, Labels } from './metadata'\n\nexport type Attributes = Record<string, any>\n\nexport class Logger extends DescriptorWithUsage {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext, name = '') {\n super(DataDescriptor.fromPartial({ name }))\n this.ctx = ctx\n }\n\n withName(name: string) {\n return new Logger(this.ctx, name)\n }\n\n log(level: LogLevel, message: any, attributes: Attributes = {}) {\n if (typeof message !== 'string' && !(message instanceof String)) {\n message = message.toString()\n }\n\n this.usage++\n this.ctx.logs.push({\n // name: this.name,\n metadata: this.ctx.getMetaData(this.getShortDescriptor(), {}), // GetRecordMetaData(this.ctx, this, {}),\n level,\n message,\n attributes: JSON.stringify(attributes),\n runtimeInfo: undefined,\n })\n }\n\n info(msg: any, labels: Labels = {}) {\n this.log(LogLevel.INFO, msg, labels)\n }\n\n warn(msg: any, labels: Labels = {}) {\n this.log(LogLevel.WARNING, msg, labels)\n }\n\n error(msg: any, labels: Labels = {}) {\n this.log(LogLevel.ERROR, msg, labels)\n }\n\n critical(msg: any, labels: Labels = {}) {\n this.log(LogLevel.CRITICAL, msg, labels)\n }\n}\n"]}
|
package/lib/core/metadata.d.ts
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
import {
|
2
|
-
import { RecordMetaData } from '../gen';
|
3
|
-
import { Metric } from './meter';
|
1
|
+
import { DataDescriptor } from '../gen';
|
4
2
|
export declare type Labels = {
|
5
3
|
[key: string]: string;
|
6
4
|
};
|
7
|
-
export declare
|
5
|
+
export declare class DescriptorWithUsage {
|
6
|
+
descriptor: DataDescriptor;
|
7
|
+
usage: number;
|
8
|
+
constructor(descriptor: DataDescriptor);
|
9
|
+
getShortDescriptor(): DataDescriptor;
|
10
|
+
}
|
package/lib/core/metadata.js
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.DescriptorWithUsage = void 0;
|
4
4
|
const gen_1 = require("../gen");
|
5
5
|
const meter_1 = require("./meter");
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
class DescriptorWithUsage {
|
7
|
+
descriptor;
|
8
|
+
usage = 0;
|
9
|
+
constructor(descriptor) {
|
10
|
+
this.descriptor = descriptor;
|
11
|
+
this.descriptor.name = (0, meter_1.normalizeName)(descriptor.name);
|
12
|
+
}
|
13
|
+
getShortDescriptor() {
|
14
|
+
if (this.usage > 0) {
|
11
15
|
// Other setting don't need to be write multiple times
|
12
|
-
|
16
|
+
return gen_1.DataDescriptor.fromPartial({ name: this.descriptor.name });
|
13
17
|
}
|
14
|
-
|
18
|
+
return this.descriptor;
|
15
19
|
}
|
16
|
-
return ctx.getMetaData(descriptor, labels);
|
17
20
|
}
|
18
|
-
exports.
|
21
|
+
exports.DescriptorWithUsage = DescriptorWithUsage;
|
19
22
|
//# sourceMappingURL=metadata.js.map
|
package/lib/core/metadata.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":";;;AAAA,gCAAuC;AACvC,mCAAuC;AAIvC,MAAa,mBAAmB;IAC9B,UAAU,CAAgB;IAC1B,KAAK,GAAG,CAAC,CAAA;IACT,YAAY,UAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAA,qBAAa,EAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAClB,sDAAsD;YACtD,OAAO,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;SAClE;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAhBD,kDAgBC","sourcesContent":["import { DataDescriptor } from '../gen'\nimport { normalizeName } from './meter'\n\nexport type Labels = { [key: string]: string }\n\nexport class DescriptorWithUsage {\n descriptor: DataDescriptor\n usage = 0\n constructor(descriptor: DataDescriptor) {\n this.descriptor = descriptor\n this.descriptor.name = normalizeName(descriptor.name)\n }\n\n getShortDescriptor(): DataDescriptor {\n if (this.usage > 0) {\n // Other setting don't need to be write multiple times\n return DataDescriptor.fromPartial({ name: this.descriptor.name })\n }\n\n return this.descriptor\n }\n}\n"]}
|
package/lib/core/meter.d.ts
CHANGED
@@ -1,20 +1,17 @@
|
|
1
|
-
import { MetricDescriptor } from '../gen';
|
2
1
|
import { BaseContext } from './context';
|
3
2
|
import { Numberish } from './numberish';
|
4
|
-
import { Labels } from './metadata';
|
3
|
+
import { DescriptorWithUsage, Labels } from './metadata';
|
5
4
|
export declare function normalizeName(name: string): string;
|
6
5
|
export declare function normalizeKey(name: string): string;
|
7
6
|
export declare function normalizeValue(name: string): string;
|
8
7
|
export declare function normalizeLabels(labels: Labels): Labels;
|
9
|
-
export declare class
|
8
|
+
export declare class MetricDescriptorOptions {
|
10
9
|
unit?: string;
|
11
10
|
description?: string;
|
12
11
|
sparse?: boolean;
|
13
12
|
}
|
14
|
-
export declare class Metric {
|
15
|
-
|
16
|
-
usage: number;
|
17
|
-
constructor(name: string, option?: MetricDescriptorOption);
|
13
|
+
export declare class Metric extends DescriptorWithUsage {
|
14
|
+
constructor(name: string, option?: MetricDescriptorOptions);
|
18
15
|
}
|
19
16
|
export declare class Counter extends Metric {
|
20
17
|
add(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
package/lib/core/meter.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.Meter = exports.GaugeBinding = exports.Gauge = exports.CounterBinding = exports.Counter = exports.Metric = exports.
|
4
|
-
const gen_1 = require("../gen");
|
3
|
+
exports.Meter = exports.GaugeBinding = exports.Gauge = exports.CounterBinding = exports.Counter = exports.Metric = exports.MetricDescriptorOptions = exports.normalizeLabels = exports.normalizeValue = exports.normalizeKey = exports.normalizeName = void 0;
|
5
4
|
const numberish_1 = require("./numberish");
|
6
5
|
const metadata_1 = require("./metadata");
|
6
|
+
const gen_1 = require("../gen");
|
7
7
|
function normalizeName(name) {
|
8
8
|
const regex = new RegExp('![_.a-zA-Z0-9]');
|
9
9
|
return name.slice(0, 100).replace(regex, '_');
|
@@ -28,28 +28,27 @@ function normalizeLabels(labels) {
|
|
28
28
|
return normLabels;
|
29
29
|
}
|
30
30
|
exports.normalizeLabels = normalizeLabels;
|
31
|
-
class
|
31
|
+
class MetricDescriptorOptions {
|
32
32
|
unit;
|
33
33
|
description;
|
34
34
|
sparse;
|
35
35
|
}
|
36
|
-
exports.
|
37
|
-
class Metric {
|
38
|
-
descriptor = gen_1.MetricDescriptor.fromPartial({});
|
39
|
-
usage = 0;
|
36
|
+
exports.MetricDescriptorOptions = MetricDescriptorOptions;
|
37
|
+
class Metric extends metadata_1.DescriptorWithUsage {
|
40
38
|
constructor(name, option) {
|
41
|
-
|
39
|
+
const descriptor = gen_1.DataDescriptor.fromPartial({ name });
|
42
40
|
if (option) {
|
43
41
|
if (option.unit) {
|
44
|
-
|
42
|
+
descriptor.unit = option.unit;
|
45
43
|
}
|
46
44
|
if (option.description) {
|
47
|
-
|
45
|
+
descriptor.description = option.description;
|
48
46
|
}
|
49
47
|
if (option.sparse) {
|
50
|
-
|
48
|
+
descriptor.sparse = option.sparse;
|
51
49
|
}
|
52
50
|
}
|
51
|
+
super(descriptor);
|
53
52
|
}
|
54
53
|
}
|
55
54
|
exports.Metric = Metric;
|
@@ -62,7 +61,7 @@ class Counter extends Metric {
|
|
62
61
|
}
|
63
62
|
record(ctx, value, labels, add) {
|
64
63
|
ctx.counters.push({
|
65
|
-
metadata: (
|
64
|
+
metadata: ctx.getMetaData(this.getShortDescriptor(), labels),
|
66
65
|
metricValue: (0, numberish_1.toMetricValue)(value),
|
67
66
|
add: add,
|
68
67
|
runtimeInfo: undefined,
|
@@ -89,7 +88,7 @@ exports.CounterBinding = CounterBinding;
|
|
89
88
|
class Gauge extends Metric {
|
90
89
|
record(ctx, value, labels = {}) {
|
91
90
|
ctx.gauges.push({
|
92
|
-
metadata: (
|
91
|
+
metadata: ctx.getMetaData(this.getShortDescriptor(), labels),
|
93
92
|
metricValue: (0, numberish_1.toMetricValue)(value),
|
94
93
|
runtimeInfo: undefined,
|
95
94
|
});
|
package/lib/core/meter.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContext } from './context'\nimport { toMetricValue, Numberish } from './numberish'\nimport { DescriptorWithUsage, Labels } from './metadata'\nimport { DataDescriptor } from '../gen'\n\nexport function normalizeName(name: string): string {\n const regex = new RegExp('![_.a-zA-Z0-9]')\n return name.slice(0, 100).replace(regex, '_')\n}\n\nexport function normalizeKey(name: string): string {\n if (name === 'labels') {\n return 'labels_'\n }\n return normalizeName(name)\n}\n\nexport function normalizeValue(name: string): string {\n return name.slice(0, 100)\n}\n\nexport function normalizeLabels(labels: Labels): Labels {\n const normLabels: Labels = {}\n for (const key in labels) {\n normLabels[normalizeKey(key)] = normalizeValue(labels[key])\n }\n return normLabels\n}\n\nexport class MetricDescriptorOptions {\n unit?: string\n description?: string\n sparse?: boolean\n}\n\nexport class Metric extends DescriptorWithUsage {\n constructor(name: string, option?: MetricDescriptorOptions) {\n const descriptor = DataDescriptor.fromPartial({ name })\n if (option) {\n if (option.unit) {\n descriptor.unit = option.unit\n }\n if (option.description) {\n descriptor.description = option.description\n }\n if (option.sparse) {\n descriptor.sparse = option.sparse\n }\n }\n super(descriptor)\n }\n}\n\nexport class Counter extends Metric {\n add(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, true)\n }\n\n sub(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, false)\n }\n\n private record(ctx: BaseContext, value: Numberish, labels: Labels, add: boolean) {\n ctx.counters.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n add: add,\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class CounterBinding {\n private readonly ctx: BaseContext\n private readonly counter: Counter\n\n constructor(name: string, ctx: BaseContext) {\n this.counter = new Counter(name)\n this.ctx = ctx\n }\n\n add(value: Numberish, labels: Labels = {}) {\n this.counter.add(this.ctx, value, labels)\n }\n\n sub(value: Numberish, labels: Labels = {}) {\n this.counter.sub(this.ctx, value, labels)\n }\n}\n\nexport class Gauge extends Metric {\n record(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n ctx.gauges.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class GaugeBinding {\n private readonly gauge: Gauge\n private readonly ctx: BaseContext\n\n constructor(name: string, ctx: BaseContext) {\n this.gauge = new Gauge(name)\n this.ctx = ctx\n }\n\n record(value: Numberish, labels: Labels = {}) {\n this.gauge.record(this.ctx, value, labels)\n }\n}\n\nexport class Meter {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext) {\n this.ctx = ctx\n }\n\n Counter(name: string): CounterBinding {\n return new CounterBinding(name, this.ctx)\n }\n\n Gauge(name: string): GaugeBinding {\n return new GaugeBinding(name, this.ctx)\n }\n}\n"]}
|
@@ -7,8 +7,9 @@ declare type IndexConfigure = {
|
|
7
7
|
startSlot: Long;
|
8
8
|
endSlot?: Long;
|
9
9
|
};
|
10
|
+
export declare type SolanaInstructionHandler = (instruction: Instruction, ctx: SolanaContext, accounts?: string[]) => void;
|
10
11
|
export declare class SolanaBaseProcessor {
|
11
|
-
|
12
|
+
instructionHandlerMap: Map<string, SolanaInstructionHandler>;
|
12
13
|
address: string;
|
13
14
|
endpoint: string;
|
14
15
|
contractName: string;
|
@@ -22,11 +23,13 @@ export declare class SolanaBaseProcessor {
|
|
22
23
|
constructor(options: SolanaBindOptions);
|
23
24
|
bind(options: SolanaBindOptions): void;
|
24
25
|
innerInstruction(flag: boolean): this;
|
25
|
-
onInstruction(instructionName: string, handler:
|
26
|
-
|
26
|
+
onInstruction(instructionName: string, handler: SolanaInstructionHandler): this;
|
27
|
+
getParsedInstruction(ins: string | {
|
27
28
|
type: string;
|
28
29
|
info: any;
|
29
|
-
}
|
30
|
+
}): Instruction | null;
|
31
|
+
getInstructionHandler(parsedInstruction: Instruction): SolanaInstructionHandler | undefined;
|
32
|
+
handleInstruction(parsedInstruction: Instruction, accounts: string[], handler: SolanaInstructionHandler, slot: Long): ProcessResult;
|
30
33
|
isBind(): boolean;
|
31
34
|
startSlot(startSlot: Long | number): this;
|
32
35
|
endBlock(endBlock: Long | number): this;
|