@sentio/sdk 1.7.18 → 1.7.21

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 (120) hide show
  1. package/lib/builtin/erc20/index.d.ts +1 -1
  2. package/lib/builtin/erc20/index.js +1 -1
  3. package/lib/builtin/erc20/index.js.map +1 -1
  4. package/lib/builtin/erc20/test-utils.d.ts +2 -1
  5. package/lib/builtin/erc20/test-utils.js +14 -3
  6. package/lib/builtin/erc20/test-utils.js.map +1 -1
  7. package/lib/builtin/erc20bytes/index.d.ts +2 -0
  8. package/lib/builtin/erc20bytes/index.js +22 -0
  9. package/lib/builtin/erc20bytes/index.js.map +1 -0
  10. package/lib/builtin/erc20bytes/test-utils.d.ts +4 -0
  11. package/lib/builtin/erc20bytes/test-utils.js +35 -0
  12. package/lib/builtin/erc20bytes/test-utils.js.map +1 -0
  13. package/lib/builtin/internal/ERC20.d.ts +307 -0
  14. package/lib/builtin/internal/{Weth9.js → ERC20.js} +1 -1
  15. package/lib/builtin/internal/ERC20.js.map +1 -0
  16. package/lib/builtin/internal/{Erc20.d.ts → ERC20Bytes.d.ts} +62 -46
  17. package/lib/builtin/internal/ERC20Bytes.js +3 -0
  18. package/lib/builtin/internal/ERC20Bytes.js.map +1 -0
  19. package/lib/builtin/internal/{Weth9.d.ts → WETH9.d.ts} +3 -3
  20. package/lib/builtin/internal/{Erc20.js → WETH9.js} +1 -1
  21. package/lib/builtin/internal/{Weth9.js.map → WETH9.js.map} +1 -1
  22. package/lib/builtin/internal/erc20_processor.d.ts +28 -16
  23. package/lib/builtin/internal/erc20_processor.js +168 -32
  24. package/lib/builtin/internal/erc20_processor.js.map +1 -1
  25. package/lib/builtin/internal/erc20bytes_processor.d.ts +42 -0
  26. package/lib/builtin/internal/erc20bytes_processor.js +271 -0
  27. package/lib/builtin/internal/erc20bytes_processor.js.map +1 -0
  28. package/lib/builtin/internal/factories/ERC20Bytes__factory.d.ts +48 -0
  29. package/lib/builtin/internal/factories/{Erc20__factory.js → ERC20Bytes__factory.js} +127 -89
  30. package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -0
  31. package/lib/builtin/internal/factories/{Erc20__factory.d.ts → ERC20__factory.d.ts} +12 -5
  32. package/lib/builtin/internal/factories/ERC20__factory.js +404 -0
  33. package/lib/builtin/internal/factories/ERC20__factory.js.map +1 -0
  34. package/lib/builtin/internal/factories/{Weth9__factory.d.ts → WETH9__factory.d.ts} +4 -4
  35. package/lib/builtin/internal/factories/{Weth9__factory.js → WETH9__factory.js} +4 -4
  36. package/lib/builtin/internal/factories/{Weth9__factory.js.map → WETH9__factory.js.map} +1 -1
  37. package/lib/builtin/internal/factories/index.d.ts +3 -2
  38. package/lib/builtin/internal/factories/index.js +7 -5
  39. package/lib/builtin/internal/factories/index.js.map +1 -1
  40. package/lib/builtin/internal/index.d.ts +6 -4
  41. package/lib/builtin/internal/index.js +7 -5
  42. package/lib/builtin/internal/index.js.map +1 -1
  43. package/lib/builtin/internal/weth9_processor.d.ts +20 -20
  44. package/lib/builtin/internal/weth9_processor.js +36 -36
  45. package/lib/builtin/internal/weth9_processor.js.map +1 -1
  46. package/lib/builtin/weth9/index.d.ts +1 -1
  47. package/lib/builtin/weth9/index.js +1 -1
  48. package/lib/builtin/weth9/index.js.map +1 -1
  49. package/lib/builtin/weth9/test-utils.js +4 -4
  50. package/lib/builtin/weth9/test-utils.js.map +1 -1
  51. package/lib/error.d.ts +5 -0
  52. package/lib/error.js +6 -4
  53. package/lib/error.js.map +1 -1
  54. package/lib/generic-processor.d.ts +3 -3
  55. package/lib/generic-processor.js +8 -11
  56. package/lib/generic-processor.js.map +1 -1
  57. package/lib/index.d.ts +1 -0
  58. package/lib/index.js +3 -1
  59. package/lib/index.js.map +1 -1
  60. package/lib/meter.d.ts +1 -0
  61. package/lib/meter.js +7 -1
  62. package/lib/meter.js.map +1 -1
  63. package/lib/meter.test.d.ts +1 -0
  64. package/lib/meter.test.js +16 -0
  65. package/lib/meter.test.js.map +1 -0
  66. package/lib/numberish.js.map +1 -1
  67. package/lib/test/erc20-template.js +3 -3
  68. package/lib/test/erc20-template.js.map +1 -1
  69. package/lib/test/erc20.js +8 -8
  70. package/lib/test/erc20.js.map +1 -1
  71. package/lib/test/erc20.test.js +3 -3
  72. package/lib/test/erc20.test.js.map +1 -1
  73. package/lib/utils/convert.d.ts +3 -1
  74. package/lib/utils/convert.js +19 -1
  75. package/lib/utils/convert.js.map +1 -1
  76. package/lib/utils/erc20.d.ts +9 -0
  77. package/lib/utils/erc20.js +51 -0
  78. package/lib/utils/erc20.js.map +1 -0
  79. package/lib/utils/erc20.test.d.ts +1 -0
  80. package/lib/utils/erc20.test.js +28 -0
  81. package/lib/utils/erc20.test.js.map +1 -0
  82. package/lib/utils/index.d.ts +2 -1
  83. package/lib/utils/index.js +5 -1
  84. package/lib/utils/index.js.map +1 -1
  85. package/package.json +3 -3
  86. package/src/abis/ERC20.json +174 -0
  87. package/src/abis/{erc20.json → ERC20Bytes.json} +124 -86
  88. package/src/abis/{weth9.json → WETH9.json} +0 -0
  89. package/src/builtin/erc20/index.ts +1 -1
  90. package/src/builtin/erc20/test-utils.ts +25 -3
  91. package/src/builtin/erc20bytes/index.ts +6 -0
  92. package/src/builtin/erc20bytes/test-utils.ts +53 -0
  93. package/src/builtin/internal/ERC20.ts +679 -0
  94. package/src/builtin/internal/{Erc20.ts → ERC20Bytes.ts} +138 -110
  95. package/src/builtin/internal/{Weth9.ts → WETH9.ts} +3 -3
  96. package/src/builtin/internal/erc20_processor.ts +188 -44
  97. package/src/builtin/internal/erc20bytes_processor.ts +362 -0
  98. package/src/builtin/internal/factories/{Erc20__factory.ts → ERC20Bytes__factory.ts} +132 -91
  99. package/src/builtin/internal/factories/ERC20__factory.ts +404 -0
  100. package/src/builtin/internal/factories/{Weth9__factory.ts → WETH9__factory.ts} +6 -6
  101. package/src/builtin/internal/factories/index.ts +3 -2
  102. package/src/builtin/internal/index.ts +6 -4
  103. package/src/builtin/internal/weth9_processor.ts +52 -52
  104. package/src/builtin/weth9/index.ts +1 -1
  105. package/src/builtin/weth9/test-utils.ts +5 -5
  106. package/src/error.ts +6 -4
  107. package/src/generic-processor.ts +8 -11
  108. package/src/index.ts +1 -0
  109. package/src/meter.test.ts +16 -0
  110. package/src/meter.ts +7 -0
  111. package/src/numberish.ts +2 -1
  112. package/src/test/erc20-template.ts +4 -4
  113. package/src/test/erc20.test.ts +3 -3
  114. package/src/test/erc20.ts +9 -9
  115. package/src/utils/convert.ts +21 -1
  116. package/src/utils/erc20.test.ts +31 -0
  117. package/src/utils/erc20.ts +60 -0
  118. package/src/utils/index.ts +2 -1
  119. package/lib/builtin/internal/Erc20.js.map +0 -1
  120. package/lib/builtin/internal/factories/Erc20__factory.js.map +0 -1
@@ -20,17 +20,19 @@ import {
20
20
  getContractName,
21
21
  } from "@sentio/sdk";
22
22
  import { PromiseOrValue } from "./common";
23
- import { Erc20, Erc20__factory } from "./index";
23
+ import { ERC20, ERC20__factory } from "./index";
24
24
  import {
25
25
  ApprovalEvent,
26
26
  ApprovalEventFilter,
27
+ OwnershipTransferredEvent,
28
+ OwnershipTransferredEventFilter,
27
29
  TransferEvent,
28
30
  TransferEventFilter,
29
- } from "./Erc20";
30
- const templateContract = Erc20__factory.connect("", DummyProvider);
31
+ } from "./ERC20";
32
+ const templateContract = ERC20__factory.connect("", DummyProvider);
31
33
 
32
- export class Erc20ContractView extends ContractView<Erc20> {
33
- constructor(contract: Erc20) {
34
+ export class ERC20ContractView extends ContractView<ERC20> {
35
+ constructor(contract: ERC20) {
34
36
  super(contract);
35
37
  }
36
38
 
@@ -74,6 +76,54 @@ export class Erc20ContractView extends ContractView<Erc20> {
74
76
  }
75
77
  }
76
78
 
79
+ async locker(overrides?: CallOverrides) {
80
+ try {
81
+ if (overrides) {
82
+ return await this.contract.locker(overrides);
83
+ } else {
84
+ return await this.contract.locker();
85
+ }
86
+ } catch (e) {
87
+ throw transformEtherError(e, undefined);
88
+ }
89
+ }
90
+
91
+ async name(overrides?: CallOverrides) {
92
+ try {
93
+ if (overrides) {
94
+ return await this.contract.name(overrides);
95
+ } else {
96
+ return await this.contract.name();
97
+ }
98
+ } catch (e) {
99
+ throw transformEtherError(e, undefined);
100
+ }
101
+ }
102
+
103
+ async owner(overrides?: CallOverrides) {
104
+ try {
105
+ if (overrides) {
106
+ return await this.contract.owner(overrides);
107
+ } else {
108
+ return await this.contract.owner();
109
+ }
110
+ } catch (e) {
111
+ throw transformEtherError(e, undefined);
112
+ }
113
+ }
114
+
115
+ async symbol(overrides?: CallOverrides) {
116
+ try {
117
+ if (overrides) {
118
+ return await this.contract.symbol(overrides);
119
+ } else {
120
+ return await this.contract.symbol();
121
+ }
122
+ } catch (e) {
123
+ throw transformEtherError(e, undefined);
124
+ }
125
+ }
126
+
77
127
  async totalSupply(overrides?: CallOverrides) {
78
128
  try {
79
129
  if (overrides) {
@@ -87,11 +137,11 @@ export class Erc20ContractView extends ContractView<Erc20> {
87
137
  }
88
138
  }
89
139
 
90
- export class Erc20BoundContractView extends BoundContractView<
91
- Erc20,
92
- Erc20ContractView
140
+ export class ERC20BoundContractView extends BoundContractView<
141
+ ERC20,
142
+ ERC20ContractView
93
143
  > {
94
- // constructor (contract: Erc20) {
144
+ // constructor (contract: ERC20) {
95
145
  // super(contract);
96
146
  // }
97
147
 
@@ -150,6 +200,74 @@ export class Erc20BoundContractView extends BoundContractView<
150
200
  }
151
201
  }
152
202
 
203
+ async locker(overrides?: CallOverrides) {
204
+ try {
205
+ if (!overrides && this.context) {
206
+ overrides = {
207
+ blockTag: this.context.blockNumber.toNumber(),
208
+ };
209
+ }
210
+ if (overrides) {
211
+ return await this.view.locker(overrides);
212
+ } else {
213
+ return await this.view.locker();
214
+ }
215
+ } catch (e) {
216
+ throw transformEtherError(e, this.context);
217
+ }
218
+ }
219
+
220
+ async name(overrides?: CallOverrides) {
221
+ try {
222
+ if (!overrides && this.context) {
223
+ overrides = {
224
+ blockTag: this.context.blockNumber.toNumber(),
225
+ };
226
+ }
227
+ if (overrides) {
228
+ return await this.view.name(overrides);
229
+ } else {
230
+ return await this.view.name();
231
+ }
232
+ } catch (e) {
233
+ throw transformEtherError(e, this.context);
234
+ }
235
+ }
236
+
237
+ async owner(overrides?: CallOverrides) {
238
+ try {
239
+ if (!overrides && this.context) {
240
+ overrides = {
241
+ blockTag: this.context.blockNumber.toNumber(),
242
+ };
243
+ }
244
+ if (overrides) {
245
+ return await this.view.owner(overrides);
246
+ } else {
247
+ return await this.view.owner();
248
+ }
249
+ } catch (e) {
250
+ throw transformEtherError(e, this.context);
251
+ }
252
+ }
253
+
254
+ async symbol(overrides?: CallOverrides) {
255
+ try {
256
+ if (!overrides && this.context) {
257
+ overrides = {
258
+ blockTag: this.context.blockNumber.toNumber(),
259
+ };
260
+ }
261
+ if (overrides) {
262
+ return await this.view.symbol(overrides);
263
+ } else {
264
+ return await this.view.symbol();
265
+ }
266
+ } catch (e) {
267
+ throw transformEtherError(e, this.context);
268
+ }
269
+ }
270
+
153
271
  async totalSupply(overrides?: CallOverrides) {
154
272
  try {
155
273
  if (!overrides && this.context) {
@@ -168,34 +286,34 @@ export class Erc20BoundContractView extends BoundContractView<
168
286
  }
169
287
  }
170
288
 
171
- export type Erc20Context = Context<Erc20, Erc20BoundContractView>;
289
+ export type ERC20Context = Context<ERC20, ERC20BoundContractView>;
172
290
 
173
- export class Erc20ProcessorTemplate extends BaseProcessorTemplate<
174
- Erc20,
175
- Erc20BoundContractView
291
+ export class ERC20ProcessorTemplate extends BaseProcessorTemplate<
292
+ ERC20,
293
+ ERC20BoundContractView
176
294
  > {
177
295
  bindInternal(options: BindOptions) {
178
- let processor = getProcessor("Erc20", options) as Erc20Processor;
296
+ let processor = getProcessor("ERC20", options) as ERC20Processor;
179
297
  if (!processor) {
180
298
  const finalOptions = Object.assign({}, options);
181
299
  finalOptions.name = getContractName(
182
- "Erc20",
300
+ "ERC20",
183
301
  options.name,
184
302
  options.address,
185
303
  options.network
186
304
  );
187
- processor = new Erc20Processor(finalOptions);
188
- addProcessor("Erc20", options, processor);
305
+ processor = new ERC20Processor(finalOptions);
306
+ addProcessor("ERC20", options, processor);
189
307
  }
190
308
  return processor;
191
309
  }
192
310
 
193
311
  onApproval(
194
- handler: (event: ApprovalEvent, ctx: Erc20Context) => void,
312
+ handler: (event: ApprovalEvent, ctx: ERC20Context) => void,
195
313
  filter?: ApprovalEventFilter | ApprovalEventFilter[]
196
314
  ) {
197
315
  if (!filter) {
198
- filter = Erc20Processor.filters["Approval(address,address,uint256)"](
316
+ filter = ERC20Processor.filters["Approval(address,address,uint256)"](
199
317
  null,
200
318
  null,
201
319
  null
@@ -204,12 +322,25 @@ export class Erc20ProcessorTemplate extends BaseProcessorTemplate<
204
322
  return super.onEvent(handler, filter);
205
323
  }
206
324
 
325
+ onOwnershipTransferred(
326
+ handler: (event: OwnershipTransferredEvent, ctx: ERC20Context) => void,
327
+ filter?: OwnershipTransferredEventFilter | OwnershipTransferredEventFilter[]
328
+ ) {
329
+ if (!filter) {
330
+ filter = ERC20Processor.filters["OwnershipTransferred(address,address)"](
331
+ null,
332
+ null
333
+ );
334
+ }
335
+ return super.onEvent(handler, filter);
336
+ }
337
+
207
338
  onTransfer(
208
- handler: (event: TransferEvent, ctx: Erc20Context) => void,
339
+ handler: (event: TransferEvent, ctx: ERC20Context) => void,
209
340
  filter?: TransferEventFilter | TransferEventFilter[]
210
341
  ) {
211
342
  if (!filter) {
212
- filter = Erc20Processor.filters["Transfer(address,address,uint256)"](
343
+ filter = ERC20Processor.filters["Transfer(address,address,uint256)"](
213
344
  null,
214
345
  null,
215
346
  null
@@ -219,16 +350,16 @@ export class Erc20ProcessorTemplate extends BaseProcessorTemplate<
219
350
  }
220
351
  }
221
352
 
222
- export class Erc20Processor extends BaseProcessor<
223
- Erc20,
224
- Erc20BoundContractView
353
+ export class ERC20Processor extends BaseProcessor<
354
+ ERC20,
355
+ ERC20BoundContractView
225
356
  > {
226
357
  onApproval(
227
- handler: (event: ApprovalEvent, ctx: Erc20Context) => void,
358
+ handler: (event: ApprovalEvent, ctx: ERC20Context) => void,
228
359
  filter?: ApprovalEventFilter | ApprovalEventFilter[]
229
360
  ) {
230
361
  if (!filter) {
231
- filter = Erc20Processor.filters["Approval(address,address,uint256)"](
362
+ filter = ERC20Processor.filters["Approval(address,address,uint256)"](
232
363
  null,
233
364
  null,
234
365
  null
@@ -237,12 +368,25 @@ export class Erc20Processor extends BaseProcessor<
237
368
  return super.onEvent(handler, filter);
238
369
  }
239
370
 
371
+ onOwnershipTransferred(
372
+ handler: (event: OwnershipTransferredEvent, ctx: ERC20Context) => void,
373
+ filter?: OwnershipTransferredEventFilter | OwnershipTransferredEventFilter[]
374
+ ) {
375
+ if (!filter) {
376
+ filter = ERC20Processor.filters["OwnershipTransferred(address,address)"](
377
+ null,
378
+ null
379
+ );
380
+ }
381
+ return super.onEvent(handler, filter);
382
+ }
383
+
240
384
  onTransfer(
241
- handler: (event: TransferEvent, ctx: Erc20Context) => void,
385
+ handler: (event: TransferEvent, ctx: ERC20Context) => void,
242
386
  filter?: TransferEventFilter | TransferEventFilter[]
243
387
  ) {
244
388
  if (!filter) {
245
- filter = Erc20Processor.filters["Transfer(address,address,uint256)"](
389
+ filter = ERC20Processor.filters["Transfer(address,address,uint256)"](
246
390
  null,
247
391
  null,
248
392
  null
@@ -253,43 +397,43 @@ export class Erc20Processor extends BaseProcessor<
253
397
 
254
398
  public static filters = templateContract.filters;
255
399
 
256
- protected CreateBoundContractView(): Erc20BoundContractView {
257
- const view = getErc20Contract(this.config.address, this.config.network);
258
- return new Erc20BoundContractView(view);
400
+ protected CreateBoundContractView(): ERC20BoundContractView {
401
+ const view = getERC20Contract(this.config.address, this.config.network);
402
+ return new ERC20BoundContractView(view);
259
403
  }
260
404
 
261
- public static bind(options: BindOptions): Erc20Processor {
262
- let processor = getProcessor("Erc20", options) as Erc20Processor;
405
+ public static bind(options: BindOptions): ERC20Processor {
406
+ let processor = getProcessor("ERC20", options) as ERC20Processor;
263
407
  if (!processor) {
264
- // const wrapper = getErc20Contract(options.address, options.network)
408
+ // const wrapper = getERC20Contract(options.address, options.network)
265
409
 
266
410
  const finalOptions = Object.assign({}, options);
267
411
  finalOptions.name = getContractName(
268
- "Erc20",
412
+ "ERC20",
269
413
  options.name,
270
414
  options.address,
271
415
  options.network
272
416
  );
273
- processor = new Erc20Processor(finalOptions);
274
- addProcessor("Erc20", options, processor);
417
+ processor = new ERC20Processor(finalOptions);
418
+ addProcessor("ERC20", options, processor);
275
419
  }
276
420
  return processor;
277
421
  }
278
422
  }
279
423
 
280
- export function getErc20Contract(
424
+ export function getERC20Contract(
281
425
  address: string,
282
426
  network: Networkish = 1
283
- ): Erc20ContractView {
427
+ ): ERC20ContractView {
284
428
  let contract = getContractByABI(
285
- "Erc20",
429
+ "ERC20",
286
430
  address,
287
431
  network
288
- ) as Erc20ContractView;
432
+ ) as ERC20ContractView;
289
433
  if (!contract) {
290
- const rawContract = Erc20__factory.connect(address, getProvider(network));
291
- contract = new Erc20ContractView(rawContract);
292
- addContractByABI("Erc20", address, network, contract);
434
+ const rawContract = ERC20__factory.connect(address, getProvider(network));
435
+ contract = new ERC20ContractView(rawContract);
436
+ addContractByABI("ERC20", address, network, contract);
293
437
  }
294
438
  return contract;
295
439
  }
@@ -0,0 +1,362 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { CallOverrides } from "ethers";
5
+ import { Networkish } from "@ethersproject/providers";
6
+ import {
7
+ addContractByABI,
8
+ getContractByABI,
9
+ addProcessor,
10
+ getProcessor,
11
+ getProvider,
12
+ transformEtherError,
13
+ BindOptions,
14
+ BaseProcessor,
15
+ BaseProcessorTemplate,
16
+ BoundContractView,
17
+ Context,
18
+ ContractView,
19
+ DummyProvider,
20
+ getContractName,
21
+ } from "@sentio/sdk";
22
+ import { PromiseOrValue } from "./common";
23
+ import { ERC20Bytes, ERC20Bytes__factory } from "./index";
24
+ import {
25
+ ApprovalEvent,
26
+ ApprovalEventFilter,
27
+ TransferEvent,
28
+ TransferEventFilter,
29
+ } from "./ERC20Bytes";
30
+ const templateContract = ERC20Bytes__factory.connect("", DummyProvider);
31
+
32
+ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
33
+ constructor(contract: ERC20Bytes) {
34
+ super(contract);
35
+ }
36
+
37
+ async name(overrides?: CallOverrides) {
38
+ try {
39
+ if (overrides) {
40
+ return await this.contract.name(overrides);
41
+ } else {
42
+ return await this.contract.name();
43
+ }
44
+ } catch (e) {
45
+ throw transformEtherError(e, undefined);
46
+ }
47
+ }
48
+
49
+ async totalSupply(overrides?: CallOverrides) {
50
+ try {
51
+ if (overrides) {
52
+ return await this.contract.totalSupply(overrides);
53
+ } else {
54
+ return await this.contract.totalSupply();
55
+ }
56
+ } catch (e) {
57
+ throw transformEtherError(e, undefined);
58
+ }
59
+ }
60
+
61
+ async decimals(overrides?: CallOverrides) {
62
+ try {
63
+ if (overrides) {
64
+ return await this.contract.decimals(overrides);
65
+ } else {
66
+ return await this.contract.decimals();
67
+ }
68
+ } catch (e) {
69
+ throw transformEtherError(e, undefined);
70
+ }
71
+ }
72
+
73
+ async balanceOf(who: PromiseOrValue<string>, overrides?: CallOverrides) {
74
+ try {
75
+ if (overrides) {
76
+ return await this.contract.balanceOf(who, overrides);
77
+ } else {
78
+ return await this.contract.balanceOf(who);
79
+ }
80
+ } catch (e) {
81
+ throw transformEtherError(e, undefined);
82
+ }
83
+ }
84
+
85
+ async symbol(overrides?: CallOverrides) {
86
+ try {
87
+ if (overrides) {
88
+ return await this.contract.symbol(overrides);
89
+ } else {
90
+ return await this.contract.symbol();
91
+ }
92
+ } catch (e) {
93
+ throw transformEtherError(e, undefined);
94
+ }
95
+ }
96
+
97
+ async allowance(
98
+ owner: PromiseOrValue<string>,
99
+ spender: PromiseOrValue<string>,
100
+ overrides?: CallOverrides
101
+ ) {
102
+ try {
103
+ if (overrides) {
104
+ return await this.contract.allowance(owner, spender, overrides);
105
+ } else {
106
+ return await this.contract.allowance(owner, spender);
107
+ }
108
+ } catch (e) {
109
+ throw transformEtherError(e, undefined);
110
+ }
111
+ }
112
+ }
113
+
114
+ export class ERC20BytesBoundContractView extends BoundContractView<
115
+ ERC20Bytes,
116
+ ERC20BytesContractView
117
+ > {
118
+ // constructor (contract: ERC20Bytes) {
119
+ // super(contract);
120
+ // }
121
+
122
+ async name(overrides?: CallOverrides) {
123
+ try {
124
+ if (!overrides && this.context) {
125
+ overrides = {
126
+ blockTag: this.context.blockNumber.toNumber(),
127
+ };
128
+ }
129
+ if (overrides) {
130
+ return await this.view.name(overrides);
131
+ } else {
132
+ return await this.view.name();
133
+ }
134
+ } catch (e) {
135
+ throw transformEtherError(e, this.context);
136
+ }
137
+ }
138
+
139
+ async totalSupply(overrides?: CallOverrides) {
140
+ try {
141
+ if (!overrides && this.context) {
142
+ overrides = {
143
+ blockTag: this.context.blockNumber.toNumber(),
144
+ };
145
+ }
146
+ if (overrides) {
147
+ return await this.view.totalSupply(overrides);
148
+ } else {
149
+ return await this.view.totalSupply();
150
+ }
151
+ } catch (e) {
152
+ throw transformEtherError(e, this.context);
153
+ }
154
+ }
155
+
156
+ async decimals(overrides?: CallOverrides) {
157
+ try {
158
+ if (!overrides && this.context) {
159
+ overrides = {
160
+ blockTag: this.context.blockNumber.toNumber(),
161
+ };
162
+ }
163
+ if (overrides) {
164
+ return await this.view.decimals(overrides);
165
+ } else {
166
+ return await this.view.decimals();
167
+ }
168
+ } catch (e) {
169
+ throw transformEtherError(e, this.context);
170
+ }
171
+ }
172
+
173
+ async balanceOf(who: PromiseOrValue<string>, overrides?: CallOverrides) {
174
+ try {
175
+ if (!overrides && this.context) {
176
+ overrides = {
177
+ blockTag: this.context.blockNumber.toNumber(),
178
+ };
179
+ }
180
+ if (overrides) {
181
+ return await this.view.balanceOf(who, overrides);
182
+ } else {
183
+ return await this.view.balanceOf(who);
184
+ }
185
+ } catch (e) {
186
+ throw transformEtherError(e, this.context);
187
+ }
188
+ }
189
+
190
+ async symbol(overrides?: CallOverrides) {
191
+ try {
192
+ if (!overrides && this.context) {
193
+ overrides = {
194
+ blockTag: this.context.blockNumber.toNumber(),
195
+ };
196
+ }
197
+ if (overrides) {
198
+ return await this.view.symbol(overrides);
199
+ } else {
200
+ return await this.view.symbol();
201
+ }
202
+ } catch (e) {
203
+ throw transformEtherError(e, this.context);
204
+ }
205
+ }
206
+
207
+ async allowance(
208
+ owner: PromiseOrValue<string>,
209
+ spender: PromiseOrValue<string>,
210
+ overrides?: CallOverrides
211
+ ) {
212
+ try {
213
+ if (!overrides && this.context) {
214
+ overrides = {
215
+ blockTag: this.context.blockNumber.toNumber(),
216
+ };
217
+ }
218
+ if (overrides) {
219
+ return await this.view.allowance(owner, spender, overrides);
220
+ } else {
221
+ return await this.view.allowance(owner, spender);
222
+ }
223
+ } catch (e) {
224
+ throw transformEtherError(e, this.context);
225
+ }
226
+ }
227
+ }
228
+
229
+ export type ERC20BytesContext = Context<
230
+ ERC20Bytes,
231
+ ERC20BytesBoundContractView
232
+ >;
233
+
234
+ export class ERC20BytesProcessorTemplate extends BaseProcessorTemplate<
235
+ ERC20Bytes,
236
+ ERC20BytesBoundContractView
237
+ > {
238
+ bindInternal(options: BindOptions) {
239
+ let processor = getProcessor("ERC20Bytes", options) as ERC20BytesProcessor;
240
+ if (!processor) {
241
+ const finalOptions = Object.assign({}, options);
242
+ finalOptions.name = getContractName(
243
+ "ERC20Bytes",
244
+ options.name,
245
+ options.address,
246
+ options.network
247
+ );
248
+ processor = new ERC20BytesProcessor(finalOptions);
249
+ addProcessor("ERC20Bytes", options, processor);
250
+ }
251
+ return processor;
252
+ }
253
+
254
+ onApproval(
255
+ handler: (event: ApprovalEvent, ctx: ERC20BytesContext) => void,
256
+ filter?: ApprovalEventFilter | ApprovalEventFilter[]
257
+ ) {
258
+ if (!filter) {
259
+ filter = ERC20BytesProcessor.filters["Approval(address,address,uint256)"](
260
+ null,
261
+ null,
262
+ null
263
+ );
264
+ }
265
+ return super.onEvent(handler, filter);
266
+ }
267
+
268
+ onTransfer(
269
+ handler: (event: TransferEvent, ctx: ERC20BytesContext) => void,
270
+ filter?: TransferEventFilter | TransferEventFilter[]
271
+ ) {
272
+ if (!filter) {
273
+ filter = ERC20BytesProcessor.filters["Transfer(address,address,uint256)"](
274
+ null,
275
+ null,
276
+ null
277
+ );
278
+ }
279
+ return super.onEvent(handler, filter);
280
+ }
281
+ }
282
+
283
+ export class ERC20BytesProcessor extends BaseProcessor<
284
+ ERC20Bytes,
285
+ ERC20BytesBoundContractView
286
+ > {
287
+ onApproval(
288
+ handler: (event: ApprovalEvent, ctx: ERC20BytesContext) => void,
289
+ filter?: ApprovalEventFilter | ApprovalEventFilter[]
290
+ ) {
291
+ if (!filter) {
292
+ filter = ERC20BytesProcessor.filters["Approval(address,address,uint256)"](
293
+ null,
294
+ null,
295
+ null
296
+ );
297
+ }
298
+ return super.onEvent(handler, filter);
299
+ }
300
+
301
+ onTransfer(
302
+ handler: (event: TransferEvent, ctx: ERC20BytesContext) => void,
303
+ filter?: TransferEventFilter | TransferEventFilter[]
304
+ ) {
305
+ if (!filter) {
306
+ filter = ERC20BytesProcessor.filters["Transfer(address,address,uint256)"](
307
+ null,
308
+ null,
309
+ null
310
+ );
311
+ }
312
+ return super.onEvent(handler, filter);
313
+ }
314
+
315
+ public static filters = templateContract.filters;
316
+
317
+ protected CreateBoundContractView(): ERC20BytesBoundContractView {
318
+ const view = getERC20BytesContract(
319
+ this.config.address,
320
+ this.config.network
321
+ );
322
+ return new ERC20BytesBoundContractView(view);
323
+ }
324
+
325
+ public static bind(options: BindOptions): ERC20BytesProcessor {
326
+ let processor = getProcessor("ERC20Bytes", options) as ERC20BytesProcessor;
327
+ if (!processor) {
328
+ // const wrapper = getERC20BytesContract(options.address, options.network)
329
+
330
+ const finalOptions = Object.assign({}, options);
331
+ finalOptions.name = getContractName(
332
+ "ERC20Bytes",
333
+ options.name,
334
+ options.address,
335
+ options.network
336
+ );
337
+ processor = new ERC20BytesProcessor(finalOptions);
338
+ addProcessor("ERC20Bytes", options, processor);
339
+ }
340
+ return processor;
341
+ }
342
+ }
343
+
344
+ export function getERC20BytesContract(
345
+ address: string,
346
+ network: Networkish = 1
347
+ ): ERC20BytesContractView {
348
+ let contract = getContractByABI(
349
+ "ERC20Bytes",
350
+ address,
351
+ network
352
+ ) as ERC20BytesContractView;
353
+ if (!contract) {
354
+ const rawContract = ERC20Bytes__factory.connect(
355
+ address,
356
+ getProvider(network)
357
+ );
358
+ contract = new ERC20BytesContractView(rawContract);
359
+ addContractByABI("ERC20Bytes", address, network, contract);
360
+ }
361
+ return contract;
362
+ }