- Remove
RENEGADEaction from Arbitrum and Base - Remove Scroll, Sonic, Berachain, and Mantle chains
- Fix a
metaTxmalleability bug inCrossChainReceiverFactory(contract is not deployed; no funds at risk) after a report in Immunefi bug 78645 - Add HyperEVM CoreWriter
0x3333333333333333333333333333333333333333to the list of restricted targets - On HyperEVM, revert if a payout names a HyperCore system address
(
0x2222222222222222222222222222222222222222or0x2000000000000000000000000000000000000000plus a token index) as recipient unless the payer funds the transfer (except inBASIC)
- Remove the
EULERSWAPaction from Mainnet, BNB, Avalanche, Berachain, Plasma, Sonic, and Unichain - Add a new argument to
POSITIVE_SLIPPAGE,surplusPpm, that controls the proportion of surplus transferred
- Add
SELECTfor JIT routing via ordered, revertible candidate routes - Add
BRIDGE_TO_STARGATE_V2to Abstract - Add
FLUXPOOLaction on Bnb, Base, and RobinHood - Add
DEEPSTATEaction for the Deepstate order book on RobinHood- Deepstate only sizes orders in
token0. To selltoken1, pass aninversePriceX128that matchestick(seeISettlerActions). Any sell token left unspent stays in Settler
- Deepstate only sizes orders in
- Add Tempo ReceivePolicyGuard
0xB10C000000000000000000000000000000000000to the list of restricted targets - On Tempo, revert if the recipient's receive policy would block a transfer
(except in
BASIC) - Add SushiSwapV3 UniV3 fork to Arc with fork ID 2
- Add SushiSwapV4 CL as a PancakeInfinity fork to Arc
- Add
PANCAKE_INFINITY,PANCAKE_INFINITY_VIP, andMETATXN_PANCAKE_INFINITY_VIP
- Add
- Fix RFQ maker permits in
SettlerIntentusing the taker's balance for proportional sell amounts, reported by Bailsec - Add Rubicon CLMM UniV3 fork to Mainnet with fork ID 47
- Add AchSwap V3 UniV3 fork to Arc with fork ID 48
- Add the TIP403 registry
0x403c000000000000000000000000000000000000on Tempo to the list of restricted addresses; Immunefi bug #94068
- Add
TSUNAMI,TSUNAMI_VIP, andMETATXN_TSUNAMI_VIPactions to support Tsunami UniswapV4 fork on Ink chain
- Deploy Settler to Arc chain
- Add UniswapV3 UniV3 fork on Arc chain
- Add UniswapV4 support on Arc chain
- Add
BRIDGE_ERC20_TO_ACROSSandBRIDGE_NATIVE_TO_ACROSSto Arc
- Update
RENEGADEsignature: replacetargetandbaseForQuotewithrecipient,buyToken,maxSellAmount,refundNativeEth, andmaxRefundAmount - SolidlyV3 UniV3 fork removed from Sonic
- All proportional-amount action arguments are now denominated in
parts-per-million (
ppm; denominator 1_000_000) instead of basis points (bps; denominator 10_000)- Affects the
bps(nowppm) argument ofUNISWAPV3,UNISWAPV2,BASIC,VELODROME,MAKERPSM,DODOV1,DODOV2,MAVERICKV2,EULERSWAP,HANJI,UNISWAPV4,BALANCERV3,PANCAKE_INFINITY,EKUBO, andEKUBOV3actions. - Affects the
maxBps(nowmaxPpm) argument ofPOSITIVE_SLIPPAGE - Action selectors are unchanged (the arguments are
uint256at the ABI level); only the interpretation of the value changes - In the packed
fillsencoding ofUNISWAPV4,BALANCERV3,PANCAKE_INFINITY,EKUBO, andEKUBOV3, the leading proportion field of each fill (and the corresponding field of the non-VIP header) widens from 2 bytes to 3 bytes BALANCERV3wrap/unwrap flags move from bits 15/14 to bits 23/22 of the fill's proportion field- The Ekubo forwarding-extension flag moves from bit 15 to bit 23
- The Permit2 balance-proportional sell amount sentinel widens:
permit.permitted.amount > type(uint256).max - 1_000_000now encodes a proportion inppmastype(uint256).max - (1_000_000 - ppm) - Note that the
UNISWAPV2action STILL contains a basis-point-denominated packed field (the swap fee) in the upper 16 bits ofswapInfo. This behavior remains unchanged.
- Affects the
- For the actions
UNISWAPV3_VIPandMETATXN_UNISWAPV3_VIP, remove the first token (the sell token) frompath, shortening the encoded length by 20 bytes. This token is now read frompermit. Intermediate hop tokens and the final buy token are unchanged. The non-VIPUNISWAPV3action is unchanged. Immunefi bug report 88903
- Fix several bugs reported by Nethermind
- SettlerMetaTxn now reverts on short actions
- Fix wrong
buyTokeninTooMuchSlippagerevert reason in MaverickV2 - Fix slippage checking for EkuboV2
- Add Orvex CL PancakeInfinity fork to RobinHood chain
- Add
PANCAKE_INFINITY,PANCAKE_INFINITY_VIP, andMETATXN_PANCAKE_INFINITY_VIP
- Add
- Add Alandale (Algebra-like) UniV3 fork to RobinHood with fork ID 46
- Fix a bug in the BalancerV3 actions that allowed
bps > 10_000(nowppm > 1_000_000). Immunefi bug 89191 - Add
BRIDGE_ERC20_TO_MAYANandBRIDGE_NATIVE_TO_MAYANto Monad - Add
BEBOPaction on RobinHood chain
- Add
HANJIaction for the Hanji order book liquidity source on RobinHood - Add
BRIDGE_ERC20_TO_MAYANandBRIDGE_NATIVE_TO_MAYANto HyperEVM
- SolidlyV3 UniV3 fork removed from Mainnet
- Add SushiSwapV3 UniV3 fork to RobinHood
- Add RobinSwap UniV3 fork to RobinHood with fork ID 43
- Add QuickSwap V4 (Algebra-like) UniV3 fork to Polygon with fork ID 44
- Add GigaDEX V3 UniV3 fork to RobinHood with fork ID 45
- Add
BRIDGE_ERC20_TO_ACROSSandBRIDGE_NATIVE_TO_ACROSSto RobinHood
- Add SquadSwapV3 UniV3 fork to Bnb with fork ID 38
- Add PrjxV3 (Project X) UniV3 fork to HyperEVM with fork ID 39
- Add Up UniV3 fork to RobinHood with fork ID 40
- Add Sheriff (Algebra-like) UniV3 fork to RobinHood with fork ID 41
- Add SwapHood V3 UniV3 fork to RobinHood with fork ID 42
- Add
BRIDGE_ERC20_TO_ACROSSandBRIDGE_NATIVE_TO_ACROSSto Monad
- Add UniswapV3 UniV3 fork on RobinHood chain
- Add UniswapV4 actions to RobinHood chain
- Add EkuboV3 actions on RobinHood chain
- Add PancakeSwapV3 UniV3 fork on RobinHood chain
- Abandon Katana chain (which only had stripped-down Settler anyways)
BRIDGE_TO_CCIPmodified to remove thetokenargument that is already included inccipSendDataBRIDGE_TO_LAYER_ZERO_OFTmodified to remove thenativeFeeargument that is already included insendDataBRIDGE_ERC20_TO_MAYANandBRIDGE_NATIVE_TO_MAYANmodified to removeforwarderargument. It is now hardcoded.- Remove
BRIDGE_ERC20_TO_STARGATE_V2andBRIDGE_NATIVE_TO_STARGATE_V2in favor of a unifiedBRIDGE_TO_STARGATE_V2.nativeFeeis taken fromsendDatatokenis used to differentiate between ERC20 and Native flows
- Deploy Settler to RobinHood chain
- Add
BRIDGE_TO_NUCLEUS_TELLER(Mainnet and Optimism) andDEPOSIT_AND_BRIDGE_TO_NUCLEUS_TELLER(Mainnet) actions for bridging WPAXG through Nucleus Teller
- Abandon Mode chain
- Remove SupSwapV3, Kim, and SwapMode UniV3 forks
- DackieSwap and BaseX UniV3 forks removed from Base
- Remove
LFJTMaction for Let's F***ing Joe Token Mill V2 on Monad mainnet chain - Abandon the following chains:
- Blast
- Taiko
- Gnosis (XDAI)
- Remove
MAVERICKV2_VIPandMETATXN_MAVERICKV2_VIPactions from Arbitrum, Base, Bnb, Mainnet, Scroll, and Sepolia. TheMAVERICKV2action remains. - Update
RENEGADEsignature: addbaseForQuotedirection flag andminBuyAmountslippage protection
- Add Thena UniV3 Algebra style fork to Bnb with fork ID 37
- EkuboV2 VIP actions
EKUBO_VIPandMETATXN_EKUBO_VIPare not supported anymore and were removed fromISettlerActions.sol. - Add new
CHECK_SLIPPAGEaction to taker-submitted Settlers - Add USDD full PSM support (USDT/USDD pair) to the
MAKERPSMaction on Mainnet - Update the following chains to the Osaka EVM hardfork:
- Arbitrum
- Polygon
- Monad
- Scroll
- Add the following liquidity on Tempo
- RFQ
- UniswapV2
- VelodromeV2
- UniswapV3
- UniswapV4
- Deprecate MonadTestnet chain
- Deprecate Abstract Sepolia testnet
- Add
BRIDGE_TO_CCIPaction toBridgeSettlerBasefor Chainlink CCIP cross-chain token transfers - Deploy Settler to Tempo mainnet chain
- Add
POSITIVE_SLIPPAGEaction on Tempo
- Add
- Dropped support for
EKUBO_VIPandMETATXN_EKUBO_VIPactions on Ethereum Mainnet.EKUBOaction support remains. - Drop
TRANSFER_FROM_WITH_PERMITaction in all chains - Some VIP actions parameters were reordered so them all start with
recipient, permitfollowed by all the other parameters. This includesRFQ_VIP,METATXN_RFQ_VIPfor the second argument to betakerPermitUNISWAPV4_VIP,METATXN_UNISWAPV4_VIPfor the second argument to bepermitBALANCERV3_VIP,METATXN_BALANCERV3_VIPfor the second argument to bepermitPANCAKE_INFINITY_VIP,METATXN_PANCAKE_INFINITY_VIPfor the second argument to bepermitUNISWAPV3_VIP,METATXN_UNISWAPV3_VIPfor the second argument to bepermitCURVE_TRICRYPTO_VIP,METATXN_CURVE_TRICRYPTO_VIPfor the second argument to bepermitMAVERICKV2_VIP,METATXN_MAVERICKV2_VIPfor the second argument to bepermitEKUBO_VIP,METATXN_EKUBO_VIPfor the second argument to bepermit
- Added new Ekubo actions for EkuboV3 support
EKUBOV3same signature asEKUBOEKUBOV3_VIPsame signature asEKUBO_VIPMETATXN_EKUBOV3_VIPsame signature asMETATXN_EKUBO_VIP
- Added EkuboV3 actions
EKUBOV3,EKUBOV3_VIPandMETATXN_EKUBOV3_VIPto Ethereum Mainnet - Taker submitted Settlers have a new entrypoint.
This new entrypoint allows to execute a permit call before processing the actions.
function executeWithPermit( AllowedSlippage calldata slippage, bytes[] calldata actions, bytes32 /* zid & affiliate */, bytes memory permitData )
permitDatacontains the data and the type of permit to execute. It is encoded as follow:- 0x00 for ERC2612 or 0x01 for DAIPermit or 0x02 for NativeMetaTransaction
- Encoding of:
- amount, deadline, r, vs in case of regular ERC2612 permit
- nonce, expiry, allowed, r, vs in case of regular DAI permit
- amount, r, vs in case of native meta transaction
- The
ownerused in the permit is always the taker - In all cases spender is allways set to be AllowanceHolder.
- On native meta transactions
approvefunction is allways the function called - r, vs is a compact signature as specified in ERC-2098
- Update Settler on Linea to the Osaka hardfork
- Remove EulerSwap action
EULERSWAPfrom Base as it has no liquidity - Remove the following UniV3 forks from Base because they do little-to-no volume
- Thick
- KinetixV3
- Remove authority from solvers generated by the "old" mnemonics
- Add
HANJIaction for Hanji order book liquidity source on Base and Monad- Note that while it is possible to sell eith ETH (native) or WETH (wrapped native) to Hanji pools with the wrapped native asset as one of the tokens, attempting to buy WETH (wrapped native) is not possible. You will always get raw ETH (native).
- Added new VIP
TRANSFER_FROM_WITH_PERMITto TakerSubmitted settlers.- It is Similar to
TRANSFER_FROMaction but instead of a signature it receives a permit calldata to be executed before transfering the assets. Permit calldata is encoded as follow:- 0x00 for ERC2612 or 0x01 for DAIPermit or 0x02 for NativeMetaTransaction
- Encoding of:
- owner, amount, deadline, v, r, s in case of regular ERC2612 permit
- owner, nonce, expiry, allowed, v, r, s in case of regular DAI permit
- owner, amount, v, r, s in case of native meta transaction
- In all cases spender is allways set to be AllowanceHolder.
- On native meta transactions
approvefunction is allways the function called
- It is Similar to
- Update Settler on Ethereum and Base to the Osaka hardfork
- The address
0xbbbbbBB520d69a9775E85b458C58c648259FAD5F(Bebop) is now on the list of restricted targets for theBASICaction for the following chains:- Arbitrum
- Avalanche
- Base
- Bnb
- Ethereum mainnet
- Optimism
- Polygon
- HyperEvm
- Fix bug that was causing bad revert reason for expired
AllowanceHoldertrades. - Add
BEBOPaction for 3rd-party RFQ provider Bebop. This action has special functionality that binds the actual taker of the RFQ order (_msgSender()) to the order itself to allow market makers better opportunity to screen takers as well as normalizing the representation of the event emitted for RFQ orders between theRFQaction and Bebop. This action is added on the following chains:- Arbitrum
- Avalanche
- Base
- Bnb
- Ethereum mainnet
- Optimism
- Polygon
- HyperEvm
- Update Linea chain to Cancun hardfork (AllowanceHolder is now
0x0000000000001fF3684f28c67538d4D072C22734)
- Add
BRIDGE_ERC20_TO_ACROSSandBRIDGE_NATIVE_TO_ACROSSto Plasma - Add
BRIDGE_ERC20_TO_ACROSSandBRIDGE_NATIVE_TO_ACROSSto HyperEVM - Fix bug that was sending un-settleable native asset dust via OFT, causing reverts.
- Fix bug in HyperEvm BridgeSettler that was causing spurious reverts.
- Deploy Settler and BridgeSettler to Abstract mainnet chain
- Add UniswapV3 UniswapV3 fork to Abstract chain
- Add Aborean UniswapV3 fork to Abstract chain
- Removed BridgeSettler action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTin favor ofBRIDGE_TO_LAYER_ZERO_OFTthat accepts ERC20 and Native tokens. - Changes for price impact caps on tick-based AMMs
- Modified
MAVERICKV2andMAVERICKV2_VIPto includetickLimitas a parameter - Modified fills of UniV4, PancakeInfinity and Ekubo to include
priceSqrt - Modified UniV3
encodedPathto includepriceSqrt
- Modified
- Add Aerodrome Slipstream V3.1 UniswapV3 fork to Base
- Add
LFJTMaction for Let's F***ing Joe Token Mill V2 on Monad mainnet chain - Update the BridgeSettler Across actions
BRIDGE_NATIVE_TO_ACROSSandBRIDGE_ERC20_TO_ACROSSto use a different underlying function:deposit(0xad5425c6) instead ofdepositV3(0x7b939232) - Add new Renegade action
RENEGADEto supported chains:- Add action
RENEGADEto Arbitrum - Add action
RENEGADEto Base
- Add action
- Added
UNDERPAYMENT_CHECKaction toBridgeSettlerBase. - Added another set of 60 solvers whitelisted on the
SettlerIntentinstances
- Deploy Settler to Monad mainnet
- Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Monad mainnet - Add UniswapV4 actions to Monad mainnet
- Add PancakeSwapV3 UniV3 fork to Monad mainnet
- Add UniswapV3 UniV3 fork on Monad mainnet
- Add BalancerV3 actions (
- Add support for EraVM chains
- Deploy Settler to Abstract Sepolia chain
- Add UniswapV3 UniV3 fork to Abstract Sepolia
- Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Sonic
- Added
psmanddaias arguments to SettlerMAKERPSMaction to allow interacting withLitePSM/DAIorSkyPSM/USDS. POSITIVE_SLIPPAGEtakes amaxBpsargument to cap the amount of slippage taken as a proportion of the buy amount
- Add
EULERSWAPaction to Plasma - Add
NATIVE_CHECKaction to Mainnet
- Deploy Settler to Plasma chain
- Add UniswapV3 UniV3 fork on Plasma
- Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Plasma
- Update Scroll to the Cancun hardfork
- Add
BRIDGE_ERC20_TO_LAYER_ZERO_OFTfor remaining supported chains:- Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Berachain - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Blast - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto HyperEvm - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Ink - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Katana - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Linea - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Mode - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Scroll - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Sepolia - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Taiko - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Unichain - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto WorldChain
- Add action
- Add new DeBridge action
BRIDGE_TO_DEBRIDGEto supported chains:- Add action
BRIDGE_TO_DEBRIDGEto Arbitrum - Add action
BRIDGE_TO_DEBRIDGEto Avalanche - Add action
BRIDGE_TO_DEBRIDGEto Base - Add action
BRIDGE_TO_DEBRIDGEto Berachain - Add action
BRIDGE_TO_DEBRIDGEto Bnb - Add action
BRIDGE_TO_DEBRIDGEto Gnosis - Add action
BRIDGE_TO_DEBRIDGEto HyperEvm - Add action
BRIDGE_TO_DEBRIDGEto Linea - Add action
BRIDGE_TO_DEBRIDGEto Mainnet - Add action
BRIDGE_TO_DEBRIDGEto Mantle - Add action
BRIDGE_TO_DEBRIDGEto Optimism - Add action
BRIDGE_TO_DEBRIDGEto Polygon - Add action
BRIDGE_TO_DEBRIDGEto Sonic
- Add action
- Added new DeBridge action
BRIDGE_TO_DEBRIDGE
- Add new LayerZero action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTtoBridgeSettlerBase- Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Mainnet - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Base - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Arbitrum - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Avalanche - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Bnb - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Gnosis - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Mantle - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Optimism - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Polygon - Add action
BRIDGE_ERC20_TO_LAYER_ZERO_OFTto Sonic
- Add action
- In metatransactions and intents, it is now an error for
_operator()(the gas payer/solver/relayer) to bemsgSender(the taker) - Remove
LimitOrderFeeCollector
- Add
NATIVE_CHECKto taker-submitted Settlers on all chains to correctly handle the selling of the chain-native asset - Add PancakeSwap Infinity actions (
PANCAKE_INFINITY,PANCAKE_INFINITY_VIP, andMETATXN_PANCAKE_INFINITY_VIP) on Base - Improve gas efficiency and accuracy of
EULERSWAPaction - Add solvency check for EulerSwap (does not execute on-chain)
- Add
CrossChainReceiverFactory, a minimal proxy factory inspired by submarine transactions for "automatically" swapping any tokens received - Add
BridgeSettlerto all supported chains exceptMonadTestnetBridgeSettleris the settlement contracts for cross-chain operations and is heavily implemented followingSettlerdesign.BridgeSettlerBaseimplements actions for:BASIC, same asSettlerSETTLER_SWAP, to execute swaps onSettler- Relay bridge integration (
BRIDGE_ERC20_TO_RELAY,BRIDGE_NATIVE_TO_RELAY) - Those are available in the
BridgeSettlerof every chain
- Other actions added that are not supported in every chain:
- Mayan bridge integration (
BRIDGE_ERC20_TO_MAYAN,BRIDGE_NATIVE_TO_MAYAN) - Across bridge integration
(
BRIDGE_ERC20_TO_ACROSS,BRIDGE_NATIVE_TO_ACROSS) - StargateV2 bridge integration
(
BRIDGE_ERC20_TO_STARGATE_V2,BRIDGE_NATIVE_TO_STARGATE_V2)
- Mayan bridge integration (
- Deploy a stripped-down suite of Settlers to Katana network
- Deploy Settler to HyperEVM (Hyperliquid) network
- Add KittenSwap UniV3 fork to HyperEVM
- Add Hybra UniV3 fork to HyperEVM
- Add HyperSwap UniV3 fork to HyperEVM
- Remove Safe{Wallet} API configuration from Blast
- Configure Safe{Wallet} API on Berachain
- Add EulerSwap action
EULERSWAP- Add
EULERSWAPaction to Mainnet - Add
EULERSWAPaction to Base - Add
EULERSWAPaction to Bnb - Add
EULERSWAPaction to Sonic - Add
EULERSWAPaction to Avalanche - Add
EULERSWAPaction to Unichain - Add
EULERSWAPaction to Berachain
- Add
METATXN_RFQ_VIPaction is removed from all chains
- Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Optimism - Add support for Ekubo forwarding extensions by setting the top bit of
bps
RFQ_VIPaction is removed from all chainsCURVE_TRICRYPTO_VIPandMETATXN_CURVE_TRICRYPTO_VIPactions are removed from Mainnet (they remain available on Arbitrum)VELODROMEaction is removed from Mainnet (it remains as default on all other chains)- The Ekubo actions (
EKUBO,EKUBO_VIP, andMETATXN_EKUBO_VIP)fillsno longer has askipAheadargument. Each fill is 32 bytes shorter. The field is now hardcoded to zero.
- Replace
rebateClaimer()(address)address (previously theDeployerowner multisig; varies by chain) with a constant EOA owned by ZeroEx Inc - Add actions for Ekubo
EKUBO,EKUBO_VIP, andMETATXN_EKUBO_VIP- See comments in Ekubo.sol regarding how to encode
fills
- Fix a bug in the BalancerV3 action resulting in incorrect decoding of callback returndata
- Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Avalanche - Add BalancerV3 actions (
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP) to Gnosis - Add actions for PancakeSwap Infinity
PANCAKE_INFINITY,PANCAKE_INFINITY_VIP, andMETATXN_PANCAKE_INFINITY_VIP- See comments in PancakeInfinity.sol
regarding how to encode
fills. While there are many similarities with UniswapV4 and BalancerV3, additional complexity is added because there are 2 different default/built-in CFAMM schemes in PancakeSwap Infinity.
- Add PancakeSwap Infinity actions (
PANCAKE_INFINITY,PANCAKE_INFINITY_VIP, andMETATXN_PANCAKE_INFINITY_VIP) on Bnb chain
- Create new Settler version for intent-based settlement -- the taker only signs
the slippage, not the actions
- This is now
tokenId4
- This is now
- Add UniswapV3 UniV3 fork to Monad Testnet
- Deploy Settler to Unichain network
- Add UniswapV3 UniV3 fork to Unichain
- Add UniswapV4 actions to Unichain
- Deploy Settler to Berachain network
- Add KodiakV3 UniV3 fork to Berachain
- Add Bulla Exchange UniV3 (Algebra style) fork to Berachain
- Add UniswapV4 actions to Sepolia
- Add UniswapV4 actions to Ink
- Add BalancerV3 actions to Base
- Add BalancerV3 actions to Arbitrum
- Remove
gemTokenandpsmarguments fromMAKERPSMaction- This specializes and gas optimizes the action for the Lite PSM (0xf6e72Db5454dd049d0788e411b06CfAF16853042)
TRANSFER_FROMis now a "VIP" action. It can only be executed as the first action of a swap- Update Avalanche to the Cancun hardfork
- This means that the AllowanceHolder address on Avalanche is now 0x0000000000001fF3684f28c67538d4D072C22734
- Add actions for UniswapV4
UNISWAPV4,UNISWAPV4_VIP, andMETATXN_UNISWAPV4_VIP- See comments in UniswapV4.sol regarding how to
encode
fills - See comments in FlashAccountingCommon.sol regarding how to compute a perfect token hash function
- Add UniswapV4 actions to:
- Mainnet
- Arbitrum
- Avalanche
- Base
- Blast
- Bnb
- Optimism
- Polygon
- WorldChain
- Add
msgSender()(address)accessor on Base to retrieve the current taker - Improve accuracy, gas, and convergence region coverage in SolidlyV1/VelodromeV2 action (
VELODROME) - Add DodoV1 actions to more chains
- Add
DODOV1action to Arbitrum - Add
DODOV1action to Bnb - Add
DODOV1action to Linea - Add
DODOV1action to Mantle - Add
DODOV1action to Polygon - Add
DODOV1action to Scroll
- Add
- Add
rebateClaimer()(address)function on Mainnet Settlers for gas rebate program - Add SolidlyV3 UniV3 fork to Sonic
- Add Wagmi UniV3 fork to Sonic
- Add SwapX UniV3 (Algebra style) fork to Sonic
- Add actions for BalancerV3
BALANCERV3,BALANCERV3_VIP, andMETATXN_BALANCERV3_VIP- See comments in BalancerV3.sol regarding how to
encode
fills - See comments in FlashAccountingCommon.sol regarding how to compute a perfect token hash function
- Deploy Settler to Monad testnet chain
- Deploy Settler to Ink chain
- Add UniswapV3 UniV3 fork to Ink
- Deploy Settler to Fantom Sonic network
- Add UniswapV3 UniV3 fork to Sonic
- Add SpookySwap UniV3 fork to Sonic
- Deploy Settler to Taiko network
- Add UniswapV3 UniV3 fork to Taiko
- Add Swapsicle UniV3 (Algebra style) fork to Taiko
- Add Panko UniV3 fork to Taiko
- Deploy Settler to World Chain network
- Add UniswapV3 UniV3 fork to World Chain
- Add DackieSwapV3 UniV3 fork to World Chain
- Deploy Settler to Gnosis chain
- Add UniswapV3 UniV3 fork to Gnosis
- Add SushiswapV3 UniV3 fork to Gnosis
- Add Swapr UniV3 (Algebra style) fork to Gnosis
- Add
DODOV2Dodo V2 action on Mantle - Deploy Settler to Mode network
- Add SupSwapV3 UniV3 fork to Mode
- Add Kim UniV3 (Algebra style) fork to Mode
- Add SwapModeV3 UniV3 fork to Mode
- Upgrade Bnb chain deployment to Cancun (Tycho) hardfork
- This changes the
AllowanceHolderaddress on that chain to0x0000000000001fF3684f28c67538d4D072C22734
- This changes the
- Add BlasterV3 UniV3 fork to Blast
- Add MonoSwapV3 UniV3 fork to Blast
- Add RogueXV1 UniV3 fork to Blast
- This UniV3 fork has unusual integrations with perpetual futures; it may revert when a "normal" UniV3 fork wouldn't
- Add slippage check parameter to
MAKERPSMaction to gas-optimize the new "lite" PSM- Note that for the "normal" PSM ("MCD PSM USDC A",
0x89B78CfA322F6C5dE0aBcEecab66Aee45393cC5A),
amountOutMinMUST be zeroed, otherwise you will get an out-of-gas
- Note that for the "normal" PSM ("MCD PSM USDC A",
0x89B78CfA322F6C5dE0aBcEecab66Aee45393cC5A),
- Special case a permitted (sell) amount of
type(uint256).max - 9_999and above -- this introspects the taker's balance of the sell token and attempts to sell a proportion of it
- Added
prevaccessor function toDeployer - Configure yield and gas for Deployer on Blast
- Deploy Settler to Mantle network
- Add
DODOV2action to Arbitrum - Add SolidlyV3 UniV3 fork to Arbitrum
- Remove DodoV1 from all chains except Mainnet
- Remove
DODOV1action from Arbitrum - Remove
DODOV1action from Avalanche - Remove
DODOV1action from Base - Remove
DODOV1action from Blast - Remove
DODOV1action from Bnb - Remove
DODOV1action from Linea - Remove
DODOV1action from Optimism - Remove
DODOV1action from Polygon - Remove
DODOV1action from Scroll - Remove
DODOV1action from Sepolia - (
DODOV1action remains available on Mainnet)
- Remove
- Arbiscan's "Cancun" issue has been fixed -- verify Settler on Arbiscan
- Link to 0x's Immunefi bug bounty page from
README.md - Add UniswapV3 UniV3 fork to Scroll
- Add new actions
MAVERICKV2,MAVERICKV2_VIP, andMETATXN_MAVERICKV2_VIP- Add MaverickV2 to Mainnet
- Add MaverickV2 to Base
- Add MaverickV2 to Arbitrum
- Add MaverickV2 to Bnb
- Add MaverickV2 to Scroll
- Add MaverickV2 to Sepolia
- Add DackieSwapV3 UniV3 fork
- Add DackieSwapV3 to Arbitrum
- Add DackieSwapV3 to Base
- Add DackieSwapV3 to Blast (new inithash)
- Add DackieSwapV3 to Optimism
- Add Thick UniV3 fork to Base
- Add KinetixV3 UniV3 fork to Base
- Add new action
DODOV2- Add DodoV2 to Avalanche
- Add DodoV2 to Base
- Add DodoV2 to Bnb
- Add DodoV2 to Mainnet
- Add DodoV2 to Polygon
- Add DodoV2 to Scroll
- Add MetavaultV3 UniV3 fork to Scroll
- Add SushiswapV3 UniV3 fork to more chains
- Add SushiswapV3 to Arbitrum
- Add SushiswapV3 to Mainnet
- Add SushiswapV3 to Optimism
- Add
prevview function toDeployer
- Configure Blast gas fee claims on Settler deployment
- Change Settler's
AllowanceHolderintegration to usereturnto signal non-ERC20 compliance (rather thanrevert)AllowanceHolder's own signal still usesrevert, but this will only come up rarely
- Flatten Settler source files before deployment for ease of verification
- All chains redeployed to pick up above changes
- Deployed Settler to Linea
- Added Lynex Algebra-style UniV3 fork to Linea
- Update Velodrome Slipstream factory address (and inithash) to migrated one
- Bug! Fixed wrong slippage actual value in
UNISWAPV2action
- Deployed Settler to Blast
- Added Thruster UniV3 fork to Blast
- Added BladeSwap Algebra-style UniV3 fork to Blast
- Added Fenix Algebra-style UniV3 fork to Blast
- Deployed Settler to Scroll
- Added ZebraV3 UniV3 fork to Scroll
- Added SolidlyV3 UniV3 fork to Base
- Added SwapBasedV3 UniV3 fork to Base
- Added support for
DODOV1action to all chains - Added support for
VELODROMEaction to all chains
- Add SushiswapV3 UniV3 fork to Polygon
- Added support for
DODOV1action on Bnb - Added support for
DODOV1action on Polygon
- Added extra anonymous argument to
executeandexecuteMetaTxnfor tracking zid and affiliate address - Add SolidlyV3 UniV3 fork to Optimism
- Added support for
DODOV1action on Arbitrum
- The actions
MAKERPSM_SELLandMAKERPSM_BUYactions have been combined into a singleMAKERPSMaction with abuyGemboolean flag - Add support for AlgebraSwap-style UniV3 forks (single pool per token pair)
- When using the UniV3 actions for an AlgebraSwap-style pool, the fee tier/pool ID must be passed as 0
- Add CamelotV3 AlgebraSwap-style UniV3 fork to Arbitrum
- Add QuickSwapV3 AlebraSwap-style UniV3 fork to Polygon
- Added support for
CURVE_TRICRYPTO_VIPandMETATXN_CURVE_TRICRYPTO_VIPon Arbitrum - Bug! Fixed BNB Chain PancakeSwapV3 deployer address (it's the same as on all other chains)
- Added PancakeSwapV3 to Arbitrum UniV3 VIP
- Added BaseX to Base UniV3 VIP