@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/.abi-stability
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
=======================
|
|
2
|
+
👁👁 ABI STABILITY snapshot 👁👁
|
|
3
|
+
=======================
|
|
4
|
+
|
|
5
|
+
===============================
|
|
6
|
+
DEPRECATED FUNCTIONS
|
|
7
|
+
===============================
|
|
8
|
+
|
|
9
|
+
(none)
|
|
10
|
+
|
|
11
|
+
===============================
|
|
12
|
+
➡ IZoraLimitOrderBook
|
|
13
|
+
===============================
|
|
14
|
+
|
|
15
|
+
--- EVENTS ---
|
|
16
|
+
|
|
17
|
+
╭-------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╮
|
|
18
|
+
| Event | Topic |
|
|
19
|
+
+======================================================================================================================================================================+
|
|
20
|
+
| LimitOrderCreated(address,address,bytes32,bool,int24,int24,uint128,bytes32) | 0x36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a3 |
|
|
21
|
+
|-------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
22
|
+
| LimitOrderFilled(address,address,address,uint128,uint128,address,uint128,bytes32,int24,bytes32) | 0x59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a37 |
|
|
23
|
+
|-------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
24
|
+
| LimitOrderUpdated(address,address,bytes32,bool,int24,uint128,bytes32,bool) | 0x73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde |
|
|
25
|
+
|-------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
26
|
+
| MakerBalanceUpdated(address,address,uint256) | 0xa942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb |
|
|
27
|
+
╰-------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╯
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
--- FUNCTIONS ---
|
|
31
|
+
|
|
32
|
+
╭-------------------------------------------------------------------------------+------------╮
|
|
33
|
+
| Method | Identifier |
|
|
34
|
+
+============================================================================================+
|
|
35
|
+
| balanceOf(address,address) | f7888aec |
|
|
36
|
+
|-------------------------------------------------------------------------------+------------|
|
|
37
|
+
| create((address,address,uint24,int24,address),bool,uint256[],int24[],address) | eb07ed24 |
|
|
38
|
+
|-------------------------------------------------------------------------------+------------|
|
|
39
|
+
| fill(((address,address,uint24,int24,address),bool,bytes32[])[],address) | 7a9cf273 |
|
|
40
|
+
|-------------------------------------------------------------------------------+------------|
|
|
41
|
+
| fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address) | 5f8fbad6 |
|
|
42
|
+
|-------------------------------------------------------------------------------+------------|
|
|
43
|
+
| getMaxFillCount() | d8c31772 |
|
|
44
|
+
|-------------------------------------------------------------------------------+------------|
|
|
45
|
+
| setMaxFillCount(uint256) | c96d060b |
|
|
46
|
+
|-------------------------------------------------------------------------------+------------|
|
|
47
|
+
| withdraw(bytes32[],address,uint256,address) | c2ec68ea |
|
|
48
|
+
╰-------------------------------------------------------------------------------+------------╯
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
===============================
|
|
52
|
+
➡ ISetLimitOrderConfig
|
|
53
|
+
===============================
|
|
54
|
+
|
|
55
|
+
--- EVENTS ---
|
|
56
|
+
|
|
57
|
+
╭-------+-------╮
|
|
58
|
+
| Event | Topic |
|
|
59
|
+
+===============+
|
|
60
|
+
╰-------+-------╯
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
--- FUNCTIONS ---
|
|
64
|
+
|
|
65
|
+
╭--------------------------------------------+------------╮
|
|
66
|
+
| Method | Identifier |
|
|
67
|
+
+=========================================================+
|
|
68
|
+
| setLimitOrderConfig((uint256[],uint256[])) | 18ed2974 |
|
|
69
|
+
╰--------------------------------------------+------------╯
|
|
70
|
+
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
> @zoralabs/limit-orders@0.2.
|
|
2
|
+
> @zoralabs/limit-orders@0.2.4 build:js /home/runner/work/zora-protocol-private/zora-protocol-private/packages/limit-orders
|
|
3
3
|
> pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @zoralabs/limit-orders@0.2.
|
|
6
|
+
> @zoralabs/limit-orders@0.2.4 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/limit-orders
|
|
7
7
|
> pnpm run build:contracts:minimal && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
> @zoralabs/limit-orders@0.2.
|
|
10
|
+
> @zoralabs/limit-orders@0.2.4 build:contracts:minimal /home/runner/work/zora-protocol-private/zora-protocol-private/packages/limit-orders
|
|
11
11
|
> forge build src/ --no-metadata
|
|
12
12
|
|
|
13
|
-
Compiling
|
|
14
|
-
Solc 0.8.28 finished in
|
|
13
|
+
Compiling 93 files with Solc 0.8.28
|
|
14
|
+
Solc 0.8.28 finished in 7.24s
|
|
15
15
|
Compiler run successful!
|
|
16
16
|
[33m-[39m Validating plugins
|
|
17
17
|
[32m✔[39m Validating plugins
|
|
@@ -26,51 +26,50 @@ Compiler run successful!
|
|
|
26
26
|
✅ Updated ./package/wagmiGenerated.ts (3 replacements)
|
|
27
27
|
✨ All files processed successfully!
|
|
28
28
|
|
|
29
|
-
> @zoralabs/limit-orders@0.2.
|
|
29
|
+
> @zoralabs/limit-orders@0.2.4 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/limit-orders
|
|
30
30
|
> pnpm exec bundle-abis
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
> @zoralabs/limit-orders@0.2.
|
|
33
|
+
> @zoralabs/limit-orders@0.2.4 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/limit-orders
|
|
34
34
|
> prettier --write 'src/**/*.sol' 'test/**/*.sol'
|
|
35
35
|
|
|
36
|
-
src/access/
|
|
37
|
-
src/
|
|
38
|
-
src/
|
|
39
|
-
src/libs/
|
|
40
|
-
src/libs/
|
|
41
|
-
src/libs/
|
|
42
|
-
src/libs/
|
|
43
|
-
src/libs/
|
|
44
|
-
src/libs/
|
|
45
|
-
src/libs/
|
|
46
|
-
src/libs/
|
|
47
|
-
src/libs/
|
|
48
|
-
src/libs/
|
|
49
|
-
src/libs/
|
|
50
|
-
src/
|
|
51
|
-
src/router/SwapWithLimitOrders.sol
|
|
52
|
-
src/ZoraLimitOrderBook.sol
|
|
53
|
-
test/gas/LimitOrderFillGas.t.sol
|
|
54
|
-
test/gas/LimitOrderSwapGas.t.sol
|
|
55
|
-
test/LimitOrderAccessControl.t.sol
|
|
56
|
-
test/LimitOrderBitmap.t.sol
|
|
57
|
-
test/LimitOrderCreate.t.sol
|
|
58
|
-
test/LimitOrderFill.t.sol
|
|
59
|
-
test/LimitOrderLibraries.t.sol
|
|
60
|
-
test/LimitOrderLiquidityPayouts.t.sol
|
|
61
|
-
test/LimitOrderV4Pools.t.sol
|
|
62
|
-
test/LimitOrderWithdraw.t.sol
|
|
63
|
-
test/
|
|
64
|
-
test/
|
|
65
|
-
test/
|
|
66
|
-
test/unit/
|
|
67
|
-
test/unit/
|
|
68
|
-
test/unit/
|
|
69
|
-
test/unit/
|
|
70
|
-
test/
|
|
71
|
-
test/utils/
|
|
72
|
-
test/utils/
|
|
73
|
-
test/utils/TestableZoraLimitOrderBook.sol 37ms (unchanged)
|
|
36
|
+
src/access/PermittedCallers.sol 462ms (unchanged)
|
|
37
|
+
src/IZoraLimitOrderBook.sol 66ms (unchanged)
|
|
38
|
+
src/libs/LimitOrderBitmap.sol 64ms (unchanged)
|
|
39
|
+
src/libs/LimitOrderCommon.sol 249ms (unchanged)
|
|
40
|
+
src/libs/LimitOrderCreate.sol 402ms (unchanged)
|
|
41
|
+
src/libs/LimitOrderFill.sol 234ms (unchanged)
|
|
42
|
+
src/libs/LimitOrderLiquidity.sol 256ms (unchanged)
|
|
43
|
+
src/libs/LimitOrderQueues.sol 49ms (unchanged)
|
|
44
|
+
src/libs/LimitOrderStorage.sol 38ms (unchanged)
|
|
45
|
+
src/libs/LimitOrderTypes.sol 3ms (unchanged)
|
|
46
|
+
src/libs/LimitOrderViews.sol 105ms (unchanged)
|
|
47
|
+
src/libs/LimitOrderWithdraw.sol 109ms (unchanged)
|
|
48
|
+
src/libs/Permit2Payments.sol 18ms (unchanged)
|
|
49
|
+
src/libs/SwapLimitOrders.sol 163ms (unchanged)
|
|
50
|
+
src/router/ISetLimitOrderConfig.sol 1ms (unchanged)
|
|
51
|
+
src/router/SwapWithLimitOrders.sol 253ms (unchanged)
|
|
52
|
+
src/ZoraLimitOrderBook.sol 137ms (unchanged)
|
|
53
|
+
test/gas/LimitOrderFillGas.t.sol 859ms (unchanged)
|
|
54
|
+
test/gas/LimitOrderSwapGas.t.sol 306ms (unchanged)
|
|
55
|
+
test/LimitOrderAccessControl.t.sol 388ms (unchanged)
|
|
56
|
+
test/LimitOrderBitmap.t.sol 222ms (unchanged)
|
|
57
|
+
test/LimitOrderCreate.t.sol 389ms (unchanged)
|
|
58
|
+
test/LimitOrderFill.t.sol 1062ms (unchanged)
|
|
59
|
+
test/LimitOrderLibraries.t.sol 395ms (unchanged)
|
|
60
|
+
test/LimitOrderLiquidityPayouts.t.sol 442ms (unchanged)
|
|
61
|
+
test/LimitOrderV4Pools.t.sol 160ms (unchanged)
|
|
62
|
+
test/LimitOrderWithdraw.t.sol 691ms (unchanged)
|
|
63
|
+
test/SwapWithLimitOrders.t.sol 89ms (unchanged)
|
|
64
|
+
test/SwapWithLimitOrdersRouter.t.sol 631ms (unchanged)
|
|
65
|
+
test/unit/LimitOrderBitmapUnit.t.sol 91ms (unchanged)
|
|
66
|
+
test/unit/LimitOrderCreateUnit.t.sol 193ms (unchanged)
|
|
67
|
+
test/unit/SwapLimitOrdersUnit.t.sol 667ms (unchanged)
|
|
68
|
+
test/unit/SwapLimitOrdersValidation.t.sol 251ms (unchanged)
|
|
69
|
+
test/unit/SwapWithLimitOrdersUnit.t.sol 66ms (unchanged)
|
|
70
|
+
test/utils/BaseTest.sol 640ms (unchanged)
|
|
71
|
+
test/utils/MockWETH.sol 28ms (unchanged)
|
|
72
|
+
test/utils/TestableZoraLimitOrderBook.sol 40ms (unchanged)
|
|
74
73
|
[34mCLI[39m Building entry: package/index.ts
|
|
75
74
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
76
75
|
[34mCLI[39m tsup v8.4.0
|
|
@@ -79,9 +78,9 @@ test/utils/TestableZoraLimitOrderBook.sol 37ms (unchanged)
|
|
|
79
78
|
[34mCLI[39m Cleaning output folder
|
|
80
79
|
[34mCJS[39m Build start
|
|
81
80
|
[34mESM[39m Build start
|
|
82
|
-
[32mCJS[39m [1mdist/index.cjs [22m[
|
|
83
|
-
[32mCJS[39m [1mdist/index.cjs.map [22m[
|
|
84
|
-
[32mCJS[39m ⚡️ Build success in
|
|
85
|
-
[32mESM[39m [1mdist/index.js [22m[
|
|
86
|
-
[32mESM[39m [1mdist/index.js.map [22m[
|
|
87
|
-
[32mESM[39m ⚡️ Build success in
|
|
81
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m25.65 KB[39m
|
|
82
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m44.14 KB[39m
|
|
83
|
+
[32mCJS[39m ⚡️ Build success in 36ms
|
|
84
|
+
[32mESM[39m [1mdist/index.js [22m[32m24.48 KB[39m
|
|
85
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m44.03 KB[39m
|
|
86
|
+
[32mESM[39m ⚡️ Build success in 35ms
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @zoralabs/limit-orders
|
|
2
2
|
|
|
3
|
+
## 0.2.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3a8a5a05: Fixed infinite loop bug in batch fill when order hasn't crossed tick range
|
|
8
|
+
- 53957bf7: Skip order creation when swaps hit hard price boundaries using sqrt price sentinel checks.
|
|
9
|
+
|
|
10
|
+
## 0.2.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 98e02520: Fix dual positive deltas consolidation in burnAndRefund
|
|
15
|
+
|
|
16
|
+
- Consolidate payouts to single currency when burning limit orders with dual positive deltas
|
|
17
|
+
- Extract path-building logic into reusable `_buildSingleHopPath` helper function
|
|
18
|
+
- Ensure users receive proceeds in their original deposit currency by swapping counter-assets
|
|
19
|
+
- Align burnAndRefund behavior with burnAndPayout for consistent payout consolidation
|
|
20
|
+
|
|
21
|
+
- 91a82b2f: Fix withdraw crossed order check to use consistent logic with fills. The `hasCrossed` check for currency1 orders now uses strict `<` comparison instead of `<=`, preventing false positives at the tick boundary. Consolidated `hasCrossed` and `currentPoolTick` helpers into `LimitOrderCommon` for shared use across fill and withdraw paths.
|
|
22
|
+
- e9ffd038: Fix premature limit order fills due to Uniswap v4 tick boundary handling
|
|
23
|
+
|
|
24
|
+
Previously, limit orders for non-currency0 tokens could be filled prematurely when the current tick was exactly equal to the order's lower tick boundary. This fix ensures orders are only filled when the pool tick has fully crossed the order's range, preventing users from receiving fewer output tokens than intended.
|
|
25
|
+
|
|
26
|
+
## 0.2.2
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- bb2c2b76: Replace AccessManager with PermittedCallers + Ownable2Step for access control in ZoraLimitOrderBook and SwapWithLimitOrders contracts.
|
|
31
|
+
|
|
32
|
+
- Remove AccessManager and SimpleAccessManaged pattern
|
|
33
|
+
- Use OpenZeppelin Ownable2Step for two-step ownership transfer
|
|
34
|
+
- Add `permittedCallers` mapping to gate `create()` access (public by default, owner can restrict)
|
|
35
|
+
- Add `isPermittedCaller()` getter and `setPermittedCallers()` batch setter functions
|
|
36
|
+
- Owner (multisig) retains access to `setMaxFillCount()` and `setLimitOrderConfig()` functions
|
|
37
|
+
|
|
3
38
|
## 0.2.1
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "setLimitOrderConfig",
|
|
5
|
+
"inputs": [
|
|
6
|
+
{
|
|
7
|
+
"name": "config",
|
|
8
|
+
"type": "tuple",
|
|
9
|
+
"internalType": "struct LimitOrderConfig",
|
|
10
|
+
"components": [
|
|
11
|
+
{
|
|
12
|
+
"name": "multiples",
|
|
13
|
+
"type": "uint256[]",
|
|
14
|
+
"internalType": "uint256[]"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "percentages",
|
|
18
|
+
"type": "uint256[]",
|
|
19
|
+
"internalType": "uint256[]"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"outputs": [],
|
|
25
|
+
"stateMutability": "nonpayable"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"type": "function",
|
|
4
|
-
"name": "
|
|
4
|
+
"name": "owner",
|
|
5
5
|
"inputs": [],
|
|
6
6
|
"outputs": [
|
|
7
7
|
{
|
|
@@ -14,10 +14,17 @@
|
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"type": "function",
|
|
17
|
-
"name": "
|
|
17
|
+
"name": "renounceOwnership",
|
|
18
|
+
"inputs": [],
|
|
19
|
+
"outputs": [],
|
|
20
|
+
"stateMutability": "nonpayable"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "function",
|
|
24
|
+
"name": "transferOwnership",
|
|
18
25
|
"inputs": [
|
|
19
26
|
{
|
|
20
|
-
"name": "
|
|
27
|
+
"name": "newOwner",
|
|
21
28
|
"type": "address",
|
|
22
29
|
"internalType": "address"
|
|
23
30
|
}
|
|
@@ -27,12 +34,18 @@
|
|
|
27
34
|
},
|
|
28
35
|
{
|
|
29
36
|
"type": "event",
|
|
30
|
-
"name": "
|
|
37
|
+
"name": "OwnershipTransferred",
|
|
31
38
|
"inputs": [
|
|
32
39
|
{
|
|
33
|
-
"name": "
|
|
40
|
+
"name": "previousOwner",
|
|
34
41
|
"type": "address",
|
|
35
|
-
"indexed":
|
|
42
|
+
"indexed": true,
|
|
43
|
+
"internalType": "address"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "newOwner",
|
|
47
|
+
"type": "address",
|
|
48
|
+
"indexed": true,
|
|
36
49
|
"internalType": "address"
|
|
37
50
|
}
|
|
38
51
|
],
|
|
@@ -40,10 +53,10 @@
|
|
|
40
53
|
},
|
|
41
54
|
{
|
|
42
55
|
"type": "error",
|
|
43
|
-
"name": "
|
|
56
|
+
"name": "OwnableInvalidOwner",
|
|
44
57
|
"inputs": [
|
|
45
58
|
{
|
|
46
|
-
"name": "
|
|
59
|
+
"name": "owner",
|
|
47
60
|
"type": "address",
|
|
48
61
|
"internalType": "address"
|
|
49
62
|
}
|
|
@@ -51,7 +64,13 @@
|
|
|
51
64
|
},
|
|
52
65
|
{
|
|
53
66
|
"type": "error",
|
|
54
|
-
"name": "
|
|
55
|
-
"inputs": [
|
|
67
|
+
"name": "OwnableUnauthorizedAccount",
|
|
68
|
+
"inputs": [
|
|
69
|
+
{
|
|
70
|
+
"name": "account",
|
|
71
|
+
"type": "address",
|
|
72
|
+
"internalType": "address"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
56
75
|
}
|
|
57
76
|
]
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "acceptOwnership",
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"outputs": [],
|
|
7
|
+
"stateMutability": "nonpayable"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "function",
|
|
11
|
+
"name": "owner",
|
|
12
|
+
"inputs": [],
|
|
13
|
+
"outputs": [
|
|
14
|
+
{
|
|
15
|
+
"name": "",
|
|
16
|
+
"type": "address",
|
|
17
|
+
"internalType": "address"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"stateMutability": "view"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "function",
|
|
24
|
+
"name": "pendingOwner",
|
|
25
|
+
"inputs": [],
|
|
26
|
+
"outputs": [
|
|
27
|
+
{
|
|
28
|
+
"name": "",
|
|
29
|
+
"type": "address",
|
|
30
|
+
"internalType": "address"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"stateMutability": "view"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "function",
|
|
37
|
+
"name": "renounceOwnership",
|
|
38
|
+
"inputs": [],
|
|
39
|
+
"outputs": [],
|
|
40
|
+
"stateMutability": "nonpayable"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "function",
|
|
44
|
+
"name": "transferOwnership",
|
|
45
|
+
"inputs": [
|
|
46
|
+
{
|
|
47
|
+
"name": "newOwner",
|
|
48
|
+
"type": "address",
|
|
49
|
+
"internalType": "address"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"outputs": [],
|
|
53
|
+
"stateMutability": "nonpayable"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "event",
|
|
57
|
+
"name": "OwnershipTransferStarted",
|
|
58
|
+
"inputs": [
|
|
59
|
+
{
|
|
60
|
+
"name": "previousOwner",
|
|
61
|
+
"type": "address",
|
|
62
|
+
"indexed": true,
|
|
63
|
+
"internalType": "address"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "newOwner",
|
|
67
|
+
"type": "address",
|
|
68
|
+
"indexed": true,
|
|
69
|
+
"internalType": "address"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"anonymous": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "event",
|
|
76
|
+
"name": "OwnershipTransferred",
|
|
77
|
+
"inputs": [
|
|
78
|
+
{
|
|
79
|
+
"name": "previousOwner",
|
|
80
|
+
"type": "address",
|
|
81
|
+
"indexed": true,
|
|
82
|
+
"internalType": "address"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "newOwner",
|
|
86
|
+
"type": "address",
|
|
87
|
+
"indexed": true,
|
|
88
|
+
"internalType": "address"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"anonymous": false
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "error",
|
|
95
|
+
"name": "OwnableInvalidOwner",
|
|
96
|
+
"inputs": [
|
|
97
|
+
{
|
|
98
|
+
"name": "owner",
|
|
99
|
+
"type": "address",
|
|
100
|
+
"internalType": "address"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "error",
|
|
106
|
+
"name": "OwnableUnauthorizedAccount",
|
|
107
|
+
"inputs": [
|
|
108
|
+
{
|
|
109
|
+
"name": "account",
|
|
110
|
+
"type": "address",
|
|
111
|
+
"internalType": "address"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
]
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "acceptOwnership",
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"outputs": [],
|
|
7
|
+
"stateMutability": "nonpayable"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "function",
|
|
11
|
+
"name": "isPermittedCaller",
|
|
12
|
+
"inputs": [
|
|
13
|
+
{
|
|
14
|
+
"name": "caller",
|
|
15
|
+
"type": "address",
|
|
16
|
+
"internalType": "address"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"outputs": [
|
|
20
|
+
{
|
|
21
|
+
"name": "",
|
|
22
|
+
"type": "bool",
|
|
23
|
+
"internalType": "bool"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"stateMutability": "view"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "function",
|
|
30
|
+
"name": "owner",
|
|
31
|
+
"inputs": [],
|
|
32
|
+
"outputs": [
|
|
33
|
+
{
|
|
34
|
+
"name": "",
|
|
35
|
+
"type": "address",
|
|
36
|
+
"internalType": "address"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"stateMutability": "view"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "function",
|
|
43
|
+
"name": "pendingOwner",
|
|
44
|
+
"inputs": [],
|
|
45
|
+
"outputs": [
|
|
46
|
+
{
|
|
47
|
+
"name": "",
|
|
48
|
+
"type": "address",
|
|
49
|
+
"internalType": "address"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"stateMutability": "view"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "function",
|
|
56
|
+
"name": "renounceOwnership",
|
|
57
|
+
"inputs": [],
|
|
58
|
+
"outputs": [],
|
|
59
|
+
"stateMutability": "nonpayable"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "function",
|
|
63
|
+
"name": "setPermittedCallers",
|
|
64
|
+
"inputs": [
|
|
65
|
+
{
|
|
66
|
+
"name": "callers",
|
|
67
|
+
"type": "address[]",
|
|
68
|
+
"internalType": "address[]"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "permitted",
|
|
72
|
+
"type": "bool[]",
|
|
73
|
+
"internalType": "bool[]"
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"outputs": [],
|
|
77
|
+
"stateMutability": "nonpayable"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "function",
|
|
81
|
+
"name": "transferOwnership",
|
|
82
|
+
"inputs": [
|
|
83
|
+
{
|
|
84
|
+
"name": "newOwner",
|
|
85
|
+
"type": "address",
|
|
86
|
+
"internalType": "address"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"outputs": [],
|
|
90
|
+
"stateMutability": "nonpayable"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "event",
|
|
94
|
+
"name": "OwnershipTransferStarted",
|
|
95
|
+
"inputs": [
|
|
96
|
+
{
|
|
97
|
+
"name": "previousOwner",
|
|
98
|
+
"type": "address",
|
|
99
|
+
"indexed": true,
|
|
100
|
+
"internalType": "address"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "newOwner",
|
|
104
|
+
"type": "address",
|
|
105
|
+
"indexed": true,
|
|
106
|
+
"internalType": "address"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"anonymous": false
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "event",
|
|
113
|
+
"name": "OwnershipTransferred",
|
|
114
|
+
"inputs": [
|
|
115
|
+
{
|
|
116
|
+
"name": "previousOwner",
|
|
117
|
+
"type": "address",
|
|
118
|
+
"indexed": true,
|
|
119
|
+
"internalType": "address"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "newOwner",
|
|
123
|
+
"type": "address",
|
|
124
|
+
"indexed": true,
|
|
125
|
+
"internalType": "address"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"anonymous": false
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "event",
|
|
132
|
+
"name": "PermittedCallerUpdated",
|
|
133
|
+
"inputs": [
|
|
134
|
+
{
|
|
135
|
+
"name": "caller",
|
|
136
|
+
"type": "address",
|
|
137
|
+
"indexed": true,
|
|
138
|
+
"internalType": "address"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "permitted",
|
|
142
|
+
"type": "bool",
|
|
143
|
+
"indexed": false,
|
|
144
|
+
"internalType": "bool"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"anonymous": false
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"type": "error",
|
|
151
|
+
"name": "CallerNotPermitted",
|
|
152
|
+
"inputs": []
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"type": "error",
|
|
156
|
+
"name": "OwnableInvalidOwner",
|
|
157
|
+
"inputs": [
|
|
158
|
+
{
|
|
159
|
+
"name": "owner",
|
|
160
|
+
"type": "address",
|
|
161
|
+
"internalType": "address"
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"type": "error",
|
|
167
|
+
"name": "OwnableUnauthorizedAccount",
|
|
168
|
+
"inputs": [
|
|
169
|
+
{
|
|
170
|
+
"name": "account",
|
|
171
|
+
"type": "address",
|
|
172
|
+
"internalType": "address"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"type": "error",
|
|
178
|
+
"name": "PermittedCallersLengthMismatch",
|
|
179
|
+
"inputs": []
|
|
180
|
+
}
|
|
181
|
+
]
|