@overcast-xyz/evm-contracts 0.0.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 (36) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +162 -0
  3. package/dist/cjs/generated/abis.d.ts +8064 -0
  4. package/dist/cjs/generated/abis.d.ts.map +1 -0
  5. package/dist/cjs/generated/abis.js +4108 -0
  6. package/dist/cjs/generated/abis.js.map +1 -0
  7. package/dist/cjs/generated/enums.d.ts +42 -0
  8. package/dist/cjs/generated/enums.d.ts.map +1 -0
  9. package/dist/cjs/generated/enums.js +44 -0
  10. package/dist/cjs/generated/enums.js.map +1 -0
  11. package/dist/cjs/generated/structs.d.ts +392 -0
  12. package/dist/cjs/generated/structs.d.ts.map +1 -0
  13. package/dist/cjs/generated/structs.js +419 -0
  14. package/dist/cjs/generated/structs.js.map +1 -0
  15. package/dist/cjs/index.d.ts +4 -0
  16. package/dist/cjs/index.d.ts.map +1 -0
  17. package/dist/cjs/index.js +26 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/package.json +3 -0
  20. package/dist/esm/generated/abis.d.ts +8064 -0
  21. package/dist/esm/generated/abis.d.ts.map +1 -0
  22. package/dist/esm/generated/abis.js +4105 -0
  23. package/dist/esm/generated/abis.js.map +1 -0
  24. package/dist/esm/generated/enums.d.ts +42 -0
  25. package/dist/esm/generated/enums.d.ts.map +1 -0
  26. package/dist/esm/generated/enums.js +41 -0
  27. package/dist/esm/generated/enums.js.map +1 -0
  28. package/dist/esm/generated/structs.d.ts +392 -0
  29. package/dist/esm/generated/structs.d.ts.map +1 -0
  30. package/dist/esm/generated/structs.js +416 -0
  31. package/dist/esm/generated/structs.js.map +1 -0
  32. package/dist/esm/index.d.ts +4 -0
  33. package/dist/esm/index.d.ts.map +1 -0
  34. package/dist/esm/index.js +10 -0
  35. package/dist/esm/index.js.map +1 -0
  36. package/package.json +52 -0
@@ -0,0 +1,4108 @@
1
+ "use strict";
2
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ // ChainlinkSettlement
4
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.physicalSettlementFactoryConfig = exports.physicalSettlementFactoryAddress = exports.physicalSettlementFactoryAbi = exports.physicalSettlementAbi = exports.iSettlementLayerAbi = exports.iOptionCreationHookAbi = exports.feeHookAbi = exports.coreConfig = exports.coreAddress = exports.coreAbi = exports.chainlinkSettlementFactoryConfig = exports.chainlinkSettlementFactoryAddress = exports.chainlinkSettlementFactoryAbi = exports.chainlinkSettlementAbi = void 0;
7
+ exports.chainlinkSettlementAbi = [
8
+ {
9
+ type: 'constructor',
10
+ inputs: [
11
+ {
12
+ name: 'config',
13
+ internalType: 'struct ChainlinkSettlementConfig',
14
+ type: 'tuple',
15
+ components: [
16
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
17
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
18
+ {
19
+ name: 'collateralFeed',
20
+ internalType: 'contract IAggregatorV3',
21
+ type: 'address',
22
+ },
23
+ {
24
+ name: 'settlementFeed',
25
+ internalType: 'contract IAggregatorV3',
26
+ type: 'address',
27
+ },
28
+ {
29
+ name: 'collMaxStalenessSecs',
30
+ internalType: 'uint32',
31
+ type: 'uint32',
32
+ },
33
+ {
34
+ name: 'settMaxStalenessSecs',
35
+ internalType: 'uint32',
36
+ type: 'uint32',
37
+ },
38
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
39
+ {
40
+ name: 'exerciseMode',
41
+ internalType: 'enum ExerciseMode',
42
+ type: 'uint8',
43
+ },
44
+ ],
45
+ },
46
+ ],
47
+ stateMutability: 'nonpayable',
48
+ },
49
+ {
50
+ type: 'function',
51
+ inputs: [],
52
+ name: 'COLLATERAL_ASSET',
53
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
54
+ stateMutability: 'view',
55
+ },
56
+ {
57
+ type: 'function',
58
+ inputs: [],
59
+ name: 'COLLATERAL_DECIMALS',
60
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
61
+ stateMutability: 'view',
62
+ },
63
+ {
64
+ type: 'function',
65
+ inputs: [],
66
+ name: 'COLLATERAL_FEED',
67
+ outputs: [
68
+ { name: '', internalType: 'contract IAggregatorV3', type: 'address' },
69
+ ],
70
+ stateMutability: 'view',
71
+ },
72
+ {
73
+ type: 'function',
74
+ inputs: [],
75
+ name: 'COLL_MAX_STALENESS_SECS',
76
+ outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],
77
+ stateMutability: 'view',
78
+ },
79
+ {
80
+ type: 'function',
81
+ inputs: [],
82
+ name: 'EXERCISE_MODE',
83
+ outputs: [{ name: '', internalType: 'enum ExerciseMode', type: 'uint8' }],
84
+ stateMutability: 'view',
85
+ },
86
+ {
87
+ type: 'function',
88
+ inputs: [],
89
+ name: 'INTRINSIC_RESOLUTION',
90
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
91
+ stateMutability: 'view',
92
+ },
93
+ {
94
+ type: 'function',
95
+ inputs: [],
96
+ name: 'SETTLEMENT_ASSET',
97
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
98
+ stateMutability: 'view',
99
+ },
100
+ {
101
+ type: 'function',
102
+ inputs: [],
103
+ name: 'SETTLEMENT_DECIMALS',
104
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
105
+ stateMutability: 'view',
106
+ },
107
+ {
108
+ type: 'function',
109
+ inputs: [],
110
+ name: 'SETTLEMENT_FEED',
111
+ outputs: [
112
+ { name: '', internalType: 'contract IAggregatorV3', type: 'address' },
113
+ ],
114
+ stateMutability: 'view',
115
+ },
116
+ {
117
+ type: 'function',
118
+ inputs: [],
119
+ name: 'SETT_MAX_STALENESS_SECS',
120
+ outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],
121
+ stateMutability: 'view',
122
+ },
123
+ {
124
+ type: 'function',
125
+ inputs: [
126
+ {
127
+ name: 'option',
128
+ internalType: 'struct MarketOption',
129
+ type: 'tuple',
130
+ components: [
131
+ {
132
+ name: 'details',
133
+ internalType: 'struct OptionDetails',
134
+ type: 'tuple',
135
+ components: [
136
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
137
+ {
138
+ name: 'startTimestamp',
139
+ internalType: 'uint64',
140
+ type: 'uint64',
141
+ },
142
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
143
+ {
144
+ name: 'premiumAsset',
145
+ internalType: 'address',
146
+ type: 'address',
147
+ },
148
+ {
149
+ name: 'premiumAmount',
150
+ internalType: 'uint256',
151
+ type: 'uint256',
152
+ },
153
+ {
154
+ name: 'collateralAsset',
155
+ internalType: 'address',
156
+ type: 'address',
157
+ },
158
+ {
159
+ name: 'collateralAmount',
160
+ internalType: 'uint256',
161
+ type: 'uint256',
162
+ },
163
+ {
164
+ name: 'settlementAsset',
165
+ internalType: 'address',
166
+ type: 'address',
167
+ },
168
+ {
169
+ name: 'settlementAmount',
170
+ internalType: 'uint256',
171
+ type: 'uint256',
172
+ },
173
+ {
174
+ name: 'settlementLayer',
175
+ internalType: 'address',
176
+ type: 'address',
177
+ },
178
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
179
+ ],
180
+ },
181
+ { name: 'taker', internalType: 'address', type: 'address' },
182
+ { name: 'maker', internalType: 'address', type: 'address' },
183
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
184
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
185
+ ],
186
+ },
187
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
188
+ { name: 'borrower', internalType: 'address', type: 'address' },
189
+ { name: 'collateralReceiver', internalType: 'address', type: 'address' },
190
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
191
+ ],
192
+ name: 'canBorrow',
193
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
194
+ stateMutability: 'pure',
195
+ },
196
+ {
197
+ type: 'function',
198
+ inputs: [
199
+ {
200
+ name: 'option',
201
+ internalType: 'struct MarketOption',
202
+ type: 'tuple',
203
+ components: [
204
+ {
205
+ name: 'details',
206
+ internalType: 'struct OptionDetails',
207
+ type: 'tuple',
208
+ components: [
209
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
210
+ {
211
+ name: 'startTimestamp',
212
+ internalType: 'uint64',
213
+ type: 'uint64',
214
+ },
215
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
216
+ {
217
+ name: 'premiumAsset',
218
+ internalType: 'address',
219
+ type: 'address',
220
+ },
221
+ {
222
+ name: 'premiumAmount',
223
+ internalType: 'uint256',
224
+ type: 'uint256',
225
+ },
226
+ {
227
+ name: 'collateralAsset',
228
+ internalType: 'address',
229
+ type: 'address',
230
+ },
231
+ {
232
+ name: 'collateralAmount',
233
+ internalType: 'uint256',
234
+ type: 'uint256',
235
+ },
236
+ {
237
+ name: 'settlementAsset',
238
+ internalType: 'address',
239
+ type: 'address',
240
+ },
241
+ {
242
+ name: 'settlementAmount',
243
+ internalType: 'uint256',
244
+ type: 'uint256',
245
+ },
246
+ {
247
+ name: 'settlementLayer',
248
+ internalType: 'address',
249
+ type: 'address',
250
+ },
251
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
252
+ ],
253
+ },
254
+ { name: 'taker', internalType: 'address', type: 'address' },
255
+ { name: 'maker', internalType: 'address', type: 'address' },
256
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
257
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
258
+ ],
259
+ },
260
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
261
+ { name: '', internalType: 'address', type: 'address' },
262
+ { name: '', internalType: 'bytes', type: 'bytes' },
263
+ ],
264
+ name: 'canExercise',
265
+ outputs: [
266
+ {
267
+ name: '',
268
+ internalType: 'struct ExerciseResolution',
269
+ type: 'tuple',
270
+ components: [
271
+ {
272
+ name: 'collateralToTaker',
273
+ internalType: 'uint256',
274
+ type: 'uint256',
275
+ },
276
+ {
277
+ name: 'settlementFromTaker',
278
+ internalType: 'uint256',
279
+ type: 'uint256',
280
+ },
281
+ ],
282
+ },
283
+ ],
284
+ stateMutability: 'view',
285
+ },
286
+ {
287
+ type: 'function',
288
+ inputs: [
289
+ {
290
+ name: 'option',
291
+ internalType: 'struct MarketOption',
292
+ type: 'tuple',
293
+ components: [
294
+ {
295
+ name: 'details',
296
+ internalType: 'struct OptionDetails',
297
+ type: 'tuple',
298
+ components: [
299
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
300
+ {
301
+ name: 'startTimestamp',
302
+ internalType: 'uint64',
303
+ type: 'uint64',
304
+ },
305
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
306
+ {
307
+ name: 'premiumAsset',
308
+ internalType: 'address',
309
+ type: 'address',
310
+ },
311
+ {
312
+ name: 'premiumAmount',
313
+ internalType: 'uint256',
314
+ type: 'uint256',
315
+ },
316
+ {
317
+ name: 'collateralAsset',
318
+ internalType: 'address',
319
+ type: 'address',
320
+ },
321
+ {
322
+ name: 'collateralAmount',
323
+ internalType: 'uint256',
324
+ type: 'uint256',
325
+ },
326
+ {
327
+ name: 'settlementAsset',
328
+ internalType: 'address',
329
+ type: 'address',
330
+ },
331
+ {
332
+ name: 'settlementAmount',
333
+ internalType: 'uint256',
334
+ type: 'uint256',
335
+ },
336
+ {
337
+ name: 'settlementLayer',
338
+ internalType: 'address',
339
+ type: 'address',
340
+ },
341
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
342
+ ],
343
+ },
344
+ { name: 'taker', internalType: 'address', type: 'address' },
345
+ { name: 'maker', internalType: 'address', type: 'address' },
346
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
347
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
348
+ ],
349
+ },
350
+ { name: '', internalType: 'address', type: 'address' },
351
+ ],
352
+ name: 'canMatch',
353
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
354
+ stateMutability: 'view',
355
+ },
356
+ {
357
+ type: 'function',
358
+ inputs: [
359
+ {
360
+ name: 'option',
361
+ internalType: 'struct MarketOption',
362
+ type: 'tuple',
363
+ components: [
364
+ {
365
+ name: 'details',
366
+ internalType: 'struct OptionDetails',
367
+ type: 'tuple',
368
+ components: [
369
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
370
+ {
371
+ name: 'startTimestamp',
372
+ internalType: 'uint64',
373
+ type: 'uint64',
374
+ },
375
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
376
+ {
377
+ name: 'premiumAsset',
378
+ internalType: 'address',
379
+ type: 'address',
380
+ },
381
+ {
382
+ name: 'premiumAmount',
383
+ internalType: 'uint256',
384
+ type: 'uint256',
385
+ },
386
+ {
387
+ name: 'collateralAsset',
388
+ internalType: 'address',
389
+ type: 'address',
390
+ },
391
+ {
392
+ name: 'collateralAmount',
393
+ internalType: 'uint256',
394
+ type: 'uint256',
395
+ },
396
+ {
397
+ name: 'settlementAsset',
398
+ internalType: 'address',
399
+ type: 'address',
400
+ },
401
+ {
402
+ name: 'settlementAmount',
403
+ internalType: 'uint256',
404
+ type: 'uint256',
405
+ },
406
+ {
407
+ name: 'settlementLayer',
408
+ internalType: 'address',
409
+ type: 'address',
410
+ },
411
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
412
+ ],
413
+ },
414
+ { name: 'taker', internalType: 'address', type: 'address' },
415
+ { name: 'maker', internalType: 'address', type: 'address' },
416
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
417
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
418
+ ],
419
+ },
420
+ { name: 'redeemAmount', internalType: 'uint256', type: 'uint256' },
421
+ { name: 'claimSupply', internalType: 'uint256', type: 'uint256' },
422
+ { name: 'collateralBalance', internalType: 'uint256', type: 'uint256' },
423
+ { name: 'settlementBalance', internalType: 'uint256', type: 'uint256' },
424
+ { name: 'redeemer', internalType: 'address', type: 'address' },
425
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
426
+ ],
427
+ name: 'canRedeem',
428
+ outputs: [
429
+ {
430
+ name: '',
431
+ internalType: 'struct RedeemResolution',
432
+ type: 'tuple',
433
+ components: [
434
+ {
435
+ name: 'collateralToMaker',
436
+ internalType: 'uint256',
437
+ type: 'uint256',
438
+ },
439
+ {
440
+ name: 'settlementToMaker',
441
+ internalType: 'uint256',
442
+ type: 'uint256',
443
+ },
444
+ ],
445
+ },
446
+ ],
447
+ stateMutability: 'view',
448
+ },
449
+ {
450
+ type: 'function',
451
+ inputs: [],
452
+ name: 'layerType',
453
+ outputs: [
454
+ { name: '', internalType: 'enum SettlementLayerType', type: 'uint8' },
455
+ ],
456
+ stateMutability: 'pure',
457
+ },
458
+ { type: 'error', inputs: [], name: 'BorrowNotSupported' },
459
+ { type: 'error', inputs: [], name: 'CollateralAmountZero' },
460
+ { type: 'error', inputs: [], name: 'ExerciseExceedsCollateral' },
461
+ {
462
+ type: 'error',
463
+ inputs: [
464
+ { name: 'feed', internalType: 'address', type: 'address' },
465
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
466
+ ],
467
+ name: 'InvalidFeedDecimals',
468
+ },
469
+ { type: 'error', inputs: [], name: 'NoClaimsOutstanding' },
470
+ { type: 'error', inputs: [], name: 'NotInTheMoney' },
471
+ { type: 'error', inputs: [], name: 'PartialExerciseNotAllowed' },
472
+ {
473
+ type: 'error',
474
+ inputs: [{ name: 'feed', internalType: 'address', type: 'address' }],
475
+ name: 'PriceNotAvailable',
476
+ },
477
+ { type: 'error', inputs: [], name: 'RedeemExceedsClaimSupply' },
478
+ {
479
+ type: 'error',
480
+ inputs: [
481
+ { name: 'feed', internalType: 'address', type: 'address' },
482
+ { name: 'updatedAt', internalType: 'uint256', type: 'uint256' },
483
+ { name: 'nowSecs', internalType: 'uint256', type: 'uint256' },
484
+ ],
485
+ name: 'StalePrice',
486
+ },
487
+ ];
488
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
489
+ // ChainlinkSettlementFactory
490
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
491
+ /**
492
+ *
493
+ */
494
+ exports.chainlinkSettlementFactoryAbi = [
495
+ {
496
+ type: 'function',
497
+ inputs: [
498
+ {
499
+ name: 'config',
500
+ internalType: 'struct ChainlinkSettlementConfig',
501
+ type: 'tuple',
502
+ components: [
503
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
504
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
505
+ {
506
+ name: 'collateralFeed',
507
+ internalType: 'contract IAggregatorV3',
508
+ type: 'address',
509
+ },
510
+ {
511
+ name: 'settlementFeed',
512
+ internalType: 'contract IAggregatorV3',
513
+ type: 'address',
514
+ },
515
+ {
516
+ name: 'collMaxStalenessSecs',
517
+ internalType: 'uint32',
518
+ type: 'uint32',
519
+ },
520
+ {
521
+ name: 'settMaxStalenessSecs',
522
+ internalType: 'uint32',
523
+ type: 'uint32',
524
+ },
525
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
526
+ {
527
+ name: 'exerciseMode',
528
+ internalType: 'enum ExerciseMode',
529
+ type: 'uint8',
530
+ },
531
+ ],
532
+ },
533
+ ],
534
+ name: 'deploy',
535
+ outputs: [
536
+ {
537
+ name: 'layer',
538
+ internalType: 'contract ChainlinkSettlement',
539
+ type: 'address',
540
+ },
541
+ ],
542
+ stateMutability: 'nonpayable',
543
+ },
544
+ {
545
+ type: 'function',
546
+ inputs: [
547
+ {
548
+ name: 'config',
549
+ internalType: 'struct ChainlinkSettlementConfig',
550
+ type: 'tuple',
551
+ components: [
552
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
553
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
554
+ {
555
+ name: 'collateralFeed',
556
+ internalType: 'contract IAggregatorV3',
557
+ type: 'address',
558
+ },
559
+ {
560
+ name: 'settlementFeed',
561
+ internalType: 'contract IAggregatorV3',
562
+ type: 'address',
563
+ },
564
+ {
565
+ name: 'collMaxStalenessSecs',
566
+ internalType: 'uint32',
567
+ type: 'uint32',
568
+ },
569
+ {
570
+ name: 'settMaxStalenessSecs',
571
+ internalType: 'uint32',
572
+ type: 'uint32',
573
+ },
574
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
575
+ {
576
+ name: 'exerciseMode',
577
+ internalType: 'enum ExerciseMode',
578
+ type: 'uint8',
579
+ },
580
+ ],
581
+ },
582
+ ],
583
+ name: 'initCodeHash',
584
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
585
+ stateMutability: 'pure',
586
+ },
587
+ {
588
+ type: 'function',
589
+ inputs: [
590
+ {
591
+ name: 'config',
592
+ internalType: 'struct ChainlinkSettlementConfig',
593
+ type: 'tuple',
594
+ components: [
595
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
596
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
597
+ {
598
+ name: 'collateralFeed',
599
+ internalType: 'contract IAggregatorV3',
600
+ type: 'address',
601
+ },
602
+ {
603
+ name: 'settlementFeed',
604
+ internalType: 'contract IAggregatorV3',
605
+ type: 'address',
606
+ },
607
+ {
608
+ name: 'collMaxStalenessSecs',
609
+ internalType: 'uint32',
610
+ type: 'uint32',
611
+ },
612
+ {
613
+ name: 'settMaxStalenessSecs',
614
+ internalType: 'uint32',
615
+ type: 'uint32',
616
+ },
617
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
618
+ {
619
+ name: 'exerciseMode',
620
+ internalType: 'enum ExerciseMode',
621
+ type: 'uint8',
622
+ },
623
+ ],
624
+ },
625
+ ],
626
+ name: 'isDeployed',
627
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
628
+ stateMutability: 'view',
629
+ },
630
+ {
631
+ type: 'function',
632
+ inputs: [
633
+ {
634
+ name: 'config',
635
+ internalType: 'struct ChainlinkSettlementConfig',
636
+ type: 'tuple',
637
+ components: [
638
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
639
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
640
+ {
641
+ name: 'collateralFeed',
642
+ internalType: 'contract IAggregatorV3',
643
+ type: 'address',
644
+ },
645
+ {
646
+ name: 'settlementFeed',
647
+ internalType: 'contract IAggregatorV3',
648
+ type: 'address',
649
+ },
650
+ {
651
+ name: 'collMaxStalenessSecs',
652
+ internalType: 'uint32',
653
+ type: 'uint32',
654
+ },
655
+ {
656
+ name: 'settMaxStalenessSecs',
657
+ internalType: 'uint32',
658
+ type: 'uint32',
659
+ },
660
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
661
+ {
662
+ name: 'exerciseMode',
663
+ internalType: 'enum ExerciseMode',
664
+ type: 'uint8',
665
+ },
666
+ ],
667
+ },
668
+ ],
669
+ name: 'predictAddress',
670
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
671
+ stateMutability: 'view',
672
+ },
673
+ {
674
+ type: 'function',
675
+ inputs: [
676
+ {
677
+ name: 'config',
678
+ internalType: 'struct ChainlinkSettlementConfig',
679
+ type: 'tuple',
680
+ components: [
681
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
682
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
683
+ {
684
+ name: 'collateralFeed',
685
+ internalType: 'contract IAggregatorV3',
686
+ type: 'address',
687
+ },
688
+ {
689
+ name: 'settlementFeed',
690
+ internalType: 'contract IAggregatorV3',
691
+ type: 'address',
692
+ },
693
+ {
694
+ name: 'collMaxStalenessSecs',
695
+ internalType: 'uint32',
696
+ type: 'uint32',
697
+ },
698
+ {
699
+ name: 'settMaxStalenessSecs',
700
+ internalType: 'uint32',
701
+ type: 'uint32',
702
+ },
703
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
704
+ {
705
+ name: 'exerciseMode',
706
+ internalType: 'enum ExerciseMode',
707
+ type: 'uint8',
708
+ },
709
+ ],
710
+ },
711
+ ],
712
+ name: 'saltFor',
713
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
714
+ stateMutability: 'pure',
715
+ },
716
+ {
717
+ type: 'event',
718
+ anonymous: false,
719
+ inputs: [
720
+ {
721
+ name: 'layer',
722
+ internalType: 'address',
723
+ type: 'address',
724
+ indexed: true,
725
+ },
726
+ {
727
+ name: 'config',
728
+ internalType: 'struct ChainlinkSettlementConfig',
729
+ type: 'tuple',
730
+ components: [
731
+ { name: 'collateralAsset', internalType: 'address', type: 'address' },
732
+ { name: 'settlementAsset', internalType: 'address', type: 'address' },
733
+ {
734
+ name: 'collateralFeed',
735
+ internalType: 'contract IAggregatorV3',
736
+ type: 'address',
737
+ },
738
+ {
739
+ name: 'settlementFeed',
740
+ internalType: 'contract IAggregatorV3',
741
+ type: 'address',
742
+ },
743
+ {
744
+ name: 'collMaxStalenessSecs',
745
+ internalType: 'uint32',
746
+ type: 'uint32',
747
+ },
748
+ {
749
+ name: 'settMaxStalenessSecs',
750
+ internalType: 'uint32',
751
+ type: 'uint32',
752
+ },
753
+ { name: 'intrinsicResolution', internalType: 'bool', type: 'bool' },
754
+ {
755
+ name: 'exerciseMode',
756
+ internalType: 'enum ExerciseMode',
757
+ type: 'uint8',
758
+ },
759
+ ],
760
+ indexed: false,
761
+ },
762
+ ],
763
+ name: 'ChainlinkSettlementDeployed',
764
+ },
765
+ { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },
766
+ { type: 'error', inputs: [], name: 'FailedDeployment' },
767
+ {
768
+ type: 'error',
769
+ inputs: [
770
+ { name: 'balance', internalType: 'uint256', type: 'uint256' },
771
+ { name: 'needed', internalType: 'uint256', type: 'uint256' },
772
+ ],
773
+ name: 'InsufficientBalance',
774
+ },
775
+ ];
776
+ /**
777
+ *
778
+ */
779
+ exports.chainlinkSettlementFactoryAddress = {
780
+ 31337: '0xb17e2f283F48003e86fF5654cB8e87e1645d558d',
781
+ };
782
+ /**
783
+ *
784
+ */
785
+ exports.chainlinkSettlementFactoryConfig = {
786
+ address: exports.chainlinkSettlementFactoryAddress,
787
+ abi: exports.chainlinkSettlementFactoryAbi,
788
+ };
789
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
790
+ // Core
791
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
792
+ /**
793
+ *
794
+ */
795
+ exports.coreAbi = [
796
+ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
797
+ {
798
+ type: 'function',
799
+ inputs: [],
800
+ name: 'UPGRADE_INTERFACE_VERSION',
801
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
802
+ stateMutability: 'view',
803
+ },
804
+ {
805
+ type: 'function',
806
+ inputs: [
807
+ { name: 'accountHolder', internalType: 'address', type: 'address' },
808
+ { name: 'asset', internalType: 'address', type: 'address' },
809
+ ],
810
+ name: 'balanceOf',
811
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
812
+ stateMutability: 'view',
813
+ },
814
+ {
815
+ type: 'function',
816
+ inputs: [
817
+ {
818
+ name: 'submitted',
819
+ internalType: 'struct MarketOption',
820
+ type: 'tuple',
821
+ components: [
822
+ {
823
+ name: 'details',
824
+ internalType: 'struct OptionDetails',
825
+ type: 'tuple',
826
+ components: [
827
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
828
+ {
829
+ name: 'startTimestamp',
830
+ internalType: 'uint64',
831
+ type: 'uint64',
832
+ },
833
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
834
+ {
835
+ name: 'premiumAsset',
836
+ internalType: 'address',
837
+ type: 'address',
838
+ },
839
+ {
840
+ name: 'premiumAmount',
841
+ internalType: 'uint256',
842
+ type: 'uint256',
843
+ },
844
+ {
845
+ name: 'collateralAsset',
846
+ internalType: 'address',
847
+ type: 'address',
848
+ },
849
+ {
850
+ name: 'collateralAmount',
851
+ internalType: 'uint256',
852
+ type: 'uint256',
853
+ },
854
+ {
855
+ name: 'settlementAsset',
856
+ internalType: 'address',
857
+ type: 'address',
858
+ },
859
+ {
860
+ name: 'settlementAmount',
861
+ internalType: 'uint256',
862
+ type: 'uint256',
863
+ },
864
+ {
865
+ name: 'settlementLayer',
866
+ internalType: 'address',
867
+ type: 'address',
868
+ },
869
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
870
+ ],
871
+ },
872
+ { name: 'taker', internalType: 'address', type: 'address' },
873
+ { name: 'maker', internalType: 'address', type: 'address' },
874
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
875
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
876
+ ],
877
+ },
878
+ { name: 'amount', internalType: 'uint248', type: 'uint248' },
879
+ { name: 'collateralReceiver', internalType: 'address', type: 'address' },
880
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
881
+ ],
882
+ name: 'borrowCollateral',
883
+ outputs: [],
884
+ stateMutability: 'nonpayable',
885
+ },
886
+ {
887
+ type: 'function',
888
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
889
+ name: 'borrowedCollateralOf',
890
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
891
+ stateMutability: 'view',
892
+ },
893
+ {
894
+ type: 'function',
895
+ inputs: [
896
+ {
897
+ name: 'submitted',
898
+ internalType: 'struct MarketOption',
899
+ type: 'tuple',
900
+ components: [
901
+ {
902
+ name: 'details',
903
+ internalType: 'struct OptionDetails',
904
+ type: 'tuple',
905
+ components: [
906
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
907
+ {
908
+ name: 'startTimestamp',
909
+ internalType: 'uint64',
910
+ type: 'uint64',
911
+ },
912
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
913
+ {
914
+ name: 'premiumAsset',
915
+ internalType: 'address',
916
+ type: 'address',
917
+ },
918
+ {
919
+ name: 'premiumAmount',
920
+ internalType: 'uint256',
921
+ type: 'uint256',
922
+ },
923
+ {
924
+ name: 'collateralAsset',
925
+ internalType: 'address',
926
+ type: 'address',
927
+ },
928
+ {
929
+ name: 'collateralAmount',
930
+ internalType: 'uint256',
931
+ type: 'uint256',
932
+ },
933
+ {
934
+ name: 'settlementAsset',
935
+ internalType: 'address',
936
+ type: 'address',
937
+ },
938
+ {
939
+ name: 'settlementAmount',
940
+ internalType: 'uint256',
941
+ type: 'uint256',
942
+ },
943
+ {
944
+ name: 'settlementLayer',
945
+ internalType: 'address',
946
+ type: 'address',
947
+ },
948
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
949
+ ],
950
+ },
951
+ { name: 'taker', internalType: 'address', type: 'address' },
952
+ { name: 'maker', internalType: 'address', type: 'address' },
953
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
954
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
955
+ ],
956
+ },
957
+ { name: 'holder', internalType: 'address', type: 'address' },
958
+ ],
959
+ name: 'burnExpiredClaims',
960
+ outputs: [],
961
+ stateMutability: 'nonpayable',
962
+ },
963
+ {
964
+ type: 'function',
965
+ inputs: [
966
+ {
967
+ name: 'offer',
968
+ internalType: 'struct Offer',
969
+ type: 'tuple',
970
+ components: [
971
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
972
+ { name: 'creator', internalType: 'address', type: 'address' },
973
+ {
974
+ name: 'optionDetails',
975
+ internalType: 'struct OptionDetails',
976
+ type: 'tuple',
977
+ components: [
978
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
979
+ {
980
+ name: 'startTimestamp',
981
+ internalType: 'uint64',
982
+ type: 'uint64',
983
+ },
984
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
985
+ {
986
+ name: 'premiumAsset',
987
+ internalType: 'address',
988
+ type: 'address',
989
+ },
990
+ {
991
+ name: 'premiumAmount',
992
+ internalType: 'uint256',
993
+ type: 'uint256',
994
+ },
995
+ {
996
+ name: 'collateralAsset',
997
+ internalType: 'address',
998
+ type: 'address',
999
+ },
1000
+ {
1001
+ name: 'collateralAmount',
1002
+ internalType: 'uint256',
1003
+ type: 'uint256',
1004
+ },
1005
+ {
1006
+ name: 'settlementAsset',
1007
+ internalType: 'address',
1008
+ type: 'address',
1009
+ },
1010
+ {
1011
+ name: 'settlementAmount',
1012
+ internalType: 'uint256',
1013
+ type: 'uint256',
1014
+ },
1015
+ {
1016
+ name: 'settlementLayer',
1017
+ internalType: 'address',
1018
+ type: 'address',
1019
+ },
1020
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1021
+ ],
1022
+ },
1023
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1024
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1025
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1026
+ ],
1027
+ },
1028
+ ],
1029
+ name: 'cancelOffer',
1030
+ outputs: [],
1031
+ stateMutability: 'nonpayable',
1032
+ },
1033
+ {
1034
+ type: 'function',
1035
+ inputs: [
1036
+ {
1037
+ name: 'offer',
1038
+ internalType: 'struct Offer',
1039
+ type: 'tuple',
1040
+ components: [
1041
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1042
+ { name: 'creator', internalType: 'address', type: 'address' },
1043
+ {
1044
+ name: 'optionDetails',
1045
+ internalType: 'struct OptionDetails',
1046
+ type: 'tuple',
1047
+ components: [
1048
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1049
+ {
1050
+ name: 'startTimestamp',
1051
+ internalType: 'uint64',
1052
+ type: 'uint64',
1053
+ },
1054
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1055
+ {
1056
+ name: 'premiumAsset',
1057
+ internalType: 'address',
1058
+ type: 'address',
1059
+ },
1060
+ {
1061
+ name: 'premiumAmount',
1062
+ internalType: 'uint256',
1063
+ type: 'uint256',
1064
+ },
1065
+ {
1066
+ name: 'collateralAsset',
1067
+ internalType: 'address',
1068
+ type: 'address',
1069
+ },
1070
+ {
1071
+ name: 'collateralAmount',
1072
+ internalType: 'uint256',
1073
+ type: 'uint256',
1074
+ },
1075
+ {
1076
+ name: 'settlementAsset',
1077
+ internalType: 'address',
1078
+ type: 'address',
1079
+ },
1080
+ {
1081
+ name: 'settlementAmount',
1082
+ internalType: 'uint256',
1083
+ type: 'uint256',
1084
+ },
1085
+ {
1086
+ name: 'settlementLayer',
1087
+ internalType: 'address',
1088
+ type: 'address',
1089
+ },
1090
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1091
+ ],
1092
+ },
1093
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1094
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1095
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1096
+ ],
1097
+ },
1098
+ {
1099
+ name: 'op',
1100
+ internalType: 'struct SignedOperation',
1101
+ type: 'tuple',
1102
+ components: [
1103
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1104
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
1105
+ { name: 'curveId', internalType: 'uint8', type: 'uint8' },
1106
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
1107
+ ],
1108
+ },
1109
+ ],
1110
+ name: 'cancelOfferSigned',
1111
+ outputs: [],
1112
+ stateMutability: 'nonpayable',
1113
+ },
1114
+ {
1115
+ type: 'function',
1116
+ inputs: [],
1117
+ name: 'claimTokenFactory',
1118
+ outputs: [
1119
+ { name: '', internalType: 'contract ClaimTokenFactory', type: 'address' },
1120
+ ],
1121
+ stateMutability: 'view',
1122
+ },
1123
+ {
1124
+ type: 'function',
1125
+ inputs: [],
1126
+ name: 'claimTokenImplementation',
1127
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1128
+ stateMutability: 'view',
1129
+ },
1130
+ {
1131
+ type: 'function',
1132
+ inputs: [],
1133
+ name: 'config',
1134
+ outputs: [
1135
+ {
1136
+ name: '',
1137
+ internalType: 'struct ProtocolConfig',
1138
+ type: 'tuple',
1139
+ components: [
1140
+ { name: 'authority', internalType: 'address', type: 'address' },
1141
+ { name: 'pauseAuthority', internalType: 'address', type: 'address' },
1142
+ {
1143
+ name: 'optionCreationHook',
1144
+ internalType: 'address',
1145
+ type: 'address',
1146
+ },
1147
+ { name: 'pausedActions', internalType: 'uint32', type: 'uint32' },
1148
+ {
1149
+ name: 'pauseAuthorityMask',
1150
+ internalType: 'uint32',
1151
+ type: 'uint32',
1152
+ },
1153
+ ],
1154
+ },
1155
+ ],
1156
+ stateMutability: 'view',
1157
+ },
1158
+ {
1159
+ type: 'function',
1160
+ inputs: [
1161
+ {
1162
+ name: 'offer',
1163
+ internalType: 'struct Offer',
1164
+ type: 'tuple',
1165
+ components: [
1166
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1167
+ { name: 'creator', internalType: 'address', type: 'address' },
1168
+ {
1169
+ name: 'optionDetails',
1170
+ internalType: 'struct OptionDetails',
1171
+ type: 'tuple',
1172
+ components: [
1173
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1174
+ {
1175
+ name: 'startTimestamp',
1176
+ internalType: 'uint64',
1177
+ type: 'uint64',
1178
+ },
1179
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1180
+ {
1181
+ name: 'premiumAsset',
1182
+ internalType: 'address',
1183
+ type: 'address',
1184
+ },
1185
+ {
1186
+ name: 'premiumAmount',
1187
+ internalType: 'uint256',
1188
+ type: 'uint256',
1189
+ },
1190
+ {
1191
+ name: 'collateralAsset',
1192
+ internalType: 'address',
1193
+ type: 'address',
1194
+ },
1195
+ {
1196
+ name: 'collateralAmount',
1197
+ internalType: 'uint256',
1198
+ type: 'uint256',
1199
+ },
1200
+ {
1201
+ name: 'settlementAsset',
1202
+ internalType: 'address',
1203
+ type: 'address',
1204
+ },
1205
+ {
1206
+ name: 'settlementAmount',
1207
+ internalType: 'uint256',
1208
+ type: 'uint256',
1209
+ },
1210
+ {
1211
+ name: 'settlementLayer',
1212
+ internalType: 'address',
1213
+ type: 'address',
1214
+ },
1215
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1216
+ ],
1217
+ },
1218
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1219
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1220
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1221
+ ],
1222
+ },
1223
+ ],
1224
+ name: 'createOffer',
1225
+ outputs: [{ name: 'offerId', internalType: 'bytes32', type: 'bytes32' }],
1226
+ stateMutability: 'nonpayable',
1227
+ },
1228
+ {
1229
+ type: 'function',
1230
+ inputs: [
1231
+ {
1232
+ name: 'offer',
1233
+ internalType: 'struct Offer',
1234
+ type: 'tuple',
1235
+ components: [
1236
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1237
+ { name: 'creator', internalType: 'address', type: 'address' },
1238
+ {
1239
+ name: 'optionDetails',
1240
+ internalType: 'struct OptionDetails',
1241
+ type: 'tuple',
1242
+ components: [
1243
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1244
+ {
1245
+ name: 'startTimestamp',
1246
+ internalType: 'uint64',
1247
+ type: 'uint64',
1248
+ },
1249
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1250
+ {
1251
+ name: 'premiumAsset',
1252
+ internalType: 'address',
1253
+ type: 'address',
1254
+ },
1255
+ {
1256
+ name: 'premiumAmount',
1257
+ internalType: 'uint256',
1258
+ type: 'uint256',
1259
+ },
1260
+ {
1261
+ name: 'collateralAsset',
1262
+ internalType: 'address',
1263
+ type: 'address',
1264
+ },
1265
+ {
1266
+ name: 'collateralAmount',
1267
+ internalType: 'uint256',
1268
+ type: 'uint256',
1269
+ },
1270
+ {
1271
+ name: 'settlementAsset',
1272
+ internalType: 'address',
1273
+ type: 'address',
1274
+ },
1275
+ {
1276
+ name: 'settlementAmount',
1277
+ internalType: 'uint256',
1278
+ type: 'uint256',
1279
+ },
1280
+ {
1281
+ name: 'settlementLayer',
1282
+ internalType: 'address',
1283
+ type: 'address',
1284
+ },
1285
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1286
+ ],
1287
+ },
1288
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1289
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1290
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1291
+ ],
1292
+ },
1293
+ {
1294
+ name: 'op',
1295
+ internalType: 'struct SignedOperation',
1296
+ type: 'tuple',
1297
+ components: [
1298
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1299
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
1300
+ { name: 'curveId', internalType: 'uint8', type: 'uint8' },
1301
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
1302
+ ],
1303
+ },
1304
+ ],
1305
+ name: 'createOfferSigned',
1306
+ outputs: [{ name: 'offerId', internalType: 'bytes32', type: 'bytes32' }],
1307
+ stateMutability: 'nonpayable',
1308
+ },
1309
+ {
1310
+ type: 'function',
1311
+ inputs: [
1312
+ { name: 'party', internalType: 'address', type: 'address' },
1313
+ { name: 'delegate', internalType: 'address', type: 'address' },
1314
+ ],
1315
+ name: 'delegatePermissions',
1316
+ outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
1317
+ stateMutability: 'view',
1318
+ },
1319
+ {
1320
+ type: 'function',
1321
+ inputs: [
1322
+ { name: 'accountHolder', internalType: 'address', type: 'address' },
1323
+ { name: 'asset', internalType: 'address', type: 'address' },
1324
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1325
+ ],
1326
+ name: 'deposit',
1327
+ outputs: [],
1328
+ stateMutability: 'nonpayable',
1329
+ },
1330
+ {
1331
+ type: 'function',
1332
+ inputs: [],
1333
+ name: 'domain',
1334
+ outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],
1335
+ stateMutability: 'view',
1336
+ },
1337
+ {
1338
+ type: 'function',
1339
+ inputs: [
1340
+ { name: 'optionId', internalType: 'bytes32', type: 'bytes32' },
1341
+ { name: 'holder', internalType: 'address', type: 'address' },
1342
+ ],
1343
+ name: 'exerciseClaimOf',
1344
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1345
+ stateMutability: 'view',
1346
+ },
1347
+ {
1348
+ type: 'function',
1349
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1350
+ name: 'exerciseClaimSupplyOf',
1351
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1352
+ stateMutability: 'view',
1353
+ },
1354
+ {
1355
+ type: 'function',
1356
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1357
+ name: 'exerciseClaimTokenOf',
1358
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1359
+ stateMutability: 'view',
1360
+ },
1361
+ {
1362
+ type: 'function',
1363
+ inputs: [
1364
+ {
1365
+ name: 'option',
1366
+ internalType: 'struct MarketOption',
1367
+ type: 'tuple',
1368
+ components: [
1369
+ {
1370
+ name: 'details',
1371
+ internalType: 'struct OptionDetails',
1372
+ type: 'tuple',
1373
+ components: [
1374
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1375
+ {
1376
+ name: 'startTimestamp',
1377
+ internalType: 'uint64',
1378
+ type: 'uint64',
1379
+ },
1380
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1381
+ {
1382
+ name: 'premiumAsset',
1383
+ internalType: 'address',
1384
+ type: 'address',
1385
+ },
1386
+ {
1387
+ name: 'premiumAmount',
1388
+ internalType: 'uint256',
1389
+ type: 'uint256',
1390
+ },
1391
+ {
1392
+ name: 'collateralAsset',
1393
+ internalType: 'address',
1394
+ type: 'address',
1395
+ },
1396
+ {
1397
+ name: 'collateralAmount',
1398
+ internalType: 'uint256',
1399
+ type: 'uint256',
1400
+ },
1401
+ {
1402
+ name: 'settlementAsset',
1403
+ internalType: 'address',
1404
+ type: 'address',
1405
+ },
1406
+ {
1407
+ name: 'settlementAmount',
1408
+ internalType: 'uint256',
1409
+ type: 'uint256',
1410
+ },
1411
+ {
1412
+ name: 'settlementLayer',
1413
+ internalType: 'address',
1414
+ type: 'address',
1415
+ },
1416
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1417
+ ],
1418
+ },
1419
+ { name: 'taker', internalType: 'address', type: 'address' },
1420
+ { name: 'maker', internalType: 'address', type: 'address' },
1421
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
1422
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
1423
+ ],
1424
+ },
1425
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1426
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
1427
+ ],
1428
+ name: 'exerciseOption',
1429
+ outputs: [],
1430
+ stateMutability: 'nonpayable',
1431
+ },
1432
+ {
1433
+ type: 'function',
1434
+ inputs: [
1435
+ { name: 'actingParty', internalType: 'address', type: 'address' },
1436
+ {
1437
+ name: 'option',
1438
+ internalType: 'struct MarketOption',
1439
+ type: 'tuple',
1440
+ components: [
1441
+ {
1442
+ name: 'details',
1443
+ internalType: 'struct OptionDetails',
1444
+ type: 'tuple',
1445
+ components: [
1446
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1447
+ {
1448
+ name: 'startTimestamp',
1449
+ internalType: 'uint64',
1450
+ type: 'uint64',
1451
+ },
1452
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1453
+ {
1454
+ name: 'premiumAsset',
1455
+ internalType: 'address',
1456
+ type: 'address',
1457
+ },
1458
+ {
1459
+ name: 'premiumAmount',
1460
+ internalType: 'uint256',
1461
+ type: 'uint256',
1462
+ },
1463
+ {
1464
+ name: 'collateralAsset',
1465
+ internalType: 'address',
1466
+ type: 'address',
1467
+ },
1468
+ {
1469
+ name: 'collateralAmount',
1470
+ internalType: 'uint256',
1471
+ type: 'uint256',
1472
+ },
1473
+ {
1474
+ name: 'settlementAsset',
1475
+ internalType: 'address',
1476
+ type: 'address',
1477
+ },
1478
+ {
1479
+ name: 'settlementAmount',
1480
+ internalType: 'uint256',
1481
+ type: 'uint256',
1482
+ },
1483
+ {
1484
+ name: 'settlementLayer',
1485
+ internalType: 'address',
1486
+ type: 'address',
1487
+ },
1488
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1489
+ ],
1490
+ },
1491
+ { name: 'taker', internalType: 'address', type: 'address' },
1492
+ { name: 'maker', internalType: 'address', type: 'address' },
1493
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
1494
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
1495
+ ],
1496
+ },
1497
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1498
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
1499
+ {
1500
+ name: 'op',
1501
+ internalType: 'struct SignedOperation',
1502
+ type: 'tuple',
1503
+ components: [
1504
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1505
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
1506
+ { name: 'curveId', internalType: 'uint8', type: 'uint8' },
1507
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
1508
+ ],
1509
+ },
1510
+ ],
1511
+ name: 'exerciseOptionSigned',
1512
+ outputs: [],
1513
+ stateMutability: 'nonpayable',
1514
+ },
1515
+ {
1516
+ type: 'function',
1517
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1518
+ name: 'getOptionRecord',
1519
+ outputs: [
1520
+ {
1521
+ name: '',
1522
+ internalType: 'struct OptionRecord',
1523
+ type: 'tuple',
1524
+ components: [
1525
+ { name: 'exists', internalType: 'bool', type: 'bool' },
1526
+ {
1527
+ name: 'borrowedCollateral',
1528
+ internalType: 'uint248',
1529
+ type: 'uint248',
1530
+ },
1531
+ ],
1532
+ },
1533
+ ],
1534
+ stateMutability: 'view',
1535
+ },
1536
+ {
1537
+ type: 'function',
1538
+ inputs: [
1539
+ { name: 'initialAuthority', internalType: 'address', type: 'address' },
1540
+ {
1541
+ name: 'claimTokenFactory',
1542
+ internalType: 'contract ClaimTokenFactory',
1543
+ type: 'address',
1544
+ },
1545
+ ],
1546
+ name: 'initialize',
1547
+ outputs: [],
1548
+ stateMutability: 'nonpayable',
1549
+ },
1550
+ {
1551
+ type: 'function',
1552
+ inputs: [
1553
+ { name: 'signer', internalType: 'address', type: 'address' },
1554
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
1555
+ ],
1556
+ name: 'isNonceUsed',
1557
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1558
+ stateMutability: 'view',
1559
+ },
1560
+ {
1561
+ type: 'function',
1562
+ inputs: [
1563
+ {
1564
+ name: 'collateralOffer',
1565
+ internalType: 'struct Offer',
1566
+ type: 'tuple',
1567
+ components: [
1568
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1569
+ { name: 'creator', internalType: 'address', type: 'address' },
1570
+ {
1571
+ name: 'optionDetails',
1572
+ internalType: 'struct OptionDetails',
1573
+ type: 'tuple',
1574
+ components: [
1575
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1576
+ {
1577
+ name: 'startTimestamp',
1578
+ internalType: 'uint64',
1579
+ type: 'uint64',
1580
+ },
1581
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1582
+ {
1583
+ name: 'premiumAsset',
1584
+ internalType: 'address',
1585
+ type: 'address',
1586
+ },
1587
+ {
1588
+ name: 'premiumAmount',
1589
+ internalType: 'uint256',
1590
+ type: 'uint256',
1591
+ },
1592
+ {
1593
+ name: 'collateralAsset',
1594
+ internalType: 'address',
1595
+ type: 'address',
1596
+ },
1597
+ {
1598
+ name: 'collateralAmount',
1599
+ internalType: 'uint256',
1600
+ type: 'uint256',
1601
+ },
1602
+ {
1603
+ name: 'settlementAsset',
1604
+ internalType: 'address',
1605
+ type: 'address',
1606
+ },
1607
+ {
1608
+ name: 'settlementAmount',
1609
+ internalType: 'uint256',
1610
+ type: 'uint256',
1611
+ },
1612
+ {
1613
+ name: 'settlementLayer',
1614
+ internalType: 'address',
1615
+ type: 'address',
1616
+ },
1617
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1618
+ ],
1619
+ },
1620
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1621
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1622
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1623
+ ],
1624
+ },
1625
+ {
1626
+ name: 'settlementOffer',
1627
+ internalType: 'struct Offer',
1628
+ type: 'tuple',
1629
+ components: [
1630
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1631
+ { name: 'creator', internalType: 'address', type: 'address' },
1632
+ {
1633
+ name: 'optionDetails',
1634
+ internalType: 'struct OptionDetails',
1635
+ type: 'tuple',
1636
+ components: [
1637
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1638
+ {
1639
+ name: 'startTimestamp',
1640
+ internalType: 'uint64',
1641
+ type: 'uint64',
1642
+ },
1643
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1644
+ {
1645
+ name: 'premiumAsset',
1646
+ internalType: 'address',
1647
+ type: 'address',
1648
+ },
1649
+ {
1650
+ name: 'premiumAmount',
1651
+ internalType: 'uint256',
1652
+ type: 'uint256',
1653
+ },
1654
+ {
1655
+ name: 'collateralAsset',
1656
+ internalType: 'address',
1657
+ type: 'address',
1658
+ },
1659
+ {
1660
+ name: 'collateralAmount',
1661
+ internalType: 'uint256',
1662
+ type: 'uint256',
1663
+ },
1664
+ {
1665
+ name: 'settlementAsset',
1666
+ internalType: 'address',
1667
+ type: 'address',
1668
+ },
1669
+ {
1670
+ name: 'settlementAmount',
1671
+ internalType: 'uint256',
1672
+ type: 'uint256',
1673
+ },
1674
+ {
1675
+ name: 'settlementLayer',
1676
+ internalType: 'address',
1677
+ type: 'address',
1678
+ },
1679
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1680
+ ],
1681
+ },
1682
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1683
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
1684
+ { name: 'counterparty', internalType: 'address', type: 'address' },
1685
+ ],
1686
+ },
1687
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
1688
+ ],
1689
+ name: 'matchOffer',
1690
+ outputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1691
+ stateMutability: 'nonpayable',
1692
+ },
1693
+ {
1694
+ type: 'function',
1695
+ inputs: [
1696
+ { name: 'offerId', internalType: 'bytes32', type: 'bytes32' },
1697
+ { name: 'asset', internalType: 'address', type: 'address' },
1698
+ ],
1699
+ name: 'offerBalanceOf',
1700
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1701
+ stateMutability: 'view',
1702
+ },
1703
+ {
1704
+ type: 'function',
1705
+ inputs: [{ name: 'offerId', internalType: 'bytes32', type: 'bytes32' }],
1706
+ name: 'offerExists',
1707
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1708
+ stateMutability: 'view',
1709
+ },
1710
+ {
1711
+ type: 'function',
1712
+ inputs: [
1713
+ { name: 'optionId', internalType: 'bytes32', type: 'bytes32' },
1714
+ { name: 'leg', internalType: 'enum OptionLeg', type: 'uint8' },
1715
+ { name: 'asset', internalType: 'address', type: 'address' },
1716
+ ],
1717
+ name: 'optionBalanceOf',
1718
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1719
+ stateMutability: 'view',
1720
+ },
1721
+ {
1722
+ type: 'function',
1723
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1724
+ name: 'optionExists',
1725
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1726
+ stateMutability: 'view',
1727
+ },
1728
+ {
1729
+ type: 'function',
1730
+ inputs: [{ name: 'mask', internalType: 'uint32', type: 'uint32' }],
1731
+ name: 'pause',
1732
+ outputs: [],
1733
+ stateMutability: 'nonpayable',
1734
+ },
1735
+ {
1736
+ type: 'function',
1737
+ inputs: [],
1738
+ name: 'proxiableUUID',
1739
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
1740
+ stateMutability: 'view',
1741
+ },
1742
+ {
1743
+ type: 'function',
1744
+ inputs: [
1745
+ { name: 'optionId', internalType: 'bytes32', type: 'bytes32' },
1746
+ { name: 'holder', internalType: 'address', type: 'address' },
1747
+ ],
1748
+ name: 'redeemClaimOf',
1749
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1750
+ stateMutability: 'view',
1751
+ },
1752
+ {
1753
+ type: 'function',
1754
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1755
+ name: 'redeemClaimSupplyOf',
1756
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1757
+ stateMutability: 'view',
1758
+ },
1759
+ {
1760
+ type: 'function',
1761
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
1762
+ name: 'redeemClaimTokenOf',
1763
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1764
+ stateMutability: 'view',
1765
+ },
1766
+ {
1767
+ type: 'function',
1768
+ inputs: [
1769
+ {
1770
+ name: 'option',
1771
+ internalType: 'struct MarketOption',
1772
+ type: 'tuple',
1773
+ components: [
1774
+ {
1775
+ name: 'details',
1776
+ internalType: 'struct OptionDetails',
1777
+ type: 'tuple',
1778
+ components: [
1779
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1780
+ {
1781
+ name: 'startTimestamp',
1782
+ internalType: 'uint64',
1783
+ type: 'uint64',
1784
+ },
1785
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1786
+ {
1787
+ name: 'premiumAsset',
1788
+ internalType: 'address',
1789
+ type: 'address',
1790
+ },
1791
+ {
1792
+ name: 'premiumAmount',
1793
+ internalType: 'uint256',
1794
+ type: 'uint256',
1795
+ },
1796
+ {
1797
+ name: 'collateralAsset',
1798
+ internalType: 'address',
1799
+ type: 'address',
1800
+ },
1801
+ {
1802
+ name: 'collateralAmount',
1803
+ internalType: 'uint256',
1804
+ type: 'uint256',
1805
+ },
1806
+ {
1807
+ name: 'settlementAsset',
1808
+ internalType: 'address',
1809
+ type: 'address',
1810
+ },
1811
+ {
1812
+ name: 'settlementAmount',
1813
+ internalType: 'uint256',
1814
+ type: 'uint256',
1815
+ },
1816
+ {
1817
+ name: 'settlementLayer',
1818
+ internalType: 'address',
1819
+ type: 'address',
1820
+ },
1821
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1822
+ ],
1823
+ },
1824
+ { name: 'taker', internalType: 'address', type: 'address' },
1825
+ { name: 'maker', internalType: 'address', type: 'address' },
1826
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
1827
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
1828
+ ],
1829
+ },
1830
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1831
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
1832
+ ],
1833
+ name: 'redeemOption',
1834
+ outputs: [],
1835
+ stateMutability: 'nonpayable',
1836
+ },
1837
+ {
1838
+ type: 'function',
1839
+ inputs: [
1840
+ { name: 'actingParty', internalType: 'address', type: 'address' },
1841
+ {
1842
+ name: 'option',
1843
+ internalType: 'struct MarketOption',
1844
+ type: 'tuple',
1845
+ components: [
1846
+ {
1847
+ name: 'details',
1848
+ internalType: 'struct OptionDetails',
1849
+ type: 'tuple',
1850
+ components: [
1851
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1852
+ {
1853
+ name: 'startTimestamp',
1854
+ internalType: 'uint64',
1855
+ type: 'uint64',
1856
+ },
1857
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1858
+ {
1859
+ name: 'premiumAsset',
1860
+ internalType: 'address',
1861
+ type: 'address',
1862
+ },
1863
+ {
1864
+ name: 'premiumAmount',
1865
+ internalType: 'uint256',
1866
+ type: 'uint256',
1867
+ },
1868
+ {
1869
+ name: 'collateralAsset',
1870
+ internalType: 'address',
1871
+ type: 'address',
1872
+ },
1873
+ {
1874
+ name: 'collateralAmount',
1875
+ internalType: 'uint256',
1876
+ type: 'uint256',
1877
+ },
1878
+ {
1879
+ name: 'settlementAsset',
1880
+ internalType: 'address',
1881
+ type: 'address',
1882
+ },
1883
+ {
1884
+ name: 'settlementAmount',
1885
+ internalType: 'uint256',
1886
+ type: 'uint256',
1887
+ },
1888
+ {
1889
+ name: 'settlementLayer',
1890
+ internalType: 'address',
1891
+ type: 'address',
1892
+ },
1893
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1894
+ ],
1895
+ },
1896
+ { name: 'taker', internalType: 'address', type: 'address' },
1897
+ { name: 'maker', internalType: 'address', type: 'address' },
1898
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
1899
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
1900
+ ],
1901
+ },
1902
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1903
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
1904
+ {
1905
+ name: 'op',
1906
+ internalType: 'struct SignedOperation',
1907
+ type: 'tuple',
1908
+ components: [
1909
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
1910
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
1911
+ { name: 'curveId', internalType: 'uint8', type: 'uint8' },
1912
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
1913
+ ],
1914
+ },
1915
+ ],
1916
+ name: 'redeemOptionSigned',
1917
+ outputs: [],
1918
+ stateMutability: 'nonpayable',
1919
+ },
1920
+ {
1921
+ type: 'function',
1922
+ inputs: [
1923
+ {
1924
+ name: 'submitted',
1925
+ internalType: 'struct MarketOption',
1926
+ type: 'tuple',
1927
+ components: [
1928
+ {
1929
+ name: 'details',
1930
+ internalType: 'struct OptionDetails',
1931
+ type: 'tuple',
1932
+ components: [
1933
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
1934
+ {
1935
+ name: 'startTimestamp',
1936
+ internalType: 'uint64',
1937
+ type: 'uint64',
1938
+ },
1939
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
1940
+ {
1941
+ name: 'premiumAsset',
1942
+ internalType: 'address',
1943
+ type: 'address',
1944
+ },
1945
+ {
1946
+ name: 'premiumAmount',
1947
+ internalType: 'uint256',
1948
+ type: 'uint256',
1949
+ },
1950
+ {
1951
+ name: 'collateralAsset',
1952
+ internalType: 'address',
1953
+ type: 'address',
1954
+ },
1955
+ {
1956
+ name: 'collateralAmount',
1957
+ internalType: 'uint256',
1958
+ type: 'uint256',
1959
+ },
1960
+ {
1961
+ name: 'settlementAsset',
1962
+ internalType: 'address',
1963
+ type: 'address',
1964
+ },
1965
+ {
1966
+ name: 'settlementAmount',
1967
+ internalType: 'uint256',
1968
+ type: 'uint256',
1969
+ },
1970
+ {
1971
+ name: 'settlementLayer',
1972
+ internalType: 'address',
1973
+ type: 'address',
1974
+ },
1975
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
1976
+ ],
1977
+ },
1978
+ { name: 'taker', internalType: 'address', type: 'address' },
1979
+ { name: 'maker', internalType: 'address', type: 'address' },
1980
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
1981
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
1982
+ ],
1983
+ },
1984
+ { name: 'amount', internalType: 'uint248', type: 'uint248' },
1985
+ ],
1986
+ name: 'repayCollateral',
1987
+ outputs: [],
1988
+ stateMutability: 'nonpayable',
1989
+ },
1990
+ {
1991
+ type: 'function',
1992
+ inputs: [
1993
+ { name: 'delegate', internalType: 'address', type: 'address' },
1994
+ { name: 'permissions', internalType: 'uint16', type: 'uint16' },
1995
+ ],
1996
+ name: 'setDelegate',
1997
+ outputs: [],
1998
+ stateMutability: 'nonpayable',
1999
+ },
2000
+ {
2001
+ type: 'function',
2002
+ inputs: [{ name: 'newDomain', internalType: 'uint32', type: 'uint32' }],
2003
+ name: 'setDomain',
2004
+ outputs: [],
2005
+ stateMutability: 'nonpayable',
2006
+ },
2007
+ {
2008
+ type: 'function',
2009
+ inputs: [
2010
+ {
2011
+ name: 'newConfig',
2012
+ internalType: 'struct ProtocolConfig',
2013
+ type: 'tuple',
2014
+ components: [
2015
+ { name: 'authority', internalType: 'address', type: 'address' },
2016
+ { name: 'pauseAuthority', internalType: 'address', type: 'address' },
2017
+ {
2018
+ name: 'optionCreationHook',
2019
+ internalType: 'address',
2020
+ type: 'address',
2021
+ },
2022
+ { name: 'pausedActions', internalType: 'uint32', type: 'uint32' },
2023
+ {
2024
+ name: 'pauseAuthorityMask',
2025
+ internalType: 'uint32',
2026
+ type: 'uint32',
2027
+ },
2028
+ ],
2029
+ },
2030
+ ],
2031
+ name: 'updateConfig',
2032
+ outputs: [],
2033
+ stateMutability: 'nonpayable',
2034
+ },
2035
+ {
2036
+ type: 'function',
2037
+ inputs: [
2038
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
2039
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2040
+ ],
2041
+ name: 'upgradeToAndCall',
2042
+ outputs: [],
2043
+ stateMutability: 'payable',
2044
+ },
2045
+ {
2046
+ type: 'function',
2047
+ inputs: [
2048
+ { name: 'accountHolder', internalType: 'address', type: 'address' },
2049
+ { name: 'asset', internalType: 'address', type: 'address' },
2050
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2051
+ ],
2052
+ name: 'withdraw',
2053
+ outputs: [],
2054
+ stateMutability: 'nonpayable',
2055
+ },
2056
+ {
2057
+ type: 'function',
2058
+ inputs: [
2059
+ { name: 'accountHolder', internalType: 'address', type: 'address' },
2060
+ { name: 'asset', internalType: 'address', type: 'address' },
2061
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2062
+ {
2063
+ name: 'op',
2064
+ internalType: 'struct SignedOperation',
2065
+ type: 'tuple',
2066
+ components: [
2067
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
2068
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2069
+ { name: 'curveId', internalType: 'uint8', type: 'uint8' },
2070
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2071
+ ],
2072
+ },
2073
+ ],
2074
+ name: 'withdrawSigned',
2075
+ outputs: [],
2076
+ stateMutability: 'nonpayable',
2077
+ },
2078
+ {
2079
+ type: 'event',
2080
+ anonymous: false,
2081
+ inputs: [
2082
+ {
2083
+ name: 'optionId',
2084
+ internalType: 'bytes32',
2085
+ type: 'bytes32',
2086
+ indexed: true,
2087
+ },
2088
+ {
2089
+ name: 'taker',
2090
+ internalType: 'address',
2091
+ type: 'address',
2092
+ indexed: true,
2093
+ },
2094
+ {
2095
+ name: 'collateralReceiver',
2096
+ internalType: 'address',
2097
+ type: 'address',
2098
+ indexed: false,
2099
+ },
2100
+ {
2101
+ name: 'asset',
2102
+ internalType: 'address',
2103
+ type: 'address',
2104
+ indexed: false,
2105
+ },
2106
+ {
2107
+ name: 'amount',
2108
+ internalType: 'uint256',
2109
+ type: 'uint256',
2110
+ indexed: false,
2111
+ },
2112
+ {
2113
+ name: 'borrowedCollateral',
2114
+ internalType: 'uint256',
2115
+ type: 'uint256',
2116
+ indexed: false,
2117
+ },
2118
+ ],
2119
+ name: 'CollateralBorrowed',
2120
+ },
2121
+ {
2122
+ type: 'event',
2123
+ anonymous: false,
2124
+ inputs: [
2125
+ {
2126
+ name: 'optionId',
2127
+ internalType: 'bytes32',
2128
+ type: 'bytes32',
2129
+ indexed: true,
2130
+ },
2131
+ {
2132
+ name: 'repayer',
2133
+ internalType: 'address',
2134
+ type: 'address',
2135
+ indexed: true,
2136
+ },
2137
+ {
2138
+ name: 'asset',
2139
+ internalType: 'address',
2140
+ type: 'address',
2141
+ indexed: false,
2142
+ },
2143
+ {
2144
+ name: 'amount',
2145
+ internalType: 'uint248',
2146
+ type: 'uint248',
2147
+ indexed: false,
2148
+ },
2149
+ {
2150
+ name: 'borrowedCollateral',
2151
+ internalType: 'uint248',
2152
+ type: 'uint248',
2153
+ indexed: false,
2154
+ },
2155
+ ],
2156
+ name: 'CollateralRepaid',
2157
+ },
2158
+ {
2159
+ type: 'event',
2160
+ anonymous: false,
2161
+ inputs: [
2162
+ {
2163
+ name: 'party',
2164
+ internalType: 'address',
2165
+ type: 'address',
2166
+ indexed: true,
2167
+ },
2168
+ {
2169
+ name: 'delegate',
2170
+ internalType: 'address',
2171
+ type: 'address',
2172
+ indexed: true,
2173
+ },
2174
+ {
2175
+ name: 'permissions',
2176
+ internalType: 'uint16',
2177
+ type: 'uint16',
2178
+ indexed: false,
2179
+ },
2180
+ ],
2181
+ name: 'DelegateUpdated',
2182
+ },
2183
+ {
2184
+ type: 'event',
2185
+ anonymous: false,
2186
+ inputs: [
2187
+ {
2188
+ name: 'accountHolder',
2189
+ internalType: 'address',
2190
+ type: 'address',
2191
+ indexed: true,
2192
+ },
2193
+ {
2194
+ name: 'funder',
2195
+ internalType: 'address',
2196
+ type: 'address',
2197
+ indexed: true,
2198
+ },
2199
+ {
2200
+ name: 'asset',
2201
+ internalType: 'address',
2202
+ type: 'address',
2203
+ indexed: true,
2204
+ },
2205
+ {
2206
+ name: 'amount',
2207
+ internalType: 'uint256',
2208
+ type: 'uint256',
2209
+ indexed: false,
2210
+ },
2211
+ ],
2212
+ name: 'Deposited',
2213
+ },
2214
+ {
2215
+ type: 'event',
2216
+ anonymous: false,
2217
+ inputs: [
2218
+ {
2219
+ name: 'optionId',
2220
+ internalType: 'bytes32',
2221
+ type: 'bytes32',
2222
+ indexed: true,
2223
+ },
2224
+ {
2225
+ name: 'holder',
2226
+ internalType: 'address',
2227
+ type: 'address',
2228
+ indexed: true,
2229
+ },
2230
+ {
2231
+ name: 'caller',
2232
+ internalType: 'address',
2233
+ type: 'address',
2234
+ indexed: true,
2235
+ },
2236
+ {
2237
+ name: 'claimsBurned',
2238
+ internalType: 'uint256',
2239
+ type: 'uint256',
2240
+ indexed: false,
2241
+ },
2242
+ {
2243
+ name: 'remainingClaims',
2244
+ internalType: 'uint256',
2245
+ type: 'uint256',
2246
+ indexed: false,
2247
+ },
2248
+ ],
2249
+ name: 'ExpiredClaimsBurned',
2250
+ },
2251
+ {
2252
+ type: 'event',
2253
+ anonymous: false,
2254
+ inputs: [
2255
+ {
2256
+ name: 'optionId',
2257
+ internalType: 'bytes32',
2258
+ type: 'bytes32',
2259
+ indexed: true,
2260
+ },
2261
+ {
2262
+ name: 'payer',
2263
+ internalType: 'address',
2264
+ type: 'address',
2265
+ indexed: true,
2266
+ },
2267
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
2268
+ {
2269
+ name: 'asset',
2270
+ internalType: 'address',
2271
+ type: 'address',
2272
+ indexed: false,
2273
+ },
2274
+ {
2275
+ name: 'amount',
2276
+ internalType: 'uint256',
2277
+ type: 'uint256',
2278
+ indexed: false,
2279
+ },
2280
+ ],
2281
+ name: 'FeePaid',
2282
+ },
2283
+ {
2284
+ type: 'event',
2285
+ anonymous: false,
2286
+ inputs: [
2287
+ {
2288
+ name: 'version',
2289
+ internalType: 'uint64',
2290
+ type: 'uint64',
2291
+ indexed: false,
2292
+ },
2293
+ ],
2294
+ name: 'Initialized',
2295
+ },
2296
+ {
2297
+ type: 'event',
2298
+ anonymous: false,
2299
+ inputs: [
2300
+ {
2301
+ name: 'offerId',
2302
+ internalType: 'bytes32',
2303
+ type: 'bytes32',
2304
+ indexed: true,
2305
+ },
2306
+ {
2307
+ name: 'creator',
2308
+ internalType: 'address',
2309
+ type: 'address',
2310
+ indexed: true,
2311
+ },
2312
+ {
2313
+ name: 'asset',
2314
+ internalType: 'address',
2315
+ type: 'address',
2316
+ indexed: false,
2317
+ },
2318
+ {
2319
+ name: 'refundedAmount',
2320
+ internalType: 'uint256',
2321
+ type: 'uint256',
2322
+ indexed: false,
2323
+ },
2324
+ ],
2325
+ name: 'OfferCancelled',
2326
+ },
2327
+ {
2328
+ type: 'event',
2329
+ anonymous: false,
2330
+ inputs: [
2331
+ {
2332
+ name: 'offerId',
2333
+ internalType: 'bytes32',
2334
+ type: 'bytes32',
2335
+ indexed: true,
2336
+ },
2337
+ {
2338
+ name: 'creator',
2339
+ internalType: 'address',
2340
+ type: 'address',
2341
+ indexed: true,
2342
+ },
2343
+ {
2344
+ name: 'asset',
2345
+ internalType: 'address',
2346
+ type: 'address',
2347
+ indexed: false,
2348
+ },
2349
+ {
2350
+ name: 'amount',
2351
+ internalType: 'uint256',
2352
+ type: 'uint256',
2353
+ indexed: false,
2354
+ },
2355
+ {
2356
+ name: 'offer',
2357
+ internalType: 'struct Offer',
2358
+ type: 'tuple',
2359
+ components: [
2360
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2361
+ { name: 'creator', internalType: 'address', type: 'address' },
2362
+ {
2363
+ name: 'optionDetails',
2364
+ internalType: 'struct OptionDetails',
2365
+ type: 'tuple',
2366
+ components: [
2367
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
2368
+ {
2369
+ name: 'startTimestamp',
2370
+ internalType: 'uint64',
2371
+ type: 'uint64',
2372
+ },
2373
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
2374
+ {
2375
+ name: 'premiumAsset',
2376
+ internalType: 'address',
2377
+ type: 'address',
2378
+ },
2379
+ {
2380
+ name: 'premiumAmount',
2381
+ internalType: 'uint256',
2382
+ type: 'uint256',
2383
+ },
2384
+ {
2385
+ name: 'collateralAsset',
2386
+ internalType: 'address',
2387
+ type: 'address',
2388
+ },
2389
+ {
2390
+ name: 'collateralAmount',
2391
+ internalType: 'uint256',
2392
+ type: 'uint256',
2393
+ },
2394
+ {
2395
+ name: 'settlementAsset',
2396
+ internalType: 'address',
2397
+ type: 'address',
2398
+ },
2399
+ {
2400
+ name: 'settlementAmount',
2401
+ internalType: 'uint256',
2402
+ type: 'uint256',
2403
+ },
2404
+ {
2405
+ name: 'settlementLayer',
2406
+ internalType: 'address',
2407
+ type: 'address',
2408
+ },
2409
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
2410
+ ],
2411
+ },
2412
+ { name: 'expiry', internalType: 'uint64', type: 'uint64' },
2413
+ { name: 'side', internalType: 'enum OptionSide', type: 'uint8' },
2414
+ { name: 'counterparty', internalType: 'address', type: 'address' },
2415
+ ],
2416
+ indexed: false,
2417
+ },
2418
+ ],
2419
+ name: 'OfferCreated',
2420
+ },
2421
+ {
2422
+ type: 'event',
2423
+ anonymous: false,
2424
+ inputs: [
2425
+ {
2426
+ name: 'optionId',
2427
+ internalType: 'bytes32',
2428
+ type: 'bytes32',
2429
+ indexed: true,
2430
+ },
2431
+ {
2432
+ name: 'maker',
2433
+ internalType: 'address',
2434
+ type: 'address',
2435
+ indexed: true,
2436
+ },
2437
+ {
2438
+ name: 'taker',
2439
+ internalType: 'address',
2440
+ type: 'address',
2441
+ indexed: true,
2442
+ },
2443
+ {
2444
+ name: 'matcher',
2445
+ internalType: 'address',
2446
+ type: 'address',
2447
+ indexed: false,
2448
+ },
2449
+ {
2450
+ name: 'exerciseClaimToken',
2451
+ internalType: 'address',
2452
+ type: 'address',
2453
+ indexed: false,
2454
+ },
2455
+ {
2456
+ name: 'redeemClaimToken',
2457
+ internalType: 'address',
2458
+ type: 'address',
2459
+ indexed: false,
2460
+ },
2461
+ {
2462
+ name: 'premiumToMaker',
2463
+ internalType: 'uint256',
2464
+ type: 'uint256',
2465
+ indexed: false,
2466
+ },
2467
+ {
2468
+ name: 'option',
2469
+ internalType: 'struct MarketOption',
2470
+ type: 'tuple',
2471
+ components: [
2472
+ {
2473
+ name: 'details',
2474
+ internalType: 'struct OptionDetails',
2475
+ type: 'tuple',
2476
+ components: [
2477
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
2478
+ {
2479
+ name: 'startTimestamp',
2480
+ internalType: 'uint64',
2481
+ type: 'uint64',
2482
+ },
2483
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
2484
+ {
2485
+ name: 'premiumAsset',
2486
+ internalType: 'address',
2487
+ type: 'address',
2488
+ },
2489
+ {
2490
+ name: 'premiumAmount',
2491
+ internalType: 'uint256',
2492
+ type: 'uint256',
2493
+ },
2494
+ {
2495
+ name: 'collateralAsset',
2496
+ internalType: 'address',
2497
+ type: 'address',
2498
+ },
2499
+ {
2500
+ name: 'collateralAmount',
2501
+ internalType: 'uint256',
2502
+ type: 'uint256',
2503
+ },
2504
+ {
2505
+ name: 'settlementAsset',
2506
+ internalType: 'address',
2507
+ type: 'address',
2508
+ },
2509
+ {
2510
+ name: 'settlementAmount',
2511
+ internalType: 'uint256',
2512
+ type: 'uint256',
2513
+ },
2514
+ {
2515
+ name: 'settlementLayer',
2516
+ internalType: 'address',
2517
+ type: 'address',
2518
+ },
2519
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
2520
+ ],
2521
+ },
2522
+ { name: 'taker', internalType: 'address', type: 'address' },
2523
+ { name: 'maker', internalType: 'address', type: 'address' },
2524
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
2525
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
2526
+ ],
2527
+ indexed: false,
2528
+ },
2529
+ ],
2530
+ name: 'OptionCreated',
2531
+ },
2532
+ {
2533
+ type: 'event',
2534
+ anonymous: false,
2535
+ inputs: [
2536
+ {
2537
+ name: 'optionId',
2538
+ internalType: 'bytes32',
2539
+ type: 'bytes32',
2540
+ indexed: true,
2541
+ },
2542
+ {
2543
+ name: 'exerciser',
2544
+ internalType: 'address',
2545
+ type: 'address',
2546
+ indexed: true,
2547
+ },
2548
+ {
2549
+ name: 'claimsBurned',
2550
+ internalType: 'uint256',
2551
+ type: 'uint256',
2552
+ indexed: false,
2553
+ },
2554
+ {
2555
+ name: 'collateralAsset',
2556
+ internalType: 'address',
2557
+ type: 'address',
2558
+ indexed: false,
2559
+ },
2560
+ {
2561
+ name: 'collateralPaid',
2562
+ internalType: 'uint256',
2563
+ type: 'uint256',
2564
+ indexed: false,
2565
+ },
2566
+ {
2567
+ name: 'settlementAsset',
2568
+ internalType: 'address',
2569
+ type: 'address',
2570
+ indexed: false,
2571
+ },
2572
+ {
2573
+ name: 'settlementEscrowed',
2574
+ internalType: 'uint256',
2575
+ type: 'uint256',
2576
+ indexed: false,
2577
+ },
2578
+ {
2579
+ name: 'remainingClaims',
2580
+ internalType: 'uint256',
2581
+ type: 'uint256',
2582
+ indexed: false,
2583
+ },
2584
+ {
2585
+ name: 'totalBurnedClaims',
2586
+ internalType: 'uint256',
2587
+ type: 'uint256',
2588
+ indexed: false,
2589
+ },
2590
+ ],
2591
+ name: 'OptionExercised',
2592
+ },
2593
+ {
2594
+ type: 'event',
2595
+ anonymous: false,
2596
+ inputs: [
2597
+ {
2598
+ name: 'optionId',
2599
+ internalType: 'bytes32',
2600
+ type: 'bytes32',
2601
+ indexed: true,
2602
+ },
2603
+ {
2604
+ name: 'redeemer',
2605
+ internalType: 'address',
2606
+ type: 'address',
2607
+ indexed: true,
2608
+ },
2609
+ {
2610
+ name: 'claimsBurned',
2611
+ internalType: 'uint256',
2612
+ type: 'uint256',
2613
+ indexed: false,
2614
+ },
2615
+ {
2616
+ name: 'collateralAsset',
2617
+ internalType: 'address',
2618
+ type: 'address',
2619
+ indexed: false,
2620
+ },
2621
+ {
2622
+ name: 'collateralPaid',
2623
+ internalType: 'uint256',
2624
+ type: 'uint256',
2625
+ indexed: false,
2626
+ },
2627
+ {
2628
+ name: 'settlementAsset',
2629
+ internalType: 'address',
2630
+ type: 'address',
2631
+ indexed: false,
2632
+ },
2633
+ {
2634
+ name: 'settlementPaid',
2635
+ internalType: 'uint256',
2636
+ type: 'uint256',
2637
+ indexed: false,
2638
+ },
2639
+ {
2640
+ name: 'remainingClaims',
2641
+ internalType: 'uint256',
2642
+ type: 'uint256',
2643
+ indexed: false,
2644
+ },
2645
+ {
2646
+ name: 'totalBurnedClaims',
2647
+ internalType: 'uint256',
2648
+ type: 'uint256',
2649
+ indexed: false,
2650
+ },
2651
+ ],
2652
+ name: 'OptionRedeemed',
2653
+ },
2654
+ {
2655
+ type: 'event',
2656
+ anonymous: false,
2657
+ inputs: [
2658
+ {
2659
+ name: 'updatedBy',
2660
+ internalType: 'address',
2661
+ type: 'address',
2662
+ indexed: true,
2663
+ },
2664
+ {
2665
+ name: 'config',
2666
+ internalType: 'struct ProtocolConfig',
2667
+ type: 'tuple',
2668
+ components: [
2669
+ { name: 'authority', internalType: 'address', type: 'address' },
2670
+ { name: 'pauseAuthority', internalType: 'address', type: 'address' },
2671
+ {
2672
+ name: 'optionCreationHook',
2673
+ internalType: 'address',
2674
+ type: 'address',
2675
+ },
2676
+ { name: 'pausedActions', internalType: 'uint32', type: 'uint32' },
2677
+ {
2678
+ name: 'pauseAuthorityMask',
2679
+ internalType: 'uint32',
2680
+ type: 'uint32',
2681
+ },
2682
+ ],
2683
+ indexed: false,
2684
+ },
2685
+ ],
2686
+ name: 'ProtocolConfigUpdated',
2687
+ },
2688
+ {
2689
+ type: 'event',
2690
+ anonymous: false,
2691
+ inputs: [
2692
+ {
2693
+ name: 'setBy',
2694
+ internalType: 'address',
2695
+ type: 'address',
2696
+ indexed: true,
2697
+ },
2698
+ {
2699
+ name: 'domain',
2700
+ internalType: 'uint32',
2701
+ type: 'uint32',
2702
+ indexed: false,
2703
+ },
2704
+ ],
2705
+ name: 'ProtocolDomainSet',
2706
+ },
2707
+ {
2708
+ type: 'event',
2709
+ anonymous: false,
2710
+ inputs: [
2711
+ {
2712
+ name: 'bootstrapAuthority',
2713
+ internalType: 'address',
2714
+ type: 'address',
2715
+ indexed: true,
2716
+ },
2717
+ ],
2718
+ name: 'ProtocolInitialized',
2719
+ },
2720
+ {
2721
+ type: 'event',
2722
+ anonymous: false,
2723
+ inputs: [
2724
+ {
2725
+ name: 'pausedBy',
2726
+ internalType: 'address',
2727
+ type: 'address',
2728
+ indexed: true,
2729
+ },
2730
+ {
2731
+ name: 'pauseMask',
2732
+ internalType: 'uint32',
2733
+ type: 'uint32',
2734
+ indexed: false,
2735
+ },
2736
+ {
2737
+ name: 'pausedActions',
2738
+ internalType: 'uint32',
2739
+ type: 'uint32',
2740
+ indexed: false,
2741
+ },
2742
+ ],
2743
+ name: 'ProtocolPaused',
2744
+ },
2745
+ {
2746
+ type: 'event',
2747
+ anonymous: false,
2748
+ inputs: [
2749
+ {
2750
+ name: 'actingParty',
2751
+ internalType: 'address',
2752
+ type: 'address',
2753
+ indexed: true,
2754
+ },
2755
+ {
2756
+ name: 'signer',
2757
+ internalType: 'address',
2758
+ type: 'address',
2759
+ indexed: true,
2760
+ },
2761
+ {
2762
+ name: 'action',
2763
+ internalType: 'enum IntentAction',
2764
+ type: 'uint8',
2765
+ indexed: false,
2766
+ },
2767
+ {
2768
+ name: 'nonce',
2769
+ internalType: 'uint256',
2770
+ type: 'uint256',
2771
+ indexed: false,
2772
+ },
2773
+ {
2774
+ name: 'expiry',
2775
+ internalType: 'uint64',
2776
+ type: 'uint64',
2777
+ indexed: false,
2778
+ },
2779
+ ],
2780
+ name: 'SignedOperationExecuted',
2781
+ },
2782
+ {
2783
+ type: 'event',
2784
+ anonymous: false,
2785
+ inputs: [
2786
+ {
2787
+ name: 'implementation',
2788
+ internalType: 'address',
2789
+ type: 'address',
2790
+ indexed: true,
2791
+ },
2792
+ ],
2793
+ name: 'Upgraded',
2794
+ },
2795
+ {
2796
+ type: 'event',
2797
+ anonymous: false,
2798
+ inputs: [
2799
+ {
2800
+ name: 'accountHolder',
2801
+ internalType: 'address',
2802
+ type: 'address',
2803
+ indexed: true,
2804
+ },
2805
+ {
2806
+ name: 'asset',
2807
+ internalType: 'address',
2808
+ type: 'address',
2809
+ indexed: true,
2810
+ },
2811
+ {
2812
+ name: 'amount',
2813
+ internalType: 'uint256',
2814
+ type: 'uint256',
2815
+ indexed: false,
2816
+ },
2817
+ ],
2818
+ name: 'Withdrawn',
2819
+ },
2820
+ {
2821
+ type: 'error',
2822
+ inputs: [
2823
+ { name: 'action', internalType: 'enum PausableActions', type: 'uint8' },
2824
+ ],
2825
+ name: 'ActionPaused',
2826
+ },
2827
+ {
2828
+ type: 'error',
2829
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
2830
+ name: 'AddressEmptyCode',
2831
+ },
2832
+ { type: 'error', inputs: [], name: 'AuthorityRequired' },
2833
+ { type: 'error', inputs: [], name: 'BorrowNotAllowed' },
2834
+ {
2835
+ type: 'error',
2836
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
2837
+ name: 'BorrowRefused',
2838
+ },
2839
+ { type: 'error', inputs: [], name: 'ClaimTokenFactoryRequired' },
2840
+ { type: 'error', inputs: [], name: 'CollateralAmountZero' },
2841
+ {
2842
+ type: 'error',
2843
+ inputs: [
2844
+ { name: 'expected', internalType: 'address', type: 'address' },
2845
+ { name: 'provided', internalType: 'address', type: 'address' },
2846
+ ],
2847
+ name: 'CounterpartyMismatch',
2848
+ },
2849
+ {
2850
+ type: 'error',
2851
+ inputs: [{ name: 'domain', internalType: 'uint32', type: 'uint32' }],
2852
+ name: 'DomainAlreadySet',
2853
+ },
2854
+ {
2855
+ type: 'error',
2856
+ inputs: [
2857
+ { name: 'expected', internalType: 'uint32', type: 'uint32' },
2858
+ { name: 'provided', internalType: 'uint32', type: 'uint32' },
2859
+ ],
2860
+ name: 'DomainMismatch',
2861
+ },
2862
+ { type: 'error', inputs: [], name: 'ECDSAInvalidSignature' },
2863
+ {
2864
+ type: 'error',
2865
+ inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
2866
+ name: 'ECDSAInvalidSignatureLength',
2867
+ },
2868
+ {
2869
+ type: 'error',
2870
+ inputs: [{ name: 's', internalType: 'bytes32', type: 'bytes32' }],
2871
+ name: 'ECDSAInvalidSignatureS',
2872
+ },
2873
+ {
2874
+ type: 'error',
2875
+ inputs: [
2876
+ { name: 'implementation', internalType: 'address', type: 'address' },
2877
+ ],
2878
+ name: 'ERC1967InvalidImplementation',
2879
+ },
2880
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
2881
+ {
2882
+ type: 'error',
2883
+ inputs: [
2884
+ { name: 'supply', internalType: 'uint256', type: 'uint256' },
2885
+ { name: 'requested', internalType: 'uint256', type: 'uint256' },
2886
+ ],
2887
+ name: 'ExerciseExceedsClaimSupply',
2888
+ },
2889
+ { type: 'error', inputs: [], name: 'FailedCall' },
2890
+ {
2891
+ type: 'error',
2892
+ inputs: [
2893
+ { name: 'available', internalType: 'uint256', type: 'uint256' },
2894
+ { name: 'requested', internalType: 'uint256', type: 'uint256' },
2895
+ ],
2896
+ name: 'InsufficientBalance',
2897
+ },
2898
+ {
2899
+ type: 'error',
2900
+ inputs: [
2901
+ { name: 'available', internalType: 'uint256', type: 'uint256' },
2902
+ { name: 'requested', internalType: 'uint256', type: 'uint256' },
2903
+ ],
2904
+ name: 'InsufficientClaims',
2905
+ },
2906
+ {
2907
+ type: 'error',
2908
+ inputs: [{ name: 'expiry', internalType: 'uint64', type: 'uint64' }],
2909
+ name: 'IntentExpired',
2910
+ },
2911
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2912
+ { type: 'error', inputs: [], name: 'InvalidTimeRange' },
2913
+ {
2914
+ type: 'error',
2915
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
2916
+ name: 'MatchRefused',
2917
+ },
2918
+ {
2919
+ type: 'error',
2920
+ inputs: [
2921
+ { name: 'signer', internalType: 'address', type: 'address' },
2922
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2923
+ ],
2924
+ name: 'NonceAlreadyUsed',
2925
+ },
2926
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2927
+ {
2928
+ type: 'error',
2929
+ inputs: [
2930
+ { name: 'taker', internalType: 'address', type: 'address' },
2931
+ { name: 'caller', internalType: 'address', type: 'address' },
2932
+ ],
2933
+ name: 'NotTaker',
2934
+ },
2935
+ {
2936
+ type: 'error',
2937
+ inputs: [{ name: 'offerId', internalType: 'bytes32', type: 'bytes32' }],
2938
+ name: 'OfferAlreadyExists',
2939
+ },
2940
+ { type: 'error', inputs: [], name: 'OfferAlreadyExpired' },
2941
+ { type: 'error', inputs: [], name: 'OfferExpiryTooLong' },
2942
+ { type: 'error', inputs: [], name: 'OfferMismatch' },
2943
+ {
2944
+ type: 'error',
2945
+ inputs: [{ name: 'offerId', internalType: 'bytes32', type: 'bytes32' }],
2946
+ name: 'OfferNotFound',
2947
+ },
2948
+ {
2949
+ type: 'error',
2950
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
2951
+ name: 'OptionAlreadyExists',
2952
+ },
2953
+ { type: 'error', inputs: [], name: 'OptionAlreadyExpired' },
2954
+ {
2955
+ type: 'error',
2956
+ inputs: [
2957
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
2958
+ { name: 'timestamp', internalType: 'uint256', type: 'uint256' },
2959
+ ],
2960
+ name: 'OptionNotExpired',
2961
+ },
2962
+ {
2963
+ type: 'error',
2964
+ inputs: [{ name: 'optionId', internalType: 'bytes32', type: 'bytes32' }],
2965
+ name: 'OptionNotFound',
2966
+ },
2967
+ {
2968
+ type: 'error',
2969
+ inputs: [
2970
+ { name: 'startTimestamp', internalType: 'uint64', type: 'uint64' },
2971
+ { name: 'timestamp', internalType: 'uint256', type: 'uint256' },
2972
+ ],
2973
+ name: 'OutsideBorrowWindow',
2974
+ },
2975
+ {
2976
+ type: 'error',
2977
+ inputs: [
2978
+ { name: 'startTimestamp', internalType: 'uint64', type: 'uint64' },
2979
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
2980
+ { name: 'timestamp', internalType: 'uint256', type: 'uint256' },
2981
+ ],
2982
+ name: 'OutsideExerciseWindow',
2983
+ },
2984
+ {
2985
+ type: 'error',
2986
+ inputs: [
2987
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
2988
+ { name: 'timestamp', internalType: 'uint256', type: 'uint256' },
2989
+ ],
2990
+ name: 'OutsideRedeemWindow',
2991
+ },
2992
+ {
2993
+ type: 'error',
2994
+ inputs: [
2995
+ { name: 'borrowedCollateral', internalType: 'uint256', type: 'uint256' },
2996
+ ],
2997
+ name: 'OutstandingBorrow',
2998
+ },
2999
+ {
3000
+ type: 'error',
3001
+ inputs: [
3002
+ { name: 'requestedMask', internalType: 'uint32', type: 'uint32' },
3003
+ { name: 'allowedMask', internalType: 'uint32', type: 'uint32' },
3004
+ ],
3005
+ name: 'PauseMaskNotAllowed',
3006
+ },
3007
+ { type: 'error', inputs: [], name: 'PremiumAmountZero' },
3008
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
3009
+ {
3010
+ type: 'error',
3011
+ inputs: [
3012
+ { name: 'borrowedCollateral', internalType: 'uint256', type: 'uint256' },
3013
+ { name: 'requested', internalType: 'uint256', type: 'uint256' },
3014
+ ],
3015
+ name: 'RepayExceedsBorrowed',
3016
+ },
3017
+ { type: 'error', inputs: [], name: 'ResolutionAmountMismatch' },
3018
+ {
3019
+ type: 'error',
3020
+ inputs: [
3021
+ { name: 'bits', internalType: 'uint8', type: 'uint8' },
3022
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
3023
+ ],
3024
+ name: 'SafeCastOverflowedUintDowncast',
3025
+ },
3026
+ {
3027
+ type: 'error',
3028
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
3029
+ name: 'SafeERC20FailedOperation',
3030
+ },
3031
+ { type: 'error', inputs: [], name: 'SettlementAmountZero' },
3032
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
3033
+ {
3034
+ type: 'error',
3035
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
3036
+ name: 'UUPSUnsupportedProxiableUUID',
3037
+ },
3038
+ { type: 'error', inputs: [], name: 'Unauthorized' },
3039
+ {
3040
+ type: 'error',
3041
+ inputs: [{ name: 'signer', internalType: 'address', type: 'address' }],
3042
+ name: 'UnauthorizedSigner',
3043
+ },
3044
+ {
3045
+ type: 'error',
3046
+ inputs: [{ name: 'curveId', internalType: 'uint8', type: 'uint8' }],
3047
+ name: 'UnsupportedCurveId',
3048
+ },
3049
+ { type: 'error', inputs: [], name: 'ZeroAmount' },
3050
+ { type: 'error', inputs: [], name: 'ZeroAsset' },
3051
+ ];
3052
+ /**
3053
+ *
3054
+ */
3055
+ exports.coreAddress = {
3056
+ 31337: '0xe57a0b345e05313386d05f1848888f0AD0aa87B2',
3057
+ };
3058
+ /**
3059
+ *
3060
+ */
3061
+ exports.coreConfig = { address: exports.coreAddress, abi: exports.coreAbi };
3062
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3063
+ // FeeHook
3064
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3065
+ exports.feeHookAbi = [
3066
+ {
3067
+ type: 'constructor',
3068
+ inputs: [
3069
+ { name: 'beneficiary_', internalType: 'address', type: 'address' },
3070
+ { name: 'bps_', internalType: 'uint16', type: 'uint16' },
3071
+ ],
3072
+ stateMutability: 'nonpayable',
3073
+ },
3074
+ {
3075
+ type: 'function',
3076
+ inputs: [],
3077
+ name: 'beneficiary',
3078
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
3079
+ stateMutability: 'view',
3080
+ },
3081
+ {
3082
+ type: 'function',
3083
+ inputs: [],
3084
+ name: 'bps',
3085
+ outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
3086
+ stateMutability: 'view',
3087
+ },
3088
+ {
3089
+ type: 'function',
3090
+ inputs: [{ name: 'asset', internalType: 'address', type: 'address' }],
3091
+ name: 'claim',
3092
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
3093
+ stateMutability: 'nonpayable',
3094
+ },
3095
+ {
3096
+ type: 'function',
3097
+ inputs: [
3098
+ {
3099
+ name: 'option',
3100
+ internalType: 'struct MarketOption',
3101
+ type: 'tuple',
3102
+ components: [
3103
+ {
3104
+ name: 'details',
3105
+ internalType: 'struct OptionDetails',
3106
+ type: 'tuple',
3107
+ components: [
3108
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3109
+ {
3110
+ name: 'startTimestamp',
3111
+ internalType: 'uint64',
3112
+ type: 'uint64',
3113
+ },
3114
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3115
+ {
3116
+ name: 'premiumAsset',
3117
+ internalType: 'address',
3118
+ type: 'address',
3119
+ },
3120
+ {
3121
+ name: 'premiumAmount',
3122
+ internalType: 'uint256',
3123
+ type: 'uint256',
3124
+ },
3125
+ {
3126
+ name: 'collateralAsset',
3127
+ internalType: 'address',
3128
+ type: 'address',
3129
+ },
3130
+ {
3131
+ name: 'collateralAmount',
3132
+ internalType: 'uint256',
3133
+ type: 'uint256',
3134
+ },
3135
+ {
3136
+ name: 'settlementAsset',
3137
+ internalType: 'address',
3138
+ type: 'address',
3139
+ },
3140
+ {
3141
+ name: 'settlementAmount',
3142
+ internalType: 'uint256',
3143
+ type: 'uint256',
3144
+ },
3145
+ {
3146
+ name: 'settlementLayer',
3147
+ internalType: 'address',
3148
+ type: 'address',
3149
+ },
3150
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3151
+ ],
3152
+ },
3153
+ { name: 'taker', internalType: 'address', type: 'address' },
3154
+ { name: 'maker', internalType: 'address', type: 'address' },
3155
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3156
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3157
+ ],
3158
+ },
3159
+ { name: '', internalType: 'bytes', type: 'bytes' },
3160
+ ],
3161
+ name: 'onCreateOption',
3162
+ outputs: [
3163
+ {
3164
+ name: '',
3165
+ internalType: 'struct FeeResolution',
3166
+ type: 'tuple',
3167
+ components: [
3168
+ {
3169
+ name: 'premiumFeeAmount',
3170
+ internalType: 'uint256',
3171
+ type: 'uint256',
3172
+ },
3173
+ ],
3174
+ },
3175
+ ],
3176
+ stateMutability: 'view',
3177
+ },
3178
+ {
3179
+ type: 'event',
3180
+ anonymous: false,
3181
+ inputs: [
3182
+ {
3183
+ name: 'asset',
3184
+ internalType: 'address',
3185
+ type: 'address',
3186
+ indexed: true,
3187
+ },
3188
+ {
3189
+ name: 'beneficiary',
3190
+ internalType: 'address',
3191
+ type: 'address',
3192
+ indexed: true,
3193
+ },
3194
+ {
3195
+ name: 'amount',
3196
+ internalType: 'uint256',
3197
+ type: 'uint256',
3198
+ indexed: false,
3199
+ },
3200
+ ],
3201
+ name: 'FeeClaimed',
3202
+ },
3203
+ {
3204
+ type: 'error',
3205
+ inputs: [{ name: 'bps', internalType: 'uint16', type: 'uint16' }],
3206
+ name: 'FeeTooHigh',
3207
+ },
3208
+ { type: 'error', inputs: [], name: 'NotBeneficiary' },
3209
+ { type: 'error', inputs: [], name: 'NothingToClaim' },
3210
+ {
3211
+ type: 'error',
3212
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
3213
+ name: 'SafeERC20FailedOperation',
3214
+ },
3215
+ ];
3216
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3217
+ // IOptionCreationHook
3218
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3219
+ exports.iOptionCreationHookAbi = [
3220
+ {
3221
+ type: 'function',
3222
+ inputs: [
3223
+ {
3224
+ name: 'option',
3225
+ internalType: 'struct MarketOption',
3226
+ type: 'tuple',
3227
+ components: [
3228
+ {
3229
+ name: 'details',
3230
+ internalType: 'struct OptionDetails',
3231
+ type: 'tuple',
3232
+ components: [
3233
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3234
+ {
3235
+ name: 'startTimestamp',
3236
+ internalType: 'uint64',
3237
+ type: 'uint64',
3238
+ },
3239
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3240
+ {
3241
+ name: 'premiumAsset',
3242
+ internalType: 'address',
3243
+ type: 'address',
3244
+ },
3245
+ {
3246
+ name: 'premiumAmount',
3247
+ internalType: 'uint256',
3248
+ type: 'uint256',
3249
+ },
3250
+ {
3251
+ name: 'collateralAsset',
3252
+ internalType: 'address',
3253
+ type: 'address',
3254
+ },
3255
+ {
3256
+ name: 'collateralAmount',
3257
+ internalType: 'uint256',
3258
+ type: 'uint256',
3259
+ },
3260
+ {
3261
+ name: 'settlementAsset',
3262
+ internalType: 'address',
3263
+ type: 'address',
3264
+ },
3265
+ {
3266
+ name: 'settlementAmount',
3267
+ internalType: 'uint256',
3268
+ type: 'uint256',
3269
+ },
3270
+ {
3271
+ name: 'settlementLayer',
3272
+ internalType: 'address',
3273
+ type: 'address',
3274
+ },
3275
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3276
+ ],
3277
+ },
3278
+ { name: 'taker', internalType: 'address', type: 'address' },
3279
+ { name: 'maker', internalType: 'address', type: 'address' },
3280
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3281
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3282
+ ],
3283
+ },
3284
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3285
+ ],
3286
+ name: 'onCreateOption',
3287
+ outputs: [
3288
+ {
3289
+ name: '',
3290
+ internalType: 'struct FeeResolution',
3291
+ type: 'tuple',
3292
+ components: [
3293
+ {
3294
+ name: 'premiumFeeAmount',
3295
+ internalType: 'uint256',
3296
+ type: 'uint256',
3297
+ },
3298
+ ],
3299
+ },
3300
+ ],
3301
+ stateMutability: 'nonpayable',
3302
+ },
3303
+ ];
3304
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3305
+ // ISettlementLayer
3306
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3307
+ exports.iSettlementLayerAbi = [
3308
+ {
3309
+ type: 'function',
3310
+ inputs: [
3311
+ {
3312
+ name: 'option',
3313
+ internalType: 'struct MarketOption',
3314
+ type: 'tuple',
3315
+ components: [
3316
+ {
3317
+ name: 'details',
3318
+ internalType: 'struct OptionDetails',
3319
+ type: 'tuple',
3320
+ components: [
3321
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3322
+ {
3323
+ name: 'startTimestamp',
3324
+ internalType: 'uint64',
3325
+ type: 'uint64',
3326
+ },
3327
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3328
+ {
3329
+ name: 'premiumAsset',
3330
+ internalType: 'address',
3331
+ type: 'address',
3332
+ },
3333
+ {
3334
+ name: 'premiumAmount',
3335
+ internalType: 'uint256',
3336
+ type: 'uint256',
3337
+ },
3338
+ {
3339
+ name: 'collateralAsset',
3340
+ internalType: 'address',
3341
+ type: 'address',
3342
+ },
3343
+ {
3344
+ name: 'collateralAmount',
3345
+ internalType: 'uint256',
3346
+ type: 'uint256',
3347
+ },
3348
+ {
3349
+ name: 'settlementAsset',
3350
+ internalType: 'address',
3351
+ type: 'address',
3352
+ },
3353
+ {
3354
+ name: 'settlementAmount',
3355
+ internalType: 'uint256',
3356
+ type: 'uint256',
3357
+ },
3358
+ {
3359
+ name: 'settlementLayer',
3360
+ internalType: 'address',
3361
+ type: 'address',
3362
+ },
3363
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3364
+ ],
3365
+ },
3366
+ { name: 'taker', internalType: 'address', type: 'address' },
3367
+ { name: 'maker', internalType: 'address', type: 'address' },
3368
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3369
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3370
+ ],
3371
+ },
3372
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
3373
+ { name: 'borrower', internalType: 'address', type: 'address' },
3374
+ { name: 'collateralReceiver', internalType: 'address', type: 'address' },
3375
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3376
+ ],
3377
+ name: 'canBorrow',
3378
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
3379
+ stateMutability: 'nonpayable',
3380
+ },
3381
+ {
3382
+ type: 'function',
3383
+ inputs: [
3384
+ {
3385
+ name: 'option',
3386
+ internalType: 'struct MarketOption',
3387
+ type: 'tuple',
3388
+ components: [
3389
+ {
3390
+ name: 'details',
3391
+ internalType: 'struct OptionDetails',
3392
+ type: 'tuple',
3393
+ components: [
3394
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3395
+ {
3396
+ name: 'startTimestamp',
3397
+ internalType: 'uint64',
3398
+ type: 'uint64',
3399
+ },
3400
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3401
+ {
3402
+ name: 'premiumAsset',
3403
+ internalType: 'address',
3404
+ type: 'address',
3405
+ },
3406
+ {
3407
+ name: 'premiumAmount',
3408
+ internalType: 'uint256',
3409
+ type: 'uint256',
3410
+ },
3411
+ {
3412
+ name: 'collateralAsset',
3413
+ internalType: 'address',
3414
+ type: 'address',
3415
+ },
3416
+ {
3417
+ name: 'collateralAmount',
3418
+ internalType: 'uint256',
3419
+ type: 'uint256',
3420
+ },
3421
+ {
3422
+ name: 'settlementAsset',
3423
+ internalType: 'address',
3424
+ type: 'address',
3425
+ },
3426
+ {
3427
+ name: 'settlementAmount',
3428
+ internalType: 'uint256',
3429
+ type: 'uint256',
3430
+ },
3431
+ {
3432
+ name: 'settlementLayer',
3433
+ internalType: 'address',
3434
+ type: 'address',
3435
+ },
3436
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3437
+ ],
3438
+ },
3439
+ { name: 'taker', internalType: 'address', type: 'address' },
3440
+ { name: 'maker', internalType: 'address', type: 'address' },
3441
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3442
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3443
+ ],
3444
+ },
3445
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
3446
+ { name: 'exerciser', internalType: 'address', type: 'address' },
3447
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3448
+ ],
3449
+ name: 'canExercise',
3450
+ outputs: [
3451
+ {
3452
+ name: '',
3453
+ internalType: 'struct ExerciseResolution',
3454
+ type: 'tuple',
3455
+ components: [
3456
+ {
3457
+ name: 'collateralToTaker',
3458
+ internalType: 'uint256',
3459
+ type: 'uint256',
3460
+ },
3461
+ {
3462
+ name: 'settlementFromTaker',
3463
+ internalType: 'uint256',
3464
+ type: 'uint256',
3465
+ },
3466
+ ],
3467
+ },
3468
+ ],
3469
+ stateMutability: 'nonpayable',
3470
+ },
3471
+ {
3472
+ type: 'function',
3473
+ inputs: [
3474
+ {
3475
+ name: 'option',
3476
+ internalType: 'struct MarketOption',
3477
+ type: 'tuple',
3478
+ components: [
3479
+ {
3480
+ name: 'details',
3481
+ internalType: 'struct OptionDetails',
3482
+ type: 'tuple',
3483
+ components: [
3484
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3485
+ {
3486
+ name: 'startTimestamp',
3487
+ internalType: 'uint64',
3488
+ type: 'uint64',
3489
+ },
3490
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3491
+ {
3492
+ name: 'premiumAsset',
3493
+ internalType: 'address',
3494
+ type: 'address',
3495
+ },
3496
+ {
3497
+ name: 'premiumAmount',
3498
+ internalType: 'uint256',
3499
+ type: 'uint256',
3500
+ },
3501
+ {
3502
+ name: 'collateralAsset',
3503
+ internalType: 'address',
3504
+ type: 'address',
3505
+ },
3506
+ {
3507
+ name: 'collateralAmount',
3508
+ internalType: 'uint256',
3509
+ type: 'uint256',
3510
+ },
3511
+ {
3512
+ name: 'settlementAsset',
3513
+ internalType: 'address',
3514
+ type: 'address',
3515
+ },
3516
+ {
3517
+ name: 'settlementAmount',
3518
+ internalType: 'uint256',
3519
+ type: 'uint256',
3520
+ },
3521
+ {
3522
+ name: 'settlementLayer',
3523
+ internalType: 'address',
3524
+ type: 'address',
3525
+ },
3526
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3527
+ ],
3528
+ },
3529
+ { name: 'taker', internalType: 'address', type: 'address' },
3530
+ { name: 'maker', internalType: 'address', type: 'address' },
3531
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3532
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3533
+ ],
3534
+ },
3535
+ { name: 'matcher', internalType: 'address', type: 'address' },
3536
+ ],
3537
+ name: 'canMatch',
3538
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
3539
+ stateMutability: 'nonpayable',
3540
+ },
3541
+ {
3542
+ type: 'function',
3543
+ inputs: [
3544
+ {
3545
+ name: 'option',
3546
+ internalType: 'struct MarketOption',
3547
+ type: 'tuple',
3548
+ components: [
3549
+ {
3550
+ name: 'details',
3551
+ internalType: 'struct OptionDetails',
3552
+ type: 'tuple',
3553
+ components: [
3554
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3555
+ {
3556
+ name: 'startTimestamp',
3557
+ internalType: 'uint64',
3558
+ type: 'uint64',
3559
+ },
3560
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3561
+ {
3562
+ name: 'premiumAsset',
3563
+ internalType: 'address',
3564
+ type: 'address',
3565
+ },
3566
+ {
3567
+ name: 'premiumAmount',
3568
+ internalType: 'uint256',
3569
+ type: 'uint256',
3570
+ },
3571
+ {
3572
+ name: 'collateralAsset',
3573
+ internalType: 'address',
3574
+ type: 'address',
3575
+ },
3576
+ {
3577
+ name: 'collateralAmount',
3578
+ internalType: 'uint256',
3579
+ type: 'uint256',
3580
+ },
3581
+ {
3582
+ name: 'settlementAsset',
3583
+ internalType: 'address',
3584
+ type: 'address',
3585
+ },
3586
+ {
3587
+ name: 'settlementAmount',
3588
+ internalType: 'uint256',
3589
+ type: 'uint256',
3590
+ },
3591
+ {
3592
+ name: 'settlementLayer',
3593
+ internalType: 'address',
3594
+ type: 'address',
3595
+ },
3596
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3597
+ ],
3598
+ },
3599
+ { name: 'taker', internalType: 'address', type: 'address' },
3600
+ { name: 'maker', internalType: 'address', type: 'address' },
3601
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3602
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3603
+ ],
3604
+ },
3605
+ { name: 'redeemAmount', internalType: 'uint256', type: 'uint256' },
3606
+ { name: 'claimSupply', internalType: 'uint256', type: 'uint256' },
3607
+ { name: 'collateralBalance', internalType: 'uint256', type: 'uint256' },
3608
+ { name: 'settlementBalance', internalType: 'uint256', type: 'uint256' },
3609
+ { name: 'redeemer', internalType: 'address', type: 'address' },
3610
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3611
+ ],
3612
+ name: 'canRedeem',
3613
+ outputs: [
3614
+ {
3615
+ name: '',
3616
+ internalType: 'struct RedeemResolution',
3617
+ type: 'tuple',
3618
+ components: [
3619
+ {
3620
+ name: 'collateralToMaker',
3621
+ internalType: 'uint256',
3622
+ type: 'uint256',
3623
+ },
3624
+ {
3625
+ name: 'settlementToMaker',
3626
+ internalType: 'uint256',
3627
+ type: 'uint256',
3628
+ },
3629
+ ],
3630
+ },
3631
+ ],
3632
+ stateMutability: 'nonpayable',
3633
+ },
3634
+ {
3635
+ type: 'function',
3636
+ inputs: [],
3637
+ name: 'layerType',
3638
+ outputs: [
3639
+ { name: '', internalType: 'enum SettlementLayerType', type: 'uint8' },
3640
+ ],
3641
+ stateMutability: 'view',
3642
+ },
3643
+ ];
3644
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3645
+ // PhysicalSettlement
3646
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3647
+ exports.physicalSettlementAbi = [
3648
+ {
3649
+ type: 'constructor',
3650
+ inputs: [
3651
+ {
3652
+ name: 'exerciseMode_',
3653
+ internalType: 'enum ExerciseMode',
3654
+ type: 'uint8',
3655
+ },
3656
+ ],
3657
+ stateMutability: 'nonpayable',
3658
+ },
3659
+ {
3660
+ type: 'function',
3661
+ inputs: [],
3662
+ name: 'EXERCISE_MODE',
3663
+ outputs: [{ name: '', internalType: 'enum ExerciseMode', type: 'uint8' }],
3664
+ stateMutability: 'view',
3665
+ },
3666
+ {
3667
+ type: 'function',
3668
+ inputs: [
3669
+ {
3670
+ name: 'option',
3671
+ internalType: 'struct MarketOption',
3672
+ type: 'tuple',
3673
+ components: [
3674
+ {
3675
+ name: 'details',
3676
+ internalType: 'struct OptionDetails',
3677
+ type: 'tuple',
3678
+ components: [
3679
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3680
+ {
3681
+ name: 'startTimestamp',
3682
+ internalType: 'uint64',
3683
+ type: 'uint64',
3684
+ },
3685
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3686
+ {
3687
+ name: 'premiumAsset',
3688
+ internalType: 'address',
3689
+ type: 'address',
3690
+ },
3691
+ {
3692
+ name: 'premiumAmount',
3693
+ internalType: 'uint256',
3694
+ type: 'uint256',
3695
+ },
3696
+ {
3697
+ name: 'collateralAsset',
3698
+ internalType: 'address',
3699
+ type: 'address',
3700
+ },
3701
+ {
3702
+ name: 'collateralAmount',
3703
+ internalType: 'uint256',
3704
+ type: 'uint256',
3705
+ },
3706
+ {
3707
+ name: 'settlementAsset',
3708
+ internalType: 'address',
3709
+ type: 'address',
3710
+ },
3711
+ {
3712
+ name: 'settlementAmount',
3713
+ internalType: 'uint256',
3714
+ type: 'uint256',
3715
+ },
3716
+ {
3717
+ name: 'settlementLayer',
3718
+ internalType: 'address',
3719
+ type: 'address',
3720
+ },
3721
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3722
+ ],
3723
+ },
3724
+ { name: 'taker', internalType: 'address', type: 'address' },
3725
+ { name: 'maker', internalType: 'address', type: 'address' },
3726
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3727
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3728
+ ],
3729
+ },
3730
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
3731
+ { name: 'borrower', internalType: 'address', type: 'address' },
3732
+ { name: 'collateralReceiver', internalType: 'address', type: 'address' },
3733
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3734
+ ],
3735
+ name: 'canBorrow',
3736
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
3737
+ stateMutability: 'pure',
3738
+ },
3739
+ {
3740
+ type: 'function',
3741
+ inputs: [
3742
+ {
3743
+ name: 'option',
3744
+ internalType: 'struct MarketOption',
3745
+ type: 'tuple',
3746
+ components: [
3747
+ {
3748
+ name: 'details',
3749
+ internalType: 'struct OptionDetails',
3750
+ type: 'tuple',
3751
+ components: [
3752
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3753
+ {
3754
+ name: 'startTimestamp',
3755
+ internalType: 'uint64',
3756
+ type: 'uint64',
3757
+ },
3758
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3759
+ {
3760
+ name: 'premiumAsset',
3761
+ internalType: 'address',
3762
+ type: 'address',
3763
+ },
3764
+ {
3765
+ name: 'premiumAmount',
3766
+ internalType: 'uint256',
3767
+ type: 'uint256',
3768
+ },
3769
+ {
3770
+ name: 'collateralAsset',
3771
+ internalType: 'address',
3772
+ type: 'address',
3773
+ },
3774
+ {
3775
+ name: 'collateralAmount',
3776
+ internalType: 'uint256',
3777
+ type: 'uint256',
3778
+ },
3779
+ {
3780
+ name: 'settlementAsset',
3781
+ internalType: 'address',
3782
+ type: 'address',
3783
+ },
3784
+ {
3785
+ name: 'settlementAmount',
3786
+ internalType: 'uint256',
3787
+ type: 'uint256',
3788
+ },
3789
+ {
3790
+ name: 'settlementLayer',
3791
+ internalType: 'address',
3792
+ type: 'address',
3793
+ },
3794
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3795
+ ],
3796
+ },
3797
+ { name: 'taker', internalType: 'address', type: 'address' },
3798
+ { name: 'maker', internalType: 'address', type: 'address' },
3799
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3800
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3801
+ ],
3802
+ },
3803
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
3804
+ { name: 'exerciser', internalType: 'address', type: 'address' },
3805
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3806
+ ],
3807
+ name: 'canExercise',
3808
+ outputs: [
3809
+ {
3810
+ name: '',
3811
+ internalType: 'struct ExerciseResolution',
3812
+ type: 'tuple',
3813
+ components: [
3814
+ {
3815
+ name: 'collateralToTaker',
3816
+ internalType: 'uint256',
3817
+ type: 'uint256',
3818
+ },
3819
+ {
3820
+ name: 'settlementFromTaker',
3821
+ internalType: 'uint256',
3822
+ type: 'uint256',
3823
+ },
3824
+ ],
3825
+ },
3826
+ ],
3827
+ stateMutability: 'view',
3828
+ },
3829
+ {
3830
+ type: 'function',
3831
+ inputs: [
3832
+ {
3833
+ name: '',
3834
+ internalType: 'struct MarketOption',
3835
+ type: 'tuple',
3836
+ components: [
3837
+ {
3838
+ name: 'details',
3839
+ internalType: 'struct OptionDetails',
3840
+ type: 'tuple',
3841
+ components: [
3842
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3843
+ {
3844
+ name: 'startTimestamp',
3845
+ internalType: 'uint64',
3846
+ type: 'uint64',
3847
+ },
3848
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3849
+ {
3850
+ name: 'premiumAsset',
3851
+ internalType: 'address',
3852
+ type: 'address',
3853
+ },
3854
+ {
3855
+ name: 'premiumAmount',
3856
+ internalType: 'uint256',
3857
+ type: 'uint256',
3858
+ },
3859
+ {
3860
+ name: 'collateralAsset',
3861
+ internalType: 'address',
3862
+ type: 'address',
3863
+ },
3864
+ {
3865
+ name: 'collateralAmount',
3866
+ internalType: 'uint256',
3867
+ type: 'uint256',
3868
+ },
3869
+ {
3870
+ name: 'settlementAsset',
3871
+ internalType: 'address',
3872
+ type: 'address',
3873
+ },
3874
+ {
3875
+ name: 'settlementAmount',
3876
+ internalType: 'uint256',
3877
+ type: 'uint256',
3878
+ },
3879
+ {
3880
+ name: 'settlementLayer',
3881
+ internalType: 'address',
3882
+ type: 'address',
3883
+ },
3884
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3885
+ ],
3886
+ },
3887
+ { name: 'taker', internalType: 'address', type: 'address' },
3888
+ { name: 'maker', internalType: 'address', type: 'address' },
3889
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3890
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3891
+ ],
3892
+ },
3893
+ { name: '', internalType: 'address', type: 'address' },
3894
+ ],
3895
+ name: 'canMatch',
3896
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
3897
+ stateMutability: 'pure',
3898
+ },
3899
+ {
3900
+ type: 'function',
3901
+ inputs: [
3902
+ {
3903
+ name: 'option',
3904
+ internalType: 'struct MarketOption',
3905
+ type: 'tuple',
3906
+ components: [
3907
+ {
3908
+ name: 'details',
3909
+ internalType: 'struct OptionDetails',
3910
+ type: 'tuple',
3911
+ components: [
3912
+ { name: 'domain', internalType: 'uint32', type: 'uint32' },
3913
+ {
3914
+ name: 'startTimestamp',
3915
+ internalType: 'uint64',
3916
+ type: 'uint64',
3917
+ },
3918
+ { name: 'endTimestamp', internalType: 'uint64', type: 'uint64' },
3919
+ {
3920
+ name: 'premiumAsset',
3921
+ internalType: 'address',
3922
+ type: 'address',
3923
+ },
3924
+ {
3925
+ name: 'premiumAmount',
3926
+ internalType: 'uint256',
3927
+ type: 'uint256',
3928
+ },
3929
+ {
3930
+ name: 'collateralAsset',
3931
+ internalType: 'address',
3932
+ type: 'address',
3933
+ },
3934
+ {
3935
+ name: 'collateralAmount',
3936
+ internalType: 'uint256',
3937
+ type: 'uint256',
3938
+ },
3939
+ {
3940
+ name: 'settlementAsset',
3941
+ internalType: 'address',
3942
+ type: 'address',
3943
+ },
3944
+ {
3945
+ name: 'settlementAmount',
3946
+ internalType: 'uint256',
3947
+ type: 'uint256',
3948
+ },
3949
+ {
3950
+ name: 'settlementLayer',
3951
+ internalType: 'address',
3952
+ type: 'address',
3953
+ },
3954
+ { name: 'borrowAllowed', internalType: 'bool', type: 'bool' },
3955
+ ],
3956
+ },
3957
+ { name: 'taker', internalType: 'address', type: 'address' },
3958
+ { name: 'maker', internalType: 'address', type: 'address' },
3959
+ { name: 'settlementOffer', internalType: 'bytes32', type: 'bytes32' },
3960
+ { name: 'collateralOffer', internalType: 'bytes32', type: 'bytes32' },
3961
+ ],
3962
+ },
3963
+ { name: 'redeemAmount', internalType: 'uint256', type: 'uint256' },
3964
+ { name: 'claimSupply', internalType: 'uint256', type: 'uint256' },
3965
+ { name: 'collateralBalance', internalType: 'uint256', type: 'uint256' },
3966
+ { name: 'settlementBalance', internalType: 'uint256', type: 'uint256' },
3967
+ { name: 'redeemer', internalType: 'address', type: 'address' },
3968
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
3969
+ ],
3970
+ name: 'canRedeem',
3971
+ outputs: [
3972
+ {
3973
+ name: '',
3974
+ internalType: 'struct RedeemResolution',
3975
+ type: 'tuple',
3976
+ components: [
3977
+ {
3978
+ name: 'collateralToMaker',
3979
+ internalType: 'uint256',
3980
+ type: 'uint256',
3981
+ },
3982
+ {
3983
+ name: 'settlementToMaker',
3984
+ internalType: 'uint256',
3985
+ type: 'uint256',
3986
+ },
3987
+ ],
3988
+ },
3989
+ ],
3990
+ stateMutability: 'view',
3991
+ },
3992
+ {
3993
+ type: 'function',
3994
+ inputs: [],
3995
+ name: 'layerType',
3996
+ outputs: [
3997
+ { name: '', internalType: 'enum SettlementLayerType', type: 'uint8' },
3998
+ ],
3999
+ stateMutability: 'pure',
4000
+ },
4001
+ { type: 'error', inputs: [], name: 'BorrowNotSupported' },
4002
+ { type: 'error', inputs: [], name: 'CollateralAmountZero' },
4003
+ { type: 'error', inputs: [], name: 'NoClaimsOutstanding' },
4004
+ { type: 'error', inputs: [], name: 'PartialExerciseNotAllowed' },
4005
+ { type: 'error', inputs: [], name: 'RedeemExceedsClaimSupply' },
4006
+ ];
4007
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4008
+ // PhysicalSettlementFactory
4009
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4010
+ /**
4011
+ *
4012
+ */
4013
+ exports.physicalSettlementFactoryAbi = [
4014
+ {
4015
+ type: 'function',
4016
+ inputs: [
4017
+ { name: 'mode', internalType: 'enum ExerciseMode', type: 'uint8' },
4018
+ ],
4019
+ name: 'deploy',
4020
+ outputs: [
4021
+ {
4022
+ name: 'layer',
4023
+ internalType: 'contract PhysicalSettlement',
4024
+ type: 'address',
4025
+ },
4026
+ ],
4027
+ stateMutability: 'nonpayable',
4028
+ },
4029
+ {
4030
+ type: 'function',
4031
+ inputs: [
4032
+ { name: 'mode', internalType: 'enum ExerciseMode', type: 'uint8' },
4033
+ ],
4034
+ name: 'initCodeHash',
4035
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
4036
+ stateMutability: 'pure',
4037
+ },
4038
+ {
4039
+ type: 'function',
4040
+ inputs: [
4041
+ { name: 'mode', internalType: 'enum ExerciseMode', type: 'uint8' },
4042
+ ],
4043
+ name: 'isDeployed',
4044
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
4045
+ stateMutability: 'view',
4046
+ },
4047
+ {
4048
+ type: 'function',
4049
+ inputs: [
4050
+ { name: 'mode', internalType: 'enum ExerciseMode', type: 'uint8' },
4051
+ ],
4052
+ name: 'predictAddress',
4053
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
4054
+ stateMutability: 'view',
4055
+ },
4056
+ {
4057
+ type: 'function',
4058
+ inputs: [
4059
+ { name: 'mode', internalType: 'enum ExerciseMode', type: 'uint8' },
4060
+ ],
4061
+ name: 'saltFor',
4062
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
4063
+ stateMutability: 'pure',
4064
+ },
4065
+ {
4066
+ type: 'event',
4067
+ anonymous: false,
4068
+ inputs: [
4069
+ {
4070
+ name: 'layer',
4071
+ internalType: 'address',
4072
+ type: 'address',
4073
+ indexed: true,
4074
+ },
4075
+ {
4076
+ name: 'mode',
4077
+ internalType: 'enum ExerciseMode',
4078
+ type: 'uint8',
4079
+ indexed: true,
4080
+ },
4081
+ ],
4082
+ name: 'PhysicalSettlementDeployed',
4083
+ },
4084
+ { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },
4085
+ { type: 'error', inputs: [], name: 'FailedDeployment' },
4086
+ {
4087
+ type: 'error',
4088
+ inputs: [
4089
+ { name: 'balance', internalType: 'uint256', type: 'uint256' },
4090
+ { name: 'needed', internalType: 'uint256', type: 'uint256' },
4091
+ ],
4092
+ name: 'InsufficientBalance',
4093
+ },
4094
+ ];
4095
+ /**
4096
+ *
4097
+ */
4098
+ exports.physicalSettlementFactoryAddress = {
4099
+ 31337: '0xA40485DC03E63943C87C2621A1961025a92A1dEb',
4100
+ };
4101
+ /**
4102
+ *
4103
+ */
4104
+ exports.physicalSettlementFactoryConfig = {
4105
+ address: exports.physicalSettlementFactoryAddress,
4106
+ abi: exports.physicalSettlementFactoryAbi,
4107
+ };
4108
+ //# sourceMappingURL=abis.js.map