From d005d92cf5bab00c27d10a31233f3563abd080d4 Mon Sep 17 00:00:00 2001 From: jnicoulaud-ledger <102984500+jnicoulaud-ledger@users.noreply.github.com> Date: Tue, 18 Jun 2024 16:46:26 +0200 Subject: [PATCH] BACK-7120: Fix uniswap wrong names in schema (#193) * BACK-7120: Fix 1inch fusion EIP-712 token references * BACK-7380: fix validator not enforcing ordering of schema types * BACK-7380: remove debug code * BACK-7120: Fix uniswap wrong names in schema --- arbitrum/uniswap/eip712.json | 6 +++--- arbitrum_sepolia/uniswap/eip712.json | 6 +++--- avalanche/uniswap/eip712.json | 6 +++--- base/uniswap/eip712.json | 6 +++--- base_sepolia/uniswap/eip712.json | 6 +++--- blast/uniswap/eip712.json | 6 +++--- bsc/uniswap/eip712.json | 6 +++--- celo/uniswap/eip712.json | 6 +++--- ethereum/uniswap/eip712.json | 6 +++--- ethereum_sepolia/uniswap/eip712.json | 6 +++--- optimism/uniswap/eip712.json | 6 +++--- optimism_sepolia/uniswap/eip712.json | 6 +++--- polygon/uniswap/eip712.json | 6 +++--- polygon_mumbai/uniswap/eip712.json | 6 +++--- scripts/validation/validators.py | 6 ++++++ 15 files changed, 48 insertions(+), 42 deletions(-) diff --git a/arbitrum/uniswap/eip712.json b/arbitrum/uniswap/eip712.json index 6c43bc10..3073b396 100644 --- a/arbitrum/uniswap/eip712.json +++ b/arbitrum/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/arbitrum_sepolia/uniswap/eip712.json b/arbitrum_sepolia/uniswap/eip712.json index 6f822d21..abe7d7a2 100644 --- a/arbitrum_sepolia/uniswap/eip712.json +++ b/arbitrum_sepolia/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/avalanche/uniswap/eip712.json b/avalanche/uniswap/eip712.json index 240f0ce0..37a08b92 100644 --- a/avalanche/uniswap/eip712.json +++ b/avalanche/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/base/uniswap/eip712.json b/base/uniswap/eip712.json index b6cfba60..f505a04a 100644 --- a/base/uniswap/eip712.json +++ b/base/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/base_sepolia/uniswap/eip712.json b/base_sepolia/uniswap/eip712.json index 0ce24621..a3987fc0 100644 --- a/base_sepolia/uniswap/eip712.json +++ b/base_sepolia/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/blast/uniswap/eip712.json b/blast/uniswap/eip712.json index 7c766c8f..a636767d 100644 --- a/blast/uniswap/eip712.json +++ b/blast/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/bsc/uniswap/eip712.json b/bsc/uniswap/eip712.json index 7296ee2d..3120672d 100644 --- a/bsc/uniswap/eip712.json +++ b/bsc/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/celo/uniswap/eip712.json b/celo/uniswap/eip712.json index e5a0dce4..22473b11 100644 --- a/celo/uniswap/eip712.json +++ b/celo/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/ethereum/uniswap/eip712.json b/ethereum/uniswap/eip712.json index df0ecfe5..78351f90 100644 --- a/ethereum/uniswap/eip712.json +++ b/ethereum/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/ethereum_sepolia/uniswap/eip712.json b/ethereum_sepolia/uniswap/eip712.json index b7bb6b5e..a606a419 100644 --- a/ethereum_sepolia/uniswap/eip712.json +++ b/ethereum_sepolia/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/optimism/uniswap/eip712.json b/optimism/uniswap/eip712.json index c28c3851..54b4e4db 100644 --- a/optimism/uniswap/eip712.json +++ b/optimism/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/optimism_sepolia/uniswap/eip712.json b/optimism_sepolia/uniswap/eip712.json index a39f8076..6871aad4 100644 --- a/optimism_sepolia/uniswap/eip712.json +++ b/optimism_sepolia/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/polygon/uniswap/eip712.json b/polygon/uniswap/eip712.json index a5f6b26f..a360535c 100644 --- a/polygon/uniswap/eip712.json +++ b/polygon/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/polygon_mumbai/uniswap/eip712.json b/polygon_mumbai/uniswap/eip712.json index f82aae87..d92df87e 100644 --- a/polygon_mumbai/uniswap/eip712.json +++ b/polygon_mumbai/uniswap/eip712.json @@ -442,7 +442,7 @@ "assetPath": "witness.inputToken", "format": "amount", "label": "To swap", - "path": "witness.intStartAmount" + "path": "witness.inputStartAmount" }, { "format": "token", @@ -526,11 +526,11 @@ "type": "address" }, { - "name": "intStartAmount", + "name": "inputStartAmount", "type": "uint256" }, { - "name": "intEndAmount", + "name": "inputEndAmount", "type": "uint256" }, { diff --git a/scripts/validation/validators.py b/scripts/validation/validators.py index 60cead2c..5583363c 100644 --- a/scripts/validation/validators.py +++ b/scripts/validation/validators.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import glob +import hashlib import json import logging import re @@ -220,6 +221,11 @@ def _inner_validator(data: str, filename: str) -> Tuple[bool, str]: def eip712_schema_validator(data: str, filename: str) -> Tuple[bool, str]: try: loaded = json.loads(data) + for contract in loaded["contracts"]: + for message in contract["messages"]: + # schema types must be sorted by key for reproducible hashing + message["schema"] = dict(sorted(message["schema"].items())) + formatted = json.dumps(loaded, indent=4, sort_keys=True, ensure_ascii=False) if formatted != data and (formatted + "\n") != data: logger.debug(