@coti-io/coti-contracts 1.0.0 → 1.0.2

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 (88) hide show
  1. package/.github/workflows/npm-publish.yml +2 -1
  2. package/CONTRIBUTING.md +2 -2
  3. package/LICENSE +1 -1
  4. package/README.md +18 -35
  5. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +152 -0
  6. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +11 -1
  7. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +8 -0
  8. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +33 -4
  9. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +35 -10
  10. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +3 -0
  11. package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +222 -0
  12. package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +222 -0
  13. package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +223 -0
  14. package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +222 -0
  15. package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +265 -0
  16. package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +281 -0
  17. package/contracts/token/PrivateERC20/PrivateERC20.sol +1 -1
  18. package/contracts/token/PrivateERC721/IERC721Errors.sol +57 -0
  19. package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
  20. package/hardhat.config.ts +9 -1
  21. package/package.json +20 -4
  22. package/test/token/PrivateERC20/PrivateERC20.test.ts +2 -2
  23. package/test/utils/mpc/Precompile.test.ts +16 -2
  24. package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.ts +66 -0
  25. package/typechain-types/contracts/mocks/utils/mpc/BitwiseTestsContract.ts +6 -0
  26. package/typechain-types/contracts/mocks/utils/mpc/Comparison2TestsContract.ts +6 -0
  27. package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.ts +36 -6
  28. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowance64TestsContract.ts +251 -0
  29. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowanceTestsContract.ts +250 -0
  30. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/index.ts +5 -0
  31. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.ts +389 -0
  32. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.ts +391 -0
  33. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.ts +391 -0
  34. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_64TestsContract.ts +391 -0
  35. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_8TestsContract.ts +391 -0
  36. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/index.ts +5 -0
  37. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.ts +391 -0
  38. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.ts +391 -0
  39. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.ts +306 -0
  40. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferTestsContract.ts +125 -0
  41. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferWithAllowanceTestsContract.ts +125 -0
  42. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/index.ts +5 -0
  43. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.ts +296 -0
  44. package/typechain-types/contracts/mocks/utils/mpc/index.ts +6 -0
  45. package/typechain-types/contracts/token/PrivateERC721/IERC721Errors.ts +69 -0
  46. package/typechain-types/contracts/token/PrivateERC721/index.ts +1 -0
  47. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  48. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +1 -1
  49. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  50. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +73 -1
  51. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +11 -1
  52. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  53. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +11 -1
  54. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  55. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  56. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  57. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +26 -30
  58. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  59. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  60. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  61. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowance64TestsContract__factory.ts +294 -0
  62. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowanceTestsContract__factory.ts +292 -0
  63. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/index.ts +5 -0
  64. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract__factory.ts +720 -0
  65. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +724 -0
  66. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +724 -0
  67. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_64TestsContract__factory.ts +724 -0
  68. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_8TestsContract__factory.ts +724 -0
  69. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/index.ts +5 -0
  70. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +724 -0
  71. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +724 -0
  72. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +507 -0
  73. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferTestsContract__factory.ts +150 -0
  74. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferWithAllowanceTestsContract__factory.ts +150 -0
  75. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/index.ts +5 -0
  76. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +434 -0
  77. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +6 -0
  78. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
  79. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  80. package/typechain-types/factories/contracts/token/PrivateERC721/IERC721Errors__factory.ts +128 -0
  81. package/typechain-types/factories/contracts/token/PrivateERC721/index.ts +1 -0
  82. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  83. package/typechain-types/hardhat.d.ts +126 -0
  84. package/typechain-types/index.ts +12 -0
  85. package/contracts/access/DataPrivacyFramework/README.md +0 -68
  86. package/contracts/token/PrivateERC20/README.md +0 -104
  87. package/contracts/token/PrivateERC721/README.md +0 -282
  88. package/contracts/utils/mpc/README.md +0 -82
@@ -0,0 +1,724 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../../../common";
12
+ import type {
13
+ TransferWithAllowance64_16TestsContract,
14
+ TransferWithAllowance64_16TestsContractInterface,
15
+ } from "../../../../../contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ components: [
22
+ {
23
+ internalType: "gtUint8",
24
+ name: "a8_s",
25
+ type: "uint256",
26
+ },
27
+ {
28
+ internalType: "gtUint8",
29
+ name: "b8_s",
30
+ type: "uint256",
31
+ },
32
+ {
33
+ internalType: "gtUint16",
34
+ name: "a16_s",
35
+ type: "uint256",
36
+ },
37
+ {
38
+ internalType: "gtUint16",
39
+ name: "b16_s",
40
+ type: "uint256",
41
+ },
42
+ {
43
+ internalType: "gtUint32",
44
+ name: "a32_s",
45
+ type: "uint256",
46
+ },
47
+ {
48
+ internalType: "gtUint32",
49
+ name: "b32_s",
50
+ type: "uint256",
51
+ },
52
+ {
53
+ internalType: "gtUint64",
54
+ name: "a64_s",
55
+ type: "uint256",
56
+ },
57
+ {
58
+ internalType: "gtUint64",
59
+ name: "b64_s",
60
+ type: "uint256",
61
+ },
62
+ ],
63
+ internalType:
64
+ "struct TransferWithAllowance64_16TestsContract.AllGTCastingValues",
65
+ name: "allGTCastingValues",
66
+ type: "tuple",
67
+ },
68
+ {
69
+ components: [
70
+ {
71
+ internalType: "gtUint8",
72
+ name: "amount8_s",
73
+ type: "uint256",
74
+ },
75
+ {
76
+ internalType: "gtUint16",
77
+ name: "amount16_s",
78
+ type: "uint256",
79
+ },
80
+ {
81
+ internalType: "gtUint32",
82
+ name: "amount32_s",
83
+ type: "uint256",
84
+ },
85
+ {
86
+ internalType: "gtUint64",
87
+ name: "amount64_s",
88
+ type: "uint256",
89
+ },
90
+ {
91
+ internalType: "uint8",
92
+ name: "amount",
93
+ type: "uint8",
94
+ },
95
+ ],
96
+ internalType:
97
+ "struct TransferWithAllowance64_16TestsContract.AllAmountValues",
98
+ name: "allAmountValues",
99
+ type: "tuple",
100
+ },
101
+ {
102
+ components: [
103
+ {
104
+ internalType: "gtUint8",
105
+ name: "allowance8_s",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ internalType: "gtUint16",
110
+ name: "allowance16_s",
111
+ type: "uint256",
112
+ },
113
+ {
114
+ internalType: "gtUint32",
115
+ name: "allowance32_s",
116
+ type: "uint256",
117
+ },
118
+ {
119
+ internalType: "gtUint64",
120
+ name: "allowance64_s",
121
+ type: "uint256",
122
+ },
123
+ {
124
+ internalType: "uint8",
125
+ name: "allowance",
126
+ type: "uint8",
127
+ },
128
+ ],
129
+ internalType:
130
+ "struct TransferWithAllowance64_16TestsContract.AllAllowanceValues",
131
+ name: "allAllowanceValues",
132
+ type: "tuple",
133
+ },
134
+ {
135
+ internalType: "uint8",
136
+ name: "new_a",
137
+ type: "uint8",
138
+ },
139
+ {
140
+ internalType: "uint8",
141
+ name: "new_b",
142
+ type: "uint8",
143
+ },
144
+ {
145
+ internalType: "bool",
146
+ name: "res",
147
+ type: "bool",
148
+ },
149
+ {
150
+ internalType: "uint8",
151
+ name: "new_allowance",
152
+ type: "uint8",
153
+ },
154
+ ],
155
+ name: "computeAndCheckTransfer64_16_16",
156
+ outputs: [],
157
+ stateMutability: "nonpayable",
158
+ type: "function",
159
+ },
160
+ {
161
+ inputs: [
162
+ {
163
+ components: [
164
+ {
165
+ internalType: "gtUint8",
166
+ name: "a8_s",
167
+ type: "uint256",
168
+ },
169
+ {
170
+ internalType: "gtUint8",
171
+ name: "b8_s",
172
+ type: "uint256",
173
+ },
174
+ {
175
+ internalType: "gtUint16",
176
+ name: "a16_s",
177
+ type: "uint256",
178
+ },
179
+ {
180
+ internalType: "gtUint16",
181
+ name: "b16_s",
182
+ type: "uint256",
183
+ },
184
+ {
185
+ internalType: "gtUint32",
186
+ name: "a32_s",
187
+ type: "uint256",
188
+ },
189
+ {
190
+ internalType: "gtUint32",
191
+ name: "b32_s",
192
+ type: "uint256",
193
+ },
194
+ {
195
+ internalType: "gtUint64",
196
+ name: "a64_s",
197
+ type: "uint256",
198
+ },
199
+ {
200
+ internalType: "gtUint64",
201
+ name: "b64_s",
202
+ type: "uint256",
203
+ },
204
+ ],
205
+ internalType:
206
+ "struct TransferWithAllowance64_16TestsContract.AllGTCastingValues",
207
+ name: "allGTCastingValues",
208
+ type: "tuple",
209
+ },
210
+ {
211
+ components: [
212
+ {
213
+ internalType: "gtUint8",
214
+ name: "amount8_s",
215
+ type: "uint256",
216
+ },
217
+ {
218
+ internalType: "gtUint16",
219
+ name: "amount16_s",
220
+ type: "uint256",
221
+ },
222
+ {
223
+ internalType: "gtUint32",
224
+ name: "amount32_s",
225
+ type: "uint256",
226
+ },
227
+ {
228
+ internalType: "gtUint64",
229
+ name: "amount64_s",
230
+ type: "uint256",
231
+ },
232
+ {
233
+ internalType: "uint8",
234
+ name: "amount",
235
+ type: "uint8",
236
+ },
237
+ ],
238
+ internalType:
239
+ "struct TransferWithAllowance64_16TestsContract.AllAmountValues",
240
+ name: "allAmountValues",
241
+ type: "tuple",
242
+ },
243
+ {
244
+ components: [
245
+ {
246
+ internalType: "gtUint8",
247
+ name: "allowance8_s",
248
+ type: "uint256",
249
+ },
250
+ {
251
+ internalType: "gtUint16",
252
+ name: "allowance16_s",
253
+ type: "uint256",
254
+ },
255
+ {
256
+ internalType: "gtUint32",
257
+ name: "allowance32_s",
258
+ type: "uint256",
259
+ },
260
+ {
261
+ internalType: "gtUint64",
262
+ name: "allowance64_s",
263
+ type: "uint256",
264
+ },
265
+ {
266
+ internalType: "uint8",
267
+ name: "allowance",
268
+ type: "uint8",
269
+ },
270
+ ],
271
+ internalType:
272
+ "struct TransferWithAllowance64_16TestsContract.AllAllowanceValues",
273
+ name: "allAllowanceValues",
274
+ type: "tuple",
275
+ },
276
+ {
277
+ internalType: "uint8",
278
+ name: "new_a",
279
+ type: "uint8",
280
+ },
281
+ {
282
+ internalType: "uint8",
283
+ name: "new_b",
284
+ type: "uint8",
285
+ },
286
+ {
287
+ internalType: "bool",
288
+ name: "res",
289
+ type: "bool",
290
+ },
291
+ {
292
+ internalType: "uint8",
293
+ name: "new_allowance",
294
+ type: "uint8",
295
+ },
296
+ ],
297
+ name: "computeAndCheckTransfer64_32_16",
298
+ outputs: [],
299
+ stateMutability: "nonpayable",
300
+ type: "function",
301
+ },
302
+ {
303
+ inputs: [
304
+ {
305
+ components: [
306
+ {
307
+ internalType: "gtUint8",
308
+ name: "a8_s",
309
+ type: "uint256",
310
+ },
311
+ {
312
+ internalType: "gtUint8",
313
+ name: "b8_s",
314
+ type: "uint256",
315
+ },
316
+ {
317
+ internalType: "gtUint16",
318
+ name: "a16_s",
319
+ type: "uint256",
320
+ },
321
+ {
322
+ internalType: "gtUint16",
323
+ name: "b16_s",
324
+ type: "uint256",
325
+ },
326
+ {
327
+ internalType: "gtUint32",
328
+ name: "a32_s",
329
+ type: "uint256",
330
+ },
331
+ {
332
+ internalType: "gtUint32",
333
+ name: "b32_s",
334
+ type: "uint256",
335
+ },
336
+ {
337
+ internalType: "gtUint64",
338
+ name: "a64_s",
339
+ type: "uint256",
340
+ },
341
+ {
342
+ internalType: "gtUint64",
343
+ name: "b64_s",
344
+ type: "uint256",
345
+ },
346
+ ],
347
+ internalType:
348
+ "struct TransferWithAllowance64_16TestsContract.AllGTCastingValues",
349
+ name: "allGTCastingValues",
350
+ type: "tuple",
351
+ },
352
+ {
353
+ components: [
354
+ {
355
+ internalType: "gtUint8",
356
+ name: "amount8_s",
357
+ type: "uint256",
358
+ },
359
+ {
360
+ internalType: "gtUint16",
361
+ name: "amount16_s",
362
+ type: "uint256",
363
+ },
364
+ {
365
+ internalType: "gtUint32",
366
+ name: "amount32_s",
367
+ type: "uint256",
368
+ },
369
+ {
370
+ internalType: "gtUint64",
371
+ name: "amount64_s",
372
+ type: "uint256",
373
+ },
374
+ {
375
+ internalType: "uint8",
376
+ name: "amount",
377
+ type: "uint8",
378
+ },
379
+ ],
380
+ internalType:
381
+ "struct TransferWithAllowance64_16TestsContract.AllAmountValues",
382
+ name: "allAmountValues",
383
+ type: "tuple",
384
+ },
385
+ {
386
+ components: [
387
+ {
388
+ internalType: "gtUint8",
389
+ name: "allowance8_s",
390
+ type: "uint256",
391
+ },
392
+ {
393
+ internalType: "gtUint16",
394
+ name: "allowance16_s",
395
+ type: "uint256",
396
+ },
397
+ {
398
+ internalType: "gtUint32",
399
+ name: "allowance32_s",
400
+ type: "uint256",
401
+ },
402
+ {
403
+ internalType: "gtUint64",
404
+ name: "allowance64_s",
405
+ type: "uint256",
406
+ },
407
+ {
408
+ internalType: "uint8",
409
+ name: "allowance",
410
+ type: "uint8",
411
+ },
412
+ ],
413
+ internalType:
414
+ "struct TransferWithAllowance64_16TestsContract.AllAllowanceValues",
415
+ name: "allAllowanceValues",
416
+ type: "tuple",
417
+ },
418
+ {
419
+ internalType: "uint8",
420
+ name: "new_a",
421
+ type: "uint8",
422
+ },
423
+ {
424
+ internalType: "uint8",
425
+ name: "new_b",
426
+ type: "uint8",
427
+ },
428
+ {
429
+ internalType: "bool",
430
+ name: "res",
431
+ type: "bool",
432
+ },
433
+ {
434
+ internalType: "uint8",
435
+ name: "new_allowance",
436
+ type: "uint8",
437
+ },
438
+ ],
439
+ name: "computeAndCheckTransfer64_64_16",
440
+ outputs: [],
441
+ stateMutability: "nonpayable",
442
+ type: "function",
443
+ },
444
+ {
445
+ inputs: [
446
+ {
447
+ components: [
448
+ {
449
+ internalType: "gtUint8",
450
+ name: "a8_s",
451
+ type: "uint256",
452
+ },
453
+ {
454
+ internalType: "gtUint8",
455
+ name: "b8_s",
456
+ type: "uint256",
457
+ },
458
+ {
459
+ internalType: "gtUint16",
460
+ name: "a16_s",
461
+ type: "uint256",
462
+ },
463
+ {
464
+ internalType: "gtUint16",
465
+ name: "b16_s",
466
+ type: "uint256",
467
+ },
468
+ {
469
+ internalType: "gtUint32",
470
+ name: "a32_s",
471
+ type: "uint256",
472
+ },
473
+ {
474
+ internalType: "gtUint32",
475
+ name: "b32_s",
476
+ type: "uint256",
477
+ },
478
+ {
479
+ internalType: "gtUint64",
480
+ name: "a64_s",
481
+ type: "uint256",
482
+ },
483
+ {
484
+ internalType: "gtUint64",
485
+ name: "b64_s",
486
+ type: "uint256",
487
+ },
488
+ ],
489
+ internalType:
490
+ "struct TransferWithAllowance64_16TestsContract.AllGTCastingValues",
491
+ name: "allGTCastingValues",
492
+ type: "tuple",
493
+ },
494
+ {
495
+ components: [
496
+ {
497
+ internalType: "gtUint8",
498
+ name: "amount8_s",
499
+ type: "uint256",
500
+ },
501
+ {
502
+ internalType: "gtUint16",
503
+ name: "amount16_s",
504
+ type: "uint256",
505
+ },
506
+ {
507
+ internalType: "gtUint32",
508
+ name: "amount32_s",
509
+ type: "uint256",
510
+ },
511
+ {
512
+ internalType: "gtUint64",
513
+ name: "amount64_s",
514
+ type: "uint256",
515
+ },
516
+ {
517
+ internalType: "uint8",
518
+ name: "amount",
519
+ type: "uint8",
520
+ },
521
+ ],
522
+ internalType:
523
+ "struct TransferWithAllowance64_16TestsContract.AllAmountValues",
524
+ name: "allAmountValues",
525
+ type: "tuple",
526
+ },
527
+ {
528
+ components: [
529
+ {
530
+ internalType: "gtUint8",
531
+ name: "allowance8_s",
532
+ type: "uint256",
533
+ },
534
+ {
535
+ internalType: "gtUint16",
536
+ name: "allowance16_s",
537
+ type: "uint256",
538
+ },
539
+ {
540
+ internalType: "gtUint32",
541
+ name: "allowance32_s",
542
+ type: "uint256",
543
+ },
544
+ {
545
+ internalType: "gtUint64",
546
+ name: "allowance64_s",
547
+ type: "uint256",
548
+ },
549
+ {
550
+ internalType: "uint8",
551
+ name: "allowance",
552
+ type: "uint8",
553
+ },
554
+ ],
555
+ internalType:
556
+ "struct TransferWithAllowance64_16TestsContract.AllAllowanceValues",
557
+ name: "allAllowanceValues",
558
+ type: "tuple",
559
+ },
560
+ {
561
+ internalType: "uint8",
562
+ name: "new_a",
563
+ type: "uint8",
564
+ },
565
+ {
566
+ internalType: "uint8",
567
+ name: "new_b",
568
+ type: "uint8",
569
+ },
570
+ {
571
+ internalType: "bool",
572
+ name: "res",
573
+ type: "bool",
574
+ },
575
+ {
576
+ internalType: "uint8",
577
+ name: "new_allowance",
578
+ type: "uint8",
579
+ },
580
+ ],
581
+ name: "computeAndCheckTransfer64_8_16",
582
+ outputs: [],
583
+ stateMutability: "nonpayable",
584
+ type: "function",
585
+ },
586
+ {
587
+ inputs: [],
588
+ name: "getResults",
589
+ outputs: [
590
+ {
591
+ internalType: "uint8",
592
+ name: "",
593
+ type: "uint8",
594
+ },
595
+ {
596
+ internalType: "uint8",
597
+ name: "",
598
+ type: "uint8",
599
+ },
600
+ {
601
+ internalType: "bool",
602
+ name: "",
603
+ type: "bool",
604
+ },
605
+ {
606
+ internalType: "uint8",
607
+ name: "",
608
+ type: "uint8",
609
+ },
610
+ ],
611
+ stateMutability: "view",
612
+ type: "function",
613
+ },
614
+ {
615
+ inputs: [
616
+ {
617
+ internalType: "uint8",
618
+ name: "a",
619
+ type: "uint8",
620
+ },
621
+ {
622
+ internalType: "uint8",
623
+ name: "b",
624
+ type: "uint8",
625
+ },
626
+ {
627
+ internalType: "uint8",
628
+ name: "amount",
629
+ type: "uint8",
630
+ },
631
+ {
632
+ internalType: "uint8",
633
+ name: "allowance",
634
+ type: "uint8",
635
+ },
636
+ ],
637
+ name: "transferWithAllowance64Test",
638
+ outputs: [
639
+ {
640
+ internalType: "uint8",
641
+ name: "",
642
+ type: "uint8",
643
+ },
644
+ {
645
+ internalType: "uint8",
646
+ name: "",
647
+ type: "uint8",
648
+ },
649
+ {
650
+ internalType: "bool",
651
+ name: "",
652
+ type: "bool",
653
+ },
654
+ {
655
+ internalType: "uint8",
656
+ name: "",
657
+ type: "uint8",
658
+ },
659
+ ],
660
+ stateMutability: "nonpayable",
661
+ type: "function",
662
+ },
663
+ ] as const;
664
+
665
+ const _bytecode =
666
+ "0x608060405234801561001057600080fd5b50612665806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bb30c2f411610050578063bb30c2f4146100f0578063d4ba41d414610103578063f4fa21101461011657600080fd5b80630aaef195146100775780634717f97c1461008c578063a37f8f11146100dd575b600080fd5b61008a610085366004612471565b610129565b005b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100eb366004612471565b610766565b61008a6100fe366004612471565b610ccc565b61008a610111366004612471565b611232565b6100af61012436600461255d565b611798565b60008060008061014b8b600001518c60e001518c606001518c60200151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c606001518c60200151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b60c001518c60e001518c606001518c60200151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b604001518c60e001518c606001518c60200151611dbb565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c606001518c606001518c60200151611dda565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c606001518c60200151611df9565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60200151611e19565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c604001518c60200151611e39565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c604001518c60200151611e5a565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c604001518c60200151611e7b565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c604001518c60200151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b608001518c60e001518c604001518c60200151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b60c001518c60a001518c604001518c60200151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60200151611efb565b600080600080610cee8b600001518c60e001518c600001518c60200151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c600001518c60200151611f3b565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c600001518c60200151611f5b565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c600001518c60200151611f7b565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c600001518c60200151611f9b565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c600001518c60200151611fbb565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60200151611fdc565b6000806000806112548b600001518c60e001518c602001518c60200151611ffd565b935093509350935061126584611c48565b67ffffffffffffffff168860ff16148015611294575061128483611c48565b67ffffffffffffffff168760ff16145b80156112ab57506112a482611ceb565b1515861515145b80156112cb57506112bb81611c48565b67ffffffffffffffff168560ff16145b6113175760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6113338b60c001518c602001518c602001518c6020015161201d565b9296509094509250905061134684611c48565b67ffffffffffffffff168860ff16148015611375575061136583611c48565b67ffffffffffffffff168760ff16145b801561138c575061138582611ceb565b1515861515145b80156113ac575061139c81611c48565b67ffffffffffffffff168560ff16145b6113f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114148b604001518c60e001518c602001518c6020015161203d565b9296509094509250905061142784611c48565b67ffffffffffffffff168860ff16148015611456575061144683611c48565b67ffffffffffffffff168760ff16145b801561146d575061146682611ceb565b1515861515145b801561148d575061147d81611c48565b67ffffffffffffffff168560ff16145b6114d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114f58b60c001518c606001518c602001518c6020015161205c565b9296509094509250905061150884611c48565b67ffffffffffffffff168860ff16148015611537575061152783611c48565b67ffffffffffffffff168760ff16145b801561154e575061154782611ceb565b1515861515145b801561156e575061155e81611c48565b67ffffffffffffffff168560ff16145b6115ba5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6115d68b60c001518c60e001518c602001518c6020015161207b565b929650909450925090506115e984611c48565b67ffffffffffffffff168860ff16148015611618575061160883611c48565b67ffffffffffffffff168760ff16145b801561162f575061162882611ceb565b1515861515145b801561164f575061163f81611c48565b67ffffffffffffffff168560ff16145b61169b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116b78b608001518c60e001518c602001518c6020015161209a565b929650909450925090506116ca84611c48565b67ffffffffffffffff168860ff161480156116f957506116e983611c48565b67ffffffffffffffff168760ff16145b8015611710575061170982611ceb565b1515861515145b8015611730575061172081611c48565b67ffffffffffffffff168560ff16145b61177c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c602001516120ba565b6000806000806117e660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61181b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118506040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118598b6120da565b83526118648a6120da565b602084015261187560ff8c16612143565b604084015261188660ff8b16612143565b606084015261189760ff8c166121ad565b60808401526118a860ff8b166121ad565b60a08401526118b960ff8c16612219565b60c08401526118ca60ff8b16612219565b60e08401526118d8896120da565b82526118e660ff8a16612143565b60208301526118f760ff8a166121ad565b604083015261190860ff8a16612219565b606083015260ff8916608083015261191f886120da565b815261192d60ff8916612143565b602082015261193e60ff89166121ad565b604082015261194f60ff8916612219565b606082015260ff88166080820152825160208401518351835160009384938493849361197d93929190612289565b935093509350935061198e846122a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556119c9836122a7565b600060016101000a81548160ff021916908360ff1602179055506119ec82611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055611a2b816122a7565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055611a92948c948c948c94938316908316179261010082048316926201000083048116929190910416610ccc565b600054611ac39088908890889060ff8082169161010081048216916201000082048116916301000000900416611232565b600054611af49088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b600054611b259088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080808080808080606463c2ff267a611b7b60016004806002876122b7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125b1565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612616565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612616565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001816002876122b7565b600080808080808080606463c2ff267a611b7b600480806002876122b7565b600080808080808080606463c2ff267a611b7b600260048082876122b7565b600080808080808080606463c2ff267a611b7b600460028181876122b7565b600080808080808080606463c2ff267a611b7b60036004806002876122b7565b600080808080808080606463c2ff267a611b7b60046003816002876122b7565b600080808080808080606463c2ff267a611b7b6001600460036002876122b7565b600080808080808080606463c2ff267a611b7b6004600160036002876122b7565b600080808080808080606463c2ff267a611b7b60026004600382876122b7565b600080808080808080606463c2ff267a611b7b60046002600381876122b7565b600080808080808080606463c2ff267a611b7b60036004816002876122b7565b600080808080808080606463c2ff267a611b7b60046003806002876122b7565b600080808080808080606463c2ff267a611b7b60048060036002876122b7565b600080808080808080606463c2ff267a611b7b60016004816002876122b7565b600080808080808080606463c2ff267a611b7b60046001806002876122b7565b600080808080808080606463c2ff267a611b7b60048060016002876122b7565b600080808080808080606463c2ff267a611b7b60026004600182876122b7565b600080808080808080606463c2ff267a611b7b60046002600181876122b7565b600080808080808080606463c2ff267a611b7b6003600460016002876122b7565b600080808080808080606463c2ff267a611b7b6004600360016002876122b7565b600080808080808080606463c2ff267a611b7b60016004600280876122b7565b600080808080808080606463c2ff267a611b7b60046001600280876122b7565b600080808080808080606463c2ff267a611b7b600260048180876122b7565b600080808080808080606463c2ff267a611b7b600460028080876122b7565b600080808080808080606463c2ff267a611b7b600480600280876122b7565b600080808080808080606463c2ff267a611b7b60036004600280876122b7565b600080808080808080606463c2ff267a611b7b60046003600280876122b7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b7565b60006064630cfed5616001611c54565b60008160028111156122cb576122cb6125e7565b60ff1660088460048111156122e2576122e26125e7565b61ffff16901b61ffff166010866004811115612300576123006125e7565b62ffffff16901b62ffffff166018886004811115612320576123206125e7565b63ffffffff16901b63ffffffff1660208a6004811115612342576123426125e7565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123be57600080fd5b919050565b600060a082840312156123d557600080fd5b60405160a0810181811067ffffffffffffffff8211171561241f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612455608084016123ad565b60808201525092915050565b803580151581146123be57600080fd5b60008060008060008060008789036102c081121561248e57600080fd5b6101008082121561249e57600080fd5b6124a661235c565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506125018b828c016123c3565b97505050612513896101a08a016123c3565b945061252261024089016123ad565b935061253161026089016123ad565b92506125406102808901612461565b915061254f6102a089016123ad565b905092959891949750929550565b6000806000806080858703121561257357600080fd5b61257c856123ad565b935061258a602086016123ad565b9250612598604086016123ad565b91506125a6606086016123ad565b905092959194509250565b600080600080608085870312156125c757600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262857600080fd5b505191905056fea264697066735822122089d1041c9908640781ae064a41bea3e1ac17b67a192185b82fe89d545bfb1e6764736f6c63430008130033";
667
+
668
+ type TransferWithAllowance64_16TestsContractConstructorParams =
669
+ | [signer?: Signer]
670
+ | ConstructorParameters<typeof ContractFactory>;
671
+
672
+ const isSuperArgs = (
673
+ xs: TransferWithAllowance64_16TestsContractConstructorParams
674
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
675
+
676
+ export class TransferWithAllowance64_16TestsContract__factory extends ContractFactory {
677
+ constructor(
678
+ ...args: TransferWithAllowance64_16TestsContractConstructorParams
679
+ ) {
680
+ if (isSuperArgs(args)) {
681
+ super(...args);
682
+ } else {
683
+ super(_abi, _bytecode, args[0]);
684
+ }
685
+ }
686
+
687
+ override getDeployTransaction(
688
+ overrides?: NonPayableOverrides & { from?: string }
689
+ ): Promise<ContractDeployTransaction> {
690
+ return super.getDeployTransaction(overrides || {});
691
+ }
692
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
693
+ return super.deploy(overrides || {}) as Promise<
694
+ TransferWithAllowance64_16TestsContract & {
695
+ deploymentTransaction(): ContractTransactionResponse;
696
+ }
697
+ >;
698
+ }
699
+ override connect(
700
+ runner: ContractRunner | null
701
+ ): TransferWithAllowance64_16TestsContract__factory {
702
+ return super.connect(
703
+ runner
704
+ ) as TransferWithAllowance64_16TestsContract__factory;
705
+ }
706
+
707
+ static readonly bytecode = _bytecode;
708
+ static readonly abi = _abi;
709
+ static createInterface(): TransferWithAllowance64_16TestsContractInterface {
710
+ return new Interface(
711
+ _abi
712
+ ) as TransferWithAllowance64_16TestsContractInterface;
713
+ }
714
+ static connect(
715
+ address: string,
716
+ runner?: ContractRunner | null
717
+ ): TransferWithAllowance64_16TestsContract {
718
+ return new Contract(
719
+ address,
720
+ _abi,
721
+ runner
722
+ ) as unknown as TransferWithAllowance64_16TestsContract;
723
+ }
724
+ }