diff --git a/evm/src/router/base/Dispatcher.sol b/evm/src/router/base/Dispatcher.sol index 75f558f3..c844a5eb 100644 --- a/evm/src/router/base/Dispatcher.sol +++ b/evm/src/router/base/Dispatcher.sol @@ -210,7 +210,10 @@ abstract contract Dispatcher is Permit2Payments, CatalystExchange, CancelSwap, L } } } else { - if (command == Commands.TRANSFER_FROM) { + if (command == Commands.PERMIT2_TRANSFER_FROM_BATCH) { + (IAllowanceTransfer.AllowanceTransferDetails[] memory batchDetails) = abi.decode(inputs, (IAllowanceTransfer.AllowanceTransferDetails[])); + permit2TransferFrom(batchDetails, lockedBy); + } else if (command == Commands.TRANSFER_FROM) { // equivalent: abi.decode(inputs, (address, address, uint160)) address token; address recipient; diff --git a/evm/src/router/libraries/Commands.sol b/evm/src/router/libraries/Commands.sol index 6ad3dd2c..e2ebb2ab 100644 --- a/evm/src/router/libraries/Commands.sol +++ b/evm/src/router/libraries/Commands.sol @@ -30,5 +30,6 @@ library Commands { // Command Types where 0x10<=value uint256 constant EXECUTE_SUB_PLAN = 0x10; + uint256 constant PERMIT2_TRANSFER_FROM_BATCH = 0x1e; uint256 constant TRANSFER_FROM = 0x1f; } \ No newline at end of file