@sentio/sdk 2.6.4-rc.1 → 2.6.4-rc.3
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/core/normalization.js +9 -1
- package/lib/core/normalization.js.map +1 -1
- package/lib/core/numberish.test.js.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +19 -19
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.js +6 -6
- package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.js +9 -9
- package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.js +7 -7
- package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.js +10 -10
- package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.js +7 -7
- package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
- package/lib/eth/codegen/file.js +1 -1
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/codegen/view-function.js +1 -1
- package/lib/eth/codegen/view-function.js.map +1 -1
- package/lib/eth/eth.d.ts +2 -2
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +5 -5
- package/src/core/normalization.ts +9 -1
- package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +18 -19
- package/src/eth/builtin/internal/erc1155-processor.ts +5 -6
- package/src/eth/builtin/internal/erc20-processor.ts +8 -9
- package/src/eth/builtin/internal/erc20bytes-processor.ts +6 -7
- package/src/eth/builtin/internal/erc721-processor.ts +9 -10
- package/src/eth/builtin/internal/weth9-processor.ts +6 -7
- package/src/eth/codegen/file.ts +1 -1
- package/src/eth/codegen/view-function.ts +1 -1
- package/src/index.ts +3 -0
@@ -9,7 +9,11 @@ export function normalizeKey(name) {
|
|
9
9
|
return normalizeName(name);
|
10
10
|
}
|
11
11
|
function normalizeValue(name) {
|
12
|
-
|
12
|
+
if (name.length > 1024) {
|
13
|
+
console.warn(`${name} is exceed max length for value storage, will be truncate to 1024 characters`);
|
14
|
+
return name.slice(0, 1024);
|
15
|
+
}
|
16
|
+
return name;
|
13
17
|
}
|
14
18
|
export function normalizeLabels(labels) {
|
15
19
|
const normLabels = {};
|
@@ -46,6 +50,10 @@ function normalizeObject(obj, length) {
|
|
46
50
|
return obj.toISOString();
|
47
51
|
}
|
48
52
|
if (obj instanceof BigDecimal) {
|
53
|
+
if (obj.isNaN() || !obj.isFinite()) {
|
54
|
+
console.error("can't submit NaN or Infinity value, will store as 0");
|
55
|
+
return 0;
|
56
|
+
}
|
49
57
|
return obj.toNumber();
|
50
58
|
}
|
51
59
|
if (obj instanceof Promise) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,OAAO,SAAS,CAAA;KACjB;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"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","sourcesContent":["import { Labels } from './meter.js'\nimport { BigDecimal } from './big-decimal.js'\n\nfunction normalizeName(name: string): string {\n return name.slice(0, 128).replace(/[^_\\-a-zA-Z0-9]/g, '_')\n}\n\nexport function normalizeKey(name: string): string {\n if (name === 'labels') {\n return 'labels_'\n }\n return normalizeName(name)\n}\n\nfunction normalizeValue(name: string): string {\n if (name.length > 1024) {\n console.warn(`${name} is exceed max length for value storage, will be truncate to 1024 characters`)\n return name.slice(0, 1024)\n }\n return name\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\nfunction normalizeObject(obj: any, length: number): any {\n let ret: any\n\n const typeString = typeof obj\n switch (typeString) {\n case 'string':\n return obj.slice(0, length)\n case 'bigint':\n return Number(obj)\n case 'number':\n return obj\n case 'function':\n return null\n case 'symbol':\n return null\n }\n if (Array.isArray(obj)) {\n console.warn('Array type inside log/event payload is not currently supported and will be ignored.')\n return null\n // ret = []\n // for (const val of obj) {\n // ret.push(normalizeObject(val, length))\n // }\n } else if (obj === Object(obj)) {\n if (obj instanceof Date) {\n return obj.toISOString()\n }\n if (obj instanceof BigDecimal) {\n if (obj.isNaN() || !obj.isFinite()) {\n console.error(\"can't submit NaN or Infinity value, will store as 0\")\n return 0\n }\n return obj.toNumber()\n }\n if (obj instanceof Promise) {\n console.error('Cannot submit promise')\n return null\n }\n ret = {}\n for (const [key, value] of Object.entries(obj)) {\n const normValue = normalizeObject(value, length)\n if (normValue != null) {\n ret[key] = normValue\n }\n }\n } else {\n ret = obj\n }\n return ret\n}\n\nexport function normalizeAttribute(record: Record<string, any>): any {\n return normalizeObject(record, 1000)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"numberish.test.js","sourceRoot":"","sources":["../../src/core/numberish.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { toBigInteger, toMetricValue } from './numberish.js'\nimport { webcrypto } from 'crypto'\nimport { performance } from 'perf_hooks'\nimport { BigInteger, Struct } from '@sentio/protos'\nimport { BigDecimal } from './big-decimal.js'\nimport { bytesToBigInt } from '../utils/conversion.js'\nimport { normalizeAttribute } from './normalization.js'\n\n// TODO add test for type conversion\ndescribe('Numberish tests', () => {\n const values: bigint[] = [0n, -0n, 3815372408723498172304781320847103784n, 2132n, -18708707n, 123n << 100n]\n\n test('big integer conversion correctness ', async () => {\n for (const v of values) {\n const b = toBigInteger(v)\n const hex1 = BigIntegerToHex(b)\n const hex2 = v.toString(16)\n expect(hex1).equals(hex2)\n }\n })\n\n test('random big integer conversion correctness ', async () => {\n for (let i = 0; i < 1000; i++) {\n const random = webcrypto.getRandomValues(new Uint8Array(256))\n const v = bytesToBigInt(random)\n const b = toBigInteger(v)\n\n expect(bytesToBigInt(b.data)).equals(v)\n }\n })\n\n test.skip('random big integer performance', async () => {\n jest.setTimeout(100000)\n jest.retryTimes(3)\n\n let timer1 = 0\n let timer2 = 0\n for (let i = 0; i < 1000; i++) {\n // Use higher value for local debugging\n const random = webcrypto.getRandomValues(new Uint8Array(256))\n const v = bytesToBigInt(random)\n\n let start = performance.now()\n toBigInteger(v)\n timer1 += performance.now() - start\n\n start = performance.now()\n v.toString(16)\n timer2 += performance.now() - start\n }\n\n console.log(timer1, timer2)\n expect(timer1).to.lessThan(timer2 * 3)\n })\n\n test('metric values', async () => {\n const longDec = '12.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002'\n expect(toMetricValue(new BigDecimal(longDec)).bigDecimal == longDec)\n\n const complexDec = '-7.350918e-428'\n expect(toMetricValue(new BigDecimal(complexDec)).bigDecimal == complexDec)\n\n expect(\n BigIntegerToBigInt(toMetricValue(new BigDecimal('100000')).bigInteger || BigInteger.fromPartial({})) === 100000n\n )\n })\n\n test('normalize attributes basic', async () => {\n const t1 = { a: 'a', n: 123, n2: 1233333333300000000000n, n3: BigDecimal(0.0), nested: { date: new Date() } }\n const r1 = normalizeAttribute(t1)\n expect(typeof r1.n2).equals('number')\n expect(typeof r1.n3).equals('number')\n expect(typeof r1.nested.date).equals('string')\n\n const w1 = Struct.encode(Struct.wrap(r1))\n const s2 = Struct.decode(w1.finish())\n\n const t2 = { f: () => {} }\n const r2 = normalizeAttribute(t2)\n expect(r2.f).equals(undefined)\n\n const t3 = {\n token0Symbol: null,\n token1Symbol: 't2',\n }\n const r3 = normalizeAttribute(t3)\n const w3 = Struct.encode(Struct.wrap(r3))\n const s3 = Struct.decode(w3.finish())\n console.log(r3)\n })\n})\n\n// Performance very bad\nfunction BigIntegerToHex(b: BigInteger): string {\n let res = bytesToBigInt(b.data).toString(16)\n if (b.negative) {\n res = '-' + res\n }\n return res\n}\n\nfunction BigIntegerToBigInt(b: BigInteger): bigint {\n let res = bytesToBigInt(b.data)\n if (b.negative) {\n res = -res\n }\n return res\n}\n"]}
|
1
|
+
{"version":3,"file":"numberish.test.js","sourceRoot":"","sources":["../../src/core/numberish.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { toBigInteger, toMetricValue } from './numberish.js'\nimport { webcrypto } from 'crypto'\nimport { performance } from 'perf_hooks'\nimport { BigInteger, Struct } from '@sentio/protos'\nimport { BigDecimal } from './big-decimal.js'\nimport { bytesToBigInt } from '../utils/conversion.js'\nimport { normalizeAttribute } from './normalization.js'\n\n// TODO add test for type conversion\ndescribe('Numberish tests', () => {\n const values: bigint[] = [0n, -0n, 3815372408723498172304781320847103784n, 2132n, -18708707n, 123n << 100n]\n\n test('big integer conversion correctness ', async () => {\n for (const v of values) {\n const b = toBigInteger(v)\n const hex1 = BigIntegerToHex(b)\n const hex2 = v.toString(16)\n expect(hex1).equals(hex2)\n }\n })\n\n test('random big integer conversion correctness ', async () => {\n for (let i = 0; i < 1000; i++) {\n const random = webcrypto.getRandomValues(new Uint8Array(256))\n const v = bytesToBigInt(random)\n const b = toBigInteger(v)\n\n expect(bytesToBigInt(b.data)).equals(v)\n }\n })\n\n test.skip('random big integer performance', async () => {\n jest.setTimeout(100000)\n jest.retryTimes(3)\n\n let timer1 = 0\n let timer2 = 0\n for (let i = 0; i < 1000; i++) {\n // Use higher value for local debugging\n const random = webcrypto.getRandomValues(new Uint8Array(256))\n const v = bytesToBigInt(random)\n\n let start = performance.now()\n toBigInteger(v)\n timer1 += performance.now() - start\n\n start = performance.now()\n v.toString(16)\n timer2 += performance.now() - start\n }\n\n console.log(timer1, timer2)\n expect(timer1).to.lessThan(timer2 * 3)\n })\n\n test('metric values', async () => {\n const longDec = '12.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002'\n expect(toMetricValue(new BigDecimal(longDec)).bigDecimal == longDec)\n\n const complexDec = '-7.350918e-428'\n expect(toMetricValue(new BigDecimal(complexDec)).bigDecimal == complexDec)\n\n expect(\n BigIntegerToBigInt(toMetricValue(new BigDecimal('100000')).bigInteger || BigInteger.fromPartial({})) === 100000n\n )\n })\n\n test('normalize attributes basic', async () => {\n const t1 = { a: 'a', n: 123, n2: 1233333333300000000000n, n3: BigDecimal(0.0), nested: { date: new Date() } }\n const r1 = normalizeAttribute(t1)\n expect(typeof r1.n2).equals('number')\n expect(typeof r1.n3).equals('number')\n expect(typeof r1.nested.date).equals('string')\n\n const w1 = Struct.encode(Struct.wrap(r1))\n const s2 = Struct.decode(w1.finish())\n\n const t2 = { f: () => {} }\n const r2 = normalizeAttribute(t2)\n expect(r2.f).equals(undefined)\n\n const t3 = {\n token0Symbol: null,\n token1Symbol: 't2',\n }\n const r3 = normalizeAttribute(t3)\n const w3 = Struct.encode(Struct.wrap(r3))\n const s3 = Struct.decode(w3.finish())\n console.log(r3)\n })\n\n test('invalid value', async () => {\n const t1 = { a: BigDecimal(1).dividedBy(0) }\n const r1 = normalizeAttribute(t1)\n expect(r1.a).equals(0)\n })\n})\n\n// Performance very bad\nfunction BigIntegerToHex(b: BigInteger): string {\n let res = bytesToBigInt(b.data).toString(16)\n if (b.negative) {\n res = '-' + res\n }\n return res\n}\n\nfunction BigIntegerToBigInt(b: BigInteger): bigint {\n let res = bytesToBigInt(b.data)\n if (b.negative) {\n res = -res\n }\n return res\n}\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { addContractByABI, getContractByABI, addProcessor, getProcessor, getProvider, transformEtherError, BaseProcessor, BaseProcessorTemplate, BoundContractView, ContractView, DummyProvider,
|
1
|
+
import { addContractByABI, getContractByABI, addProcessor, getProcessor, getProvider, transformEtherError, BaseProcessor, BaseProcessorTemplate, BoundContractView, ContractView, DummyProvider, } from "@sentio/sdk/eth";
|
2
2
|
import { EACAggregatorProxy__factory } from "./index.js";
|
3
3
|
const templateContract = EACAggregatorProxy__factory.connect("0x0", DummyProvider);
|
4
4
|
export class EACAggregatorProxyContractView extends ContractView {
|
@@ -154,7 +154,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
154
154
|
async accessController(overrides) {
|
155
155
|
if (!overrides && this.context) {
|
156
156
|
overrides = {
|
157
|
-
blockTag:
|
157
|
+
blockTag: this.context.blockNumber,
|
158
158
|
};
|
159
159
|
}
|
160
160
|
return await this.view.accessController(overrides || {});
|
@@ -162,7 +162,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
162
162
|
async aggregator(overrides) {
|
163
163
|
if (!overrides && this.context) {
|
164
164
|
overrides = {
|
165
|
-
blockTag:
|
165
|
+
blockTag: this.context.blockNumber,
|
166
166
|
};
|
167
167
|
}
|
168
168
|
return await this.view.aggregator(overrides || {});
|
@@ -170,7 +170,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
170
170
|
async decimals(overrides) {
|
171
171
|
if (!overrides && this.context) {
|
172
172
|
overrides = {
|
173
|
-
blockTag:
|
173
|
+
blockTag: this.context.blockNumber,
|
174
174
|
};
|
175
175
|
}
|
176
176
|
return await this.view.decimals(overrides || {});
|
@@ -178,7 +178,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
178
178
|
async description(overrides) {
|
179
179
|
if (!overrides && this.context) {
|
180
180
|
overrides = {
|
181
|
-
blockTag:
|
181
|
+
blockTag: this.context.blockNumber,
|
182
182
|
};
|
183
183
|
}
|
184
184
|
return await this.view.description(overrides || {});
|
@@ -186,7 +186,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
186
186
|
async getAnswer(_roundId, overrides) {
|
187
187
|
if (!overrides && this.context) {
|
188
188
|
overrides = {
|
189
|
-
blockTag:
|
189
|
+
blockTag: this.context.blockNumber,
|
190
190
|
};
|
191
191
|
}
|
192
192
|
return await this.view.getAnswer(_roundId, overrides || {});
|
@@ -194,7 +194,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
194
194
|
async getRoundData(_roundId, overrides) {
|
195
195
|
if (!overrides && this.context) {
|
196
196
|
overrides = {
|
197
|
-
blockTag:
|
197
|
+
blockTag: this.context.blockNumber,
|
198
198
|
};
|
199
199
|
}
|
200
200
|
return await this.view.getRoundData(_roundId, overrides || {});
|
@@ -202,7 +202,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
202
202
|
async getTimestamp(_roundId, overrides) {
|
203
203
|
if (!overrides && this.context) {
|
204
204
|
overrides = {
|
205
|
-
blockTag:
|
205
|
+
blockTag: this.context.blockNumber,
|
206
206
|
};
|
207
207
|
}
|
208
208
|
return await this.view.getTimestamp(_roundId, overrides || {});
|
@@ -210,7 +210,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
210
210
|
async latestAnswer(overrides) {
|
211
211
|
if (!overrides && this.context) {
|
212
212
|
overrides = {
|
213
|
-
blockTag:
|
213
|
+
blockTag: this.context.blockNumber,
|
214
214
|
};
|
215
215
|
}
|
216
216
|
return await this.view.latestAnswer(overrides || {});
|
@@ -218,7 +218,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
218
218
|
async latestRound(overrides) {
|
219
219
|
if (!overrides && this.context) {
|
220
220
|
overrides = {
|
221
|
-
blockTag:
|
221
|
+
blockTag: this.context.blockNumber,
|
222
222
|
};
|
223
223
|
}
|
224
224
|
return await this.view.latestRound(overrides || {});
|
@@ -226,7 +226,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
226
226
|
async latestRoundData(overrides) {
|
227
227
|
if (!overrides && this.context) {
|
228
228
|
overrides = {
|
229
|
-
blockTag:
|
229
|
+
blockTag: this.context.blockNumber,
|
230
230
|
};
|
231
231
|
}
|
232
232
|
return await this.view.latestRoundData(overrides || {});
|
@@ -234,7 +234,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
234
234
|
async latestTimestamp(overrides) {
|
235
235
|
if (!overrides && this.context) {
|
236
236
|
overrides = {
|
237
|
-
blockTag:
|
237
|
+
blockTag: this.context.blockNumber,
|
238
238
|
};
|
239
239
|
}
|
240
240
|
return await this.view.latestTimestamp(overrides || {});
|
@@ -242,7 +242,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
242
242
|
async owner(overrides) {
|
243
243
|
if (!overrides && this.context) {
|
244
244
|
overrides = {
|
245
|
-
blockTag:
|
245
|
+
blockTag: this.context.blockNumber,
|
246
246
|
};
|
247
247
|
}
|
248
248
|
return await this.view.owner(overrides || {});
|
@@ -250,7 +250,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
250
250
|
async phaseAggregators(arg0, overrides) {
|
251
251
|
if (!overrides && this.context) {
|
252
252
|
overrides = {
|
253
|
-
blockTag:
|
253
|
+
blockTag: this.context.blockNumber,
|
254
254
|
};
|
255
255
|
}
|
256
256
|
return await this.view.phaseAggregators(arg0, overrides || {});
|
@@ -258,7 +258,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
258
258
|
async phaseId(overrides) {
|
259
259
|
if (!overrides && this.context) {
|
260
260
|
overrides = {
|
261
|
-
blockTag:
|
261
|
+
blockTag: this.context.blockNumber,
|
262
262
|
};
|
263
263
|
}
|
264
264
|
return await this.view.phaseId(overrides || {});
|
@@ -266,7 +266,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
266
266
|
async proposedAggregator(overrides) {
|
267
267
|
if (!overrides && this.context) {
|
268
268
|
overrides = {
|
269
|
-
blockTag:
|
269
|
+
blockTag: this.context.blockNumber,
|
270
270
|
};
|
271
271
|
}
|
272
272
|
return await this.view.proposedAggregator(overrides || {});
|
@@ -274,7 +274,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
274
274
|
async proposedGetRoundData(_roundId, overrides) {
|
275
275
|
if (!overrides && this.context) {
|
276
276
|
overrides = {
|
277
|
-
blockTag:
|
277
|
+
blockTag: this.context.blockNumber,
|
278
278
|
};
|
279
279
|
}
|
280
280
|
return await this.view.proposedGetRoundData(_roundId, overrides || {});
|
@@ -282,7 +282,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
282
282
|
async proposedLatestRoundData(overrides) {
|
283
283
|
if (!overrides && this.context) {
|
284
284
|
overrides = {
|
285
|
-
blockTag:
|
285
|
+
blockTag: this.context.blockNumber,
|
286
286
|
};
|
287
287
|
}
|
288
288
|
return await this.view.proposedLatestRoundData(overrides || {});
|
@@ -290,7 +290,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
|
|
290
290
|
async version(overrides) {
|
291
291
|
if (!overrides && this.context) {
|
292
292
|
overrides = {
|
293
|
-
blockTag:
|
293
|
+
blockTag: this.context.blockNumber,
|
294
294
|
};
|
295
295
|
}
|
296
296
|
return await this.view.version(overrides || {});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eacaggregatorproxy-processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/eacaggregatorproxy-processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { BigNumberish, Overrides } from \"ethers\";\nimport { Networkish } from \"ethers/providers\";\nimport {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n Trace,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n TypedCallTrace,\n toBlockTag,\n} from \"@sentio/sdk/eth\";\nimport { EthFetchConfig } from \"@sentio/protos\";\n\nimport { EACAggregatorProxy, EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n AnswerUpdatedEvent,\n AnswerUpdatedEventFilter,\n NewRoundEvent,\n NewRoundEventFilter,\n OwnershipTransferRequestedEvent,\n OwnershipTransferRequestedEventFilter,\n OwnershipTransferredEvent,\n OwnershipTransferredEventFilter,\n} from \"./EACAggregatorProxy.js\";\n\nexport interface AcceptOwnershipCallObject {}\n\nexport type AcceptOwnershipCallTrace = TypedCallTrace<\n [],\n AcceptOwnershipCallObject\n> &\n Trace;\n\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n> &\n Trace;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject> &\n Trace;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n> &\n Trace;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject> & Trace;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject> &\n Trace;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject> &\n Trace;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n> &\n Trace;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n> &\n Trace;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject> &\n Trace;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject> &\n Trace;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n> &\n Trace;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n> &\n Trace;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject> & Trace;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n> &\n Trace;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject> & Trace;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n> &\n Trace;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n> &\n Trace;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n> &\n Trace;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n> &\n Trace;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject> & Trace;\n\nconst templateContract = EACAggregatorProxy__factory.connect(\n \"0x0\",\n DummyProvider\n);\n\nexport class EACAggregatorProxyContractView extends ContractView<EACAggregatorProxy> {\n constructor(contract: EACAggregatorProxy) {\n super(contract);\n }\n\n async accessController(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"accessController()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"aggregator()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"decimals()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async description(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"description()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getAnswer(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"getRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getTimestamp(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestAnswer()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestRound()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"latestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestTimestamp()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"owner()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n try {\n return await this.contract.getFunction(\"phaseAggregators(uint16)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"phaseId()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"proposedAggregator()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedGetRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedLatestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"version()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.accessController(overrides || {});\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.aggregator(overrides || {});\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.decimals(overrides || {});\n }\n\n async description(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.description(overrides || {});\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getAnswer(_roundId, overrides || {});\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getRoundData(_roundId, overrides || {});\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getTimestamp(_roundId, overrides || {});\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestAnswer(overrides || {});\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRound(overrides || {});\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRoundData(overrides || {});\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestTimestamp(overrides || {});\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.owner(overrides || {});\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseAggregators(arg0, overrides || {});\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseId(overrides || {});\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedAggregator(overrides || {});\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedGetRoundData(_roundId, overrides || {});\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedLatestRoundData(overrides || {});\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.version(overrides || {});\n }\n}\n\nexport type EACAggregatorProxyContext = ContractContext<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n>;\n\nexport class EACAggregatorProxyProcessor extends BaseProcessor<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x79ba5097\", handler, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xbc43cbaf\", handler, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x245a7bfc\", handler, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xa928c096\", handler, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x313ce567\", handler, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x7284e416\", handler, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xb5ab58dc\", handler, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x9a6fc8f5\", handler, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xb633620c\", handler, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x50d25bcd\", handler, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x668a0f02\", handler, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xfeaf968c\", handler, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8205bf6a\", handler, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8da5cb5b\", handler, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xc1597304\", handler, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x58303b10\", handler, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xf8a2abd3\", handler, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xe8c4be30\", handler, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x6001ac53\", handler, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8f6b4d91\", handler, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x92eefe9b\", handler, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xf2fde38b\", handler, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x54fd4d50\", handler, fetchConfig);\n }\n\n public static filters = {\n AnswerUpdated(\n current?: BigNumberish | null,\n roundId?: BigNumberish | null,\n updatedAt?: null\n ) {\n return templateContract.filters[\"AnswerUpdated(int256,uint256,uint256)\"](\n current,\n roundId,\n updatedAt\n );\n },\n NewRound(\n roundId?: BigNumberish | null,\n startedBy?: string | null,\n startedAt?: null\n ) {\n return templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n roundId,\n startedBy,\n startedAt\n );\n },\n OwnershipTransferRequested(from?: string | null, to?: string | null) {\n return templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](from, to);\n },\n OwnershipTransferred(from?: string | null, to?: string | null) {\n return templateContract.filters[\"OwnershipTransferred(address,address)\"](\n from,\n to\n );\n },\n };\n\n protected CreateBoundContractView(): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(\n this.config.address,\n this.config.network\n );\n return new EACAggregatorProxyBoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): EACAggregatorProxyProcessor {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class EACAggregatorProxyProcessorTemplate extends BaseProcessorTemplate<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n address: string,\n network: Networkish = 1\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n network\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(network)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, network, contract);\n }\n return contract;\n}\n"]}
|
1
|
+
{"version":3,"file":"eacaggregatorproxy-processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/eacaggregatorproxy-processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { BigNumberish, Overrides } from \"ethers\";\nimport { Networkish } from \"ethers/providers\";\nimport {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n Trace,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n TypedCallTrace,\n} from \"@sentio/sdk/eth\";\nimport { EthFetchConfig } from \"@sentio/protos\";\n\nimport { EACAggregatorProxy, EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n AnswerUpdatedEvent,\n AnswerUpdatedEventFilter,\n NewRoundEvent,\n NewRoundEventFilter,\n OwnershipTransferRequestedEvent,\n OwnershipTransferRequestedEventFilter,\n OwnershipTransferredEvent,\n OwnershipTransferredEventFilter,\n} from \"./EACAggregatorProxy.js\";\n\nexport interface AcceptOwnershipCallObject {}\n\nexport type AcceptOwnershipCallTrace = TypedCallTrace<\n [],\n AcceptOwnershipCallObject\n> &\n Trace;\n\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n> &\n Trace;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject> &\n Trace;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n> &\n Trace;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject> & Trace;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject> &\n Trace;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject> &\n Trace;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n> &\n Trace;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n> &\n Trace;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject> &\n Trace;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject> &\n Trace;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n> &\n Trace;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n> &\n Trace;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject> & Trace;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n> &\n Trace;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject> & Trace;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n> &\n Trace;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n> &\n Trace;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n> &\n Trace;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n> &\n Trace;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject> & Trace;\n\nconst templateContract = EACAggregatorProxy__factory.connect(\n \"0x0\",\n DummyProvider\n);\n\nexport class EACAggregatorProxyContractView extends ContractView<EACAggregatorProxy> {\n constructor(contract: EACAggregatorProxy) {\n super(contract);\n }\n\n async accessController(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"accessController()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"aggregator()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"decimals()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async description(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"description()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getAnswer(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"getRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getTimestamp(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestAnswer()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestRound()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"latestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestTimestamp()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"owner()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n try {\n return await this.contract.getFunction(\"phaseAggregators(uint16)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"phaseId()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"proposedAggregator()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedGetRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedLatestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"version()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.accessController(overrides || {});\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.aggregator(overrides || {});\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.decimals(overrides || {});\n }\n\n async description(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.description(overrides || {});\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.getAnswer(_roundId, overrides || {});\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.getRoundData(_roundId, overrides || {});\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.getTimestamp(_roundId, overrides || {});\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.latestAnswer(overrides || {});\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.latestRound(overrides || {});\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.latestRoundData(overrides || {});\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.latestTimestamp(overrides || {});\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.owner(overrides || {});\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.phaseAggregators(arg0, overrides || {});\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.phaseId(overrides || {});\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.proposedAggregator(overrides || {});\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.proposedGetRoundData(_roundId, overrides || {});\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.proposedLatestRoundData(overrides || {});\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: this.context.blockNumber,\n };\n }\n return await this.view.version(overrides || {});\n }\n}\n\nexport type EACAggregatorProxyContext = ContractContext<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n>;\n\nexport class EACAggregatorProxyProcessor extends BaseProcessor<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x79ba5097\", handler, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xbc43cbaf\", handler, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x245a7bfc\", handler, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xa928c096\", handler, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x313ce567\", handler, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x7284e416\", handler, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xb5ab58dc\", handler, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x9a6fc8f5\", handler, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xb633620c\", handler, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x50d25bcd\", handler, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x668a0f02\", handler, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xfeaf968c\", handler, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8205bf6a\", handler, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8da5cb5b\", handler, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xc1597304\", handler, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x58303b10\", handler, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xf8a2abd3\", handler, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xe8c4be30\", handler, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x6001ac53\", handler, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x8f6b4d91\", handler, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x92eefe9b\", handler, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0xf2fde38b\", handler, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n return super.onTrace(\"0x54fd4d50\", handler, fetchConfig);\n }\n\n public static filters = {\n AnswerUpdated(\n current?: BigNumberish | null,\n roundId?: BigNumberish | null,\n updatedAt?: null\n ) {\n return templateContract.filters[\"AnswerUpdated(int256,uint256,uint256)\"](\n current,\n roundId,\n updatedAt\n );\n },\n NewRound(\n roundId?: BigNumberish | null,\n startedBy?: string | null,\n startedAt?: null\n ) {\n return templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n roundId,\n startedBy,\n startedAt\n );\n },\n OwnershipTransferRequested(from?: string | null, to?: string | null) {\n return templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](from, to);\n },\n OwnershipTransferred(from?: string | null, to?: string | null) {\n return templateContract.filters[\"OwnershipTransferred(address,address)\"](\n from,\n to\n );\n },\n };\n\n protected CreateBoundContractView(): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(\n this.config.address,\n this.config.network\n );\n return new EACAggregatorProxyBoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): EACAggregatorProxyProcessor {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class EACAggregatorProxyProcessorTemplate extends BaseProcessorTemplate<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n address: string,\n network: Networkish = 1\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n network\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(network)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, network, contract);\n }\n return contract;\n}\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { addContractByABI, getContractByABI, addProcessor, getProcessor, getProvider, transformEtherError, BaseProcessor, BaseProcessorTemplate, BoundContractView, ContractView, DummyProvider,
|
1
|
+
import { addContractByABI, getContractByABI, addProcessor, getProcessor, getProvider, transformEtherError, BaseProcessor, BaseProcessorTemplate, BoundContractView, ContractView, DummyProvider, } from "@sentio/sdk/eth";
|
2
2
|
import { ERC1155__factory } from "./index.js";
|
3
3
|
const templateContract = ERC1155__factory.connect("0x0", DummyProvider);
|
4
4
|
export class ERC1155ContractView extends ContractView {
|
@@ -50,7 +50,7 @@ export class ERC1155BoundContractView extends BoundContractView {
|
|
50
50
|
async balanceOf(account, id, overrides) {
|
51
51
|
if (!overrides && this.context) {
|
52
52
|
overrides = {
|
53
|
-
blockTag:
|
53
|
+
blockTag: this.context.blockNumber,
|
54
54
|
};
|
55
55
|
}
|
56
56
|
return await this.view.balanceOf(account, id, overrides || {});
|
@@ -58,7 +58,7 @@ export class ERC1155BoundContractView extends BoundContractView {
|
|
58
58
|
async balanceOfBatch(accounts, ids, overrides) {
|
59
59
|
if (!overrides && this.context) {
|
60
60
|
overrides = {
|
61
|
-
blockTag:
|
61
|
+
blockTag: this.context.blockNumber,
|
62
62
|
};
|
63
63
|
}
|
64
64
|
return await this.view.balanceOfBatch(accounts, ids, overrides || {});
|
@@ -66,7 +66,7 @@ export class ERC1155BoundContractView extends BoundContractView {
|
|
66
66
|
async isApprovedForAll(account, operator, overrides) {
|
67
67
|
if (!overrides && this.context) {
|
68
68
|
overrides = {
|
69
|
-
blockTag:
|
69
|
+
blockTag: this.context.blockNumber,
|
70
70
|
};
|
71
71
|
}
|
72
72
|
return await this.view.isApprovedForAll(account, operator, overrides || {});
|
@@ -74,7 +74,7 @@ export class ERC1155BoundContractView extends BoundContractView {
|
|
74
74
|
async supportsInterface(interfaceId, overrides) {
|
75
75
|
if (!overrides && this.context) {
|
76
76
|
overrides = {
|
77
|
-
blockTag:
|
77
|
+
blockTag: this.context.blockNumber,
|
78
78
|
};
|
79
79
|
}
|
80
80
|
return await this.view.supportsInterface(interfaceId, overrides || {});
|
@@ -82,7 +82,7 @@ export class ERC1155BoundContractView extends BoundContractView {
|
|
82
82
|
async uri(id, overrides) {
|
83
83
|
if (!overrides && this.context) {
|
84
84
|
overrides = {
|
85
|
-
blockTag:
|
85
|
+
blockTag: this.context.blockNumber,
|
86
86
|
};
|
87
87
|
}
|
88
88
|
return await this.view.uri(id, overrides || {});
|