@sentio/sdk 1.30.2 → 1.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/aptos/aptos-processor.d.ts +9 -2
- package/lib/aptos/aptos-processor.js +12 -3
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/builtin/erc1155/index.d.ts +2 -0
- package/lib/builtin/erc1155/index.js +22 -0
- package/lib/builtin/erc1155/index.js.map +1 -0
- package/lib/builtin/erc1155/test-utils.d.ts +6 -0
- package/lib/builtin/erc1155/test-utils.js +57 -0
- package/lib/builtin/erc1155/test-utils.js.map +1 -0
- package/lib/builtin/erc721/index.d.ts +2 -0
- package/lib/builtin/erc721/index.js +22 -0
- package/lib/builtin/erc721/index.js.map +1 -0
- package/lib/builtin/erc721/test-utils.d.ts +5 -0
- package/lib/builtin/erc721/test-utils.js +46 -0
- package/lib/builtin/erc721/test-utils.js.map +1 -0
- package/lib/builtin/internal/ERC1155.d.ts +199 -0
- package/lib/builtin/internal/ERC1155.js +3 -0
- package/lib/builtin/internal/ERC1155.js.map +1 -0
- package/lib/builtin/internal/ERC721.d.ts +252 -0
- package/lib/builtin/internal/ERC721.js +3 -0
- package/lib/builtin/internal/ERC721.js.map +1 -0
- package/lib/builtin/internal/erc1155_processor.d.ts +134 -0
- package/lib/builtin/internal/erc1155_processor.js +337 -0
- package/lib/builtin/internal/erc1155_processor.js.map +1 -0
- package/lib/builtin/internal/erc721_processor.d.ts +169 -0
- package/lib/builtin/internal/erc721_processor.js +479 -0
- package/lib/builtin/internal/erc721_processor.js.map +1 -0
- package/lib/builtin/internal/factories/ERC1155__factory.d.ts +35 -0
- package/lib/builtin/internal/factories/ERC1155__factory.js +332 -0
- package/lib/builtin/internal/factories/ERC1155__factory.js.map +1 -0
- package/lib/builtin/internal/factories/ERC721__factory.d.ts +51 -0
- package/lib/builtin/internal/factories/ERC721__factory.js +364 -0
- package/lib/builtin/internal/factories/ERC721__factory.js.map +1 -0
- package/lib/builtin/internal/factories/index.d.ts +2 -0
- package/lib/builtin/internal/factories/index.js +5 -1
- package/lib/builtin/internal/factories/index.js.map +1 -1
- package/lib/builtin/internal/index.d.ts +4 -0
- package/lib/builtin/internal/index.js +5 -1
- package/lib/builtin/internal/index.js.map +1 -1
- package/lib/core/account-processor.d.ts +58 -0
- package/lib/core/account-processor.js +147 -0
- package/lib/core/account-processor.js.map +1 -0
- package/lib/core/base-processor.d.ts +5 -2
- package/lib/core/base-processor.js.map +1 -1
- package/lib/core/bind-options.d.ts +5 -0
- package/lib/core/bind-options.js +7 -1
- package/lib/core/bind-options.js.map +1 -1
- package/lib/core/context.d.ts +7 -1
- package/lib/core/context.js +30 -18
- package/lib/core/context.js.map +1 -1
- package/lib/core/event-tracker.d.ts +5 -1
- package/lib/core/event-tracker.js +8 -5
- package/lib/core/event-tracker.js.map +1 -1
- package/lib/core/meter.js +6 -0
- package/lib/core/meter.js.map +1 -1
- package/lib/gen/chainquery/protos/chainquery.d.ts +1 -0
- package/lib/gen/chainquery/protos/chainquery.js +17 -1
- package/lib/gen/chainquery/protos/chainquery.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +11 -0
- package/lib/gen/processor/protos/processor.js +84 -3
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/service.d.ts +1 -0
- package/lib/service.js +72 -45
- package/lib/service.js.map +1 -1
- package/lib/state/processor-state.d.ts +1 -5
- package/lib/state/processor-state.js +1 -3
- package/lib/state/processor-state.js.map +1 -1
- package/lib/state/state-storage.d.ts +5 -0
- package/lib/state/state-storage.js +15 -1
- package/lib/state/state-storage.js.map +1 -1
- package/lib/testing/test-processor-server.d.ts +6 -2
- package/lib/testing/test-processor-server.js +66 -5
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/utils/price.js +11 -4
- package/lib/utils/price.js.map +1 -1
- package/package.json +1 -1
- package/src/abis/ERC1155.json +314 -0
- package/src/abis/ERC721.json +346 -0
- package/src/aptos/aptos-processor.ts +15 -6
- package/src/builtin/erc1155/index.ts +6 -0
- package/src/builtin/erc1155/test-utils.ts +89 -0
- package/src/builtin/erc721/index.ts +6 -0
- package/src/builtin/erc721/test-utils.ts +71 -0
- package/src/builtin/internal/ERC1155.ts +529 -0
- package/src/builtin/internal/ERC721.ts +639 -0
- package/src/builtin/internal/erc1155_processor.ts +580 -0
- package/src/builtin/internal/erc721_processor.ts +768 -0
- package/src/builtin/internal/factories/ERC1155__factory.ts +335 -0
- package/src/builtin/internal/factories/ERC721__factory.ts +364 -0
- package/src/builtin/internal/factories/index.ts +2 -0
- package/src/builtin/internal/index.ts +4 -0
- package/src/core/account-processor.ts +217 -0
- package/src/core/base-processor.ts +6 -2
- package/src/core/bind-options.ts +6 -0
- package/src/core/context.ts +42 -27
- package/src/core/event-tracker.ts +8 -5
- package/src/core/meter.ts +9 -3
- package/src/gen/chainquery/protos/chainquery.ts +18 -1
- package/src/gen/processor/protos/processor.ts +88 -1
- package/src/index.ts +1 -1
- package/src/service.ts +80 -49
- package/src/state/processor-state.ts +1 -6
- package/src/state/state-storage.ts +16 -0
- package/src/testing/test-processor-server.ts +71 -5
- package/src/utils/price.ts +12 -4
|
@@ -0,0 +1,580 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { BigNumber, BigNumberish, CallOverrides, BytesLike } 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
|
+
ContractContext,
|
|
18
|
+
ContractView,
|
|
19
|
+
DummyProvider,
|
|
20
|
+
TypedCallTrace,
|
|
21
|
+
} from "@sentio/sdk";
|
|
22
|
+
import { PromiseOrValue } from "./common";
|
|
23
|
+
import { ERC1155, ERC1155__factory } from "./index";
|
|
24
|
+
import {
|
|
25
|
+
ApprovalForAllEvent,
|
|
26
|
+
ApprovalForAllEventFilter,
|
|
27
|
+
TransferBatchEvent,
|
|
28
|
+
TransferBatchEventFilter,
|
|
29
|
+
TransferSingleEvent,
|
|
30
|
+
TransferSingleEventFilter,
|
|
31
|
+
URIEvent,
|
|
32
|
+
URIEventFilter,
|
|
33
|
+
} from "./ERC1155";
|
|
34
|
+
|
|
35
|
+
export interface BalanceOfCallObject {
|
|
36
|
+
account: string;
|
|
37
|
+
id: BigNumber;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type BalanceOfCallTrace = TypedCallTrace<
|
|
41
|
+
[string, BigNumber],
|
|
42
|
+
BalanceOfCallObject
|
|
43
|
+
>;
|
|
44
|
+
|
|
45
|
+
export interface BalanceOfBatchCallObject {
|
|
46
|
+
accounts: string[];
|
|
47
|
+
ids: BigNumber[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type BalanceOfBatchCallTrace = TypedCallTrace<
|
|
51
|
+
[string[], BigNumber[]],
|
|
52
|
+
BalanceOfBatchCallObject
|
|
53
|
+
>;
|
|
54
|
+
|
|
55
|
+
export interface IsApprovedForAllCallObject {
|
|
56
|
+
account: string;
|
|
57
|
+
operator: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type IsApprovedForAllCallTrace = TypedCallTrace<
|
|
61
|
+
[string, string],
|
|
62
|
+
IsApprovedForAllCallObject
|
|
63
|
+
>;
|
|
64
|
+
|
|
65
|
+
export interface SafeBatchTransferFromCallObject {
|
|
66
|
+
from: string;
|
|
67
|
+
to: string;
|
|
68
|
+
ids: BigNumber[];
|
|
69
|
+
amounts: BigNumber[];
|
|
70
|
+
data: string;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type SafeBatchTransferFromCallTrace = TypedCallTrace<
|
|
74
|
+
[string, string, BigNumber[], BigNumber[], string],
|
|
75
|
+
SafeBatchTransferFromCallObject
|
|
76
|
+
>;
|
|
77
|
+
|
|
78
|
+
export interface SafeTransferFromCallObject {
|
|
79
|
+
from: string;
|
|
80
|
+
to: string;
|
|
81
|
+
id: BigNumber;
|
|
82
|
+
amount: BigNumber;
|
|
83
|
+
data: string;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type SafeTransferFromCallTrace = TypedCallTrace<
|
|
87
|
+
[string, string, BigNumber, BigNumber, string],
|
|
88
|
+
SafeTransferFromCallObject
|
|
89
|
+
>;
|
|
90
|
+
|
|
91
|
+
export interface SetApprovalForAllCallObject {
|
|
92
|
+
operator: string;
|
|
93
|
+
approved: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export type SetApprovalForAllCallTrace = TypedCallTrace<
|
|
97
|
+
[string, boolean],
|
|
98
|
+
SetApprovalForAllCallObject
|
|
99
|
+
>;
|
|
100
|
+
|
|
101
|
+
export interface SupportsInterfaceCallObject {
|
|
102
|
+
interfaceId: string;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export type SupportsInterfaceCallTrace = TypedCallTrace<
|
|
106
|
+
[string],
|
|
107
|
+
SupportsInterfaceCallObject
|
|
108
|
+
>;
|
|
109
|
+
|
|
110
|
+
export interface UriCallObject {
|
|
111
|
+
id: BigNumber;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export type UriCallTrace = TypedCallTrace<[BigNumber], UriCallObject>;
|
|
115
|
+
|
|
116
|
+
const templateContract = ERC1155__factory.connect("", DummyProvider);
|
|
117
|
+
|
|
118
|
+
export class ERC1155ContractView extends ContractView<ERC1155> {
|
|
119
|
+
constructor(contract: ERC1155) {
|
|
120
|
+
super(contract);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
async balanceOf(
|
|
124
|
+
account: PromiseOrValue<string>,
|
|
125
|
+
id: PromiseOrValue<BigNumberish>,
|
|
126
|
+
overrides?: CallOverrides
|
|
127
|
+
): Promise<BigNumber> {
|
|
128
|
+
try {
|
|
129
|
+
if (overrides) {
|
|
130
|
+
return await this.contract.balanceOf(account, id, overrides);
|
|
131
|
+
} else {
|
|
132
|
+
return await this.contract.balanceOf(account, id);
|
|
133
|
+
}
|
|
134
|
+
} catch (e) {
|
|
135
|
+
throw transformEtherError(e, undefined);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
async balanceOfBatch(
|
|
140
|
+
accounts: PromiseOrValue<string>[],
|
|
141
|
+
ids: PromiseOrValue<BigNumberish>[],
|
|
142
|
+
overrides?: CallOverrides
|
|
143
|
+
): Promise<BigNumber[]> {
|
|
144
|
+
try {
|
|
145
|
+
if (overrides) {
|
|
146
|
+
return await this.contract.balanceOfBatch(accounts, ids, overrides);
|
|
147
|
+
} else {
|
|
148
|
+
return await this.contract.balanceOfBatch(accounts, ids);
|
|
149
|
+
}
|
|
150
|
+
} catch (e) {
|
|
151
|
+
throw transformEtherError(e, undefined);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
async isApprovedForAll(
|
|
156
|
+
account: PromiseOrValue<string>,
|
|
157
|
+
operator: PromiseOrValue<string>,
|
|
158
|
+
overrides?: CallOverrides
|
|
159
|
+
): Promise<boolean> {
|
|
160
|
+
try {
|
|
161
|
+
if (overrides) {
|
|
162
|
+
return await this.contract.isApprovedForAll(
|
|
163
|
+
account,
|
|
164
|
+
operator,
|
|
165
|
+
overrides
|
|
166
|
+
);
|
|
167
|
+
} else {
|
|
168
|
+
return await this.contract.isApprovedForAll(account, operator);
|
|
169
|
+
}
|
|
170
|
+
} catch (e) {
|
|
171
|
+
throw transformEtherError(e, undefined);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
async supportsInterface(
|
|
176
|
+
interfaceId: PromiseOrValue<BytesLike>,
|
|
177
|
+
overrides?: CallOverrides
|
|
178
|
+
): Promise<boolean> {
|
|
179
|
+
try {
|
|
180
|
+
if (overrides) {
|
|
181
|
+
return await this.contract.supportsInterface(interfaceId, overrides);
|
|
182
|
+
} else {
|
|
183
|
+
return await this.contract.supportsInterface(interfaceId);
|
|
184
|
+
}
|
|
185
|
+
} catch (e) {
|
|
186
|
+
throw transformEtherError(e, undefined);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
async uri(
|
|
191
|
+
id: PromiseOrValue<BigNumberish>,
|
|
192
|
+
overrides?: CallOverrides
|
|
193
|
+
): Promise<string> {
|
|
194
|
+
try {
|
|
195
|
+
if (overrides) {
|
|
196
|
+
return await this.contract.uri(id, overrides);
|
|
197
|
+
} else {
|
|
198
|
+
return await this.contract.uri(id);
|
|
199
|
+
}
|
|
200
|
+
} catch (e) {
|
|
201
|
+
throw transformEtherError(e, undefined);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export class ERC1155BoundContractView extends BoundContractView<
|
|
207
|
+
ERC1155,
|
|
208
|
+
ERC1155ContractView
|
|
209
|
+
> {
|
|
210
|
+
// constructor (contract: ERC1155) {
|
|
211
|
+
// super(contract);
|
|
212
|
+
// }
|
|
213
|
+
|
|
214
|
+
async balanceOf(
|
|
215
|
+
account: PromiseOrValue<string>,
|
|
216
|
+
id: PromiseOrValue<BigNumberish>,
|
|
217
|
+
overrides?: CallOverrides
|
|
218
|
+
): Promise<BigNumber> {
|
|
219
|
+
try {
|
|
220
|
+
if (!overrides && this.context) {
|
|
221
|
+
overrides = {
|
|
222
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
if (overrides) {
|
|
226
|
+
return await this.view.balanceOf(account, id, overrides);
|
|
227
|
+
} else {
|
|
228
|
+
return await this.view.balanceOf(account, id);
|
|
229
|
+
}
|
|
230
|
+
} catch (e) {
|
|
231
|
+
throw transformEtherError(e, this.context);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
async balanceOfBatch(
|
|
236
|
+
accounts: PromiseOrValue<string>[],
|
|
237
|
+
ids: PromiseOrValue<BigNumberish>[],
|
|
238
|
+
overrides?: CallOverrides
|
|
239
|
+
): Promise<BigNumber[]> {
|
|
240
|
+
try {
|
|
241
|
+
if (!overrides && this.context) {
|
|
242
|
+
overrides = {
|
|
243
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if (overrides) {
|
|
247
|
+
return await this.view.balanceOfBatch(accounts, ids, overrides);
|
|
248
|
+
} else {
|
|
249
|
+
return await this.view.balanceOfBatch(accounts, ids);
|
|
250
|
+
}
|
|
251
|
+
} catch (e) {
|
|
252
|
+
throw transformEtherError(e, this.context);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
async isApprovedForAll(
|
|
257
|
+
account: PromiseOrValue<string>,
|
|
258
|
+
operator: PromiseOrValue<string>,
|
|
259
|
+
overrides?: CallOverrides
|
|
260
|
+
): Promise<boolean> {
|
|
261
|
+
try {
|
|
262
|
+
if (!overrides && this.context) {
|
|
263
|
+
overrides = {
|
|
264
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
if (overrides) {
|
|
268
|
+
return await this.view.isApprovedForAll(account, operator, overrides);
|
|
269
|
+
} else {
|
|
270
|
+
return await this.view.isApprovedForAll(account, operator);
|
|
271
|
+
}
|
|
272
|
+
} catch (e) {
|
|
273
|
+
throw transformEtherError(e, this.context);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
async supportsInterface(
|
|
278
|
+
interfaceId: PromiseOrValue<BytesLike>,
|
|
279
|
+
overrides?: CallOverrides
|
|
280
|
+
): Promise<boolean> {
|
|
281
|
+
try {
|
|
282
|
+
if (!overrides && this.context) {
|
|
283
|
+
overrides = {
|
|
284
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
if (overrides) {
|
|
288
|
+
return await this.view.supportsInterface(interfaceId, overrides);
|
|
289
|
+
} else {
|
|
290
|
+
return await this.view.supportsInterface(interfaceId);
|
|
291
|
+
}
|
|
292
|
+
} catch (e) {
|
|
293
|
+
throw transformEtherError(e, this.context);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
async uri(
|
|
298
|
+
id: PromiseOrValue<BigNumberish>,
|
|
299
|
+
overrides?: CallOverrides
|
|
300
|
+
): Promise<string> {
|
|
301
|
+
try {
|
|
302
|
+
if (!overrides && this.context) {
|
|
303
|
+
overrides = {
|
|
304
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
if (overrides) {
|
|
308
|
+
return await this.view.uri(id, overrides);
|
|
309
|
+
} else {
|
|
310
|
+
return await this.view.uri(id);
|
|
311
|
+
}
|
|
312
|
+
} catch (e) {
|
|
313
|
+
throw transformEtherError(e, this.context);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export type ERC1155Context = ContractContext<ERC1155, ERC1155BoundContractView>;
|
|
319
|
+
|
|
320
|
+
export class ERC1155ProcessorTemplate extends BaseProcessorTemplate<
|
|
321
|
+
ERC1155,
|
|
322
|
+
ERC1155BoundContractView
|
|
323
|
+
> {
|
|
324
|
+
bindInternal(options: BindOptions) {
|
|
325
|
+
if (!options.name) {
|
|
326
|
+
options.name = "ERC1155";
|
|
327
|
+
}
|
|
328
|
+
let processor = getProcessor(options) as ERC1155Processor;
|
|
329
|
+
if (!processor) {
|
|
330
|
+
processor = new ERC1155Processor(options);
|
|
331
|
+
addProcessor(options, processor);
|
|
332
|
+
}
|
|
333
|
+
return processor;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
onEventApprovalForAll(
|
|
337
|
+
handler: (event: ApprovalForAllEvent, ctx: ERC1155Context) => void,
|
|
338
|
+
filter?: ApprovalForAllEventFilter | ApprovalForAllEventFilter[]
|
|
339
|
+
) {
|
|
340
|
+
if (!filter) {
|
|
341
|
+
// @ts-ignore
|
|
342
|
+
filter = ERC1155Processor.filters[
|
|
343
|
+
// @ts-ignore
|
|
344
|
+
"ApprovalForAll(address,address,bool)"
|
|
345
|
+
](null, null, null);
|
|
346
|
+
}
|
|
347
|
+
return super.onEvent(handler, filter!);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
onEventTransferBatch(
|
|
351
|
+
handler: (event: TransferBatchEvent, ctx: ERC1155Context) => void,
|
|
352
|
+
filter?: TransferBatchEventFilter | TransferBatchEventFilter[]
|
|
353
|
+
) {
|
|
354
|
+
if (!filter) {
|
|
355
|
+
// @ts-ignore
|
|
356
|
+
filter = ERC1155Processor.filters[
|
|
357
|
+
// @ts-ignore
|
|
358
|
+
"TransferBatch(address,address,address,uint256[],uint256[])"
|
|
359
|
+
](null, null, null, null, null);
|
|
360
|
+
}
|
|
361
|
+
return super.onEvent(handler, filter!);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
onEventTransferSingle(
|
|
365
|
+
handler: (event: TransferSingleEvent, ctx: ERC1155Context) => void,
|
|
366
|
+
filter?: TransferSingleEventFilter | TransferSingleEventFilter[]
|
|
367
|
+
) {
|
|
368
|
+
if (!filter) {
|
|
369
|
+
// @ts-ignore
|
|
370
|
+
filter = ERC1155Processor.filters[
|
|
371
|
+
// @ts-ignore
|
|
372
|
+
"TransferSingle(address,address,address,uint256,uint256)"
|
|
373
|
+
](null, null, null, null, null);
|
|
374
|
+
}
|
|
375
|
+
return super.onEvent(handler, filter!);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
onEventURI(
|
|
379
|
+
handler: (event: URIEvent, ctx: ERC1155Context) => void,
|
|
380
|
+
filter?: URIEventFilter | URIEventFilter[]
|
|
381
|
+
) {
|
|
382
|
+
if (!filter) {
|
|
383
|
+
// @ts-ignore
|
|
384
|
+
filter = ERC1155Processor.filters[
|
|
385
|
+
// @ts-ignore
|
|
386
|
+
"URI(string,uint256)"
|
|
387
|
+
](null, null);
|
|
388
|
+
}
|
|
389
|
+
return super.onEvent(handler, filter!);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
onCallBalanceOf(
|
|
393
|
+
handler: (call: BalanceOfCallTrace, ctx: ERC1155Context) => void
|
|
394
|
+
) {
|
|
395
|
+
return super.onTrace("0x00fdd58e", handler);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
onCallBalanceOfBatch(
|
|
399
|
+
handler: (call: BalanceOfBatchCallTrace, ctx: ERC1155Context) => void
|
|
400
|
+
) {
|
|
401
|
+
return super.onTrace("0x4e1273f4", handler);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
onCallIsApprovedForAll(
|
|
405
|
+
handler: (call: IsApprovedForAllCallTrace, ctx: ERC1155Context) => void
|
|
406
|
+
) {
|
|
407
|
+
return super.onTrace("0xe985e9c5", handler);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
onCallSafeBatchTransferFrom(
|
|
411
|
+
handler: (call: SafeBatchTransferFromCallTrace, ctx: ERC1155Context) => void
|
|
412
|
+
) {
|
|
413
|
+
return super.onTrace("0x2eb2c2d6", handler);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
onCallSafeTransferFrom(
|
|
417
|
+
handler: (call: SafeTransferFromCallTrace, ctx: ERC1155Context) => void
|
|
418
|
+
) {
|
|
419
|
+
return super.onTrace("0xf242432a", handler);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
onCallSetApprovalForAll(
|
|
423
|
+
handler: (call: SetApprovalForAllCallTrace, ctx: ERC1155Context) => void
|
|
424
|
+
) {
|
|
425
|
+
return super.onTrace("0xa22cb465", handler);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
onCallSupportsInterface(
|
|
429
|
+
handler: (call: SupportsInterfaceCallTrace, ctx: ERC1155Context) => void
|
|
430
|
+
) {
|
|
431
|
+
return super.onTrace("0x01ffc9a7", handler);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
onCallUri(handler: (call: UriCallTrace, ctx: ERC1155Context) => void) {
|
|
435
|
+
return super.onTrace("0x0e89341c", handler);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
export class ERC1155Processor extends BaseProcessor<
|
|
440
|
+
ERC1155,
|
|
441
|
+
ERC1155BoundContractView
|
|
442
|
+
> {
|
|
443
|
+
onEventApprovalForAll(
|
|
444
|
+
handler: (event: ApprovalForAllEvent, ctx: ERC1155Context) => void,
|
|
445
|
+
filter?: ApprovalForAllEventFilter | ApprovalForAllEventFilter[]
|
|
446
|
+
) {
|
|
447
|
+
if (!filter) {
|
|
448
|
+
// @ts-ignore
|
|
449
|
+
filter = ERC1155Processor.filters[
|
|
450
|
+
// @ts-ignore
|
|
451
|
+
"ApprovalForAll(address,address,bool)"
|
|
452
|
+
](null, null, null);
|
|
453
|
+
}
|
|
454
|
+
return super.onEvent(handler, filter!);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
onEventTransferBatch(
|
|
458
|
+
handler: (event: TransferBatchEvent, ctx: ERC1155Context) => void,
|
|
459
|
+
filter?: TransferBatchEventFilter | TransferBatchEventFilter[]
|
|
460
|
+
) {
|
|
461
|
+
if (!filter) {
|
|
462
|
+
// @ts-ignore
|
|
463
|
+
filter = ERC1155Processor.filters[
|
|
464
|
+
// @ts-ignore
|
|
465
|
+
"TransferBatch(address,address,address,uint256[],uint256[])"
|
|
466
|
+
](null, null, null, null, null);
|
|
467
|
+
}
|
|
468
|
+
return super.onEvent(handler, filter!);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
onEventTransferSingle(
|
|
472
|
+
handler: (event: TransferSingleEvent, ctx: ERC1155Context) => void,
|
|
473
|
+
filter?: TransferSingleEventFilter | TransferSingleEventFilter[]
|
|
474
|
+
) {
|
|
475
|
+
if (!filter) {
|
|
476
|
+
// @ts-ignore
|
|
477
|
+
filter = ERC1155Processor.filters[
|
|
478
|
+
// @ts-ignore
|
|
479
|
+
"TransferSingle(address,address,address,uint256,uint256)"
|
|
480
|
+
](null, null, null, null, null);
|
|
481
|
+
}
|
|
482
|
+
return super.onEvent(handler, filter!);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
onEventURI(
|
|
486
|
+
handler: (event: URIEvent, ctx: ERC1155Context) => void,
|
|
487
|
+
filter?: URIEventFilter | URIEventFilter[]
|
|
488
|
+
) {
|
|
489
|
+
if (!filter) {
|
|
490
|
+
// @ts-ignore
|
|
491
|
+
filter = ERC1155Processor.filters[
|
|
492
|
+
// @ts-ignore
|
|
493
|
+
"URI(string,uint256)"
|
|
494
|
+
](null, null);
|
|
495
|
+
}
|
|
496
|
+
return super.onEvent(handler, filter!);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
onCallBalanceOf(
|
|
500
|
+
handler: (call: BalanceOfCallTrace, ctx: ERC1155Context) => void
|
|
501
|
+
) {
|
|
502
|
+
return super.onTrace("0x00fdd58e", handler);
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
onCallBalanceOfBatch(
|
|
506
|
+
handler: (call: BalanceOfBatchCallTrace, ctx: ERC1155Context) => void
|
|
507
|
+
) {
|
|
508
|
+
return super.onTrace("0x4e1273f4", handler);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
onCallIsApprovedForAll(
|
|
512
|
+
handler: (call: IsApprovedForAllCallTrace, ctx: ERC1155Context) => void
|
|
513
|
+
) {
|
|
514
|
+
return super.onTrace("0xe985e9c5", handler);
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
onCallSafeBatchTransferFrom(
|
|
518
|
+
handler: (call: SafeBatchTransferFromCallTrace, ctx: ERC1155Context) => void
|
|
519
|
+
) {
|
|
520
|
+
return super.onTrace("0x2eb2c2d6", handler);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
onCallSafeTransferFrom(
|
|
524
|
+
handler: (call: SafeTransferFromCallTrace, ctx: ERC1155Context) => void
|
|
525
|
+
) {
|
|
526
|
+
return super.onTrace("0xf242432a", handler);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
onCallSetApprovalForAll(
|
|
530
|
+
handler: (call: SetApprovalForAllCallTrace, ctx: ERC1155Context) => void
|
|
531
|
+
) {
|
|
532
|
+
return super.onTrace("0xa22cb465", handler);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
onCallSupportsInterface(
|
|
536
|
+
handler: (call: SupportsInterfaceCallTrace, ctx: ERC1155Context) => void
|
|
537
|
+
) {
|
|
538
|
+
return super.onTrace("0x01ffc9a7", handler);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
onCallUri(handler: (call: UriCallTrace, ctx: ERC1155Context) => void) {
|
|
542
|
+
return super.onTrace("0x0e89341c", handler);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
public static filters = templateContract.filters;
|
|
546
|
+
|
|
547
|
+
protected CreateBoundContractView(): ERC1155BoundContractView {
|
|
548
|
+
const view = getERC1155Contract(this.config.address, this.config.network);
|
|
549
|
+
return new ERC1155BoundContractView(view);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
public static bind(options: BindOptions): ERC1155Processor {
|
|
553
|
+
if (!options.name) {
|
|
554
|
+
options.name = "ERC1155";
|
|
555
|
+
}
|
|
556
|
+
let processor = getProcessor(options) as ERC1155Processor;
|
|
557
|
+
if (!processor) {
|
|
558
|
+
processor = new ERC1155Processor(options);
|
|
559
|
+
addProcessor(options, processor);
|
|
560
|
+
}
|
|
561
|
+
return processor;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
export function getERC1155Contract(
|
|
566
|
+
address: string,
|
|
567
|
+
network: Networkish = 1
|
|
568
|
+
): ERC1155ContractView {
|
|
569
|
+
let contract = getContractByABI(
|
|
570
|
+
"ERC1155",
|
|
571
|
+
address,
|
|
572
|
+
network
|
|
573
|
+
) as ERC1155ContractView;
|
|
574
|
+
if (!contract) {
|
|
575
|
+
const rawContract = ERC1155__factory.connect(address, getProvider(network));
|
|
576
|
+
contract = new ERC1155ContractView(rawContract);
|
|
577
|
+
addContractByABI("ERC1155", address, network, contract);
|
|
578
|
+
}
|
|
579
|
+
return contract;
|
|
580
|
+
}
|