@sentio/sdk 2.18.1-rc.9 → 2.18.2-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/lib/eth/base-processor-template.js +1 -1
  2. package/lib/eth/base-processor-template.js.map +1 -1
  3. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +46 -23
  4. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  5. package/lib/eth/builtin/internal/erc1155-processor.js +16 -8
  6. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  7. package/lib/eth/builtin/internal/erc20-processor.js +36 -18
  8. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  9. package/lib/eth/builtin/internal/erc20bytes-processor.js +18 -9
  10. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  11. package/lib/eth/builtin/internal/erc721-processor.js +28 -14
  12. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  13. package/lib/eth/builtin/internal/weth9-processor.js +22 -11
  14. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  15. package/lib/eth/codegen/function-calls.js +2 -1
  16. package/lib/eth/codegen/function-calls.js.map +1 -1
  17. package/lib/eth/eth.d.ts +2 -2
  18. package/lib/eth/eth.js +8 -13
  19. package/lib/eth/eth.js.map +1 -1
  20. package/package.json +3 -3
  21. package/src/eth/base-processor-template.ts +1 -1
  22. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +46 -23
  23. package/src/eth/builtin/internal/erc1155-processor.ts +16 -8
  24. package/src/eth/builtin/internal/erc20-processor.ts +36 -18
  25. package/src/eth/builtin/internal/erc20bytes-processor.ts +18 -9
  26. package/src/eth/builtin/internal/erc721-processor.ts +28 -14
  27. package/src/eth/builtin/internal/weth9-processor.ts +22 -11
  28. package/src/eth/codegen/function-calls.ts +2 -1
  29. package/src/eth/eth.ts +8 -13
@@ -31,7 +31,7 @@ export class BaseProcessorTemplate {
31
31
  return;
32
32
  }
33
33
  this.binds.add(sig);
34
- const processor = this.bindInternal(options);
34
+ const processor = this.bindInternal({ ...options, network: ctx.chainId });
35
35
  for (const eh of this.eventHandlers) {
36
36
  // @ts-ignore friendly
37
37
  processor.onEthEvent(eh.handler, eh.filter, eh.fetchConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../../src/eth/base-processor-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoundContractView, ContractContext, ContractView, EthContext } from './context.js'\nimport { BaseContract } from 'ethers'\nimport { BaseProcessor } from './base-processor.js'\nimport { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { EthFetchConfig, HandleInterval, TemplateInstance } from '@sentio/protos'\nimport { PromiseOrVoid } from '../core/promises.js'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { BlockParams } from 'ethers/providers'\nimport { DeferredTopicFilter } from 'ethers/contract'\nimport { TypedEvent, TypedCallTrace } from './eth.js'\nimport { TemplateInstanceState } from '../core/template.js'\n\nexport class ProcessorTemplateProcessorState extends ListStateStorage<\n BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>\n> {\n static INSTANCE = new ProcessorTemplateProcessorState()\n}\n\nexport abstract class BaseProcessorTemplate<\n TContract extends BaseContract,\n TBoundContractView extends BoundContractView<TContract, ContractView<TContract>>\n> {\n id: number\n binds = new Set<string>()\n blockHandlers: {\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n fetchConfig?: EthFetchConfig\n }[] = []\n traceHandlers: {\n signature: string\n handler: (trace: TypedCallTrace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n fetchConfig?: EthFetchConfig\n }[] = []\n eventHandlers: {\n handler: (event: TypedEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n filter: DeferredTopicFilter | DeferredTopicFilter[]\n fetchConfig?: EthFetchConfig\n }[] = []\n\n constructor() {\n this.id = ProcessorTemplateProcessorState.INSTANCE.getValues().length\n ProcessorTemplateProcessorState.INSTANCE.addValue(this)\n }\n\n /**\n * Bind template using {@param options}, using {@param ctx}'s network value if not provided in the option\n * @param options\n * @param ctx\n */\n public bind(options: Omit<BindOptions, 'network'>, ctx: EthContext): void {\n const sig = getOptionsSignature({\n address: options.address,\n network: ctx.chainId,\n })\n if (this.binds.has(sig)) {\n console.log(`Same address can be bind to one template only once, ignore duplicate bind: ${sig}`)\n return\n }\n this.binds.add(sig)\n\n const processor = this.bindInternal(options)\n\n for (const eh of this.eventHandlers) {\n // @ts-ignore friendly\n processor.onEthEvent(eh.handler, eh.filter, eh.fetchConfig)\n }\n for (const th of this.traceHandlers) {\n // @ts-ignore friendly\n processor.onEthTrace(th.signature, th.handler, th.fetchConfig)\n }\n for (const bh of this.blockHandlers) {\n processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval, bh.fetchConfig)\n }\n\n const instance: TemplateInstance = {\n templateId: this.id,\n contract: {\n address: options.address,\n name: options.name || '',\n chainId: ctx.chainId,\n abi: '',\n },\n startBlock: 0n,\n endBlock: 0n,\n }\n if (options.startBlock) {\n instance.startBlock = BigInt(options.startBlock)\n }\n if (options.endBlock) {\n instance.endBlock = BigInt(options.endBlock)\n }\n TemplateInstanceState.INSTANCE.addValue(instance)\n ctx._res.states.configUpdated = true\n }\n\n protected onEthEvent(\n handler: (event: TypedEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n filter: DeferredTopicFilter | DeferredTopicFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.eventHandlers.push({\n handler: handler,\n filter: filter,\n fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}),\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n blockInterval = 1000,\n backfillBlockInterval = 4000,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onInterval(\n handler,\n undefined,\n {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval,\n },\n fetchConfig\n )\n }\n\n public onTimeInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillBlockInterval = 240,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval },\n undefined,\n fetchConfig\n )\n }\n\n public onInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined,\n fetchConfig: EthFetchConfig | undefined\n ) {\n this.blockHandlers.push({ handler, timeIntervalInMinutes: timeInterval, blockInterval, fetchConfig })\n return this\n }\n\n public onTrace(\n signature: string,\n handler: (trace: TypedCallTrace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.traceHandlers.push({ signature, handler, fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}) })\n return this\n }\n\n protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TBoundContractView>\n}\n"]}
1
+ {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../../src/eth/base-processor-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoundContractView, ContractContext, ContractView, EthContext } from './context.js'\nimport { BaseContract } from 'ethers'\nimport { BaseProcessor } from './base-processor.js'\nimport { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { EthFetchConfig, HandleInterval, TemplateInstance } from '@sentio/protos'\nimport { PromiseOrVoid } from '../core/promises.js'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { BlockParams } from 'ethers/providers'\nimport { DeferredTopicFilter } from 'ethers/contract'\nimport { TypedEvent, TypedCallTrace } from './eth.js'\nimport { TemplateInstanceState } from '../core/template.js'\n\nexport class ProcessorTemplateProcessorState extends ListStateStorage<\n BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>\n> {\n static INSTANCE = new ProcessorTemplateProcessorState()\n}\n\nexport abstract class BaseProcessorTemplate<\n TContract extends BaseContract,\n TBoundContractView extends BoundContractView<TContract, ContractView<TContract>>\n> {\n id: number\n binds = new Set<string>()\n blockHandlers: {\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n fetchConfig?: EthFetchConfig\n }[] = []\n traceHandlers: {\n signature: string\n handler: (trace: TypedCallTrace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n fetchConfig?: EthFetchConfig\n }[] = []\n eventHandlers: {\n handler: (event: TypedEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n filter: DeferredTopicFilter | DeferredTopicFilter[]\n fetchConfig?: EthFetchConfig\n }[] = []\n\n constructor() {\n this.id = ProcessorTemplateProcessorState.INSTANCE.getValues().length\n ProcessorTemplateProcessorState.INSTANCE.addValue(this)\n }\n\n /**\n * Bind template using {@param options}, using {@param ctx}'s network value if not provided in the option\n * @param options\n * @param ctx\n */\n public bind(options: Omit<BindOptions, 'network'>, ctx: EthContext): void {\n const sig = getOptionsSignature({\n address: options.address,\n network: ctx.chainId,\n })\n if (this.binds.has(sig)) {\n console.log(`Same address can be bind to one template only once, ignore duplicate bind: ${sig}`)\n return\n }\n this.binds.add(sig)\n\n const processor = this.bindInternal({ ...options, network: ctx.chainId })\n\n for (const eh of this.eventHandlers) {\n // @ts-ignore friendly\n processor.onEthEvent(eh.handler, eh.filter, eh.fetchConfig)\n }\n for (const th of this.traceHandlers) {\n // @ts-ignore friendly\n processor.onEthTrace(th.signature, th.handler, th.fetchConfig)\n }\n for (const bh of this.blockHandlers) {\n processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval, bh.fetchConfig)\n }\n\n const instance: TemplateInstance = {\n templateId: this.id,\n contract: {\n address: options.address,\n name: options.name || '',\n chainId: ctx.chainId,\n abi: '',\n },\n startBlock: 0n,\n endBlock: 0n,\n }\n if (options.startBlock) {\n instance.startBlock = BigInt(options.startBlock)\n }\n if (options.endBlock) {\n instance.endBlock = BigInt(options.endBlock)\n }\n TemplateInstanceState.INSTANCE.addValue(instance)\n ctx._res.states.configUpdated = true\n }\n\n protected onEthEvent(\n handler: (event: TypedEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n filter: DeferredTopicFilter | DeferredTopicFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.eventHandlers.push({\n handler: handler,\n filter: filter,\n fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}),\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n blockInterval = 1000,\n backfillBlockInterval = 4000,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onInterval(\n handler,\n undefined,\n {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval,\n },\n fetchConfig\n )\n }\n\n public onTimeInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillBlockInterval = 240,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval },\n undefined,\n fetchConfig\n )\n }\n\n public onInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined,\n fetchConfig: EthFetchConfig | undefined\n ) {\n this.blockHandlers.push({ handler, timeIntervalInMinutes: timeInterval, blockInterval, fetchConfig })\n return this\n }\n\n public onTrace(\n signature: string,\n handler: (trace: TypedCallTrace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.traceHandlers.push({ signature, handler, fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}) })\n return this\n }\n\n protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TBoundContractView>\n}\n"]}
@@ -7,199 +7,222 @@ export class EACAggregatorProxyContractView extends ContractView {
7
7
  this.callStatic.contract = contract;
8
8
  }
9
9
  async accessController(overrides) {
10
+ const stack = new Error().stack;
10
11
  try {
11
12
  return await this.contract.getFunction("accessController()")(overrides || {});
12
13
  }
13
14
  catch (e) {
14
- throw transformEtherError(e, undefined);
15
+ throw transformEtherError(e, undefined, stack);
15
16
  }
16
17
  }
17
18
  async aggregator(overrides) {
19
+ const stack = new Error().stack;
18
20
  try {
19
21
  return await this.contract.getFunction("aggregator()")(overrides || {});
20
22
  }
21
23
  catch (e) {
22
- throw transformEtherError(e, undefined);
24
+ throw transformEtherError(e, undefined, stack);
23
25
  }
24
26
  }
25
27
  async decimals(overrides) {
28
+ const stack = new Error().stack;
26
29
  try {
27
30
  return await this.contract.getFunction("decimals()")(overrides || {});
28
31
  }
29
32
  catch (e) {
30
- throw transformEtherError(e, undefined);
33
+ throw transformEtherError(e, undefined, stack);
31
34
  }
32
35
  }
33
36
  async description(overrides) {
37
+ const stack = new Error().stack;
34
38
  try {
35
39
  return await this.contract.getFunction("description()")(overrides || {});
36
40
  }
37
41
  catch (e) {
38
- throw transformEtherError(e, undefined);
42
+ throw transformEtherError(e, undefined, stack);
39
43
  }
40
44
  }
41
45
  async getAnswer(_roundId, overrides) {
46
+ const stack = new Error().stack;
42
47
  try {
43
48
  return await this.contract.getFunction("getAnswer(uint256)")(_roundId, overrides || {});
44
49
  }
45
50
  catch (e) {
46
- throw transformEtherError(e, undefined);
51
+ throw transformEtherError(e, undefined, stack);
47
52
  }
48
53
  }
49
54
  async getRoundData(_roundId, overrides) {
55
+ const stack = new Error().stack;
50
56
  try {
51
57
  return await this.contract.getFunction("getRoundData(uint80)")(_roundId, overrides || {});
52
58
  }
53
59
  catch (e) {
54
- throw transformEtherError(e, undefined);
60
+ throw transformEtherError(e, undefined, stack);
55
61
  }
56
62
  }
57
63
  async getTimestamp(_roundId, overrides) {
64
+ const stack = new Error().stack;
58
65
  try {
59
66
  return await this.contract.getFunction("getTimestamp(uint256)")(_roundId, overrides || {});
60
67
  }
61
68
  catch (e) {
62
- throw transformEtherError(e, undefined);
69
+ throw transformEtherError(e, undefined, stack);
63
70
  }
64
71
  }
65
72
  async latestAnswer(overrides) {
73
+ const stack = new Error().stack;
66
74
  try {
67
75
  return await this.contract.getFunction("latestAnswer()")(overrides || {});
68
76
  }
69
77
  catch (e) {
70
- throw transformEtherError(e, undefined);
78
+ throw transformEtherError(e, undefined, stack);
71
79
  }
72
80
  }
73
81
  async latestRound(overrides) {
82
+ const stack = new Error().stack;
74
83
  try {
75
84
  return await this.contract.getFunction("latestRound()")(overrides || {});
76
85
  }
77
86
  catch (e) {
78
- throw transformEtherError(e, undefined);
87
+ throw transformEtherError(e, undefined, stack);
79
88
  }
80
89
  }
81
90
  async latestRoundData(overrides) {
91
+ const stack = new Error().stack;
82
92
  try {
83
93
  return await this.contract.getFunction("latestRoundData()")(overrides || {});
84
94
  }
85
95
  catch (e) {
86
- throw transformEtherError(e, undefined);
96
+ throw transformEtherError(e, undefined, stack);
87
97
  }
88
98
  }
89
99
  async latestTimestamp(overrides) {
100
+ const stack = new Error().stack;
90
101
  try {
91
102
  return await this.contract.getFunction("latestTimestamp()")(overrides || {});
92
103
  }
93
104
  catch (e) {
94
- throw transformEtherError(e, undefined);
105
+ throw transformEtherError(e, undefined, stack);
95
106
  }
96
107
  }
97
108
  async owner(overrides) {
109
+ const stack = new Error().stack;
98
110
  try {
99
111
  return await this.contract.getFunction("owner()")(overrides || {});
100
112
  }
101
113
  catch (e) {
102
- throw transformEtherError(e, undefined);
114
+ throw transformEtherError(e, undefined, stack);
103
115
  }
104
116
  }
105
117
  async phaseAggregators(arg0, overrides) {
118
+ const stack = new Error().stack;
106
119
  try {
107
120
  return await this.contract.getFunction("phaseAggregators(uint16)")(arg0, overrides || {});
108
121
  }
109
122
  catch (e) {
110
- throw transformEtherError(e, undefined);
123
+ throw transformEtherError(e, undefined, stack);
111
124
  }
112
125
  }
113
126
  async phaseId(overrides) {
127
+ const stack = new Error().stack;
114
128
  try {
115
129
  return await this.contract.getFunction("phaseId()")(overrides || {});
116
130
  }
117
131
  catch (e) {
118
- throw transformEtherError(e, undefined);
132
+ throw transformEtherError(e, undefined, stack);
119
133
  }
120
134
  }
121
135
  async proposedAggregator(overrides) {
136
+ const stack = new Error().stack;
122
137
  try {
123
138
  return await this.contract.getFunction("proposedAggregator()")(overrides || {});
124
139
  }
125
140
  catch (e) {
126
- throw transformEtherError(e, undefined);
141
+ throw transformEtherError(e, undefined, stack);
127
142
  }
128
143
  }
129
144
  async proposedGetRoundData(_roundId, overrides) {
145
+ const stack = new Error().stack;
130
146
  try {
131
147
  return await this.contract.getFunction("proposedGetRoundData(uint80)")(_roundId, overrides || {});
132
148
  }
133
149
  catch (e) {
134
- throw transformEtherError(e, undefined);
150
+ throw transformEtherError(e, undefined, stack);
135
151
  }
136
152
  }
137
153
  async proposedLatestRoundData(overrides) {
154
+ const stack = new Error().stack;
138
155
  try {
139
156
  return await this.contract.getFunction("proposedLatestRoundData()")(overrides || {});
140
157
  }
141
158
  catch (e) {
142
- throw transformEtherError(e, undefined);
159
+ throw transformEtherError(e, undefined, stack);
143
160
  }
144
161
  }
145
162
  async version(overrides) {
163
+ const stack = new Error().stack;
146
164
  try {
147
165
  return await this.contract.getFunction("version()")(overrides || {});
148
166
  }
149
167
  catch (e) {
150
- throw transformEtherError(e, undefined);
168
+ throw transformEtherError(e, undefined, stack);
151
169
  }
152
170
  }
153
171
  callStatic = {
154
172
  contract: this.contract,
155
173
  async acceptOwnership(overrides) {
174
+ const stack = new Error().stack;
156
175
  try {
157
176
  return await this.contract
158
177
  .getFunction("acceptOwnership()")
159
178
  .staticCall(overrides || {});
160
179
  }
161
180
  catch (e) {
162
- throw transformEtherError(e, undefined);
181
+ throw transformEtherError(e, undefined, stack);
163
182
  }
164
183
  },
165
184
  async confirmAggregator(_aggregator, overrides) {
185
+ const stack = new Error().stack;
166
186
  try {
167
187
  return await this.contract
168
188
  .getFunction("confirmAggregator(address)")
169
189
  .staticCall(_aggregator, overrides || {});
170
190
  }
171
191
  catch (e) {
172
- throw transformEtherError(e, undefined);
192
+ throw transformEtherError(e, undefined, stack);
173
193
  }
174
194
  },
175
195
  async proposeAggregator(_aggregator, overrides) {
196
+ const stack = new Error().stack;
176
197
  try {
177
198
  return await this.contract
178
199
  .getFunction("proposeAggregator(address)")
179
200
  .staticCall(_aggregator, overrides || {});
180
201
  }
181
202
  catch (e) {
182
- throw transformEtherError(e, undefined);
203
+ throw transformEtherError(e, undefined, stack);
183
204
  }
184
205
  },
185
206
  async setController(_accessController, overrides) {
207
+ const stack = new Error().stack;
186
208
  try {
187
209
  return await this.contract
188
210
  .getFunction("setController(address)")
189
211
  .staticCall(_accessController, overrides || {});
190
212
  }
191
213
  catch (e) {
192
- throw transformEtherError(e, undefined);
214
+ throw transformEtherError(e, undefined, stack);
193
215
  }
194
216
  },
195
217
  async transferOwnership(_to, overrides) {
218
+ const stack = new Error().stack;
196
219
  try {
197
220
  return await this.contract
198
221
  .getFunction("transferOwnership(address)")
199
222
  .staticCall(_to, overrides || {});
200
223
  }
201
224
  catch (e) {
202
- throw transformEtherError(e, undefined);
225
+ throw transformEtherError(e, undefined, stack);
203
226
  }
204
227
  },
205
228
  };
@@ -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 {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n EthChainId,\n TypedCallTrace,\n EthContext,\n EthFetchConfig,\n} from \"@sentio/sdk/eth\";\n\nimport { EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n EACAggregatorProxy,\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\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n>;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject>;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n>;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject>;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject>;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject>;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n>;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n>;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject>;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject>;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n>;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n>;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject>;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n>;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject>;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n>;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n>;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n>;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n>;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n>;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n>;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject>;\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 this.callStatic.contract = 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 callStatic = {\n contract: this.contract,\n\n async acceptOwnership(overrides?: Overrides): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"acceptOwnership()\")\n .staticCall(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async confirmAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"confirmAggregator(address)\")\n .staticCall(_aggregator, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async proposeAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"proposeAggregator(address)\")\n .staticCall(_aggregator, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async setController(\n _accessController: string,\n overrides?: Overrides\n ): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"setController(address)\")\n .staticCall(_accessController, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"transferOwnership(address)\")\n .staticCall(_to, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n };\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n return await this.view.accessController({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n return await this.view.aggregator({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n return await this.view.decimals({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async description(overrides?: Overrides): Promise<string> {\n return await this.view.description({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.getAnswer(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.getRoundData(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.getTimestamp(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestAnswer({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestRound({\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.latestRoundData({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestTimestamp({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n return await this.view.owner({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n return await this.view.phaseAggregators(arg0, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n return await this.view.phaseId({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n return await this.view.proposedAggregator({\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.proposedGetRoundData(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.proposedLatestRoundData({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n return await this.view.version({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n callStatic = {\n view: this.view,\n context: this.context,\n\n async acceptOwnership(overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.acceptOwnership({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async confirmAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.confirmAggregator(_aggregator, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async proposeAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.proposeAggregator(_aggregator, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async setController(\n _accessController: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.setController(_accessController, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.transferOwnership(_to, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x79ba5097\", handler as any, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xbc43cbaf\", handler as any, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x245a7bfc\", handler as any, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xa928c096\", handler as any, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x313ce567\", handler as any, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x7284e416\", handler as any, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xb5ab58dc\", handler as any, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x9a6fc8f5\", handler as any, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xb633620c\", handler as any, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x50d25bcd\", handler as any, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x668a0f02\", handler as any, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xfeaf968c\", handler as any, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8205bf6a\", handler as any, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8da5cb5b\", handler as any, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xc1597304\", handler as any, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x58303b10\", handler as any, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xf8a2abd3\", handler as any, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xe8c4be30\", handler as any, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x6001ac53\", handler as any, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8f6b4d91\", handler as any, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x92eefe9b\", handler as any, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xf2fde38b\", handler as any, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x54fd4d50\", handler as any, 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.network,\n this.config.address\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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n chainId: EthChainId,\n address: string\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n chainId\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(chainId)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, chainId, contract);\n }\n return contract;\n}\n\nexport function getEACAggregatorProxyContractOnContext(\n context: EthContext,\n address: string\n): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(context.getChainId(), address);\n const boundView = new EACAggregatorProxyBoundContractView(address, view);\n boundView.context = context;\n if (boundView.callStatic) {\n boundView.callStatic.context = context;\n }\n return boundView;\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 {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n EthChainId,\n TypedCallTrace,\n EthContext,\n EthFetchConfig,\n} from \"@sentio/sdk/eth\";\n\nimport { EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n EACAggregatorProxy,\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\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n>;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject>;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n>;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject>;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject>;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject>;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n>;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n>;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject>;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject>;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n>;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n>;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject>;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n>;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject>;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n>;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n>;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n>;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n>;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n>;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n>;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject>;\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 this.callStatic.contract = contract;\n }\n\n async accessController(overrides?: Overrides): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"accessController()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"aggregator()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"decimals()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async description(overrides?: Overrides): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"description()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"getAnswer(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\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 const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"getRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"getTimestamp(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"latestAnswer()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"latestRound()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\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 const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"latestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"latestTimestamp()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"owner()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"phaseAggregators(uint16)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"phaseId()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"proposedAggregator()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\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 const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"proposedGetRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\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 const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"proposedLatestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n const stack = new Error().stack;\n try {\n return await this.contract.getFunction(\"version()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n }\n\n callStatic = {\n contract: this.contract,\n\n async acceptOwnership(overrides?: Overrides): Promise<void> {\n const stack = new Error().stack;\n try {\n return await this.contract\n .getFunction(\"acceptOwnership()\")\n .staticCall(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n },\n async confirmAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n const stack = new Error().stack;\n try {\n return await this.contract\n .getFunction(\"confirmAggregator(address)\")\n .staticCall(_aggregator, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n },\n async proposeAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n const stack = new Error().stack;\n try {\n return await this.contract\n .getFunction(\"proposeAggregator(address)\")\n .staticCall(_aggregator, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n },\n async setController(\n _accessController: string,\n overrides?: Overrides\n ): Promise<void> {\n const stack = new Error().stack;\n try {\n return await this.contract\n .getFunction(\"setController(address)\")\n .staticCall(_accessController, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n },\n async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {\n const stack = new Error().stack;\n try {\n return await this.contract\n .getFunction(\"transferOwnership(address)\")\n .staticCall(_to, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined, stack);\n }\n },\n };\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n return await this.view.accessController({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n return await this.view.aggregator({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n return await this.view.decimals({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async description(overrides?: Overrides): Promise<string> {\n return await this.view.description({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.getAnswer(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.getRoundData(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.getTimestamp(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestAnswer({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestRound({\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.latestRoundData({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n return await this.view.latestTimestamp({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n return await this.view.owner({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n return await this.view.phaseAggregators(arg0, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n return await this.view.phaseId({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n return await this.view.proposedAggregator({\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.proposedGetRoundData(_roundId, {\n blockTag: this.context.blockNumber,\n ...overrides,\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 return await this.view.proposedLatestRoundData({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n return await this.view.version({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n callStatic = {\n view: this.view,\n context: this.context,\n\n async acceptOwnership(overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.acceptOwnership({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async confirmAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.confirmAggregator(_aggregator, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async proposeAggregator(\n _aggregator: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.proposeAggregator(_aggregator, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async setController(\n _accessController: string,\n overrides?: Overrides\n ): Promise<void> {\n return await this.view.callStatic.setController(_accessController, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.transferOwnership(_to, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x79ba5097\", handler as any, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xbc43cbaf\", handler as any, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x245a7bfc\", handler as any, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xa928c096\", handler as any, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x313ce567\", handler as any, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x7284e416\", handler as any, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xb5ab58dc\", handler as any, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x9a6fc8f5\", handler as any, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xb633620c\", handler as any, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x50d25bcd\", handler as any, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x668a0f02\", handler as any, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xfeaf968c\", handler as any, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8205bf6a\", handler as any, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8da5cb5b\", handler as any, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xc1597304\", handler as any, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x58303b10\", handler as any, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xf8a2abd3\", handler as any, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xe8c4be30\", handler as any, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x6001ac53\", handler as any, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x8f6b4d91\", handler as any, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x92eefe9b\", handler as any, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xf2fde38b\", handler as any, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x54fd4d50\", handler as any, 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.network,\n this.config.address\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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(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 ): this {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n chainId: EthChainId,\n address: string\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n chainId\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(chainId)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, chainId, contract);\n }\n return contract;\n}\n\nexport function getEACAggregatorProxyContractOnContext(\n context: EthContext,\n address: string\n): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(context.getChainId(), address);\n const boundView = new EACAggregatorProxyBoundContractView(address, view);\n boundView.context = context;\n if (boundView.callStatic) {\n boundView.callStatic.context = context;\n }\n return boundView;\n}\n"]}
@@ -7,75 +7,83 @@ export class ERC1155ContractView extends ContractView {
7
7
  this.callStatic.contract = contract;
8
8
  }
9
9
  async balanceOf(account, id, overrides) {
10
+ const stack = new Error().stack;
10
11
  try {
11
12
  return await this.contract.getFunction("balanceOf(address,uint256)")(account, id, overrides || {});
12
13
  }
13
14
  catch (e) {
14
- throw transformEtherError(e, undefined);
15
+ throw transformEtherError(e, undefined, stack);
15
16
  }
16
17
  }
17
18
  async balanceOfBatch(accounts, ids, overrides) {
19
+ const stack = new Error().stack;
18
20
  try {
19
21
  return await this.contract.getFunction("balanceOfBatch(address[],uint256[])")(accounts, ids, overrides || {});
20
22
  }
21
23
  catch (e) {
22
- throw transformEtherError(e, undefined);
24
+ throw transformEtherError(e, undefined, stack);
23
25
  }
24
26
  }
25
27
  async isApprovedForAll(account, operator, overrides) {
28
+ const stack = new Error().stack;
26
29
  try {
27
30
  return await this.contract.getFunction("isApprovedForAll(address,address)")(account, operator, overrides || {});
28
31
  }
29
32
  catch (e) {
30
- throw transformEtherError(e, undefined);
33
+ throw transformEtherError(e, undefined, stack);
31
34
  }
32
35
  }
33
36
  async supportsInterface(interfaceId, overrides) {
37
+ const stack = new Error().stack;
34
38
  try {
35
39
  return await this.contract.getFunction("supportsInterface(bytes4)")(interfaceId, overrides || {});
36
40
  }
37
41
  catch (e) {
38
- throw transformEtherError(e, undefined);
42
+ throw transformEtherError(e, undefined, stack);
39
43
  }
40
44
  }
41
45
  async uri(id, overrides) {
46
+ const stack = new Error().stack;
42
47
  try {
43
48
  return await this.contract.getFunction("uri(uint256)")(id, overrides || {});
44
49
  }
45
50
  catch (e) {
46
- throw transformEtherError(e, undefined);
51
+ throw transformEtherError(e, undefined, stack);
47
52
  }
48
53
  }
49
54
  callStatic = {
50
55
  contract: this.contract,
51
56
  async safeBatchTransferFrom(from, to, ids, amounts, data, overrides) {
57
+ const stack = new Error().stack;
52
58
  try {
53
59
  return await this.contract
54
60
  .getFunction("safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)")
55
61
  .staticCall(from, to, ids, amounts, data, overrides || {});
56
62
  }
57
63
  catch (e) {
58
- throw transformEtherError(e, undefined);
64
+ throw transformEtherError(e, undefined, stack);
59
65
  }
60
66
  },
61
67
  async safeTransferFrom(from, to, id, amount, data, overrides) {
68
+ const stack = new Error().stack;
62
69
  try {
63
70
  return await this.contract
64
71
  .getFunction("safeTransferFrom(address,address,uint256,uint256,bytes)")
65
72
  .staticCall(from, to, id, amount, data, overrides || {});
66
73
  }
67
74
  catch (e) {
68
- throw transformEtherError(e, undefined);
75
+ throw transformEtherError(e, undefined, stack);
69
76
  }
70
77
  },
71
78
  async setApprovalForAll(operator, approved, overrides) {
79
+ const stack = new Error().stack;
72
80
  try {
73
81
  return await this.contract
74
82
  .getFunction("setApprovalForAll(address,bool)")
75
83
  .staticCall(operator, approved, overrides || {});
76
84
  }
77
85
  catch (e) {
78
- throw transformEtherError(e, undefined);
86
+ throw transformEtherError(e, undefined, stack);
79
87
  }
80
88
  },
81
89
  };