1 Commits
Author SHA1 Message Date
clawbot a5f9d3c498 fix: each router release names and reads its own commands (closes #592)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run
Each Universal Router release now carries the command it runs for each
command type, by the name its pinned Commands.sol gives it, and the decoder
names and reads each step as that command instead of using one table for
every router. On UniversalRouterV1 and UniversalRouterV1_2_V2Support, 0x10
to 0x13 are NFT commands, such as Seaport: they are no longer read as V4
commands, so they draw no swap lines and their payouts count as unread.
UniversalRouterV1 has no BALANCE_CHECK_ERC20 and reverts on 0x0e, which is
now listed as Command 0x0e and sets no minimum. No release lets a V4 swap
fail, so the zero-minimum reading for a flagged one is gone.

Model: opus-5-5
2026-10-19 14:45:27 +00:00
-161
View File
@@ -1751,76 +1751,6 @@ describe("the command each release runs for a command type", () => {
input: swapInput,
name: "CryptoPunks",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x14,
input: swapInput,
name: "LooksRare 1155",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x15,
input: swapInput,
name: "Owner Check 721",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x16,
input: swapInput,
name: "Owner Check 1155",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x17,
input: swapInput,
name: "Sweep ERC-721",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x18,
input: swapInput,
name: "X2Y2 721",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x19,
input: swapInput,
name: "Sudoswap",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x1a,
input: swapInput,
name: "NFT20",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x1b,
input: swapInput,
name: "X2Y2 1155",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x1c,
input: swapInput,
name: "Foundation",
},
{
router: "UniversalRouterV1",
address: ROUTER_V1,
id: 0x1d,
input: swapInput,
name: "Sweep ERC-1155",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
@@ -1849,97 +1779,6 @@ describe("the command each release runs for a command type", () => {
input: swapInput,
name: "CryptoPunks",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x14,
input: swapInput,
name: "Command 0x14",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x15,
input: swapInput,
name: "Owner Check 721",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x16,
input: swapInput,
name: "Owner Check 1155",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x17,
input: swapInput,
name: "Sweep ERC-721",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x18,
input: swapInput,
name: "X2Y2 721",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x19,
input: swapInput,
name: "Sudoswap",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x1a,
input: swapInput,
name: "NFT20",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x1b,
input: swapInput,
name: "X2Y2 1155",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x1c,
input: swapInput,
name: "Foundation",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x1d,
input: swapInput,
name: "Sweep ERC-1155",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x1e,
input: swapInput,
name: "Element Market",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x20,
input: swapInput,
name: "Seaport V1.4",
},
{
router: "UniversalRouterV1_2_V2Support",
address: ROUTER_V1_2,
id: 0x22,
input: swapInput,
name: "Approve ERC-20",
},
{
router: "UniversalRouterV2",
address: ROUTER,