@zoralabs/limit-orders 0.2.1 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.abi-stability +70 -0
- package/.turbo/turbo-build$colon$js.log +50 -51
- package/CHANGELOG.md +35 -0
- package/abis/ISetLimitOrderConfig.json +27 -0
- package/abis/{SimpleAccessManaged.json → Ownable.json} +29 -10
- package/abis/Ownable2Step.json +115 -0
- package/abis/PermittedCallers.json +181 -0
- package/abis/SwapWithLimitOrders.json +116 -3
- package/abis/ZoraLimitOrderBook.json +159 -35
- package/cache/solidity-files-cache.json +1 -1
- package/dist/index.cjs +191 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +191 -27
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +217 -32
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/out/BalanceDelta.sol/BalanceDeltaLibrary.json +1 -1
- package/out/BeforeSwapDelta.sol/BeforeSwapDeltaLibrary.json +1 -1
- package/out/BitMath.sol/BitMath.json +1 -1
- package/out/BytesLib.sol/BytesLib.json +1 -1
- package/out/CoinCommon.sol/CoinCommon.json +1 -1
- package/out/CoinConfigurationVersions.sol/CoinConfigurationVersions.json +1 -1
- package/out/CoinConstants.sol/CoinConstants.json +1 -1
- package/out/Context.sol/Context.json +1 -1
- package/out/Currency.sol/CurrencyLibrary.json +1 -1
- package/out/CurrencyReserves.sol/CurrencyReserves.json +1 -1
- package/out/CustomRevert.sol/CustomRevert.json +1 -1
- package/out/DopplerMath.sol/DopplerMath.json +1 -1
- package/out/FixedPoint128.sol/FixedPoint128.json +1 -1
- package/out/FixedPoint96.sol/FixedPoint96.json +1 -1
- package/out/FullMath.sol/FullMath.json +1 -1
- package/out/IAllowanceTransfer.sol/IAllowanceTransfer.json +1 -1
- package/out/ICoin.sol/ICoin.json +1 -1
- package/out/ICoin.sol/IHasCoinType.json +1 -1
- package/out/ICoin.sol/IHasPoolKey.json +1 -1
- package/out/ICoin.sol/IHasSwapPath.json +1 -1
- package/out/ICoin.sol/IHasTotalSupplyForPositions.json +1 -1
- package/out/IDeployedCoinVersionLookup.sol/IDeployedCoinVersionLookup.json +1 -1
- package/out/IDopplerErrors.sol/IDopplerErrors.json +1 -1
- package/out/IEIP712.sol/IEIP712.json +1 -1
- package/out/IERC1363.sol/IERC1363.json +1 -1
- package/out/IERC165.sol/IERC165.json +1 -1
- package/out/IERC20.sol/IERC20.json +1 -1
- package/out/IERC20Minimal.sol/IERC20Minimal.json +1 -1
- package/out/IERC6909Claims.sol/IERC6909Claims.json +1 -1
- package/out/IERC7572.sol/IERC7572.json +1 -1
- package/out/IExtsload.sol/IExtsload.json +1 -1
- package/out/IExttload.sol/IExttload.json +1 -1
- package/out/IHasRewardsRecipients.sol/IHasRewardsRecipients.json +1 -1
- package/out/IHooks.sol/IHooks.json +1 -1
- package/out/IMsgSender.sol/IMsgSender.json +1 -1
- package/out/IPoolManager.sol/IPoolManager.json +1 -1
- package/out/IProtocolFees.sol/IProtocolFees.json +1 -1
- package/out/ISetLimitOrderConfig.sol/ISetLimitOrderConfig.json +1 -0
- package/out/ISupportsLimitOrderFill.sol/ISupportsLimitOrderFill.json +1 -1
- package/out/ISwapPathRouter.sol/ISwapPathRouter.json +1 -1
- package/out/ISwapRouter.sol/ISwapRouter.json +1 -1
- package/out/IUniswapV3SwapCallback.sol/IUniswapV3SwapCallback.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4Hook.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4HookWithUpdateableFee.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableV4Hook.json +1 -1
- package/out/IWETH.sol/IWETH.json +1 -1
- package/out/IZoraHookRegistry.sol/IZoraHookRegistry.json +1 -1
- package/out/IZoraLimitOrderBook.sol/IZoraLimitOrderBook.json +1 -1
- package/out/IZoraLimitOrderBookCoinsInterface.sol/IZoraLimitOrderBookCoinsInterface.json +1 -1
- package/out/IZoraV4CoinHook.sol/IZoraV4CoinHook.json +1 -1
- package/out/LimitOrderBitmap.sol/LimitOrderBitmap.json +1 -1
- package/out/LimitOrderCommon.sol/LimitOrderCommon.json +1 -1
- package/out/LimitOrderCreate.sol/LimitOrderCreate.json +1 -1
- package/out/LimitOrderFill.sol/LimitOrderFill.json +1 -1
- package/out/LimitOrderLiquidity.sol/LimitOrderLiquidity.json +1 -1
- package/out/LimitOrderViews.sol/LimitOrderViews.json +1 -1
- package/out/LimitOrderWithdraw.sol/LimitOrderWithdraw.json +1 -1
- package/out/LiquidityAmounts.sol/LiquidityAmounts.json +1 -1
- package/out/LiquidityMath.sol/LiquidityMath.json +1 -1
- package/out/Lock.sol/Lock.json +1 -1
- package/out/NonzeroDeltaCount.sol/NonzeroDeltaCount.json +1 -1
- package/out/Ownable.sol/Ownable.json +1 -0
- package/out/Ownable2Step.sol/Ownable2Step.json +1 -0
- package/out/Path.sol/Path.json +1 -1
- package/out/PathKey.sol/PathKeyLibrary.json +1 -1
- package/out/PermittedCallers.sol/PermittedCallers.json +1 -0
- package/out/PoolId.sol/PoolIdLibrary.json +1 -1
- package/out/Position.sol/Position.json +1 -1
- package/out/SafeCast.sol/SafeCast.json +1 -1
- package/out/SafeCast160.sol/SafeCast160.json +1 -1
- package/out/SafeERC20.sol/SafeERC20.json +1 -1
- package/out/SqrtPriceMath.sol/SqrtPriceMath.json +1 -1
- package/out/StateLibrary.sol/StateLibrary.json +1 -1
- package/out/SwapLimitOrders.sol/SwapLimitOrders.json +1 -1
- package/out/SwapWithLimitOrders.sol/SwapWithLimitOrders.json +1 -1
- package/out/TickBitmap.sol/TickBitmap.json +1 -1
- package/out/TickMath.sol/TickMath.json +1 -1
- package/out/TransientSlot.sol/TransientSlot.json +1 -1
- package/out/TransientStateLibrary.sol/TransientStateLibrary.json +1 -1
- package/out/UniV4SwapToCurrency.sol/UniV4SwapToCurrency.json +1 -1
- package/out/UnsafeMath.sol/UnsafeMath.json +1 -1
- package/out/V3ToV4SwapLib.sol/V3ToV4SwapLib.json +1 -1
- package/out/ZoraLimitOrderBook.sol/ZoraLimitOrderBook.json +1 -1
- package/out/build-info/68b2e124c4a02a45.json +1 -0
- package/out/uniswap/BitMath.sol/BitMath.json +1 -1
- package/out/uniswap/CustomRevert.sol/CustomRevert.json +1 -1
- package/out/uniswap/FullMath.sol/FullMath.json +1 -1
- package/out/uniswap/SafeCast.sol/SafeCast.json +1 -1
- package/out/uniswap/TickMath.sol/TickMath.json +1 -1
- package/package/wagmiGenerated.ts +190 -26
- package/package.json +4 -2
- package/src/IZoraLimitOrderBook.sol +3 -5
- package/src/ZoraLimitOrderBook.sol +14 -45
- package/src/access/PermittedCallers.sol +45 -0
- package/src/libs/LimitOrderBitmap.sol +0 -1
- package/src/libs/LimitOrderCommon.sol +14 -0
- package/src/libs/LimitOrderCreate.sol +6 -0
- package/src/libs/LimitOrderFill.sol +3 -20
- package/src/libs/LimitOrderLiquidity.sol +61 -38
- package/src/libs/LimitOrderWithdraw.sol +2 -6
- package/src/libs/SwapLimitOrders.sol +13 -7
- package/src/router/ISetLimitOrderConfig.sol +12 -0
- package/src/router/SwapWithLimitOrders.sol +9 -9
- package/test/LimitOrderAccessControl.t.sol +173 -156
- package/test/LimitOrderFill.t.sol +0 -5
- package/test/LimitOrderLiquidityPayouts.t.sol +14 -14
- package/test/SwapWithLimitOrders.t.sol +0 -2
- package/test/SwapWithLimitOrdersRouter.t.sol +4 -2
- package/test/gas/LimitOrderFillGas.t.sol +0 -7
- package/test/gas/LimitOrderSwapGas.t.sol +0 -6
- package/test/unit/LimitOrderCreateUnit.t.sol +17 -17
- package/test/unit/SwapLimitOrdersUnit.t.sol +49 -88
- package/test/unit/SwapLimitOrdersValidation.t.sol +11 -19
- package/test/utils/BaseTest.sol +8 -17
- package/test/utils/TestableZoraLimitOrderBook.sol +2 -2
- package/abis/IAuthority.json +0 -31
- package/abis/SimpleAccessManager.json +0 -351
- package/out/IAuthority.sol/IAuthority.json +0 -1
- package/out/SimpleAccessManaged.sol/SimpleAccessManaged.json +0 -1
- package/out/SimpleAccessManager.sol/SimpleAccessManager.json +0 -1
- package/out/build-info/876cc09bc44cc8a7.json +0 -1
- package/src/access/SimpleAccessManaged.sol +0 -76
- package/src/access/SimpleAccessManager.sol +0 -268
- package/test/SimpleAccessManager.t.sol +0 -420
package/dist/index.js
CHANGED
|
@@ -45,11 +45,19 @@ var swapWithLimitOrdersABI = [
|
|
|
45
45
|
internalType: "contract ISwapRouter",
|
|
46
46
|
type: "address"
|
|
47
47
|
},
|
|
48
|
-
{ name: "permit2_", internalType: "address", type: "address" }
|
|
48
|
+
{ name: "permit2_", internalType: "address", type: "address" },
|
|
49
|
+
{ name: "owner_", internalType: "address", type: "address" }
|
|
49
50
|
],
|
|
50
51
|
stateMutability: "nonpayable"
|
|
51
52
|
},
|
|
52
53
|
{ type: "receive", stateMutability: "payable" },
|
|
54
|
+
{
|
|
55
|
+
type: "function",
|
|
56
|
+
inputs: [],
|
|
57
|
+
name: "acceptOwnership",
|
|
58
|
+
outputs: [],
|
|
59
|
+
stateMutability: "nonpayable"
|
|
60
|
+
},
|
|
53
61
|
{
|
|
54
62
|
type: "function",
|
|
55
63
|
inputs: [],
|
|
@@ -74,6 +82,20 @@ var swapWithLimitOrdersABI = [
|
|
|
74
82
|
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
75
83
|
stateMutability: "view"
|
|
76
84
|
},
|
|
85
|
+
{
|
|
86
|
+
type: "function",
|
|
87
|
+
inputs: [],
|
|
88
|
+
name: "owner",
|
|
89
|
+
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
90
|
+
stateMutability: "view"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: "function",
|
|
94
|
+
inputs: [],
|
|
95
|
+
name: "pendingOwner",
|
|
96
|
+
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
97
|
+
stateMutability: "view"
|
|
98
|
+
},
|
|
77
99
|
{
|
|
78
100
|
type: "function",
|
|
79
101
|
inputs: [],
|
|
@@ -83,6 +105,13 @@ var swapWithLimitOrdersABI = [
|
|
|
83
105
|
],
|
|
84
106
|
stateMutability: "view"
|
|
85
107
|
},
|
|
108
|
+
{
|
|
109
|
+
type: "function",
|
|
110
|
+
inputs: [],
|
|
111
|
+
name: "renounceOwnership",
|
|
112
|
+
outputs: [],
|
|
113
|
+
stateMutability: "nonpayable"
|
|
114
|
+
},
|
|
86
115
|
{
|
|
87
116
|
type: "function",
|
|
88
117
|
inputs: [
|
|
@@ -162,6 +191,13 @@ var swapWithLimitOrdersABI = [
|
|
|
162
191
|
outputs: [{ name: "delta", internalType: "BalanceDelta", type: "int256" }],
|
|
163
192
|
stateMutability: "payable"
|
|
164
193
|
},
|
|
194
|
+
{
|
|
195
|
+
type: "function",
|
|
196
|
+
inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
|
|
197
|
+
name: "transferOwnership",
|
|
198
|
+
outputs: [],
|
|
199
|
+
stateMutability: "nonpayable"
|
|
200
|
+
},
|
|
165
201
|
{
|
|
166
202
|
type: "function",
|
|
167
203
|
inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
|
|
@@ -201,6 +237,44 @@ var swapWithLimitOrdersABI = [
|
|
|
201
237
|
],
|
|
202
238
|
name: "LimitOrderConfigUpdated"
|
|
203
239
|
},
|
|
240
|
+
{
|
|
241
|
+
type: "event",
|
|
242
|
+
anonymous: false,
|
|
243
|
+
inputs: [
|
|
244
|
+
{
|
|
245
|
+
name: "previousOwner",
|
|
246
|
+
internalType: "address",
|
|
247
|
+
type: "address",
|
|
248
|
+
indexed: true
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "newOwner",
|
|
252
|
+
internalType: "address",
|
|
253
|
+
type: "address",
|
|
254
|
+
indexed: true
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
name: "OwnershipTransferStarted"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
type: "event",
|
|
261
|
+
anonymous: false,
|
|
262
|
+
inputs: [
|
|
263
|
+
{
|
|
264
|
+
name: "previousOwner",
|
|
265
|
+
internalType: "address",
|
|
266
|
+
type: "address",
|
|
267
|
+
indexed: true
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: "newOwner",
|
|
271
|
+
internalType: "address",
|
|
272
|
+
type: "address",
|
|
273
|
+
indexed: true
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
name: "OwnershipTransferred"
|
|
277
|
+
},
|
|
204
278
|
{
|
|
205
279
|
type: "event",
|
|
206
280
|
anonymous: false,
|
|
@@ -289,8 +363,17 @@ var swapWithLimitOrdersABI = [
|
|
|
289
363
|
{ type: "error", inputs: [], name: "InvalidMultiple" },
|
|
290
364
|
{ type: "error", inputs: [], name: "InvalidPercent" },
|
|
291
365
|
{ type: "error", inputs: [], name: "LengthMismatch" },
|
|
292
|
-
{ type: "error", inputs: [], name: "OnlyAuthority" },
|
|
293
366
|
{ type: "error", inputs: [], name: "OnlyPoolManager" },
|
|
367
|
+
{
|
|
368
|
+
type: "error",
|
|
369
|
+
inputs: [{ name: "owner", internalType: "address", type: "address" }],
|
|
370
|
+
name: "OwnableInvalidOwner"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
type: "error",
|
|
374
|
+
inputs: [{ name: "account", internalType: "address", type: "address" }],
|
|
375
|
+
name: "OwnableUnauthorizedAccount"
|
|
376
|
+
},
|
|
294
377
|
{ type: "error", inputs: [], name: "PercentOverflow" },
|
|
295
378
|
{
|
|
296
379
|
type: "error",
|
|
@@ -312,7 +395,7 @@ var zoraLimitOrderBookABI = [
|
|
|
312
395
|
type: "address"
|
|
313
396
|
},
|
|
314
397
|
{ name: "zoraHookRegistry_", internalType: "address", type: "address" },
|
|
315
|
-
{ name: "
|
|
398
|
+
{ name: "owner_", internalType: "address", type: "address" },
|
|
316
399
|
{ name: "weth_", internalType: "address", type: "address" }
|
|
317
400
|
],
|
|
318
401
|
stateMutability: "nonpayable"
|
|
@@ -321,9 +404,9 @@ var zoraLimitOrderBookABI = [
|
|
|
321
404
|
{
|
|
322
405
|
type: "function",
|
|
323
406
|
inputs: [],
|
|
324
|
-
name: "
|
|
325
|
-
outputs: [
|
|
326
|
-
stateMutability: "
|
|
407
|
+
name: "acceptOwnership",
|
|
408
|
+
outputs: [],
|
|
409
|
+
stateMutability: "nonpayable"
|
|
327
410
|
},
|
|
328
411
|
{
|
|
329
412
|
type: "function",
|
|
@@ -425,6 +508,27 @@ var zoraLimitOrderBookABI = [
|
|
|
425
508
|
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
|
|
426
509
|
stateMutability: "view"
|
|
427
510
|
},
|
|
511
|
+
{
|
|
512
|
+
type: "function",
|
|
513
|
+
inputs: [{ name: "caller", internalType: "address", type: "address" }],
|
|
514
|
+
name: "isPermittedCaller",
|
|
515
|
+
outputs: [{ name: "", internalType: "bool", type: "bool" }],
|
|
516
|
+
stateMutability: "view"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
type: "function",
|
|
520
|
+
inputs: [],
|
|
521
|
+
name: "owner",
|
|
522
|
+
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
523
|
+
stateMutability: "view"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
type: "function",
|
|
527
|
+
inputs: [],
|
|
528
|
+
name: "pendingOwner",
|
|
529
|
+
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
530
|
+
stateMutability: "view"
|
|
531
|
+
},
|
|
428
532
|
{
|
|
429
533
|
type: "function",
|
|
430
534
|
inputs: [],
|
|
@@ -436,10 +540,8 @@ var zoraLimitOrderBookABI = [
|
|
|
436
540
|
},
|
|
437
541
|
{
|
|
438
542
|
type: "function",
|
|
439
|
-
inputs: [
|
|
440
|
-
|
|
441
|
-
],
|
|
442
|
-
name: "setAuthority",
|
|
543
|
+
inputs: [],
|
|
544
|
+
name: "renounceOwnership",
|
|
443
545
|
outputs: [],
|
|
444
546
|
stateMutability: "nonpayable"
|
|
445
547
|
},
|
|
@@ -452,6 +554,23 @@ var zoraLimitOrderBookABI = [
|
|
|
452
554
|
outputs: [],
|
|
453
555
|
stateMutability: "nonpayable"
|
|
454
556
|
},
|
|
557
|
+
{
|
|
558
|
+
type: "function",
|
|
559
|
+
inputs: [
|
|
560
|
+
{ name: "callers", internalType: "address[]", type: "address[]" },
|
|
561
|
+
{ name: "permitted", internalType: "bool[]", type: "bool[]" }
|
|
562
|
+
],
|
|
563
|
+
name: "setPermittedCallers",
|
|
564
|
+
outputs: [],
|
|
565
|
+
stateMutability: "nonpayable"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
type: "function",
|
|
569
|
+
inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
|
|
570
|
+
name: "transferOwnership",
|
|
571
|
+
outputs: [],
|
|
572
|
+
stateMutability: "nonpayable"
|
|
573
|
+
},
|
|
455
574
|
{
|
|
456
575
|
type: "function",
|
|
457
576
|
inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
|
|
@@ -500,19 +619,6 @@ var zoraLimitOrderBookABI = [
|
|
|
500
619
|
],
|
|
501
620
|
stateMutability: "view"
|
|
502
621
|
},
|
|
503
|
-
{
|
|
504
|
-
type: "event",
|
|
505
|
-
anonymous: false,
|
|
506
|
-
inputs: [
|
|
507
|
-
{
|
|
508
|
-
name: "authority",
|
|
509
|
-
internalType: "address",
|
|
510
|
-
type: "address",
|
|
511
|
-
indexed: false
|
|
512
|
-
}
|
|
513
|
-
],
|
|
514
|
-
name: "AuthorityUpdated"
|
|
515
|
-
},
|
|
516
622
|
{
|
|
517
623
|
type: "event",
|
|
518
624
|
anonymous: false,
|
|
@@ -691,13 +797,60 @@ var zoraLimitOrderBookABI = [
|
|
|
691
797
|
name: "MakerBalanceUpdated"
|
|
692
798
|
},
|
|
693
799
|
{
|
|
694
|
-
type: "
|
|
695
|
-
|
|
696
|
-
|
|
800
|
+
type: "event",
|
|
801
|
+
anonymous: false,
|
|
802
|
+
inputs: [
|
|
803
|
+
{
|
|
804
|
+
name: "previousOwner",
|
|
805
|
+
internalType: "address",
|
|
806
|
+
type: "address",
|
|
807
|
+
indexed: true
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
name: "newOwner",
|
|
811
|
+
internalType: "address",
|
|
812
|
+
type: "address",
|
|
813
|
+
indexed: true
|
|
814
|
+
}
|
|
815
|
+
],
|
|
816
|
+
name: "OwnershipTransferStarted"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
type: "event",
|
|
820
|
+
anonymous: false,
|
|
821
|
+
inputs: [
|
|
822
|
+
{
|
|
823
|
+
name: "previousOwner",
|
|
824
|
+
internalType: "address",
|
|
825
|
+
type: "address",
|
|
826
|
+
indexed: true
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
name: "newOwner",
|
|
830
|
+
internalType: "address",
|
|
831
|
+
type: "address",
|
|
832
|
+
indexed: true
|
|
833
|
+
}
|
|
834
|
+
],
|
|
835
|
+
name: "OwnershipTransferred"
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
type: "event",
|
|
839
|
+
anonymous: false,
|
|
840
|
+
inputs: [
|
|
841
|
+
{
|
|
842
|
+
name: "caller",
|
|
843
|
+
internalType: "address",
|
|
844
|
+
type: "address",
|
|
845
|
+
indexed: true
|
|
846
|
+
},
|
|
847
|
+
{ name: "permitted", internalType: "bool", type: "bool", indexed: false }
|
|
848
|
+
],
|
|
849
|
+
name: "PermittedCallerUpdated"
|
|
697
850
|
},
|
|
698
|
-
{ type: "error", inputs: [], name: "AccessManagedUnauthorized" },
|
|
699
851
|
{ type: "error", inputs: [], name: "AddressZero" },
|
|
700
852
|
{ type: "error", inputs: [], name: "ArrayLengthMismatch" },
|
|
853
|
+
{ type: "error", inputs: [], name: "CallerNotPermitted" },
|
|
701
854
|
{
|
|
702
855
|
type: "error",
|
|
703
856
|
inputs: [
|
|
@@ -735,7 +888,18 @@ var zoraLimitOrderBookABI = [
|
|
|
735
888
|
{ type: "error", inputs: [], name: "OrderClosed" },
|
|
736
889
|
{ type: "error", inputs: [], name: "OrderFillable" },
|
|
737
890
|
{ type: "error", inputs: [], name: "OrderNotMaker" },
|
|
891
|
+
{
|
|
892
|
+
type: "error",
|
|
893
|
+
inputs: [{ name: "owner", internalType: "address", type: "address" }],
|
|
894
|
+
name: "OwnableInvalidOwner"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
type: "error",
|
|
898
|
+
inputs: [{ name: "account", internalType: "address", type: "address" }],
|
|
899
|
+
name: "OwnableUnauthorizedAccount"
|
|
900
|
+
},
|
|
738
901
|
{ type: "error", inputs: [], name: "PathMustHaveAtLeastOneStep" },
|
|
902
|
+
{ type: "error", inputs: [], name: "PermittedCallersLengthMismatch" },
|
|
739
903
|
{ type: "error", inputs: [], name: "RouterMsgSenderInvalid" },
|
|
740
904
|
{ type: "error", inputs: [], name: "UnknownCallback" },
|
|
741
905
|
{ type: "error", inputs: [], name: "UnlockedFillNotAllowed" },
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package/wagmiGenerated.ts"],"sourcesContent":["//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IZoraLimitOrderBookCoinsInterface\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iZoraLimitOrderBookCoinsInterfaceABI = [\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SwapWithLimitOrders\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const swapWithLimitOrdersABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: 'poolManager_',\n internalType: 'contract IPoolManager',\n type: 'address',\n },\n {\n name: 'zoraLimitOrderBook_',\n internalType: 'contract IZoraLimitOrderBook',\n type: 'address',\n },\n {\n name: 'swapRouter_',\n internalType: 'contract ISwapRouter',\n type: 'address',\n },\n { name: 'permit2_', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'getLimitOrderConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n { name: 'multiples', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'percentages', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'msgSender',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'poolManager',\n outputs: [\n { name: '', internalType: 'contract IPoolManager', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n { name: 'multiples', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'percentages', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n ],\n name: 'setLimitOrderConfig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'swapRouter',\n outputs: [\n { name: '', internalType: 'contract ISwapRouter', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'params',\n internalType: 'struct SwapWithLimitOrders.SwapWithLimitOrdersParams',\n type: 'tuple',\n components: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n {\n name: 'limitOrderConfig',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n {\n name: 'multiples',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n {\n name: 'percentages',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n },\n { name: 'inputCurrency', internalType: 'address', type: 'address' },\n { name: 'inputAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'v3Route', internalType: 'bytes', type: 'bytes' },\n {\n name: 'v4Route',\n internalType: 'struct PoolKey[]',\n type: 'tuple[]',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n {\n name: 'hooks',\n internalType: 'contract IHooks',\n type: 'address',\n },\n ],\n },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'swapWithLimitOrders',\n outputs: [{ name: 'delta', internalType: 'BalanceDelta', type: 'int256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'unlockCallback',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraLimitOrderBook',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraLimitOrderBook',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'multiples',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'percentages',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'LimitOrderConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'poolKey',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n indexed: false,\n },\n {\n name: 'tickBeforeSwap',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'tickAfterSwap',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'amount0',\n internalType: 'int128',\n type: 'int128',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'int128',\n type: 'int128',\n indexed: false,\n },\n {\n name: 'sqrtPriceX96',\n internalType: 'uint160',\n type: 'uint160',\n indexed: false,\n },\n {\n name: 'orders',\n internalType: 'struct SwapWithLimitOrders.CreatedOrder[]',\n type: 'tuple[]',\n components: [\n { name: 'orderId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'multiple', internalType: 'uint256', type: 'uint256' },\n { name: 'percentage', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'SwapWithLimitOrdersExecuted',\n },\n { type: 'error', inputs: [], name: 'EmptyV4Route' },\n {\n type: 'error',\n inputs: [\n { name: 'inputAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'availableAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientInputCurrency',\n },\n { type: 'error', inputs: [], name: 'InsufficientOutputAmount' },\n { type: 'error', inputs: [], name: 'InsufficientTransferFunds' },\n { type: 'error', inputs: [], name: 'InvalidLimitOrderConfig' },\n { type: 'error', inputs: [], name: 'InvalidMultiple' },\n { type: 'error', inputs: [], name: 'InvalidPercent' },\n { type: 'error', inputs: [], name: 'LengthMismatch' },\n { type: 'error', inputs: [], name: 'OnlyAuthority' },\n { type: 'error', inputs: [], name: 'OnlyPoolManager' },\n { type: 'error', inputs: [], name: 'PercentOverflow' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'UnsafeCast' },\n { type: 'error', inputs: [], name: 'V3RouteDoesNotConnectToV4RouteStart' },\n { type: 'error', inputs: [], name: 'ZeroSwapDelta' },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraLimitOrderBook\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const zoraLimitOrderBookABI = [\n {\n type: 'constructor',\n inputs: [\n { name: 'poolManager_', internalType: 'address', type: 'address' },\n {\n name: 'zoraCoinVersionLookup_',\n internalType: 'address',\n type: 'address',\n },\n { name: 'zoraHookRegistry_', internalType: 'address', type: 'address' },\n { name: 'authority_', internalType: 'address', type: 'address' },\n { name: 'weth_', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'authority',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'maker', internalType: 'address', type: 'address' },\n { name: 'coin', internalType: 'address', type: 'address' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'orderSizes', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'orderTicks', internalType: 'int24[]', type: 'int24[]' },\n { name: 'maker', internalType: 'address', type: 'address' },\n ],\n name: 'create',\n outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'batches',\n internalType: 'struct IZoraLimitOrderBook.OrderBatch[]',\n type: 'tuple[]',\n components: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n {\n name: 'hooks',\n internalType: 'contract IHooks',\n type: 'address',\n },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'orderIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n ],\n },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getMaxFillCount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'poolManager',\n outputs: [\n { name: '', internalType: 'contract IPoolManager', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newAuthority', internalType: 'address', type: 'address' },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setMaxFillCount',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'unlockCallback',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'weth',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'orderIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'coin', internalType: 'address', type: 'address' },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraCoinVersionLookup',\n outputs: [\n {\n name: '',\n internalType: 'contract IDeployedCoinVersionLookup',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraHookRegistry',\n outputs: [\n { name: '', internalType: 'contract IZoraHookRegistry', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'authority',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AuthorityUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCurrency0',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n {\n name: 'orderTick',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'currentTick',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'orderSize',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'LimitOrderCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'coinIn',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'coinOut',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'amountIn',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'amountOut',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'fillReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fillReferralAmount',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'tick', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'LimitOrderFilled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCurrency0',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n { name: 'tick', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'orderSize',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCancelled',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n ],\n name: 'LimitOrderUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'newBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'MakerBalanceUpdated',\n },\n {\n type: 'error',\n inputs: [{ name: 'authority', internalType: 'address', type: 'address' }],\n name: 'AccessManagedInvalidAuthority',\n },\n { type: 'error', inputs: [], name: 'AccessManagedUnauthorized' },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n {\n type: 'error',\n inputs: [\n { name: 'orderId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'expectedCoin', internalType: 'address', type: 'address' },\n { name: 'actualCoin', internalType: 'address', type: 'address' },\n ],\n name: 'CoinMismatch',\n },\n { type: 'error', inputs: [], name: 'InsufficientForwardedFunds' },\n { type: 'error', inputs: [], name: 'InsufficientTransferFunds' },\n {\n type: 'error',\n inputs: [\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n ],\n name: 'InvalidFillWindow',\n },\n { type: 'error', inputs: [], name: 'InvalidOrder' },\n { type: 'error', inputs: [], name: 'InvalidPoolKey' },\n { type: 'error', inputs: [], name: 'MaxFillCountCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'withdrawn', internalType: 'uint256', type: 'uint256' },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'MinAmountNotReached',\n },\n { type: 'error', inputs: [], name: 'NativeValueMismatch' },\n { type: 'error', inputs: [], name: 'NotPoolManager' },\n { type: 'error', inputs: [], name: 'OnlyZoraHook' },\n { type: 'error', inputs: [], name: 'OrderClosed' },\n { type: 'error', inputs: [], name: 'OrderFillable' },\n { type: 'error', inputs: [], name: 'OrderNotMaker' },\n { type: 'error', inputs: [], name: 'PathMustHaveAtLeastOneStep' },\n { type: 'error', inputs: [], name: 'RouterMsgSenderInvalid' },\n { type: 'error', inputs: [], name: 'UnknownCallback' },\n { type: 'error', inputs: [], name: 'UnlockedFillNotAllowed' },\n { type: 'error', inputs: [], name: 'WethTransferFailed' },\n { type: 'error', inputs: [], name: 'ZeroMaker' },\n { type: 'error', inputs: [], name: 'ZeroOrderSize' },\n { type: 'error', inputs: [], name: 'ZeroRealizedOrder' },\n] as const\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../package/wagmiGenerated.ts"],"sourcesContent":["//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IZoraLimitOrderBookCoinsInterface\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iZoraLimitOrderBookCoinsInterfaceABI = [\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SwapWithLimitOrders\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const swapWithLimitOrdersABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: 'poolManager_',\n internalType: 'contract IPoolManager',\n type: 'address',\n },\n {\n name: 'zoraLimitOrderBook_',\n internalType: 'contract IZoraLimitOrderBook',\n type: 'address',\n },\n {\n name: 'swapRouter_',\n internalType: 'contract ISwapRouter',\n type: 'address',\n },\n { name: 'permit2_', internalType: 'address', type: 'address' },\n { name: 'owner_', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getLimitOrderConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n { name: 'multiples', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'percentages', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'msgSender',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'poolManager',\n outputs: [\n { name: '', internalType: 'contract IPoolManager', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n { name: 'multiples', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'percentages', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n ],\n name: 'setLimitOrderConfig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'swapRouter',\n outputs: [\n { name: '', internalType: 'contract ISwapRouter', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'params',\n internalType: 'struct SwapWithLimitOrders.SwapWithLimitOrdersParams',\n type: 'tuple',\n components: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n {\n name: 'limitOrderConfig',\n internalType: 'struct LimitOrderConfig',\n type: 'tuple',\n components: [\n {\n name: 'multiples',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n {\n name: 'percentages',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n },\n { name: 'inputCurrency', internalType: 'address', type: 'address' },\n { name: 'inputAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'v3Route', internalType: 'bytes', type: 'bytes' },\n {\n name: 'v4Route',\n internalType: 'struct PoolKey[]',\n type: 'tuple[]',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n {\n name: 'hooks',\n internalType: 'contract IHooks',\n type: 'address',\n },\n ],\n },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'swapWithLimitOrders',\n outputs: [{ name: 'delta', internalType: 'BalanceDelta', type: 'int256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'unlockCallback',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraLimitOrderBook',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraLimitOrderBook',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'multiples',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'percentages',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'LimitOrderConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'poolKey',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n indexed: false,\n },\n {\n name: 'tickBeforeSwap',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'tickAfterSwap',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'amount0',\n internalType: 'int128',\n type: 'int128',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'int128',\n type: 'int128',\n indexed: false,\n },\n {\n name: 'sqrtPriceX96',\n internalType: 'uint160',\n type: 'uint160',\n indexed: false,\n },\n {\n name: 'orders',\n internalType: 'struct SwapWithLimitOrders.CreatedOrder[]',\n type: 'tuple[]',\n components: [\n { name: 'orderId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'multiple', internalType: 'uint256', type: 'uint256' },\n { name: 'percentage', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'SwapWithLimitOrdersExecuted',\n },\n { type: 'error', inputs: [], name: 'EmptyV4Route' },\n {\n type: 'error',\n inputs: [\n { name: 'inputAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'availableAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientInputCurrency',\n },\n { type: 'error', inputs: [], name: 'InsufficientOutputAmount' },\n { type: 'error', inputs: [], name: 'InsufficientTransferFunds' },\n { type: 'error', inputs: [], name: 'InvalidLimitOrderConfig' },\n { type: 'error', inputs: [], name: 'InvalidMultiple' },\n { type: 'error', inputs: [], name: 'InvalidPercent' },\n { type: 'error', inputs: [], name: 'LengthMismatch' },\n { type: 'error', inputs: [], name: 'OnlyPoolManager' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PercentOverflow' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'UnsafeCast' },\n { type: 'error', inputs: [], name: 'V3RouteDoesNotConnectToV4RouteStart' },\n { type: 'error', inputs: [], name: 'ZeroSwapDelta' },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraLimitOrderBook\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const zoraLimitOrderBookABI = [\n {\n type: 'constructor',\n inputs: [\n { name: 'poolManager_', internalType: 'address', type: 'address' },\n {\n name: 'zoraCoinVersionLookup_',\n internalType: 'address',\n type: 'address',\n },\n { name: 'zoraHookRegistry_', internalType: 'address', type: 'address' },\n { name: 'owner_', internalType: 'address', type: 'address' },\n { name: 'weth_', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'maker', internalType: 'address', type: 'address' },\n { name: 'coin', internalType: 'address', type: 'address' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'orderSizes', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'orderTicks', internalType: 'int24[]', type: 'int24[]' },\n { name: 'maker', internalType: 'address', type: 'address' },\n ],\n name: 'create',\n outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'batches',\n internalType: 'struct IZoraLimitOrderBook.OrderBatch[]',\n type: 'tuple[]',\n components: [\n {\n name: 'key',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n {\n name: 'hooks',\n internalType: 'contract IHooks',\n type: 'address',\n },\n ],\n },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n { name: 'orderIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n ],\n },\n { name: 'fillReferral', internalType: 'address', type: 'address' },\n ],\n name: 'fill',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getMaxFillCount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],\n name: 'isPermittedCaller',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'poolManager',\n outputs: [\n { name: '', internalType: 'contract IPoolManager', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'maxFillCount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setMaxFillCount',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'callers', internalType: 'address[]', type: 'address[]' },\n { name: 'permitted', internalType: 'bool[]', type: 'bool[]' },\n ],\n name: 'setPermittedCallers',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'unlockCallback',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'weth',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'orderIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'coin', internalType: 'address', type: 'address' },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraCoinVersionLookup',\n outputs: [\n {\n name: '',\n internalType: 'contract IDeployedCoinVersionLookup',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraHookRegistry',\n outputs: [\n { name: '', internalType: 'contract IZoraHookRegistry', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCurrency0',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n {\n name: 'orderTick',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'currentTick',\n internalType: 'int24',\n type: 'int24',\n indexed: false,\n },\n {\n name: 'orderSize',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'LimitOrderCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'coinIn',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'coinOut',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'amountIn',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'amountOut',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'fillReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fillReferralAmount',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'tick', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'LimitOrderFilled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'poolKeyHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCurrency0',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n { name: 'tick', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'orderSize',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'orderId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'isCancelled',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n ],\n name: 'LimitOrderUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'maker',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'coin', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'newBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'MakerBalanceUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'permitted', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'PermittedCallerUpdated',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotPermitted' },\n {\n type: 'error',\n inputs: [\n { name: 'orderId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'expectedCoin', internalType: 'address', type: 'address' },\n { name: 'actualCoin', internalType: 'address', type: 'address' },\n ],\n name: 'CoinMismatch',\n },\n { type: 'error', inputs: [], name: 'InsufficientForwardedFunds' },\n { type: 'error', inputs: [], name: 'InsufficientTransferFunds' },\n {\n type: 'error',\n inputs: [\n { name: 'startTick', internalType: 'int24', type: 'int24' },\n { name: 'endTick', internalType: 'int24', type: 'int24' },\n { name: 'isCurrency0', internalType: 'bool', type: 'bool' },\n ],\n name: 'InvalidFillWindow',\n },\n { type: 'error', inputs: [], name: 'InvalidOrder' },\n { type: 'error', inputs: [], name: 'InvalidPoolKey' },\n { type: 'error', inputs: [], name: 'MaxFillCountCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'withdrawn', internalType: 'uint256', type: 'uint256' },\n { name: 'minAmountOut', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'MinAmountNotReached',\n },\n { type: 'error', inputs: [], name: 'NativeValueMismatch' },\n { type: 'error', inputs: [], name: 'NotPoolManager' },\n { type: 'error', inputs: [], name: 'OnlyZoraHook' },\n { type: 'error', inputs: [], name: 'OrderClosed' },\n { type: 'error', inputs: [], name: 'OrderFillable' },\n { type: 'error', inputs: [], name: 'OrderNotMaker' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PathMustHaveAtLeastOneStep' },\n { type: 'error', inputs: [], name: 'PermittedCallersLengthMismatch' },\n { type: 'error', inputs: [], name: 'RouterMsgSenderInvalid' },\n { type: 'error', inputs: [], name: 'UnknownCallback' },\n { type: 'error', inputs: [], name: 'UnlockedFillNotAllowed' },\n { type: 'error', inputs: [], name: 'WethTransferFailed' },\n { type: 'error', inputs: [], name: 'ZeroMaker' },\n { type: 'error', inputs: [], name: 'ZeroOrderSize' },\n { type: 'error', inputs: [], name: 'ZeroRealizedOrder' },\n] as const\n"],"mappings":"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","names":[]}
|