@sentio/sdk 2.40.1-rc.1 → 2.40.1-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +25 -69
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.js +10 -24
- package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.js +20 -52
- package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.js +11 -25
- package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.js +16 -40
- package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.js +13 -31
- package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
- package/lib/eth/codegen/file.d.ts.map +1 -1
- package/lib/eth/codegen/file.js +5 -1
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/codegen/function-calls.d.ts +1 -0
- package/lib/eth/codegen/function-calls.d.ts.map +1 -1
- package/lib/eth/codegen/function-calls.js +3 -1
- package/lib/eth/codegen/function-calls.js.map +1 -1
- package/lib/eth/codegen/types.d.ts.map +1 -1
- package/lib/eth/codegen/types.js +23 -6
- package/lib/eth/codegen/types.js.map +1 -1
- package/package.json +3 -3
- package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +26 -69
- package/src/eth/builtin/internal/erc1155-processor.ts +11 -24
- package/src/eth/builtin/internal/erc20-processor.ts +21 -52
- package/src/eth/builtin/internal/erc20bytes-processor.ts +12 -25
- package/src/eth/builtin/internal/erc721-processor.ts +17 -40
- package/src/eth/builtin/internal/weth9-processor.ts +14 -31
- package/src/eth/codegen/file.ts +5 -0
- package/src/eth/codegen/function-calls.ts +4 -1
- package/src/eth/codegen/types.ts +29 -7
@@ -167,6 +167,27 @@ export type TransferOwnershipCallTrace = TypedCallTrace<
|
|
167
167
|
|
168
168
|
const templateContract = ERC20__factory.connect("0x0", DummyProvider);
|
169
169
|
|
170
|
+
const iface = new Interface([
|
171
|
+
"function allowance(address owner, address spender) view returns (uint256)",
|
172
|
+
"function approve(address spender, uint256 amount) nonpayable returns (bool)",
|
173
|
+
"function balanceOf(address account) view returns (uint256)",
|
174
|
+
"function burn(uint256 amount) nonpayable returns ()",
|
175
|
+
"function burnFrom(address account, uint256 amount) nonpayable returns ()",
|
176
|
+
"function decimals() view returns (uint8)",
|
177
|
+
"function decreaseAllowance(address spender, uint256 subtractedValue) nonpayable returns (bool)",
|
178
|
+
"function increaseAllowance(address spender, uint256 addedValue) nonpayable returns (bool)",
|
179
|
+
"function locker() view returns (address)",
|
180
|
+
"function name() view returns (string)",
|
181
|
+
"function owner() view returns (address)",
|
182
|
+
"function renounceOwnership() nonpayable returns ()",
|
183
|
+
"function setLocker(address _locker) nonpayable returns ()",
|
184
|
+
"function symbol() view returns (string)",
|
185
|
+
"function totalSupply() view returns (uint256)",
|
186
|
+
"function transfer(address recipient, uint256 amount) nonpayable returns (bool)",
|
187
|
+
"function transferFrom(address sender, address recipient, uint256 amount) nonpayable returns (bool)",
|
188
|
+
"function transferOwnership(address newOwner) nonpayable returns ()",
|
189
|
+
]);
|
190
|
+
|
170
191
|
export class ERC20ContractView extends ContractView<ERC20> {
|
171
192
|
constructor(contract: ERC20) {
|
172
193
|
super(contract);
|
@@ -182,9 +203,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
182
203
|
): Promise<bigint> {
|
183
204
|
try {
|
184
205
|
if (preparedData?.ethCallResults && ethCallContext) {
|
185
|
-
const iface = new Interface([
|
186
|
-
"function allowance(address,address) view returns (uint256)",
|
187
|
-
]);
|
188
206
|
const calldata = iface.encodeFunctionData("allowance", [
|
189
207
|
owner,
|
190
208
|
spender,
|
@@ -218,9 +236,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
218
236
|
): Promise<bigint> {
|
219
237
|
try {
|
220
238
|
if (preparedData?.ethCallResults && ethCallContext) {
|
221
|
-
const iface = new Interface([
|
222
|
-
"function balanceOf(address) view returns (uint256)",
|
223
|
-
]);
|
224
239
|
const calldata = iface.encodeFunctionData("balanceOf", [account]);
|
225
240
|
const ethCallKey = makeEthCallKey({
|
226
241
|
context: ethCallContext,
|
@@ -249,9 +264,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
249
264
|
): Promise<bigint> {
|
250
265
|
try {
|
251
266
|
if (preparedData?.ethCallResults && ethCallContext) {
|
252
|
-
const iface = new Interface([
|
253
|
-
"function decimals() view returns (uint8)",
|
254
|
-
]);
|
255
267
|
const calldata = iface.encodeFunctionData("decimals", []);
|
256
268
|
const ethCallKey = makeEthCallKey({
|
257
269
|
context: ethCallContext,
|
@@ -277,9 +289,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
277
289
|
): Promise<string> {
|
278
290
|
try {
|
279
291
|
if (preparedData?.ethCallResults && ethCallContext) {
|
280
|
-
const iface = new Interface([
|
281
|
-
"function locker() view returns (address)",
|
282
|
-
]);
|
283
292
|
const calldata = iface.encodeFunctionData("locker", []);
|
284
293
|
const ethCallKey = makeEthCallKey({
|
285
294
|
context: ethCallContext,
|
@@ -305,7 +314,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
305
314
|
): Promise<string> {
|
306
315
|
try {
|
307
316
|
if (preparedData?.ethCallResults && ethCallContext) {
|
308
|
-
const iface = new Interface(["function name() view returns (string)"]);
|
309
317
|
const calldata = iface.encodeFunctionData("name", []);
|
310
318
|
const ethCallKey = makeEthCallKey({
|
311
319
|
context: ethCallContext,
|
@@ -331,9 +339,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
331
339
|
): Promise<string> {
|
332
340
|
try {
|
333
341
|
if (preparedData?.ethCallResults && ethCallContext) {
|
334
|
-
const iface = new Interface([
|
335
|
-
"function owner() view returns (address)",
|
336
|
-
]);
|
337
342
|
const calldata = iface.encodeFunctionData("owner", []);
|
338
343
|
const ethCallKey = makeEthCallKey({
|
339
344
|
context: ethCallContext,
|
@@ -359,9 +364,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
359
364
|
): Promise<string> {
|
360
365
|
try {
|
361
366
|
if (preparedData?.ethCallResults && ethCallContext) {
|
362
|
-
const iface = new Interface([
|
363
|
-
"function symbol() view returns (string)",
|
364
|
-
]);
|
365
367
|
const calldata = iface.encodeFunctionData("symbol", []);
|
366
368
|
const ethCallKey = makeEthCallKey({
|
367
369
|
context: ethCallContext,
|
@@ -387,9 +389,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
387
389
|
): Promise<bigint> {
|
388
390
|
try {
|
389
391
|
if (preparedData?.ethCallResults && ethCallContext) {
|
390
|
-
const iface = new Interface([
|
391
|
-
"function totalSupply() view returns (uint256)",
|
392
|
-
]);
|
393
392
|
const calldata = iface.encodeFunctionData("totalSupply", []);
|
394
393
|
const ethCallKey = makeEthCallKey({
|
395
394
|
context: ethCallContext,
|
@@ -422,9 +421,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
422
421
|
): Promise<boolean> {
|
423
422
|
try {
|
424
423
|
if (preparedData?.ethCallResults && ethCallContext) {
|
425
|
-
const iface = new Interface([
|
426
|
-
"function approve(address,uint256) nonpayable returns (bool)",
|
427
|
-
]);
|
428
424
|
const calldata = iface.encodeFunctionData("approve", [
|
429
425
|
spender,
|
430
426
|
amount,
|
@@ -455,9 +451,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
455
451
|
): Promise<void> {
|
456
452
|
try {
|
457
453
|
if (preparedData?.ethCallResults && ethCallContext) {
|
458
|
-
const iface = new Interface([
|
459
|
-
"function burn(uint256) nonpayable returns ()",
|
460
|
-
]);
|
461
454
|
const calldata = iface.encodeFunctionData("burn", [amount]);
|
462
455
|
const ethCallKey = makeEthCallKey({
|
463
456
|
context: ethCallContext,
|
@@ -486,9 +479,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
486
479
|
): Promise<void> {
|
487
480
|
try {
|
488
481
|
if (preparedData?.ethCallResults && ethCallContext) {
|
489
|
-
const iface = new Interface([
|
490
|
-
"function burnFrom(address,uint256) nonpayable returns ()",
|
491
|
-
]);
|
492
482
|
const calldata = iface.encodeFunctionData("burnFrom", [
|
493
483
|
account,
|
494
484
|
amount,
|
@@ -522,9 +512,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
522
512
|
): Promise<boolean> {
|
523
513
|
try {
|
524
514
|
if (preparedData?.ethCallResults && ethCallContext) {
|
525
|
-
const iface = new Interface([
|
526
|
-
"function decreaseAllowance(address,uint256) nonpayable returns (bool)",
|
527
|
-
]);
|
528
515
|
const calldata = iface.encodeFunctionData("decreaseAllowance", [
|
529
516
|
spender,
|
530
517
|
subtractedValue,
|
@@ -558,9 +545,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
558
545
|
): Promise<boolean> {
|
559
546
|
try {
|
560
547
|
if (preparedData?.ethCallResults && ethCallContext) {
|
561
|
-
const iface = new Interface([
|
562
|
-
"function increaseAllowance(address,uint256) nonpayable returns (bool)",
|
563
|
-
]);
|
564
548
|
const calldata = iface.encodeFunctionData("increaseAllowance", [
|
565
549
|
spender,
|
566
550
|
addedValue,
|
@@ -592,9 +576,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
592
576
|
): Promise<void> {
|
593
577
|
try {
|
594
578
|
if (preparedData?.ethCallResults && ethCallContext) {
|
595
|
-
const iface = new Interface([
|
596
|
-
"function renounceOwnership() nonpayable returns ()",
|
597
|
-
]);
|
598
579
|
const calldata = iface.encodeFunctionData("renounceOwnership", []);
|
599
580
|
const ethCallKey = makeEthCallKey({
|
600
581
|
context: ethCallContext,
|
@@ -624,9 +605,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
624
605
|
): Promise<void> {
|
625
606
|
try {
|
626
607
|
if (preparedData?.ethCallResults && ethCallContext) {
|
627
|
-
const iface = new Interface([
|
628
|
-
"function setLocker(address) nonpayable returns ()",
|
629
|
-
]);
|
630
608
|
const calldata = iface.encodeFunctionData("setLocker", [_locker]);
|
631
609
|
const ethCallKey = makeEthCallKey({
|
632
610
|
context: ethCallContext,
|
@@ -657,9 +635,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
657
635
|
): Promise<boolean> {
|
658
636
|
try {
|
659
637
|
if (preparedData?.ethCallResults && ethCallContext) {
|
660
|
-
const iface = new Interface([
|
661
|
-
"function transfer(address,uint256) nonpayable returns (bool)",
|
662
|
-
]);
|
663
638
|
const calldata = iface.encodeFunctionData("transfer", [
|
664
639
|
recipient,
|
665
640
|
amount,
|
@@ -694,9 +669,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
694
669
|
): Promise<boolean> {
|
695
670
|
try {
|
696
671
|
if (preparedData?.ethCallResults && ethCallContext) {
|
697
|
-
const iface = new Interface([
|
698
|
-
"function transferFrom(address,address,uint256) nonpayable returns (bool)",
|
699
|
-
]);
|
700
672
|
const calldata = iface.encodeFunctionData("transferFrom", [
|
701
673
|
sender,
|
702
674
|
recipient,
|
@@ -730,9 +702,6 @@ export class ERC20ContractView extends ContractView<ERC20> {
|
|
730
702
|
): Promise<void> {
|
731
703
|
try {
|
732
704
|
if (preparedData?.ethCallResults && ethCallContext) {
|
733
|
-
const iface = new Interface([
|
734
|
-
"function transferOwnership(address) nonpayable returns ()",
|
735
|
-
]);
|
736
705
|
const calldata = iface.encodeFunctionData("transferOwnership", [
|
737
706
|
newOwner,
|
738
707
|
]);
|
@@ -99,6 +99,18 @@ export type AllowanceCallTrace = TypedCallTrace<
|
|
99
99
|
|
100
100
|
const templateContract = ERC20Bytes__factory.connect("0x0", DummyProvider);
|
101
101
|
|
102
|
+
const iface = new Interface([
|
103
|
+
"function name() view returns (bytes32)",
|
104
|
+
"function approve(address spender, uint256 value) nonpayable returns (bool)",
|
105
|
+
"function totalSupply() view returns (uint256)",
|
106
|
+
"function transferFrom(address from, address to, uint256 value) nonpayable returns (bool)",
|
107
|
+
"function decimals() view returns (uint8)",
|
108
|
+
"function balanceOf(address who) view returns (uint256)",
|
109
|
+
"function symbol() view returns (bytes32)",
|
110
|
+
"function transfer(address to, uint256 value) nonpayable returns (bool)",
|
111
|
+
"function allowance(address owner, address spender) view returns (uint256)",
|
112
|
+
]);
|
113
|
+
|
102
114
|
export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
103
115
|
constructor(contract: ERC20Bytes) {
|
104
116
|
super(contract);
|
@@ -112,7 +124,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
112
124
|
): Promise<string> {
|
113
125
|
try {
|
114
126
|
if (preparedData?.ethCallResults && ethCallContext) {
|
115
|
-
const iface = new Interface(["function name() view returns (bytes32)"]);
|
116
127
|
const calldata = iface.encodeFunctionData("name", []);
|
117
128
|
const ethCallKey = makeEthCallKey({
|
118
129
|
context: ethCallContext,
|
@@ -138,9 +149,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
138
149
|
): Promise<bigint> {
|
139
150
|
try {
|
140
151
|
if (preparedData?.ethCallResults && ethCallContext) {
|
141
|
-
const iface = new Interface([
|
142
|
-
"function totalSupply() view returns (uint256)",
|
143
|
-
]);
|
144
152
|
const calldata = iface.encodeFunctionData("totalSupply", []);
|
145
153
|
const ethCallKey = makeEthCallKey({
|
146
154
|
context: ethCallContext,
|
@@ -168,9 +176,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
168
176
|
): Promise<bigint> {
|
169
177
|
try {
|
170
178
|
if (preparedData?.ethCallResults && ethCallContext) {
|
171
|
-
const iface = new Interface([
|
172
|
-
"function decimals() view returns (uint8)",
|
173
|
-
]);
|
174
179
|
const calldata = iface.encodeFunctionData("decimals", []);
|
175
180
|
const ethCallKey = makeEthCallKey({
|
176
181
|
context: ethCallContext,
|
@@ -197,9 +202,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
197
202
|
): Promise<bigint> {
|
198
203
|
try {
|
199
204
|
if (preparedData?.ethCallResults && ethCallContext) {
|
200
|
-
const iface = new Interface([
|
201
|
-
"function balanceOf(address) view returns (uint256)",
|
202
|
-
]);
|
203
205
|
const calldata = iface.encodeFunctionData("balanceOf", [who]);
|
204
206
|
const ethCallKey = makeEthCallKey({
|
205
207
|
context: ethCallContext,
|
@@ -228,9 +230,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
228
230
|
): Promise<string> {
|
229
231
|
try {
|
230
232
|
if (preparedData?.ethCallResults && ethCallContext) {
|
231
|
-
const iface = new Interface([
|
232
|
-
"function symbol() view returns (bytes32)",
|
233
|
-
]);
|
234
233
|
const calldata = iface.encodeFunctionData("symbol", []);
|
235
234
|
const ethCallKey = makeEthCallKey({
|
236
235
|
context: ethCallContext,
|
@@ -258,9 +257,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
258
257
|
): Promise<bigint> {
|
259
258
|
try {
|
260
259
|
if (preparedData?.ethCallResults && ethCallContext) {
|
261
|
-
const iface = new Interface([
|
262
|
-
"function allowance(address,address) view returns (uint256)",
|
263
|
-
]);
|
264
260
|
const calldata = iface.encodeFunctionData("allowance", [
|
265
261
|
owner,
|
266
262
|
spender,
|
@@ -298,9 +294,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
298
294
|
): Promise<boolean> {
|
299
295
|
try {
|
300
296
|
if (preparedData?.ethCallResults && ethCallContext) {
|
301
|
-
const iface = new Interface([
|
302
|
-
"function approve(address,uint256) nonpayable returns (bool)",
|
303
|
-
]);
|
304
297
|
const calldata = iface.encodeFunctionData("approve", [
|
305
298
|
spender,
|
306
299
|
value,
|
@@ -333,9 +326,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
333
326
|
): Promise<boolean> {
|
334
327
|
try {
|
335
328
|
if (preparedData?.ethCallResults && ethCallContext) {
|
336
|
-
const iface = new Interface([
|
337
|
-
"function transferFrom(address,address,uint256) nonpayable returns (bool)",
|
338
|
-
]);
|
339
329
|
const calldata = iface.encodeFunctionData("transferFrom", [
|
340
330
|
from,
|
341
331
|
to,
|
@@ -370,9 +360,6 @@ export class ERC20BytesContractView extends ContractView<ERC20Bytes> {
|
|
370
360
|
): Promise<boolean> {
|
371
361
|
try {
|
372
362
|
if (preparedData?.ethCallResults && ethCallContext) {
|
373
|
-
const iface = new Interface([
|
374
|
-
"function transfer(address,uint256) nonpayable returns (bool)",
|
375
|
-
]);
|
376
363
|
const calldata = iface.encodeFunctionData("transfer", [to, value]);
|
377
364
|
const ethCallKey = makeEthCallKey({
|
378
365
|
context: ethCallContext,
|
@@ -151,6 +151,23 @@ export type TransferFromCallTrace = TypedCallTrace<
|
|
151
151
|
|
152
152
|
const templateContract = ERC721__factory.connect("0x0", DummyProvider);
|
153
153
|
|
154
|
+
const iface = new Interface([
|
155
|
+
"function approve(address to, uint256 tokenId) nonpayable returns ()",
|
156
|
+
"function totalSupply() view returns (uint256)",
|
157
|
+
"function balanceOf(address owner) view returns (uint256 balance)",
|
158
|
+
"function getApproved(uint256 tokenId) view returns (address operator)",
|
159
|
+
"function isApprovedForAll(address owner, address operator) view returns (bool)",
|
160
|
+
"function name() view returns (string)",
|
161
|
+
"function ownerOf(uint256 tokenId) view returns (address owner)",
|
162
|
+
"function safeTransferFrom(address from, address to, uint256 tokenId) nonpayable returns ()",
|
163
|
+
"function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) nonpayable returns ()",
|
164
|
+
"function setApprovalForAll(address operator, bool _approved) nonpayable returns ()",
|
165
|
+
"function supportsInterface(bytes4 interfaceId) view returns (bool)",
|
166
|
+
"function symbol() view returns (string)",
|
167
|
+
"function tokenURI(uint256 tokenId) view returns (string)",
|
168
|
+
"function transferFrom(address from, address to, uint256 tokenId) nonpayable returns ()",
|
169
|
+
]);
|
170
|
+
|
154
171
|
export class ERC721ContractView extends ContractView<ERC721> {
|
155
172
|
constructor(contract: ERC721) {
|
156
173
|
super(contract);
|
@@ -164,9 +181,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
164
181
|
): Promise<bigint> {
|
165
182
|
try {
|
166
183
|
if (preparedData?.ethCallResults && ethCallContext) {
|
167
|
-
const iface = new Interface([
|
168
|
-
"function totalSupply() view returns (uint256)",
|
169
|
-
]);
|
170
184
|
const calldata = iface.encodeFunctionData("totalSupply", []);
|
171
185
|
const ethCallKey = makeEthCallKey({
|
172
186
|
context: ethCallContext,
|
@@ -195,9 +209,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
195
209
|
): Promise<bigint> {
|
196
210
|
try {
|
197
211
|
if (preparedData?.ethCallResults && ethCallContext) {
|
198
|
-
const iface = new Interface([
|
199
|
-
"function balanceOf(address) view returns (uint256)",
|
200
|
-
]);
|
201
212
|
const calldata = iface.encodeFunctionData("balanceOf", [owner]);
|
202
213
|
const ethCallKey = makeEthCallKey({
|
203
214
|
context: ethCallContext,
|
@@ -227,9 +238,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
227
238
|
): Promise<string> {
|
228
239
|
try {
|
229
240
|
if (preparedData?.ethCallResults && ethCallContext) {
|
230
|
-
const iface = new Interface([
|
231
|
-
"function getApproved(uint256) view returns (address)",
|
232
|
-
]);
|
233
241
|
const calldata = iface.encodeFunctionData("getApproved", [tokenId]);
|
234
242
|
const ethCallKey = makeEthCallKey({
|
235
243
|
context: ethCallContext,
|
@@ -262,9 +270,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
262
270
|
): Promise<boolean> {
|
263
271
|
try {
|
264
272
|
if (preparedData?.ethCallResults && ethCallContext) {
|
265
|
-
const iface = new Interface([
|
266
|
-
"function isApprovedForAll(address,address) view returns (bool)",
|
267
|
-
]);
|
268
273
|
const calldata = iface.encodeFunctionData("isApprovedForAll", [
|
269
274
|
owner,
|
270
275
|
operator,
|
@@ -297,7 +302,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
297
302
|
): Promise<string> {
|
298
303
|
try {
|
299
304
|
if (preparedData?.ethCallResults && ethCallContext) {
|
300
|
-
const iface = new Interface(["function name() view returns (string)"]);
|
301
305
|
const calldata = iface.encodeFunctionData("name", []);
|
302
306
|
const ethCallKey = makeEthCallKey({
|
303
307
|
context: ethCallContext,
|
@@ -324,9 +328,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
324
328
|
): Promise<string> {
|
325
329
|
try {
|
326
330
|
if (preparedData?.ethCallResults && ethCallContext) {
|
327
|
-
const iface = new Interface([
|
328
|
-
"function ownerOf(uint256) view returns (address)",
|
329
|
-
]);
|
330
331
|
const calldata = iface.encodeFunctionData("ownerOf", [tokenId]);
|
331
332
|
const ethCallKey = makeEthCallKey({
|
332
333
|
context: ethCallContext,
|
@@ -356,9 +357,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
356
357
|
): Promise<boolean> {
|
357
358
|
try {
|
358
359
|
if (preparedData?.ethCallResults && ethCallContext) {
|
359
|
-
const iface = new Interface([
|
360
|
-
"function supportsInterface(bytes4) view returns (bool)",
|
361
|
-
]);
|
362
360
|
const calldata = iface.encodeFunctionData("supportsInterface", [
|
363
361
|
interfaceId,
|
364
362
|
]);
|
@@ -391,9 +389,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
391
389
|
): Promise<string> {
|
392
390
|
try {
|
393
391
|
if (preparedData?.ethCallResults && ethCallContext) {
|
394
|
-
const iface = new Interface([
|
395
|
-
"function symbol() view returns (string)",
|
396
|
-
]);
|
397
392
|
const calldata = iface.encodeFunctionData("symbol", []);
|
398
393
|
const ethCallKey = makeEthCallKey({
|
399
394
|
context: ethCallContext,
|
@@ -420,9 +415,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
420
415
|
): Promise<string> {
|
421
416
|
try {
|
422
417
|
if (preparedData?.ethCallResults && ethCallContext) {
|
423
|
-
const iface = new Interface([
|
424
|
-
"function tokenURI(uint256) view returns (string)",
|
425
|
-
]);
|
426
418
|
const calldata = iface.encodeFunctionData("tokenURI", [tokenId]);
|
427
419
|
const ethCallKey = makeEthCallKey({
|
428
420
|
context: ethCallContext,
|
@@ -456,9 +448,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
456
448
|
): Promise<void> {
|
457
449
|
try {
|
458
450
|
if (preparedData?.ethCallResults && ethCallContext) {
|
459
|
-
const iface = new Interface([
|
460
|
-
"function approve(address,uint256) nonpayable returns ()",
|
461
|
-
]);
|
462
451
|
const calldata = iface.encodeFunctionData("approve", [to, tokenId]);
|
463
452
|
const ethCallKey = makeEthCallKey({
|
464
453
|
context: ethCallContext,
|
@@ -488,9 +477,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
488
477
|
): Promise<void> {
|
489
478
|
try {
|
490
479
|
if (preparedData?.ethCallResults && ethCallContext) {
|
491
|
-
const iface = new Interface([
|
492
|
-
"function safeTransferFrom(address,address,uint256) nonpayable returns ()",
|
493
|
-
]);
|
494
480
|
const calldata = iface.encodeFunctionData("safeTransferFrom", [
|
495
481
|
from,
|
496
482
|
to,
|
@@ -527,9 +513,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
527
513
|
): Promise<void> {
|
528
514
|
try {
|
529
515
|
if (preparedData?.ethCallResults && ethCallContext) {
|
530
|
-
const iface = new Interface([
|
531
|
-
"function safeTransferFrom(address,address,uint256,bytes) nonpayable returns ()",
|
532
|
-
]);
|
533
516
|
const calldata = iface.encodeFunctionData("safeTransferFrom", [
|
534
517
|
from,
|
535
518
|
to,
|
@@ -565,9 +548,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
565
548
|
): Promise<void> {
|
566
549
|
try {
|
567
550
|
if (preparedData?.ethCallResults && ethCallContext) {
|
568
|
-
const iface = new Interface([
|
569
|
-
"function setApprovalForAll(address,bool) nonpayable returns ()",
|
570
|
-
]);
|
571
551
|
const calldata = iface.encodeFunctionData("setApprovalForAll", [
|
572
552
|
operator,
|
573
553
|
_approved,
|
@@ -602,9 +582,6 @@ export class ERC721ContractView extends ContractView<ERC721> {
|
|
602
582
|
): Promise<void> {
|
603
583
|
try {
|
604
584
|
if (preparedData?.ethCallResults && ethCallContext) {
|
605
|
-
const iface = new Interface([
|
606
|
-
"function transferFrom(address,address,uint256) nonpayable returns ()",
|
607
|
-
]);
|
608
585
|
const calldata = iface.encodeFunctionData("transferFrom", [
|
609
586
|
from,
|
610
587
|
to,
|
@@ -108,6 +108,20 @@ export type AllowanceCallTrace = TypedCallTrace<
|
|
108
108
|
|
109
109
|
const templateContract = WETH9__factory.connect("0x0", DummyProvider);
|
110
110
|
|
111
|
+
const iface = new Interface([
|
112
|
+
"function name() view returns (string)",
|
113
|
+
"function approve(address guy, uint256 wad) nonpayable returns (bool)",
|
114
|
+
"function totalSupply() view returns (uint256)",
|
115
|
+
"function transferFrom(address src, address dst, uint256 wad) nonpayable returns (bool)",
|
116
|
+
"function withdraw(uint256 wad) nonpayable returns ()",
|
117
|
+
"function decimals() view returns (uint8)",
|
118
|
+
"function balanceOf(address) view returns (uint256)",
|
119
|
+
"function symbol() view returns (string)",
|
120
|
+
"function transfer(address dst, uint256 wad) nonpayable returns (bool)",
|
121
|
+
"function deposit() payable returns ()",
|
122
|
+
"function allowance(address, address) view returns (uint256)",
|
123
|
+
]);
|
124
|
+
|
111
125
|
export class WETH9ContractView extends ContractView<WETH9> {
|
112
126
|
constructor(contract: WETH9) {
|
113
127
|
super(contract);
|
@@ -121,7 +135,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
121
135
|
): Promise<string> {
|
122
136
|
try {
|
123
137
|
if (preparedData?.ethCallResults && ethCallContext) {
|
124
|
-
const iface = new Interface(["function name() view returns (string)"]);
|
125
138
|
const calldata = iface.encodeFunctionData("name", []);
|
126
139
|
const ethCallKey = makeEthCallKey({
|
127
140
|
context: ethCallContext,
|
@@ -147,9 +160,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
147
160
|
): Promise<bigint> {
|
148
161
|
try {
|
149
162
|
if (preparedData?.ethCallResults && ethCallContext) {
|
150
|
-
const iface = new Interface([
|
151
|
-
"function totalSupply() view returns (uint256)",
|
152
|
-
]);
|
153
163
|
const calldata = iface.encodeFunctionData("totalSupply", []);
|
154
164
|
const ethCallKey = makeEthCallKey({
|
155
165
|
context: ethCallContext,
|
@@ -177,9 +187,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
177
187
|
): Promise<bigint> {
|
178
188
|
try {
|
179
189
|
if (preparedData?.ethCallResults && ethCallContext) {
|
180
|
-
const iface = new Interface([
|
181
|
-
"function decimals() view returns (uint8)",
|
182
|
-
]);
|
183
190
|
const calldata = iface.encodeFunctionData("decimals", []);
|
184
191
|
const ethCallKey = makeEthCallKey({
|
185
192
|
context: ethCallContext,
|
@@ -206,9 +213,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
206
213
|
): Promise<bigint> {
|
207
214
|
try {
|
208
215
|
if (preparedData?.ethCallResults && ethCallContext) {
|
209
|
-
const iface = new Interface([
|
210
|
-
"function balanceOf(address) view returns (uint256)",
|
211
|
-
]);
|
212
216
|
const calldata = iface.encodeFunctionData("balanceOf", [arg0]);
|
213
217
|
const ethCallKey = makeEthCallKey({
|
214
218
|
context: ethCallContext,
|
@@ -237,9 +241,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
237
241
|
): Promise<string> {
|
238
242
|
try {
|
239
243
|
if (preparedData?.ethCallResults && ethCallContext) {
|
240
|
-
const iface = new Interface([
|
241
|
-
"function symbol() view returns (string)",
|
242
|
-
]);
|
243
244
|
const calldata = iface.encodeFunctionData("symbol", []);
|
244
245
|
const ethCallKey = makeEthCallKey({
|
245
246
|
context: ethCallContext,
|
@@ -267,9 +268,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
267
268
|
): Promise<bigint> {
|
268
269
|
try {
|
269
270
|
if (preparedData?.ethCallResults && ethCallContext) {
|
270
|
-
const iface = new Interface([
|
271
|
-
"function allowance(address,address) view returns (uint256)",
|
272
|
-
]);
|
273
271
|
const calldata = iface.encodeFunctionData("allowance", [arg0, arg1]);
|
274
272
|
const ethCallKey = makeEthCallKey({
|
275
273
|
context: ethCallContext,
|
@@ -304,9 +302,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
304
302
|
): Promise<boolean> {
|
305
303
|
try {
|
306
304
|
if (preparedData?.ethCallResults && ethCallContext) {
|
307
|
-
const iface = new Interface([
|
308
|
-
"function approve(address,uint256) nonpayable returns (bool)",
|
309
|
-
]);
|
310
305
|
const calldata = iface.encodeFunctionData("approve", [guy, wad]);
|
311
306
|
const ethCallKey = makeEthCallKey({
|
312
307
|
context: ethCallContext,
|
@@ -336,9 +331,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
336
331
|
): Promise<boolean> {
|
337
332
|
try {
|
338
333
|
if (preparedData?.ethCallResults && ethCallContext) {
|
339
|
-
const iface = new Interface([
|
340
|
-
"function transferFrom(address,address,uint256) nonpayable returns (bool)",
|
341
|
-
]);
|
342
334
|
const calldata = iface.encodeFunctionData("transferFrom", [
|
343
335
|
src,
|
344
336
|
dst,
|
@@ -372,9 +364,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
372
364
|
): Promise<void> {
|
373
365
|
try {
|
374
366
|
if (preparedData?.ethCallResults && ethCallContext) {
|
375
|
-
const iface = new Interface([
|
376
|
-
"function withdraw(uint256) nonpayable returns ()",
|
377
|
-
]);
|
378
367
|
const calldata = iface.encodeFunctionData("withdraw", [wad]);
|
379
368
|
const ethCallKey = makeEthCallKey({
|
380
369
|
context: ethCallContext,
|
@@ -405,9 +394,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
405
394
|
): Promise<boolean> {
|
406
395
|
try {
|
407
396
|
if (preparedData?.ethCallResults && ethCallContext) {
|
408
|
-
const iface = new Interface([
|
409
|
-
"function transfer(address,uint256) nonpayable returns (bool)",
|
410
|
-
]);
|
411
397
|
const calldata = iface.encodeFunctionData("transfer", [dst, wad]);
|
412
398
|
const ethCallKey = makeEthCallKey({
|
413
399
|
context: ethCallContext,
|
@@ -436,9 +422,6 @@ export class WETH9ContractView extends ContractView<WETH9> {
|
|
436
422
|
): Promise<void> {
|
437
423
|
try {
|
438
424
|
if (preparedData?.ethCallResults && ethCallContext) {
|
439
|
-
const iface = new Interface([
|
440
|
-
"function deposit() payable returns ()",
|
441
|
-
]);
|
442
425
|
const calldata = iface.encodeFunctionData("deposit", []);
|
443
426
|
const ethCallKey = makeEthCallKey({
|
444
427
|
context: ethCallContext,
|
package/src/eth/codegen/file.ts
CHANGED
@@ -13,6 +13,7 @@ import {
|
|
13
13
|
generateBoundFunctionCallEncoders,
|
14
14
|
generateBoundViewFunctions,
|
15
15
|
generateFunctionCallEncoders,
|
16
|
+
generateFunctionSignatures,
|
16
17
|
generateViewFunctions
|
17
18
|
} from './function-calls.js'
|
18
19
|
|
@@ -30,6 +31,10 @@ export function codeGenSentioFile(contract: Contract): string {
|
|
30
31
|
${Object.values(contract.functions).map(codegenCallTraceTypes).join('\n')}
|
31
32
|
|
32
33
|
const templateContract = ${contract.name}__factory.connect("0x0", DummyProvider)
|
34
|
+
|
35
|
+
const iface = new Interface([${Object.values(contract.functions)
|
36
|
+
.filter((f) => !reservedKeywords.has(f[0].name))
|
37
|
+
.flatMap((fs) => generateFunctionSignatures(fs))}])
|
33
38
|
|
34
39
|
export class ${contract.name}ContractView extends ContractView<${contract.name}> {
|
35
40
|
constructor (contract: ${contract.name}) {
|
@@ -17,6 +17,10 @@ export function generateViewFunctions(view: boolean, functions: FunctionDeclarat
|
|
17
17
|
return functions.flatMap((fn) => generateViewFunction(view, fn, includeArgTypes))
|
18
18
|
}
|
19
19
|
|
20
|
+
export function generateFunctionSignatures(functions: FunctionDeclaration[]): string[] {
|
21
|
+
return functions.map((fn) => `"function ${getFullSignatureWithOutputForFn(fn)}"`)
|
22
|
+
}
|
23
|
+
|
20
24
|
export function generateViewFunction(view: boolean, fn: FunctionDeclaration, includeArgTypes: boolean): string[] {
|
21
25
|
const isView = fn.stateMutability === 'view' || fn.stateMutability === 'pure'
|
22
26
|
if (view !== isView) {
|
@@ -41,7 +45,6 @@ export function generateViewFunction(view: boolean, fn: FunctionDeclaration, inc
|
|
41
45
|
})}overrides?: Overrides, preparedData?: PreparedData, ethCallContext?: EthCallContext): ${generateReturnTypes(fn)} {
|
42
46
|
try {
|
43
47
|
if (preparedData?.ethCallResults && ethCallContext) {
|
44
|
-
const iface = new Interface(["function ${getFullSignatureWithOutputForFn(fn)}"])
|
45
48
|
const calldata = iface.encodeFunctionData(
|
46
49
|
"${fn.name}",[${
|
47
50
|
fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|