@ring-protocol/permit2-sdk 0.1.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.
Files changed (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/dist/cjs/abis/Permit2.json +830 -0
  4. package/dist/cjs/src/allowanceTransfer.d.ts +36 -0
  5. package/dist/cjs/src/allowanceTransfer.js +72 -0
  6. package/dist/cjs/src/allowanceTransfer.js.map +1 -0
  7. package/dist/cjs/src/allowanceTransfer.test.d.ts +1 -0
  8. package/dist/cjs/src/allowanceTransfer.test.js +95 -0
  9. package/dist/cjs/src/allowanceTransfer.test.js.map +1 -0
  10. package/dist/cjs/src/constants.d.ts +13 -0
  11. package/dist/cjs/src/constants.js +29 -0
  12. package/dist/cjs/src/constants.js.map +1 -0
  13. package/dist/cjs/src/constants.test.d.ts +1 -0
  14. package/dist/cjs/src/constants.test.js +19 -0
  15. package/dist/cjs/src/constants.test.js.map +1 -0
  16. package/dist/cjs/src/domain.d.ts +7 -0
  17. package/dist/cjs/src/domain.js +13 -0
  18. package/dist/cjs/src/domain.js.map +1 -0
  19. package/dist/cjs/src/index.d.ts +4 -0
  20. package/dist/cjs/src/index.js +8 -0
  21. package/dist/cjs/src/index.js.map +1 -0
  22. package/dist/cjs/src/providers/AllowanceProvider.d.ts +17 -0
  23. package/dist/cjs/src/providers/AllowanceProvider.js +35 -0
  24. package/dist/cjs/src/providers/AllowanceProvider.js.map +1 -0
  25. package/dist/cjs/src/providers/SignatureProvider.d.ts +74 -0
  26. package/dist/cjs/src/providers/SignatureProvider.js +146 -0
  27. package/dist/cjs/src/providers/SignatureProvider.js.map +1 -0
  28. package/dist/cjs/src/providers/SignatureProvider.test.d.ts +1 -0
  29. package/dist/cjs/src/providers/SignatureProvider.test.js +247 -0
  30. package/dist/cjs/src/providers/SignatureProvider.test.js.map +1 -0
  31. package/dist/cjs/src/providers/index.d.ts +2 -0
  32. package/dist/cjs/src/providers/index.js +6 -0
  33. package/dist/cjs/src/providers/index.js.map +1 -0
  34. package/dist/cjs/src/signatureTransfer.d.ts +41 -0
  35. package/dist/cjs/src/signatureTransfer.js +93 -0
  36. package/dist/cjs/src/signatureTransfer.js.map +1 -0
  37. package/dist/cjs/src/signatureTransfer.test.d.ts +1 -0
  38. package/dist/cjs/src/signatureTransfer.test.js +109 -0
  39. package/dist/cjs/src/signatureTransfer.test.js.map +1 -0
  40. package/dist/esm/abis/Permit2.json +830 -0
  41. package/dist/esm/src/allowanceTransfer.d.ts +36 -0
  42. package/dist/esm/src/allowanceTransfer.js +67 -0
  43. package/dist/esm/src/allowanceTransfer.js.map +1 -0
  44. package/dist/esm/src/allowanceTransfer.test.d.ts +1 -0
  45. package/dist/esm/src/allowanceTransfer.test.js +93 -0
  46. package/dist/esm/src/allowanceTransfer.test.js.map +1 -0
  47. package/dist/esm/src/constants.d.ts +13 -0
  48. package/dist/esm/src/constants.js +25 -0
  49. package/dist/esm/src/constants.js.map +1 -0
  50. package/dist/esm/src/constants.test.d.ts +1 -0
  51. package/dist/esm/src/constants.test.js +17 -0
  52. package/dist/esm/src/constants.test.js.map +1 -0
  53. package/dist/esm/src/domain.d.ts +7 -0
  54. package/dist/esm/src/domain.js +9 -0
  55. package/dist/esm/src/domain.js.map +1 -0
  56. package/dist/esm/src/index.d.ts +4 -0
  57. package/dist/esm/src/index.js +5 -0
  58. package/dist/esm/src/index.js.map +1 -0
  59. package/dist/esm/src/providers/AllowanceProvider.d.ts +17 -0
  60. package/dist/esm/src/providers/AllowanceProvider.js +31 -0
  61. package/dist/esm/src/providers/AllowanceProvider.js.map +1 -0
  62. package/dist/esm/src/providers/SignatureProvider.d.ts +74 -0
  63. package/dist/esm/src/providers/SignatureProvider.js +142 -0
  64. package/dist/esm/src/providers/SignatureProvider.js.map +1 -0
  65. package/dist/esm/src/providers/SignatureProvider.test.d.ts +1 -0
  66. package/dist/esm/src/providers/SignatureProvider.test.js +245 -0
  67. package/dist/esm/src/providers/SignatureProvider.test.js.map +1 -0
  68. package/dist/esm/src/providers/index.d.ts +2 -0
  69. package/dist/esm/src/providers/index.js +3 -0
  70. package/dist/esm/src/providers/index.js.map +1 -0
  71. package/dist/esm/src/signatureTransfer.d.ts +41 -0
  72. package/dist/esm/src/signatureTransfer.js +88 -0
  73. package/dist/esm/src/signatureTransfer.js.map +1 -0
  74. package/dist/esm/src/signatureTransfer.test.d.ts +1 -0
  75. package/dist/esm/src/signatureTransfer.test.js +107 -0
  76. package/dist/esm/src/signatureTransfer.test.js.map +1 -0
  77. package/dist/types/src/allowanceTransfer.d.ts +36 -0
  78. package/dist/types/src/allowanceTransfer.test.d.ts +1 -0
  79. package/dist/types/src/constants.d.ts +13 -0
  80. package/dist/types/src/constants.test.d.ts +1 -0
  81. package/dist/types/src/domain.d.ts +7 -0
  82. package/dist/types/src/index.d.ts +4 -0
  83. package/dist/types/src/providers/AllowanceProvider.d.ts +17 -0
  84. package/dist/types/src/providers/SignatureProvider.d.ts +74 -0
  85. package/dist/types/src/providers/SignatureProvider.test.d.ts +1 -0
  86. package/dist/types/src/providers/index.d.ts +2 -0
  87. package/dist/types/src/signatureTransfer.d.ts +41 -0
  88. package/dist/types/src/signatureTransfer.test.d.ts +1 -0
  89. package/package.json +92 -0
@@ -0,0 +1,830 @@
1
+ [
2
+ {
3
+ "inputs": [],
4
+ "name": "AllowanceExpired",
5
+ "type": "error"
6
+ },
7
+ {
8
+ "inputs": [],
9
+ "name": "ExcessiveInvalidation",
10
+ "type": "error"
11
+ },
12
+ {
13
+ "inputs": [],
14
+ "name": "InsufficientAllowance",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "InvalidAmount",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "InvalidContractSignature",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidNonce",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidSignature",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "InvalidSigner",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "LengthMismatch",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "NotSpender",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "SignatureExpired",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "owner",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": true,
68
+ "internalType": "address",
69
+ "name": "token",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": true,
74
+ "internalType": "address",
75
+ "name": "spender",
76
+ "type": "address"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "uint160",
81
+ "name": "amount",
82
+ "type": "uint160"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "uint48",
87
+ "name": "expiration",
88
+ "type": "uint48"
89
+ }
90
+ ],
91
+ "name": "Approval",
92
+ "type": "event"
93
+ },
94
+ {
95
+ "anonymous": false,
96
+ "inputs": [
97
+ {
98
+ "indexed": true,
99
+ "internalType": "address",
100
+ "name": "owner",
101
+ "type": "address"
102
+ },
103
+ {
104
+ "indexed": false,
105
+ "internalType": "address",
106
+ "name": "token",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "indexed": false,
111
+ "internalType": "address",
112
+ "name": "spender",
113
+ "type": "address"
114
+ }
115
+ ],
116
+ "name": "Lockdown",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": true,
124
+ "internalType": "address",
125
+ "name": "owner",
126
+ "type": "address"
127
+ },
128
+ {
129
+ "indexed": true,
130
+ "internalType": "address",
131
+ "name": "token",
132
+ "type": "address"
133
+ },
134
+ {
135
+ "indexed": true,
136
+ "internalType": "address",
137
+ "name": "spender",
138
+ "type": "address"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint48",
143
+ "name": "newNonce",
144
+ "type": "uint48"
145
+ },
146
+ {
147
+ "indexed": false,
148
+ "internalType": "uint48",
149
+ "name": "oldNonce",
150
+ "type": "uint48"
151
+ }
152
+ ],
153
+ "name": "NonceInvalidation",
154
+ "type": "event"
155
+ },
156
+ {
157
+ "anonymous": false,
158
+ "inputs": [
159
+ {
160
+ "indexed": true,
161
+ "internalType": "address",
162
+ "name": "owner",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "indexed": false,
167
+ "internalType": "uint256",
168
+ "name": "word",
169
+ "type": "uint256"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "uint256",
174
+ "name": "mask",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "name": "UnorderedNonceInvalidation",
179
+ "type": "event"
180
+ },
181
+ {
182
+ "inputs": [],
183
+ "name": "DOMAIN_SEPARATOR",
184
+ "outputs": [
185
+ {
186
+ "internalType": "bytes32",
187
+ "name": "",
188
+ "type": "bytes32"
189
+ }
190
+ ],
191
+ "stateMutability": "view",
192
+ "type": "function"
193
+ },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "address",
198
+ "name": "",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "internalType": "address",
203
+ "name": "",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "name": "allowance",
213
+ "outputs": [
214
+ {
215
+ "internalType": "uint160",
216
+ "name": "amount",
217
+ "type": "uint160"
218
+ },
219
+ {
220
+ "internalType": "uint48",
221
+ "name": "expiration",
222
+ "type": "uint48"
223
+ },
224
+ {
225
+ "internalType": "uint48",
226
+ "name": "nonce",
227
+ "type": "uint48"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "internalType": "address",
237
+ "name": "token",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "internalType": "address",
242
+ "name": "spender",
243
+ "type": "address"
244
+ },
245
+ {
246
+ "internalType": "uint160",
247
+ "name": "amount",
248
+ "type": "uint160"
249
+ },
250
+ {
251
+ "internalType": "uint48",
252
+ "name": "expiration",
253
+ "type": "uint48"
254
+ }
255
+ ],
256
+ "name": "approve",
257
+ "outputs": [],
258
+ "stateMutability": "nonpayable",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [
263
+ {
264
+ "internalType": "address",
265
+ "name": "token",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "internalType": "address",
270
+ "name": "spender",
271
+ "type": "address"
272
+ },
273
+ {
274
+ "internalType": "uint48",
275
+ "name": "newNonce",
276
+ "type": "uint48"
277
+ }
278
+ ],
279
+ "name": "invalidateNonces",
280
+ "outputs": [],
281
+ "stateMutability": "nonpayable",
282
+ "type": "function"
283
+ },
284
+ {
285
+ "inputs": [
286
+ {
287
+ "internalType": "uint256",
288
+ "name": "wordPos",
289
+ "type": "uint256"
290
+ },
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "mask",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "name": "invalidateUnorderedNonces",
298
+ "outputs": [],
299
+ "stateMutability": "nonpayable",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [
304
+ {
305
+ "components": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "token",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "address",
313
+ "name": "spender",
314
+ "type": "address"
315
+ }
316
+ ],
317
+ "internalType": "struct IAllowanceTransfer.TokenSpenderPair[]",
318
+ "name": "approvals",
319
+ "type": "tuple[]"
320
+ }
321
+ ],
322
+ "name": "lockdown",
323
+ "outputs": [],
324
+ "stateMutability": "nonpayable",
325
+ "type": "function"
326
+ },
327
+ {
328
+ "inputs": [
329
+ {
330
+ "internalType": "address",
331
+ "name": "",
332
+ "type": "address"
333
+ },
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "name": "nonceBitmap",
341
+ "outputs": [
342
+ {
343
+ "internalType": "uint256",
344
+ "name": "",
345
+ "type": "uint256"
346
+ }
347
+ ],
348
+ "stateMutability": "view",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [
353
+ {
354
+ "internalType": "address",
355
+ "name": "owner",
356
+ "type": "address"
357
+ },
358
+ {
359
+ "components": [
360
+ {
361
+ "components": [
362
+ {
363
+ "internalType": "address",
364
+ "name": "token",
365
+ "type": "address"
366
+ },
367
+ {
368
+ "internalType": "uint160",
369
+ "name": "amount",
370
+ "type": "uint160"
371
+ },
372
+ {
373
+ "internalType": "uint48",
374
+ "name": "expiration",
375
+ "type": "uint48"
376
+ },
377
+ {
378
+ "internalType": "uint48",
379
+ "name": "nonce",
380
+ "type": "uint48"
381
+ }
382
+ ],
383
+ "internalType": "struct IAllowanceTransfer.PermitDetails[]",
384
+ "name": "details",
385
+ "type": "tuple[]"
386
+ },
387
+ {
388
+ "internalType": "address",
389
+ "name": "spender",
390
+ "type": "address"
391
+ },
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "sigDeadline",
395
+ "type": "uint256"
396
+ }
397
+ ],
398
+ "internalType": "struct IAllowanceTransfer.PermitBatch",
399
+ "name": "permitBatch",
400
+ "type": "tuple"
401
+ },
402
+ {
403
+ "internalType": "bytes",
404
+ "name": "signature",
405
+ "type": "bytes"
406
+ }
407
+ ],
408
+ "name": "permit",
409
+ "outputs": [],
410
+ "stateMutability": "nonpayable",
411
+ "type": "function"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "address",
417
+ "name": "owner",
418
+ "type": "address"
419
+ },
420
+ {
421
+ "components": [
422
+ {
423
+ "components": [
424
+ {
425
+ "internalType": "address",
426
+ "name": "token",
427
+ "type": "address"
428
+ },
429
+ {
430
+ "internalType": "uint160",
431
+ "name": "amount",
432
+ "type": "uint160"
433
+ },
434
+ {
435
+ "internalType": "uint48",
436
+ "name": "expiration",
437
+ "type": "uint48"
438
+ },
439
+ {
440
+ "internalType": "uint48",
441
+ "name": "nonce",
442
+ "type": "uint48"
443
+ }
444
+ ],
445
+ "internalType": "struct IAllowanceTransfer.PermitDetails",
446
+ "name": "details",
447
+ "type": "tuple"
448
+ },
449
+ {
450
+ "internalType": "address",
451
+ "name": "spender",
452
+ "type": "address"
453
+ },
454
+ {
455
+ "internalType": "uint256",
456
+ "name": "sigDeadline",
457
+ "type": "uint256"
458
+ }
459
+ ],
460
+ "internalType": "struct IAllowanceTransfer.PermitSingle",
461
+ "name": "permitSingle",
462
+ "type": "tuple"
463
+ },
464
+ {
465
+ "internalType": "bytes",
466
+ "name": "signature",
467
+ "type": "bytes"
468
+ }
469
+ ],
470
+ "name": "permit",
471
+ "outputs": [],
472
+ "stateMutability": "nonpayable",
473
+ "type": "function"
474
+ },
475
+ {
476
+ "inputs": [
477
+ {
478
+ "components": [
479
+ {
480
+ "components": [
481
+ {
482
+ "internalType": "address",
483
+ "name": "token",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "amount",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "internalType": "struct ISignatureTransfer.TokenPermissions[]",
493
+ "name": "permitted",
494
+ "type": "tuple[]"
495
+ },
496
+ {
497
+ "internalType": "uint256",
498
+ "name": "nonce",
499
+ "type": "uint256"
500
+ },
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "deadline",
504
+ "type": "uint256"
505
+ }
506
+ ],
507
+ "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom",
508
+ "name": "permit",
509
+ "type": "tuple"
510
+ },
511
+ {
512
+ "internalType": "address",
513
+ "name": "owner",
514
+ "type": "address"
515
+ },
516
+ {
517
+ "components": [
518
+ {
519
+ "internalType": "address",
520
+ "name": "to",
521
+ "type": "address"
522
+ },
523
+ {
524
+ "internalType": "uint256",
525
+ "name": "requestedAmount",
526
+ "type": "uint256"
527
+ }
528
+ ],
529
+ "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]",
530
+ "name": "transferDetails",
531
+ "type": "tuple[]"
532
+ },
533
+ {
534
+ "internalType": "bytes",
535
+ "name": "signature",
536
+ "type": "bytes"
537
+ }
538
+ ],
539
+ "name": "permitTransferFrom",
540
+ "outputs": [],
541
+ "stateMutability": "nonpayable",
542
+ "type": "function"
543
+ },
544
+ {
545
+ "inputs": [
546
+ {
547
+ "components": [
548
+ {
549
+ "components": [
550
+ {
551
+ "internalType": "address",
552
+ "name": "token",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "uint256",
557
+ "name": "amount",
558
+ "type": "uint256"
559
+ }
560
+ ],
561
+ "internalType": "struct ISignatureTransfer.TokenPermissions",
562
+ "name": "permitted",
563
+ "type": "tuple"
564
+ },
565
+ {
566
+ "internalType": "uint256",
567
+ "name": "nonce",
568
+ "type": "uint256"
569
+ },
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "deadline",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "internalType": "struct ISignatureTransfer.PermitTransferFrom",
577
+ "name": "permit",
578
+ "type": "tuple"
579
+ },
580
+ {
581
+ "internalType": "address",
582
+ "name": "owner",
583
+ "type": "address"
584
+ },
585
+ {
586
+ "internalType": "address",
587
+ "name": "to",
588
+ "type": "address"
589
+ },
590
+ {
591
+ "internalType": "uint256",
592
+ "name": "requestedAmount",
593
+ "type": "uint256"
594
+ },
595
+ {
596
+ "internalType": "bytes",
597
+ "name": "signature",
598
+ "type": "bytes"
599
+ }
600
+ ],
601
+ "name": "permitTransferFrom",
602
+ "outputs": [],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "components": [
610
+ {
611
+ "components": [
612
+ {
613
+ "internalType": "address",
614
+ "name": "token",
615
+ "type": "address"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "amount",
620
+ "type": "uint256"
621
+ }
622
+ ],
623
+ "internalType": "struct ISignatureTransfer.TokenPermissions",
624
+ "name": "permitted",
625
+ "type": "tuple"
626
+ },
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "nonce",
630
+ "type": "uint256"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "deadline",
635
+ "type": "uint256"
636
+ }
637
+ ],
638
+ "internalType": "struct ISignatureTransfer.PermitTransferFrom",
639
+ "name": "permit",
640
+ "type": "tuple"
641
+ },
642
+ {
643
+ "internalType": "address",
644
+ "name": "owner",
645
+ "type": "address"
646
+ },
647
+ {
648
+ "internalType": "address",
649
+ "name": "to",
650
+ "type": "address"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "requestedAmount",
655
+ "type": "uint256"
656
+ },
657
+ {
658
+ "internalType": "bytes32",
659
+ "name": "witness",
660
+ "type": "bytes32"
661
+ },
662
+ {
663
+ "internalType": "string",
664
+ "name": "witnessTypeName",
665
+ "type": "string"
666
+ },
667
+ {
668
+ "internalType": "string",
669
+ "name": "witnessType",
670
+ "type": "string"
671
+ },
672
+ {
673
+ "internalType": "bytes",
674
+ "name": "signature",
675
+ "type": "bytes"
676
+ }
677
+ ],
678
+ "name": "permitWitnessTransferFrom",
679
+ "outputs": [],
680
+ "stateMutability": "nonpayable",
681
+ "type": "function"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "components": [
687
+ {
688
+ "components": [
689
+ {
690
+ "internalType": "address",
691
+ "name": "token",
692
+ "type": "address"
693
+ },
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "amount",
697
+ "type": "uint256"
698
+ }
699
+ ],
700
+ "internalType": "struct ISignatureTransfer.TokenPermissions[]",
701
+ "name": "permitted",
702
+ "type": "tuple[]"
703
+ },
704
+ {
705
+ "internalType": "uint256",
706
+ "name": "nonce",
707
+ "type": "uint256"
708
+ },
709
+ {
710
+ "internalType": "uint256",
711
+ "name": "deadline",
712
+ "type": "uint256"
713
+ }
714
+ ],
715
+ "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom",
716
+ "name": "permit",
717
+ "type": "tuple"
718
+ },
719
+ {
720
+ "internalType": "address",
721
+ "name": "owner",
722
+ "type": "address"
723
+ },
724
+ {
725
+ "components": [
726
+ {
727
+ "internalType": "address",
728
+ "name": "to",
729
+ "type": "address"
730
+ },
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "requestedAmount",
734
+ "type": "uint256"
735
+ }
736
+ ],
737
+ "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]",
738
+ "name": "transferDetails",
739
+ "type": "tuple[]"
740
+ },
741
+ {
742
+ "internalType": "bytes32",
743
+ "name": "witness",
744
+ "type": "bytes32"
745
+ },
746
+ {
747
+ "internalType": "string",
748
+ "name": "witnessTypeName",
749
+ "type": "string"
750
+ },
751
+ {
752
+ "internalType": "string",
753
+ "name": "witnessType",
754
+ "type": "string"
755
+ },
756
+ {
757
+ "internalType": "bytes",
758
+ "name": "signature",
759
+ "type": "bytes"
760
+ }
761
+ ],
762
+ "name": "permitWitnessTransferFrom",
763
+ "outputs": [],
764
+ "stateMutability": "nonpayable",
765
+ "type": "function"
766
+ },
767
+ {
768
+ "inputs": [
769
+ {
770
+ "internalType": "address",
771
+ "name": "token",
772
+ "type": "address"
773
+ },
774
+ {
775
+ "internalType": "address",
776
+ "name": "from",
777
+ "type": "address"
778
+ },
779
+ {
780
+ "internalType": "address",
781
+ "name": "to",
782
+ "type": "address"
783
+ },
784
+ {
785
+ "internalType": "uint160",
786
+ "name": "amount",
787
+ "type": "uint160"
788
+ }
789
+ ],
790
+ "name": "transferFrom",
791
+ "outputs": [],
792
+ "stateMutability": "nonpayable",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [
797
+ {
798
+ "internalType": "address",
799
+ "name": "from",
800
+ "type": "address"
801
+ },
802
+ {
803
+ "components": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "token",
807
+ "type": "address"
808
+ },
809
+ {
810
+ "internalType": "uint160",
811
+ "name": "amount",
812
+ "type": "uint160"
813
+ },
814
+ {
815
+ "internalType": "address",
816
+ "name": "to",
817
+ "type": "address"
818
+ }
819
+ ],
820
+ "internalType": "struct IAllowanceTransfer.AllowanceTransferDetails[]",
821
+ "name": "transferDetails",
822
+ "type": "tuple[]"
823
+ }
824
+ ],
825
+ "name": "transferFrom",
826
+ "outputs": [],
827
+ "stateMutability": "nonpayable",
828
+ "type": "function"
829
+ }
830
+ ]