From 1e00665d7df2e349fc57d04159fc17f9a8cbea11 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:37:55 +0800 Subject: [PATCH 1/8] Initial commit --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e0b112f --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 qCanoe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 877cb17bb01a6a4a199c0677dd882192c43cdd06 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:42:29 +0800 Subject: [PATCH 2/8] Add files via upload --- dynamic_parser/analyzers.py | 128 +++ dynamic_parser/core.py | 358 +++++++ dynamic_parser/demo_web_ui.py | 130 +++ .../__pycache__/test_data.cpython-312.pyc | Bin 0 -> 4993 bytes .../__pycache__/test_data.cpython-39.pyc | Bin 0 -> 4188 bytes dynamic_parser/examples/basic_usage.py | 65 ++ dynamic_parser/examples/demo.py | 45 + .../examples/integrated_nlp_demo.py | 214 ++++ dynamic_parser/examples/json_file_tester.py | 255 +++++ dynamic_parser/examples/nlp_demo.py | 294 ++++++ dynamic_parser/examples/openai_test_demo.py | 102 ++ .../sample_data/custom_transaction.json | 90 ++ .../examples/sample_data/dao_vote.json | 58 ++ .../examples/sample_data/erc20_permit.json | 58 ++ .../examples/sample_data/lazy_nft_mint.json | 63 ++ .../examples/sample_data/seaport_order.json | 156 +++ .../examples/sample_data/snapshot_vote.json | 63 ++ .../sample_data/t2_unlimitedPermit.json | 32 + dynamic_parser/examples/test_data.py | 283 +++++ dynamic_parser/field_types.py | 150 +++ dynamic_parser/formatters.py | 314 ++++++ .../nlp_natural_language_generator.py | 364 +++++++ dynamic_parser/openai_nlp_generator.py | 700 +++++++++++++ dynamic_parser/patterns.py | 220 ++++ eip712_parser/dynamic_parser.py | 964 ++++++++++++++++++ eip712_parser/examples/README.md | 125 +++ .../__pycache__/test_data.cpython-39.pyc | Bin 0 -> 3400 bytes eip712_parser/examples/advanced_analysis.py | 301 ++++++ eip712_parser/examples/basic_usage.py | 158 +++ .../examples/dynamic_parsing_demo.py | 89 ++ .../examples/signature_detection_demo.py | 236 +++++ eip712_parser/examples/test_data.json | 34 + eip712_parser/examples/test_data.py | 241 +++++ eip712_parser/examples/test_json_file.py | 80 ++ eip712_parser/nft/__init__.py | 56 + .../nft/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 1122 bytes .../nft/__pycache__/blend.cpython-39.pyc | Bin 0 -> 1551 bytes .../nft/__pycache__/blur.cpython-39.pyc | Bin 0 -> 1537 bytes .../nft/__pycache__/looksrare.cpython-39.pyc | Bin 0 -> 1592 bytes .../nft/__pycache__/seaport.cpython-39.pyc | Bin 0 -> 7478 bytes .../__pycache__/seaport_v14.cpython-39.pyc | Bin 0 -> 1244 bytes eip712_parser/nft/blend.py | 46 + eip712_parser/nft/blur.py | 46 + eip712_parser/nft/looksrare.py | 46 + eip712_parser/nft/seaport.py | 277 +++++ eip712_parser/nft/seaport_v14.py | 35 + eip712_parser/parser.py | 108 ++ eth_transaction_parser/__init__.py | 20 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 660 bytes .../__pycache__/models.cpython-312.pyc | Bin 0 -> 7782 bytes .../__pycache__/models.cpython-39.pyc | Bin 0 -> 6010 bytes .../parameter_extractor.cpython-312.pyc | Bin 0 -> 13460 bytes .../parameter_extractor.cpython-39.pyc | Bin 0 -> 9323 bytes .../__pycache__/parser.cpython-312.pyc | Bin 0 -> 11922 bytes .../__pycache__/parser.cpython-39.pyc | Bin 0 -> 6987 bytes .../transaction_analyzer.cpython-312.pyc | Bin 0 -> 18547 bytes .../transaction_analyzer.cpython-39.pyc | Bin 0 -> 11305 bytes eth_transaction_parser/models.py | 213 ++++ eth_transaction_parser/parameter_extractor.py | 383 +++++++ eth_transaction_parser/parser.py | 269 +++++ eth_transaction_parser/tests/__init__.py | 3 + .../tests/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 244 bytes .../__pycache__/test_data.cpython-39.pyc | Bin 0 -> 3991 bytes eth_transaction_parser/tests/demo.py | 185 ++++ eth_transaction_parser/tests/test_data.py | 181 ++++ eth_transaction_parser/tests/test_parser.py | 306 ++++++ .../transaction_analyzer.py | 389 +++++++ parsers/__init__.py | 10 + parsers/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 388 bytes parsers/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 365 bytes parsers/__pycache__/unified.cpython-312.pyc | Bin 0 -> 10300 bytes parsers/__pycache__/unified.cpython-39.pyc | Bin 0 -> 6333 bytes parsers/unified.py | 225 ++++ personal_sign_parser/README.md | 183 ++++ personal_sign_parser/__init__.py | 20 + .../__pycache__/models.cpython-312.pyc | Bin 0 -> 5876 bytes .../__pycache__/models.cpython-39.pyc | Bin 0 -> 4620 bytes .../parameter_extractor.cpython-312.pyc | Bin 0 -> 12298 bytes .../parameter_extractor.cpython-39.pyc | Bin 0 -> 6839 bytes personal_sign_parser/models.py | 166 +++ personal_sign_parser/parameter_extractor.py | 252 +++++ personal_sign_parser/parser.py | 253 +++++ personal_sign_parser/template_detector.py | 329 ++++++ personal_sign_parser/tests/__init__.py | 5 + personal_sign_parser/tests/extraction_test.py | 53 + personal_sign_parser/tests/quick_example.py | 66 ++ personal_sign_parser/tests/test_data.py | 269 +++++ personal_sign_parser/tests/test_parser.py | 219 ++++ signature_classification/__init__.py | 19 + .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 649 bytes .../__pycache__/risk_analyzer.cpython-39.pyc | Bin 0 -> 11417 bytes .../signature_classifier.cpython-39.pyc | Bin 0 -> 9605 bytes .../signature_types.cpython-39.pyc | Bin 0 -> 3642 bytes .../signature_validator.cpython-39.pyc | Bin 0 -> 8725 bytes signature_classification/risk_analyzer.py | 419 ++++++++ .../signature_classifier.py | 366 +++++++ signature_classification/signature_types.py | 184 ++++ .../signature_validator.py | 327 ++++++ .../tools/signature_tester.py | 262 +++++ .../tools/test_samples.json | 312 ++++++ 100 files changed, 12872 insertions(+) create mode 100644 dynamic_parser/analyzers.py create mode 100644 dynamic_parser/core.py create mode 100644 dynamic_parser/demo_web_ui.py create mode 100644 dynamic_parser/examples/__pycache__/test_data.cpython-312.pyc create mode 100644 dynamic_parser/examples/__pycache__/test_data.cpython-39.pyc create mode 100644 dynamic_parser/examples/basic_usage.py create mode 100644 dynamic_parser/examples/demo.py create mode 100644 dynamic_parser/examples/integrated_nlp_demo.py create mode 100644 dynamic_parser/examples/json_file_tester.py create mode 100644 dynamic_parser/examples/nlp_demo.py create mode 100644 dynamic_parser/examples/openai_test_demo.py create mode 100644 dynamic_parser/examples/sample_data/custom_transaction.json create mode 100644 dynamic_parser/examples/sample_data/dao_vote.json create mode 100644 dynamic_parser/examples/sample_data/erc20_permit.json create mode 100644 dynamic_parser/examples/sample_data/lazy_nft_mint.json create mode 100644 dynamic_parser/examples/sample_data/seaport_order.json create mode 100644 dynamic_parser/examples/sample_data/snapshot_vote.json create mode 100644 dynamic_parser/examples/sample_data/t2_unlimitedPermit.json create mode 100644 dynamic_parser/examples/test_data.py create mode 100644 dynamic_parser/field_types.py create mode 100644 dynamic_parser/formatters.py create mode 100644 dynamic_parser/nlp_natural_language_generator.py create mode 100644 dynamic_parser/openai_nlp_generator.py create mode 100644 dynamic_parser/patterns.py create mode 100644 eip712_parser/dynamic_parser.py create mode 100644 eip712_parser/examples/README.md create mode 100644 eip712_parser/examples/__pycache__/test_data.cpython-39.pyc create mode 100644 eip712_parser/examples/advanced_analysis.py create mode 100644 eip712_parser/examples/basic_usage.py create mode 100644 eip712_parser/examples/dynamic_parsing_demo.py create mode 100644 eip712_parser/examples/signature_detection_demo.py create mode 100644 eip712_parser/examples/test_data.json create mode 100644 eip712_parser/examples/test_data.py create mode 100644 eip712_parser/examples/test_json_file.py create mode 100644 eip712_parser/nft/__init__.py create mode 100644 eip712_parser/nft/__pycache__/__init__.cpython-39.pyc create mode 100644 eip712_parser/nft/__pycache__/blend.cpython-39.pyc create mode 100644 eip712_parser/nft/__pycache__/blur.cpython-39.pyc create mode 100644 eip712_parser/nft/__pycache__/looksrare.cpython-39.pyc create mode 100644 eip712_parser/nft/__pycache__/seaport.cpython-39.pyc create mode 100644 eip712_parser/nft/__pycache__/seaport_v14.cpython-39.pyc create mode 100644 eip712_parser/nft/blend.py create mode 100644 eip712_parser/nft/blur.py create mode 100644 eip712_parser/nft/looksrare.py create mode 100644 eip712_parser/nft/seaport.py create mode 100644 eip712_parser/nft/seaport_v14.py create mode 100644 eip712_parser/parser.py create mode 100644 eth_transaction_parser/__init__.py create mode 100644 eth_transaction_parser/__pycache__/__init__.cpython-312.pyc create mode 100644 eth_transaction_parser/__pycache__/models.cpython-312.pyc create mode 100644 eth_transaction_parser/__pycache__/models.cpython-39.pyc create mode 100644 eth_transaction_parser/__pycache__/parameter_extractor.cpython-312.pyc create mode 100644 eth_transaction_parser/__pycache__/parameter_extractor.cpython-39.pyc create mode 100644 eth_transaction_parser/__pycache__/parser.cpython-312.pyc create mode 100644 eth_transaction_parser/__pycache__/parser.cpython-39.pyc create mode 100644 eth_transaction_parser/__pycache__/transaction_analyzer.cpython-312.pyc create mode 100644 eth_transaction_parser/__pycache__/transaction_analyzer.cpython-39.pyc create mode 100644 eth_transaction_parser/models.py create mode 100644 eth_transaction_parser/parameter_extractor.py create mode 100644 eth_transaction_parser/parser.py create mode 100644 eth_transaction_parser/tests/__init__.py create mode 100644 eth_transaction_parser/tests/__pycache__/__init__.cpython-39.pyc create mode 100644 eth_transaction_parser/tests/__pycache__/test_data.cpython-39.pyc create mode 100644 eth_transaction_parser/tests/demo.py create mode 100644 eth_transaction_parser/tests/test_data.py create mode 100644 eth_transaction_parser/tests/test_parser.py create mode 100644 eth_transaction_parser/transaction_analyzer.py create mode 100644 parsers/__init__.py create mode 100644 parsers/__pycache__/__init__.cpython-312.pyc create mode 100644 parsers/__pycache__/__init__.cpython-39.pyc create mode 100644 parsers/__pycache__/unified.cpython-312.pyc create mode 100644 parsers/__pycache__/unified.cpython-39.pyc create mode 100644 parsers/unified.py create mode 100644 personal_sign_parser/README.md create mode 100644 personal_sign_parser/__init__.py create mode 100644 personal_sign_parser/__pycache__/models.cpython-312.pyc create mode 100644 personal_sign_parser/__pycache__/models.cpython-39.pyc create mode 100644 personal_sign_parser/__pycache__/parameter_extractor.cpython-312.pyc create mode 100644 personal_sign_parser/__pycache__/parameter_extractor.cpython-39.pyc create mode 100644 personal_sign_parser/models.py create mode 100644 personal_sign_parser/parameter_extractor.py create mode 100644 personal_sign_parser/parser.py create mode 100644 personal_sign_parser/template_detector.py create mode 100644 personal_sign_parser/tests/__init__.py create mode 100644 personal_sign_parser/tests/extraction_test.py create mode 100644 personal_sign_parser/tests/quick_example.py create mode 100644 personal_sign_parser/tests/test_data.py create mode 100644 personal_sign_parser/tests/test_parser.py create mode 100644 signature_classification/__init__.py create mode 100644 signature_classification/__pycache__/__init__.cpython-39.pyc create mode 100644 signature_classification/__pycache__/risk_analyzer.cpython-39.pyc create mode 100644 signature_classification/__pycache__/signature_classifier.cpython-39.pyc create mode 100644 signature_classification/__pycache__/signature_types.cpython-39.pyc create mode 100644 signature_classification/__pycache__/signature_validator.cpython-39.pyc create mode 100644 signature_classification/risk_analyzer.py create mode 100644 signature_classification/signature_classifier.py create mode 100644 signature_classification/signature_types.py create mode 100644 signature_classification/signature_validator.py create mode 100644 signature_classification/tools/signature_tester.py create mode 100644 signature_classification/tools/test_samples.json diff --git a/dynamic_parser/analyzers.py b/dynamic_parser/analyzers.py new file mode 100644 index 0000000..9e84d5c --- /dev/null +++ b/dynamic_parser/analyzers.py @@ -0,0 +1,128 @@ +""" +动态解析器值分析器 +包含各种字段值的智能分析方法 +""" + +from typing import Any, Optional, Tuple +from .field_types import FieldType, FieldSemantic + + +class ValueAnalyzer: + """值分析器""" + + def __init__(self): + self.analyzers = [ + self.analyze_timestamp_value, + self.analyze_amount_value, + self.analyze_address_value, + self.analyze_percentage_value, + self.analyze_enum_value, + ] + + def analyze_timestamp_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析时间戳值""" + if not isinstance(field_value, (int, str)): + return None + + try: + timestamp = int(field_value) + # 检查是否是合理的时间戳范围 (2000年 - 2100年) + if 946684800 <= timestamp <= 4102444800: + # 检查是否是截止时间 + if any(keyword in field_name.lower() for keyword in ['deadline', 'expiry', 'expires']): + return (FieldType.DEADLINE, FieldSemantic.DEADLINE) + else: + return (FieldType.TIMESTAMP, FieldSemantic.TIMESTAMP) + except (ValueError, TypeError): + pass + + return None + + def analyze_amount_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析金额值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + amount = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是典型的ERC20金额 (18位小数) + if amount > 10**15: # 大于 0.001 ETH + if any(keyword in field_name_lower for keyword in ['amount', 'value', 'quantity']): + return (FieldType.AMOUNT, FieldSemantic.AMOUNT) + elif any(keyword in field_name_lower for keyword in ['price', 'cost']): + return (FieldType.AMOUNT, FieldSemantic.PRICE) + elif any(keyword in field_name_lower for keyword in ['fee', 'commission']): + return (FieldType.AMOUNT, FieldSemantic.FEE) + else: + return (FieldType.AMOUNT, FieldSemantic.VALUE) + except (ValueError, TypeError): + pass + + return None + + def analyze_address_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析地址值""" + if field_type != 'address' or not isinstance(field_value, str): + return None + + # 检查是否是有效的以太坊地址 + if not (field_value.startswith('0x') and len(field_value) == 42): + return None + + field_name_lower = field_name.lower() + + # 根据字段名推断地址类型 + if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): + return (FieldType.TOKEN_ADDRESS, FieldSemantic.COLLECTION) + elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): + return (FieldType.CONTRACT_ADDRESS, FieldSemantic.TYPE) + else: + return (FieldType.USER_ADDRESS, None) + + def analyze_percentage_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析百分比值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + value = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是百分比(0-100或0-10000的范围) + if (0 <= value <= 100 and any(keyword in field_name_lower for keyword in ['percent', 'ratio'])) or \ + (0 <= value <= 10000 and 'bps' in field_name_lower): + return (FieldType.PERCENTAGE, FieldSemantic.RATE) + except (ValueError, TypeError): + pass + + return None + + def analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析枚举值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + value = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是小范围的整数(可能是枚举) + if 0 <= value <= 20: + if any(keyword in field_name_lower for keyword in ['type', 'kind', 'status', 'state', 'mode']): + return (FieldType.ENUM_VALUE, FieldSemantic.TYPE) + elif any(keyword in field_name_lower for keyword in ['support', 'vote']): + return (FieldType.ENUM_VALUE, FieldSemantic.VOTE_TYPE) + except (ValueError, TypeError): + pass + + return None + + def analyze_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: + """分析字段值,返回推断的类型和语义""" + for analyzer in self.analyzers: + result = analyzer(field_name, field_type, field_value) + if result: + return result + return None \ No newline at end of file diff --git a/dynamic_parser/core.py b/dynamic_parser/core.py new file mode 100644 index 0000000..07020f8 --- /dev/null +++ b/dynamic_parser/core.py @@ -0,0 +1,358 @@ +""" +动态解析器核心模块 +包含主要的解析逻辑、字段推断和结构体解析功能 +""" + +import re +from typing import Dict, List, Any, Optional, Tuple +from .field_types import ( + FieldInfo, StructInfo, EIP712ParseResult, + FieldType, FieldSemantic +) +from .patterns import PatternMatcher +from .analyzers import ValueAnalyzer +from .formatters import DescriptionFormatter, ResultFormatter +from .nlp_natural_language_generator import create_nlp_generator, NaturalLanguageOutput + + +class DynamicEIP712Parser: + """动态 EIP712 解析器核心类""" + + def __init__(self, enable_nlp: bool = False, nlp_config: Optional[Dict[str, Any]] = None): + """ + 初始化动态EIP712解析器 + + Args: + enable_nlp: 是否启用NLP自然语言生成功能 + nlp_config: NLP配置字典 + """ + self.types: Dict[str, List[Dict[str, str]]] = {} + self.pattern_matcher = PatternMatcher() + self.value_analyzer = ValueAnalyzer() + self.description_formatter = DescriptionFormatter() + self.result_formatter = ResultFormatter() + + # NLP自然语言生成功能 + self.enable_nlp = enable_nlp + self.nlp_generator = None + if enable_nlp: + try: + self.nlp_generator = create_nlp_generator() + print("🔤 NLP自然语言生成器已启用") + except Exception as e: + print(f"⚠️ NLP自然语言生成器初始化失败: {e}") + self.enable_nlp = False + + def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: + """ + 解析 EIP712 数据 + + Args: + eip712_data: EIP712 格式的数据 + + Returns: + 解析结果 + """ + if not self._validate_eip712_data(eip712_data): + raise ValueError("无效的 EIP712 数据格式") + + self.types = eip712_data['types'] + + # 解析域信息 + domain_struct = self._parse_struct("EIP712Domain", eip712_data['domain']) + + # 解析主要消息 + primary_type = eip712_data['primaryType'] + message_struct = self._parse_struct(primary_type, eip712_data['message']) + + return EIP712ParseResult( + domain=domain_struct, + primary_type=primary_type, + message=message_struct, + raw_data=eip712_data + ) + + def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: + """验证 EIP712 数据格式""" + required_fields = ['types', 'domain', 'primaryType', 'message'] + + for field in required_fields: + if field not in data: + return False + + if 'EIP712Domain' not in data['types']: + return False + + if data['primaryType'] not in data['types']: + return False + + return True + + def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> StructInfo: + """ + 解析结构体(增强版) + + Args: + struct_name: 结构体名称 + struct_data: 结构体数据 + + Returns: + 结构体信息 + """ + if struct_name not in self.types: + raise ValueError(f"未找到结构体定义: {struct_name}") + + struct_definition = self.types[struct_name] + field_names = [field_def['name'] for field_def in struct_definition] + + # 检测结构体上下文类型 + struct_context = self._detect_struct_context(struct_name, field_names) + + fields = [] + for field_def in struct_definition: + field_name = field_def['name'] + field_type = field_def['type'] + field_value = struct_data.get(field_name) + + field_info = self._parse_field(field_name, field_type, field_value, struct_context) + fields.append(field_info) + + description = self.description_formatter.generate_struct_description( + struct_name, fields, struct_context + ) + + return StructInfo( + name=struct_name, + fields=fields, + description=description, + struct_type=struct_context + ) + + def _parse_field(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> FieldInfo: + """ + 解析字段(增强版) + + Args: + field_name: 字段名 + field_type: 字段类型 + field_value: 字段值 + struct_context: 结构体上下文 + + Returns: + 字段信息 + """ + # 解析类型 + is_array = field_type.endswith('[]') + array_element_type = None + base_type = field_type + + if is_array: + base_type = field_type[:-2] + array_element_type = base_type + + # 推断字段类型 + inferred_type = self._infer_field_type(field_name, base_type, field_value) + + # 推断语义 + semantic = self._infer_semantic(field_name, base_type, field_value, struct_context) + + # 处理子结构 + children = [] + if base_type in self.types and field_value is not None: + if is_array and isinstance(field_value, list): + for i, item in enumerate(field_value): + if isinstance(item, dict): + child_struct = self._parse_struct(base_type, item) + child_field = FieldInfo( + name=f"[{i}]", + type_name=base_type, + field_type=FieldType.STRUCT, + semantic=None, + value=item, + description=f"数组元素 {i}", + children=[FieldInfo( + name=child.name, + type_name=child.type_name, + field_type=child.field_type, + semantic=child.semantic, + value=child.value, + description=child.description + ) for child in child_struct.fields] + ) + children.append(child_field) + elif isinstance(field_value, dict): + child_struct = self._parse_struct(base_type, field_value) + children = [FieldInfo( + name=child.name, + type_name=child.type_name, + field_type=child.field_type, + semantic=child.semantic, + value=child.value, + description=child.description + ) for child in child_struct.fields] + + # 收集上下文提示 + context_hints = [] + if struct_context: + context_hints.append(f"结构体类型: {struct_context}") + + # 生成描述 + description = self.description_formatter.generate_field_description( + field_name, inferred_type, semantic, field_value + ) + + return FieldInfo( + name=field_name, + type_name=field_type, + field_type=inferred_type, + semantic=semantic, + value=field_value, + description=description, + is_array=is_array, + array_element_type=array_element_type, + children=children, + context_hints=context_hints + ) + + def _detect_struct_context(self, struct_name: str, field_names: List[str]) -> Optional[str]: + """检测结构体上下文类型""" + return self.pattern_matcher.detect_context(struct_name, field_names) + + def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) -> FieldType: + """推断字段类型(增强版)""" + field_name_lower = field_name.lower() + + # 首先使用值分析器 + result = self.value_analyzer.analyze_value(field_name, field_type, field_value) + if result: + return result[0] + + # 使用类型模式匹配 + inferred_type = self.pattern_matcher.infer_field_type(field_name, field_type) + if inferred_type != FieldType.UNKNOWN: + return inferred_type + + # 基于字段类型的默认推断 + if field_type.startswith('uint') or field_type.startswith('int'): + # 进一步推断是否为金额、时间戳等 + if any(keyword in field_name_lower for keyword in ['amount', 'value', 'price', 'fee', 'cost', 'quantity']): + return FieldType.AMOUNT + elif any(keyword in field_name_lower for keyword in ['time', 'deadline', 'expiry', 'expires', 'timestamp']): + return FieldType.TIMESTAMP + elif 'nonce' in field_name_lower: + return FieldType.NONCE + else: + return FieldType.UINT if field_type.startswith('uint') else FieldType.INT + + elif field_type == 'address': + # 根据字段名推断地址类型 + if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): + return FieldType.TOKEN_ADDRESS + elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): + return FieldType.CONTRACT_ADDRESS + else: + return FieldType.USER_ADDRESS + + elif field_type == 'string': + return FieldType.STRING + + elif field_type == 'bool': + return FieldType.BOOL + + elif field_type.startswith('bytes'): + if 'hash' in field_name_lower: + return FieldType.HASH + elif 'signature' in field_name_lower: + return FieldType.SIGNATURE + else: + return FieldType.BYTES + + elif field_type in self.types: + return FieldType.STRUCT + + elif field_type.endswith('[]'): + return FieldType.ARRAY + + else: + return FieldType.STRING # 默认类型 + + def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> Optional[FieldSemantic]: + """推断字段语义""" + # 首先使用值分析器 + result = self.value_analyzer.analyze_value(field_name, field_type, field_value) + if result and result[1]: + return result[1] + + # 使用语义模式匹配 + semantic = self.pattern_matcher.infer_semantic(field_name) + if semantic: + return semantic + + return None + + def format_result(self, result: EIP712ParseResult) -> str: + """格式化解析结果为可读文本""" + return self.result_formatter.format_result(result) + + def analyze_eip712(self, eip712_data: Dict[str, Any]) -> dict: + """分析EIP712数据并返回结构化结果""" + result = self.parse(eip712_data) + return self.result_formatter.format_structured_analysis(result) + + def parse_and_format(self, eip712_data: Dict[str, Any]) -> str: + """解析并格式化EIP712数据""" + result = self.parse(eip712_data) + return self.format_result(result) + + def generate_natural_language(self, eip712_data: Dict[str, Any]) -> NaturalLanguageOutput: + """ + 生成自然语言描述 + + Args: + eip712_data: EIP712格式数据 + + Returns: + NaturalLanguageOutput: 自然语言输出结果 + + Raises: + ValueError: 如果NLP功能未启用 + """ + if not self.enable_nlp or not self.nlp_generator: + raise ValueError("NLP自然语言生成功能未启用。请在初始化时设置 enable_nlp=True") + + return self.nlp_generator.convert_to_natural_language(eip712_data) + + def analyze_with_natural_language(self, eip712_data: Dict[str, Any]) -> dict: + """ + 结合传统分析和自然语言生成的完整分析 + + Args: + eip712_data: EIP712格式数据 + + Returns: + dict: 包含传统分析结果和自然语言描述的完整分析 + """ + # 进行传统分析 + traditional_result = self.analyze_eip712(eip712_data) + + # 如果启用了NLP功能,添加自然语言描述 + natural_language_result = None + if self.enable_nlp and self.nlp_generator: + try: + nl_output = self.generate_natural_language(eip712_data) + natural_language_result = { + "title": nl_output.title, + "summary": nl_output.summary, + "detailed_description": nl_output.detailed_description, + "field_descriptions": nl_output.field_descriptions, + "context": nl_output.context, + "action_summary": nl_output.action_summary + } + except Exception as e: + print(f"⚠️ 自然语言生成失败: {e}") + + return { + "traditional_analysis": traditional_result, + "natural_language": natural_language_result, + "has_natural_language": natural_language_result is not None + } \ No newline at end of file diff --git a/dynamic_parser/demo_web_ui.py b/dynamic_parser/demo_web_ui.py new file mode 100644 index 0000000..59a35c0 --- /dev/null +++ b/dynamic_parser/demo_web_ui.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +""" +EIP712 签名解析器 Web UI 演示脚本 +展示如何使用Web UI进行签名解析 +""" + +import json +import time +from pathlib import Path +from examples.test_data import ALL_TEST_DATA + +def print_banner(): + """打印横幅""" + print("=" * 60) + print("🚀 EIP712 签名解析器 Web UI 演示") + print("=" * 60) + print() + +def show_test_data(): + """显示测试数据""" + print("📋 可用的测试数据:") + print("-" * 30) + + for i, (name, data) in enumerate(ALL_TEST_DATA.items(), 1): + print(f"{i}. {name}") + print(f" 类型: {data.get('primaryType', 'Unknown')}") + print(f" 域名: {data.get('domain', {}).get('name', 'Unknown')}") + print() + +def demo_usage(): + """演示使用方法""" + print("🎯 使用方法:") + print("-" * 30) + + print("1. 启动Web UI:") + print(" python run_ui.py") + print() + + print("2. 访问浏览器:") + print(" http://localhost:5000") + print() + + print("3. 输入测试数据:") + print(" 点击'加载测试数据'按钮") + print(" 选择一个测试数据样本") + print() + + print("4. 解析签名:") + print(" 点击'解析签名'按钮") + print(" 查看解析结果") + print() + +def show_sample_data(): + """显示示例数据""" + print("📄 示例数据 (ERC20 Permit):") + print("-" * 30) + + sample_data = ALL_TEST_DATA.get('ERC20_PERMIT', {}) + if sample_data: + print(json.dumps(sample_data, indent=2, ensure_ascii=False)) + else: + print("未找到示例数据") + print() + +def show_features(): + """显示功能特性""" + print("✨ 功能特性:") + print("-" * 30) + + features = [ + "直观的用户界面", + "实时解析EIP712签名", + "智能字段类型识别", + "NLP自然语言生成", + "多种测试数据样本", + "详细的结构体展示", + "格式化结果显示", + "错误处理和调试信息", + "响应式设计", + "键盘快捷键支持" + ] + + for feature in features: + print(f"• {feature}") + print() + +def show_tips(): + """显示使用技巧""" + print("💡 使用技巧:") + print("-" * 30) + + tips = [ + "使用 Ctrl+Enter 快速解析签名", + "使用 Ctrl+K 快速清空输入", + "启用NLP功能获得自然语言描述", + "查看'结构详情'标签页了解字段类型", + "使用'导出结果'功能保存解析结果", + "在移动设备上也能完美使用", + "支持复制解析结果到剪贴板", + "查看详细错误信息进行调试" + ] + + for tip in tips: + print(f"• {tip}") + print() + +def main(): + """主函数""" + print_banner() + + # 显示功能特性 + show_features() + + # 显示使用方法 + demo_usage() + + # 显示测试数据 + show_test_data() + + # 显示使用技巧 + show_tips() + + # 显示示例数据 + show_sample_data() + + print("🎉 准备好了!现在运行 `python run_ui.py` 启动Web UI") + print("=" * 60) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/__pycache__/test_data.cpython-312.pyc b/dynamic_parser/examples/__pycache__/test_data.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..38a8e7d57a93cc5d3235d63bd17c724f1b340455 GIT binary patch literal 4993 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/examples/basic_usage.py b/dynamic_parser/examples/basic_usage.py new file mode 100644 index 0000000..d8313c9 --- /dev/null +++ b/dynamic_parser/examples/basic_usage.py @@ -0,0 +1,65 @@ +""" +动态解析器基本使用示例 +""" + +import sys +import os + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from dynamic_parser import DynamicEIP712Parser, parse_and_format, analyze_eip712 +from test_data import ERC20_PERMIT, SEAPORT_ORDER + + +def main(): + """基本使用示例""" + + print("=" * 60) + print("动态 EIP712 解析器 - 基本使用示例") + print("=" * 60) + + # 创建解析器实例 + parser = DynamicEIP712Parser() + + # 示例 1: 解析 ERC20 Permit + print("\n示例 1: ERC20 Permit 授权") + print("-" * 30) + + try: + result = parser.parse_and_format(ERC20_PERMIT) + print(result) + except Exception as e: + print(f"解析失败: {e}") + + # 示例 2: 解析 Seaport 订单 + print("\n示例 2: Seaport NFT 订单") + print("-" * 30) + + try: + result = parser.parse_and_format(SEAPORT_ORDER) + print(result) + except Exception as e: + print(f"解析失败: {e}") + + # 示例 3: 使用便捷函数 + print("\n示例 3: 使用便捷函数") + print("-" * 30) + + try: + # 直接格式化输出 + result = parse_and_format(ERC20_PERMIT) + print("便捷函数解析结果:") + print(result[:200] + "..." if len(result) > 200 else result) + + # 获取结构化分析 + analysis = analyze_eip712(ERC20_PERMIT) + print(f"\n结构化分析 - 字段数量: {analysis['field_count']}") + print(f"主要类型: {analysis['primary_type']}") + + except Exception as e: + print(f"便捷函数使用失败: {e}") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/demo.py b/dynamic_parser/examples/demo.py new file mode 100644 index 0000000..7a3f209 --- /dev/null +++ b/dynamic_parser/examples/demo.py @@ -0,0 +1,45 @@ +""" +动态解析器完整演示 +展示所有功能和特性 +""" + +import sys +import os + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from dynamic_parser import DynamicEIP712Parser +from test_data import ALL_TEST_DATA + + +def demo_parser(): + """完整演示动态解析器的功能""" + + + parser = DynamicEIP712Parser() + + for name, data in ALL_TEST_DATA.items(): + print(f"\n📋 测试数据: {name.upper()}") + print("=" * 80) + + try: + # 解析数据 + result = parser.parse(data) + formatted_result = parser.format_result(result) + + print(formatted_result) + + except Exception as e: + print(f"❌ 解析失败: {e}") + continue + + + +def main(): + """主函数""" + demo_parser() + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/integrated_nlp_demo.py b/dynamic_parser/examples/integrated_nlp_demo.py new file mode 100644 index 0000000..ede0fc4 --- /dev/null +++ b/dynamic_parser/examples/integrated_nlp_demo.py @@ -0,0 +1,214 @@ +""" +集成NLP功能演示 +展示如何在核心EIP712解析器中使用NLP自然语言生成功能 +""" + +import sys +import os +import json + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from core import DynamicEIP712Parser + + +def demo_integrated_nlp(): + """演示集成的NLP功能""" + print("🔗 集成NLP功能演示") + print("=" * 60) + + # 创建带有NLP功能的解析器 + parser = DynamicEIP712Parser(enable_nlp=True) + + # 示例EIP712数据 + permit_data = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Permit": [ + {"name": "owner", "type": "address"}, + {"name": "spender", "type": "address"}, + {"name": "value", "type": "uint256"}, + {"name": "nonce", "type": "uint256"}, + {"name": "deadline", "type": "uint256"} + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USDC", + "version": "2", + "chainId": 1, + "verifyingContract": "0xA0b86a33E6411B3036c2F0F1AB5C6F3f22dd20f5" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "1000000000000000000000", + "nonce": 42, + "deadline": 1699987456 + } + } + + print("\n1️⃣ 仅使用自然语言生成:") + try: + nl_result = parser.generate_natural_language(permit_data) + print(f" 📋 标题: {nl_result.title}") + print(f" 📖 摘要: {nl_result.summary}") + print(f" ⚡ 操作: {nl_result.action_summary}") + print(f" 🌍 环境: {nl_result.context}") + except Exception as e: + print(f" ❌ 失败: {e}") + + print("\n2️⃣ 完整分析(传统+自然语言):") + try: + full_result = parser.analyze_with_natural_language(permit_data) + + print(f" 🔍 传统分析字段数: {full_result['traditional_analysis']['field_count']}") + print(f" 🤖 自然语言可用: {full_result['has_natural_language']}") + + if full_result['natural_language']: + nl = full_result['natural_language'] + print(f" 📝 自然语言标题: {nl['title']}") + print(f" 📖 自然语言摘要: {nl['summary']}") + + except Exception as e: + print(f" ❌ 失败: {e}") + + +def demo_without_nlp(): + """演示未启用NLP功能时的行为""" + print("\n🚫 未启用NLP功能演示") + print("=" * 60) + + # 创建不带NLP功能的解析器 + parser = DynamicEIP712Parser(enable_nlp=False) + + permit_data = { + "types": {"Permit": [{"name": "owner", "type": "address"}]}, + "primaryType": "Permit", + "domain": {"name": "Test"}, + "message": {"owner": "0x123..."} + } + + print("\n尝试生成自然语言描述:") + try: + nl_result = parser.generate_natural_language(permit_data) + print(f" ✅ 成功: {nl_result.title}") + except ValueError as e: + print(f" ⚠️ 预期错误: {e}") + except Exception as e: + print(f" ❌ 意外错误: {e}") + + +def demo_with_json_files(): + """从JSON文件演示""" + print("\n📁 JSON文件演示") + print("=" * 60) + + parser = DynamicEIP712Parser(enable_nlp=True) + + # 尝试加载JSON文件 + json_files = [ + "sample_data/erc20_permit.json", + "sample_data/dao_vote.json" + ] + + base_path = os.path.dirname(os.path.abspath(__file__)) + + for json_file in json_files: + file_path = os.path.join(base_path, json_file) + print(f"\n📄 处理文件: {json_file}") + + if os.path.exists(file_path): + try: + with open(file_path, 'r', encoding='utf-8') as f: + data = json.load(f) + + result = parser.analyze_with_natural_language(data) + + if result['has_natural_language']: + nl = result['natural_language'] + print(f" 📋 {nl['title']}") + print(f" 📖 {nl['summary']}") + else: + print(" ⚠️ 自然语言生成不可用") + + except Exception as e: + print(f" ❌ 处理失败: {e}") + else: + print(f" ⚠️ 文件不存在") + + +def compare_traditional_vs_nlp(): + """比较传统分析和NLP输出的差异""" + print("\n⚖️ 传统分析 vs NLP输出对比") + print("=" * 60) + + # 创建两个解析器进行对比 + traditional_parser = DynamicEIP712Parser(enable_nlp=False) + nlp_parser = DynamicEIP712Parser(enable_nlp=True) + + sample_data = { + "types": { + "EIP712Domain": [{"name": "name", "type": "string"}], + "Order": [ + {"name": "maker", "type": "address"}, + {"name": "taker", "type": "address"}, + {"name": "amount", "type": "uint256"} + ] + }, + "primaryType": "Order", + "domain": {"name": "DEX"}, + "message": { + "maker": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "taker": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "amount": "1000000000000000000" + } + } + + print("\n📊 传统分析结果:") + try: + traditional_result = traditional_parser.analyze_eip712(sample_data) + print(f" 主类型: {traditional_result['primary_type']}") + print(f" 字段数: {traditional_result['field_count']}") + print(f" 描述: {traditional_result['message_description']}") + except Exception as e: + print(f" ❌ 失败: {e}") + + print("\n🔤 NLP分析结果:") + try: + nlp_result = nlp_parser.generate_natural_language(sample_data) + print(f" 标题: {nlp_result.title}") + print(f" 摘要: {nlp_result.summary}") + print(f" 操作: {nlp_result.action_summary}") + except Exception as e: + print(f" ❌ 失败: {e}") + + +def main(): + """主函数""" + print("🚀 EIP712解析器集成NLP功能演示") + print("这个演示展示如何在现有的EIP712解析器中集成NLP自然语言生成功能") + print("=" * 80) + + # 运行各种演示 + demo_integrated_nlp() + demo_without_nlp() + demo_with_json_files() + compare_traditional_vs_nlp() + + print("\n✅ 演示完成!") + print("\n💡 集成使用说明:") + print(" 1. 创建解析器: parser = DynamicEIP712Parser(enable_nlp=True)") + print(" 2. 生成自然语言: nl_result = parser.generate_natural_language(data)") + print(" 3. 完整分析: full_result = parser.analyze_with_natural_language(data)") + print(" 4. 传统分析: traditional_result = parser.analyze_eip712(data)") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/json_file_tester.py b/dynamic_parser/examples/json_file_tester.py new file mode 100644 index 0000000..53d3c0e --- /dev/null +++ b/dynamic_parser/examples/json_file_tester.py @@ -0,0 +1,255 @@ +""" +JSON文件测试器 +支持读取外部JSON文件中的EIP712数据并进行解析 +""" + +import sys +import os +import json +import argparse +from pathlib import Path + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from dynamic_parser import DynamicEIP712Parser, parse_and_format, analyze_eip712 + + +class JsonFileTester: + """JSON文件测试器""" + + def __init__(self): + self.parser = DynamicEIP712Parser() + + def read_json_file(self, file_path: str) -> dict: + """ + 读取JSON文件 + + Args: + file_path: JSON文件路径 + + Returns: + 解析后的字典数据 + """ + try: + with open(file_path, 'r', encoding='utf-8') as f: + data = json.load(f) + return data + except FileNotFoundError: + print(f"❌ 文件未找到: {file_path}") + return None + except json.JSONDecodeError as e: + print(f"❌ JSON格式错误: {e}") + return None + except Exception as e: + print(f"❌ 读取文件失败: {e}") + return None + + def validate_eip712_data(self, data: dict) -> bool: + """ + 验证是否为有效的EIP712数据 + + Args: + data: 待验证的数据 + + Returns: + 是否为有效的EIP712数据 + """ + required_fields = ['types', 'domain', 'primaryType', 'message'] + + if not isinstance(data, dict): + print("❌ 数据格式错误: 不是有效的字典格式") + return False + + missing_fields = [field for field in required_fields if field not in data] + if missing_fields: + print(f"❌ 缺少必要字段: {', '.join(missing_fields)}") + return False + + if 'EIP712Domain' not in data['types']: + print("❌ 缺少EIP712Domain类型定义") + return False + + if data['primaryType'] not in data['types']: + print(f"❌ 主要类型 '{data['primaryType']}' 未在types中定义") + return False + + return True + + def test_single_file(self, file_path: str, output_format: str = 'formatted') -> bool: + """ + 测试单个JSON文件 + + Args: + file_path: JSON文件路径 + output_format: 输出格式 ('formatted', 'structured', 'both') + + Returns: + 是否测试成功 + """ + print(f"\n📋 测试文件: {file_path}") + print("=" * 60) + + # 读取文件 + data = self.read_json_file(file_path) + if data is None: + return False + + # 验证数据格式 + if not self.validate_eip712_data(data): + return False + + try: + # 解析数据 + if output_format in ['formatted', 'both']: + print("\n📝 格式化输出:") + result = parse_and_format(data) + print(result) + + if output_format in ['structured', 'both']: + print("\n📊 结构化分析:") + analysis = analyze_eip712(data) + self._print_structured_analysis(analysis) + + print("\n✅ 测试成功!") + return True + + except Exception as e: + print(f"❌ 解析失败: {e}") + return False + + def test_directory(self, directory_path: str, output_format: str = 'formatted') -> dict: + """ + 测试目录下的所有JSON文件 + + Args: + directory_path: 目录路径 + output_format: 输出格式 + + Returns: + 测试结果统计 + """ + directory = Path(directory_path) + if not directory.exists(): + print(f"❌ 目录不存在: {directory_path}") + return {'success': 0, 'failed': 0, 'total': 0} + + json_files = list(directory.glob('*.json')) + if not json_files: + print(f"❌ 目录中没有找到JSON文件: {directory_path}") + return {'success': 0, 'failed': 0, 'total': 0} + + print(f"\n🚀 批量测试目录: {directory_path}") + print(f"📁 找到 {len(json_files)} 个JSON文件") + print("=" * 80) + + success_count = 0 + failed_count = 0 + + for json_file in json_files: + success = self.test_single_file(str(json_file), output_format) + if success: + success_count += 1 + else: + failed_count += 1 + + # 输出统计结果 + total = len(json_files) + print(f"\n📈 测试统计:") + print(f" • 总文件数: {total}") + print(f" • 成功: {success_count} ({success_count/total:.1%})") + print(f" • 失败: {failed_count} ({failed_count/total:.1%})") + + return { + 'success': success_count, + 'failed': failed_count, + 'total': total + } + + def _print_structured_analysis(self, analysis: dict): + """打印结构化分析结果""" + print(f" 主要类型: {analysis['primary_type']}") + print(f" 结构描述: {analysis['message_description']}") + print(f" 字段数量: {analysis['field_count']}") + + print(f"\n 字段详情:") + for field in analysis['fields']: + confidence_str = f"{field['confidence']:.0%}" if field['confidence'] > 0 else "N/A" + semantic_str = field['semantic'] or "未识别" + print(f" • {field['name']}: {semantic_str} ({confidence_str})") + + def create_sample_files(self, output_dir: str = "sample_data"): + """ + 创建示例JSON文件用于测试 + + Args: + output_dir: 输出目录 + """ + from test_data import ALL_TEST_DATA + + # 创建输出目录 + output_path = Path(output_dir) + output_path.mkdir(exist_ok=True) + + print(f"\n📁 创建示例JSON文件到目录: {output_dir}") + + created_files = [] + for name, data in ALL_TEST_DATA.items(): + file_path = output_path / f"{name}.json" + try: + with open(file_path, 'w', encoding='utf-8') as f: + json.dump(data, f, indent=2, ensure_ascii=False) + created_files.append(file_path) + print(f" ✅ 创建: {file_path}") + except Exception as e: + print(f" ❌ 创建失败 {file_path}: {e}") + + print(f"\n🎉 成功创建 {len(created_files)} 个示例文件!") + return created_files + + +def main(): + """主函数""" + parser = argparse.ArgumentParser(description='EIP712 JSON文件测试器') + parser.add_argument('path', nargs='?', help='JSON文件或目录路径') + parser.add_argument('--format', '-f', choices=['formatted', 'structured', 'both'], + default='formatted', help='输出格式') + parser.add_argument('--create-samples', '-c', action='store_true', + help='创建示例JSON文件') + parser.add_argument('--sample-dir', '-d', default='sample_data', + help='示例文件输出目录') + + args = parser.parse_args() + + tester = JsonFileTester() + + # 创建示例文件 + if args.create_samples: + tester.create_sample_files(args.sample_dir) + if not args.path: + args.path = args.sample_dir + + # 如果没有指定路径,显示帮助 + if not args.path: + parser.print_help() + print(f"\n💡 提示:") + print(f" • 测试单个文件: python json_file_tester.py sample.json") + print(f" • 测试整个目录: python json_file_tester.py ./sample_data/") + print(f" • 创建示例文件: python json_file_tester.py --create-samples") + return + + # 判断是文件还是目录 + path = Path(args.path) + + if path.is_file(): + # 测试单个文件 + tester.test_single_file(str(path), args.format) + elif path.is_dir(): + # 测试目录 + tester.test_directory(str(path), args.format) + else: + print(f"❌ 路径不存在: {args.path}") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/nlp_demo.py b/dynamic_parser/examples/nlp_demo.py new file mode 100644 index 0000000..c7e68a5 --- /dev/null +++ b/dynamic_parser/examples/nlp_demo.py @@ -0,0 +1,294 @@ +""" +NLP自然语言生成器演示 +展示如何直接使用NLP模型将结构化EIP712数据转换为自然语言输出 +""" + +import sys +import os +import json + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from nlp_natural_language_generator import create_nlp_generator, NaturalLanguageOutput + + +def print_natural_language_output(output: NaturalLanguageOutput): + """打印自然语言输出结果""" + print("=" * 80) + print(f"📋 标题: {output.title}") + print("=" * 80) + + print(f"\n📖 简要总结:") + print(f" {output.summary}") + + print(f"\n🔍 详细描述:") + print(f" {output.detailed_description}") + + print(f"\n📝 字段详情:") + for field_desc in output.field_descriptions: + print(f" {field_desc}") + + print(f"\n🌍 执行环境:") + print(f" {output.context}") + + print(f"\n⚡ 操作总结:") + print(f" {output.action_summary}") + + print("\n" + "=" * 80) + + +def demo_erc20_permit(): + """演示ERC20授权许可的自然语言转换""" + print("\n🚀 演示1: ERC20代币授权许可") + + # ERC20 Permit数据 + erc20_permit_data = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Permit": [ + {"name": "owner", "type": "address"}, + {"name": "spender", "type": "address"}, + {"name": "value", "type": "uint256"}, + {"name": "nonce", "type": "uint256"}, + {"name": "deadline", "type": "uint256"} + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 1, + "verifyingContract": "0xA0b86a33E6411B3036c2F0F1AB5C6F3f22dd20f5" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "1000000000000000000000", + "nonce": 42, + "deadline": 1699987456 + } + } + + # 创建NLP生成器 + generator = create_nlp_generator() + + # 转换为自然语言 + result = generator.convert_to_natural_language(erc20_permit_data) + + # 输出结果 + print_natural_language_output(result) + + +def demo_seaport_order(): + """演示Seaport NFT订单的自然语言转换""" + print("\n🚀 演示2: Seaport NFT市场订单") + + # Seaport Order数据(简化版) + seaport_order_data = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "OrderComponents": [ + {"name": "offerer", "type": "address"}, + {"name": "zone", "type": "address"}, + {"name": "offer", "type": "OfferItem[]"}, + {"name": "consideration", "type": "ConsiderationItem[]"}, + {"name": "orderType", "type": "uint8"}, + {"name": "startTime", "type": "uint256"}, + {"name": "endTime", "type": "uint256"}, + {"name": "salt", "type": "uint256"} + ] + }, + "primaryType": "OrderComponents", + "domain": { + "name": "Seaport", + "version": "1.4", + "chainId": 1, + "verifyingContract": "0x00000000006c3852cbEf3e08E8dF289169EdE581" + }, + "message": { + "offerer": "0x8ba1f109551bD432803012645Hac136c22C04e2D", + "zone": "0x0000000000000000000000000000000000000000", + "offer": [ + { + "itemType": 2, + "token": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", + "identifierOrCriteria": "8547", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": 0, + "token": "0x0000000000000000000000000000000000000000", + "identifierOrCriteria": "0", + "startAmount": "975000000000000000", + "endAmount": "975000000000000000", + "recipient": "0x8ba1f109551bD432803012645Hac136c22C04e2D" + } + ], + "orderType": 0, + "startTime": 1699143856, + "endTime": 1700007856, + "salt": 123456789 + } + } + + # 创建NLP生成器 + generator = create_nlp_generator() + + # 转换为自然语言 + result = generator.convert_to_natural_language(seaport_order_data) + + # 输出结果 + print_natural_language_output(result) + + +def demo_with_template_generation(): + """演示使用模板的自然语言生成""" + print("\n🚀 演示3: 使用模板进行自然语言生成") + + # 简单的投票数据 + vote_data = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"} + ], + "Vote": [ + {"name": "voter", "type": "address"}, + {"name": "proposal", "type": "uint256"}, + {"name": "support", "type": "uint8"} + ] + }, + "primaryType": "Vote", + "domain": { + "name": "GovernanceDAO", + "version": "1", + "chainId": 1 + }, + "message": { + "voter": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "proposal": 15, + "support": 1 + } + } + + # 使用NLP模板生成 + try: + generator = create_nlp_generator() + result = generator.convert_to_natural_language(vote_data) + print_natural_language_output(result) + except Exception as e: + print(f"NLP生成失败: {e}") + + +def demo_from_json_file(): + """从JSON文件加载数据进行演示""" + print("\n🚀 演示4: 从JSON文件加载数据") + + # 尝试加载示例JSON文件 + json_files = [ + "sample_data/erc20_permit.json", + "sample_data/seaport_order.json", + "sample_data/dao_vote.json" + ] + + base_path = os.path.dirname(os.path.abspath(__file__)) + generator = create_nlp_generator() + + for json_file in json_files: + file_path = os.path.join(base_path, json_file) + if os.path.exists(file_path): + print(f"\n📁 加载文件: {json_file}") + try: + with open(file_path, 'r', encoding='utf-8') as f: + data = json.load(f) + + result = generator.convert_to_natural_language(data) + print_natural_language_output(result) + + except Exception as e: + print(f" ❌ 处理文件失败: {e}") + else: + print(f" ⚠️ 文件不存在: {json_file}") + + +def compare_outputs(): + """比较不同输出格式""" + print("\n🚀 演示5: 输出格式比较") + + # 使用简单的数据进行比较 + simple_data = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "chainId", "type": "uint256"} + ], + "Transfer": [ + {"name": "from", "type": "address"}, + {"name": "to", "type": "address"}, + {"name": "amount", "type": "uint256"} + ] + }, + "primaryType": "Transfer", + "domain": { + "name": "MyToken", + "chainId": 1 + }, + "message": { + "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "to": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "amount": "5000000000000000000" + } + } + + generator = create_nlp_generator() + result = generator.convert_to_natural_language(simple_data) + + print("🎯 自然语言格式输出:") + print_natural_language_output(result) + + print("\n📊 结构化格式对比:") + print(" 传统格式:字段列表 + 技术描述") + print(" NLP格式:流畅中文 + 上下文解释") + print(" 优势:更容易理解,适合普通用户") + + +def main(): + """主函数""" + print("🔤 EIP712结构化数据NLP自然语言生成器演示") + print("=" * 80) + print("本演示展示如何直接使用NLP技术将复杂的EIP712结构化数据") + print("转换为流畅的中文自然语言描述,无需依赖AI增强分析。") + print("=" * 80) + + # 运行各种演示 + demo_erc20_permit() + demo_seaport_order() + demo_with_template_generation() + demo_from_json_file() + compare_outputs() + + print("\n✅ 演示完成!") + print("\n💡 使用说明:") + print(" 1. 导入 nlp_natural_language_generator 模块") + print(" 2. 创建生成器: generator = create_nlp_generator()") + print(" 3. 转换数据: result = generator.convert_to_natural_language(data)") + print(" 4. 获取自然语言输出: result.summary, result.detailed_description等") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/openai_test_demo.py b/dynamic_parser/examples/openai_test_demo.py new file mode 100644 index 0000000..6e2fd53 --- /dev/null +++ b/dynamic_parser/examples/openai_test_demo.py @@ -0,0 +1,102 @@ +""" +OpenAI GPT-4.1-mini测试工具 + +使用方法: +python openai_test_demo.py <文件路径> +例如:python openai_test_demo.py ../data/t2_unlimitedPermit.json +""" + +import sys +import os +import json + +# 添加父目录到路径 +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from openai_nlp_generator import create_openai_generator, generate_english_with_openai + +# 从API密钥文件读取 +def load_api_key(): + """加载API密钥""" + api_key_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "api_key.txt") + try: + with open(api_key_path, 'r') as f: + content = f.read().strip() + # 提取OpenAI密钥 + for line in content.split('\n'): + if line.startswith('OpenAI:'): + return line.split(':', 1)[1].strip() + except Exception as e: + print(f"❌ 无法读取API密钥: {e}") + return None + +def find_test_file(file_input): + """查找测试文件""" + # 如果是绝对路径或相对路径,直接使用 + if os.path.exists(file_input): + return file_input + + # 检查常见目录 + search_paths = [ + file_input, # 当前目录 + os.path.join("sample_data", file_input), # sample_data目录 + os.path.join("..", "data", file_input), # 上级data目录 + os.path.join(os.path.dirname(__file__), "sample_data", file_input) # 绝对sample_data路径 + ] + + for path in search_paths: + if os.path.exists(path): + return path + + return None + +def test_eip712_file(test_file): + """测试EIP712文件""" + try: + with open(test_file, 'r') as f: + eip712_data = json.load(f) + + api_key = load_api_key() + if not api_key: + print("Error: No API key found") + return None + + # 生成英文描述 + result = generate_english_with_openai(eip712_data, api_key) + + print(f"Title: {result.title}") + print(f"Summary: {result.summary}") + print(f"Risk Level: {result.risk_level}") + print(f"Risk Explanation: {result.risk_explanation}") + + return result + + except Exception as e: + print(f"Error: {e}") + return None + + + + + + + +def main(): + """主函数""" + if len(sys.argv) < 2: + print("Usage: python openai_test_demo.py ") + print("Example: python openai_test_demo.py ../data/t2_unlimitedPermit.json") + return + + file_input = sys.argv[1] + test_file = find_test_file(file_input) + + if not test_file: + print(f"Error: File not found: {file_input}") + return + + print(f"Testing: {test_file}") + test_eip712_file(test_file) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/custom_transaction.json b/dynamic_parser/examples/sample_data/custom_transaction.json new file mode 100644 index 0000000..f503673 --- /dev/null +++ b/dynamic_parser/examples/sample_data/custom_transaction.json @@ -0,0 +1,90 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "Transaction": [ + { + "name": "id", + "type": "bytes32" + }, + { + "name": "from", + "type": "User" + }, + { + "name": "to", + "type": "User" + }, + { + "name": "amount", + "type": "uint256" + }, + { + "name": "fee", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "deadline", + "type": "uint256" + } + ], + "User": [ + { + "name": "wallet", + "type": "address" + }, + { + "name": "username", + "type": "string" + }, + { + "name": "reputation", + "type": "uint256" + } + ] + }, + "primaryType": "Transaction", + "domain": { + "name": "CustomDApp", + "version": "1.0", + "chainId": 1, + "verifyingContract": "0x1234567890123456789012345678901234567890" + }, + "message": { + "id": "0xa1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "from": { + "wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "username": "alice", + "reputation": 850 + }, + "to": { + "wallet": "0x8ba1f109551bD432803012645Hac136c22C04e2D", + "username": "bob", + "reputation": 750 + }, + "amount": "2500000000000000000", + "fee": "50000000000000000", + "data": "0x1234abcd", + "deadline": 1699987456 + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/dao_vote.json b/dynamic_parser/examples/sample_data/dao_vote.json new file mode 100644 index 0000000..93f90fc --- /dev/null +++ b/dynamic_parser/examples/sample_data/dao_vote.json @@ -0,0 +1,58 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "Ballot": [ + { + "name": "proposalId", + "type": "uint256" + }, + { + "name": "voter", + "type": "address" + }, + { + "name": "support", + "type": "uint8" + }, + { + "name": "reason", + "type": "string" + }, + { + "name": "timestamp", + "type": "uint256" + } + ] + }, + "primaryType": "Ballot", + "domain": { + "name": "Compound Governor Bravo", + "version": "1", + "chainId": 1, + "verifyingContract": "0xc0Da02939E1441F497fd74F78cE7Decb17B66529" + }, + "message": { + "proposalId": 123, + "voter": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "support": 1, + "reason": "I support this proposal for better governance", + "timestamp": 1699143856 + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/erc20_permit.json b/dynamic_parser/examples/sample_data/erc20_permit.json new file mode 100644 index 0000000..e35b23f --- /dev/null +++ b/dynamic_parser/examples/sample_data/erc20_permit.json @@ -0,0 +1,58 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "Permit": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "nonce", + "type": "uint256" + }, + { + "name": "deadline", + "type": "uint256" + } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 1, + "verifyingContract": "0xA0b86a33E6411B3036c2F0F1AB5C6F3f22dd20f5" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "1000000000000000000000", + "nonce": 42, + "deadline": 1699987456 + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/lazy_nft_mint.json b/dynamic_parser/examples/sample_data/lazy_nft_mint.json new file mode 100644 index 0000000..4391aaa --- /dev/null +++ b/dynamic_parser/examples/sample_data/lazy_nft_mint.json @@ -0,0 +1,63 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "LazyNFTVoucher": [ + { + "name": "tokenId", + "type": "uint256" + }, + { + "name": "minPrice", + "type": "uint256" + }, + { + "name": "uri", + "type": "string" + }, + { + "name": "creator", + "type": "address" + }, + { + "name": "royalty", + "type": "uint256" + }, + { + "name": "deadline", + "type": "uint256" + } + ] + }, + "primaryType": "LazyNFTVoucher", + "domain": { + "name": "LazyNFT", + "version": "1", + "chainId": 1, + "verifyingContract": "0x7f268357A8c2552623316e2562D90e642bB538E5" + }, + "message": { + "tokenId": 42, + "minPrice": "100000000000000000", + "uri": "https://example.com/metadata/42", + "creator": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "royalty": 250, + "deadline": 1699987456 + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/seaport_order.json b/dynamic_parser/examples/sample_data/seaport_order.json new file mode 100644 index 0000000..09ca64e --- /dev/null +++ b/dynamic_parser/examples/sample_data/seaport_order.json @@ -0,0 +1,156 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "OrderComponents": [ + { + "name": "offerer", + "type": "address" + }, + { + "name": "zone", + "type": "address" + }, + { + "name": "offer", + "type": "OfferItem[]" + }, + { + "name": "consideration", + "type": "ConsiderationItem[]" + }, + { + "name": "orderType", + "type": "uint8" + }, + { + "name": "startTime", + "type": "uint256" + }, + { + "name": "endTime", + "type": "uint256" + }, + { + "name": "zoneHash", + "type": "bytes32" + }, + { + "name": "salt", + "type": "uint256" + }, + { + "name": "counter", + "type": "uint256" + } + ], + "OfferItem": [ + { + "name": "itemType", + "type": "uint8" + }, + { + "name": "token", + "type": "address" + }, + { + "name": "identifierOrCriteria", + "type": "uint256" + }, + { + "name": "startAmount", + "type": "uint256" + }, + { + "name": "endAmount", + "type": "uint256" + } + ], + "ConsiderationItem": [ + { + "name": "itemType", + "type": "uint8" + }, + { + "name": "token", + "type": "address" + }, + { + "name": "identifierOrCriteria", + "type": "uint256" + }, + { + "name": "startAmount", + "type": "uint256" + }, + { + "name": "endAmount", + "type": "uint256" + }, + { + "name": "recipient", + "type": "address" + } + ] + }, + "primaryType": "OrderComponents", + "domain": { + "name": "Seaport", + "version": "1.4", + "chainId": 1, + "verifyingContract": "0x00000000006c3852cbEf3e08E8dF289169EdE581" + }, + "message": { + "offerer": "0x8ba1f109551bD432803012645Hac136c22C04e2D", + "zone": "0x0000000000000000000000000000000000000000", + "offer": [ + { + "itemType": 2, + "token": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", + "identifierOrCriteria": "8547", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": 0, + "token": "0x0000000000000000000000000000000000000000", + "identifierOrCriteria": "0", + "startAmount": "975000000000000000", + "endAmount": "975000000000000000", + "recipient": "0x8ba1f109551bD432803012645Hac136c22C04e2D" + }, + { + "itemType": 0, + "token": "0x0000000000000000000000000000000000000000", + "identifierOrCriteria": "0", + "startAmount": "25000000000000000", + "endAmount": "25000000000000000", + "recipient": "0x0000a26b00c1F0DF003000390027140000fAa719" + } + ], + "orderType": 0, + "startTime": "1699143856", + "endTime": "1700007856", + "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "salt": "123456789", + "counter": "0" + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/snapshot_vote.json b/dynamic_parser/examples/sample_data/snapshot_vote.json new file mode 100644 index 0000000..7622c05 --- /dev/null +++ b/dynamic_parser/examples/sample_data/snapshot_vote.json @@ -0,0 +1,63 @@ +{ + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + } + ], + "Vote": [ + { + "name": "from", + "type": "address" + }, + { + "name": "space", + "type": "string" + }, + { + "name": "timestamp", + "type": "uint64" + }, + { + "name": "proposal", + "type": "bytes32" + }, + { + "name": "choice", + "type": "uint32" + }, + { + "name": "reason", + "type": "string" + }, + { + "name": "app", + "type": "string" + }, + { + "name": "metadata", + "type": "string" + } + ] + }, + "primaryType": "Vote", + "domain": { + "name": "snapshot", + "version": "0.1.4" + }, + "message": { + "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "space": "uniswap.eth", + "timestamp": 1699143856, + "proposal": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "choice": 1, + "reason": "This proposal will improve the protocol", + "app": "snapshot", + "metadata": "{\"plugins\":{},\"network\":1}" + } +} \ No newline at end of file diff --git a/dynamic_parser/examples/sample_data/t2_unlimitedPermit.json b/dynamic_parser/examples/sample_data/t2_unlimitedPermit.json new file mode 100644 index 0000000..31e95ce --- /dev/null +++ b/dynamic_parser/examples/sample_data/t2_unlimitedPermit.json @@ -0,0 +1,32 @@ +{ + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 1, + "verifyingContract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "message": { + "owner": "0x1111111111111111111111111111111111111111", + "spender": "0x2222222222222222222222222222222222222222", + "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "nonce": 0, + "deadline": 1750000000 + } + } + \ No newline at end of file diff --git a/dynamic_parser/examples/test_data.py b/dynamic_parser/examples/test_data.py new file mode 100644 index 0000000..94b98a6 --- /dev/null +++ b/dynamic_parser/examples/test_data.py @@ -0,0 +1,283 @@ +""" +测试数据 +包含各种类型的 EIP712 签名数据用于测试动态解析器 +""" + +# Seaport NFT 订单数据 +SEAPORT_ORDER = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "OrderComponents": [ + {"name": "offerer", "type": "address"}, + {"name": "zone", "type": "address"}, + {"name": "offer", "type": "OfferItem[]"}, + {"name": "consideration", "type": "ConsiderationItem[]"}, + {"name": "orderType", "type": "uint8"}, + {"name": "startTime", "type": "uint256"}, + {"name": "endTime", "type": "uint256"}, + {"name": "zoneHash", "type": "bytes32"}, + {"name": "salt", "type": "uint256"}, + {"name": "counter", "type": "uint256"} + ], + "OfferItem": [ + {"name": "itemType", "type": "uint8"}, + {"name": "token", "type": "address"}, + {"name": "identifierOrCriteria", "type": "uint256"}, + {"name": "startAmount", "type": "uint256"}, + {"name": "endAmount", "type": "uint256"} + ], + "ConsiderationItem": [ + {"name": "itemType", "type": "uint8"}, + {"name": "token", "type": "address"}, + {"name": "identifierOrCriteria", "type": "uint256"}, + {"name": "startAmount", "type": "uint256"}, + {"name": "endAmount", "type": "uint256"}, + {"name": "recipient", "type": "address"} + ] + }, + "primaryType": "OrderComponents", + "domain": { + "name": "Seaport", + "version": "1.4", + "chainId": 1, + "verifyingContract": "0x00000000006c3852cbEf3e08E8dF289169EdE581" + }, + "message": { + "offerer": "0x8ba1f109551bD432803012645Hac136c22C04e2D", + "zone": "0x0000000000000000000000000000000000000000", + "offer": [ + { + "itemType": 2, + "token": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", + "identifierOrCriteria": "8547", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": 0, + "token": "0x0000000000000000000000000000000000000000", + "identifierOrCriteria": "0", + "startAmount": "975000000000000000", + "endAmount": "975000000000000000", + "recipient": "0x8ba1f109551bD432803012645Hac136c22C04e2D" + }, + { + "itemType": 0, + "token": "0x0000000000000000000000000000000000000000", + "identifierOrCriteria": "0", + "startAmount": "25000000000000000", + "endAmount": "25000000000000000", + "recipient": "0x0000a26b00c1F0DF003000390027140000fAa719" + } + ], + "orderType": 0, + "startTime": "1699143856", + "endTime": "1700007856", + "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "salt": "123456789", + "counter": "0" + } +} + +# ERC20 Permit 授权数据 +ERC20_PERMIT = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Permit": [ + {"name": "owner", "type": "address"}, + {"name": "spender", "type": "address"}, + {"name": "value", "type": "uint256"}, + {"name": "nonce", "type": "uint256"}, + {"name": "deadline", "type": "uint256"} + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 1, + "verifyingContract": "0xA0b86a33E6411B3036c2F0F1AB5C6F3f22dd20f5" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "1000000000000000000000", + "nonce": 42, + "deadline": 1699987456 + } +} + +# DAO 治理投票数据 +DAO_VOTE = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Ballot": [ + {"name": "proposalId", "type": "uint256"}, + {"name": "voter", "type": "address"}, + {"name": "support", "type": "uint8"}, + {"name": "reason", "type": "string"}, + {"name": "timestamp", "type": "uint256"} + ] + }, + "primaryType": "Ballot", + "domain": { + "name": "Compound Governor Bravo", + "version": "1", + "chainId": 1, + "verifyingContract": "0xc0Da02939E1441F497fd74F78cE7Decb17B66529" + }, + "message": { + "proposalId": 123, + "voter": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "support": 1, + "reason": "I support this proposal for better governance", + "timestamp": 1699143856 + } +} + +# 自定义复杂结构数据 +CUSTOM_TRANSACTION = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Transaction": [ + {"name": "id", "type": "bytes32"}, + {"name": "from", "type": "User"}, + {"name": "to", "type": "User"}, + {"name": "amount", "type": "uint256"}, + {"name": "fee", "type": "uint256"}, + {"name": "data", "type": "bytes"}, + {"name": "deadline", "type": "uint256"} + ], + "User": [ + {"name": "wallet", "type": "address"}, + {"name": "username", "type": "string"}, + {"name": "reputation", "type": "uint256"} + ] + }, + "primaryType": "Transaction", + "domain": { + "name": "CustomDApp", + "version": "1.0", + "chainId": 1, + "verifyingContract": "0x1234567890123456789012345678901234567890" + }, + "message": { + "id": "0xa1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456", + "from": { + "wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "username": "alice", + "reputation": 850 + }, + "to": { + "wallet": "0x8ba1f109551bD432803012645Hac136c22C04e2D", + "username": "bob", + "reputation": 750 + }, + "amount": "2500000000000000000", + "fee": "50000000000000000", + "data": "0x1234abcd", + "deadline": 1699987456 + } +} + +# LazyNFT Mint 数据 +LAZY_NFT_MINT = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "LazyNFTVoucher": [ + {"name": "tokenId", "type": "uint256"}, + {"name": "minPrice", "type": "uint256"}, + {"name": "uri", "type": "string"}, + {"name": "creator", "type": "address"}, + {"name": "royalty", "type": "uint256"}, + {"name": "deadline", "type": "uint256"} + ] + }, + "primaryType": "LazyNFTVoucher", + "domain": { + "name": "LazyNFT", + "version": "1", + "chainId": 1, + "verifyingContract": "0x7f268357A8c2552623316e2562D90e642bB538E5" + }, + "message": { + "tokenId": 42, + "minPrice": "100000000000000000", + "uri": "https://example.com/metadata/42", + "creator": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "royalty": 250, + "deadline": 1699987456 + } +} + +# Snapshot 投票数据 +SNAPSHOT_VOTE = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"} + ], + "Vote": [ + {"name": "from", "type": "address"}, + {"name": "space", "type": "string"}, + {"name": "timestamp", "type": "uint64"}, + {"name": "proposal", "type": "bytes32"}, + {"name": "choice", "type": "uint32"}, + {"name": "reason", "type": "string"}, + {"name": "app", "type": "string"}, + {"name": "metadata", "type": "string"} + ] + }, + "primaryType": "Vote", + "domain": { + "name": "snapshot", + "version": "0.1.4" + }, + "message": { + "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "space": "uniswap.eth", + "timestamp": 1699143856, + "proposal": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "choice": 1, + "reason": "This proposal will improve the protocol", + "app": "snapshot", + "metadata": "{\"plugins\":{},\"network\":1}" + } +} + +# 所有测试数据 +ALL_TEST_DATA = { + "seaport_order": SEAPORT_ORDER, + "erc20_permit": ERC20_PERMIT, + "dao_vote": DAO_VOTE, + "custom_transaction": CUSTOM_TRANSACTION, + "lazy_nft_mint": LAZY_NFT_MINT, + "snapshot_vote": SNAPSHOT_VOTE +} \ No newline at end of file diff --git a/dynamic_parser/field_types.py b/dynamic_parser/field_types.py new file mode 100644 index 0000000..49bc9c5 --- /dev/null +++ b/dynamic_parser/field_types.py @@ -0,0 +1,150 @@ +""" +动态解析器类型定义 +包含字段类型、语义枚举和数据结构定义 +""" + +from typing import Dict, List, Any, Optional +from dataclasses import dataclass, field +from enum import Enum + + +class FieldType(str, Enum): + """字段类型枚举""" + # 基础类型 + UINT = "uint" + INT = "int" + BOOL = "bool" + BYTES = "bytes" + STRING = "string" + ADDRESS = "address" + + # 复合类型 + ARRAY = "array" + STRUCT = "struct" + + # 特殊类型(根据语义推断) + TOKEN_ADDRESS = "token_address" + USER_ADDRESS = "user_address" + CONTRACT_ADDRESS = "contract_address" + AMOUNT = "amount" + TIMESTAMP = "timestamp" + DEADLINE = "deadline" + NONCE = "nonce" + HASH = "hash" + SIGNATURE = "signature" + PERCENTAGE = "percentage" + ENUM_VALUE = "enum_value" + + # 未知类型 + UNKNOWN = "unknown" + + +class FieldSemantic(str, Enum): + """字段语义枚举""" + # 身份相关 + OWNER = "owner" + SPENDER = "spender" + RECIPIENT = "recipient" + TRADER = "trader" + OFFERER = "offerer" + BIDDER = "bidder" + SELLER = "seller" + BUYER = "buyer" + VALIDATOR = "validator" + DELEGATE = "delegate" + + # 金额相关 + VALUE = "value" + AMOUNT = "amount" + PRICE = "price" + FEE = "fee" + REWARD = "reward" + PENALTY = "penalty" + BALANCE = "balance" + ALLOWANCE = "allowance" + MINIMUM = "minimum" + MAXIMUM = "maximum" + + # 时间相关 + TIMESTAMP = "timestamp" + DEADLINE = "deadline" + START_TIME = "start_time" + END_TIME = "end_time" + DURATION = "duration" + DELAY = "delay" + PERIOD = "period" + + # 标识相关 + TOKEN_ID = "token_id" + NONCE = "nonce" + SALT = "salt" + INDEX = "index" + ID = "id" + KEY = "key" + COUNTER = "counter" + + # 数据相关 + DATA = "data" + HASH = "hash" + SIGNATURE = "signature" + PROOF = "proof" + MERKLE_ROOT = "merkle_root" + + # 配置相关 + VERSION = "version" + CHAIN_ID = "chain_id" + TYPE = "type" + STATUS = "status" + FLAG = "flag" + OPTION = "option" + + # 治理相关 + PROPOSAL_ID = "proposal_id" + VOTE_TYPE = "vote_type" + VOTING_POWER = "voting_power" + + # NFT相关 + COLLECTION = "collection" + CREATOR = "creator" + ROYALTY = "royalty" + METADATA = "metadata" + + # DeFi相关 + LIQUIDITY = "liquidity" + SLIPPAGE = "slippage" + POOL = "pool" + RATE = "rate" + YIELD = "yield" + + +@dataclass +class FieldInfo: + """字段信息""" + name: str # 字段名 + type_name: str # 原始类型名 + field_type: FieldType # 推断的字段类型 + semantic: Optional[FieldSemantic] # 语义标注 + value: Any # 字段值 + description: str # 字段描述 + is_array: bool = False # 是否为数组 + array_element_type: Optional[str] = None # 数组元素类型 + children: List['FieldInfo'] = field(default_factory=list) # 子字段(用于结构体) + context_hints: List[str] = field(default_factory=list) # 上下文提示 + + +@dataclass +class StructInfo: + """结构体信息""" + name: str # 结构体名称 + fields: List[FieldInfo] # 字段列表 + description: str # 结构体描述 + struct_type: Optional[str] = None # 结构体类型分类 + + +@dataclass +class EIP712ParseResult: + """EIP712解析结果""" + domain: StructInfo # 域信息 + primary_type: str # 主要类型 + message: StructInfo # 消息结构 + raw_data: Dict[str, Any] # 原始数据 \ No newline at end of file diff --git a/dynamic_parser/formatters.py b/dynamic_parser/formatters.py new file mode 100644 index 0000000..038a091 --- /dev/null +++ b/dynamic_parser/formatters.py @@ -0,0 +1,314 @@ +""" +动态解析器格式化器 +包含字段描述生成、结构体描述生成和结果格式化功能 +""" + +import datetime +from typing import Any, List, Optional +from .field_types import FieldInfo, StructInfo, EIP712ParseResult, FieldType, FieldSemantic + + +class DescriptionFormatter: + """描述格式化器""" + + def __init__(self): + self.semantic_descriptions = self._init_semantic_descriptions() + self.type_descriptions = self._init_type_descriptions() + self.context_descriptions = self._init_context_descriptions() + + def _init_semantic_descriptions(self) -> dict: + """初始化语义描述映射""" + return { + # 身份相关 + FieldSemantic.OWNER: "拥有者地址", + FieldSemantic.SPENDER: "授权花费者地址", + FieldSemantic.RECIPIENT: "接收者地址", + FieldSemantic.TRADER: "交易者地址", + FieldSemantic.OFFERER: "报价者地址", + FieldSemantic.BIDDER: "竞拍者地址", + FieldSemantic.SELLER: "卖方地址", + FieldSemantic.BUYER: "买方地址", + FieldSemantic.VALIDATOR: "验证者地址", + FieldSemantic.DELEGATE: "委托者地址", + FieldSemantic.CREATOR: "创建者地址", + + # 金额相关 + FieldSemantic.VALUE: "数值", + FieldSemantic.AMOUNT: "金额", + FieldSemantic.PRICE: "价格", + FieldSemantic.FEE: "手续费", + FieldSemantic.REWARD: "奖励金额", + FieldSemantic.PENALTY: "惩罚金额", + FieldSemantic.BALANCE: "余额", + FieldSemantic.ALLOWANCE: "授权额度", + FieldSemantic.MINIMUM: "最小值", + FieldSemantic.MAXIMUM: "最大值", + FieldSemantic.LIQUIDITY: "流动性", + FieldSemantic.SLIPPAGE: "滑点", + FieldSemantic.RATE: "比率", + FieldSemantic.YIELD: "收益率", + FieldSemantic.ROYALTY: "版税", + + # 时间相关 + FieldSemantic.TIMESTAMP: "时间戳", + FieldSemantic.DEADLINE: "截止时间", + FieldSemantic.START_TIME: "开始时间", + FieldSemantic.END_TIME: "结束时间", + FieldSemantic.DURATION: "持续时间", + FieldSemantic.DELAY: "延迟时间", + FieldSemantic.PERIOD: "周期", + + # 标识相关 + FieldSemantic.TOKEN_ID: "代币ID", + FieldSemantic.NONCE: "随机数", + FieldSemantic.SALT: "盐值", + FieldSemantic.INDEX: "索引", + FieldSemantic.ID: "标识符", + FieldSemantic.KEY: "键值", + FieldSemantic.COUNTER: "计数器", + + # 数据相关 + FieldSemantic.DATA: "数据", + FieldSemantic.HASH: "哈希值", + FieldSemantic.SIGNATURE: "签名", + FieldSemantic.PROOF: "证明", + FieldSemantic.MERKLE_ROOT: "默克尔根", + FieldSemantic.METADATA: "元数据", + + # 配置相关 + FieldSemantic.VERSION: "版本号", + FieldSemantic.CHAIN_ID: "链ID", + FieldSemantic.TYPE: "类型", + FieldSemantic.STATUS: "状态", + FieldSemantic.FLAG: "标志", + FieldSemantic.OPTION: "选项", + + # 治理相关 + FieldSemantic.PROPOSAL_ID: "提案ID", + FieldSemantic.VOTE_TYPE: "投票类型", + FieldSemantic.VOTING_POWER: "投票权重", + + # NFT相关 + FieldSemantic.COLLECTION: "合集地址", + FieldSemantic.POOL: "资金池", + } + + def _init_type_descriptions(self) -> dict: + """初始化类型描述映射""" + return { + FieldType.TOKEN_ADDRESS: "代币合约地址", + FieldType.USER_ADDRESS: "用户地址", + FieldType.CONTRACT_ADDRESS: "合约地址", + FieldType.AMOUNT: "金额数值", + FieldType.TIMESTAMP: "时间戳", + FieldType.NONCE: "随机数", + FieldType.HASH: "哈希值", + FieldType.SIGNATURE: "签名数据", + } + + def _init_context_descriptions(self) -> dict: + """初始化上下文描述映射""" + return { + "permit": "允许第三方代表用户操作代币", + "order": "定义交易的报价条件和期望", + "vote": "记录对提案的投票决策", + "transfer": "定义资产转移的详细信息", + "mint": "定义新代币的创建参数", + "burn": "定义代币销毁的操作", + "governance": "定义治理提案和执行参数", + "auction": "定义拍卖的竞价和条件", + "swap": "定义代币交换的参数", + "liquidity": "定义流动性操作的参数", + } + + def generate_field_description(self, field_name: str, field_type: FieldType, semantic: Optional[FieldSemantic], field_value: Any) -> str: + """生成字段描述""" + base_desc = f"字段 '{field_name}'" + + # 添加语义描述 + if semantic: + semantic_desc = self.semantic_descriptions.get(semantic, semantic.value) + base_desc += f" ({semantic_desc})" + + # 添加类型描述 + type_desc = self.type_descriptions.get(field_type) + if type_desc: + base_desc += f" - {type_desc}" + + # 添加值描述 + if field_value is not None: + value_desc = self._format_field_value(field_type, field_value) + if value_desc: + base_desc += f" {value_desc}" + + return base_desc + + def _format_field_value(self, field_type: FieldType, field_value: Any) -> str: + """格式化字段值""" + if field_type == FieldType.TIMESTAMP and isinstance(field_value, (int, str)): + try: + timestamp = int(field_value) + if timestamp > 1000000000: # 看起来像时间戳 + dt = datetime.datetime.fromtimestamp(timestamp) + return f"(时间: {dt.strftime('%Y-%m-%d %H:%M:%S')})" + except: + pass + + elif field_type in [FieldType.TOKEN_ADDRESS, FieldType.USER_ADDRESS, FieldType.CONTRACT_ADDRESS]: + return f"({field_value})" + + elif field_type == FieldType.AMOUNT and isinstance(field_value, (int, str)): + try: + # 尝试转换为 ETH 单位显示 + amount = int(field_value) + + # 检测无限授权 (常见的无限授权值) + # uint256 max: 2^256 - 1 + # 也检测常见的"近似无限"值,如 2^255, 2^128 等 + MAX_UINT256 = 2**256 - 1 + NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # 允许一些浮动 + + # 常见的"无限授权"模式 + COMMON_UNLIMITED_VALUES = [ + MAX_UINT256, # 完整的 uint256 最大值 + 2**255 - 1, # 一些协议使用的值 + 2**128 - 1, # 更保守的无限值 + ] + + # 检查是否为无限授权 + if amount >= NEAR_MAX_THRESHOLD: + return "⚠️ 无限授权 (UNLIMITED)" + elif amount in COMMON_UNLIMITED_VALUES: + return "⚠️ 无限授权 (UNLIMITED)" + elif amount > 10**50: # 任何超过 10^50 的值都视为"实质上的无限" + return "⚠️ 无限授权 (UNLIMITED - 极大数值)" + elif amount > 10**15: # 如果大于 0.001 ETH + eth_amount = amount / 10**18 + return f"({eth_amount:.6f} 代币)" + else: + return f"({amount} 单位)" + except: + return f"({field_value})" + + elif isinstance(field_value, (str, int)) and len(str(field_value)) < 50: + return f"= {field_value}" + + return "" + + def generate_struct_description(self, struct_name: str, fields: List[FieldInfo], struct_context: Optional[str] = None) -> str: + """生成结构体描述""" + # 根据结构体名称和字段推断用途 + if struct_name == "EIP712Domain": + return "EIP712 域信息 - 定义签名的域和验证上下文" + + # 使用检测到的上下文 + if struct_context and struct_context in self.context_descriptions: + context_desc = self.context_descriptions[struct_context] + return f"{self._get_struct_type_name(struct_context)}结构 '{struct_name}' - {context_desc}" + + # 根据字段推断结构体用途(后备方案) + field_names = [field.name.lower() for field in fields] + + if any(name in field_names for name in ['offerer', 'offer', 'consideration']): + return f"市场订单结构 '{struct_name}' - 包含交易报价和期望条件" + elif any(name in field_names for name in ['spender', 'value', 'deadline']): + return f"授权许可结构 '{struct_name}' - 包含代币授权信息" + elif any(name in field_names for name in ['to', 'value', 'data']): + return f"交易结构 '{struct_name}' - 包含交易目标和数据" + elif any(name in field_names for name in ['voter', 'proposal', 'support']): + return f"治理投票结构 '{struct_name}' - 包含投票决策信息" + else: + return f"数据结构 '{struct_name}' - 包含 {len(fields)} 个字段" + + def _get_struct_type_name(self, struct_context: str) -> str: + """获取结构体类型名称""" + type_names = { + "permit": "授权许可", + "order": "市场订单", + "vote": "治理投票", + "transfer": "转账", + "mint": "铸造", + "burn": "销毁", + "governance": "治理", + "auction": "拍卖", + "swap": "交换", + "liquidity": "流动性", + } + return type_names.get(struct_context, "数据") + + +class ResultFormatter: + """结果格式化器""" + + def format_result(self, result: EIP712ParseResult) -> str: + """格式化解析结果为可读文本""" + lines = [] + + lines.append("=" * 60) + lines.append("EIP712 签名结构解析结果") + lines.append("=" * 60) + + # 域信息 + lines.append(f"\n域信息 ({result.domain.name}):") + lines.append(f" 描述: {result.domain.description}") + for field in result.domain.fields: + lines.append(f" • {field.description}") + + # 主要消息 + lines.append(f"\n主要消息 ({result.primary_type}):") + lines.append(f" 描述: {result.message.description}") + lines.append(f" 字段数量: {len(result.message.fields)}") + + lines.append(f"\n消息结构树:") + self._format_struct_tree(result.message, lines, indent=" ") + + lines.append("\n" + "=" * 60) + + return "\n".join(lines) + + def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str = ""): + """格式化结构体树""" + for i, field in enumerate(struct.fields): + is_last = i == len(struct.fields) - 1 + tree_char = "└── " if is_last else "├── " + next_indent = indent + (" " if is_last else "│ ") + + lines.append(f"{indent}{tree_char}{field.description}") + + # 递归显示子字段 + if field.children: + for j, child in enumerate(field.children): + child_is_last = j == len(field.children) - 1 + child_tree_char = "└── " if child_is_last else "├── " + lines.append(f"{next_indent}{child_tree_char}{child.description}") + + def format_structured_analysis(self, result: EIP712ParseResult) -> dict: + """格式化为结构化分析结果""" + return { + "primary_type": result.primary_type, + "message_description": result.message.description, + "field_count": len(result.message.fields), + "fields": [ + { + "name": field.name, + "type": field.type_name, + "semantic": field.semantic.value if field.semantic else None, + "value": field.value, + "description": field.description, + "context_hints": field.context_hints + } + for field in result.message.fields + ], + "domain": { + "name": result.domain.name, + "description": result.domain.description, + "fields": [ + { + "name": field.name, + "value": field.value, + "description": field.description + } + for field in result.domain.fields + ] + } + } \ No newline at end of file diff --git a/dynamic_parser/nlp_natural_language_generator.py b/dynamic_parser/nlp_natural_language_generator.py new file mode 100644 index 0000000..49767a6 --- /dev/null +++ b/dynamic_parser/nlp_natural_language_generator.py @@ -0,0 +1,364 @@ +""" +NLP自然语言生成器 +使用模板系统将结构化数据转换为流畅的中文描述 +""" + +import json +import datetime +from typing import Dict, List, Any, Optional, Tuple +from dataclasses import dataclass + + +@dataclass +class NaturalLanguageOutput: + """自然语言输出结果""" + title: str # 标题描述 + summary: str # 简要总结 + detailed_description: str # 详细描述 + field_descriptions: List[str] # 字段描述列表 + context: str # 上下文说明 + action_summary: str # 操作总结 + + +class StructuredDataToNLConverter: + """结构化数据到自然语言转换器""" + + def __init__(self): + """ + 初始化NLP生成器 + """ + # 初始化模板和映射 + self._init_templates() + self._init_semantic_mappings() + + + + def _init_templates(self): + """初始化自然语言模板""" + self.action_templates = { + "permit": "这是一个代币授权操作,{owner}正在授权{spender}可以代表其花费最多{value}个代币,授权有效期至{deadline}。", + "order": "这是一个市场订单,{offerer}正在出售{offer_items},期望获得{consideration_items}作为交换。", + "vote": "这是一个治理投票,{voter}对提案{proposal}投出了{support}票。", + "transfer": "这是一个转账操作,将{amount}从{from}转移到{to}。", + "mint": "这是一个铸币操作,为{recipient}铸造{amount}个代币。", + "burn": "这是一个销毁操作,销毁{amount}个代币。", + "swap": "这是一个代币交换操作,用{input_amount}个{input_token}兑换{output_amount}个{output_token}。" + } + + self.context_descriptions = { + "permit": "代币授权许可", + "order": "市场交易订单", + "vote": "治理投票决策", + "transfer": "资产转移", + "mint": "代币铸造", + "burn": "代币销毁", + "swap": "代币交换", + "governance": "治理操作", + "auction": "拍卖竞价", + "liquidity": "流动性操作" + } + + def _init_semantic_mappings(self): + """初始化语义映射""" + self.field_semantic_map = { + "owner": "代币持有者", + "spender": "授权支出者", + "recipient": "接收者", + "offerer": "出价者", + "bidder": "竞拍者", + "voter": "投票者", + "value": "数量", + "amount": "金额", + "price": "价格", + "fee": "手续费", + "deadline": "截止时间", + "timestamp": "时间戳", + "startTime": "开始时间", + "endTime": "结束时间", + "nonce": "防重放随机数", + "chainId": "区块链网络ID", + "verifyingContract": "验证合约地址", + "token": "代币合约地址", + "tokenId": "代币ID", + "salt": "盐值", + "counter": "计数器" + } + + def convert_to_natural_language(self, eip712_data: Dict[str, Any]) -> NaturalLanguageOutput: + """ + 将EIP712结构化数据转换为自然语言描述 + + Args: + eip712_data: EIP712格式的结构化数据 + + Returns: + NaturalLanguageOutput: 自然语言输出结果 + """ + # 分析数据结构 + primary_type = eip712_data.get("primaryType", "") + domain = eip712_data.get("domain", {}) + message = eip712_data.get("message", {}) + types = eip712_data.get("types", {}) + + # 推断操作类型 + operation_type = self._infer_operation_type(primary_type, message, types) + + # 生成各部分描述 + title = self._generate_title(operation_type, primary_type, domain) + summary = self._generate_summary(operation_type, message, domain) + detailed_description = self._generate_detailed_description(operation_type, message, types) + field_descriptions = self._generate_field_descriptions(message, types.get(primary_type, [])) + context = self._generate_context_description(operation_type, domain) + action_summary = self._generate_action_summary(operation_type, message) + + return NaturalLanguageOutput( + title=title, + summary=summary, + detailed_description=detailed_description, + field_descriptions=field_descriptions, + context=context, + action_summary=action_summary + ) + + def _infer_operation_type(self, primary_type: str, message: Dict, types: Dict) -> str: + """推断操作类型""" + primary_lower = primary_type.lower() + + # 基于主类型推断 + if "permit" in primary_lower: + return "permit" + elif "order" in primary_lower or "offer" in str(message): + return "order" + elif "vote" in primary_lower: + return "vote" + elif "transfer" in primary_lower: + return "transfer" + elif "mint" in primary_lower: + return "mint" + elif "burn" in primary_lower: + return "burn" + elif "swap" in primary_lower: + return "swap" + + # 基于字段推断 + message_fields = set(message.keys()) + if {"owner", "spender", "value"}.issubset(message_fields): + return "permit" + elif {"offerer", "offer", "consideration"}.intersection(message_fields): + return "order" + elif {"voter", "proposal"}.intersection(message_fields): + return "vote" + + return "general" + + def _generate_title(self, operation_type: str, primary_type: str, domain: Dict) -> str: + """生成标题""" + app_name = domain.get("name", "未知应用") + context_name = self.context_descriptions.get(operation_type, "数据结构") + return f"{app_name} - {context_name} ({primary_type})" + + def _generate_summary(self, operation_type: str, message: Dict, domain: Dict) -> str: + """生成摘要""" + app_name = domain.get("name", "应用") + + if operation_type == "permit": + owner = self._format_address(message.get("owner", "")) + spender = self._format_address(message.get("spender", "")) + value = self._format_amount(message.get("value", "")) + return f"在{app_name}中,地址{owner}授权地址{spender}可以代表其使用最多{value}的代币。" + + elif operation_type == "order": + offerer = self._format_address(message.get("offerer", "")) + return f"在{app_name}中,地址{offerer}创建了一个市场交易订单。" + + elif operation_type == "vote": + voter = self._format_address(message.get("voter", "")) + return f"在{app_name}治理系统中,地址{voter}进行了投票操作。" + + else: + return f"在{app_name}中进行的{self.context_descriptions.get(operation_type, '数据')}操作。" + + def _generate_detailed_description(self, operation_type: str, message: Dict, types: Dict) -> str: + """生成详细描述""" + return self._generate_template_description(operation_type, message) + + def _generate_template_description(self, operation_type: str, message: Dict) -> str: + """基于模板生成描述""" + if operation_type == "permit": + owner = self._format_address(message.get("owner")) + spender = self._format_address(message.get("spender")) + value = self._format_amount(message.get("value")) + deadline = self._format_timestamp(message.get("deadline")) + nonce = message.get("nonce", "未指定") + + return f"""这是一个ERC-20代币授权许可操作。具体详情如下: + +授权方:{owner} +被授权方:{spender} +授权金额:{value} +授权截止时间:{deadline} +防重放随机数:{nonce} + +该授权允许被授权方在截止时间之前,代表授权方花费指定数量的代币,常用于DeFi协议中的代币交换和流动性操作。""" + + elif operation_type == "order": + offerer = self._format_address(message.get("offerer")) + offer = message.get("offer", []) + consideration = message.get("consideration", []) + start_time = self._format_timestamp(message.get("startTime")) + end_time = self._format_timestamp(message.get("endTime")) + + offer_desc = self._describe_items(offer, "出售") + consideration_desc = self._describe_items(consideration, "期望获得") + + return f"""这是一个NFT/代币市场交易订单。具体详情如下: + +出价者:{offerer} +{offer_desc} +{consideration_desc} +订单生效时间:{start_time} +订单截止时间:{end_time} + +该订单定义了一个去中心化市场中的交易意向,任何人都可以在有效期内执行此订单完成交易。""" + + else: + field_count = len(message) + return f"这是一个包含{field_count}个字段的区块链数据结构,用于在去中心化应用中执行特定的操作或记录重要信息。" + + + + def _generate_field_descriptions(self, message: Dict, type_fields: List[Dict]) -> List[str]: + """生成字段描述列表""" + descriptions = [] + + for field_def in type_fields: + field_name = field_def["name"] + field_type = field_def["type"] + field_value = message.get(field_name) + + if field_value is not None: + semantic_name = self.field_semantic_map.get(field_name, field_name) + formatted_value = self._format_field_value(field_name, field_value, field_type) + descriptions.append(f"• {semantic_name}: {formatted_value}") + + return descriptions + + def _generate_context_description(self, operation_type: str, domain: Dict) -> str: + """生成上下文描述""" + app_name = domain.get("name", "未知应用") + version = domain.get("version", "") + chain_id = domain.get("chainId", "") + + chain_name = self._get_chain_name(chain_id) + version_text = f"v{version}" if version else "" + + return f"此操作发生在{chain_name}网络上的{app_name}{version_text}应用中。" + + def _generate_action_summary(self, operation_type: str, message: Dict) -> str: + """生成操作总结""" + if operation_type == "permit": + return f"授权代币使用权限给第三方地址" + elif operation_type == "order": + return f"创建去中心化市场交易订单" + elif operation_type == "vote": + return f"参与去中心化治理投票" + elif operation_type == "transfer": + return f"执行资产转移操作" + else: + return f"执行{self.context_descriptions.get(operation_type, '区块链')}操作" + + def _format_address(self, address: str) -> str: + """格式化地址显示""" + if not address or len(address) < 10: + return address + return f"{address[:6]}...{address[-4:]}" + + def _format_amount(self, amount: Any) -> str: + """格式化金额显示""" + try: + amount_int = int(amount) + # 假设是18位小数的代币 + if amount_int > 10**15: # 大于0.001个代币 + eth_amount = amount_int / 10**18 + return f"{eth_amount:.6f} 代币" + else: + return f"{amount_int} 单位" + except: + return str(amount) + + def _format_timestamp(self, timestamp: Any) -> str: + """格式化时间戳""" + try: + ts = int(timestamp) + if ts > 1000000000: # Unix时间戳 + dt = datetime.datetime.fromtimestamp(ts) + return dt.strftime("%Y年%m月%d日 %H:%M:%S") + except: + pass + return str(timestamp) + + def _format_field_value(self, field_name: str, value: Any, field_type: str) -> str: + """格式化字段值""" + if "address" in field_type.lower() or field_name.lower().endswith(("er", "to", "from")): + return self._format_address(str(value)) + elif field_name.lower() in ["deadline", "timestamp", "starttime", "endtime"]: + return self._format_timestamp(value) + elif field_name.lower() in ["value", "amount", "price"] and isinstance(value, (int, str)): + return self._format_amount(value) + elif isinstance(value, list): + return f"包含{len(value)}个项目的数组" + elif isinstance(value, dict): + return f"包含{len(value)}个字段的对象" + else: + return str(value) + + def _describe_items(self, items: List[Dict], action: str) -> str: + """描述物品列表""" + if not items: + return f"{action}:无" + + descriptions = [] + for i, item in enumerate(items): + item_type = item.get("itemType", 0) + token = item.get("token", "") + amount = item.get("startAmount", item.get("amount", "1")) + + if item_type == 0: # ETH + eth_amount = int(amount) / 10**18 if amount else 0 + descriptions.append(f" {i+1}. {eth_amount:.6f} ETH") + elif item_type == 1: # ERC20 + token_addr = self._format_address(token) + formatted_amount = self._format_amount(amount) + descriptions.append(f" {i+1}. {formatted_amount} (代币: {token_addr})") + elif item_type == 2: # ERC721 + token_id = item.get("identifierOrCriteria", "") + token_addr = self._format_address(token) + descriptions.append(f" {i+1}. NFT #{token_id} (合约: {token_addr})") + else: + descriptions.append(f" {i+1}. 其他类型物品") + + return f"{action}:\n" + "\n".join(descriptions) + + def _get_chain_name(self, chain_id: Any) -> str: + """获取链名称""" + chain_names = { + 1: "以太坊主网", + 5: "Goerli测试网", + 11155111: "Sepolia测试网", + 137: "Polygon主网", + 56: "BSC主网" + } + try: + return chain_names.get(int(chain_id), f"链ID {chain_id}") + except: + return "未知网络" + + +def create_nlp_generator() -> StructuredDataToNLConverter: + """ + 创建NLP自然语言生成器实例 + + Returns: + StructuredDataToNLConverter: 生成器实例 + """ + return StructuredDataToNLConverter() \ No newline at end of file diff --git a/dynamic_parser/openai_nlp_generator.py b/dynamic_parser/openai_nlp_generator.py new file mode 100644 index 0000000..2fbce04 --- /dev/null +++ b/dynamic_parser/openai_nlp_generator.py @@ -0,0 +1,700 @@ +""" +OpenAI GPT-4.1-mini集成的NLP生成器 +基于参数提取的英文自然语言生成 +""" + +import openai +import json +from typing import Dict, Any, Optional +from dataclasses import dataclass +import time +from functools import lru_cache +import hashlib + +@dataclass +class EnglishNLOutput: + """英文自然语言输出结果""" + title: str + summary: str + detailed_description: str + technical_details: str + context: str + risk_level: str + risk_explanation: str + +class OpenAINLPGenerator: + """基于OpenAI GPT-4.1-mini的英文NLP生成器""" + + def __init__(self, api_key: str): + """初始化OpenAI客户端""" + self.client = openai.OpenAI(api_key=api_key) + self.model = "gpt-4-1106-preview" # GPT-4.1-mini + + # 成本跟踪 + self.total_cost = 0.0 + self.request_count = 0 + + def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: + """从EIP712数据中提取关键参数""" + primary_type = eip712_data.get("primaryType", "") + domain = eip712_data.get("domain", {}) + message = eip712_data.get("message", {}) + + # 提取核心信息 + extracted = { + "operation_type": primary_type.lower(), + "app_name": domain.get("name", "Unknown App"), + "version": domain.get("version", ""), + "chain_id": domain.get("chainId", ""), + "contract": domain.get("verifyingContract", "")[:10] + "..." if domain.get("verifyingContract") else "", + } + + # 根据操作类型提取特定字段 + if "permit" in primary_type.lower(): + extracted.update({ + "owner": self._format_address(message.get("owner", "")), + "spender": self._format_address(message.get("spender", "")), + "amount": self._format_amount(message.get("value", 0)), + "deadline": self._format_timestamp(message.get("deadline", 0)), + "nonce": message.get("nonce", "") + }) + elif "order" in primary_type.lower(): + extracted.update({ + "offerer": self._format_address(message.get("offerer", "")), + "start_time": self._format_timestamp(message.get("startTime", 0)), + "end_time": self._format_timestamp(message.get("endTime", 0)), + "order_type": message.get("orderType", ""), + "items_count": len(message.get("offer", [])) + len(message.get("consideration", [])) + }) + elif "vote" in primary_type.lower(): + extracted.update({ + "voter": self._format_address(message.get("voter", "")), + "proposal_id": message.get("proposal", message.get("proposalId", "")), + "support": message.get("support", ""), + "reason": message.get("reason", "")[:50] + "..." if len(message.get("reason", "")) > 50 else message.get("reason", "") + }) + elif "mint" in primary_type.lower() or "voucher" in primary_type.lower(): + # NFT mint 操作 + extracted.update({ + "recipient": self._format_address(message.get("to", message.get("recipient", message.get("redeemer", "")))), + "token_id": message.get("tokenId", message.get("minPrice", "")), + "amount": message.get("amount", "1") + }) + elif "bridge" in primary_type.lower() or "destinationchainid" in str(message).lower(): + # Bridge/跨链桥 操作 + token_address = message.get("token", "") + token_symbol = self._get_token_symbol(token_address) + amount_raw = message.get("amount", message.get("value", 0)) + bridge_fee_raw = message.get("bridgeFee", message.get("fee", 0)) + + extracted.update({ + "sender": self._format_address(message.get("sender", message.get("from", ""))), + "recipient": self._format_address(message.get("recipient", message.get("to", ""))), + "token": self._format_address(token_address), + "token_symbol": token_symbol, + "amount": self._format_token_amount(amount_raw, token_symbol), + "destination_chain": self._get_chain_name(message.get("destinationChainId", message.get("targetChain", ""))), + "bridge_fee": self._format_token_amount(bridge_fee_raw, token_symbol), + "deadline": self._format_timestamp(message.get("deadline", 0)) + }) + elif "intent" in primary_type.lower() or "relay" in primary_type.lower() or "metatx" in primary_type.lower(): + # Meta Transaction / Relay 操作 + extracted.update({ + "from": self._format_address(message.get("from", "")), + "to": self._format_address(message.get("to", "")), + "value": self._format_amount(message.get("value", 0)), + "has_calldata": bool(message.get("callData") or message.get("data")), + "calldata_length": len(str(message.get("callData", message.get("data", "0x")))) - 2, # 减去 0x + "gas_fee": self._format_amount(message.get("gasFee", message.get("fee", 0))), + "deadline": self._format_timestamp(message.get("deadline", 0)), + "note": message.get("note", "")[:50] + "..." if len(message.get("note", "")) > 50 else message.get("note", "") + }) + + return extracted + + @lru_cache(maxsize=50) + def generate_english_description(self, params_hash: str, params_json: str) -> EnglishNLOutput: + """生成英文描述(带缓存)""" + params = json.loads(params_json) + + # 构建精简的提示词 + prompt = self._build_prompt(params) + + try: + start_time = time.time() + + response = self.client.chat.completions.create( + model=self.model, + messages=[ + { + "role": "system", + "content": "You are helping users understand what they are signing. Explain in 1-2 COMPLETE sentences from the user's perspective. Include key details (amounts, destinations, risks). Write FULL sentences with proper endings. IMPORTANT: Do NOT add currency symbols like $ or €. Just write the amount and token name (e.g., '100.00 USDC' not '$100.00 USDC'). Be direct, clear, and finish every thought." + }, + { + "role": "user", + "content": prompt + } + ], + temperature=0.3, + max_tokens=100, # 增加到100,避免描述被截断 + timeout=15 + ) + + # 计算成本 + usage = response.usage + cost = self._calculate_cost(usage.prompt_tokens, usage.completion_tokens) + self.total_cost += cost + self.request_count += 1 + + response_time = time.time() - start_time + print(f"✅ OpenAI API call completed in {response_time:.2f}s, Cost: {cost:.6f}") + + # 解析响应 + return self._parse_response(response.choices[0].message.content, params) + + except Exception as e: + print(f"❌ OpenAI API error: {e}") + # 降级到模板生成 + return self._fallback_template_generation(params) + + def _build_prompt(self, params: Dict[str, Any]) -> str: + """构建优化的提示词""" + operation_type = params.get("operation_type", "operation") + app_name = params.get("app_name", "Unknown") + + # 构建简洁的核心信息 + if operation_type == "permit": + amount = params.get("amount", "tokens") + deadline = params.get("deadline", "") + + # 格式化deadline信息 + deadline_text = "" + if deadline: + try: + import datetime + deadline_timestamp = int(deadline) + deadline_date = datetime.datetime.fromtimestamp(deadline_timestamp) + deadline_text = f" until {deadline_date.strftime('%Y-%m-%d')}" + except: + deadline_text = f" until deadline {deadline}" + + # 特别处理无限授权 + if "UNLIMITED" in str(amount): + return f"User is signing a permit for UNLIMITED spending authorization in {app_name}{deadline_text}. This is an infinite approval that allows spending any amount. Explain this clearly including the unlimited nature and deadline:" + else: + return f"User is signing a permit to allow spending {amount} in {app_name}{deadline_text}. Explain in 1 simple sentence what they are authorizing, including the deadline:" + + elif operation_type == "order": + return f"User is signing to create a trade order in {app_name}. Explain in 1 simple sentence what they are authorizing:" + + elif operation_type == "vote": + return f"User is signing to cast a vote in {app_name}. Explain in 1 simple sentence what they are authorizing:" + + elif "mint" in operation_type or "voucher" in operation_type: + return f"User is signing to mint/claim an NFT in {app_name}. Explain in 1 simple sentence what they are doing:" + + elif "bridge" in operation_type: + amount = params.get("amount", "unknown") + dest_chain = params.get("destination_chain", "unknown") + bridge_fee = params.get("bridge_fee", "unknown") + return f"User is signing to bridge {amount} from current chain to {dest_chain} (bridge fee: {bridge_fee}) via {app_name}. Explain in 1-2 sentences: what they're transferring. Skip repeating 'irreversible' - just state the action clearly:" + + elif "intent" in operation_type or "relay" in operation_type or "metatx" in operation_type: + has_calldata = params.get("has_calldata", False) + to_address = params.get("to", "unknown") + value = params.get("value", "0") + gas_fee = params.get("gas_fee", "unknown") + + # 检测可疑地址 + is_suspicious = "9999" in to_address or "0000" in to_address + + if has_calldata: + return f"User is signing to authorize {app_name} to execute a contract call on their behalf to {to_address}. Explain in 1-2 clear sentences: what they're authorizing and the key risk (arbitrary execution):" + elif is_suspicious and value == "0": + return f"User is signing to authorize {app_name} to submit transactions to suspicious address {to_address} with zero transfer amount. Explain in 1-2 sentences: why this is risky (suspicious address + zero-amount trap tricks users):" + else: + return f"User is signing to authorize {app_name} to relay transactions on their behalf (gas fee: {gas_fee}). Explain in 1 sentence what relay authorization means:" + + else: + return f"User is signing a {operation_type} operation in {app_name}. Explain in 1 simple sentence what they are authorizing:" + + def _parse_response(self, response_text: str, params: Dict[str, Any]) -> EnglishNLOutput: + """解析GPT响应为结构化输出""" + operation_type = params.get("operation_type", "operation") + app_name = params.get("app_name", "Unknown App") + + # 生成标题 + title = f"{app_name} - {operation_type.title()} Operation" + + # 使用GPT响应作为主要描述 + description = response_text.strip() + + # 生成技术细节 + tech_details = self._generate_technical_details(params) + + # 生成上下文 + context = self._generate_context(params) + + # 评估风险等级和解释 + risk_level, risk_explanation = self._assess_risk_level(params) + + return EnglishNLOutput( + title=title, + summary=description, + detailed_description=description, + technical_details=tech_details, + context=context, + risk_level=risk_level, + risk_explanation=risk_explanation + ) + + def _fallback_template_generation(self, params: Dict[str, Any]) -> EnglishNLOutput: + """API失败时的模板生成""" + operation_type = params.get("operation_type", "operation") + app_name = params.get("app_name", "Unknown App") + + templates = { + "permit": f"You are authorizing another address to spend your tokens in {app_name}.", + "order": f"You are creating a trade order in {app_name}.", + "vote": f"You are casting a vote in {app_name}.", + "transfer": f"You are transferring assets in {app_name}." + } + + description = templates.get(operation_type, f"This is a blockchain operation in {app_name}.") + + return EnglishNLOutput( + title=f"{app_name} - {operation_type.title()} Operation", + summary=description, + detailed_description=description, + technical_details=f"Operation type: {operation_type}", + context=f"Executed on {app_name}", + risk_level="Medium", + risk_explanation="Unlimited approval" + ) + + def _calculate_cost(self, input_tokens: int, output_tokens: int) -> float: + """计算API调用成本""" + # GPT-4.1-mini pricing: $0.40/1M input, $1.60/1M output + input_cost = (input_tokens / 1_000_000) * 0.40 + output_cost = (output_tokens / 1_000_000) * 1.60 + return input_cost + output_cost + + def _get_token_symbol(self, token_address: str) -> str: + """根据合约地址识别常见 token""" + if not token_address or not isinstance(token_address, str): + return "tokens" + + # 常见的 token 地址(以太坊主网) + KNOWN_TOKENS = { + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "USDC", + "0xdac17f958d2ee523a2206206994597c13d831ec7": "USDT", + "0x6b175474e89094c44da98b954eedeac495271d0f": "DAI", + "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": "WBTC", + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "WETH", + "0x514910771af9ca656af840dff83e8264ecf986ca": "LINK", + "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984": "UNI", + } + + return KNOWN_TOKENS.get(token_address.lower(), "tokens") + + def _format_token_amount(self, amount: Any, token_symbol: str = "tokens") -> str: + """根据 token 类型格式化金额""" + try: + amount_int = int(amount) + + # 根据 token 类型使用不同的小数位 + if token_symbol in ["USDC", "USDT"]: + # 6位小数 + token_amount = amount_int / 10**6 + if token_amount >= 1: + return f"{token_amount:,.2f} {token_symbol}" + else: + return f"{token_amount:.6f} {token_symbol}" + elif token_symbol in ["WBTC"]: + # 8位小数 + token_amount = amount_int / 10**8 + return f"{token_amount:.8f} {token_symbol}".rstrip('0').rstrip('.') + elif token_symbol in ["DAI", "WETH", "LINK", "UNI"]: + # 18位小数 + token_amount = amount_int / 10**18 + if token_amount >= 1: + return f"{token_amount:,.4f} {token_symbol}" + else: + return f"{token_amount:.6f} {token_symbol}" + else: + # 默认显示为 units(无法确定小数位) + if amount_int >= 1000: + return f"{amount_int:,} units" + else: + return f"{amount_int} units" + except: + return str(amount) + + def _format_address(self, address: str) -> str: + """格式化地址""" + if not address or len(address) < 10: + return address + return f"{address[:6]}...{address[-4:]}" + + def _format_amount(self, amount: Any) -> str: + """格式化金额,识别无限授权""" + try: + amount_int = int(amount) + + # 检测无限授权 (常见的无限授权值) + # uint256 max: 2^256 - 1 + # 也检测常见的"近似无限"值,如 2^255, 2^128 等 + MAX_UINT256 = 2**256 - 1 + NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # 允许一些浮动 + + # 常见的"无限授权"模式 + COMMON_UNLIMITED_VALUES = [ + MAX_UINT256, # 完整的 uint256 最大值 + 2**255 - 1, # 一些协议使用的值 + 2**128 - 1, # 更保守的无限值 + ] + + # 检查是否为无限授权 + # 1. 检查是否接近 uint256 最大值 + if amount_int >= NEAR_MAX_THRESHOLD: + return "UNLIMITED (infinite approval)" + # 2. 检查是否是常见的无限授权值 + elif amount_int in COMMON_UNLIMITED_VALUES: + return "UNLIMITED (infinite approval)" + # 3. 任何超过 10^50 的值都视为"实质上的无限"(比所有可能的代币供应量都大) + elif amount_int > 10**50: + return "UNLIMITED (infinite approval)" + # 4. 正常的代币金额 + elif amount_int >= 10**18: # 18位小数 (ETH, DAI, etc.) + eth_amount = amount_int / 10**18 + return f"{eth_amount:,.6f} tokens".rstrip('0').rstrip('.') + elif amount_int >= 10**6: # 6位小数 (USDC, USDT) + token_amount = amount_int / 10**6 + if token_amount >= 1: + return f"{token_amount:,.2f} tokens" + else: + return f"{token_amount:.6f} tokens" + elif amount_int >= 1000: # 大数字,添加千分位 + return f"{amount_int:,} units" + else: + return f"{amount_int} units" + except: + return str(amount) + + def _get_chain_name(self, chain_id: Any) -> str: + """获取链名称""" + try: + chain_id_str = str(chain_id) + chain_names = { + "1": "Ethereum", + "137": "Polygon", + "56": "BSC", + "42161": "Arbitrum", + "10": "Optimism", + "43114": "Avalanche", + "250": "Fantom", + "42220": "Celo" + } + return chain_names.get(chain_id_str, f"Chain {chain_id}") + except: + return str(chain_id) + + def _format_timestamp(self, timestamp: Any) -> str: + """格式化时间戳""" + try: + ts = int(timestamp) + if ts > 1000000000: + import datetime + dt = datetime.datetime.fromtimestamp(ts) + return dt.strftime("%Y-%m-%d %H:%M:%S") + except: + pass + return str(timestamp) + + def _generate_technical_details(self, params: Dict[str, Any]) -> str: + """生成技术细节""" + details = [] + for key, value in params.items(): + if value and key != "operation_type": + details.append(f"{key.replace('_', ' ').title()}: {value}") + return " | ".join(details[:5]) # 限制长度 + + def _generate_context(self, params: Dict[str, Any]) -> str: + """生成执行上下文""" + app_name = params.get("app_name", "Unknown") + chain_id = params.get("chain_id", "") + + chain_names = { + "1": "Ethereum Mainnet", + "137": "Polygon", + "56": "BSC", + "42161": "Arbitrum" + } + + chain_name = chain_names.get(str(chain_id), f"Chain ID {chain_id}") + return f"Executed on {chain_name} via {app_name}" + + def _assess_risk_level(self, params: Dict[str, Any]) -> tuple[str, str]: + """使用GPT评估风险等级和解释""" + try: + # 构建风险评估提示词 + risk_prompt = self._build_risk_assessment_prompt(params) + + response = self.client.chat.completions.create( + model=self.model, + messages=[ + { + "role": "system", + "content": "You are a blockchain security expert. Identify the PRIMARY hidden risk with SPECIFIC details. Guidelines: PERMITS with UNLIMITED = HIGH ('Unlimited approval'); BRIDGE operations = MEDIUM ('Cross-chain transfer' or 'Irreversible bridge'); BRIDGE with large amount = HIGH ('Large irreversible transfer'); META-TX with callData = HIGH ('Hidden contract call' or 'Arbitrary execution'); META-TX with SUSPICIOUS address (0x9999...) = HIGH ('Suspicious relay address' or 'Phishing relay risk'); META-TX with value=0 + suspicious address = HIGH ('Unknown relay + Zero trap'); META-TX standard = MEDIUM ('Third-party relay'); MINTING = LOW ('NFT mint'). Use 2-6 words describing the ACTUAL danger, not generic warnings. Format: 'Risk: [Low/Medium/High] - [specific risk]'" + }, + { + "role": "user", + "content": risk_prompt + } + ], + temperature=0.1, + max_tokens=20, + timeout=10 + ) + + risk_response = response.choices[0].message.content.strip() + + # 解析风险等级和解释 + if "Risk:" in risk_response and "-" in risk_response: + parts = risk_response.split("Risk:", 1)[1].split("-", 1) + if len(parts) == 2: + risk_level = parts[0].strip() + risk_explanation = parts[1].strip() + + # 验证风险等级 + if risk_level in ["Low", "Medium", "High"]: + return risk_level, risk_explanation + + # 解析失败,使用默认值 + return "High", "Unlimited approval" + + except Exception as e: + print(f"Risk assessment failed: {e}") + return "Medium", "Check needed" + + def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: + """构建风险评估提示词""" + operation_type = params.get("operation_type", "unknown") + app_name = params.get("app_name", "Unknown") + + prompt_parts = [f"Operation: {operation_type} in {app_name}"] + + # 根据操作类型添加特定风险考虑因素 + if operation_type == "permit": + amount = params.get("amount", "unknown") + deadline = params.get("deadline", "unknown") + + # 检查是否为无限授权 + is_unlimited = "UNLIMITED" in str(amount) + + # 计算deadline的具体时长 + duration_info = "unknown duration" + try: + if deadline != "unknown": + import datetime + deadline_timestamp = int(deadline) + current_time = datetime.datetime.now().timestamp() + time_diff = deadline_timestamp - current_time + days = int(time_diff / 86400) # 转换为天数 + + if days > 365: + years = days // 365 + duration_info = f"{years} year{'s' if years > 1 else ''} valid" + elif days > 30: + months = days // 30 + duration_info = f"{months} month{'s' if months > 1 else ''} valid" + elif days > 0: + duration_info = f"{days} day{'s' if days > 1 else ''} valid" + else: + duration_info = "already expired" + except: + duration_info = "unknown duration" + + prompt_parts.extend([ + f"Amount authorized: {amount}", + f"Valid until: {deadline}", + f"Duration: {duration_info}", + ]) + + if is_unlimited: + prompt_parts.append("⚠️ WARNING: This is an UNLIMITED approval - extremely high risk!") + prompt_parts.append("Consider: unlimited spending power, duration, spender trustworthiness") + else: + prompt_parts.append("Consider: amount size, duration, spender trustworthiness") + + elif operation_type == "order": + prompt_parts.append("Consider: order value, marketplace reputation") + + elif operation_type == "vote": + prompt_parts.append("Consider: governance impact, proposal importance") + + elif operation_type == "transfer": + amount = params.get("amount", "unknown") + prompt_parts.extend([ + f"Transfer amount: {amount}", + "Consider: amount size, recipient verification" + ]) + + elif "mint" in operation_type or "voucher" in operation_type: + # NFT mint 操作 - 通常是低风险 + prompt_parts.extend([ + "This is an NFT minting operation", + "✅ Minting is typically LOW risk - user is creating/claiming NFTs", + "Consider: minting cost, trusted contract" + ]) + + elif "bridge" in operation_type: + # Bridge/跨链桥 操作 - 特定风险 + amount = params.get("amount", "unknown") + dest_chain = params.get("destination_chain", "unknown") + bridge_fee = params.get("bridge_fee", "unknown") + token = params.get("token", "unknown") + + prompt_parts.extend([ + "This is a CROSS-CHAIN BRIDGE operation", + f"Transferring {amount} to {dest_chain} chain", + f"Token: {token}", + f"Bridge fee: {bridge_fee}", + ]) + + # Bridge 特定风险分析(简化版) + prompt_parts.extend([ + "\n⚠️ KEY BRIDGE RISKS:", + "- Irreversible cross-chain transfer", + "- Bridge contract trust required", + "- Verify recipient address for target chain" + ]) + + # 评估金额大小 + try: + amount_num = float(str(amount).replace(" USDC", "").replace(" tokens", "").replace(" units", "").replace(",", "")) + if amount_num > 10000: # 大额转账 + prompt_parts.extend([ + "\n⚠️ LARGE AMOUNT: Significant cross-chain transfer!", + "Risk level: MEDIUM-HIGH" + ]) + else: + prompt_parts.append("\n⚠️ Risk level: MEDIUM") + except: + prompt_parts.append("\n⚠️ Risk level: MEDIUM") + + prompt_parts.append("Risk explanation: Use ONLY 2-3 words like 'Cross-chain bridge' or 'Bridge transfer', DO NOT add extra warnings") + + elif "intent" in operation_type or "relay" in operation_type or "metatx" in operation_type: + # Meta Transaction / Relay 操作 - 考虑隐藏风险维度 + has_calldata = params.get("has_calldata", False) + calldata_length = params.get("calldata_length", 0) + gas_fee = params.get("gas_fee", "unknown") + value = params.get("value", "0") + to_address = params.get("to", "unknown") + + prompt_parts.extend([ + "This is a META-TRANSACTION relay operation", + f"User authorizes third party to submit transaction on their behalf", + f"Gas fee: {gas_fee}", + f"Transfer value: {value}", + f"Target address: {to_address}", + ]) + + # 分析隐藏风险维度 + risk_factors = [] + + if has_calldata and calldata_length > 0: + # ① 隐式调用风险 (Hidden Call Risk) + prompt_parts.extend([ + f"⚠️ CRITICAL: Contains callData ({calldata_length} chars) - ARBITRARY contract execution!", + "⚠️ HIDDEN CALL RISK: callData can execute ANY operation:", + " - Token approvals (unlimited spending authorization)", + " - NFT transfers or approvals", + " - Delegate permission settings", + " - Contract state changes", + "⚠️ This is HIGH risk even with value=0!" + ]) + risk_factors.append("arbitrary execution") + else: + # 即使没有 callData,仍需警惕 + prompt_parts.append("⚠️ WARNING: Even with empty callData, value=0 can be misleading") + + # ② 恶意地址风险 (Phishing Target) + is_suspicious_address = False + if "9999" in to_address or "0000" in to_address or to_address == "unknown": + prompt_parts.extend([ + "⚠️ PHISHING RISK: Target address has SUSPICIOUS pattern (0x9999... or similar)", + " - Likely attacker-controlled or test address", + " - NOT a legitimate verified contract" + ]) + risk_factors.append("suspicious address") + is_suspicious_address = True + + # ③ 签名绑定风险 (Linked Authorization) + prompt_parts.append("⚠️ LINKED SIGNATURE RISK: This signature may enable follow-up malicious transactions") + + # ④ 社会工程风险 (Trust Heuristic) + is_zero_value_trap = False + if value == "0" or value == "0 ETH": + prompt_parts.extend([ + "⚠️ SOCIAL ENGINEERING: Zero amount creates false sense of security!", + " - Users think 'no money = no risk' but this is WRONG for meta-tx", + " - callData or relay authorization can drain wallet even with value=0" + ]) + risk_factors.append("zero-value deception") + is_zero_value_trap = True + + # 综合风险评估 - 根据风险因素组合给出精准描述 + if has_calldata and calldata_length > 0: + prompt_parts.append("\n⚠️ OVERALL: HIGH risk - Multiple hidden dangers, potential asset loss") + if is_suspicious_address: + prompt_parts.append("Risk explanation: 'Hidden call + Suspicious address' or 'Arbitrary execution'") + else: + prompt_parts.append("Risk explanation: 'Hidden contract call' or 'Arbitrary execution'") + else: + # 没有 callData 但仍有其他风险因素 + if is_suspicious_address and is_zero_value_trap: + prompt_parts.append("\n⚠️ OVERALL: HIGH risk - Suspicious address + Zero-value trap + Relay authorization") + prompt_parts.append("Risk explanation: 'Suspicious relay address' or 'Phishing relay risk' or 'Unknown relay + Zero trap'") + elif is_suspicious_address: + prompt_parts.append("\n⚠️ OVERALL: HIGH risk - Suspicious address pattern detected") + prompt_parts.append("Risk explanation: 'Suspicious relay address' or 'Unverified relay'") + elif is_zero_value_trap: + prompt_parts.append("\n⚠️ OVERALL: MEDIUM-HIGH risk - Zero-value deception with relay") + prompt_parts.append("Risk explanation: 'Zero-value relay trap' or 'Misleading authorization'") + else: + prompt_parts.append("\n⚠️ OVERALL: MEDIUM risk - Standard third-party relay") + prompt_parts.append("Risk explanation: 'Third-party relay' or 'Relay authorization'") + + prompt_parts.append("Risk level (Low/Medium/High)?") + return "\n".join(prompt_parts) + + def get_cost_summary(self) -> Dict[str, Any]: + """获取成本统计""" + return { + "total_requests": self.request_count, + "total_cost": round(self.total_cost, 6), + "average_cost_per_request": round(self.total_cost / max(1, self.request_count), 6), + "estimated_1000_requests": round((self.total_cost / max(1, self.request_count)) * 1000, 2) + } + +# 便捷函数 +def create_openai_generator(api_key: str) -> OpenAINLPGenerator: + """创建OpenAI NLP生成器""" + return OpenAINLPGenerator(api_key) + +# 集成到现有系统的包装函数 +def generate_english_with_openai(eip712_data: Dict[str, Any], api_key: str) -> EnglishNLOutput: + """单次生成英文描述""" + generator = create_openai_generator(api_key) + + # 提取参数 + params = generator.extract_key_parameters(eip712_data) + + # 生成缓存键 + params_json = json.dumps(params, sort_keys=True) + params_hash = hashlib.md5(params_json.encode()).hexdigest() + + # 生成描述 + return generator.generate_english_description(params_hash, params_json) \ No newline at end of file diff --git a/dynamic_parser/patterns.py b/dynamic_parser/patterns.py new file mode 100644 index 0000000..e80e230 --- /dev/null +++ b/dynamic_parser/patterns.py @@ -0,0 +1,220 @@ +""" +动态解析器模式匹配 +包含语义识别模式、类型推断模式和上下文关键词 +""" + +from typing import Dict, List, Tuple, Set +from .field_types import FieldSemantic, FieldType + + +class PatternMatcher: + """模式匹配器""" + + def __init__(self): + self.semantic_patterns = self._init_semantic_patterns() + self.type_patterns = self._init_type_patterns() + self.context_keywords = self._init_context_keywords() + + def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: + """初始化语义模式 - 返回 (模式, 语义) 的列表""" + return [ + # 精确匹配模式 + (r"^tokenid$", FieldSemantic.TOKEN_ID), + (r"^nonce$", FieldSemantic.NONCE), + (r"^chainid$", FieldSemantic.CHAIN_ID), + (r"^deadline$", FieldSemantic.DEADLINE), + (r"^timestamp$", FieldSemantic.TIMESTAMP), + (r"^spender$", FieldSemantic.SPENDER), + (r"^owner$", FieldSemantic.OWNER), + (r"^recipient$", FieldSemantic.RECIPIENT), + (r"^amount$", FieldSemantic.AMOUNT), + (r"^value$", FieldSemantic.VALUE), + (r"^price$", FieldSemantic.PRICE), + (r"^fee$", FieldSemantic.FEE), + + # 复合匹配模式 + (r".*token.*id.*", FieldSemantic.TOKEN_ID), + (r".*proposal.*id.*", FieldSemantic.PROPOSAL_ID), + (r".*chain.*id.*", FieldSemantic.CHAIN_ID), + (r".*voting.*power.*", FieldSemantic.VOTING_POWER), + (r".*merkle.*root.*", FieldSemantic.MERKLE_ROOT), + + # 身份相关 + (r".*holder.*", FieldSemantic.OWNER), + (r".*minter.*", FieldSemantic.OWNER), + (r".*creator.*", FieldSemantic.CREATOR), + (r".*from.*", FieldSemantic.OWNER), + (r".*approved.*", FieldSemantic.SPENDER), + (r".*to.*", FieldSemantic.RECIPIENT), + (r".*beneficiary.*", FieldSemantic.RECIPIENT), + (r".*trader.*", FieldSemantic.TRADER), + (r".*offerer.*", FieldSemantic.OFFERER), + (r".*maker.*", FieldSemantic.OFFERER), + (r".*bidder.*", FieldSemantic.BIDDER), + (r".*seller.*", FieldSemantic.SELLER), + (r".*buyer.*", FieldSemantic.BUYER), + (r".*validator.*", FieldSemantic.VALIDATOR), + (r".*delegate.*", FieldSemantic.DELEGATE), + + # 金额相关 + (r".*quantity.*", FieldSemantic.AMOUNT), + (r".*cost.*", FieldSemantic.FEE), + (r".*reward.*", FieldSemantic.REWARD), + (r".*penalty.*", FieldSemantic.PENALTY), + (r".*balance.*", FieldSemantic.BALANCE), + (r".*allowance.*", FieldSemantic.ALLOWANCE), + (r".*minimum.*", FieldSemantic.MINIMUM), + (r".*maximum.*", FieldSemantic.MAXIMUM), + (r".*min.*", FieldSemantic.MINIMUM), + (r".*max.*", FieldSemantic.MAXIMUM), + (r".*liquidity.*", FieldSemantic.LIQUIDITY), + (r".*slippage.*", FieldSemantic.SLIPPAGE), + (r".*rate.*", FieldSemantic.RATE), + (r".*yield.*", FieldSemantic.YIELD), + (r".*royalty.*", FieldSemantic.ROYALTY), + + # 时间相关 + (r".*expiry.*", FieldSemantic.DEADLINE), + (r".*expires.*", FieldSemantic.DEADLINE), + (r".*time.*", FieldSemantic.TIMESTAMP), + (r".*start.*time.*", FieldSemantic.START_TIME), + (r".*end.*time.*", FieldSemantic.END_TIME), + (r".*duration.*", FieldSemantic.DURATION), + (r".*delay.*", FieldSemantic.DELAY), + (r".*period.*", FieldSemantic.PERIOD), + + # 标识相关 + (r".*salt.*", FieldSemantic.SALT), + (r".*index.*", FieldSemantic.INDEX), + (r".*counter.*", FieldSemantic.COUNTER), + (r".*key.*", FieldSemantic.KEY), + (r"^id$", FieldSemantic.ID), + (r".*_id$", FieldSemantic.ID), + + # 数据相关 + (r".*data.*", FieldSemantic.DATA), + (r".*payload.*", FieldSemantic.DATA), + (r".*hash.*", FieldSemantic.HASH), + (r".*signature.*", FieldSemantic.SIGNATURE), + (r".*proof.*", FieldSemantic.PROOF), + (r".*metadata.*", FieldSemantic.METADATA), + + # 配置相关 + (r".*version.*", FieldSemantic.VERSION), + (r".*type.*", FieldSemantic.TYPE), + (r".*status.*", FieldSemantic.STATUS), + (r".*flag.*", FieldSemantic.FLAG), + (r".*option.*", FieldSemantic.OPTION), + + # 治理相关 + (r".*vote.*type.*", FieldSemantic.VOTE_TYPE), + (r".*support.*", FieldSemantic.VOTE_TYPE), + + # NFT相关 + (r".*collection.*", FieldSemantic.COLLECTION), + (r".*pool.*", FieldSemantic.POOL), + ] + + def _init_type_patterns(self) -> List[Tuple[str, str, FieldType]]: + """初始化类型推断模式 - 返回 (字段名模式, 类型模式, 推断类型) 的列表""" + return [ + # 金额类型 + (r".*amount.*|.*value.*|.*price.*|.*fee.*|.*cost.*|.*quantity.*", r"uint.*", FieldType.AMOUNT), + (r".*balance.*|.*allowance.*|.*reward.*|.*penalty.*", r"uint.*", FieldType.AMOUNT), + (r".*liquidity.*|.*slippage.*|.*rate.*|.*yield.*", r"uint.*", FieldType.AMOUNT), + + # 时间戳类型 + (r".*time.*|.*deadline.*|.*expiry.*|.*expires.*|.*timestamp.*", r"uint.*", FieldType.TIMESTAMP), + (r".*duration.*|.*delay.*|.*period.*", r"uint.*", FieldType.TIMESTAMP), + + # 随机数类型 + (r".*nonce.*", r"uint.*", FieldType.NONCE), + (r".*counter.*|.*index.*", r"uint.*", FieldType.NONCE), + + # 地址类型 + (r".*token.*|.*erc20.*|.*erc721.*|.*erc1155.*", r"address", FieldType.TOKEN_ADDRESS), + (r".*contract.*|.*verifying.*", r"address", FieldType.CONTRACT_ADDRESS), + + # 哈希类型 + (r".*hash.*|.*root.*|.*digest.*", r"bytes32", FieldType.HASH), + + # 签名类型 + (r".*signature.*|.*sig.*", r"bytes.*", FieldType.SIGNATURE), + + # 百分比类型 + (r".*percent.*|.*ratio.*|.*bps.*", r"uint.*", FieldType.PERCENTAGE), + ] + + def _init_context_keywords(self) -> Dict[str, Set[str]]: + """初始化上下文关键词""" + return { + "permit": {"spender", "owner", "value", "deadline", "nonce"}, + "order": {"offerer", "offer", "consideration", "orderType", "startTime", "endTime"}, + "vote": {"voter", "proposalId", "support", "reason"}, + "transfer": {"from", "to", "amount", "tokenId"}, + "mint": {"to", "tokenId", "amount", "data"}, + "burn": {"from", "tokenId", "amount"}, + "governance": {"proposer", "targets", "values", "signatures", "calldatas"}, + "auction": {"bidder", "bid", "deadline", "reserve"}, + "swap": {"tokenIn", "tokenOut", "amountIn", "amountOut", "slippage"}, + "liquidity": {"token0", "token1", "liquidity", "amount0", "amount1"}, + } + + def infer_semantic(self, field_name: str) -> FieldSemantic: + """根据字段名推断语义""" + import re + + field_name_lower = field_name.lower() + + for pattern, semantic in self.semantic_patterns: + if re.match(pattern, field_name_lower): + return semantic + + return None + + def infer_field_type(self, field_name: str, type_name: str) -> FieldType: + """根据字段名和类型推断字段类型""" + import re + + field_name_lower = field_name.lower() + type_name_lower = type_name.lower() + + for name_pattern, type_pattern, field_type in self.type_patterns: + if re.match(name_pattern, field_name_lower) and re.match(type_pattern, type_name_lower): + return field_type + + # 基于类型的基本推断 + if type_name_lower == "address": + return FieldType.ADDRESS + elif "uint" in type_name_lower: + return FieldType.UINT + elif "bytes" in type_name_lower: + return FieldType.BYTES + elif type_name_lower == "bool": + return FieldType.BOOL + elif type_name_lower == "string": + return FieldType.STRING + + return FieldType.UNKNOWN + + def detect_context(self, struct_name: str, field_names: List[str]) -> str: + """检测结构体上下文""" + struct_name_lower = struct_name.lower() + field_names_lower = [name.lower() for name in field_names] + + # 直接匹配结构体名称 + for context_name in self.context_keywords: + if context_name in struct_name_lower: + return context_name + + # 根据字段名匹配 + context_scores = {} + for context_name, keywords in self.context_keywords.items(): + score = len(keywords.intersection(set(field_names_lower))) + if score > 0: + context_scores[context_name] = score + + if context_scores: + return max(context_scores, key=context_scores.get) + + return "unknown" \ No newline at end of file diff --git a/eip712_parser/dynamic_parser.py b/eip712_parser/dynamic_parser.py new file mode 100644 index 0000000..f859f14 --- /dev/null +++ b/eip712_parser/dynamic_parser.py @@ -0,0 +1,964 @@ +""" +动态 EIP712 解析器 +能够解析任意 EIP712 签名结构和语义的通用工具 +""" + +from typing import Dict, List, Any, Optional, Union, Set, Tuple +from dataclasses import dataclass, field +from enum import Enum +import re +import datetime + + +class FieldType(str, Enum): + """字段类型枚举""" + # 基础类型 + UINT = "uint" + INT = "int" + BOOL = "bool" + BYTES = "bytes" + STRING = "string" + ADDRESS = "address" + + # 复合类型 + ARRAY = "array" + STRUCT = "struct" + + # 特殊类型(根据语义推断) + TOKEN_ADDRESS = "token_address" + USER_ADDRESS = "user_address" + CONTRACT_ADDRESS = "contract_address" + AMOUNT = "amount" + TIMESTAMP = "timestamp" + DEADLINE = "deadline" + NONCE = "nonce" + HASH = "hash" + SIGNATURE = "signature" + PERCENTAGE = "percentage" + ENUM_VALUE = "enum_value" + + +class FieldSemantic(str, Enum): + """字段语义枚举""" + # 身份相关 + OWNER = "owner" + SPENDER = "spender" + RECIPIENT = "recipient" + TRADER = "trader" + OFFERER = "offerer" + BIDDER = "bidder" + SELLER = "seller" + BUYER = "buyer" + VALIDATOR = "validator" + DELEGATE = "delegate" + + # 金额相关 + VALUE = "value" + AMOUNT = "amount" + PRICE = "price" + FEE = "fee" + REWARD = "reward" + PENALTY = "penalty" + BALANCE = "balance" + ALLOWANCE = "allowance" + MINIMUM = "minimum" + MAXIMUM = "maximum" + + # 时间相关 + TIMESTAMP = "timestamp" + DEADLINE = "deadline" + START_TIME = "start_time" + END_TIME = "end_time" + DURATION = "duration" + DELAY = "delay" + PERIOD = "period" + + # 标识相关 + TOKEN_ID = "token_id" + NONCE = "nonce" + SALT = "salt" + INDEX = "index" + ID = "id" + KEY = "key" + COUNTER = "counter" + + # 数据相关 + DATA = "data" + HASH = "hash" + SIGNATURE = "signature" + PROOF = "proof" + MERKLE_ROOT = "merkle_root" + + # 配置相关 + VERSION = "version" + CHAIN_ID = "chain_id" + TYPE = "type" + STATUS = "status" + FLAG = "flag" + OPTION = "option" + + # 治理相关 + PROPOSAL_ID = "proposal_id" + VOTE_TYPE = "vote_type" + VOTING_POWER = "voting_power" + + # NFT相关 + COLLECTION = "collection" + CREATOR = "creator" + ROYALTY = "royalty" + METADATA = "metadata" + + # DeFi相关 + LIQUIDITY = "liquidity" + SLIPPAGE = "slippage" + POOL = "pool" + RATE = "rate" + YIELD = "yield" + + +@dataclass +class FieldInfo: + """字段信息""" + name: str # 字段名 + type_name: str # 原始类型名 + field_type: FieldType # 推断的字段类型 + semantic: Optional[FieldSemantic] # 语义标注 + value: Any # 字段值 + description: str # 字段描述 + confidence: float = 0.0 # 识别置信度 (0-1) + is_array: bool = False # 是否为数组 + array_element_type: Optional[str] = None # 数组元素类型 + children: List['FieldInfo'] = field(default_factory=list) # 子字段(用于结构体) + context_hints: List[str] = field(default_factory=list) # 上下文提示 + + +@dataclass +class StructInfo: + """结构体信息""" + name: str # 结构体名称 + fields: List[FieldInfo] # 字段列表 + description: str # 结构体描述 + struct_type: Optional[str] = None # 结构体类型分类 + + +@dataclass +class EIP712ParseResult: + """EIP712解析结果""" + domain: StructInfo # 域信息 + primary_type: str # 主要类型 + message: StructInfo # 消息结构 + raw_data: Dict[str, Any] # 原始数据 + + +class DynamicEIP712Parser: + """动态 EIP712 解析器""" + + def __init__(self): + self.types: Dict[str, List[Dict[str, str]]] = {} + self.semantic_patterns = self._init_semantic_patterns() + self.type_patterns = self._init_type_patterns() + self.context_keywords = self._init_context_keywords() + self.value_analyzers = self._init_value_analyzers() + + def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: + """初始化语义模式 - 返回 (模式, 语义, 置信度) 的列表""" + return [ + # 高置信度模式 (0.9+) + (r"^tokenid$", FieldSemantic.TOKEN_ID, 0.95), + (r"^nonce$", FieldSemantic.NONCE, 0.95), + (r"^chainid$", FieldSemantic.CHAIN_ID, 0.95), + (r"^deadline$", FieldSemantic.DEADLINE, 0.95), + (r"^timestamp$", FieldSemantic.TIMESTAMP, 0.95), + (r"^spender$", FieldSemantic.SPENDER, 0.95), + (r"^owner$", FieldSemantic.OWNER, 0.95), + (r"^recipient$", FieldSemantic.RECIPIENT, 0.95), + (r"^amount$", FieldSemantic.AMOUNT, 0.95), + (r"^value$", FieldSemantic.VALUE, 0.95), + (r"^price$", FieldSemantic.PRICE, 0.95), + (r"^fee$", FieldSemantic.FEE, 0.95), + + # 中高置信度模式 (0.8+) + (r".*token.*id.*", FieldSemantic.TOKEN_ID, 0.85), + (r".*proposal.*id.*", FieldSemantic.PROPOSAL_ID, 0.85), + (r".*chain.*id.*", FieldSemantic.CHAIN_ID, 0.85), + (r".*voting.*power.*", FieldSemantic.VOTING_POWER, 0.85), + (r".*merkle.*root.*", FieldSemantic.MERKLE_ROOT, 0.85), + + # 身份相关 (0.7+) + (r".*holder.*", FieldSemantic.OWNER, 0.8), + (r".*minter.*", FieldSemantic.OWNER, 0.8), + (r".*creator.*", FieldSemantic.CREATOR, 0.8), + (r".*from.*", FieldSemantic.OWNER, 0.75), + (r".*approved.*", FieldSemantic.SPENDER, 0.8), + (r".*to.*", FieldSemantic.RECIPIENT, 0.75), + (r".*beneficiary.*", FieldSemantic.RECIPIENT, 0.8), + (r".*trader.*", FieldSemantic.TRADER, 0.8), + (r".*offerer.*", FieldSemantic.OFFERER, 0.85), + (r".*maker.*", FieldSemantic.OFFERER, 0.8), + (r".*bidder.*", FieldSemantic.BIDDER, 0.8), + (r".*seller.*", FieldSemantic.SELLER, 0.8), + (r".*buyer.*", FieldSemantic.BUYER, 0.8), + (r".*validator.*", FieldSemantic.VALIDATOR, 0.8), + (r".*delegate.*", FieldSemantic.DELEGATE, 0.8), + + # 金额相关 (0.7+) + (r".*quantity.*", FieldSemantic.AMOUNT, 0.8), + (r".*cost.*", FieldSemantic.FEE, 0.75), + (r".*reward.*", FieldSemantic.REWARD, 0.8), + (r".*penalty.*", FieldSemantic.PENALTY, 0.8), + (r".*balance.*", FieldSemantic.BALANCE, 0.8), + (r".*allowance.*", FieldSemantic.ALLOWANCE, 0.8), + (r".*minimum.*", FieldSemantic.MINIMUM, 0.75), + (r".*maximum.*", FieldSemantic.MAXIMUM, 0.75), + (r".*min.*", FieldSemantic.MINIMUM, 0.7), + (r".*max.*", FieldSemantic.MAXIMUM, 0.7), + (r".*liquidity.*", FieldSemantic.LIQUIDITY, 0.8), + (r".*slippage.*", FieldSemantic.SLIPPAGE, 0.8), + (r".*rate.*", FieldSemantic.RATE, 0.75), + (r".*yield.*", FieldSemantic.YIELD, 0.8), + (r".*royalty.*", FieldSemantic.ROYALTY, 0.8), + + # 时间相关 (0.7+) + (r".*expiry.*", FieldSemantic.DEADLINE, 0.85), + (r".*expires.*", FieldSemantic.DEADLINE, 0.85), + (r".*time.*", FieldSemantic.TIMESTAMP, 0.7), + (r".*start.*time.*", FieldSemantic.START_TIME, 0.85), + (r".*end.*time.*", FieldSemantic.END_TIME, 0.85), + (r".*duration.*", FieldSemantic.DURATION, 0.8), + (r".*delay.*", FieldSemantic.DELAY, 0.8), + (r".*period.*", FieldSemantic.PERIOD, 0.8), + + # 标识相关 (0.7+) + (r".*salt.*", FieldSemantic.SALT, 0.9), + (r".*index.*", FieldSemantic.INDEX, 0.8), + (r".*counter.*", FieldSemantic.COUNTER, 0.8), + (r".*key.*", FieldSemantic.KEY, 0.7), + (r"^id$", FieldSemantic.ID, 0.8), + (r".*_id$", FieldSemantic.ID, 0.75), + + # 数据相关 (0.7+) + (r".*data.*", FieldSemantic.DATA, 0.75), + (r".*payload.*", FieldSemantic.DATA, 0.8), + (r".*hash.*", FieldSemantic.HASH, 0.8), + (r".*signature.*", FieldSemantic.SIGNATURE, 0.85), + (r".*proof.*", FieldSemantic.PROOF, 0.8), + (r".*metadata.*", FieldSemantic.METADATA, 0.8), + + # 配置相关 (0.7+) + (r".*version.*", FieldSemantic.VERSION, 0.8), + (r".*type.*", FieldSemantic.TYPE, 0.7), + (r".*status.*", FieldSemantic.STATUS, 0.8), + (r".*flag.*", FieldSemantic.FLAG, 0.75), + (r".*option.*", FieldSemantic.OPTION, 0.75), + + # 治理相关 (0.7+) + (r".*vote.*type.*", FieldSemantic.VOTE_TYPE, 0.85), + (r".*support.*", FieldSemantic.VOTE_TYPE, 0.8), + + # NFT相关 (0.7+) + (r".*collection.*", FieldSemantic.COLLECTION, 0.8), + (r".*pool.*", FieldSemantic.POOL, 0.75), + ] + + def _init_type_patterns(self) -> List[Tuple[str, str, FieldType, float]]: + """初始化类型推断模式 - 返回 (字段名模式, 类型模式, 推断类型, 置信度) 的列表""" + return [ + # 金额类型 + (r".*amount.*|.*value.*|.*price.*|.*fee.*|.*cost.*|.*quantity.*", r"uint.*", FieldType.AMOUNT, 0.9), + (r".*balance.*|.*allowance.*|.*reward.*|.*penalty.*", r"uint.*", FieldType.AMOUNT, 0.85), + (r".*liquidity.*|.*slippage.*|.*rate.*|.*yield.*", r"uint.*", FieldType.AMOUNT, 0.8), + + # 时间戳类型 + (r".*time.*|.*deadline.*|.*expiry.*|.*expires.*|.*timestamp.*", r"uint.*", FieldType.TIMESTAMP, 0.9), + (r".*duration.*|.*delay.*|.*period.*", r"uint.*", FieldType.TIMESTAMP, 0.8), + + # 随机数类型 + (r".*nonce.*", r"uint.*", FieldType.NONCE, 0.95), + (r".*counter.*|.*index.*", r"uint.*", FieldType.NONCE, 0.8), + + # 地址类型 + (r".*token.*|.*erc20.*|.*erc721.*|.*erc1155.*", r"address", FieldType.TOKEN_ADDRESS, 0.9), + (r".*contract.*|.*verifying.*", r"address", FieldType.CONTRACT_ADDRESS, 0.85), + + # 哈希类型 + (r".*hash.*|.*root.*|.*digest.*", r"bytes32", FieldType.HASH, 0.9), + + # 签名类型 + (r".*signature.*|.*sig.*", r"bytes.*", FieldType.SIGNATURE, 0.9), + + # 百分比类型 + (r".*percent.*|.*ratio.*|.*bps.*", r"uint.*", FieldType.PERCENTAGE, 0.85), + ] + + def _init_context_keywords(self) -> Dict[str, Set[str]]: + """初始化上下文关键词""" + return { + "permit": {"spender", "owner", "value", "deadline", "nonce"}, + "order": {"offerer", "offer", "consideration", "orderType", "startTime", "endTime"}, + "vote": {"voter", "proposalId", "support", "reason"}, + "transfer": {"from", "to", "amount", "tokenId"}, + "mint": {"to", "tokenId", "amount", "data"}, + "burn": {"from", "tokenId", "amount"}, + "governance": {"proposer", "targets", "values", "signatures", "calldatas"}, + "auction": {"bidder", "bid", "deadline", "reserve"}, + "swap": {"tokenIn", "tokenOut", "amountIn", "amountOut", "slippage"}, + "liquidity": {"token0", "token1", "liquidity", "amount0", "amount1"}, + } + + def _init_value_analyzers(self) -> List[callable]: + """初始化值分析器""" + return [ + self._analyze_timestamp_value, + self._analyze_amount_value, + self._analyze_address_value, + self._analyze_percentage_value, + self._analyze_enum_value, + ] + + def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: + """ + 解析 EIP712 数据 + + Args: + eip712_data: EIP712 格式的数据 + + Returns: + 解析结果 + """ + if not self._validate_eip712_data(eip712_data): + raise ValueError("无效的 EIP712 数据格式") + + self.types = eip712_data['types'] + + # 解析域信息 + domain_struct = self._parse_struct("EIP712Domain", eip712_data['domain']) + + # 解析主要消息 + primary_type = eip712_data['primaryType'] + message_struct = self._parse_struct(primary_type, eip712_data['message']) + + return EIP712ParseResult( + domain=domain_struct, + primary_type=primary_type, + message=message_struct, + raw_data=eip712_data + ) + + def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: + """验证 EIP712 数据格式""" + required_fields = ['types', 'domain', 'primaryType', 'message'] + + for field in required_fields: + if field not in data: + return False + + if 'EIP712Domain' not in data['types']: + return False + + if data['primaryType'] not in data['types']: + return False + + return True + + def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> StructInfo: + """ + 解析结构体(增强版) + + Args: + struct_name: 结构体名称 + struct_data: 结构体数据 + + Returns: + 结构体信息 + """ + if struct_name not in self.types: + raise ValueError(f"未找到结构体定义: {struct_name}") + + struct_definition = self.types[struct_name] + field_names = [field_def['name'] for field_def in struct_definition] + + # 检测结构体上下文类型 + struct_context = self._detect_struct_context(struct_name, field_names) + + fields = [] + for field_def in struct_definition: + field_name = field_def['name'] + field_type = field_def['type'] + field_value = struct_data.get(field_name) + + field_info = self._parse_field(field_name, field_type, field_value, struct_context) + fields.append(field_info) + + description = self._generate_struct_description(struct_name, fields, struct_context) + + return StructInfo( + name=struct_name, + fields=fields, + description=description, + struct_type=struct_context + ) + + def _parse_field(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> FieldInfo: + """ + 解析字段(增强版) + + Args: + field_name: 字段名 + field_type: 字段类型 + field_value: 字段值 + struct_context: 结构体上下文 + + Returns: + 字段信息 + """ + # 解析类型 + is_array = field_type.endswith('[]') + array_element_type = None + base_type = field_type + + if is_array: + base_type = field_type[:-2] + array_element_type = base_type + + # 推断字段类型 + inferred_type = self._infer_field_type(field_name, base_type, field_value) + + # 推断语义(带置信度) + semantic, confidence = self._infer_semantic(field_name, base_type, field_value, struct_context) + + # 处理子结构 + children = [] + if base_type in self.types and field_value is not None: + if is_array and isinstance(field_value, list): + for i, item in enumerate(field_value): + if isinstance(item, dict): + child_struct = self._parse_struct(base_type, item) + child_field = FieldInfo( + name=f"[{i}]", + type_name=base_type, + field_type=FieldType.STRUCT, + semantic=None, + value=item, + description=f"数组元素 {i}", + confidence=0.9, + children=[FieldInfo( + name=child.name, + type_name=child.type_name, + field_type=child.field_type, + semantic=child.semantic, + value=child.value, + description=child.description, + confidence=child.confidence + ) for child in child_struct.fields] + ) + children.append(child_field) + elif isinstance(field_value, dict): + child_struct = self._parse_struct(base_type, field_value) + children = [FieldInfo( + name=child.name, + type_name=child.type_name, + field_type=child.field_type, + semantic=child.semantic, + value=child.value, + description=child.description, + confidence=child.confidence + ) for child in child_struct.fields] + + # 收集上下文提示 + context_hints = [] + if struct_context: + context_hints.append(f"结构体类型: {struct_context}") + if confidence >= 0.8: + context_hints.append(f"高置信度识别") + + # 生成描述 + description = self._generate_field_description(field_name, inferred_type, semantic, field_value, confidence) + + return FieldInfo( + name=field_name, + type_name=field_type, + field_type=inferred_type, + semantic=semantic, + value=field_value, + description=description, + confidence=confidence, + is_array=is_array, + array_element_type=array_element_type, + children=children, + context_hints=context_hints + ) + + def _analyze_timestamp_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: + """分析时间戳值""" + if not isinstance(field_value, (int, str)): + return None + + try: + timestamp = int(field_value) + # 检查是否是合理的时间戳范围 (2000年 - 2100年) + if 946684800 <= timestamp <= 4102444800: + confidence = 0.8 + # 检查是否是截止时间 + if any(keyword in field_name.lower() for keyword in ['deadline', 'expiry', 'expires']): + return (FieldType.DEADLINE, FieldSemantic.DEADLINE, confidence + 0.1) + else: + return (FieldType.TIMESTAMP, FieldSemantic.TIMESTAMP, confidence) + except (ValueError, TypeError): + pass + + return None + + def _analyze_amount_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: + """分析金额值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + amount = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是典型的ERC20金额 (18位小数) + if amount > 10**15: # 大于 0.001 ETH + confidence = 0.8 + if any(keyword in field_name_lower for keyword in ['amount', 'value', 'quantity']): + return (FieldType.AMOUNT, FieldSemantic.AMOUNT, confidence + 0.1) + elif any(keyword in field_name_lower for keyword in ['price', 'cost']): + return (FieldType.AMOUNT, FieldSemantic.PRICE, confidence + 0.1) + elif any(keyword in field_name_lower for keyword in ['fee', 'commission']): + return (FieldType.AMOUNT, FieldSemantic.FEE, confidence + 0.1) + else: + return (FieldType.AMOUNT, FieldSemantic.VALUE, confidence) + except (ValueError, TypeError): + pass + + return None + + def _analyze_address_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: + """分析地址值""" + if field_type != 'address' or not isinstance(field_value, str): + return None + + # 检查是否是有效的以太坊地址 + if not (field_value.startswith('0x') and len(field_value) == 42): + return None + + field_name_lower = field_name.lower() + confidence = 0.8 + + # 检查是否是零地址 + if field_value == '0x0000000000000000000000000000000000000000': + confidence = 0.6 + + # 根据字段名推断地址类型 + if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): + return (FieldType.TOKEN_ADDRESS, FieldSemantic.COLLECTION, confidence + 0.1) + elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): + return (FieldType.CONTRACT_ADDRESS, FieldSemantic.TYPE, confidence + 0.1) + else: + return (FieldType.USER_ADDRESS, None, confidence) + + def _analyze_percentage_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: + """分析百分比值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + value = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是百分比(0-100或0-10000的范围) + if (0 <= value <= 100 and any(keyword in field_name_lower for keyword in ['percent', 'ratio'])) or \ + (0 <= value <= 10000 and 'bps' in field_name_lower): + return (FieldType.PERCENTAGE, FieldSemantic.RATE, 0.85) + except (ValueError, TypeError): + pass + + return None + + def _analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: + """分析枚举值""" + if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): + return None + + try: + value = int(field_value) + field_name_lower = field_name.lower() + + # 检查是否是小范围的整数(可能是枚举) + if 0 <= value <= 20: + if any(keyword in field_name_lower for keyword in ['type', 'kind', 'status', 'state', 'mode']): + return (FieldType.ENUM_VALUE, FieldSemantic.TYPE, 0.75) + elif any(keyword in field_name_lower for keyword in ['support', 'vote']): + return (FieldType.ENUM_VALUE, FieldSemantic.VOTE_TYPE, 0.8) + except (ValueError, TypeError): + pass + + return None + + def _detect_struct_context(self, struct_name: str, field_names: List[str]) -> Optional[str]: + """检测结构体上下文类型""" + field_names_lower = [name.lower() for name in field_names] + field_set = set(field_names_lower) + + # 计算每种上下文的匹配度 + context_scores = {} + for context_type, keywords in self.context_keywords.items(): + match_count = len(keywords.intersection(field_set)) + if match_count > 0: + context_scores[context_type] = match_count / len(keywords) + + # 返回匹配度最高的上下文 + if context_scores: + best_context = max(context_scores, key=context_scores.get) + if context_scores[best_context] >= 0.5: # 至少50%匹配 + return best_context + + return None + + def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) -> FieldType: + """推断字段类型(增强版)""" + field_name_lower = field_name.lower() + + # 首先使用值分析器 + for analyzer in self.value_analyzers: + result = analyzer(field_name, field_type, field_value) + if result: + return result[0] + + # 使用类型模式匹配 + for name_pattern, type_pattern, inferred_type, confidence in self.type_patterns: + if re.match(name_pattern, field_name_lower) and re.match(type_pattern, field_type): + return inferred_type + + # 基于字段类型的默认推断 + if field_type.startswith('uint') or field_type.startswith('int'): + # 进一步推断是否为金额、时间戳等 + if any(keyword in field_name_lower for keyword in ['amount', 'value', 'price', 'fee', 'cost', 'quantity']): + return FieldType.AMOUNT + elif any(keyword in field_name_lower for keyword in ['time', 'deadline', 'expiry', 'expires', 'timestamp']): + return FieldType.TIMESTAMP + elif 'nonce' in field_name_lower: + return FieldType.NONCE + else: + return FieldType.UINT if field_type.startswith('uint') else FieldType.INT + + elif field_type == 'address': + # 根据字段名推断地址类型 + if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): + return FieldType.TOKEN_ADDRESS + elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): + return FieldType.CONTRACT_ADDRESS + else: + return FieldType.USER_ADDRESS + + elif field_type == 'string': + return FieldType.STRING + + elif field_type == 'bool': + return FieldType.BOOL + + elif field_type.startswith('bytes'): + if 'hash' in field_name_lower: + return FieldType.HASH + elif 'signature' in field_name_lower: + return FieldType.SIGNATURE + else: + return FieldType.BYTES + + elif field_type in self.types: + return FieldType.STRUCT + + elif field_type.endswith('[]'): + return FieldType.ARRAY + + else: + return FieldType.STRING # 默认类型 + + def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> Tuple[Optional[FieldSemantic], float]: + """推断字段语义(增强版)""" + field_name_lower = field_name.lower() + best_semantic = None + best_confidence = 0.0 + + # 首先使用值分析器 + for analyzer in self.value_analyzers: + result = analyzer(field_name, field_type, field_value) + if result and result[1] and result[2] > best_confidence: + best_semantic = result[1] + best_confidence = result[2] + + # 使用语义模式匹配 + for pattern, semantic, confidence in self.semantic_patterns: + if re.match(pattern, field_name_lower) and confidence > best_confidence: + best_semantic = semantic + best_confidence = confidence + + # 上下文增强 + if struct_context and best_semantic: + context_boost = self._get_context_boost(best_semantic, struct_context) + best_confidence = min(0.95, best_confidence + context_boost) + + return (best_semantic, best_confidence) + + def _get_context_boost(self, semantic: FieldSemantic, struct_context: str) -> float: + """根据结构体上下文计算语义置信度提升""" + context_boosts = { + "permit": { + FieldSemantic.OWNER: 0.1, + FieldSemantic.SPENDER: 0.1, + FieldSemantic.VALUE: 0.1, + FieldSemantic.DEADLINE: 0.1, + FieldSemantic.NONCE: 0.1, + }, + "order": { + FieldSemantic.OFFERER: 0.1, + FieldSemantic.PRICE: 0.1, + FieldSemantic.START_TIME: 0.1, + FieldSemantic.END_TIME: 0.1, + FieldSemantic.FEE: 0.1, + }, + "vote": { + FieldSemantic.PROPOSAL_ID: 0.15, + FieldSemantic.VOTE_TYPE: 0.15, + FieldSemantic.VOTING_POWER: 0.1, + }, + "transfer": { + FieldSemantic.OWNER: 0.1, + FieldSemantic.RECIPIENT: 0.1, + FieldSemantic.AMOUNT: 0.1, + FieldSemantic.TOKEN_ID: 0.1, + }, + "mint": { + FieldSemantic.RECIPIENT: 0.1, + FieldSemantic.TOKEN_ID: 0.1, + FieldSemantic.AMOUNT: 0.1, + }, + "auction": { + FieldSemantic.BIDDER: 0.1, + FieldSemantic.PRICE: 0.1, + FieldSemantic.DEADLINE: 0.1, + }, + "swap": { + FieldSemantic.AMOUNT: 0.1, + FieldSemantic.SLIPPAGE: 0.15, + FieldSemantic.RATE: 0.1, + }, + "liquidity": { + FieldSemantic.LIQUIDITY: 0.15, + FieldSemantic.AMOUNT: 0.1, + FieldSemantic.POOL: 0.1, + }, + } + + return context_boosts.get(struct_context, {}).get(semantic, 0.0) + + def _generate_field_description(self, field_name: str, field_type: FieldType, semantic: Optional[FieldSemantic], field_value: Any, confidence: float = 0.0) -> str: + """生成字段描述""" + base_desc = f"字段 '{field_name}'" + + # 添加语义描述 + if semantic: + semantic_desc = { + # 身份相关 + FieldSemantic.OWNER: "拥有者地址", + FieldSemantic.SPENDER: "授权花费者地址", + FieldSemantic.RECIPIENT: "接收者地址", + FieldSemantic.TRADER: "交易者地址", + FieldSemantic.OFFERER: "报价者地址", + FieldSemantic.BIDDER: "竞拍者地址", + FieldSemantic.SELLER: "卖方地址", + FieldSemantic.BUYER: "买方地址", + FieldSemantic.VALIDATOR: "验证者地址", + FieldSemantic.DELEGATE: "委托者地址", + FieldSemantic.CREATOR: "创建者地址", + + # 金额相关 + FieldSemantic.VALUE: "数值", + FieldSemantic.AMOUNT: "金额", + FieldSemantic.PRICE: "价格", + FieldSemantic.FEE: "手续费", + FieldSemantic.REWARD: "奖励金额", + FieldSemantic.PENALTY: "惩罚金额", + FieldSemantic.BALANCE: "余额", + FieldSemantic.ALLOWANCE: "授权额度", + FieldSemantic.MINIMUM: "最小值", + FieldSemantic.MAXIMUM: "最大值", + FieldSemantic.LIQUIDITY: "流动性", + FieldSemantic.SLIPPAGE: "滑点", + FieldSemantic.RATE: "比率", + FieldSemantic.YIELD: "收益率", + FieldSemantic.ROYALTY: "版税", + + # 时间相关 + FieldSemantic.TIMESTAMP: "时间戳", + FieldSemantic.DEADLINE: "截止时间", + FieldSemantic.START_TIME: "开始时间", + FieldSemantic.END_TIME: "结束时间", + FieldSemantic.DURATION: "持续时间", + FieldSemantic.DELAY: "延迟时间", + FieldSemantic.PERIOD: "周期", + + # 标识相关 + FieldSemantic.TOKEN_ID: "代币ID", + FieldSemantic.NONCE: "随机数", + FieldSemantic.SALT: "盐值", + FieldSemantic.INDEX: "索引", + FieldSemantic.ID: "标识符", + FieldSemantic.KEY: "键值", + FieldSemantic.COUNTER: "计数器", + + # 数据相关 + FieldSemantic.DATA: "数据", + FieldSemantic.HASH: "哈希值", + FieldSemantic.SIGNATURE: "签名", + FieldSemantic.PROOF: "证明", + FieldSemantic.MERKLE_ROOT: "默克尔根", + FieldSemantic.METADATA: "元数据", + + # 配置相关 + FieldSemantic.VERSION: "版本号", + FieldSemantic.CHAIN_ID: "链ID", + FieldSemantic.TYPE: "类型", + FieldSemantic.STATUS: "状态", + FieldSemantic.FLAG: "标志", + FieldSemantic.OPTION: "选项", + + # 治理相关 + FieldSemantic.PROPOSAL_ID: "提案ID", + FieldSemantic.VOTE_TYPE: "投票类型", + FieldSemantic.VOTING_POWER: "投票权重", + + # NFT相关 + FieldSemantic.COLLECTION: "合集地址", + FieldSemantic.POOL: "资金池", + }.get(semantic, semantic.value) + + # 添加置信度显示(高置信度时显示) + confidence_str = "" + if confidence >= 0.8: + confidence_str = f" [{confidence:.0%}置信度]" + + base_desc += f" ({semantic_desc}{confidence_str})" + + # 添加类型描述 + type_desc = { + FieldType.TOKEN_ADDRESS: "代币合约地址", + FieldType.USER_ADDRESS: "用户地址", + FieldType.CONTRACT_ADDRESS: "合约地址", + FieldType.AMOUNT: "金额数值", + FieldType.TIMESTAMP: "时间戳", + FieldType.NONCE: "随机数", + FieldType.HASH: "哈希值", + FieldType.SIGNATURE: "签名数据", + }.get(field_type) + + if type_desc: + base_desc += f" - {type_desc}" + + # 添加值描述 + if field_value is not None: + if field_type == FieldType.TIMESTAMP and isinstance(field_value, (int, str)): + try: + timestamp = int(field_value) + if timestamp > 1000000000: # 看起来像时间戳 + dt = datetime.datetime.fromtimestamp(timestamp) + base_desc += f" (时间: {dt.strftime('%Y-%m-%d %H:%M:%S')})" + except: + pass + elif field_type in [FieldType.TOKEN_ADDRESS, FieldType.USER_ADDRESS, FieldType.CONTRACT_ADDRESS]: + base_desc += f" ({field_value})" + elif field_type == FieldType.AMOUNT and isinstance(field_value, (int, str)): + try: + # 尝试转换为 ETH 单位显示 + amount = int(field_value) + if amount > 10**15: # 如果大于 0.001 ETH + eth_amount = amount / 10**18 + base_desc += f" ({eth_amount:.6f} ETH)" + except: + base_desc += f" ({field_value})" + elif isinstance(field_value, (str, int)) and len(str(field_value)) < 50: + base_desc += f" = {field_value}" + + return base_desc + + def _generate_struct_description(self, struct_name: str, fields: List[FieldInfo], struct_context: Optional[str] = None) -> str: + """生成结构体描述(增强版)""" + # 根据结构体名称和字段推断用途 + if struct_name == "EIP712Domain": + return "EIP712 域信息 - 定义签名的域和验证上下文" + + # 使用检测到的上下文 + if struct_context: + context_descriptions = { + "permit": f"授权许可结构 '{struct_name}' - 允许第三方代表用户操作代币", + "order": f"市场订单结构 '{struct_name}' - 定义交易的报价条件和期望", + "vote": f"治理投票结构 '{struct_name}' - 记录对提案的投票决策", + "transfer": f"转账结构 '{struct_name}' - 定义资产转移的详细信息", + "mint": f"铸造结构 '{struct_name}' - 定义新代币的创建参数", + "burn": f"销毁结构 '{struct_name}' - 定义代币销毁的操作", + "governance": f"治理结构 '{struct_name}' - 定义治理提案和执行参数", + "auction": f"拍卖结构 '{struct_name}' - 定义拍卖的竞价和条件", + "swap": f"交换结构 '{struct_name}' - 定义代币交换的参数", + "liquidity": f"流动性结构 '{struct_name}' - 定义流动性操作的参数", + } + + if struct_context in context_descriptions: + return context_descriptions[struct_context] + + # 根据字段推断结构体用途(后备方案) + field_names = [field.name.lower() for field in fields] + high_confidence_fields = [field for field in fields if field.confidence >= 0.8] + + if any(name in field_names for name in ['offerer', 'offer', 'consideration']): + return f"市场订单结构 '{struct_name}' - 包含交易报价和期望条件" + elif any(name in field_names for name in ['spender', 'value', 'deadline']): + return f"授权许可结构 '{struct_name}' - 包含代币授权信息" + elif any(name in field_names for name in ['to', 'value', 'data']): + return f"交易结构 '{struct_name}' - 包含交易目标和数据" + elif any(name in field_names for name in ['voter', 'proposal', 'support']): + return f"治理投票结构 '{struct_name}' - 包含投票决策信息" + else: + confidence_desc = f" (其中 {len(high_confidence_fields)} 个高置信度字段)" if high_confidence_fields else "" + return f"数据结构 '{struct_name}' - 包含 {len(fields)} 个字段{confidence_desc}" + + def format_result(self, result: EIP712ParseResult) -> str: + """格式化解析结果为可读文本""" + lines = [] + + lines.append("=" * 60) + lines.append("EIP712 签名结构解析结果") + lines.append("=" * 60) + + # 域信息 + lines.append(f"\n域信息 ({result.domain.name}):") + lines.append(f" 描述: {result.domain.description}") + for field in result.domain.fields: + lines.append(f" • {field.description}") + + # 主要消息 + lines.append(f"\n主要消息 ({result.primary_type}):") + lines.append(f" 描述: {result.message.description}") + lines.append(f" 字段数量: {len(result.message.fields)}") + + lines.append(f"\n消息结构树:") + self._format_struct_tree(result.message, lines, indent=" ") + + lines.append("\n" + "=" * 60) + + return "\n".join(lines) + + def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str = ""): + """格式化结构体树""" + for i, field in enumerate(struct.fields): + is_last = i == len(struct.fields) - 1 + tree_char = "└── " if is_last else "├── " + next_indent = indent + (" " if is_last else "│ ") + + lines.append(f"{indent}{tree_char}{field.description}") + + # 递归显示子字段 + if field.children: + for j, child in enumerate(field.children): + child_is_last = j == len(field.children) - 1 + child_tree_char = "└── " if child_is_last else "├── " + lines.append(f"{next_indent}{child_tree_char}{child.description}") \ No newline at end of file diff --git a/eip712_parser/examples/README.md b/eip712_parser/examples/README.md new file mode 100644 index 0000000..ff765df --- /dev/null +++ b/eip712_parser/examples/README.md @@ -0,0 +1,125 @@ +# EIP712 Parser Examples + +这是 `eip712_parser` 模块的示例文件夹,包含各种EIP712签名解析和分析的演示程序。 + +## 文件说明 + +### `basic_usage.py` +基本使用示例,展示如何解析Seaport NFT列表消息和执行安全检查。 + +**功能特性:** +- EIP712消息解析 +- NFT订单信息提取 +- 价格分析 +- 安全检查 + +**使用方法:** +```bash +python basic_usage.py +``` + +### `advanced_analysis.py` +高级分析示例,提供详细的EIP712签名分析和模块化参数拆解。 + +**功能特性:** +- 完整的EIP712结构分析 +- NFT和Permit消息详细解析 +- 安全风险评估 +- 余额变化分析 + +**使用方法:** +```bash +python advanced_analysis.py +``` + +### `signature_detection_demo.py` +签名识别演示,展示如何使用签名识别器和通用解析器。 + +**功能特性:** +- 多种签名类型识别 +- 批量签名检测 +- 通用解析器使用 +- 安全警告检测 + +**测试的签名类型:** +- EIP-712 结构化数据签名 +- eth_sendTransaction 交易签名 +- personal_sign 个人消息签名 +- eth_sign 原始签名(高风险) + +**使用方法:** +```bash +python signature_detection_demo.py +``` + +### `signature_classification_demo.py` +签名分类演示,展示模块化签名识别与分级系统。 + +**功能特性:** +- 签名类型分类 +- 风险级别评估 +- 数据格式验证 +- 批量处理功能 + +**使用方法:** +```bash +python signature_classification_demo.py +``` + +### `quick_start.py` +快速开始示例,简单演示签名分类器的基本功能。 + +**功能特性:** +- 基础签名分类 +- 风险评估 +- 安全建议 +- 适合初学者 + +**使用方法:** +```bash +python quick_start.py +``` + +## 示例覆盖范围 + +### 支持的协议 +- ✅ **Seaport** - NFT市场订单 +- ✅ **OpenSea** - NFT交易 +- ✅ **Permit/Permit2** - 代币授权 +- ✅ **Custom EIP712** - 自定义结构化数据 + +### 支持的签名类型 +- ✅ **eth_signTypedData_v4** - EIP712结构化签名 +- ✅ **eth_sendTransaction** - 以太坊交易 +- ✅ **personal_sign** - 个人消息签名 +- ✅ **eth_sign** - 原始签名(高风险) + +### 安全分析功能 +- ✅ 价格分析和风险评估 +- ✅ 余额变化检测 +- ✅ 敏感词检测 +- ✅ 钓鱼网站识别 +- ✅ 授权风险评估 + +## 运行要求 + +确保已安装项目依赖: +```bash +pip install -r ../../../requirements.txt +``` + +在项目根目录下运行示例: +```bash +cd eip712_parser/examples +python basic_usage.py +python advanced_analysis.py +python signature_detection_demo.py +python signature_classification_demo.py +python quick_start.py +``` + +## 注意事项 + +- 所有示例都包含了路径修复代码,可以直接在examples目录下运行 +- 示例数据仅用于演示,不包含真实的私钥或敏感信息 +- 建议按顺序学习:`quick_start.py` → `basic_usage.py` → `advanced_analysis.py` → 其他示例 \ No newline at end of file diff --git a/eip712_parser/examples/__pycache__/test_data.cpython-39.pyc b/eip712_parser/examples/__pycache__/test_data.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..70f82a1b51d52be7881b3996efd27072296c4672 GIT binary patch literal 3400 zcmbtWU2Gd!6}HFYpE%8Sn>Ot(KZ}=ke_Tj*{yZM{-| z8F!oTy1cLym4}tk%0m0LLi|4<9*__(@PNc4FIVCPl$1yafwTf`(+bWVPn@*uLJ>3a zx%b>T_nhyXd(OEwr>3$oe7@bW*6!zGu|INV|ML_w7x3pBiC7F`tr)~XfW%M$F&dMQ z3i&i-__!*<#ApWDXq2N$0?VOIr!*C>ApNaURqj5D0$D$q2L>ixs zBt8<2AB`lFPbvu?i_oUv<3kaigHJ#Xo`+AuapX?G3-BVm1TW*t^N=4VSL1LJ*G|Hx z@I3*a9;PCG7G`0N^Q!``yaE!)px{g$W>5m`t;GdlCDa4kIh&qw1IB8*>*#ui);zwbsP4J*S0+<-4Z z8}YmrVlxq22P^>masmi+!`UjVfsGOR@-Q7nNF3vRJaZH9VP~;xRfN$Q+zd~khj#c0 z^ijKmdBaaUN#aBx2_ljtxWi;C1zsbT|H`0-HI%I_EEQ!XxAoIE|Ma7`w%+>j)}0?_ zH^1?<&AZ>*y!*zzckkT$$05;Qw(GF8wPxDR0<_Wt+X<9{&JN)xySt8CDy|by(+XJH1fazC zS=#M(2_=+?8?HlGGGsR<7y0T!K>F8juqn%Rd>aTg1Ju897?td?k<5fkQJ{%HT1jr! zU=w~|(x7Q0-ZXI_oMgC-OQyfpN_W-+;;RZ1eY1yfEO+1ph$3U7O|FI|1NSCz*by}B z1a{XZbdgplex|m`CPU@rKHtSAQ2p+d63g~%+>saAfl(lg%?-LCyw*o~B_=p9M2{Jb1FVt~Yk0&Nx^JkA0FV9(tZ4MHX;sqS&i=4c~ z$;+JNk+7^sUC+g$T>$jk(y6SoK(;eQz9sd9&AZ1FE2kjbmXE z4jjl`bg?rzF3rtT^OnovGDmJnRZ~(*YN;k`nq1dP#V!=JdeN|I#VWBna&aE9E2ZtP za%Hm%xyXDjShM}yF1%b9)pkgL0CTIM850i&J)7mO%yIGxClV(z5|(-$F_M5~20nt~ zeKt#pHweP6#{?Ug*rjftiC6JE69Si|%uxeMbO~W1n1RWXVPDH9!jq?`xZcSoH60(D zE;dhk0aset%D@lYezoj*yt7E$YgtjXf?hOA*a-g9j2DR6v4C{<7Z)6gj#?$L-jE!EO?z#(P!q_%~;S-B$4R8-LB-Nw%^h$lP>3O%1-g#K~z+ z&Tw*;lXIN##A%6`_!YFqyXamwv}3<{`!qJn$MTKu$S2v9KkC2j@OEJ-FDxXM1=DR~ z?%{=oms1$aHeQJXyw|3DyYKZ#dn9=!pJwTH8(gd1ZcR68<)y{tW_xkDT3c>c%gu6Y za;dg_d7(LC4pz&H?Q4t8g)0|F3)7XWjppLzcB8p`wGs(UHx@20y;^JU+sLMxwZ`ak zyHRU?H%2dUA33@ITIJLV&li7X9V>#YEIOo0?OSA}O8lFF>#bNWkd@IzHM@+B!|d2S zJ6NCPch(BAJ^atm_DqT@R>*Cvs2=fG@a7EKJl*EJb(T5PcVW;Y=XhX!52-kjiHGk4 zAsx*|{D}Ttm>RF{2$}Ibp1Ch07|KZNOh z{O`rzrLIM~_v6?R-WLx(W@BV;N8C=G_`i2N6jJ* Optional[ParsedMessage]: + """ + 解析 NFT 相关的 EIP712 请求 + + Args: + request: EIP712 格式的请求数据 + + Returns: + 解析后的消息,如果无法解析则返回 None + """ + for adapter in ALL_ADAPTERS: + try: + parsed_detail = adapter.parse(request) + return ParsedMessage( + kind="nft", + detail=parsed_detail + ) + except Exception: + # 跳过解析错误,尝试下一个适配器 + continue + + return None + + +__all__ = [ + "Seaport", + "Blur", + "LooksRare", + "SeaportV14", + "Blend", + "parse_request", +] \ No newline at end of file diff --git a/eip712_parser/nft/__pycache__/__init__.cpython-39.pyc b/eip712_parser/nft/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2947800d6b638ebb45983218cd31f815fe77bf19 GIT binary patch literal 1122 zcmYilO=}xRbY?WWlGZC*O`O(&5Ol~zhlIKW5=;rT8y5nqYwXaHL1kHMChFq-kY`t> z3iiPvg&dlXLql;AjGI8xUg`ux(}PR@$6Sjx_Nn&-O5Tj*)U&*|@B3@s_?3!-;Iz-M z?=~nx|7hmuv4HsuAiWESBZfHUB*YP61Z%nw79z^1p=oGEHnRa^x@v z=prwLBazG8sKP41m$?&;Mq_L&s#77ecQED9V}p;%e>nqd)sU?Cw8*ns43jZ~p2WV9?aDDlQ7YlgJE6Iumv! z{L76bSxy&xDS&Z?`mZO?182>IBIXC+it0p_zUpK_68oW|jUdeq$UyAOUYWlz`AH*K z7OFDu%T(|$MVk6;0X{`3R=Oh1lr2Tpm2pegad-+qlmR{mNM`_L=ra2D;yS)@Y7KAW zHS`N!CmG>*jc{^@e1izWXc1AA6?#(`XpF9*6{_K50A7F@(C%Ll$f>~@bYJ^_9IqeV zstt;*?eDzGU*0rk22IO$I%O#BIV^hW&^q7V>+jtI_kmmf;6;At_xIL@STOA!i7}l0 z{k!0n|8YCt*!g$w$NsaM`PSq7=k0v=!O-CL=KkM5^&f53=8{;LP^u7L&tP_RIf%Kk zxybw=oU2piPB$9f^yTUKtFsG>%IfG@OBdQz<=O9B!rV^1AS+r@^ts>3gk%+C#=Sw9 z-;n$e)Nfd8s@VnawAq8(5lzU=Ww0umT%^lc(rLC5E}A0fz|EeO0)j0CVUYFCMt%?v z<=&uxCRE$>ydVxT&pX%YsX<0>IK-2XE*%GioDwG30f6s6m%79yasuRaTk2JkdL1OZ zIVANXleR`$KUW`DMbG0&%kxw*9W1bMQFIA**f^?ksMlD+8k-nwWN7HEPM$Xbm9?a| z*~C?L*6RduTb6VZy@SdEiAd#$7U-GEV;brFI=LT)o@YjP1bw8HrB9=TcSCVWZ+3bb W5T!02ex!=4mT6cw{g#%;C*A>QkUZ1? literal 0 HcmV?d00001 diff --git a/eip712_parser/nft/__pycache__/blend.cpython-39.pyc b/eip712_parser/nft/__pycache__/blend.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1da80d47ed55a743993f43765e67a063a2845fd GIT binary patch literal 1551 zcmb7E&x;gC6t3!D)7v|uQ4=EZFoYa32L*G8Fi6M`Ob|AckSqx_15G}usOI9f@owB7loLB>z-sWn}4LQ+3D4PA&205)niZZCOM>`-&DP-_r0&a`g+0x z2Rs7L!*~1(e_Mq7iIe(c!sJ7E<@*pA@d=~M7}D7A4N92Ftf3iOz7^ZP9Xq~5$!CPw z%vmPPxo-Fk*7%yV-RvzW_C6l+gtfY#F199H*CuPvp8xWoxOa2%^CRyCER#0Pt%XRc z7Y0tu+&g>j%hRXcTZk_5+=Hsmxs>66=LZ)>n8>iNqBOz9J{H#>I7UhN3=BB&DbO|; z^-XSZn>)-{Gm!YQb)EVR$hmxuJI8=F+~d5^h3d@i>&>FgLF{U`mlk$Y-9;w)gH z3Ufzrm5HQJYn<>%Nb3`L<+~8BlKWc8b>lnA%&YV=6~`52KbDU}+Pq)Jq6!!liYZ?bu} zSo>|Vac_5ZvkR^>2VCXej9PxAo2qm1XvkxpD9$wBwjo^Tm^Y_{0u=UFA`U_FuW$RE zUM9Jay)l=H_tJzj5nbjz#^ptoj(Yu+@g9#xVD1xwhb%lF4I?!^5rY7*P^^s2MRq*1xntdN)4)*PFBDxY^?L@TXfPl+r zwhhBd>7CzKcb+{g?o97wXY27E-|f5Ts_b73H>1*N)gh~zy)OA5KAWuEe!l*w!qM8d zsW<}X(Bm?^2GjfvElsc_(m1GzgQk)AWs>HV<24Qcv9a5p&)pzM!k7m^?gc@dvTTUs zW)NJ;!r^qK5d$*vam56#^7MUw&ExT^h_-vVbOqqHz)DG*`=0Y z(8I4AROh>GSG)=7+yT=?$v{KpHabw&TInu`Q^VG+v?A`A@(3TG6(sJptR_8bz66Q~ B%Nqay literal 0 HcmV?d00001 diff --git a/eip712_parser/nft/__pycache__/blur.cpython-39.pyc b/eip712_parser/nft/__pycache__/blur.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..374e9dc45ac497ccd99daf0d4cec9844ec33596f GIT binary patch literal 1537 zcmb7E&5ImG6tC*9>Fu2m^P%{47{x>8kboW(h9G_rB@jo^C5L99=}c87O{S;Es_MXm zcre++ddM1)kQkPbC4y1NW=~;B;y+SXcY2efS5LlIJ?ZIP^q8F%mT~P*rE>mSO7r)E{0FB&%L_urT zO2%3SO36;Ec(_u0`=HuU4L%eD*{Nn2KL^=qJrBO~WcuX$omnjMy&{N_m6B_jyZzZ|u=B;Awx9P_1 zoz=}Qh|L~wrGq&reW;tMlj(TKQ$A9h8KiAX_)srw&Y(m{>90h*0M5To_dC5@av^&Y zE*0-(BhEx}f%h1f=T$cD^)tqMJQ;(gj|v{M_)IcP)Z}OyC!?7^8pi@s^hRe@?+gg< z*m$B{<7+|*iN(qOCiSUrUo@}jm{|k~E~@#X5DTzvmjF?W*o^>Di30-SqWNPORt#@H zUfq85b8&Na7u#F+>vG$3zg5(~=xmOp)2e5zVs?w;f5>aPa^vaxy(*6(zD>m;IEERQ z<^W9fONN=~tjN-+#?70sChy8AV^` z@o=`%h$5Et(JfW1l77n7xr_ZN87uV{e5dz1J#_Nil8^x%sY xHU4hf7x)X(9tbWO4NNNSqWWa5l&OMwYPn4*Lx_L8Ji_}Z1c`ecr%4ane*=57#!UbK literal 0 HcmV?d00001 diff --git a/eip712_parser/nft/__pycache__/looksrare.cpython-39.pyc b/eip712_parser/nft/__pycache__/looksrare.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d3fe9c3af48c18ee94f71719afd3829c59b531e GIT binary patch literal 1592 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 literal 0 HcmV?d00001 diff --git a/eip712_parser/nft/__pycache__/seaport_v14.cpython-39.pyc b/eip712_parser/nft/__pycache__/seaport_v14.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8a8908c7f10f8989e38e3491f4fd51679436ce1f GIT binary patch literal 1244 zcmah|OKTKC5bmDW&JG(CUk6WvcyK`jk$@0H6nr2=5fgG4R+@IY6Nk*~tlcw#gm};d z^r8kte4vt$gXUoLBqI77y!TaiWB!6Ct7j&g$HjuFsp{^k@2l=AIxyfNkhjN!J3mc? zerac?Sm2z8PhJGYP=FX_MvN09Ffd{!vtl!`0xPitJ8=RB)@|eh;?svaF=)U>(=lyE$-BS0}2X7Njp(a+= zXe6^uLp!GOE?vEGX6W>2G|iO&;DE2G=T>P$%0dcIC*E zU~m**sLfzFFuBET?l9wx@eoa7UEyM50SC2*$U=b&{B5d^ve75dtV;)?tki^>>C%vlpN`MI?p!o5q~Rq`Fr>K z(~Z}Qz2~2MkJon{?>je(BKIV#UU%sU1Q(CKhld8-&Ojr{_avC0an3IZk%|$&`{P+j zpjYtu{q=G0Sm&>RZQnb2{?yXlCRpLX9*NvO=&w3Io; zGv#fgDqH3qE|lG&Lh`05^z?{^Rs*2cu&NUh##Bl|*3jQu;Ycf&fZUqpGUKhZ&6$X1 zc#Cm4ou!>tm@?ktQ3rbZl;D)n+ff{4v!^uYYMm5NqScxCyE%=kof;u54fV3jXcmPD z&+ep5=*AR!U NFTMessage: + """ + 解析 Blend EIP712 消息 + + Args: + typed_data: EIP712 格式的数据 + + Returns: + 解析后的 NFT 消息 + + Raises: + ValueError: 当数据格式不正确时 + """ + # 检查是否为 Blend 消息格式 + primary_type = typed_data.get('primaryType', '') + if 'LoanOffer' not in primary_type: + raise ValueError("不是有效的 Blend 消息格式") + + # TODO: 实现 Blend 特定的解析逻辑 + raise NotImplementedError("Blend 解析器尚未实现") + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: + """ + 从交易数据中解析 Blend 消息 + + Args: + transaction: 交易数据 + + Returns: + 解析后的 NFT 消息列表 + """ + # TODO: 实现从交易解析的逻辑 + return [] \ No newline at end of file diff --git a/eip712_parser/nft/blur.py b/eip712_parser/nft/blur.py new file mode 100644 index 0000000..2ba68e6 --- /dev/null +++ b/eip712_parser/nft/blur.py @@ -0,0 +1,46 @@ +""" +Blur NFT 市场解析器 +""" + +from typing import List +from ..types import EIP712Like, NFTMessage, TransactionLike + + +class Blur: + """Blur NFT 市场解析器""" + + @staticmethod + def parse(typed_data: EIP712Like) -> NFTMessage: + """ + 解析 Blur EIP712 消息 + + Args: + typed_data: EIP712 格式的数据 + + Returns: + 解析后的 NFT 消息 + + Raises: + ValueError: 当数据格式不正确时 + """ + # 检查是否为 Blur 消息格式 + primary_type = typed_data.get('primaryType', '') + if 'Order' not in primary_type: + raise ValueError("不是有效的 Blur 消息格式") + + # TODO: 实现 Blur 特定的解析逻辑 + raise NotImplementedError("Blur 解析器尚未实现") + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: + """ + 从交易数据中解析 Blur 消息 + + Args: + transaction: 交易数据 + + Returns: + 解析后的 NFT 消息列表 + """ + # TODO: 实现从交易解析的逻辑 + return [] \ No newline at end of file diff --git a/eip712_parser/nft/looksrare.py b/eip712_parser/nft/looksrare.py new file mode 100644 index 0000000..f4226dd --- /dev/null +++ b/eip712_parser/nft/looksrare.py @@ -0,0 +1,46 @@ +""" +LooksRare NFT 市场解析器 +""" + +from typing import List +from ..types import EIP712Like, NFTMessage, TransactionLike + + +class LooksRare: + """LooksRare NFT 市场解析器""" + + @staticmethod + def parse(typed_data: EIP712Like) -> NFTMessage: + """ + 解析 LooksRare EIP712 消息 + + Args: + typed_data: EIP712 格式的数据 + + Returns: + 解析后的 NFT 消息 + + Raises: + ValueError: 当数据格式不正确时 + """ + # 检查是否为 LooksRare 消息格式 + primary_type = typed_data.get('primaryType', '') + if 'MakerOrder' not in primary_type: + raise ValueError("不是有效的 LooksRare 消息格式") + + # TODO: 实现 LooksRare 特定的解析逻辑 + raise NotImplementedError("LooksRare 解析器尚未实现") + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: + """ + 从交易数据中解析 LooksRare 消息 + + Args: + transaction: 交易数据 + + Returns: + 解析后的 NFT 消息列表 + """ + # TODO: 实现从交易解析的逻辑 + return [] \ No newline at end of file diff --git a/eip712_parser/nft/seaport.py b/eip712_parser/nft/seaport.py new file mode 100644 index 0000000..54aa67b --- /dev/null +++ b/eip712_parser/nft/seaport.py @@ -0,0 +1,277 @@ +""" +Seaport NFT 市场解析器 +""" + +from typing import Dict, List, Optional, Union, Any +from dataclasses import dataclass +from ..types import ( + EIP712Like, NFTMessage, ParsedDetail, NFTDetail, FTDetail, + OrderType, NFTProtocolType, BalanceChange, calculate_balance_change, + TransactionLike +) +import json +import os + + +@dataclass +class AdditionalRecipient: + amount: str + recipient: str + + +@dataclass +class FulfillmentComponent: + order_index: int + item_index: int + + +@dataclass +class Fulfillment: + offer_components: List[FulfillmentComponent] + consideration_components: List[FulfillmentComponent] + + +@dataclass +class CriteriaResolver: + order_index: int + side: int # 0 | 1 + index: int + identifier: str + criteria_proof: List[str] + + +@dataclass +class OfferItem: + item_type: int + token: str + identifier_or_criteria: str + start_amount: str + end_amount: str + + +@dataclass +class ConsiderationItem: + item_type: int + token: str + identifier_or_criteria: str + start_amount: str + end_amount: str + recipient: str + + +@dataclass +class OrderParameters: + offerer: str + zone: str + offer: List[OfferItem] + consideration: List[ConsiderationItem] + order_type: int + start_time: Union[str, int] + end_time: Union[str, int] + zone_hash: str + salt: str + conduit_key: str + total_original_consideration_items: Union[str, int] + + +@dataclass +class OrderComponents: + offerer: str + zone: str + offer: List[OfferItem] + consideration: List[ConsiderationItem] + order_type: int + start_time: Union[str, int] + end_time: Union[str, int] + zone_hash: str + salt: str + conduit_key: str + counter: str + + +@dataclass +class Order: + parameters: OrderParameters + signature: str + + +@dataclass +class AdvancedOrder: + parameters: OrderParameters + numerator: Union[str, int] + denominator: Union[str, int] + signature: str + extra_data: str + + +class Seaport: + """Seaport NFT 市场解析器""" + + # 匹配订单的方法签名 + MATCH_ORDERS_SIGNATURES = ["0xa8174404"] + + @staticmethod + def parse_order(item: Union[OfferItem, ConsiderationItem]) -> ParsedDetail: + """ + 解析订单项 + + Args: + item: 要解析的订单项 + + Returns: + 解析后的详情 + """ + if item.item_type <= 1: + # 代币类型 (0: native, 1: erc20) + return ParsedDetail( + kind="token", + detail=FTDetail( + type='native' if item.item_type == 0 else 'erc20', + currency=item.token, + amount=str(item.start_amount) + ) + ) + else: + # NFT类型 (2: erc721, 3: erc1155) + return ParsedDetail( + kind="nft", + detail=NFTDetail( + type='erc721' if item.item_type == 2 else 'erc1155', + collection=item.token, + token_id=str(item.identifier_or_criteria), + amount=str(item.start_amount) + ) + ) + + @staticmethod + def _convert_to_offer_items(offer_data: List[Dict[str, Any]]) -> List[OfferItem]: + """将字典数据转换为OfferItem对象""" + offer_items = [] + for item_data in offer_data: + offer_items.append(OfferItem( + item_type=int(item_data['itemType']), + token=item_data['token'], + identifier_or_criteria=str(item_data['identifierOrCriteria']), + start_amount=str(item_data['startAmount']), + end_amount=str(item_data['endAmount']) + )) + return offer_items + + @staticmethod + def _convert_to_consideration_items(consideration_data: List[Dict[str, Any]]) -> List[ConsiderationItem]: + """将字典数据转换为ConsiderationItem对象""" + consideration_items = [] + for item_data in consideration_data: + consideration_items.append(ConsiderationItem( + item_type=int(item_data['itemType']), + token=item_data['token'], + identifier_or_criteria=str(item_data['identifierOrCriteria']), + start_amount=str(item_data['startAmount']), + end_amount=str(item_data['endAmount']), + recipient=item_data['recipient'] + )) + return consideration_items + + @staticmethod + def parse(typed_data: EIP712Like) -> NFTMessage: + """ + 解析 Seaport EIP712 消息 + + Args: + typed_data: EIP712 格式的数据 + + Returns: + 解析后的 NFT 消息 + + Raises: + ValueError: 当数据格式不正确时 + """ + message = typed_data['message'] + + # 检查是否为 Seaport 消息 + if 'offerer' not in message or 'offer' not in message or 'consideration' not in message: + raise ValueError("不是有效的 Seaport 消息格式") + + offerer = message['offerer'] + offer_data = message['offer'] + consideration_data = message['consideration'] + + # 转换数据格式 + offer_items = Seaport._convert_to_offer_items(offer_data) + consideration_items = Seaport._convert_to_consideration_items(consideration_data) + + # 解析 offer 项目 + parsed_offers = [Seaport.parse_order(item) for item in offer_items] + + # 解析 consideration 项目中属于 offerer 的部分 + received_consideration = [ + Seaport.parse_order(item) + for item in consideration_items + if item.recipient.lower() == offerer.lower() + ] + + # 计算余额变化 + balance_change: BalanceChange = {} + + # 计算 offerer 发出的项目 + for item in parsed_offers: + calculate_balance_change(balance_change, offerer, item, False) + + # 计算 offerer 收到的项目 + for item in received_consideration: + calculate_balance_change(balance_change, offerer, item, True) + + # 计算其他接收者的余额变化 + other_recipients = set() + for item in consideration_items: + if item.recipient.lower() != offerer.lower(): + other_recipients.add(item.recipient.lower()) + + for recipient in other_recipients: + matched_items = [ + Seaport.parse_order(item) + for item in consideration_items + if item.recipient.lower() == recipient + ] + for item in matched_items: + calculate_balance_change(balance_change, recipient, item, True) + + # 确定订单类型 + total_nfts = sum(1 for item in parsed_offers if item.kind == "nft") + order_type = OrderType.LISTING if total_nfts > 0 else OrderType.OFFER + + return NFTMessage( + offerer=offerer, + balance_change=balance_change, + order_type=order_type, + offer=parsed_offers, + consideration=received_consideration, + start_time=message.get('startTime', 0), + end_time=message.get('endTime', 0), + type=NFTProtocolType.SEAPORT + ) + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: + """ + 从交易数据中解析 Seaport 消息 + + Args: + transaction: 交易数据 + + Returns: + 解析后的 NFT 消息列表 + """ + if not transaction.data: + return [] + + sign_hash = transaction.data[:10] + all_orders: List[NFTMessage] = [] + + if transaction.to and sign_hash in Seaport.MATCH_ORDERS_SIGNATURES: + # 这里需要实现 ABI 解码功能 + # 由于没有完整的 ABI 解码器,这里先返回空列表 + # 在实际使用中需要使用 web3.py 的 ABI 解码功能 + pass + + return all_orders \ No newline at end of file diff --git a/eip712_parser/nft/seaport_v14.py b/eip712_parser/nft/seaport_v14.py new file mode 100644 index 0000000..a9a6aa1 --- /dev/null +++ b/eip712_parser/nft/seaport_v14.py @@ -0,0 +1,35 @@ +""" +Seaport v1.4 NFT 市场解析器 +""" + +from typing import List +from ..types import EIP712Like, NFTMessage, TransactionLike +from .seaport import Seaport + + +class SeaportV14(Seaport): + """Seaport v1.4 NFT 市场解析器""" + + @staticmethod + def parse(typed_data: EIP712Like) -> NFTMessage: + """ + 解析 Seaport v1.4 EIP712 消息 + + Args: + typed_data: EIP712 格式的数据 + + Returns: + 解析后的 NFT 消息 + + Raises: + ValueError: 当数据格式不正确时 + """ + # 检查版本 + domain = typed_data.get('domain', {}) + version = domain.get('version', '') + + if version != '1.4': + raise ValueError("不是 Seaport v1.4 消息格式") + + # 使用父类的解析逻辑,但可以根据需要进行版本特定的修改 + return super().parse(typed_data) \ No newline at end of file diff --git a/eip712_parser/parser.py b/eip712_parser/parser.py new file mode 100644 index 0000000..e0ec29a --- /dev/null +++ b/eip712_parser/parser.py @@ -0,0 +1,108 @@ +""" +EIP712 主解析器 - 支持协议特定解析和通用动态解析 +""" + +from typing import Optional, Union, Dict, Any +from .types import EIP712Like, ParsedMessage +from .dynamic_parser import DynamicEIP712Parser, EIP712ParseResult +from . import nft +from . import permit + + +def parse_request(request: EIP712Like) -> Optional[ParsedMessage]: + """ + 解析 EIP712 请求 - 协议特定解析 + + Args: + request: EIP712 格式的请求数据 + + Returns: + 解析后的消息,如果无法解析则返回 None + """ + # 尝试解析 NFT 相关请求 + nft_result = nft.parse_request(request) + if nft_result: + return nft_result + + # 尝试解析 Permit 相关请求 + permit_result = permit.parse_permit_from_request(request) + if permit_result: + return permit_result + + return None + + +def parse_dynamic(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> EIP712ParseResult: + """ + 动态解析任意 EIP712 签名结构 + + Args: + eip712_data: EIP712 格式的数据 + + Returns: + 动态解析结果,包含完整的结构树和语义标注 + """ + parser = DynamicEIP712Parser() + return parser.parse(eip712_data) + + +def parse_and_format(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> str: + """ + 解析并格式化 EIP712 数据为可读文本 + + Args: + eip712_data: EIP712 格式的数据 + + Returns: + 格式化的可读文本 + """ + parser = DynamicEIP712Parser() + result = parser.parse(eip712_data) + return parser.format_result(result) + + +def analyze_eip712(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> Dict[str, Any]: + """ + 分析 EIP712 数据并返回结构化分析结果 + + Args: + eip712_data: EIP712 格式的数据 + + Returns: + 分析结果字典 + """ + parser = DynamicEIP712Parser() + result = parser.parse(eip712_data) + + return { + "domain": { + "name": result.domain.name, + "description": result.domain.description, + "fields": [ + { + "name": field.name, + "type": field.type_name, + "semantic": field.semantic.value if field.semantic else None, + "value": field.value, + "description": field.description + } + for field in result.domain.fields + ] + }, + "message": { + "primary_type": result.primary_type, + "description": result.message.description, + "fields": [ + { + "name": field.name, + "type": field.type_name, + "semantic": field.semantic.value if field.semantic else None, + "value": field.value, + "description": field.description, + "is_array": field.is_array, + "children_count": len(field.children) + } + for field in result.message.fields + ] + } + } \ No newline at end of file diff --git a/eth_transaction_parser/__init__.py b/eth_transaction_parser/__init__.py new file mode 100644 index 0000000..5103fde --- /dev/null +++ b/eth_transaction_parser/__init__.py @@ -0,0 +1,20 @@ +""" +ETH Transaction 解析器 +用于解析和分析 eth_sendTransaction 交易数据 +""" + +from .parser import EthTransactionParser +from .models import * +from .transaction_analyzer import TransactionAnalyzer +from .parameter_extractor import TransactionParameterExtractor + +__version__ = "0.1.0" +__all__ = [ + "EthTransactionParser", + "TransactionAnalyzer", + "TransactionParameterExtractor", + "EthTransaction", + "TransactionType", + "ContractCallInfo", + "TransactionAnalysis", +] \ No newline at end of file diff --git a/eth_transaction_parser/__pycache__/__init__.cpython-312.pyc b/eth_transaction_parser/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f20280a6605fe34fe581c2e5d605d76d648f193 GIT binary patch literal 660 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 NY*uK#XMj)>_&)(_rDXsB literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/__pycache__/models.cpython-39.pyc b/eth_transaction_parser/__pycache__/models.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0adedad1a42256726cd295f7321384d83d68936 GIT binary patch literal 6010 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 literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/__pycache__/parameter_extractor.cpython-312.pyc b/eth_transaction_parser/__pycache__/parameter_extractor.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e2e5c06d1ae570ca70e5f57528a2238ab0d9c499 GIT binary patch literal 13460 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 literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/__pycache__/parameter_extractor.cpython-39.pyc b/eth_transaction_parser/__pycache__/parameter_extractor.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db38de70e5fcae497d7b3a33c0dd43c2c9de40c8 GIT binary patch literal 9323 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 VPwFy?Cc3zgo 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 PUY)A&k6`Cg2^09gK(4oL literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/__pycache__/transaction_analyzer.cpython-39.pyc b/eth_transaction_parser/__pycache__/transaction_analyzer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5595ef6f949a460fc12b3992deb830764cf93ab4 GIT binary patch literal 11305 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 literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/models.py b/eth_transaction_parser/models.py new file mode 100644 index 0000000..0af76af --- /dev/null +++ b/eth_transaction_parser/models.py @@ -0,0 +1,213 @@ +""" +ETH Transaction 解析器的数据模型 +""" + +from typing import Dict, List, Optional, Union, Any +from enum import Enum +from dataclasses import dataclass +import re + + +class TransactionType(str, Enum): + """交易类型枚举""" + ETH_TRANSFER = "eth_transfer" # ETH转账 + TOKEN_TRANSFER = "token_transfer" # 代币转账 + TOKEN_APPROVAL = "token_approval" # 代币授权 + CONTRACT_DEPLOY = "contract_deploy" # 合约部署 + CONTRACT_CALL = "contract_call" # 合约调用 + NFT_TRANSFER = "nft_transfer" # NFT转移 + NFT_APPROVAL = "nft_approval" # NFT授权 + DEFI_SWAP = "defi_swap" # DeFi交换 + DEFI_LIQUIDITY = "defi_liquidity" # DeFi流动性 + UNKNOWN = "unknown" # 未知类型 + + +class RiskLevel(str, Enum): + """风险级别枚举""" + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + CRITICAL = "critical" + + +@dataclass +class ContractCallInfo: + """合约调用信息""" + function_selector: Optional[str] = None # 函数选择器 + function_name: Optional[str] = None # 函数名称 + function_signature: Optional[str] = None # 函数签名 + parameters: Dict[str, Any] = None # 解析的参数 + raw_data: Optional[str] = None # 原始calldata + + def __post_init__(self): + if self.parameters is None: + self.parameters = {} + + +@dataclass +class TokenInfo: + """代币信息""" + address: Optional[str] = None # 代币合约地址 + symbol: Optional[str] = None # 代币符号 + name: Optional[str] = None # 代币名称 + decimals: Optional[int] = None # 精度 + amount: Optional[str] = None # 数量 + amount_formatted: Optional[str] = None # 格式化后的数量 + + +@dataclass +class EthTransaction: + """ETH交易数据""" + # 基本交易字段 + from_address: Optional[str] = None # 发送方地址 + to_address: Optional[str] = None # 接收方地址 + value: Optional[str] = None # 转账金额 (wei) + gas: Optional[str] = None # Gas限制 + gas_price: Optional[str] = None # Gas价格 + max_fee_per_gas: Optional[str] = None # EIP-1559 最大费用 + max_priority_fee_per_gas: Optional[str] = None # EIP-1559 优先费用 + nonce: Optional[str] = None # Nonce + data: Optional[str] = None # 交易数据 + + # 解析后的信息 + value_eth: Optional[float] = None # ETH金额 + gas_fee_eth: Optional[float] = None # 预估Gas费用(ETH) + is_contract_call: bool = False # 是否为合约调用 + is_value_transfer: bool = False # 是否包含ETH转账 + + def __post_init__(self): + # 计算ETH金额 + if self.value and self.value != "0x0": + try: + value_wei = int(self.value, 16) if self.value.startswith("0x") else int(self.value) + self.value_eth = value_wei / (10**18) + except (ValueError, TypeError): + self.value_eth = 0.0 + + # 判断是否为合约调用 + self.is_contract_call = bool(self.data and len(self.data) > 2) + + # 判断是否包含价值转移 + self.is_value_transfer = bool(self.value_eth and self.value_eth > 0) + + +@dataclass +class TransactionAnalysis: + """交易分析结果""" + # 原始交易 + transaction: EthTransaction + + # 分析结果 + transaction_type: TransactionType + confidence: float # 置信度 0-1 + + # 合约调用信息 + contract_call: Optional[ContractCallInfo] = None + + # 代币相关信息 + token_info: Optional[TokenInfo] = None + + # 风险分析 + risk_level: RiskLevel = RiskLevel.LOW + risk_factors: List[str] = None # 风险因素 + security_warnings: List[str] = None # 安全警告 + + # 交易描述 + description: str = "" # 交易描述 + summary: str = "" # 交易摘要 + + def __post_init__(self): + if self.risk_factors is None: + self.risk_factors = [] + if self.security_warnings is None: + self.security_warnings = [] + + +# 常用的函数选择器 +class FunctionSelectors: + """常用函数选择器""" + + # ERC20 代币标准 + ERC20_TRANSFER = "0xa9059cbb" # transfer(address,uint256) + ERC20_APPROVE = "0x095ea7b3" # approve(address,uint256) + ERC20_TRANSFER_FROM = "0x23b872dd" # transferFrom(address,address,uint256) + ERC20_BALANCE_OF = "0x70a08231" # balanceOf(address) + + # ERC721 NFT标准 + ERC721_TRANSFER_FROM = "0x23b872dd" # transferFrom(address,address,uint256) + ERC721_SAFE_TRANSFER_FROM = "0x42842e0e" # safeTransferFrom(address,address,uint256) + ERC721_APPROVE = "0x095ea7b3" # approve(address,uint256) + ERC721_SET_APPROVAL_FOR_ALL = "0xa22cb465" # setApprovalForAll(address,bool) + + # Uniswap V2/V3 + UNISWAP_SWAP_EXACT_TOKENS = "0x38ed1739" # swapExactTokensForTokens + UNISWAP_SWAP_EXACT_ETH = "0x7ff36ab5" # swapExactETHForTokens + UNISWAP_ADD_LIQUIDITY = "0xe8e33700" # addLiquidity + + # 常见的多签钱包 + MULTISIG_EXEC_TRANSACTION = "0x6a761202" # execTransaction + + # Permit相关 + PERMIT = "0xd505accf" # permit(address,address,uint256,uint256,uint8,bytes32,bytes32) + + +class KnownContracts: + """已知合约地址""" + + # 主要代币合约 + USDT = "0xdAC17F958D2ee523a2206206994597C13D831ec7" + USDC = "0xA0b86a33E6441d3e2d0a97c5907B18d5Be8e998e" + WETH = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + + # DEX相关 + UNISWAP_V2_ROUTER = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" + UNISWAP_V3_ROUTER = "0xE592427A0AEce92De3Edee1F18E0157C05861564" + + # 知名合约标识 + CONTRACT_NAMES = { + "0xdAC17F958D2ee523a2206206994597C13D831ec7": "USDT", + "0xA0b86a33E6441d3e2d0a97c5907B18d5Be8e998e": "USDC", + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2": "WETH", + "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D": "Uniswap V2 Router", + "0xE592427A0AEce92De3Edee1F18E0157C05861564": "Uniswap V3 Router", + } + + +class RegexPatterns: + """正则表达式模式""" + + # 以太坊地址 + ETH_ADDRESS = re.compile(r'^0x[a-fA-F0-9]{40}$') + + # Hex数据 + HEX_DATA = re.compile(r'^0x[a-fA-F0-9]*$') + + # 数字格式 + HEX_NUMBER = re.compile(r'^0x[a-fA-F0-9]+$') + DECIMAL_NUMBER = re.compile(r'^\d+$') + + +# 风险关键词 +class RiskKeywords: + """风险关键词""" + + HIGH_RISK_FUNCTIONS = [ + "approve", # 无限授权风险 + "setApprovalForAll", # NFT无限授权 + "transfer", # 转账操作 + "withdraw", # 提取操作 + ] + + CRITICAL_RISK_FUNCTIONS = [ + "selfDestruct", # 合约自毁 + "delegateCall", # 委托调用 + "suicide", # 合约销毁 + ] + + DEFI_FUNCTIONS = [ + "swap", # 交换 + "addLiquidity", # 添加流动性 + "removeLiquidity", # 移除流动性 + "stake", # 质押 + "unstake", # 解除质押 + ] \ No newline at end of file diff --git a/eth_transaction_parser/parameter_extractor.py b/eth_transaction_parser/parameter_extractor.py new file mode 100644 index 0000000..1661ee4 --- /dev/null +++ b/eth_transaction_parser/parameter_extractor.py @@ -0,0 +1,383 @@ +""" +ETH Transaction 参数提取器 +""" + +import re +from typing import Dict, Any, Optional, List, Tuple +from .models import ( + FunctionSelectors, + KnownContracts, + RegexPatterns, + ContractCallInfo, + TokenInfo +) + + +class TransactionParameterExtractor: + """交易参数提取器""" + + def __init__(self): + self.function_signatures = self._load_function_signatures() + + def extract_contract_call_info(self, data: str) -> Optional[ContractCallInfo]: + """ + 提取合约调用信息 + + Args: + data: 交易数据 (hex格式) + + Returns: + ContractCallInfo: 合约调用信息,如果不是合约调用则返回None + """ + if not data or len(data) < 10: # 至少要有函数选择器 (4字节 = 8位hex + 0x) + return None + + # 提取函数选择器 + function_selector = data[:10] # 0x + 8位hex + + # 获取函数信息 + function_name = self._get_function_name(function_selector) + function_signature = self._get_function_signature(function_selector) + + # 提取参数 + parameters = {} + if len(data) > 10: + raw_params = data[10:] # 去掉函数选择器 + parameters = self._decode_parameters(function_selector, raw_params) + + return ContractCallInfo( + function_selector=function_selector, + function_name=function_name, + function_signature=function_signature, + parameters=parameters, + raw_data=data + ) + + def extract_token_transfer_info(self, call_info: ContractCallInfo, to_address: str) -> Optional[TokenInfo]: + """ + 提取代币转账信息 + + Args: + call_info: 合约调用信息 + to_address: 合约地址 + + Returns: + TokenInfo: 代币信息 + """ + if not call_info or not call_info.function_selector: + return None + + selector = call_info.function_selector + + # ERC20 transfer + if selector == FunctionSelectors.ERC20_TRANSFER: + return self._extract_erc20_transfer(call_info, to_address) + + # ERC20 approve + elif selector == FunctionSelectors.ERC20_APPROVE: + return self._extract_erc20_approve(call_info, to_address) + + # ERC20 transferFrom + elif selector == FunctionSelectors.ERC20_TRANSFER_FROM: + return self._extract_erc20_transfer_from(call_info, to_address) + + return None + + def extract_gas_info(self, transaction: Dict[str, Any]) -> Dict[str, Any]: + """ + 提取Gas相关信息 + + Args: + transaction: 交易数据 + + Returns: + Dict: Gas信息 + """ + gas_info = {} + + # Gas限制 + if 'gas' in transaction: + gas_limit = self._parse_hex_number(transaction['gas']) + gas_info['gas_limit'] = gas_limit + + # Gas价格 (Legacy) + if 'gasPrice' in transaction: + gas_price = self._parse_hex_number(transaction['gasPrice']) + gas_info['gas_price'] = gas_price + gas_info['gas_price_gwei'] = gas_price / (10**9) if gas_price else 0 + + # EIP-1559 费用 + if 'maxFeePerGas' in transaction: + max_fee = self._parse_hex_number(transaction['maxFeePerGas']) + gas_info['max_fee_per_gas'] = max_fee + gas_info['max_fee_per_gas_gwei'] = max_fee / (10**9) if max_fee else 0 + + if 'maxPriorityFeePerGas' in transaction: + priority_fee = self._parse_hex_number(transaction['maxPriorityFeePerGas']) + gas_info['max_priority_fee_per_gas'] = priority_fee + gas_info['max_priority_fee_per_gas_gwei'] = priority_fee / (10**9) if priority_fee else 0 + + # 估算总费用 + if 'gas_limit' in gas_info: + if 'gas_price' in gas_info: + total_fee = gas_info['gas_limit'] * gas_info['gas_price'] + gas_info['estimated_fee_wei'] = total_fee + gas_info['estimated_fee_eth'] = total_fee / (10**18) + elif 'max_fee_per_gas' in gas_info: + total_fee = gas_info['gas_limit'] * gas_info['max_fee_per_gas'] + gas_info['estimated_max_fee_wei'] = total_fee + gas_info['estimated_max_fee_eth'] = total_fee / (10**18) + + return gas_info + + def _load_function_signatures(self) -> Dict[str, Dict[str, str]]: + """加载函数签名数据""" + return { + FunctionSelectors.ERC20_TRANSFER: { + 'name': 'transfer', + 'signature': 'transfer(address,uint256)', + 'params': ['address', 'uint256'] + }, + FunctionSelectors.ERC20_APPROVE: { + 'name': 'approve', + 'signature': 'approve(address,uint256)', + 'params': ['address', 'uint256'] + }, + FunctionSelectors.ERC20_TRANSFER_FROM: { + 'name': 'transferFrom', + 'signature': 'transferFrom(address,address,uint256)', + 'params': ['address', 'address', 'uint256'] + }, + FunctionSelectors.ERC721_TRANSFER_FROM: { + 'name': 'transferFrom', + 'signature': 'transferFrom(address,address,uint256)', + 'params': ['address', 'address', 'uint256'] + }, + FunctionSelectors.ERC721_SAFE_TRANSFER_FROM: { + 'name': 'safeTransferFrom', + 'signature': 'safeTransferFrom(address,address,uint256)', + 'params': ['address', 'address', 'uint256'] + }, + FunctionSelectors.ERC721_APPROVE: { + 'name': 'approve', + 'signature': 'approve(address,uint256)', + 'params': ['address', 'uint256'] + }, + FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: { + 'name': 'setApprovalForAll', + 'signature': 'setApprovalForAll(address,bool)', + 'params': ['address', 'bool'] + }, + FunctionSelectors.UNISWAP_SWAP_EXACT_TOKENS: { + 'name': 'swapExactTokensForTokens', + 'signature': 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)', + 'params': ['uint256', 'uint256', 'address[]', 'address', 'uint256'] + }, + FunctionSelectors.UNISWAP_SWAP_EXACT_ETH: { + 'name': 'swapExactETHForTokens', + 'signature': 'swapExactETHForTokens(uint256,address[],address,uint256)', + 'params': ['uint256', 'address[]', 'address', 'uint256'] + }, + } + + def _get_function_name(self, selector: str) -> Optional[str]: + """获取函数名称""" + sig_info = self.function_signatures.get(selector) + return sig_info['name'] if sig_info else None + + def _get_function_signature(self, selector: str) -> Optional[str]: + """获取函数签名""" + sig_info = self.function_signatures.get(selector) + return sig_info['signature'] if sig_info else None + + def _decode_parameters(self, selector: str, raw_params: str) -> Dict[str, Any]: + """ + 解码函数参数 + + Args: + selector: 函数选择器 + raw_params: 原始参数数据 + + Returns: + Dict: 解码后的参数 + """ + sig_info = self.function_signatures.get(selector) + if not sig_info: + return {'raw': raw_params} + + params = {} + param_types = sig_info.get('params', []) + + try: + # 简单的参数解码 (每个参数32字节) + for i, param_type in enumerate(param_types): + start = i * 64 # 32字节 = 64位hex + end = start + 64 + + if start >= len(raw_params): + break + + param_hex = raw_params[start:end] + param_name = f"param_{i}" + + if param_type == 'address': + # 地址类型:取后40位 + address = '0x' + param_hex[-40:] + params[param_name] = address + + elif param_type == 'uint256': + # 256位无符号整数 + value = int(param_hex, 16) + params[param_name] = value + + elif param_type == 'bool': + # 布尔值 + value = int(param_hex, 16) > 0 + params[param_name] = value + + else: + # 其他类型保持原始hex + params[param_name] = '0x' + param_hex + + return params + + except Exception as e: + return {'raw': raw_params, 'decode_error': str(e)} + + def _extract_erc20_transfer(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: + """提取ERC20 transfer信息""" + params = call_info.parameters + + # 获取接收地址和数量 + to_address = params.get('param_0') # address to + amount = params.get('param_1') # uint256 amount + + # 获取代币符号 + symbol = self._get_token_symbol(contract_address) + + return TokenInfo( + address=contract_address, + symbol=symbol, + amount=str(amount) if amount else None, + amount_formatted=self._format_token_amount(amount, symbol) + ) + + def _extract_erc20_approve(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: + """提取ERC20 approve信息""" + params = call_info.parameters + + # 获取授权地址和数量 + spender = params.get('param_0') # address spender + amount = params.get('param_1') # uint256 amount + + # 获取代币符号 + symbol = self._get_token_symbol(contract_address) + + return TokenInfo( + address=contract_address, + symbol=symbol, + amount=str(amount) if amount else None, + amount_formatted=self._format_token_amount(amount, symbol) + ) + + def _extract_erc20_transfer_from(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: + """提取ERC20 transferFrom信息""" + params = call_info.parameters + + # 获取发送地址、接收地址和数量 + from_address = params.get('param_0') # address from + to_address = params.get('param_1') # address to + amount = params.get('param_2') # uint256 amount + + # 获取代币符号 + symbol = self._get_token_symbol(contract_address) + + return TokenInfo( + address=contract_address, + symbol=symbol, + amount=str(amount) if amount else None, + amount_formatted=self._format_token_amount(amount, symbol) + ) + + def _get_token_symbol(self, contract_address: str) -> Optional[str]: + """获取代币符号""" + if not contract_address: + return None + + # 从已知合约获取 + for addr, name in KnownContracts.CONTRACT_NAMES.items(): + if addr.lower() == contract_address.lower(): + return name + + return None + + def _format_token_amount(self, amount: Optional[int], symbol: Optional[str]) -> Optional[str]: + """格式化代币数量""" + if amount is None: + return None + + # 根据代币类型使用不同的精度 + if symbol in ['USDT', 'USDC']: + decimals = 6 + elif symbol in ['WETH']: + decimals = 18 + else: + decimals = 18 # 默认18位精度 + + # 格式化数量 + formatted = amount / (10 ** decimals) + + # 如果数量很大,使用科学计数法 + if formatted >= 1e6: + return f"{formatted:.2e}" + elif formatted >= 1000: + return f"{formatted:,.2f}" + else: + return f"{formatted:.6f}".rstrip('0').rstrip('.') + + def _parse_hex_number(self, hex_str: str) -> Optional[int]: + """解析十六进制数字""" + if not hex_str: + return None + + try: + if hex_str.startswith('0x'): + return int(hex_str, 16) + else: + return int(hex_str) + except (ValueError, TypeError): + return None + + def validate_address(self, address: str) -> bool: + """验证以太坊地址格式""" + if not address: + return False + return bool(RegexPatterns.ETH_ADDRESS.match(address)) + + def validate_hex_data(self, data: str) -> bool: + """验证十六进制数据格式""" + if not data: + return False + return bool(RegexPatterns.HEX_DATA.match(data)) + + def extract_addresses_from_data(self, data: str) -> List[str]: + """从交易数据中提取所有地址""" + addresses = [] + + if not data or len(data) < 10: + return addresses + + # 移除函数选择器 + param_data = data[10:] + + # 每32字节检查一次,看是否是地址 + for i in range(0, len(param_data), 64): + chunk = param_data[i:i+64] + if len(chunk) == 64: + # 检查是否可能是地址 (前24字节为0) + if chunk[:24] == '0' * 24: + potential_address = '0x' + chunk[24:] + if self.validate_address(potential_address): + addresses.append(potential_address) + + return addresses \ No newline at end of file diff --git a/eth_transaction_parser/parser.py b/eth_transaction_parser/parser.py new file mode 100644 index 0000000..8101f11 --- /dev/null +++ b/eth_transaction_parser/parser.py @@ -0,0 +1,269 @@ +""" +ETH Transaction 主解析器 +""" + +import json +import logging +from typing import Dict, Any, Optional, Union +from .models import EthTransaction, TransactionAnalysis, TransactionType, RiskLevel +from .parameter_extractor import TransactionParameterExtractor +from .transaction_analyzer import TransactionAnalyzer + + +class EthTransactionParser: + """ETH交易解析器""" + + def __init__(self, enable_logging: bool = False): + """ + 初始化解析器 + + Args: + enable_logging: 是否启用日志 + """ + self.logger = logging.getLogger(__name__) + if enable_logging: + logging.basicConfig(level=logging.INFO) + + self.parameter_extractor = TransactionParameterExtractor() + self.transaction_analyzer = TransactionAnalyzer() + + def parse(self, transaction_data: Union[str, Dict[str, Any]]) -> TransactionAnalysis: + """ + 解析交易数据 + + Args: + transaction_data: 交易数据 (JSON字符串或字典) + + Returns: + TransactionAnalysis: 解析和分析结果 + """ + try: + # 解析输入数据 + if isinstance(transaction_data, str): + tx_dict = json.loads(transaction_data) + else: + tx_dict = transaction_data + + # 提取交易参数 + transaction = self._extract_transaction_params(tx_dict) + + # 分析交易 + analysis = self.transaction_analyzer.analyze(transaction) + + self.logger.info(f"解析完成: {analysis.transaction_type.value}") + return analysis + + except Exception as e: + self.logger.error(f"解析失败: {str(e)}") + # 返回基本的错误分析 + return TransactionAnalysis( + transaction=EthTransaction(), + transaction_type=TransactionType.UNKNOWN, + confidence=0.0, + risk_level=RiskLevel.HIGH, + security_warnings=[f"解析错误: {str(e)}"], + description="交易解析失败", + summary="无法解析的交易" + ) + + def _extract_transaction_params(self, tx_dict: Dict[str, Any]) -> EthTransaction: + """ + 提取交易参数 + + Args: + tx_dict: 交易字典 + + Returns: + EthTransaction: 交易对象 + """ + return EthTransaction( + from_address=tx_dict.get('from'), + to_address=tx_dict.get('to'), + value=tx_dict.get('value', '0x0'), + gas=tx_dict.get('gas'), + gas_price=tx_dict.get('gasPrice'), + max_fee_per_gas=tx_dict.get('maxFeePerGas'), + max_priority_fee_per_gas=tx_dict.get('maxPriorityFeePerGas'), + nonce=tx_dict.get('nonce'), + data=tx_dict.get('data', '0x') + ) + + def parse_batch(self, transactions: list) -> list: + """ + 批量解析交易 + + Args: + transactions: 交易列表 + + Returns: + list: 解析结果列表 + """ + results = [] + for tx in transactions: + try: + result = self.parse(tx) + results.append(result) + except Exception as e: + self.logger.error(f"批量解析中的单个交易失败: {str(e)}") + results.append(None) + + return results + + def get_transaction_summary(self, analysis: TransactionAnalysis) -> str: + """ + 获取交易摘要 + + Args: + analysis: 交易分析结果 + + Returns: + str: 交易摘要 + """ + tx = analysis.transaction + + # 基本信息 + summary_parts = [ + f"交易类型: {analysis.transaction_type.value}", + f"发送方: {tx.from_address or '未知'}", + f"接收方: {tx.to_address or '未知'}", + ] + + # 价值转移 + if tx.value_eth and tx.value_eth > 0: + summary_parts.append(f"ETH数量: {tx.value_eth:.6f} ETH") + + # 合约调用 + if analysis.contract_call: + if analysis.contract_call.function_name: + summary_parts.append(f"调用函数: {analysis.contract_call.function_name}") + + # 代币信息 + if analysis.token_info: + if analysis.token_info.amount_formatted: + symbol = analysis.token_info.symbol or "代币" + summary_parts.append(f"代币数量: {analysis.token_info.amount_formatted} {symbol}") + + # 风险信息 + if analysis.risk_level != RiskLevel.LOW: + summary_parts.append(f"风险级别: {analysis.risk_level.value}") + + return " | ".join(summary_parts) + + def export_analysis(self, analysis: TransactionAnalysis, format: str = "json") -> str: + """ + 导出分析结果 + + Args: + analysis: 分析结果 + format: 导出格式 ('json', 'yaml', 'text') + + Returns: + str: 导出的内容 + """ + if format.lower() == "json": + return self._export_json(analysis) + elif format.lower() == "yaml": + return self._export_yaml(analysis) + elif format.lower() == "text": + return self._export_text(analysis) + else: + raise ValueError(f"不支持的导出格式: {format}") + + def _export_json(self, analysis: TransactionAnalysis) -> str: + """导出为JSON格式""" + data = { + "transaction_type": analysis.transaction_type.value, + "confidence": analysis.confidence, + "risk_level": analysis.risk_level.value, + "description": analysis.description, + "summary": analysis.summary, + "transaction": { + "from": analysis.transaction.from_address, + "to": analysis.transaction.to_address, + "value_eth": analysis.transaction.value_eth, + "is_contract_call": analysis.transaction.is_contract_call, + } + } + + if analysis.contract_call: + data["contract_call"] = { + "function_name": analysis.contract_call.function_name, + "function_selector": analysis.contract_call.function_selector, + "parameters": analysis.contract_call.parameters, + } + + if analysis.token_info: + data["token_info"] = { + "symbol": analysis.token_info.symbol, + "amount_formatted": analysis.token_info.amount_formatted, + "address": analysis.token_info.address, + } + + if analysis.risk_factors: + data["risk_factors"] = analysis.risk_factors + + if analysis.security_warnings: + data["security_warnings"] = analysis.security_warnings + + return json.dumps(data, indent=2, ensure_ascii=False) + + def _export_yaml(self, analysis: TransactionAnalysis) -> str: + """导出为YAML格式""" + return "YAML 格式导出已禁用,请使用 JSON 或 TEXT 格式" + + def _export_text(self, analysis: TransactionAnalysis) -> str: + """导出为文本格式""" + lines = [ + "=== ETH 交易分析报告 ===", + "", + f"交易类型: {analysis.transaction_type.value}", + f"置信度: {analysis.confidence:.2f}", + f"风险级别: {analysis.risk_level.value}", + "", + "交易信息:", + f" 发送方: {analysis.transaction.from_address or '未知'}", + f" 接收方: {analysis.transaction.to_address or '未知'}", + ] + + if analysis.transaction.value_eth: + lines.append(f" ETH数量: {analysis.transaction.value_eth:.6f} ETH") + + if analysis.contract_call: + lines.extend([ + "", + "合约调用:", + f" 函数: {analysis.contract_call.function_name or '未知'}", + f" 选择器: {analysis.contract_call.function_selector or '未知'}", + ]) + + if analysis.token_info: + lines.extend([ + "", + "代币信息:", + f" 符号: {analysis.token_info.symbol or '未知'}", + f" 数量: {analysis.token_info.amount_formatted or '未知'}", + ]) + + if analysis.risk_factors: + lines.extend([ + "", + "风险因素:", + ]) + for factor in analysis.risk_factors: + lines.append(f" - {factor}") + + if analysis.security_warnings: + lines.extend([ + "", + "安全警告:", + ]) + for warning in analysis.security_warnings: + lines.append(f" - {warning}") + + lines.extend([ + "", + f"描述: {analysis.description}", + f"摘要: {analysis.summary}", + ]) + + return "\n".join(lines) \ No newline at end of file diff --git a/eth_transaction_parser/tests/__init__.py b/eth_transaction_parser/tests/__init__.py new file mode 100644 index 0000000..958db33 --- /dev/null +++ b/eth_transaction_parser/tests/__init__.py @@ -0,0 +1,3 @@ +""" +ETH Transaction Parser 测试模块 +""" \ No newline at end of file diff --git a/eth_transaction_parser/tests/__pycache__/__init__.cpython-39.pyc b/eth_transaction_parser/tests/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9296e801fd30c145be3a0f702c6b10d2be8f071e GIT binary patch literal 244 zcmYe~<>g`k0s*h&3_T$I7{oyaj6jY95EpX*i4=w?h7`tN22G|?RUntkHN-<9q$n}3 zI5D{-Ge1uuAhD=8wMgOF*6tVUr#@S;@af#?Tz;C2x7g$3Q}UDJ<5w~iF#+{~iC?M7 zRxzbO<;5|Tsl_F!G5L9^DMguOsWB<3#n~nK1u@C_DXB53nFZ#CM!H3*i7AOmnK_vy zmAbi!nRzj(B^mK02&>}@z*fhU0F5e+iI30B%PfhH*DI*J#bJ}1pHiBWY6tSkXCP(( E095%(nE(I) literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/tests/__pycache__/test_data.cpython-39.pyc b/eth_transaction_parser/tests/__pycache__/test_data.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0903bff5d74a0b22e388f5d6a3ba2181b23af5d8 GIT binary patch literal 3991 zcmcgv>u(%a6<_bJch{TsE05BaKEkW8r73qFcV=!WrR#kp25W8E>o$xmjqc33ldQ7d zUCr($w!{|{Ayq(8E72k(SD;c#KnN-X5-ROKz(>TV`AT9Z{{R9666em09ar@xsiH8p z&&>JV^S<}od(Ee(iz$36-|#LL9!sVEE}6s6G%_#Z-{9L5sT8E_6ih%GGLVHy$Uz)h#9z`FzP4coo$>D@nm|K{)B*nQ)@-B*8Gw4WwhrmliUJTFufF;h7=&h@5*G zCDOTRYLw}*bJhL<+2V{)=DDtn@~8)s=7#IXN&5^;A)=&3lr&({JWBc~-Fw5B#S9BY zWsO`@ab;aJ`+FETqk@~RHqMO6RZ4&w8gX^cry4Ug2EOW1;2t6dWxlFg7Wnu1$b#SY zwV->A#8*SDQm7=p8q!zI&SUTdbYdUFY`CtuW>Rgv@>kpx(30kk~1qVhf%`>Ut zd1Li)5h>gez?kXFd5Yi-*63Th)qx+DCm+T_3yM-`#iY%feiUhHXTs!Z0712fnca zj53ua-$1D$s}NZj0v<$?+Z50qZALmt6tgIbf;YZ< z?bg+6F&3OeERsQJ@5A3mpEq86W$*oWM^gO8JHNd3_FGt~xM<<@eoY+@CnZjF=hu5b z{Y9c9quD(K+3Z9brO7d^tdv0Si5W!$$TMUL` zqt_J>v@eSdT#1*4z5a&R1F?bY-Bi>w0p2{g+wR~db7m8l=EgzG#s8i-eIB5#jUk#E zMAVTN{%8B!Vd44B9*jET1w46DgCf#wE 0) + + def test_uniswap_swap(self): + """测试Uniswap交换""" + tx = TEST_TRANSACTIONS["uniswap_swap"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["uniswap_swap"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertEqual(analysis.contract_call.function_name, "swapExactETHForTokens") + + def test_nft_transfer(self): + """测试NFT转移""" + tx = TEST_TRANSACTIONS["nft_transfer"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["nft_transfer"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertEqual(analysis.contract_call.function_name, "transferFrom") + + def test_nft_approve_all(self): + """测试NFT授权所有""" + tx = TEST_TRANSACTIONS["nft_approve_all"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["nft_approve_all"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertEqual(analysis.risk_level.value, expected["risk_level"]) + self.assertIn("NFT全部授权", analysis.risk_factors) + + def test_contract_deploy(self): + """测试合约部署""" + tx = TEST_TRANSACTIONS["contract_deploy"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["contract_deploy"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertIsNone(analysis.transaction.to_address) + self.assertTrue(analysis.transaction.is_contract_call) + + def test_high_value_eth(self): + """测试大额ETH转账""" + tx = TEST_TRANSACTIONS["high_value_eth"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["high_value_eth"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertEqual(analysis.risk_level.value, expected["risk_level"]) + self.assertIn("大额ETH转账", analysis.risk_factors) + self.assertAlmostEqual(analysis.transaction.value_eth, 100.0, places=6) + + def test_unknown_contract(self): + """测试未知合约调用""" + tx = TEST_TRANSACTIONS["unknown_contract"] + analysis = self.parser.parse(tx) + expected = EXPECTED_RESULTS["unknown_contract"] + + self.assertEqual(analysis.transaction_type.value, expected["type"]) + self.assertEqual(analysis.risk_level.value, expected["risk_level"]) + self.assertIn("未知合约调用", analysis.risk_factors) + + def test_eip1559_transaction(self): + """测试EIP-1559交易""" + tx = TEST_TRANSACTIONS["eip1559"] + analysis = self.parser.parse(tx) + + self.assertEqual(analysis.transaction_type, TransactionType.ETH_TRANSFER) + self.assertIsNotNone(analysis.transaction.max_fee_per_gas) + self.assertIsNotNone(analysis.transaction.max_priority_fee_per_gas) + self.assertAlmostEqual(analysis.transaction.value_eth, 0.01, places=6) + + def test_batch_parsing(self): + """测试批量解析""" + transactions = [ + TEST_TRANSACTIONS["eth_transfer"], + TEST_TRANSACTIONS["erc20_transfer"], + TEST_TRANSACTIONS["nft_transfer"] + ] + + results = self.parser.parse_batch(transactions) + + self.assertEqual(len(results), 3) + self.assertEqual(results[0].transaction_type, TransactionType.ETH_TRANSFER) + self.assertEqual(results[1].transaction_type, TransactionType.TOKEN_TRANSFER) + self.assertEqual(results[2].transaction_type, TransactionType.NFT_TRANSFER) + + def test_export_json(self): + """测试JSON导出""" + tx = TEST_TRANSACTIONS["eth_transfer"] + analysis = self.parser.parse(tx) + + json_result = self.parser.export_analysis(analysis, "json") + data = json.loads(json_result) + + self.assertEqual(data["transaction_type"], "eth_transfer") + self.assertEqual(data["risk_level"], "low") + self.assertIn("transaction", data) + + def test_export_text(self): + """测试文本导出""" + tx = TEST_TRANSACTIONS["erc20_approve"] + analysis = self.parser.parse(tx) + + text_result = self.parser.export_analysis(analysis, "text") + + self.assertIn("ETH 交易分析报告", text_result) + self.assertIn("token_approval", text_result) + self.assertIn("high", text_result) + + def test_transaction_summary(self): + """测试交易摘要""" + tx = TEST_TRANSACTIONS["uniswap_swap"] + analysis = self.parser.parse(tx) + + summary = self.parser.get_transaction_summary(analysis) + + self.assertIn("defi_swap", summary) + self.assertIn("ETH数量:", summary) + self.assertIn("swapExactETHForTokens", summary) + + def test_invalid_transaction(self): + """测试无效交易""" + invalid_tx = {"invalid": "data"} + analysis = self.parser.parse(invalid_tx) + + self.assertEqual(analysis.transaction_type, TransactionType.UNKNOWN) + self.assertEqual(analysis.risk_level, RiskLevel.HIGH) + self.assertTrue(len(analysis.security_warnings) > 0) + + def test_json_string_input(self): + """测试JSON字符串输入""" + tx = TEST_TRANSACTIONS["eth_transfer"] + tx_json = json.dumps(tx) + + analysis = self.parser.parse(tx_json) + + self.assertEqual(analysis.transaction_type, TransactionType.ETH_TRANSFER) + self.assertEqual(analysis.risk_level, RiskLevel.LOW) + + +class TestTransactionAnalyzer(unittest.TestCase): + """交易分析器测试""" + + def setUp(self): + """设置测试环境""" + self.parser = EthTransactionParser() + + def test_risk_analysis(self): + """测试风险分析""" + # 高风险:无限授权 + tx = TEST_TRANSACTIONS["erc20_approve"] + analysis = self.parser.parse(tx) + risks = self.parser.transaction_analyzer.get_transaction_risks(analysis) + + self.assertEqual(risks["risk_level"], "high") + self.assertGreater(risks["risk_score"], 60) + self.assertTrue(len(risks["recommendations"]) > 0) + + # 低风险:普通ETH转账 + tx = TEST_TRANSACTIONS["eth_transfer"] + analysis = self.parser.parse(tx) + risks = self.parser.transaction_analyzer.get_transaction_risks(analysis) + + self.assertEqual(risks["risk_level"], "low") + self.assertLess(risks["risk_score"], 30) + + def test_transaction_descriptions(self): + """测试交易描述生成""" + test_cases = [ + ("eth_transfer", "转账"), + ("erc20_transfer", "转账"), + ("erc20_approve", "授权"), + ("contract_deploy", "部署"), + ("nft_transfer", "NFT"), + ("uniswap_swap", "交换") + ] + + for tx_name, expected_keyword in test_cases: + tx = TEST_TRANSACTIONS[tx_name] + analysis = self.parser.parse(tx) + + self.assertIn(expected_keyword, analysis.description) + + +class TestParameterExtractor(unittest.TestCase): + """参数提取器测试""" + + def setUp(self): + """设置测试环境""" + self.parser = EthTransactionParser() + self.extractor = self.parser.parameter_extractor + + def test_contract_call_extraction(self): + """测试合约调用信息提取""" + tx = TEST_TRANSACTIONS["erc20_transfer"] + call_info = self.extractor.extract_contract_call_info(tx["data"]) + + self.assertIsNotNone(call_info) + self.assertEqual(call_info.function_selector, "0xa9059cbb") + self.assertEqual(call_info.function_name, "transfer") + self.assertIn("param_0", call_info.parameters) + self.assertIn("param_1", call_info.parameters) + + def test_token_info_extraction(self): + """测试代币信息提取""" + tx = TEST_TRANSACTIONS["erc20_transfer"] + call_info = self.extractor.extract_contract_call_info(tx["data"]) + token_info = self.extractor.extract_token_transfer_info(call_info, tx["to"]) + + if token_info: + self.assertEqual(token_info.symbol, "USDT") + self.assertIsNotNone(token_info.amount) + + def test_gas_info_extraction(self): + """测试Gas信息提取""" + tx = TEST_TRANSACTIONS["eip1559"] + gas_info = self.extractor.extract_gas_info(tx) + + self.assertIn("gas_limit", gas_info) + self.assertIn("max_fee_per_gas", gas_info) + self.assertIn("max_priority_fee_per_gas", gas_info) + self.assertIn("max_fee_per_gas_gwei", gas_info) + + def test_address_validation(self): + """测试地址验证""" + valid_address = "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b" + invalid_address = "0xinvalid" + + self.assertTrue(self.extractor.validate_address(valid_address)) + self.assertFalse(self.extractor.validate_address(invalid_address)) + + def test_hex_data_validation(self): + """测试十六进制数据验证""" + valid_hex = "0x1234abcd" + invalid_hex = "0xzzzz" + + self.assertTrue(self.extractor.validate_hex_data(valid_hex)) + self.assertFalse(self.extractor.validate_hex_data(invalid_hex)) + + +if __name__ == "__main__": + # 运行所有测试 + unittest.main(verbosity=2) \ No newline at end of file diff --git a/eth_transaction_parser/transaction_analyzer.py b/eth_transaction_parser/transaction_analyzer.py new file mode 100644 index 0000000..7fa906f --- /dev/null +++ b/eth_transaction_parser/transaction_analyzer.py @@ -0,0 +1,389 @@ +""" +ETH Transaction 交易分析器 +""" + +from typing import Dict, Any, List, Optional +from .models import ( + EthTransaction, + TransactionAnalysis, + TransactionType, + RiskLevel, + FunctionSelectors, + KnownContracts, + RiskKeywords +) +from .parameter_extractor import TransactionParameterExtractor + + +class TransactionAnalyzer: + """交易分析器""" + + def __init__(self): + self.parameter_extractor = TransactionParameterExtractor() + + def analyze(self, transaction: EthTransaction) -> TransactionAnalysis: + """ + 分析交易 + + Args: + transaction: 交易对象 + + Returns: + TransactionAnalysis: 分析结果 + """ + # 基础分析 + tx_type, confidence = self._classify_transaction_type(transaction) + + # 提取合约调用信息 + contract_call = None + if transaction.is_contract_call and transaction.data: + contract_call = self.parameter_extractor.extract_contract_call_info(transaction.data) + + # 提取代币信息 + token_info = None + if contract_call and transaction.to_address: + token_info = self.parameter_extractor.extract_token_transfer_info( + contract_call, transaction.to_address + ) + + # 风险分析 + risk_level, risk_factors, security_warnings = self._analyze_risks( + transaction, contract_call, token_info + ) + + # 生成描述 + description = self._generate_description(transaction, tx_type, contract_call, token_info) + summary = self._generate_summary(transaction, tx_type, contract_call, token_info) + + return TransactionAnalysis( + transaction=transaction, + transaction_type=tx_type, + confidence=confidence, + contract_call=contract_call, + token_info=token_info, + risk_level=risk_level, + risk_factors=risk_factors, + security_warnings=security_warnings, + description=description, + summary=summary + ) + + def _classify_transaction_type(self, transaction: EthTransaction) -> tuple[TransactionType, float]: + """ + 分类交易类型 + + Args: + transaction: 交易对象 + + Returns: + tuple: (交易类型, 置信度) + """ + # ETH转账 + if transaction.is_value_transfer and not transaction.is_contract_call: + return TransactionType.ETH_TRANSFER, 1.0 + + # 合约部署 + if not transaction.to_address and transaction.is_contract_call: + return TransactionType.CONTRACT_DEPLOY, 1.0 + + # 合约调用分析 + if transaction.is_contract_call and transaction.data: + return self._classify_contract_call(transaction) + + # 包含ETH转账的合约调用 + if transaction.is_value_transfer and transaction.is_contract_call: + return TransactionType.CONTRACT_CALL, 0.8 + + return TransactionType.UNKNOWN, 0.0 + + def _classify_contract_call(self, transaction: EthTransaction) -> tuple[TransactionType, float]: + """ + 分类合约调用类型 + + Args: + transaction: 交易对象 + + Returns: + tuple: (交易类型, 置信度) + """ + if not transaction.data or len(transaction.data) < 10: + return TransactionType.CONTRACT_CALL, 0.5 + + function_selector = transaction.data[:10] + + # ERC20 代币操作 + if function_selector == FunctionSelectors.ERC20_TRANSFER: + return TransactionType.TOKEN_TRANSFER, 0.95 + elif function_selector == FunctionSelectors.ERC20_APPROVE: + return TransactionType.TOKEN_APPROVAL, 0.95 + elif function_selector == FunctionSelectors.ERC20_TRANSFER_FROM: + return TransactionType.TOKEN_TRANSFER, 0.9 + + # ERC721 NFT操作 + elif function_selector in [ + FunctionSelectors.ERC721_TRANSFER_FROM, + FunctionSelectors.ERC721_SAFE_TRANSFER_FROM + ]: + return TransactionType.NFT_TRANSFER, 0.9 + elif function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: + return TransactionType.NFT_APPROVAL, 0.95 + + # DeFi操作 + elif function_selector in [ + FunctionSelectors.UNISWAP_SWAP_EXACT_TOKENS, + FunctionSelectors.UNISWAP_SWAP_EXACT_ETH + ]: + return TransactionType.DEFI_SWAP, 0.9 + elif function_selector == FunctionSelectors.UNISWAP_ADD_LIQUIDITY: + return TransactionType.DEFI_LIQUIDITY, 0.9 + + # 根据合约地址推断 + if transaction.to_address: + contract_type = self._get_contract_type(transaction.to_address) + if contract_type: + return contract_type, 0.7 + + return TransactionType.CONTRACT_CALL, 0.6 + + def _get_contract_type(self, contract_address: str) -> Optional[TransactionType]: + """根据合约地址推断类型""" + known_contracts = { + KnownContracts.UNISWAP_V2_ROUTER: TransactionType.DEFI_SWAP, + KnownContracts.UNISWAP_V3_ROUTER: TransactionType.DEFI_SWAP, + } + + return known_contracts.get(contract_address) + + def _analyze_risks(self, transaction: EthTransaction, contract_call, token_info) -> tuple[RiskLevel, List[str], List[str]]: + """ + 分析风险 + + Args: + transaction: 交易对象 + contract_call: 合约调用信息 + token_info: 代币信息 + + Returns: + tuple: (风险级别, 风险因素, 安全警告) + """ + risk_factors = [] + security_warnings = [] + risk_level = RiskLevel.LOW + + # 基础风险检查 + if transaction.value_eth and transaction.value_eth > 10: + risk_factors.append("大额ETH转账") + risk_level = max(risk_level, RiskLevel.MEDIUM) + + # 合约调用风险 + if contract_call: + # 函数风险检查 + if contract_call.function_name in RiskKeywords.HIGH_RISK_FUNCTIONS: + risk_factors.append(f"高风险函数调用: {contract_call.function_name}") + risk_level = max(risk_level, RiskLevel.HIGH) + + # 授权风险 + if contract_call.function_selector == FunctionSelectors.ERC20_APPROVE: + amount = contract_call.parameters.get('param_1', 0) + if isinstance(amount, int) and amount > 10**30: # 极大数值,可能是无限授权 + risk_factors.append("疑似无限代币授权") + security_warnings.append("检测到可能的无限授权,请谨慎确认") + risk_level = max(risk_level, RiskLevel.HIGH) + + # NFT全部授权 + if contract_call.function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: + risk_factors.append("NFT全部授权") + security_warnings.append("将授权操作者管理您的所有NFT") + risk_level = max(risk_level, RiskLevel.MEDIUM) + + # 代币风险 + if token_info: + # 未知代币 + if not token_info.symbol: + risk_factors.append("未知代币合约") + risk_level = max(risk_level, RiskLevel.MEDIUM) + + # 大额代币转移 + if token_info.amount_formatted: + try: + amount_float = float(token_info.amount_formatted.replace(',', '')) + if amount_float > 100000: # 大额转移 + risk_factors.append("大额代币转移") + risk_level = max(risk_level, RiskLevel.MEDIUM) + except (ValueError, AttributeError): + pass + + # 未知合约风险 + if transaction.to_address and not self._is_known_contract(transaction.to_address): + if transaction.is_contract_call: + risk_factors.append("未知合约调用") + risk_level = max(risk_level, RiskLevel.MEDIUM) + + # Gas费用风险 + if hasattr(transaction, 'gas_fee_eth') and transaction.gas_fee_eth: + if transaction.gas_fee_eth > 0.1: # 高Gas费 + risk_factors.append("高Gas费用") + security_warnings.append(f"预估Gas费用较高: {transaction.gas_fee_eth:.4f} ETH") + + return risk_level, risk_factors, security_warnings + + def _is_known_contract(self, address: str) -> bool: + """检查是否为已知合约""" + return address.lower() in [addr.lower() for addr in KnownContracts.CONTRACT_NAMES.keys()] + + def _generate_description(self, transaction: EthTransaction, tx_type: TransactionType, + contract_call, token_info) -> str: + """生成交易描述""" + descriptions = { + TransactionType.ETH_TRANSFER: self._describe_eth_transfer, + TransactionType.TOKEN_TRANSFER: self._describe_token_transfer, + TransactionType.TOKEN_APPROVAL: self._describe_token_approval, + TransactionType.CONTRACT_DEPLOY: self._describe_contract_deploy, + TransactionType.CONTRACT_CALL: self._describe_contract_call, + TransactionType.NFT_TRANSFER: self._describe_nft_transfer, + TransactionType.NFT_APPROVAL: self._describe_nft_approval, + TransactionType.DEFI_SWAP: self._describe_defi_swap, + TransactionType.DEFI_LIQUIDITY: self._describe_defi_liquidity, + } + + describe_func = descriptions.get(tx_type, self._describe_unknown) + return describe_func(transaction, contract_call, token_info) + + def _describe_eth_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述ETH转账""" + amount = transaction.value_eth or 0 + to_addr = transaction.to_address or "未知地址" + return f"向 {to_addr} 转账 {amount:.6f} ETH" + + def _describe_token_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述代币转账""" + if not token_info: + return "代币转账操作" + + symbol = token_info.symbol or "未知代币" + amount = token_info.amount_formatted or "未知数量" + + if contract_call and contract_call.function_name == "transferFrom": + return f"从其他地址转移 {amount} {symbol}" + else: + return f"转账 {amount} {symbol}" + + def _describe_token_approval(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述代币授权""" + if not token_info: + return "代币授权操作" + + symbol = token_info.symbol or "未知代币" + amount = token_info.amount_formatted or "未知数量" + + # 检查是否为无限授权 + if contract_call and contract_call.parameters.get('param_1', 0) > 10**30: + return f"无限授权 {symbol} 代币" + else: + return f"授权 {amount} {symbol} 代币" + + def _describe_contract_deploy(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述合约部署""" + return "部署新智能合约" + + def _describe_contract_call(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述合约调用""" + if contract_call and contract_call.function_name: + return f"调用合约函数: {contract_call.function_name}" + + contract_name = KnownContracts.CONTRACT_NAMES.get(transaction.to_address or "", "未知合约") + return f"调用 {contract_name} 合约" + + def _describe_nft_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述NFT转移""" + return "转移NFT" + + def _describe_nft_approval(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述NFT授权""" + if contract_call and contract_call.function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: + return "授权管理所有NFT" + return "授权NFT" + + def _describe_defi_swap(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述DeFi交换""" + contract_name = KnownContracts.CONTRACT_NAMES.get(transaction.to_address or "", "DEX") + return f"在 {contract_name} 上交换代币" + + def _describe_defi_liquidity(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述DeFi流动性""" + return "添加流动性" + + def _describe_unknown(self, transaction: EthTransaction, contract_call, token_info) -> str: + """描述未知交易""" + return "未知类型的交易" + + def _generate_summary(self, transaction: EthTransaction, tx_type: TransactionType, + contract_call, token_info) -> str: + """生成交易摘要""" + parts = [] + parts.append(f"类型: {tx_type.value}") + + if transaction.value_eth and transaction.value_eth > 0: + parts.append(f"ETH: {transaction.value_eth:.6f}") + + if token_info and token_info.amount_formatted: + symbol = token_info.symbol or "代币" + parts.append(f"{symbol}: {token_info.amount_formatted}") + + if contract_call and contract_call.function_name: + parts.append(f"函数: {contract_call.function_name}") + + return " | ".join(parts) + + def get_transaction_risks(self, analysis: TransactionAnalysis) -> Dict[str, Any]: + """ + 获取交易风险详情 + + Args: + analysis: 交易分析结果 + + Returns: + Dict: 风险详情 + """ + return { + "risk_level": analysis.risk_level.value, + "risk_score": self._calculate_risk_score(analysis), + "risk_factors": analysis.risk_factors, + "security_warnings": analysis.security_warnings, + "recommendations": self._get_security_recommendations(analysis) + } + + def _calculate_risk_score(self, analysis: TransactionAnalysis) -> int: + """计算风险分数 (0-100)""" + base_score = { + RiskLevel.LOW: 10, + RiskLevel.MEDIUM: 40, + RiskLevel.HIGH: 70, + RiskLevel.CRITICAL: 90 + }.get(analysis.risk_level, 0) + + # 根据风险因素数量调整 + factor_penalty = min(len(analysis.risk_factors) * 5, 20) + + return min(base_score + factor_penalty, 100) + + def _get_security_recommendations(self, analysis: TransactionAnalysis) -> List[str]: + """获取安全建议""" + recommendations = [] + + if analysis.risk_level in [RiskLevel.HIGH, RiskLevel.CRITICAL]: + recommendations.append("请仔细审查交易详情再确认") + + if "无限授权" in str(analysis.risk_factors): + recommendations.append("考虑设置有限的授权数量而非无限授权") + + if "未知合约" in str(analysis.risk_factors): + recommendations.append("请验证合约地址的可信度") + + if analysis.transaction.value_eth and analysis.transaction.value_eth > 5: + recommendations.append("大额转账请再次确认接收地址") + + if analysis.risk_level == RiskLevel.LOW: + recommendations.append("交易风险较低,可以正常进行") + + return recommendations \ No newline at end of file diff --git a/parsers/__init__.py b/parsers/__init__.py new file mode 100644 index 0000000..5751b24 --- /dev/null +++ b/parsers/__init__.py @@ -0,0 +1,10 @@ +""" +统一签名解析器包 +提供所有签名类型的统一解析接口 +""" + +from .unified import UnifiedSignatureParser + +__all__ = ['UnifiedSignatureParser'] +__version__ = '1.0.0' + diff --git a/parsers/__pycache__/__init__.cpython-312.pyc b/parsers/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..803cd0d64de438482cdff2e2300968910f6eefd9 GIT binary patch literal 388 zcmX@j%ge<81c&69G7kgk#~=<2FhLog<$#Ro3@Hpz3@MB$OgW6XOi@gX3@Oa%j8V)f zEKw|#teR}49zaE0&v(y%vZLYo+I>$a^uAcW_}RP(PiL-p+SAJQtbf9jeY2l+Hawft z36Xxjare`C-Op#WK=eRVKkHliw0|+zOGcn!nvA!^Lh~}yGE-B6Gt=`DOG=AU0}_jh zQ;Uk2fznm1hI$5i27a2Xx7g$3Q}UDJ<8QH-Lezs5fP@osa)83z@$qG;Ma7xQayUl5a=pOPBm>KR~eXrvpI znwXN9l$n!RQmLDpn3)$-0Cq=lOniK1US>&ryk0@&Ee@O9{FKt1RJ$T>pamcw6w3gK l56p~=j31ep8Ckw^F)->p;8woCrP9EDgHN=PyNDC0001fWh>8FJ literal 0 HcmV?d00001 diff --git a/parsers/__pycache__/__init__.cpython-39.pyc b/parsers/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a5792a68ff6c55d9e18f32e906791250d84dda6 GIT binary patch literal 365 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 SignatureType: + """ + 自动检测签名类型 + + Args: + data: 签名数据(字符串或字典) + + Returns: + SignatureType: 检测到的签名类型 + """ + try: + # 如果是字符串,尝试解析为JSON + if isinstance(data, str): + # 如果是纯文本(不是JSON),可能是Personal Sign + try: + parsed_data = json.loads(data) + except json.JSONDecodeError: + return SignatureType.PERSONAL_SIGN + else: + parsed_data = data + + # 检测EIP712签名 + if isinstance(parsed_data, dict): + # EIP712 必须包含 types, domain, primaryType, message + if all(key in parsed_data for key in ['types', 'domain', 'primaryType', 'message']): + return SignatureType.EIP712 + + # 检测Transaction + if any(key in parsed_data for key in ['to', 'from', 'value', 'data', 'gas', 'gasPrice']): + return SignatureType.TRANSACTION + + # 默认为Personal Sign(文本消息) + return SignatureType.PERSONAL_SIGN + + except Exception: + return SignatureType.UNKNOWN + + def parse(self, data: Union[str, Dict[str, Any]], signature_type: Optional[SignatureType] = None) -> Dict[str, Any]: + """ + 解析签名数据 + + Args: + data: 签名数据 + signature_type: 指定签名类型(如果为None则自动检测) + + Returns: + Dict: 解析结果 + """ + # 自动检测类型 + if signature_type is None: + signature_type = self.detect_signature_type(data) + + try: + # 根据类型调用相应的解析器 + if signature_type == SignatureType.EIP712: + return self._parse_eip712(data) + elif signature_type == SignatureType.PERSONAL_SIGN: + return self._parse_personal_sign(data) + elif signature_type == SignatureType.TRANSACTION: + return self._parse_transaction(data) + else: + return { + 'success': False, + 'error': f'不支持的签名类型: {signature_type}', + 'signature_type': signature_type.value + } + + except Exception as e: + return { + 'success': False, + 'error': str(e), + 'signature_type': signature_type.value if signature_type else 'unknown' + } + + def _parse_eip712(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """解析EIP712签名""" + parser = self._get_eip712_parser() + + # 转换为字典格式 + if isinstance(data, str): + data = json.loads(data) + + # 解析 + result = parser.parse(data) + formatted_result = parser.format_result(result) + + # 生成AI分析(如果启用) + ai_analysis = None + if self.enable_nlp and self.openai_api_key: + try: + from dynamic_parser.openai_nlp_generator import generate_english_with_openai + ai_analysis = generate_english_with_openai(data, self.openai_api_key) + except Exception as e: + ai_analysis = {'error': f'AI分析失败: {str(e)}'} + + return { + 'success': True, + 'signature_type': SignatureType.EIP712.value, + 'formatted_result': formatted_result, + 'raw_result': result, + 'ai_analysis': ai_analysis + } + + def _parse_personal_sign(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """解析Personal Sign消息""" + parser = self._get_personal_sign_parser() + + # 如果是字典格式,尝试提取message字段 + if isinstance(data, dict): + message = data.get('message', json.dumps(data)) + else: + message = data + + # 解析 + result = parser.parse(message) + + return { + 'success': True, + 'signature_type': SignatureType.PERSONAL_SIGN.value, + 'result': { + 'template_type': result.template_info.template_type.value if result.template_info else 'unknown', + 'confidence': result.template_info.confidence if result.template_info else 0, + 'description': result.template_info.description if result.template_info else '', + 'security_level': result.template_info.security_level if result.template_info else 'unknown', + 'language': result.language, + 'risk_level': result.risk_level, + 'security_warnings': result.security_warnings, + 'parameters': { + 'domain': result.extracted_parameters.domain, + 'nonce': result.extracted_parameters.nonce, + 'timestamp': result.extracted_parameters.timestamp, + 'address': result.extracted_parameters.address, + } if result.extracted_parameters else None + }, + 'raw_message': message + } + + def _parse_transaction(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """解析以太坊交易""" + parser = self._get_transaction_parser() + + # 转换为字典格式 + if isinstance(data, str): + data = json.loads(data) + + # 解析 + result = parser.parse(data) + + return { + 'success': True, + 'signature_type': SignatureType.TRANSACTION.value, + 'result': { + 'transaction_type': result.transaction.transaction_type.value if result.transaction else 'unknown', + 'from': result.transaction.from_address if result.transaction else None, + 'to': result.transaction.to_address if result.transaction else None, + 'value': result.transaction.value if result.transaction else None, + 'gas': result.transaction.gas if result.transaction else None, + 'gas_price': result.transaction.gas_price if result.transaction else None, + 'risk_level': result.risk_level.value if result.risk_level else 'unknown', + 'risk_factors': result.risk_factors, + 'warnings': result.warnings, + }, + 'raw_transaction': data + } + diff --git a/personal_sign_parser/README.md b/personal_sign_parser/README.md new file mode 100644 index 0000000..ab641f5 --- /dev/null +++ b/personal_sign_parser/README.md @@ -0,0 +1,183 @@ +# PersonalSign 解析器 + +PersonalSign 解析器是一个用于解析和分析 `personal_sign` 签名消息的 Python 模块,具备参数提取和模板识别功能。 + +## 功能特性 + +✨ **模板识别** +- 自动识别消息类型:登录、绑定、授权、验证 +- 基于关键词和模式匹配的智能分析 +- 支持置信度评估 + +🔍 **参数提取** +- 智能提取结构化参数(域名、随机数、时间戳等) +- 支持多种消息格式:JSON、键值对、查询字符串 +- 自动解码 Hex 编码消息 + +🛡️ **安全分析** +- 检测高风险操作和敏感关键词 +- 提供安全警告和风险级别评估 +- 识别可疑消息模式 + +🌐 **多语言支持** +- 支持中文、英文、日文、韩文 +- 自动语言检测 + +## 快速开始 + +### 基本使用 + +```python +from personal_sign_parser import PersonalSignParser + +# 创建解析器实例 +parser = PersonalSignParser() + +# 解析消息 +message = """Sign in to example.com +Nonce: abc123 +Timestamp: 1640995200""" + +result = parser.parse(message) + +# 查看结果 +print(f"模板类型: {result.template_info.template_type.value}") +print(f"置信度: {result.template_info.confidence:.1%}") +print(f"域名: {result.extracted_parameters.domain}") +print(f"随机数: {result.extracted_parameters.nonce}") +``` + +### 支持的消息类型 + +#### 1. 登录消息 +```python +# 文本格式 +message = """Sign in to example.com +Nonce: abc123 +Timestamp: 1640995200""" + +# JSON 格式 +message = '{"domain":"app.example.com","nonce":"xyz789","action":"login"}' +``` + +#### 2. 绑定消息 +```python +# 邮箱绑定 +message = """Bind email: user@example.com +Code: 123456""" + +# 手机绑定 +message = """绑定手机号码: +1234567890 +验证码: 456789""" +``` + +#### 3. 授权消息 +```python +message = """Authorize access to: user profile +Permissions: read, write +Resource: /api/user""" +``` + +#### 4. 验证消息 +```python +message = """Verify ownership of this wallet +Challenge: random_challenge_123 +Address: 0x1234567890123456789012345678901234567890""" +``` + +### 解析结果 + +解析器返回 `PersonalSignMessage` 对象,包含以下信息: + +```python +result = parser.parse(message) + +# 基本信息 +print(result.raw_message) # 原始消息 +print(result.message_length) # 消息长度 +print(result.language) # 语言 +print(result.is_hex) # 是否为Hex编码 + +# 模板信息 +print(result.template_info.template_type) # 模板类型 +print(result.template_info.confidence) # 置信度 +print(result.template_info.description) # 描述 +print(result.template_info.security_level) # 安全级别 + +# 提取的参数 +params = result.extracted_parameters +print(params.domain) # 域名 +print(params.nonce) # 随机数 +print(params.timestamp) # 时间戳 +print(params.address) # 地址 +print(params.session_id) # 会话ID +# ... 更多参数 + +# 安全分析 +print(result.risk_level) # 风险级别 +print(result.security_warnings) # 安全警告 + +# 消息特征 +print(result.contains_urls) # 是否包含URL +print(result.contains_addresses) # 是否包含地址 +print(result.contains_emails) # 是否包含邮箱 +``` + +## 模板类型 + +- `LOGIN`: 登录验证消息 +- `BINDING`: 账户绑定验证消息 +- `AUTHORIZATION`: 权限授权确认消息 +- `VERIFICATION`: 身份验证确认消息 +- `CUSTOM_MESSAGE`: 自定义消息 +- `UNKNOWN`: 未知类型消息 + +## 安全级别 + +- `low`: 低风险 +- `medium`: 中等风险 +- `high`: 高风险 + +## 运行演示 + +运行内置演示查看完整功能: + +```bash +cd personal_sign_parser/tests +python demo.py +``` + +## 测试 + +运行测试文件: + +```bash +cd personal_sign_parser/tests +python test_parser.py +``` + +## 项目结构 + +``` +personal_sign_parser/ +├── __init__.py # 模块初始化 +├── types.py # 类型定义 +├── parser.py # 主解析器 +├── parameter_extractor.py # 参数提取器 +├── template_detector.py # 模板识别器 +├── tests/ # 测试文件夹 +│ ├── __init__.py +│ ├── test_data.py # 测试数据 +│ ├── test_parser.py # 解析器测试 +│ └── demo.py # 功能演示 +└── README.md # 说明文档 +``` + +## 版本信息 + +- 版本: 0.1.0 +- Python 要求: 3.7+ + +## 许可证 + +MIT License \ No newline at end of file diff --git a/personal_sign_parser/__init__.py b/personal_sign_parser/__init__.py new file mode 100644 index 0000000..9641ce6 --- /dev/null +++ b/personal_sign_parser/__init__.py @@ -0,0 +1,20 @@ +""" +PersonalSign 解析器 +用于解析和分析 personal_sign 签名中的参数和模板识别 +""" + +from .parser import PersonalSignParser +from .models import * +from .template_detector import TemplateDetector +from .parameter_extractor import ParameterExtractor + +__version__ = "0.1.0" +__all__ = [ + "PersonalSignParser", + "TemplateDetector", + "ParameterExtractor", + "PersonalSignMessage", + "PersonalSignTemplateType", + "ExtractedParameters", + "TemplateInfo", +] \ No newline at end of file diff --git a/personal_sign_parser/__pycache__/models.cpython-312.pyc b/personal_sign_parser/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f502e9737fb8b27b7dba02aae0b2ef7c723711ec GIT binary patch literal 5876 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 Jp8-L)>%XP15xM{X literal 0 HcmV?d00001 diff --git a/personal_sign_parser/__pycache__/models.cpython-39.pyc b/personal_sign_parser/__pycache__/models.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4d0ab8d3dcdc3f3657210c3855d285d97b3cb9d GIT binary patch literal 4620 zcmbVQ>vI#=71v{TwOXy@7kM^GO`5c5jCqAl(u4*(wg3-7rhc@Oi=6GEy|x!tyUN`a z#v+~xC8W@#JZ4A=nF)SkQBwmt;RFa8Y zQiu}8wz!ihsYDgLM@CAs0O;ErGZX6 z7CROt9YT|`bkOKR(B9)8>DWKdMsr;lI^Md0H&_( zrOfwS(;2sC+}_6Lm+BYK)Gl1P`|-PXzrIns_54!W&D3@|>r37`-G6S>dn7$8!3IYx663rKJsP?#%JTWPW#k z^k?}mBJ5FEp&SA4lp@!=2)^VAP$!E>p_>_fC*QU74zl?z4Bq6KP~U);Qhf7mf&ql5NoA@$5uphyzAXZ$tF~lG$jO#03t4N)ijY$+IU!`dC96VCx8$UdGc8#Y zaz{%}3AvMYHRq!Xxx3Y#7IIHZ&Iox;OYRWzBQ3d8$dA&;s6v(Lm{?;M=(??*cO&F+ zD+Y*N!+Uav17;QjYV9={U?zawuXMn6)lZ+Po&E@nu6Ftt^$-7)=ZfXw`Ec3w+#=;k zv>ZP$OJ%On!)2RM-!KE7Ff9vMpKCr)fURL$fK50?n z?Z7a$g34EcM50<$fl^(&%KmP+@15)uEDbL(#52R4XPro%Kq3L*aX(hr(wNF)*=xrKpSA+LxRg^&m;Lh5?mU?yol9e)K9& z2Td<+1PDQ`=(*FjMFHWYvt$OvS!#g~3cxH}pQpfq6`3t!OrCcz`c?&SZy6!xc!$@F zKFbQFL@m2g;u)V7D-1lG;m||W`G3JFz$(DWFfIW+w?M^SK$1nWa(v?C@JM$-xgU{F zwr|L{pqO42is*7#KM*cYJDwRZ0jKq-U75fSQG6(fHbCnuP<%*S5JXWG9zCiee4=`c zVf({D^AWWESJ2!C7z%#d0uL>~g@923FexetV4)}0h%VaD>*^#e`lE-{A-TbK(Yxx9 z)*z3bRVST-N3SZ<7SbhReh=?y59@ovXk6)m8Mo_u>wh_ca7!_Bt`)LZuxA4{`5LFofI= z@QlnQu?QsVaUC!XPmE#D2k?w*8-U_lK$h{0c?gw0 z1sAv&C5qtUz$FAH0jCO11}-T$1vpJ`3E%+J@GkT@pfAP%$0#L1pRqKE?5 z7OKyz15I_XpMa)+s;{si+t*Y~9oe#eq5AY}5S0DxFK^tq@6Ce0?bT>B9bkb!79V^_yQ0HzeikJX)N!a~s3oWssAZ@VP%BWwO$RWg^3LT5vYXD& zdCc-FkHCOoSgjrZ^SyIRjjO*7Z)w?7HGz42ukErFbgC+F#{r?DfN=N1joQr*TkP@6 z)nv18;1L}!KhzEIzC%Ty#?tQ^SC5Ji-uT-e@7%a~?++hWQ~k@&8n;hn zH6meZ8IFD9EKG(=j_n>Ka6+z2i-Bl?$u^Fj3kSb_v3}}uH6s$s`ChYF^eS#3J{Eqa z@y+k+C;o~j3<&}&{YxxhaS0}s)k$*srq-OqsT1{2juCAopB3K#-MtHEV0)PfL*oFo z<3}4y*C1&wmzj5nib3lquh)M09%j8o2qvOiW9jz2-z>rYQ-{thZ%6I(bM=$w;p0j; zXVEj9EBgtI&BlNb^^ob(G-YA8n_t3~U{c)N=Gy7A_ue_m#_`h=_-WZMFSj**^>yQ$>qMQi zgINngU^uY2VZa@lLI!O&H{`4Hwd0rb+2m>_#=3B9L_EXz$}rjxeLOcbIW{u!hOs;M z#;Uf09{YVLJ|=%)D=}3TkHWAeyGG>OT!H)#LT8u^i}-- zzY(aCybZfC_ N=W|ecpgfa#`acJr$(jHF literal 0 HcmV?d00001 diff --git a/personal_sign_parser/__pycache__/parameter_extractor.cpython-312.pyc b/personal_sign_parser/__pycache__/parameter_extractor.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5d0f5cd5a4db0b26f973be2726f77d2fc5028c54 GIT binary patch literal 12298 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 literal 0 HcmV?d00001 diff --git a/personal_sign_parser/models.py b/personal_sign_parser/models.py new file mode 100644 index 0000000..4e51a5e --- /dev/null +++ b/personal_sign_parser/models.py @@ -0,0 +1,166 @@ +""" +PersonalSign 解析器的类型定义 +""" + +from typing import Dict, List, Optional, Union, Any +from enum import Enum +from dataclasses import dataclass +from datetime import datetime +import re + + +class PersonalSignTemplateType(str, Enum): + """PersonalSign 模板类型枚举""" + LOGIN = "login" + BINDING = "binding" + AUTHORIZATION = "authorization" + VERIFICATION = "verification" + CUSTOM_MESSAGE = "custom_message" + UNKNOWN = "unknown" + + +@dataclass +class ExtractedParameters: + """提取的参数""" + # 通用参数 + domain: Optional[str] = None + nonce: Optional[str] = None + timestamp: Optional[str] = None + expires_at: Optional[str] = None + address: Optional[str] = None + + # 登录相关参数 + session_id: Optional[str] = None + user_id: Optional[str] = None + + # 绑定相关参数 + binding_target: Optional[str] = None # 绑定目标(如邮箱、手机号等) + binding_type: Optional[str] = None # 绑定类型 + + # 授权相关参数 + permissions: List[str] = None # 权限列表 + resource: Optional[str] = None # 资源 + action: Optional[str] = None # 操作 + + # 验证相关参数 + challenge: Optional[str] = None # 挑战码 + verification_code: Optional[str] = None # 验证码 + + # 自定义参数 + custom_fields: Dict[str, str] = None # 其他自定义字段 + + def __post_init__(self): + if self.permissions is None: + self.permissions = [] + if self.custom_fields is None: + self.custom_fields = {} + + +@dataclass +class TemplateInfo: + """模板信息""" + template_type: PersonalSignTemplateType + confidence: float # 置信度 0-1 + matched_patterns: List[str] # 匹配的模式 + description: str # 模板描述 + + # 模板特征 + required_fields: List[str] = None # 必需字段 + optional_fields: List[str] = None # 可选字段 + security_level: str = "medium" # 安全级别: low, medium, high + + def __post_init__(self): + if self.required_fields is None: + self.required_fields = [] + if self.optional_fields is None: + self.optional_fields = [] + + +@dataclass +class PersonalSignMessage: + """PersonalSign 消息""" + # 原始消息 + raw_message: str + + # 解析结果 + template_info: TemplateInfo + extracted_parameters: ExtractedParameters + + # 消息属性 + message_length: int + is_hex: bool + language: str + + # 安全分析 + security_warnings: List[str] = None + risk_level: str = "low" # low, medium, high + + # 结构化信息 + contains_urls: bool = False + contains_addresses: bool = False + contains_emails: bool = False + contains_phone_numbers: bool = False + + def __post_init__(self): + if self.security_warnings is None: + self.security_warnings = [] + + +# 常用的正则表达式模式 +class RegexPatterns: + """常用的正则表达式模式""" + + # 以太坊地址 + ETH_ADDRESS = re.compile(r'0x[a-fA-F0-9]{40}') + + # 域名 + DOMAIN = re.compile(r'([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}') + + # URL + URL = re.compile(r'https?://[^\s<>"{}|\\^`\[\]]+') + + # 邮箱 + EMAIL = re.compile(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}') + + # 手机号(简单匹配) + PHONE = re.compile(r'(\+?1?[- ]?)?\(?([0-9]{3})\)?[- ]?([0-9]{3})[- ]?([0-9]{4})') + + # 时间戳 + TIMESTAMP = re.compile(r'\b\d{10,13}\b') + + # UUID + UUID = re.compile(r'[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', re.IGNORECASE) + + # 随机字符串/Token + TOKEN = re.compile(r'[a-zA-Z0-9+/=]{20,}') + + +# 模板关键词定义 +class TemplateKeywords: + """模板关键词定义""" + + LOGIN = [ + "sign in", "login", "log in", "登录", "登入", "sign into", + "authenticate", "认证", "身份验证", "welcome", "欢迎" + ] + + BINDING = [ + "bind", "绑定", "link", "connect", "关联", "连接", + "verify account", "验证账户", "confirm", "确认" + ] + + AUTHORIZATION = [ + "authorize", "授权", "permission", "权限", "grant", "允许", + "approve", "批准", "access", "访问", "delegate", "委托" + ] + + VERIFICATION = [ + "verify", "验证", "confirm", "确认", "validate", "校验", + "check", "检查", "prove", "证明", "challenge", "挑战" + ] + + # 安全相关关键词 + SECURITY_KEY = [ + "transfer", "转账", "send", "发送", "approve", "批准", + "spend", "花费", "withdraw", "提取", "deposit", "存入" + ] \ No newline at end of file diff --git a/personal_sign_parser/parameter_extractor.py b/personal_sign_parser/parameter_extractor.py new file mode 100644 index 0000000..6b9c573 --- /dev/null +++ b/personal_sign_parser/parameter_extractor.py @@ -0,0 +1,252 @@ +""" +PersonalSign 参数提取器 +用于从 personal_sign 消息中提取结构化参数 +""" + +import re +import json +from typing import Dict, List, Optional, Union, Any +from urllib.parse import parse_qs, urlparse + +from .models import ExtractedParameters, RegexPatterns + + +class ParameterExtractor: + """参数提取器""" + + def __init__(self): + self.patterns = RegexPatterns() + + def extract(self, message: str) -> ExtractedParameters: + """ + 从消息中提取参数 + + Args: + message: 要解析的消息 + + Returns: + 提取的参数对象 + """ + params = ExtractedParameters() + + # 清理消息(去除多余空白) + cleaned_message = self._clean_message(message) + + # 尝试解析为 JSON + json_data = self._try_parse_json(cleaned_message) + if json_data: + self._extract_from_json(json_data, params) + + # 尝试解析为 URL 查询参数 + query_params = self._try_parse_query_string(cleaned_message) + if query_params: + self._extract_from_query_params(query_params, params) + + # 使用正则表达式提取 + self._extract_with_regex(cleaned_message, params) + + # 提取结构化文本参数 + self._extract_structured_text(cleaned_message, params) + + return params + + def _clean_message(self, message: str) -> str: + """清理消息""" + # 如果是 hex 编码的消息,尝试解码 + if message.startswith('0x'): + try: + hex_bytes = bytes.fromhex(message[2:]) + decoded = hex_bytes.decode('utf-8', errors='ignore') + if decoded.strip(): + message = decoded + except (ValueError, UnicodeDecodeError): + pass + + return message.strip() + + def _try_parse_json(self, message: str) -> Optional[Dict[str, Any]]: + """尝试解析为 JSON""" + try: + return json.loads(message) + except (json.JSONDecodeError, ValueError): + # 尝试查找 JSON 片段 + json_pattern = re.compile(r'\{[^{}]*\}') + matches = json_pattern.findall(message) + for match in matches: + try: + return json.loads(match) + except: + continue + return None + + def _try_parse_query_string(self, message: str) -> Optional[Dict[str, List[str]]]: + """尝试解析为 URL 查询字符串""" + try: + # 如果包含 URL + if 'http' in message: + parsed_url = urlparse(message) + if parsed_url.query: + return parse_qs(parsed_url.query) + + # 如果直接是查询字符串格式 + if '=' in message and '&' in message: + return parse_qs(message) + + return None + except: + return None + + def _extract_from_json(self, data: Dict[str, Any], params: ExtractedParameters): + """从 JSON 数据中提取参数""" + # 通用参数 + params.domain = data.get('domain') or data.get('uri') or data.get('url') + params.nonce = str(data.get('nonce', '')) if data.get('nonce') else None + params.timestamp = str(data.get('timestamp', '')) if data.get('timestamp') else None + params.expires_at = str(data.get('expires_at', '')) if data.get('expires_at') else None + params.address = data.get('address') or data.get('wallet_address') + + # 登录相关 + params.session_id = data.get('session_id') or data.get('sessionId') + params.user_id = data.get('user_id') or data.get('userId') + + # 绑定相关 + params.binding_target = data.get('email') or data.get('phone') or data.get('username') + params.binding_type = data.get('binding_type') or data.get('type') + + # 授权相关 + if 'permissions' in data: + params.permissions = data['permissions'] if isinstance(data['permissions'], list) else [data['permissions']] + params.resource = data.get('resource') + params.action = data.get('action') + + # 验证相关 + params.challenge = data.get('challenge') + params.verification_code = data.get('code') or data.get('verification_code') + + # 自定义字段 + excluded_keys = { + 'domain', 'uri', 'url', 'nonce', 'timestamp', 'expires_at', 'address', + 'wallet_address', 'session_id', 'sessionId', 'user_id', 'userId', + 'email', 'phone', 'username', 'binding_type', 'type', 'permissions', + 'resource', 'action', 'challenge', 'code', 'verification_code' + } + + for key, value in data.items(): + if key not in excluded_keys and isinstance(value, (str, int, float)): + params.custom_fields[key] = str(value) + + def _extract_from_query_params(self, query_params: Dict[str, List[str]], params: ExtractedParameters): + """从 URL 查询参数中提取""" + def get_first_value(key: str) -> Optional[str]: + return query_params.get(key, [None])[0] + + params.domain = get_first_value('domain') or get_first_value('site') + params.nonce = get_first_value('nonce') + params.timestamp = get_first_value('timestamp') or get_first_value('t') + params.address = get_first_value('address') or get_first_value('wallet') + params.session_id = get_first_value('session_id') or get_first_value('sid') + params.challenge = get_first_value('challenge') + + def _extract_with_regex(self, message: str, params: ExtractedParameters): + """使用正则表达式提取参数""" + # 提取以太坊地址 + if not params.address: + eth_addresses = self.patterns.ETH_ADDRESS.findall(message) + if eth_addresses: + params.address = eth_addresses[0] + + # 提取域名 + if not params.domain: + domains = self.patterns.DOMAIN.findall(message) + if domains: + params.domain = domains[0] if isinstance(domains[0], str) else domains[0][0] + + # 提取时间戳 + if not params.timestamp: + timestamps = self.patterns.TIMESTAMP.findall(message) + if timestamps: + params.timestamp = timestamps[0] + + # 提取 UUID(可能是 session_id 或 nonce) + uuids = self.patterns.UUID.findall(message) + if uuids: + if not params.session_id: + params.session_id = uuids[0] + elif not params.nonce: + params.nonce = uuids[0] + + # 提取 Token + tokens = self.patterns.TOKEN.findall(message) + if tokens: + for token in tokens: + if not params.nonce and len(token) > 20: + params.nonce = token + break + + def _extract_structured_text(self, message: str, params: ExtractedParameters): + """从结构化文本中提取参数""" + lines = message.split('\n') + + for line in lines: + line = line.strip() + if not line or ':' not in line: + continue + + # 简单的 key:value 格式 + if line.count(':') == 1: + key, value = line.split(':', 1) + key = key.strip().lower() + value = value.strip() + + if not value: + continue + + # 映射常见的键名 + if key in ['domain', 'site', 'website']: + params.domain = params.domain or value + elif key in ['nonce', 'random', 'token']: + params.nonce = params.nonce or value + elif key in ['timestamp', 'time', 'date']: + params.timestamp = params.timestamp or value + elif key in ['address', 'wallet', 'account']: + params.address = params.address or value + elif key in ['session', 'session_id', 'sessionid']: + params.session_id = params.session_id or value + elif key in ['user', 'user_id', 'userid']: + params.user_id = params.user_id or value + elif key in ['email', 'mail']: + params.binding_target = params.binding_target or value + params.binding_type = params.binding_type or 'email' + elif key in ['phone', 'mobile', 'tel']: + params.binding_target = params.binding_target or value + params.binding_type = params.binding_type or 'phone' + elif key in ['challenge', 'code']: + params.challenge = params.challenge or value + else: + # 其他自定义字段 + params.custom_fields[key] = value + + def extract_security_info(self, message: str) -> Dict[str, Any]: + """提取安全相关信息""" + security_info = { + 'contains_sensitive_keywords': False, + 'sensitive_keywords': [], + 'contains_urls': bool(self.patterns.URL.search(message)), + 'contains_addresses': bool(self.patterns.ETH_ADDRESS.search(message)), + 'contains_emails': bool(self.patterns.EMAIL.search(message)), + 'contains_phone_numbers': bool(self.patterns.PHONE.search(message)), + 'message_length': len(message), + 'is_hex_encoded': message.startswith('0x') + } + + # 检查敏感关键词 + from .models import TemplateKeywords + all_security_keywords = TemplateKeywords.SECURITY_KEY + message_lower = message.lower() + + for keyword in all_security_keywords: + if keyword in message_lower: + security_info['contains_sensitive_keywords'] = True + security_info['sensitive_keywords'].append(keyword) + + return security_info \ No newline at end of file diff --git a/personal_sign_parser/parser.py b/personal_sign_parser/parser.py new file mode 100644 index 0000000..f86cfa1 --- /dev/null +++ b/personal_sign_parser/parser.py @@ -0,0 +1,253 @@ +""" +PersonalSign 主解析器 +整合参数提取和模板识别功能 +""" + +import re +from typing import Union, Dict, Any, Optional, List + +from .models import PersonalSignMessage, PersonalSignTemplateType, ExtractedParameters, TemplateInfo +from .parameter_extractor import ParameterExtractor +from .template_detector import TemplateDetector + + +class PersonalSignParser: + """PersonalSign 解析器""" + + def __init__(self): + self.parameter_extractor = ParameterExtractor() + self.template_detector = TemplateDetector() + + def parse(self, message: Union[str, Dict[str, Any]]) -> PersonalSignMessage: + """ + 解析 PersonalSign 消息 + + Args: + message: 要解析的消息,可以是字符串或字典 + + Returns: + 解析后的 PersonalSign 消息对象 + """ + # 统一处理消息格式 + raw_message = self._normalize_message(message) + + # 提取参数 + extracted_params = self.parameter_extractor.extract(raw_message) + + # 检测模板类型 + template_info = self.template_detector.detect(raw_message, extracted_params) + + # 分析消息属性 + message_props = self._analyze_message_properties(raw_message) + + # 安全分析 + security_analysis = self._perform_security_analysis(raw_message, template_info, extracted_params) + + return PersonalSignMessage( + raw_message=raw_message, + template_info=template_info, + extracted_parameters=extracted_params, + message_length=message_props['length'], + is_hex=message_props['is_hex'], + language=message_props['language'], + security_warnings=security_analysis['warnings'], + risk_level=security_analysis['risk_level'], + contains_urls=message_props['contains_urls'], + contains_addresses=message_props['contains_addresses'], + contains_emails=message_props['contains_emails'], + contains_phone_numbers=message_props['contains_phone_numbers'] + ) + + def _normalize_message(self, message: Union[str, Dict[str, Any]]) -> str: + """标准化消息格式""" + if isinstance(message, dict): + # 如果是字典,尝试提取消息内容 + if 'message' in message: + return str(message['message']) + elif 'data' in message: + return str(message['data']) + else: + # 将字典转换为 JSON 字符串 + import json + return json.dumps(message, ensure_ascii=False) + + return str(message) + + def _analyze_message_properties(self, message: str) -> Dict[str, Any]: + """分析消息属性""" + from .models import RegexPatterns + patterns = RegexPatterns() + + return { + 'length': len(message), + 'is_hex': message.startswith('0x'), + 'language': self._detect_language(message), + 'contains_urls': bool(patterns.URL.search(message)), + 'contains_addresses': bool(patterns.ETH_ADDRESS.search(message)), + 'contains_emails': bool(patterns.EMAIL.search(message)), + 'contains_phone_numbers': bool(patterns.PHONE.search(message)) + } + + def _detect_language(self, text: str) -> str: + """检测文本语言""" + # 检查是否包含中文字符 + if any('\u4e00' <= char <= '\u9fff' for char in text): + return "chinese" + # 检查是否包含日文字符 + elif any('\u3040' <= char <= '\u309f' or '\u30a0' <= char <= '\u30ff' for char in text): + return "japanese" + # 检查是否包含韩文字符 + elif any('\uac00' <= char <= '\ud7af' for char in text): + return "korean" + else: + return "english" + + def _perform_security_analysis(self, message: str, template_info: TemplateInfo, params: ExtractedParameters) -> Dict[str, Any]: + """执行安全分析""" + warnings = [] + risk_level = "low" + + # 基于模板类型的风险评估 + if template_info.security_level == "high": + risk_level = "high" + warnings.append("此消息涉及高风险操作,请仔细验证") + elif template_info.security_level == "medium": + risk_level = "medium" + warnings.append("此消息需要额外注意安全性") + + # 检查敏感关键词 + security_info = self.parameter_extractor.extract_security_info(message) + if security_info['contains_sensitive_keywords']: + risk_level = "high" + keywords = ', '.join(security_info['sensitive_keywords'][:3]) # 最多显示3个 + warnings.append(f"消息包含敏感关键词: {keywords}") + + # 检查消息长度 + if len(message) > 5000: + warnings.append("消息长度过长,可能存在风险") + + # 检查 URL + if security_info['contains_urls']: + warnings.append("消息包含URL链接,请验证链接安全性") + + # 检查未知模板类型 + if template_info.template_type == PersonalSignTemplateType.UNKNOWN: + warnings.append("无法识别消息模板类型,请谨慎处理") + if risk_level == "low": + risk_level = "medium" + + # 检查置信度 + if template_info.confidence < 0.5: + warnings.append(f"模板识别置信度较低 ({template_info.confidence:.1%})") + + # 检查必需字段缺失 + missing_fields = self._check_missing_required_fields(template_info, params) + if missing_fields: + warnings.append(f"缺少必需字段: {', '.join(missing_fields)}") + + return { + 'warnings': warnings, + 'risk_level': risk_level + } + + def _check_missing_required_fields(self, template_info: TemplateInfo, params: ExtractedParameters) -> List[str]: + """检查缺失的必需字段""" + missing_fields = [] + + for field in template_info.required_fields: + if not getattr(params, field, None): + missing_fields.append(field) + + return missing_fields + + def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict[str, Any]: + """获取模板示例""" + examples = { + PersonalSignTemplateType.LOGIN: { + 'description': '登录验证消息示例', + 'examples': [ + { + 'message': 'Sign in to example.com\nNonce: abc123\nTimestamp: 1640995200', + 'expected_params': ['domain', 'nonce', 'timestamp'] + }, + { + 'message': '{"domain":"app.example.com","nonce":"xyz789","action":"login"}', + 'expected_params': ['domain', 'nonce'] + } + ] + }, + PersonalSignTemplateType.BINDING: { + 'description': '绑定验证消息示例', + 'examples': [ + { + 'message': 'Bind email: user@example.com\nCode: 123456', + 'expected_params': ['binding_target', 'verification_code'] + }, + { + 'message': '绑定手机号码: +1234567890\n验证码: 456789', + 'expected_params': ['binding_target', 'verification_code'] + } + ] + }, + PersonalSignTemplateType.AUTHORIZATION: { + 'description': '授权确认消息示例', + 'examples': [ + { + 'message': 'Authorize access to: user profile\nPermissions: read, write', + 'expected_params': ['resource', 'permissions'] + }, + { + 'message': '授权访问资源: 用户数据\n权限: 读取', + 'expected_params': ['resource', 'permissions'] + } + ] + }, + PersonalSignTemplateType.VERIFICATION: { + 'description': '身份验证消息示例', + 'examples': [ + { + 'message': 'Verify ownership of this wallet\nChallenge: random_challenge_123', + 'expected_params': ['challenge'] + }, + { + 'message': '验证钱包所有权\n挑战码: challenge_xyz_789', + 'expected_params': ['challenge'] + } + ] + } + } + + return examples.get(template_type, { + 'description': '未知模板类型', + 'examples': [] + }) + + def validate_message(self, parsed_message: PersonalSignMessage) -> Dict[str, Any]: + """验证解析后的消息""" + validation_result = { + 'is_valid': True, + 'errors': [], + 'warnings': [], + 'suggestions': [] + } + + template_info = parsed_message.template_info + params = parsed_message.extracted_parameters + + # 检查必需字段 + missing_fields = self._check_missing_required_fields(template_info, params) + if missing_fields: + validation_result['is_valid'] = False + validation_result['errors'].append(f"缺少必需字段: {', '.join(missing_fields)}") + + # 检查模板置信度 + if template_info.confidence < 0.5: + validation_result['warnings'].append("模板识别置信度较低") + validation_result['suggestions'].append("建议人工验证消息类型") + + # 检查安全风险 + if parsed_message.risk_level == "high": + validation_result['warnings'].append("检测到高安全风险") + validation_result['suggestions'].append("建议仔细审查消息内容") + + return validation_result \ No newline at end of file diff --git a/personal_sign_parser/template_detector.py b/personal_sign_parser/template_detector.py new file mode 100644 index 0000000..0277f2a --- /dev/null +++ b/personal_sign_parser/template_detector.py @@ -0,0 +1,329 @@ +""" +PersonalSign 模板识别器 +用于识别 personal_sign 消息的模板类型(登录、绑定、签名授权等) +""" + +import re +from typing import Dict, List, Optional, Tuple +from .models import ( + PersonalSignTemplateType, + TemplateInfo, + TemplateKeywords, + ExtractedParameters +) + + +class TemplateDetector: + """模板识别器""" + + def __init__(self): + self.template_rules = self._build_template_rules() + + def detect(self, message: str, extracted_params: Optional[ExtractedParameters] = None) -> TemplateInfo: + """ + 检测消息的模板类型 + + Args: + message: 要检测的消息 + extracted_params: 已提取的参数(可选) + + Returns: + 模板信息 + """ + message_lower = message.lower() + best_match = None + best_score = 0.0 + best_patterns = [] + + # 对每个模板进行评分 + for template_type, rules in self.template_rules.items(): + score, matched_patterns = self._calculate_template_score(message_lower, rules, extracted_params) + + if score > best_score: + best_score = score + best_match = template_type + best_patterns = matched_patterns + + # 如果没有匹配到任何模板,设为 UNKNOWN + if best_match is None or best_score < 0.3: + best_match = PersonalSignTemplateType.UNKNOWN + best_score = 0.0 + best_patterns = [] + + # 生成模板描述 + description = self._generate_template_description(best_match, best_score) + + # 确定安全级别 + security_level = self._determine_security_level(best_match, message_lower) + + return TemplateInfo( + template_type=best_match, + confidence=best_score, + matched_patterns=best_patterns, + description=description, + required_fields=self._get_required_fields(best_match), + optional_fields=self._get_optional_fields(best_match), + security_level=security_level + ) + + def _build_template_rules(self) -> Dict[PersonalSignTemplateType, Dict]: + """构建模板识别规则""" + return { + PersonalSignTemplateType.LOGIN: { + 'keywords': TemplateKeywords.LOGIN, + 'weight': 1.0, + 'patterns': [ + r'sign\s*in', + r'log\s*in', + r'login', + r'登录', + r'身份验证', + r'authenticate', + r'welcome.*to', + r'欢迎.*登录' + ], + 'required_indicators': ['session', 'auth', 'login', 'signin'], + 'boost_fields': ['session_id', 'user_id', 'domain'], + 'penalty_fields': ['transfer', 'approve', 'spend'] + }, + + PersonalSignTemplateType.BINDING: { + 'keywords': TemplateKeywords.BINDING, + 'weight': 1.0, + 'patterns': [ + r'bind', + r'绑定', + r'link.*account', + r'connect.*to', + r'verify.*account', + r'confirm.*email', + r'confirm.*phone', + r'关联.*账户' + ], + 'required_indicators': ['bind', 'link', 'connect', 'verify'], + 'boost_fields': ['binding_target', 'binding_type', 'email', 'phone'], + 'penalty_fields': ['transfer', 'spend', 'withdraw'] + }, + + PersonalSignTemplateType.AUTHORIZATION: { + 'keywords': TemplateKeywords.AUTHORIZATION, + 'weight': 1.2, # 更高权重,因为安全敏感 + 'patterns': [ + r'authorize', + r'授权', + r'permission', + r'权限', + r'grant.*access', + r'approve.*to', + r'delegate', + r'委托', + r'允许.*访问' + ], + 'required_indicators': ['auth', 'permission', 'grant', 'approve', 'delegate'], + 'boost_fields': ['permissions', 'resource', 'action'], + 'penalty_fields': [] + }, + + PersonalSignTemplateType.VERIFICATION: { + 'keywords': TemplateKeywords.VERIFICATION, + 'weight': 0.9, + 'patterns': [ + r'verify', + r'验证', + r'confirm', + r'确认', + r'validate', + r'check.*identity', + r'prove.*ownership', + r'challenge' + ], + 'required_indicators': ['verify', 'confirm', 'validate', 'prove'], + 'boost_fields': ['challenge', 'verification_code'], + 'penalty_fields': ['transfer', 'spend'] + } + } + + def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ExtractedParameters]) -> Tuple[float, List[str]]: + """计算模板匹配得分""" + score = 0.0 + matched_patterns = [] + + # 1. 关键词匹配 + keyword_matches = 0 + for keyword in rules['keywords']: + if keyword.lower() in message: + keyword_matches += 1 + matched_patterns.append(f"keyword:{keyword}") + + if keyword_matches > 0: + keyword_score = min(keyword_matches / len(rules['keywords']), 1.0) * 0.4 + score += keyword_score + + # 2. 正则模式匹配 + pattern_matches = 0 + for pattern in rules['patterns']: + if re.search(pattern, message, re.IGNORECASE): + pattern_matches += 1 + matched_patterns.append(f"pattern:{pattern}") + + if pattern_matches > 0: + pattern_score = min(pattern_matches / len(rules['patterns']), 1.0) * 0.4 + score += pattern_score + + # 3. 必需指示符检查 + required_found = 0 + for indicator in rules['required_indicators']: + if indicator in message: + required_found += 1 + matched_patterns.append(f"indicator:{indicator}") + + if required_found > 0: + required_score = min(required_found / len(rules['required_indicators']), 1.0) * 0.2 + score += required_score + + # 4. 参数字段加权 + if params: + boost_score = self._calculate_field_boost(params, rules.get('boost_fields', [])) + penalty_score = self._calculate_field_penalty(params, rules.get('penalty_fields', [])) + + score += boost_score + score -= penalty_score + + if boost_score > 0: + matched_patterns.append(f"field_boost:{boost_score:.2f}") + if penalty_score > 0: + matched_patterns.append(f"field_penalty:{penalty_score:.2f}") + + # 应用权重 + score *= rules.get('weight', 1.0) + + # 确保得分在 0-1 范围内 + score = max(0.0, min(1.0, score)) + + return score, matched_patterns + + def _calculate_field_boost(self, params: ExtractedParameters, boost_fields: List[str]) -> float: + """计算字段加权得分""" + boost = 0.0 + + for field in boost_fields: + value = getattr(params, field, None) + if value: + boost += 0.1 + + return min(boost, 0.3) # 最大加权 0.3 + + def _calculate_field_penalty(self, params: ExtractedParameters, penalty_fields: List[str]) -> float: + """计算字段惩罚得分""" + penalty = 0.0 + + # 检查自定义字段中是否包含惩罚关键词 + message_text = " ".join(params.custom_fields.values()).lower() + + for field in penalty_fields: + if field in message_text: + penalty += 0.2 + + return min(penalty, 0.5) # 最大惩罚 0.5 + + def _generate_template_description(self, template_type: PersonalSignTemplateType, confidence: float) -> str: + """生成模板描述""" + descriptions = { + PersonalSignTemplateType.LOGIN: "用户登录验证消息", + PersonalSignTemplateType.BINDING: "账户绑定验证消息", + PersonalSignTemplateType.AUTHORIZATION: "权限授权确认消息", + PersonalSignTemplateType.VERIFICATION: "身份验证确认消息", + PersonalSignTemplateType.CUSTOM_MESSAGE: "自定义消息", + PersonalSignTemplateType.UNKNOWN: "未知类型消息" + } + + base_desc = descriptions.get(template_type, "未知消息") + confidence_desc = f"(置信度: {confidence:.1%})" + + return f"{base_desc}{confidence_desc}" + + def _determine_security_level(self, template_type: PersonalSignTemplateType, message: str) -> str: + """确定安全级别""" + # 检查是否包含高风险关键词 + high_risk_keywords = ['transfer', 'send', 'withdraw', 'approve', 'spend', '转账', '发送', '提取', '批准'] + medium_risk_keywords = ['authorize', 'permission', 'grant', '授权', '权限', '允许'] + + has_high_risk = any(keyword in message for keyword in high_risk_keywords) + has_medium_risk = any(keyword in message for keyword in medium_risk_keywords) + + if has_high_risk: + return "high" + elif has_medium_risk or template_type == PersonalSignTemplateType.AUTHORIZATION: + return "high" + elif template_type in [PersonalSignTemplateType.LOGIN, PersonalSignTemplateType.BINDING]: + return "medium" + else: + return "low" + + def _get_required_fields(self, template_type: PersonalSignTemplateType) -> List[str]: + """获取模板必需字段""" + required_fields_map = { + PersonalSignTemplateType.LOGIN: ['domain', 'nonce'], + PersonalSignTemplateType.BINDING: ['binding_target', 'binding_type'], + PersonalSignTemplateType.AUTHORIZATION: ['permissions', 'resource'], + PersonalSignTemplateType.VERIFICATION: ['challenge'], + PersonalSignTemplateType.CUSTOM_MESSAGE: [], + PersonalSignTemplateType.UNKNOWN: [] + } + + return required_fields_map.get(template_type, []) + + def _get_optional_fields(self, template_type: PersonalSignTemplateType) -> List[str]: + """获取模板可选字段""" + optional_fields_map = { + PersonalSignTemplateType.LOGIN: ['session_id', 'user_id', 'timestamp', 'expires_at'], + PersonalSignTemplateType.BINDING: ['nonce', 'timestamp', 'expires_at'], + PersonalSignTemplateType.AUTHORIZATION: ['nonce', 'timestamp', 'expires_at', 'action'], + PersonalSignTemplateType.VERIFICATION: ['nonce', 'timestamp', 'verification_code'], + PersonalSignTemplateType.CUSTOM_MESSAGE: ['domain', 'nonce', 'timestamp'], + PersonalSignTemplateType.UNKNOWN: [] + } + + return optional_fields_map.get(template_type, []) + + def analyze_message_structure(self, message: str) -> Dict[str, any]: + """分析消息结构""" + return { + 'is_structured': self._is_structured_message(message), + 'format_type': self._detect_format_type(message), + 'has_timestamps': bool(re.search(r'\b\d{10,13}\b', message)), + 'has_urls': bool(re.search(r'https?://', message)), + 'has_json': self._looks_like_json(message), + 'line_count': len(message.split('\n')), + 'has_key_value_pairs': bool(re.search(r'\w+\s*[:=]\s*\w+', message)) + } + + def _is_structured_message(self, message: str) -> bool: + """判断是否为结构化消息""" + indicators = [ + ':' in message and '\n' in message, # 多行键值对 + message.strip().startswith('{') and message.strip().endswith('}'), # JSON + '=' in message and '&' in message, # 查询字符串 + re.search(r'\w+\s*:\s*\w+', message) # 键值对格式 + ] + + return any(indicators) + + def _detect_format_type(self, message: str) -> str: + """检测消息格式类型""" + if self._looks_like_json(message): + return 'json' + elif '=' in message and '&' in message: + return 'query_string' + elif ':' in message and '\n' in message: + return 'key_value' + elif message.startswith('0x'): + return 'hex' + else: + return 'plain_text' + + def _looks_like_json(self, message: str) -> bool: + """判断是否看起来像 JSON""" + message = message.strip() + return (message.startswith('{') and message.endswith('}')) or \ + (message.startswith('[') and message.endswith(']')) \ No newline at end of file diff --git a/personal_sign_parser/tests/__init__.py b/personal_sign_parser/tests/__init__.py new file mode 100644 index 0000000..031b55d --- /dev/null +++ b/personal_sign_parser/tests/__init__.py @@ -0,0 +1,5 @@ +""" +PersonalSign 解析器测试模块 +""" + +__version__ = "0.1.0" \ No newline at end of file diff --git a/personal_sign_parser/tests/extraction_test.py b/personal_sign_parser/tests/extraction_test.py new file mode 100644 index 0000000..2a0b558 --- /dev/null +++ b/personal_sign_parser/tests/extraction_test.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +""" +参数提取方法测试 +""" + +import sys +import os + +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from personal_sign_parser.parameter_extractor import ParameterExtractor + + +def test_extraction_methods(): + """测试不同的参数提取方法""" + extractor = ParameterExtractor() + + # 测试消息 + messages = [ + "Sign in to example.com\nNonce: abc123", + '{"domain":"app.com","nonce":"xyz789"}', + "domain=site.com&nonce=token123", + "Visit https://myapp.com and use nonce abc123" + ] + + for i, message in enumerate(messages, 1): + print(f"📝 测试 {i}: {message[:40]}...") + + # 详细提取过程 + cleaned = extractor._clean_message(message) + print(f" 清理后: {cleaned}") + + # JSON 解析 + json_data = extractor._try_parse_json(cleaned) + if json_data: + print(f" JSON解析: {json_data}") + + # 查询字符串解析 + query_data = extractor._try_parse_query_string(cleaned) + if query_data: + print(f" 查询字符串: {query_data}") + + # 最终提取结果 + params = extractor.extract(message) + print(f" 最终结果:") + print(f" 域名: {params.domain}") + print(f" 随机数: {params.nonce}") + print(f" 自定义字段: {params.custom_fields}") + print() + + +if __name__ == "__main__": + test_extraction_methods() \ No newline at end of file diff --git a/personal_sign_parser/tests/quick_example.py b/personal_sign_parser/tests/quick_example.py new file mode 100644 index 0000000..d49079d --- /dev/null +++ b/personal_sign_parser/tests/quick_example.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +""" +PersonalSign 解析器快速使用示例 +""" + +import sys +import os + +# 添加父目录到路径 +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from personal_sign_parser import PersonalSignParser + + +def quick_example(): + """快速使用示例""" + print("🚀 PersonalSign 解析器快速示例\n") + + # 创建解析器 + parser = PersonalSignParser() + + # 示例1: 登录消息 + print("📝 示例1: 登录消息") + login_message = """Sign in to example.com +Nonce: abc123 +Timestamp: 1640995200""" + + result = parser.parse(login_message) + print(f"✅ 模板类型: {result.template_info.template_type.value}") + print(f"✅ 置信度: {result.template_info.confidence:.1%}") + print(f"✅ 域名: {result.extracted_parameters.domain}") + print(f"✅ 随机数: {result.extracted_parameters.nonce}") + print(f"✅ 风险级别: {result.risk_level}") + + # 示例2: JSON格式绑定消息 + print("\n📝 示例2: JSON格式绑定消息") + binding_message = '{"type":"bind","email":"user@example.com","code":"123456"}' + + result = parser.parse(binding_message) + print(f"✅ 模板类型: {result.template_info.template_type.value}") + print(f"✅ 绑定目标: {result.extracted_parameters.binding_target}") + print(f"✅ 验证码: {result.extracted_parameters.verification_code}") + + # 示例3: 高风险授权消息 + print("\n📝 示例3: 高风险授权消息") + auth_message = """Authorize unlimited spending of your tokens +Amount: unlimited +Spender: 0x1234567890123456789012345678901234567890""" + + result = parser.parse(auth_message) + print(f"⚠️ 模板类型: {result.template_info.template_type.value}") + print(f"⚠️ 风险级别: {result.risk_level}") + print(f"⚠️ 安全警告: {result.security_warnings}") + + # 示例4: Hex编码消息 + print("\n📝 示例4: Hex编码消息") + hex_message = "0x48656c6c6f20576f726c6421" # "Hello World!" + + result = parser.parse(hex_message) + print(f"✅ 是否为Hex: {result.is_hex}") + print(f"✅ 模板类型: {result.template_info.template_type.value}") + + + +if __name__ == "__main__": + quick_example() \ No newline at end of file diff --git a/personal_sign_parser/tests/test_data.py b/personal_sign_parser/tests/test_data.py new file mode 100644 index 0000000..145b14f --- /dev/null +++ b/personal_sign_parser/tests/test_data.py @@ -0,0 +1,269 @@ +""" +PersonalSign 解析器测试数据 +包含各种类型的 PersonalSign 消息示例 +""" + +from typing import Dict, List, Any + +# 登录类型消息示例 +LOGIN_MESSAGES = [ + { + "message": "Sign in to example.com\nNonce: abc123\nTimestamp: 1640995200", + "expected_template": "login", + "expected_params": { + "domain": "example.com", + "nonce": "abc123", + "timestamp": "1640995200" + } + }, + { + "message": '{"domain":"app.example.com","nonce":"xyz789","action":"login","session_id":"sess_123"}', + "expected_template": "login", + "expected_params": { + "domain": "app.example.com", + "nonce": "xyz789", + "session_id": "sess_123" + } + }, + { + "message": "欢迎登录 MyApp\n域名: myapp.com\n随机数: random123\n用户ID: user456", + "expected_template": "login", + "expected_params": { + "domain": "myapp.com", + "nonce": "random123", + "user_id": "user456" + } + }, + { + "message": "Welcome to DeFi Protocol\nPlease sign in to continue\nWallet: 0x1234567890123456789012345678901234567890\nNonce: auth_token_xyz", + "expected_template": "login", + "expected_params": { + "address": "0x1234567890123456789012345678901234567890", + "nonce": "auth_token_xyz" + } + } +] + +# 绑定类型消息示例 +BINDING_MESSAGES = [ + { + "message": "Bind email: user@example.com\nCode: 123456", + "expected_template": "binding", + "expected_params": { + "binding_target": "user@example.com", + "binding_type": "email", + "verification_code": "123456" + } + }, + { + "message": "绑定手机号码: +1234567890\n验证码: 456789\n过期时间: 1640995800", + "expected_template": "binding", + "expected_params": { + "binding_target": "+1234567890", + "binding_type": "phone", + "verification_code": "456789", + "expires_at": "1640995800" + } + }, + { + "message": '{"type":"bind","email":"test@domain.com","nonce":"bind_123","timestamp":"1640995200"}', + "expected_template": "binding", + "expected_params": { + "binding_target": "test@domain.com", + "binding_type": "email", + "nonce": "bind_123", + "timestamp": "1640995200" + } + }, + { + "message": "Link your account\nConnect to: social_platform\nUser: @username123", + "expected_template": "binding", + "expected_params": { + "binding_target": "@username123", + "binding_type": None + } + } +] + +# 授权类型消息示例 +AUTHORIZATION_MESSAGES = [ + { + "message": "Authorize access to: user profile\nPermissions: read, write\nResource: /api/user", + "expected_template": "authorization", + "expected_params": { + "resource": "/api/user", + "permissions": ["read", "write"] + } + }, + { + "message": "授权访问资源: 用户数据\n权限: 读取\n操作: get_profile\n时间戳: 1640995200", + "expected_template": "authorization", + "expected_params": { + "resource": "用户数据", + "permissions": ["读取"], + "action": "get_profile", + "timestamp": "1640995200" + } + }, + { + "message": '{"action":"authorize","permissions":["transfer","approve"],"resource":"0x1234567890123456789012345678901234567890","nonce":"auth_456"}', + "expected_template": "authorization", + "expected_params": { + "permissions": ["transfer", "approve"], + "resource": "0x1234567890123456789012345678901234567890", + "action": "authorize", + "nonce": "auth_456" + } + } +] + +# 验证类型消息示例 +VERIFICATION_MESSAGES = [ + { + "message": "Verify ownership of this wallet\nChallenge: random_challenge_123\nAddress: 0x1234567890123456789012345678901234567890", + "expected_template": "verification", + "expected_params": { + "challenge": "random_challenge_123", + "address": "0x1234567890123456789012345678901234567890" + } + }, + { + "message": "验证钱包所有权\n挑战码: challenge_xyz_789\n时间戳: 1640995200", + "expected_template": "verification", + "expected_params": { + "challenge": "challenge_xyz_789", + "timestamp": "1640995200" + } + }, + { + "message": '{"action":"verify","challenge":"proof_123","nonce":"verify_456","domain":"verify.example.com"}', + "expected_template": "verification", + "expected_params": { + "challenge": "proof_123", + "nonce": "verify_456", + "domain": "verify.example.com" + } + } +] + +# 自定义消息示例 +CUSTOM_MESSAGES = [ + { + "message": "Hello World!\nThis is a custom message.", + "expected_template": "custom_message", + "expected_params": {} + }, + { + "message": "Random text with some data\nKey: value\nAnother: field", + "expected_template": "custom_message", + "expected_params": { + "custom_fields": {"key": "value", "another": "field"} + } + } +] + +# 高风险消息示例(包含敏感关键词) +HIGH_RISK_MESSAGES = [ + { + "message": "Transfer 100 ETH to address 0x1234567890123456789012345678901234567890\nApprove this transaction", + "expected_template": "unknown", + "risk_level": "high", + "should_have_warnings": True + }, + { + "message": "Authorize spending of your tokens\nAmount: unlimited\nSpender: 0x1234567890123456789012345678901234567890", + "expected_template": "authorization", + "risk_level": "high", + "should_have_warnings": True + }, + { + "message": "Withdraw all funds from your wallet\nDestination: 0x1234567890123456789012345678901234567890", + "expected_template": "unknown", + "risk_level": "high", + "should_have_warnings": True + } +] + +# Hex 编码消息示例 +HEX_MESSAGES = [ + { + "message": "0x48656c6c6f20576f726c6421", # "Hello World!" 的 hex 编码 + "expected_decoded": "Hello World!", + "expected_template": "custom_message" + }, + { + "message": "0x7b22646f6d61696e223a226578616d706c652e636f6d222c226e6f6e6365223a22616263313233227d", # JSON 的 hex 编码 + "expected_decoded": '{"domain":"example.com","nonce":"abc123"}', + "expected_template": "login" + } +] + +# 结构化消息示例 +STRUCTURED_MESSAGES = [ + { + "message": "domain: example.com\nnonce: abc123\ntimestamp: 1640995200\naction: login", + "format_type": "key_value", + "expected_template": "login" + }, + { + "message": "domain=example.com&nonce=abc123&action=login&session_id=sess_123", + "format_type": "query_string", + "expected_template": "login" + } +] + +# 多语言消息示例 +MULTILINGUAL_MESSAGES = [ + { + "message": "登录到 example.com\n随机数: abc123\n时间戳: 1640995200", + "language": "chinese", + "expected_template": "login" + }, + { + "message": "example.comにログイン\nノンス: abc123\nタイムスタンプ: 1640995200", + "language": "japanese", + "expected_template": "login" + }, + { + "message": "example.com에 로그인\n논스: abc123\n타임스탬프: 1640995200", + "language": "korean", + "expected_template": "login" + } +] + +# 所有测试数据 +ALL_TEST_DATA = { + "login": LOGIN_MESSAGES, + "binding": BINDING_MESSAGES, + "authorization": AUTHORIZATION_MESSAGES, + "verification": VERIFICATION_MESSAGES, + "custom": CUSTOM_MESSAGES, + "high_risk": HIGH_RISK_MESSAGES, + "hex_encoded": HEX_MESSAGES, + "structured": STRUCTURED_MESSAGES, + "multilingual": MULTILINGUAL_MESSAGES +} + + +def get_test_data(category: str = None) -> Dict[str, List[Dict[str, Any]]]: + """ + 获取测试数据 + + Args: + category: 数据类别,如果不指定则返回所有数据 + + Returns: + 测试数据字典 + """ + if category: + return {category: ALL_TEST_DATA.get(category, [])} + return ALL_TEST_DATA + + +def get_sample_messages() -> List[str]: + """获取所有示例消息文本""" + messages = [] + for category_data in ALL_TEST_DATA.values(): + for item in category_data: + messages.append(item["message"]) + return messages \ No newline at end of file diff --git a/personal_sign_parser/tests/test_parser.py b/personal_sign_parser/tests/test_parser.py new file mode 100644 index 0000000..eb4f285 --- /dev/null +++ b/personal_sign_parser/tests/test_parser.py @@ -0,0 +1,219 @@ +""" +PersonalSign 解析器测试 +""" + +import sys +import os + +# 添加父目录到路径,以便导入模块 +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from personal_sign_parser import PersonalSignParser, PersonalSignTemplateType +from personal_sign_parser.tests.test_data import get_test_data + + +def test_login_messages(): + """测试登录消息解析""" + parser = PersonalSignParser() + test_data = get_test_data("login") + + print("🧪 测试登录消息解析...") + + for i, item in enumerate(test_data["login"]): + message = item["message"] + expected_template = item["expected_template"] + expected_params = item["expected_params"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"消息: {message[:50]}...") + + # 解析消息 + result = parser.parse(message) + + # 检查模板类型 + detected_template = result.template_info.template_type.value + print(f"期望模板: {expected_template}") + print(f"检测模板: {detected_template}") + print(f"置信度: {result.template_info.confidence:.1%}") + + # 检查参数提取 + print("提取的参数:") + for key, expected_value in expected_params.items(): + actual_value = getattr(result.extracted_parameters, key, None) + print(f" {key}: {actual_value} (期望: {expected_value})") + + # 安全分析 + print(f"风险级别: {result.risk_level}") + if result.security_warnings: + print(f"安全警告: {result.security_warnings}") + + print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + + +def test_binding_messages(): + """测试绑定消息解析""" + parser = PersonalSignParser() + test_data = get_test_data("binding") + + print("\n🧪 测试绑定消息解析...") + + for i, item in enumerate(test_data["binding"]): + message = item["message"] + expected_template = item["expected_template"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"消息: {message[:50]}...") + + result = parser.parse(message) + detected_template = result.template_info.template_type.value + + print(f"期望模板: {expected_template}") + print(f"检测模板: {detected_template}") + print(f"置信度: {result.template_info.confidence:.1%}") + + # 检查绑定相关参数 + if result.extracted_parameters.binding_target: + print(f"绑定目标: {result.extracted_parameters.binding_target}") + if result.extracted_parameters.binding_type: + print(f"绑定类型: {result.extracted_parameters.binding_type}") + if result.extracted_parameters.verification_code: + print(f"验证码: {result.extracted_parameters.verification_code}") + + print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + + +def test_authorization_messages(): + """测试授权消息解析""" + parser = PersonalSignParser() + test_data = get_test_data("authorization") + + print("\n🧪 测试授权消息解析...") + + for i, item in enumerate(test_data["authorization"]): + message = item["message"] + expected_template = item["expected_template"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"消息: {message[:50]}...") + + result = parser.parse(message) + detected_template = result.template_info.template_type.value + + print(f"期望模板: {expected_template}") + print(f"检测模板: {detected_template}") + print(f"置信度: {result.template_info.confidence:.1%}") + print(f"安全级别: {result.template_info.security_level}") + + # 检查授权相关参数 + if result.extracted_parameters.permissions: + print(f"权限: {result.extracted_parameters.permissions}") + if result.extracted_parameters.resource: + print(f"资源: {result.extracted_parameters.resource}") + if result.extracted_parameters.action: + print(f"操作: {result.extracted_parameters.action}") + + print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + + +def test_high_risk_messages(): + """测试高风险消息检测""" + parser = PersonalSignParser() + test_data = get_test_data("high_risk") + + print("\n🧪 测试高风险消息检测...") + + for i, item in enumerate(test_data["high_risk"]): + message = item["message"] + expected_risk = item["risk_level"] + should_have_warnings = item["should_have_warnings"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"消息: {message[:50]}...") + + result = parser.parse(message) + + print(f"期望风险级别: {expected_risk}") + print(f"检测风险级别: {result.risk_level}") + print(f"安全警告: {result.security_warnings}") + + risk_correct = result.risk_level == expected_risk + warnings_correct = bool(result.security_warnings) == should_have_warnings + + print("✅ 风险级别正确" if risk_correct else "❌ 风险级别错误") + print("✅ 警告检测正确" if warnings_correct else "❌ 警告检测错误") + + +def test_hex_messages(): + """测试 Hex 编码消息解析""" + parser = PersonalSignParser() + test_data = get_test_data("hex_encoded") + + print("\n🧪 测试 Hex 编码消息解析...") + + for i, item in enumerate(test_data["hex_encoded"]): + message = item["message"] + expected_decoded = item["expected_decoded"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"Hex 消息: {message}") + print(f"期望解码: {expected_decoded}") + + result = parser.parse(message) + + print(f"检测为 Hex: {result.is_hex}") + print(f"模板类型: {result.template_info.template_type.value}") + print(f"消息长度: {result.message_length}") + + print("✅ 测试通过") + + +def test_multilingual_messages(): + """测试多语言消息解析""" + parser = PersonalSignParser() + test_data = get_test_data("multilingual") + + print("\n🧪 测试多语言消息解析...") + + for i, item in enumerate(test_data["multilingual"]): + message = item["message"] + expected_language = item["language"] + expected_template = item["expected_template"] + + print(f"\n📝 测试用例 {i+1}:") + print(f"消息: {message}") + print(f"期望语言: {expected_language}") + + result = parser.parse(message) + + print(f"检测语言: {result.language}") + print(f"模板类型: {result.template_info.template_type.value}") + + language_correct = result.language == expected_language + template_correct = result.template_info.template_type.value == expected_template + + print("✅ 语言检测正确" if language_correct else "❌ 语言检测错误") + print("✅ 模板检测正确" if template_correct else "❌ 模板检测错误") + + +def run_all_tests(): + """运行所有测试""" + print("🚀 开始运行 PersonalSign 解析器测试...\n") + + try: + test_login_messages() + test_binding_messages() + test_authorization_messages() + test_high_risk_messages() + test_hex_messages() + test_multilingual_messages() + + print("\n🎉 所有测试完成!") + + except Exception as e: + print(f"\n❌ 测试过程中发生错误: {e}") + import traceback + traceback.print_exc() + + +if __name__ == "__main__": + run_all_tests() \ No newline at end of file diff --git a/signature_classification/__init__.py b/signature_classification/__init__.py new file mode 100644 index 0000000..8cdc0f6 --- /dev/null +++ b/signature_classification/__init__.py @@ -0,0 +1,19 @@ +""" +签名类型识别与分级模块 + +提供以太坊签名类型的自动识别、分级和风险评估功能 +""" + +from .signature_types import SignatureType, SignatureCategory, SecurityLevel +from .signature_classifier import SignatureClassifier +from .risk_analyzer import RiskAnalyzer +from .signature_validator import SignatureValidator + +__all__ = [ + 'SignatureType', + 'SignatureCategory', + 'SecurityLevel', + 'SignatureClassifier', + 'RiskAnalyzer', + 'SignatureValidator' +] \ No newline at end of file diff --git a/signature_classification/__pycache__/__init__.cpython-39.pyc b/signature_classification/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0cdb563adc6f92bb0d569715270cce11083a161 GIT binary patch literal 649 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 A-T(jq literal 0 HcmV?d00001 diff --git a/signature_classification/__pycache__/signature_classifier.cpython-39.pyc b/signature_classification/__pycache__/signature_classifier.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b25b38aa68058db1198f61cc67fd738bdb9d7306 GIT binary patch literal 9605 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 literal 0 HcmV?d00001 diff --git a/signature_classification/risk_analyzer.py b/signature_classification/risk_analyzer.py new file mode 100644 index 0000000..9d189e1 --- /dev/null +++ b/signature_classification/risk_analyzer.py @@ -0,0 +1,419 @@ +""" +风险分析器 - 评估签名安全风险 +""" + +from typing import Dict, List, Any, Union, Optional +from dataclasses import dataclass +from enum import Enum + +from .signature_types import SignatureType, SecurityLevel + + +class RiskCategory(str, Enum): + """风险类别""" + FINANCIAL = "financial" # 财务风险 + PRIVACY = "privacy" # 隐私风险 + PHISHING = "phishing" # 钓鱼风险 + TECHNICAL = "technical" # 技术风险 + + +@dataclass +class RiskFactor: + """风险因子""" + category: RiskCategory + level: SecurityLevel + description: str + impact: str + mitigation: str + + +@dataclass +class RiskAssessment: + """风险评估结果""" + overall_risk: SecurityLevel + risk_score: float # 0-100 + risk_factors: List[RiskFactor] + recommendations: List[str] + should_proceed: bool + warnings: List[str] + + +class RiskAnalyzer: + """风险分析器""" + + def __init__(self): + """初始化风险分析器""" + self._init_risk_rules() + + def _init_risk_rules(self): + """初始化风险规则""" + + # 钓鱼关键词 + self.phishing_keywords = { + "urgent": ["urgent", "urgently", "immediately", "asap", "紧急", "立即", "马上"], + "time_pressure": ["expires", "deadline", "limited time", "act now", "过期", "截止", "限时"], + "authority": ["verify", "confirm", "validate", "verification required", "验证", "确认", "需要验证"], + "reward": ["claim", "reward", "bonus", "prize", "free", "领取", "奖励", "免费"], + "threat": ["suspend", "block", "disable", "freeze", "暂停", "冻结", "禁用"] + } + + # 高风险合约地址模式(示例) + self.high_risk_patterns = { + "known_scam_contracts": [], # 可以添加已知诈骗合约地址 + "suspicious_domains": ["bit.ly", "tinyurl.com", "t.co"] # 短链接域名 + } + + # 财务风险阈值 + self.financial_thresholds = { + "high_value_eth": 1000000000000000000, # 1 ETH in wei + "high_value_usd": 1000 # $1000 USD + } + + def analyze_risk(self, + signature_type: SignatureType, + data: Union[str, Dict[str, Any]], + context: Optional[Dict[str, Any]] = None) -> RiskAssessment: + """ + 分析签名风险 + + Args: + signature_type: 签名类型 + data: 签名数据 + context: 上下文信息(可选) + + Returns: + 风险评估结果 + """ + risk_factors = [] + warnings = [] + + # 基于签名类型的基础风险评估 + base_risks = self._assess_base_risks(signature_type) + risk_factors.extend(base_risks) + + # 数据内容风险分析 + content_risks = self._analyze_content_risks(signature_type, data) + risk_factors.extend(content_risks) + + # 钓鱼风险检测 + phishing_risks = self._detect_phishing_risks(data) + risk_factors.extend(phishing_risks) + + # 技术风险评估 + technical_risks = self._assess_technical_risks(signature_type, data) + risk_factors.extend(technical_risks) + + # 上下文风险分析 + if context: + context_risks = self._analyze_context_risks(context) + risk_factors.extend(context_risks) + + # 计算总体风险 + overall_risk, risk_score = self._calculate_overall_risk(risk_factors) + + # 生成建议 + recommendations = self._generate_recommendations(signature_type, risk_factors, overall_risk) + + # 判断是否应该继续 + should_proceed = self._should_proceed(overall_risk, risk_score) + + return RiskAssessment( + overall_risk=overall_risk, + risk_score=risk_score, + risk_factors=risk_factors, + recommendations=recommendations, + should_proceed=should_proceed, + warnings=warnings + ) + + def _assess_base_risks(self, signature_type: SignatureType) -> List[RiskFactor]: + """基于签名类型的基础风险评估""" + risks = [] + + if signature_type == SignatureType.ETH_SEND_TRANSACTION: + risks.append(RiskFactor( + category=RiskCategory.FINANCIAL, + level=SecurityLevel.HIGH_RISK, + description="链上交易将直接消耗Gas费用并可能转移资产", + impact="可能导致资产损失和不可逆的状态变更", + mitigation="仔细检查交易详情,确认接收地址和金额" + )) + + elif signature_type == SignatureType.ETH_SIGN: + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.HIGH_RISK, + description="eth_sign方法存在严重安全漏洞", + impact="可能被恶意利用签署任意数据", + mitigation="避免使用支持eth_sign的钱包,建议升级到现代钱包" + )) + + elif signature_type == SignatureType.PERSONAL_SIGN: + risks.append(RiskFactor( + category=RiskCategory.PHISHING, + level=SecurityLevel.MEDIUM_RISK, + description="个人签名常被钓鱼网站滥用", + impact="可能泄露身份信息或被用于恶意授权", + mitigation="确认网站真实性,避免在可疑网站上签名" + )) + + elif signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.MEDIUM_RISK, + description="结构化签名可能包含复杂的授权逻辑", + impact="可能授予第三方超出预期的权限", + mitigation="仔细阅读签名内容,特别注意授权范围和有效期" + )) + + return risks + + def _analyze_content_risks(self, signature_type: SignatureType, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: + """分析数据内容风险""" + risks = [] + + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4 and isinstance(data, dict): + # 检查EIP-712数据的风险 + message = data.get("message", {}) + + # 检查授权金额 + if isinstance(message, dict): + for key, value in message.items(): + if key.lower() in ["amount", "value"] and isinstance(value, (str, int)): + try: + amount = int(value) if isinstance(value, int) else int(value, 16 if value.startswith("0x") else 10) + if amount > self.financial_thresholds["high_value_eth"]: + risks.append(RiskFactor( + category=RiskCategory.FINANCIAL, + level=SecurityLevel.HIGH_RISK, + description=f"检测到高额授权金额: {amount}", + impact="可能导致大额资产损失", + mitigation="确认授权金额是否合理" + )) + except (ValueError, TypeError): + pass + + # 检查时间相关风险 + time_fields = ["endTime", "deadline", "expiry", "validUntil"] + for field in time_fields: + if field in message: + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.LOW_RISK, + description=f"签名包含时效限制: {field}", + impact="可能面临时间窗口攻击", + mitigation="注意签名的有效期限制" + )) + + return risks + + def _detect_phishing_risks(self, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: + """检测钓鱼风险""" + risks = [] + + # 将数据转换为文本进行关键词检测 + text_data = str(data).lower() + + # 检查钓鱼关键词 + for category, keywords in self.phishing_keywords.items(): + for keyword in keywords: + if keyword in text_data: + risks.append(RiskFactor( + category=RiskCategory.PHISHING, + level=SecurityLevel.HIGH_RISK, + description=f"检测到钓鱼相关关键词: '{keyword}' (类别: {category})", + impact="可能是钓鱼攻击尝试", + mitigation="仔细核实网站真实性,避免在可疑环境中签名" + )) + + return risks + + def _assess_technical_risks(self, signature_type: SignatureType, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: + """评估技术风险""" + risks = [] + + # 检查数据复杂度 + if isinstance(data, dict): + depth = self._calculate_dict_depth(data) + if depth > 3: + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.MEDIUM_RISK, + description=f"数据结构复杂度较高 (嵌套层级: {depth})", + impact="复杂结构可能隐藏恶意内容", + mitigation="仔细检查每个字段的含义" + )) + + # 检查数据大小 + data_size = len(str(data)) + if data_size > 10000: # 10KB + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.LOW_RISK, + description=f"数据量较大 ({data_size} 字符)", + impact="大量数据可能影响审查效率", + mitigation="确保有足够时间审查所有内容" + )) + + return risks + + def _analyze_context_risks(self, context: Dict[str, Any]) -> List[RiskFactor]: + """分析上下文风险""" + risks = [] + + # 检查来源域名 + origin = context.get("origin", "") + if origin: + for suspicious_domain in self.high_risk_patterns["suspicious_domains"]: + if suspicious_domain in origin: + risks.append(RiskFactor( + category=RiskCategory.PHISHING, + level=SecurityLevel.HIGH_RISK, + description=f"来源域名可疑: {origin}", + impact="可能来自钓鱼网站", + mitigation="验证网站的真实性" + )) + + # 检查用户代理 + user_agent = context.get("userAgent", "") + if user_agent and "bot" in user_agent.lower(): + risks.append(RiskFactor( + category=RiskCategory.TECHNICAL, + level=SecurityLevel.MEDIUM_RISK, + description="检测到自动化请求", + impact="可能是脚本攻击", + mitigation="确认操作是否为用户主动发起" + )) + + return risks + + def _calculate_dict_depth(self, d: Dict[str, Any], depth: int = 0) -> int: + """计算字典嵌套深度""" + if not isinstance(d, dict): + return depth + + max_depth = depth + for value in d.values(): + if isinstance(value, dict): + max_depth = max(max_depth, self._calculate_dict_depth(value, depth + 1)) + + return max_depth + + def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[SecurityLevel, float]: + """计算总体风险级别和分数""" + if not risk_factors: + return SecurityLevel.MINIMAL_RISK, 0.0 + + # 风险级别权重 + risk_weights = { + SecurityLevel.HIGH_RISK: 80, + SecurityLevel.MEDIUM_RISK: 50, + SecurityLevel.LOW_RISK: 20, + SecurityLevel.MINIMAL_RISK: 5 + } + + # 计算风险分数 + total_score = 0 + max_risk_level = SecurityLevel.MINIMAL_RISK + + for factor in risk_factors: + score = risk_weights.get(factor.level, 0) + total_score += score + + # 更新最高风险级别 + if factor.level == SecurityLevel.HIGH_RISK: + max_risk_level = SecurityLevel.HIGH_RISK + elif factor.level == SecurityLevel.MEDIUM_RISK and max_risk_level != SecurityLevel.HIGH_RISK: + max_risk_level = SecurityLevel.MEDIUM_RISK + elif factor.level == SecurityLevel.LOW_RISK and max_risk_level == SecurityLevel.MINIMAL_RISK: + max_risk_level = SecurityLevel.LOW_RISK + + # 归一化分数到0-100 + normalized_score = min(100, total_score) + + # 根据分数调整风险级别 + if normalized_score >= 80: + overall_risk = SecurityLevel.HIGH_RISK + elif normalized_score >= 50: + overall_risk = SecurityLevel.MEDIUM_RISK + elif normalized_score >= 20: + overall_risk = SecurityLevel.LOW_RISK + else: + overall_risk = SecurityLevel.MINIMAL_RISK + + return overall_risk, normalized_score + + def _generate_recommendations(self, signature_type: SignatureType, risk_factors: List[RiskFactor], overall_risk: SecurityLevel) -> List[str]: + """生成安全建议""" + recommendations = [] + + # 基于整体风险级别的建议 + if overall_risk == SecurityLevel.HIGH_RISK: + recommendations.append("🚨 建议暂停操作,仔细评估风险后再决定是否继续") + recommendations.append("🔍 建议寻求专业人士的意见") + elif overall_risk == SecurityLevel.MEDIUM_RISK: + recommendations.append("⚠️ 请谨慎操作,确认所有细节无误后再继续") + recommendations.append("🔍 建议在测试环境中先行验证") + + # 基于签名类型的建议 + if signature_type == SignatureType.ETH_SEND_TRANSACTION: + recommendations.append("💰 仔细检查交易金额和接收地址") + recommendations.append("⛽ 注意Gas费用设置是否合理") + elif signature_type == SignatureType.ETH_SIGN: + recommendations.append("🚫 强烈建议避免使用eth_sign方法") + recommendations.append("🔄 考虑使用更安全的签名方法") + elif signature_type == SignatureType.PERSONAL_SIGN: + recommendations.append("🌐 确认网站域名和SSL证书") + recommendations.append("👁️ 仔细阅读要签名的消息内容") + elif signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + recommendations.append("📋 仔细检查结构化数据的每个字段") + recommendations.append("⏰ 注意签名的有效期和授权范围") + + # 基于具体风险因子的建议 + risk_categories = {factor.category for factor in risk_factors} + + if RiskCategory.PHISHING in risk_categories: + recommendations.append("🎣 检测到钓鱼风险,请验证网站真实性") + + if RiskCategory.FINANCIAL in risk_categories: + recommendations.append("💸 涉及财务操作,请确认金额和授权范围") + + # 去重并限制数量 + recommendations = list(dict.fromkeys(recommendations)) # 去重 + return recommendations[:8] # 限制最多8条建议 + + def _should_proceed(self, overall_risk: SecurityLevel, risk_score: float) -> bool: + """判断是否应该继续操作""" + + # 高风险情况下不建议继续 + if overall_risk == SecurityLevel.HIGH_RISK: + return False + + # 中等风险情况下需要用户仔细考虑 + if overall_risk == SecurityLevel.MEDIUM_RISK and risk_score > 70: + return False + + return True + + def get_risk_summary(self, risk_assessment: RiskAssessment) -> str: + """获取风险摘要""" + + risk_level_emoji = { + SecurityLevel.HIGH_RISK: "🔴", + SecurityLevel.MEDIUM_RISK: "🟡", + SecurityLevel.LOW_RISK: "🟢", + SecurityLevel.MINIMAL_RISK: "🟢" + } + + emoji = risk_level_emoji.get(risk_assessment.overall_risk, "⚪") + + summary = f"{emoji} 风险级别: {risk_assessment.overall_risk}\n" + summary += f"风险评分: {risk_assessment.risk_score:.1f}/100\n" + summary += f"风险因子数量: {len(risk_assessment.risk_factors)}\n" + + if not risk_assessment.should_proceed: + summary += "⚠️ 不建议继续操作" + else: + summary += "✅ 可以谨慎继续" + + return summary \ No newline at end of file diff --git a/signature_classification/signature_classifier.py b/signature_classification/signature_classifier.py new file mode 100644 index 0000000..e3a9a79 --- /dev/null +++ b/signature_classification/signature_classifier.py @@ -0,0 +1,366 @@ +""" +签名分类器 - 核心签名识别引擎 +""" + +import json +import re +from typing import Dict, Any, Union, Optional, List, Tuple +from dataclasses import dataclass + +from .signature_types import SignatureType, SignatureCategory, SecurityLevel, get_signature_metadata + + +@dataclass +class ClassificationResult: + """分类结果""" + signature_type: SignatureType + category: SignatureCategory + security_level: SecurityLevel + confidence: float # 置信度 0-1 + metadata: Dict[str, Any] + warnings: List[str] + detected_patterns: List[str] + + +class SignatureClassifier: + """签名分类器 - 识别和分类以太坊签名类型""" + + def __init__(self): + """初始化分类器""" + self._init_patterns() + + def _init_patterns(self): + """初始化检测模式""" + + # EIP-712 检测模式 + self.eip712_required_fields = {"types", "domain", "primaryType", "message"} + self.eip712_domain_fields = {"name", "version", "chainId", "verifyingContract"} + + # 交易数据检测模式 + self.transaction_fields = { + "required": {"to"}, + "optional": {"from", "value", "data", "gas", "gasPrice", "gasLimit", "nonce", "maxFeePerGas", "maxPriorityFeePerGas"} + } + + # 十六进制模式 + self.hex_patterns = { + "address": re.compile(r'^0x[a-fA-F0-9]{40}$'), + "hash": re.compile(r'^0x[a-fA-F0-9]{64}$'), + "signature": re.compile(r'^0x[a-fA-F0-9]{130}$'), + "hex_data": re.compile(r'^0x[a-fA-F0-9]+$') + } + + # 危险关键词检测 + self.risk_keywords = { + "high": ["transfer", "approve", "withdraw", "claim", "execute"], + "medium": ["sign", "auth", "verify", "permit", "delegate"], + "phishing": ["urgent", "limited time", "expires", "act now", "verify immediately"] + } + + def classify(self, data: Union[str, Dict[str, Any]]) -> ClassificationResult: + """ + 分类签名数据 + + Args: + data: 输入的签名数据 + + Returns: + 分类结果 + """ + # 数据预处理 + processed_data, data_format = self._preprocess_data(data) + + # 执行分类 + signature_type = self._detect_signature_type(processed_data, data_format) + + # 获取元数据 + metadata = get_signature_metadata(signature_type) + + # 计算置信度 + confidence = self._calculate_confidence(processed_data, signature_type, data_format) + + # 检测警告和模式 + warnings = self._detect_warnings(processed_data, signature_type) + patterns = self._detect_patterns(processed_data, signature_type) + + # 构建结果 + return ClassificationResult( + signature_type=signature_type, + category=metadata.category, + security_level=metadata.security_level, + confidence=confidence, + metadata={ + "data_format": data_format, + "description": metadata.description, + "common_use_cases": metadata.common_use_cases, + "risk_factors": metadata.risk_factors, + "wallet_support": metadata.wallet_support, + "raw_data_type": type(data).__name__ + }, + warnings=warnings, + detected_patterns=patterns + ) + + def _preprocess_data(self, data: Union[str, Dict[str, Any]]) -> Tuple[Union[str, Dict[str, Any]], str]: + """预处理输入数据""" + + if isinstance(data, dict): + return data, "dict" + + if isinstance(data, str): + # 去除空白字符 + data = data.strip() + + # 尝试解析JSON + if data.startswith('{'): + try: + parsed = json.loads(data) + if isinstance(parsed, dict): + return parsed, "json_string" + except (json.JSONDecodeError, ValueError): + pass + + return data, "string" + + return str(data), "other" + + def _detect_signature_type(self, data: Union[str, Dict[str, Any]], data_format: str) -> SignatureType: + """检测签名类型""" + + if data_format in ["dict", "json_string"]: + return self._classify_dict_data(data) + else: + return self._classify_string_data(data) + + def _classify_dict_data(self, data: Dict[str, Any]) -> SignatureType: + """分类字典格式数据""" + + # 检查 EIP-712 结构 + if self._is_eip712_structure(data): + return SignatureType.ETH_SIGN_TYPED_DATA_V4 + + # 检查交易结构 + if self._is_transaction_structure(data): + return SignatureType.ETH_SEND_TRANSACTION + + # 检查个人消息结构 + if self._is_personal_message_structure(data): + return SignatureType.PERSONAL_SIGN + + return SignatureType.UNKNOWN + + def _classify_string_data(self, data: str) -> SignatureType: + """分类字符串格式数据""" + + if not data: + return SignatureType.UNKNOWN + + # 检查十六进制数据 + if data.startswith("0x"): + return self._classify_hex_data(data) + + # 检查纯文本消息 + if self._is_readable_text(data): + return SignatureType.PERSONAL_SIGN + + return SignatureType.UNKNOWN + + def _is_eip712_structure(self, data: Dict[str, Any]) -> bool: + """检查是否为EIP-712结构""" + + # 检查必需字段 + if not self.eip712_required_fields.issubset(data.keys()): + return False + + # 验证类型字段 + types = data.get("types") + if not isinstance(types, dict) or "EIP712Domain" not in types: + return False + + # 验证域字段 + domain = data.get("domain") + if not isinstance(domain, dict): + return False + + # 验证主类型 + primary_type = data.get("primaryType") + if not isinstance(primary_type, str) or primary_type not in types: + return False + + # 验证消息 + message = data.get("message") + if not isinstance(message, dict): + return False + + return True + + def _is_transaction_structure(self, data: Dict[str, Any]) -> bool: + """检查是否为交易结构""" + + # 必须包含 'to' 字段,这是交易的基本要求 + if "to" not in data: + return False + + # 检查交易相关字段的数量 + transaction_field_count = 0 + all_transaction_fields = self.transaction_fields["required"] | self.transaction_fields["optional"] + + for field in all_transaction_fields: + if field in data: + transaction_field_count += 1 + + # 如果包含足够多的交易字段,认为是交易 + return transaction_field_count >= 2 + + def _is_personal_message_structure(self, data: Dict[str, Any]) -> bool: + """检查是否为个人消息结构""" + + # 检查消息字段 + if "message" in data and isinstance(data["message"], str): + return True + + # 检查其他可能的消息字段 + message_fields = ["text", "content", "msg", "data"] + for field in message_fields: + if field in data and isinstance(data[field], str): + return True + + return False + + def _classify_hex_data(self, data: str) -> SignatureType: + """分类十六进制数据""" + + # 检查地址格式 + if self.hex_patterns["address"].match(data): + return SignatureType.PERSONAL_SIGN + + # 检查哈希格式 + if self.hex_patterns["hash"].match(data): + return SignatureType.ETH_SIGN + + # 检查签名格式 + if self.hex_patterns["signature"].match(data): + return SignatureType.ETH_SIGN + + # 其他十六进制数据 + if self.hex_patterns["hex_data"].match(data): + hex_length = len(data) - 2 # 减去 '0x' + if hex_length > 128: # 长数据可能是原始签名 + return SignatureType.ETH_SIGN + else: + return SignatureType.PERSONAL_SIGN + + return SignatureType.UNKNOWN + + def _is_readable_text(self, text: str) -> bool: + """检查是否为可读文本""" + + try: + # 检查UTF-8编码 + text.encode('utf-8') + + # 检查是否包含过多控制字符 + control_chars = sum(1 for c in text if ord(c) < 32 and c not in '\t\n\r') + control_ratio = control_chars / len(text) if text else 0 + + # 如果控制字符比例过高,认为不是可读文本 + return control_ratio < 0.1 + + except UnicodeEncodeError: + return False + + def _calculate_confidence(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType, data_format: str) -> float: + """计算分类置信度""" + + confidence = 0.5 # 基础置信度 + + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + if isinstance(data, dict) and self._is_eip712_structure(data): + confidence = 0.95 + + elif signature_type == SignatureType.ETH_SEND_TRANSACTION: + if isinstance(data, dict) and self._is_transaction_structure(data): + field_count = len(set(data.keys()) & (self.transaction_fields["required"] | self.transaction_fields["optional"])) + confidence = min(0.9, 0.6 + field_count * 0.1) + + elif signature_type == SignatureType.PERSONAL_SIGN: + if isinstance(data, str): + if self._is_readable_text(data): + confidence = 0.8 + elif data.startswith("0x") and self.hex_patterns["address"].match(data): + confidence = 0.7 + + elif signature_type == SignatureType.ETH_SIGN: + if isinstance(data, str) and data.startswith("0x"): + if self.hex_patterns["signature"].match(data) or self.hex_patterns["hash"].match(data): + confidence = 0.9 + + return confidence + + def _detect_warnings(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> List[str]: + """检测警告信息""" + + warnings = [] + + # 高风险签名类型警告 + if signature_type == SignatureType.ETH_SIGN: + warnings.append("⚠️ eth_sign 方法存在极高安全风险,已被多数钱包禁用") + + # 检查数据中的风险关键词 + data_text = str(data).lower() + + for keyword in self.risk_keywords["phishing"]: + if keyword in data_text: + warnings.append(f"⚠️ 检测到钓鱼相关关键词: '{keyword}'") + + # EIP-712特定警告 + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4 and isinstance(data, dict): + # 检查过期时间 + message = data.get("message", {}) + if isinstance(message, dict): + # 检查常见的时间字段 + time_fields = ["endTime", "deadline", "expiry", "validUntil"] + for field in time_fields: + if field in message: + warnings.append(f"⚠️ 签名包含时效性限制,请注意 {field} 字段") + + return warnings + + def _detect_patterns(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> List[str]: + """检测数据模式""" + + patterns = [] + + if isinstance(data, dict): + patterns.append(f"结构化数据,包含 {len(data)} 个字段") + + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + primary_type = data.get("primaryType") + if primary_type: + patterns.append(f"EIP-712 主类型: {primary_type}") + + domain = data.get("domain", {}) + if isinstance(domain, dict) and "name" in domain: + patterns.append(f"协议名称: {domain['name']}") + + elif isinstance(data, str): + if data.startswith("0x"): + hex_length = len(data) - 2 + patterns.append(f"十六进制数据,长度: {hex_length} 字符") + else: + patterns.append(f"文本消息,长度: {len(data)} 字符") + + return patterns + + def get_supported_types(self) -> List[SignatureType]: + """获取支持的签名类型列表""" + return [ + SignatureType.ETH_SEND_TRANSACTION, + SignatureType.PERSONAL_SIGN, + SignatureType.ETH_SIGN_TYPED_DATA_V4, + SignatureType.ETH_SIGN + ] + + def batch_classify(self, data_list: List[Union[str, Dict[str, Any]]]) -> List[ClassificationResult]: + """批量分类签名数据""" + return [self.classify(data) for data in data_list] \ No newline at end of file diff --git a/signature_classification/signature_types.py b/signature_classification/signature_types.py new file mode 100644 index 0000000..dda05ae --- /dev/null +++ b/signature_classification/signature_types.py @@ -0,0 +1,184 @@ +""" +签名类型定义和分类枚举 +""" + +from enum import Enum +from typing import Dict, List +from dataclasses import dataclass + + +class SignatureType(str, Enum): + """签名类型枚举 - 主流签名方法""" + + # 链上交易 - 最常见的签名类型 + ETH_SEND_TRANSACTION = "eth_sendTransaction" + + # 链下文本授权 - 常被钓鱼攻击利用 + PERSONAL_SIGN = "personal_sign" + + # EIP-712结构化链下授权 - 现代DApp常用 + ETH_SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4" + + # 原始签名 - 已被多数钱包禁用,但仍存在风险 + ETH_SIGN = "eth_sign" + + # 未知类型 + UNKNOWN = "unknown" + + +class SignatureCategory(str, Enum): + """签名分类 - 按用途分类""" + + # 资产转移类 + ASSET_TRANSFER = "asset_transfer" + + # 授权许可类 + AUTHORIZATION = "authorization" + + # 身份验证类 + AUTHENTICATION = "authentication" + + # 交易执行类 + TRANSACTION_EXECUTION = "transaction_execution" + + # 未分类 + UNCATEGORIZED = "uncategorized" + + +class SecurityLevel(str, Enum): + """安全级别 - 按风险程度分级""" + + # 高危险 - 可能导致资产损失 + HIGH_RISK = "high_risk" + + # 中等风险 - 需要用户谨慎确认 + MEDIUM_RISK = "medium_risk" + + # 低风险 - 相对安全的操作 + LOW_RISK = "low_risk" + + # 极低风险 - 几乎无风险 + MINIMAL_RISK = "minimal_risk" + + +@dataclass +class SignatureMetadata: + """签名元数据""" + signature_type: SignatureType + category: SignatureCategory + security_level: SecurityLevel + description: str + common_use_cases: List[str] + risk_factors: List[str] + wallet_support: Dict[str, bool] # 钱包支持情况 + + +# 签名类型映射配置 +SIGNATURE_TYPE_CONFIG: Dict[SignatureType, SignatureMetadata] = { + SignatureType.ETH_SEND_TRANSACTION: SignatureMetadata( + signature_type=SignatureType.ETH_SEND_TRANSACTION, + category=SignatureCategory.TRANSACTION_EXECUTION, + security_level=SecurityLevel.HIGH_RISK, + description="链上交易签名,直接修改区块链状态", + common_use_cases=[ + "代币转账", + "智能合约调用", + "NFT交易", + "DeFi操作" + ], + risk_factors=[ + "直接消耗Gas费用", + "不可逆转的资产转移", + "可能触发复杂的合约逻辑" + ], + wallet_support={ + "MetaMask": True, + "Trust Wallet": True, + "Coinbase Wallet": True, + "WalletConnect": True + } + ), + + SignatureType.PERSONAL_SIGN: SignatureMetadata( + signature_type=SignatureType.PERSONAL_SIGN, + category=SignatureCategory.AUTHENTICATION, + security_level=SecurityLevel.MEDIUM_RISK, + description="个人消息签名,常用于身份验证和授权", + common_use_cases=[ + "登录验证", + "消息确认", + "身份证明", + "免费授权" + ], + risk_factors=[ + "钓鱼网站利用频繁", + "用户难以理解消息内容", + "可能被误用于权限提升" + ], + wallet_support={ + "MetaMask": True, + "Trust Wallet": True, + "Coinbase Wallet": True, + "WalletConnect": True + } + ), + + SignatureType.ETH_SIGN_TYPED_DATA_V4: SignatureMetadata( + signature_type=SignatureType.ETH_SIGN_TYPED_DATA_V4, + category=SignatureCategory.AUTHORIZATION, + security_level=SecurityLevel.MEDIUM_RISK, + description="EIP-712结构化数据签名,提供更好的可读性和安全性", + common_use_cases=[ + "NFT市场订单", + "DeFi协议授权", + "多签钱包操作", + "跨链桥授权" + ], + risk_factors=[ + "复杂的数据结构难以理解", + "可能包含隐藏的授权条款", + "时间敏感的签名可能被抢跑" + ], + wallet_support={ + "MetaMask": True, + "Trust Wallet": True, + "Coinbase Wallet": True, + "WalletConnect": True + } + ), + + SignatureType.ETH_SIGN: SignatureMetadata( + signature_type=SignatureType.ETH_SIGN, + category=SignatureCategory.UNCATEGORIZED, + security_level=SecurityLevel.HIGH_RISK, + description="原始签名方法,已被多数钱包禁用", + common_use_cases=[ + "旧版DApp兼容", + "底层签名操作" + ], + risk_factors=[ + "极易被恶意利用", + "无法提供签名内容预览", + "可能签署任意数据" + ], + wallet_support={ + "MetaMask": False, # 已禁用 + "Trust Wallet": False, + "Coinbase Wallet": False, + "WalletConnect": False + } + ) +} + + +def get_signature_metadata(signature_type: SignatureType) -> SignatureMetadata: + """获取签名类型的元数据""" + return SIGNATURE_TYPE_CONFIG.get(signature_type, SignatureMetadata( + signature_type=SignatureType.UNKNOWN, + category=SignatureCategory.UNCATEGORIZED, + security_level=SecurityLevel.HIGH_RISK, + description="未知签名类型", + common_use_cases=[], + risk_factors=["未知风险"], + wallet_support={} + )) \ No newline at end of file diff --git a/signature_classification/signature_validator.py b/signature_classification/signature_validator.py new file mode 100644 index 0000000..bd093a8 --- /dev/null +++ b/signature_classification/signature_validator.py @@ -0,0 +1,327 @@ +""" +签名验证器 - 验证签名数据格式和有效性 +""" + +import re +from typing import Dict, Any, Union, List, Optional +from dataclasses import dataclass + +from .signature_types import SignatureType + + +@dataclass +class ValidationResult: + """验证结果""" + is_valid: bool + errors: List[str] + warnings: List[str] + metadata: Dict[str, Any] + + +class SignatureValidator: + """签名验证器""" + + def __init__(self): + """初始化验证器""" + self._init_validation_rules() + + def _init_validation_rules(self): + """初始化验证规则""" + + # 地址验证正则 + self.address_pattern = re.compile(r'^0x[a-fA-F0-9]{40}$') + + # 哈希验证正则 + self.hash_pattern = re.compile(r'^0x[a-fA-F0-9]{64}$') + + # 十六进制数据验证 + self.hex_pattern = re.compile(r'^0x[a-fA-F0-9]*$') + + # EIP-712 必需字段 + self.eip712_required_fields = {"types", "domain", "primaryType", "message"} + + # 交易必需字段 + self.transaction_required_fields = {"to"} + self.transaction_optional_fields = {"from", "value", "data", "gas", "gasPrice", "nonce"} + + def validate(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> ValidationResult: + """ + 验证签名数据 + + Args: + data: 签名数据 + signature_type: 签名类型 + + Returns: + 验证结果 + """ + errors = [] + warnings = [] + metadata = {} + + # 基础数据验证 + base_errors = self._validate_base_data(data) + errors.extend(base_errors) + + # 根据签名类型进行专门验证 + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + type_errors, type_warnings, type_metadata = self._validate_eip712(data) + elif signature_type == SignatureType.ETH_SEND_TRANSACTION: + type_errors, type_warnings, type_metadata = self._validate_transaction(data) + elif signature_type == SignatureType.PERSONAL_SIGN: + type_errors, type_warnings, type_metadata = self._validate_personal_sign(data) + elif signature_type == SignatureType.ETH_SIGN: + type_errors, type_warnings, type_metadata = self._validate_eth_sign(data) + else: + type_errors, type_warnings, type_metadata = [], [], {} + + errors.extend(type_errors) + warnings.extend(type_warnings) + metadata.update(type_metadata) + + return ValidationResult( + is_valid=len(errors) == 0, + errors=errors, + warnings=warnings, + metadata=metadata + ) + + def _validate_base_data(self, data: Union[str, Dict[str, Any]]) -> List[str]: + """基础数据验证""" + errors = [] + + if data is None: + errors.append("数据不能为空") + return errors + + if isinstance(data, str): + if not data.strip(): + errors.append("字符串数据不能为空") + elif isinstance(data, dict): + if not data: + errors.append("字典数据不能为空") + + return errors + + def _validate_eip712(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: + """验证EIP-712数据""" + errors = [] + warnings = [] + metadata = {} + + if not isinstance(data, dict): + errors.append("EIP-712数据必须是字典格式") + return errors, warnings, metadata + + # 检查必需字段 + missing_fields = self.eip712_required_fields - set(data.keys()) + if missing_fields: + errors.append(f"缺少必需字段: {', '.join(missing_fields)}") + + # 验证types字段 + if "types" in data: + types_errors = self._validate_eip712_types(data["types"]) + errors.extend(types_errors) + + # 验证domain字段 + if "domain" in data: + domain_errors, domain_metadata = self._validate_eip712_domain(data["domain"]) + errors.extend(domain_errors) + metadata.update(domain_metadata) + + # 验证primaryType字段 + if "primaryType" in data and "types" in data: + primary_type = data["primaryType"] + if not isinstance(primary_type, str): + errors.append("primaryType必须是字符串") + elif primary_type not in data["types"]: + errors.append(f"primaryType '{primary_type}' 不在types定义中") + + # 验证message字段 + if "message" in data: + if not isinstance(data["message"], dict): + errors.append("message字段必须是字典") + + return errors, warnings, metadata + + def _validate_eip712_types(self, types: Any) -> List[str]: + """验证EIP-712 types字段""" + errors = [] + + if not isinstance(types, dict): + errors.append("types字段必须是字典") + return errors + + # 检查EIP712Domain类型 + if "EIP712Domain" not in types: + errors.append("types中必须包含EIP712Domain定义") + + # 验证类型定义格式 + for type_name, type_def in types.items(): + if not isinstance(type_def, list): + errors.append(f"类型定义 '{type_name}' 必须是数组") + continue + + for field in type_def: + if not isinstance(field, dict): + errors.append(f"类型 '{type_name}' 的字段定义必须是字典") + continue + + if "name" not in field or "type" not in field: + errors.append(f"类型 '{type_name}' 的字段必须包含name和type") + + return errors + + def _validate_eip712_domain(self, domain: Any) -> tuple[List[str], Dict[str, Any]]: + """验证EIP-712 domain字段""" + errors = [] + metadata = {} + + if not isinstance(domain, dict): + errors.append("domain字段必须是字典") + return errors, metadata + + # 验证常见域字段 + if "name" in domain: + metadata["protocol_name"] = domain["name"] + + if "version" in domain: + metadata["protocol_version"] = domain["version"] + + if "chainId" in domain: + chain_id = domain["chainId"] + if isinstance(chain_id, str) and chain_id.isdigit(): + metadata["chain_id"] = int(chain_id) + elif isinstance(chain_id, int): + metadata["chain_id"] = chain_id + + if "verifyingContract" in domain: + contract = domain["verifyingContract"] + if isinstance(contract, str): + if not self.address_pattern.match(contract): + errors.append("verifyingContract必须是有效的以太坊地址") + else: + metadata["contract_address"] = contract + + return errors, metadata + + def _validate_transaction(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: + """验证交易数据""" + errors = [] + warnings = [] + metadata = {} + + if not isinstance(data, dict): + errors.append("交易数据必须是字典格式") + return errors, warnings, metadata + + # 检查必需字段 + if "to" not in data: + errors.append("交易必须包含'to'字段") + else: + to_address = data["to"] + if to_address is not None and not self.address_pattern.match(str(to_address)): + errors.append("'to'字段必须是有效的以太坊地址或null") + + # 验证可选字段 + if "from" in data: + from_address = data["from"] + if not self.address_pattern.match(str(from_address)): + errors.append("'from'字段必须是有效的以太坊地址") + + if "value" in data: + value = data["value"] + if isinstance(value, str): + if not (value.startswith("0x") and self.hex_pattern.match(value)): + if not value.isdigit(): + errors.append("'value'字段必须是十六进制字符串或数字") + + if "data" in data: + tx_data = data["data"] + if isinstance(tx_data, str) and tx_data != "0x": + if not self.hex_pattern.match(tx_data): + errors.append("'data'字段必须是有效的十六进制数据") + + # 验证Gas相关字段 + gas_fields = ["gas", "gasLimit", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas"] + for field in gas_fields: + if field in data: + gas_value = data[field] + if isinstance(gas_value, str): + if not (gas_value.startswith("0x") and self.hex_pattern.match(gas_value)): + if not gas_value.isdigit(): + errors.append(f"'{field}'字段必须是十六进制字符串或数字") + + return errors, warnings, metadata + + def _validate_personal_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: + """验证个人签名数据""" + errors = [] + warnings = [] + metadata = {} + + if isinstance(data, str): + # 验证字符串消息 + if len(data) > 10000: # 10KB limit + warnings.append("消息长度过长,可能影响用户体验") + + # 检查是否包含十六进制数据 + if data.startswith("0x"): + if not self.hex_pattern.match(data): + errors.append("十六进制数据格式无效") + else: + metadata["data_type"] = "hex" + metadata["hex_length"] = len(data) - 2 + else: + metadata["data_type"] = "text" + metadata["text_length"] = len(data) + + elif isinstance(data, dict): + # 验证字典格式的个人消息 + if "message" not in data: + warnings.append("字典格式的个人消息通常应包含'message'字段") + + return errors, warnings, metadata + + def _validate_eth_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: + """验证eth_sign数据""" + errors = [] + warnings = ["eth_sign方法存在安全风险,建议避免使用"] + metadata = {} + + if isinstance(data, str): + if not data.startswith("0x"): + errors.append("eth_sign数据必须是十六进制格式") + elif not self.hex_pattern.match(data): + errors.append("十六进制数据格式无效") + else: + hex_length = len(data) - 2 + metadata["hex_length"] = hex_length + + # 根据长度判断数据类型 + if hex_length == 64: # 32 bytes hash + metadata["data_type"] = "hash" + elif hex_length == 130: # 65 bytes signature + metadata["data_type"] = "signature" + else: + metadata["data_type"] = "raw_data" + + return errors, warnings, metadata + + def validate_address(self, address: str) -> bool: + """验证以太坊地址格式""" + if not isinstance(address, str): + return False + return bool(self.address_pattern.match(address)) + + def validate_hash(self, hash_value: str) -> bool: + """验证哈希格式""" + if not isinstance(hash_value, str): + return False + return bool(self.hash_pattern.match(hash_value)) + + def validate_hex_data(self, hex_data: str) -> bool: + """验证十六进制数据格式""" + if not isinstance(hex_data, str): + return False + return bool(self.hex_pattern.match(hex_data)) \ No newline at end of file diff --git a/signature_classification/tools/signature_tester.py b/signature_classification/tools/signature_tester.py new file mode 100644 index 0000000..2d25faa --- /dev/null +++ b/signature_classification/tools/signature_tester.py @@ -0,0 +1,262 @@ +#!/usr/bin/env python3 +""" +以太坊签名分类器测试工具 + +使用方法: + python signature_tester.py # 批量测试所有样本 + python signature_tester.py 2 # 测试第2个样本 + python signature_tester.py 1 # 测试第1个样本 + +功能: +- 自动加载 test_samples.json 中的测试数据 +- 支持批量测试(默认)和单独测试(通过索引) +- 验证数据完整性和签名类型分类 +""" + +import json +import sys +import os +from typing import Dict, Any, Union, Optional + +# 添加父目录到路径以导入模块 +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + +from signature_classification import ( + SignatureClassifier, + SignatureValidator, + RiskAnalyzer +) + + +class SignatureTester: + """签名测试器""" + + def __init__(self): + """初始化测试器""" + self.classifier = SignatureClassifier() + self.validator = SignatureValidator() + self.risk_analyzer = RiskAnalyzer() + self.test_samples_path = os.path.join(os.path.dirname(__file__), "test_samples.json") + + # 检查命令行参数 + import sys + self.single_test_index = None + if len(sys.argv) > 1: + try: + self.single_test_index = int(sys.argv[1]) - 1 # 转换为0基索引 + except ValueError: + print("❌ 无效的样本索引,将进行批量测试") + + + def load_test_samples(self) -> Dict[str, Any]: + """加载测试样本数据""" + try: + with open(self.test_samples_path, 'r', encoding='utf-8') as f: + return json.load(f) + except FileNotFoundError: + print(f"❌ 测试样本文件不存在: {self.test_samples_path}") + return None + except json.JSONDecodeError as e: + print(f"❌ JSON解析错误: {e}") + return None + + def analyze_signature(self, data: Union[str, Dict[str, Any]], context: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + """分析签名数据""" + try: + # 1. 签名分类 + classification = self.classifier.classify(data) + + # 2. 数据验证 + validation = self.validator.validate(data, classification.signature_type) + + # 3. 风险评估 + risk_assessment = self.risk_analyzer.analyze_risk( + classification.signature_type, + data, + context=context + ) + + return { + "classification": classification, + "validation": validation, + "risk_assessment": risk_assessment, + "success": True + } + + except Exception as e: + return { + "error": str(e), + "success": False + } + + def format_output(self, analysis_result: Dict[str, Any], data: Union[str, Dict[str, Any]]): + """格式化输出分析结果""" + + if not analysis_result["success"]: + print(f"❌ 分析失败: {analysis_result['error']}") + return + + classification = analysis_result["classification"] + validation = analysis_result["validation"] + risk_assessment = analysis_result["risk_assessment"] + + # 对于 eth_sign 类型,显示简化的高风险警告 + if classification.signature_type == "eth_sign": + print("🔴" + "="*50 + "🔴") + print("⚠️ ETH_SIGN 高风险警告 ⚠️") + print("🔴" + "="*50 + "🔴") + print() + print("🚫 签名类型: eth_sign") + print("🔴 风险级别: 极高风险") + print("⚠️ 状态: 禁止使用") + print() + print("💡 安全建议:") + print(" • eth_sign 方法存在严重安全漏洞") + print(" • 已被多数钱包禁用") + print(" • 强烈建议拒绝此类签名请求") + print() + print("🔴" + "="*50 + "🔴") + return + + # 分类结果 + print("分类结果:") + print(f" 签名类型: {classification.signature_type}") + print(f" 功能分类: {classification.category}") + + # 数据验证 + print(f"\n✅ 数据验证:") + validation_status = "✅ 通过" if validation.is_valid else "❌ 失败" + print(f" 状态: {validation_status}") + + # 显示验证错误(如果有) + if validation.errors: + print(f" ❌ 错误:") + for error in validation.errors: + print(f" • {error}") + + # 显示重要警告(如果有) + if validation.warnings: + print(f" ⚠️ 警告:") + for warning in validation.warnings: + print(f" • {warning}") + + print() + + def extract_raw_data(self, sample: dict, method: str): + """从样本中提取原始数据用于分析""" + if method == "personal_sign": + return sample.get("message", "") + elif method == "eth_signTypedData_v4": + return sample.get("message", {}) + elif method == "eth_sendTransaction": + return sample.get("message", {}) + elif method == "eth_sign": + return sample.get("message", "") + else: + return sample.get("raw", sample.get("message", "")) + + def list_samples(self, samples: list): + """列出所有样本""" + for i, sample in enumerate(samples): + method = sample.get("method", "unknown") + description = self.get_sample_description(sample) + print(f" {i+1}. {method} - {description}") + + def get_sample_description(self, sample: dict) -> str: + """获取样本描述""" + method = sample.get("method", "unknown") + + if method == "personal_sign": + message = sample.get("message", "") + if len(message) > 50: + return f"{message[:50]}..." + return message + + elif method == "eth_signTypedData_v4": + domain_name = sample.get("message", {}).get("domain", {}).get("name", "Unknown") + primary_type = sample.get("message", {}).get("primaryType", "Unknown") + return f"{domain_name} - {primary_type}" + + elif method == "eth_sendTransaction": + to_address = sample.get("message", {}).get("to", "") + value = sample.get("message", {}).get("value", "0x0") + return f"发送到 {to_address[:10]}... (值: {value})" + + elif method == "eth_sign": + return "原始签名数据" + + else: + return "未知类型" + + def batch_test_samples(self, samples: list): + """批量测试所有样本""" + for i, sample in enumerate(samples): + method = sample.get("method", "unknown") + description = self.get_sample_description(sample) + + print(f"测试样本 {i + 1}/{len(samples)}: {method}") + print(f"描述: {description}") + print() + + # 提取 raw 数据用于分析 + raw_data = self.extract_raw_data(sample, method) + result = self.analyze_signature(raw_data) + self.format_output(result, raw_data) + + print("-" * 60) + print() + + def run(self): + """运行测试器""" + + test_data = self.load_test_samples() + + if test_data is None: + print("❌ 无法加载测试样本,程序退出") + return + + print(f"✅ 成功加载测试样本: {self.test_samples_path}") + + # 检查数据格式 + if isinstance(test_data, list): + # 数组格式 - 根据参数决定测试模式 + if self.single_test_index is not None: + # 单独测试指定样本 + self.test_single_sample_by_index(test_data, self.single_test_index) + else: + # 默认批量测试所有样本 + print(f" 发现 {len(test_data)} 个测试样本,开始批量测试...") + print() + self.batch_test_samples(test_data) + else: + # 单个对象格式 - 直接测试 + print() + result = self.analyze_signature(test_data) + self.format_output(result, test_data) + + + def test_single_sample_by_index(self, samples: list, index: int): + """通过索引测试单个样本""" + if index < 0 or index >= len(samples): + print(f"❌ 样本索引超出范围 (1-{len(samples)})") + print("💡 可用的样本:") + self.list_samples(samples) + return + + selected_sample = samples[index] + method = selected_sample.get("method", "unknown") + description = self.get_sample_description(selected_sample) + + print(f" 测试样本 {index + 1}: {method}") + print(f" 描述: {description}") + print() + + # 提取 raw 数据用于分析 + raw_data = self.extract_raw_data(selected_sample, method) + result = self.analyze_signature(raw_data) + self.format_output(result, raw_data) + + +if __name__ == "__main__": + tester = SignatureTester() + tester.run() \ No newline at end of file diff --git a/signature_classification/tools/test_samples.json b/signature_classification/tools/test_samples.json new file mode 100644 index 0000000..56d90ef --- /dev/null +++ b/signature_classification/tools/test_samples.json @@ -0,0 +1,312 @@ +[ + { + "method": "eth_sign", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": "0xdd54f25d0bbeae343a1dec3acce8dc5b3a0886bdb9c5e667f65d5bbbe11bc093", + "raw": [ + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "0xdd54f25d0bbeae343a1dec3acce8dc5b3a0886bdb9c5e667f65d5bbbe11bc093" + ], + "signature": "0xaabbccddeeff11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff112233445566778899001c", + "visible_to_user": "❌" + }, + { + "method": "personal_sign", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": "Login to dApp - Nonce: 785391", + "raw": [ + "0x4c6f67696e20746f206444617070202d204e6f6e63653a20373835333931", + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" + ], + "signature": "0xbbccddeeffaabbccddeeff11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff11223344551b", + "visible_to_user": "✅ Login to dApp - Nonce: 785391" + }, + { + "method": "eth_signTypedData_v4", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": { + "domain": { + "name": "DemoDAO", + "version": "1", + "chainId": 1, + "verifyingContract": "0x1F98431c8aD98523631AE4a59f267346ea31F984" + }, + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Vote": [ + { "name": "proposalId", "type": "uint256" }, + { "name": "support", "type": "bool" } + ] + }, + "primaryType": "Vote", + "message": { + "proposalId": 42, + "support": true + } + }, + "raw": [ + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + { + "domain": { + "name": "DemoDAO", + "version": "1", + "chainId": 1, + "verifyingContract": "0x1F98431c8aD98523631AE4a59f267346ea31F984" + }, + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Vote": [ + { "name": "proposalId", "type": "uint256" }, + { "name": "support", "type": "bool" } + ] + }, + "primaryType": "Vote", + "message": { + "proposalId": 42, + "support": true + } + } + ], + "signature": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef1c", + "visible_to_user": "✅ Vote on proposal #42 (support: true)" + }, + { + "method": "eth_sendTransaction", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": { + "to": "0x267be1c1D684F78cb4F6a176C4911b741e4Ffdc0", + "value": "0xde0b6b3a7640000", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "nonce": "0x0" + }, + "raw": [ + { + "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "to": "0x267be1c1D684F78cb4F6a176C4911b741e4Ffdc0", + "value": "0xde0b6b3a7640000", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "nonce": "0x0" + } + ], + "signature": "0xTX_HASH_FAKE_123", + "visible_to_user": "✅ Send 1.0 ETH to 0x267be1c1D684F78cb4F6a176C4911b741e4Ffdc0" + }, + { + "method": "personal_sign", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": "Welcome to OpenSea!\n\nClick to sign in and accept the OpenSea Terms of Service: https://opensea.io/tos\n\nThis request will not trigger a blockchain transaction or cost any gas fees.\n\nYour authentication status will reset after 24 hours.\n\nWallet address:\n0x742d35cc6634c0532925a3b844bc454e4438f44e\n\nNonce:\n01234567-89ab-cdef-0123-456789abcdef", + "raw": [ + "0x57656c636f6d6520746f204f70656e536561210a0a436c69636b20746f207369676e20696e20616e642061636365707420746865204f70656e536561205465726d73206f6620536572766963653a2068747470733a2f2f6f70656e7365612e696f2f746f730a0a5468697320726571756573742077696c6c206e6f7420747269676765722061206c6f636b636861696e207472616e73616374696f6e206f7220636f737420616e79206761732066656573556f75722061757468656e7469636174696f6e207374617475732077696c6c207265736574206166746572203234202e0a0a57616c6c657420616464726573733a0a3078373432643335636336363334633035333239323561336238343462633435346534343338663434650a0a4e6f6e63653a0a30313233343536372d383961622d636465662d303132332d343536373839616263646566", + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" + ], + "signature": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b", + "visible_to_user": "✅ Welcome to OpenSea! Click to sign in..." + }, + { + "method": "eth_signTypedData_v4", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": { + "domain": { + "name": "Seaport", + "version": "1.1", + "chainId": 1, + "verifyingContract": "0x00000000006c3852cbEf3e08E8dF289169EdE581" + }, + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "OrderComponents": [ + { "name": "offerer", "type": "address" }, + { "name": "zone", "type": "address" }, + { "name": "offer", "type": "OfferItem[]" }, + { "name": "consideration", "type": "ConsiderationItem[]" }, + { "name": "orderType", "type": "uint8" }, + { "name": "startTime", "type": "uint256" }, + { "name": "endTime", "type": "uint256" }, + { "name": "zoneHash", "type": "bytes32" }, + { "name": "salt", "type": "uint256" }, + { "name": "conduitKey", "type": "bytes32" }, + { "name": "counter", "type": "uint256" } + ], + "OfferItem": [ + { "name": "itemType", "type": "uint8" }, + { "name": "token", "type": "address" }, + { "name": "identifierOrCriteria", "type": "uint256" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" } + ], + "ConsiderationItem": [ + { "name": "itemType", "type": "uint8" }, + { "name": "token", "type": "address" }, + { "name": "identifierOrCriteria", "type": "uint256" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" }, + { "name": "recipient", "type": "address" } + ] + }, + "primaryType": "OrderComponents", + "message": { + "offerer": "0x742d35cc6634c0532925a3b844bc454e4438f44e", + "offer": [ + { + "itemType": "2", + "token": "0xB852c6b5892256C264Cc2C888eA462189154D8d7", + "identifierOrCriteria": "3377", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": "1", + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "identifierOrCriteria": "0", + "startAmount": "3700000000000000000", + "endAmount": "3700000000000000000", + "recipient": "0x742d35cc6634c0532925a3b844bc454e4438f44e" + } + ], + "startTime": "1675151142", + "endTime": "1676015142", + "orderType": "2", + "zone": "0x110b2B128A9eD1be5Ef3232D8e4E41640dF5c2Cd", + "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "salt": "24446860302761739304752683030156737591518664810215442929818316022741225326226", + "conduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000", + "counter": "0" + } + }, + "raw": [ + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + { + "domain": { + "name": "Seaport", + "version": "1.1", + "chainId": 1, + "verifyingContract": "0x00000000006c3852cbEf3e08E8dF289169EdE581" + }, + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "OrderComponents": [ + { "name": "offerer", "type": "address" }, + { "name": "zone", "type": "address" }, + { "name": "offer", "type": "OfferItem[]" }, + { "name": "consideration", "type": "ConsiderationItem[]" }, + { "name": "orderType", "type": "uint8" }, + { "name": "startTime", "type": "uint256" }, + { "name": "endTime", "type": "uint256" }, + { "name": "zoneHash", "type": "bytes32" }, + { "name": "salt", "type": "uint256" }, + { "name": "conduitKey", "type": "bytes32" }, + { "name": "counter", "type": "uint256" } + ], + "OfferItem": [ + { "name": "itemType", "type": "uint8" }, + { "name": "token", "type": "address" }, + { "name": "identifierOrCriteria", "type": "uint256" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" } + ], + "ConsiderationItem": [ + { "name": "itemType", "type": "uint8" }, + { "name": "token", "type": "address" }, + { "name": "identifierOrCriteria", "type": "uint256" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" }, + { "name": "recipient", "type": "address" } + ] + }, + "primaryType": "OrderComponents", + "message": { + "offerer": "0x742d35cc6634c0532925a3b844bc454e4438f44e", + "offer": [ + { + "itemType": "2", + "token": "0xB852c6b5892256C264Cc2C888eA462189154D8d7", + "identifierOrCriteria": "3377", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": "1", + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "identifierOrCriteria": "0", + "startAmount": "3700000000000000000", + "endAmount": "3700000000000000000", + "recipient": "0x742d35cc6634c0532925a3b844bc454e4438f44e" + } + ], + "startTime": "1675151142", + "endTime": "1676015142", + "orderType": "2", + "zone": "0x110b2B128A9eD1be5Ef3232D8e4E41640dF5c2Cd", + "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "salt": "24446860302761739304752683030156737591518664810215442929818316022741225326226", + "conduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000", + "counter": "0" + } + } + ], + "signature": "0xseaport_nft_listing_signature_fake_123", + "visible_to_user": "✅ List NFT #3377 for 3.7 ETH on Seaport" + }, + { + "method": "personal_sign", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": "I authorize the transfer of my tokens", + "raw": [ + "0x4920617574686f72697a6520746865207472616e73666572206f66206d7920746f6b656e73", + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" + ], + "signature": "0xdangerous_auth_signature_fake_456", + "visible_to_user": "⚠️ I authorize the transfer of my tokens" + }, + { + "method": "eth_sendTransaction", + "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "message": { + "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "value": "0x0", + "data": "0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000000098bca0", + "gas": "0xc350", + "gasPrice": "0x4a817c800", + "nonce": "0x5" + }, + "raw": [ + { + "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "value": "0x0", + "data": "0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000000098bca0", + "gas": "0xc350", + "gasPrice": "0x4a817c800", + "nonce": "0x5" + } + ], + "signature": "0xusdt_transfer_signature_fake_789", + "visible_to_user": "✅ Transfer 10 USDT to 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + } +] \ No newline at end of file From 106e9fa116913d661dd2bebdb6898e55a78f589b Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:44:36 +0800 Subject: [PATCH 3/8] Create README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6ffb3b6 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +A lightweight parsing toolkit for interpreting Web3 wallet signature requests. +This project provides modular decoders for common Ethereum signing methods, including EIP-712 typed data, personal_sign, and eth_sendTransaction. Each parser extracts key fields, reconstructs structural meaning, and supports basic semantic classification to help reveal the intent behind opaque signature payloads. + +The codebase is designed for research on signature transparency and can serve as a backend component for systems that aim to improve user comprehension and security during wallet interactions. From b817807a3cfc17fa41cb043546e6e33c474fc173 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:33:29 +0800 Subject: [PATCH 4/8] Add files via upload --- dynamic_parser/__init__.py | 101 ++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2517 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 2284 bytes .../ai_semantic_analyzer.cpython-312.pyc | Bin 0 -> 12319 bytes .../ai_semantic_analyzer.cpython-39.pyc | Bin 0 -> 8403 bytes .../__pycache__/analyzers.cpython-312.pyc | Bin 0 -> 8525 bytes .../__pycache__/analyzers.cpython-39.pyc | Bin 0 -> 5039 bytes .../__pycache__/core.cpython-312.pyc | Bin 0 -> 14872 bytes .../__pycache__/core.cpython-39.pyc | Bin 0 -> 10062 bytes .../__pycache__/field_types.cpython-312.pyc | Bin 0 -> 4357 bytes .../__pycache__/field_types.cpython-39.pyc | Bin 0 -> 3727 bytes .../__pycache__/formatters.cpython-312.pyc | Bin 0 -> 17213 bytes .../__pycache__/formatters.cpython-39.pyc | Bin 0 -> 10326 bytes ...natural_language_generator.cpython-312.pyc | Bin 0 -> 18124 bytes ..._natural_language_generator.cpython-39.pyc | Bin 0 -> 12618 bytes .../openai_nlp_generator.cpython-312.pyc | Bin 0 -> 20775 bytes .../openai_nlp_generator.cpython-39.pyc | Bin 0 -> 21038 bytes .../__pycache__/patterns.cpython-312.pyc | Bin 0 -> 12089 bytes .../__pycache__/patterns.cpython-39.pyc | Bin 0 -> 6655 bytes .../__pycache__/types.cpython-39.pyc | Bin 0 -> 3697 bytes .../__pycache__/web_ui.cpython-312.pyc | Bin 0 -> 8636 bytes .../__pycache__/web_ui.cpython-39.pyc | Bin 0 -> 4823 bytes dynamic_parser/analyzers.py | 34 +- dynamic_parser/core.py | 122 +-- dynamic_parser/demo_web_ui.py | 100 +- dynamic_parser/examples/openai_test_demo.py | 22 +- dynamic_parser/examples/test_data.py | 18 +- dynamic_parser/field_types.py | 76 +- dynamic_parser/formatters.py | 300 +++--- .../nlp_natural_language_generator.py | 252 ++--- dynamic_parser/openai_nlp_generator.py | 188 ++-- dynamic_parser/patterns.py | 58 +- dynamic_parser/run_ui.py | 81 ++ dynamic_parser/static/css/style.css | 877 ++++++++++++++++++ dynamic_parser/static/ghostty.svg | 1 + dynamic_parser/static/high.png | Bin 0 -> 1010939 bytes dynamic_parser/static/image.png | Bin 0 -> 4630 bytes dynamic_parser/static/js/app.js | 590 ++++++++++++ dynamic_parser/static/low.png | Bin 0 -> 1167099 bytes dynamic_parser/static/medium.png | Bin 0 -> 1099547 bytes dynamic_parser/templates/index.html | 208 +++++ dynamic_parser/web_ui.py | 188 ++++ 42 files changed, 2631 insertions(+), 585 deletions(-) create mode 100644 dynamic_parser/__init__.py create mode 100644 dynamic_parser/__pycache__/__init__.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/__init__.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/analyzers.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/analyzers.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/core.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/core.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/field_types.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/field_types.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/formatters.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/formatters.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/nlp_natural_language_generator.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/nlp_natural_language_generator.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/openai_nlp_generator.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/openai_nlp_generator.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/patterns.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/patterns.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/types.cpython-39.pyc create mode 100644 dynamic_parser/__pycache__/web_ui.cpython-312.pyc create mode 100644 dynamic_parser/__pycache__/web_ui.cpython-39.pyc create mode 100644 dynamic_parser/run_ui.py create mode 100644 dynamic_parser/static/css/style.css create mode 100644 dynamic_parser/static/ghostty.svg create mode 100644 dynamic_parser/static/high.png create mode 100644 dynamic_parser/static/image.png create mode 100644 dynamic_parser/static/js/app.js create mode 100644 dynamic_parser/static/low.png create mode 100644 dynamic_parser/static/medium.png create mode 100644 dynamic_parser/templates/index.html create mode 100644 dynamic_parser/web_ui.py diff --git a/dynamic_parser/__init__.py b/dynamic_parser/__init__.py new file mode 100644 index 0000000..3072090 --- /dev/null +++ b/dynamic_parser/__init__.py @@ -0,0 +1,101 @@ +""" +Dynamic EIP712 Parser +A universal tool capable of parsing arbitrary EIP712 signature structures and semantics + +Main Features: +- Dynamic parsing of EIP712 signature structures +- Intelligent recognition of field semantics and types +- Context-aware field inference +- NLP natural language generation functionality +- Multiple output format support + +Usage Example: + >>> from dynamic_parser import DynamicEIP712Parser + >>> parser = DynamicEIP712Parser() + >>> result = parser.parse(eip712_data) + >>> print(parser.format_result(result)) + + # NLP natural language functionality + >>> parser = DynamicEIP712Parser(enable_nlp=True) + >>> nl_result = parser.generate_natural_language(eip712_data) +""" + +from .core import DynamicEIP712Parser +from .field_types import ( + FieldType, FieldSemantic, FieldInfo, + StructInfo, EIP712ParseResult +) +from .patterns import PatternMatcher +from .analyzers import ValueAnalyzer +from .formatters import DescriptionFormatter, ResultFormatter + +# Version information +__version__ = "1.0.0" +__author__ = "Dynamic Parser Team" +__description__ = "Universal dynamic EIP712 signature parser" + +# Main interface +__all__ = [ + # Core parser + "DynamicEIP712Parser", + + # Type definitions + "FieldType", + "FieldSemantic", + "FieldInfo", + "StructInfo", + "EIP712ParseResult", + + # Utility classes + "PatternMatcher", + "ValueAnalyzer", + "DescriptionFormatter", + "ResultFormatter", + + # Convenience functions + "parse_dynamic", + "parse_and_format", + "analyze_eip712", +] + +# Convenience functions +def parse_dynamic(eip712_data): + """ + Quickly parse EIP712 data + + Args: + eip712_data: EIP712 format data + + Returns: + Parsing result object + """ + parser = DynamicEIP712Parser() + return parser.parse(eip712_data) + + +def parse_and_format(eip712_data): + """ + Parse and format EIP712 data + + Args: + eip712_data: EIP712 format data + + Returns: + Formatted text result + """ + parser = DynamicEIP712Parser() + return parser.parse_and_format(eip712_data) + + +def analyze_eip712(eip712_data): + """ + Analyze EIP712 data and return structured result + + Args: + eip712_data: EIP712 format data + + Returns: + Structured analysis result + """ + parser = DynamicEIP712Parser() + return parser.analyze_eip712(eip712_data) \ No newline at end of file diff --git a/dynamic_parser/__pycache__/__init__.cpython-312.pyc b/dynamic_parser/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1249a93bc9245f8e93c64eb03fbf1fd547303f1 GIT binary patch literal 2517 zcmcIl-ES0C6rb7dZnrbtT|Npvpvj1ZbQ4>OFPci5kRS;WNdp9v$tIIw=eCT_%x>16@CDKb$t1=HJG0A^*h)-HOg#7A>2|^DlT5N_ z?%eyk=bZaH=l=GGcwFG%DG5gp{T1W5U&zPO6AA{4M`3V*(>R&acr9e`W=Ib4WL#s^ zm|;0=M&yVYm7`{@Tx-VU7+nh+b*3N-bR026vtF*JV!PLF`2UvCcy%@T{mJg(#mApXT$054A-_fC#`6BqpJ-!tzJrgUT08$JV= z`RUX1(`Wp_6MpYVY2*q7W=Q|zF@JCZ0DE?KmQQ?B>YakU<*{OEV8lP!&k`Y7j1HBq zo-N-!@13~iU%u_#KIaci`hCYB<2&~t|I+BK`MYOG#u7Xo9UW2^&YF@|uvAmeC^;3| z2ur$|%VI~`!DbnGophMnX!;#u0hHs&-CZy+}9Ezqo>M}Hkb<1fA za9vq!s*b|8H?dcWVX5y|p5-B6VChuKI<8-(WnX2XJnP6p?)s=OH zeGblN96DZIMfzUKAvjNTs*Z!O^^WRf4j~LP@dK)nN82scDD=QY$Zgnx>RqRu>G=u;mB|C4KNot zr?NI4AU@!a@b3}CGtUujJizXQGUfYWnf8%)Z~Rd)(1E2}>wo&4fA%_Ere-_tw%h24 zbXQgHwpDh}n+9}MZ6#Q`X)l7tv8p^U{;0xS@+N1>H@={_REVE*$zr)Eu>-nFiLC4e&5OF(wVG=(#%0KMyjSB)D7J!G@Gh! zr33PV>z-B=-O?RJX~`9E9Q;$$0Rwvjm?HOk1DAMtF21q2^P#x<+_qEOJ`?A}#{1#M zMOfyZOMxzdW6Da?SKOfq90+AH|Ii#EqBVoD;X)4{yQi0r6aD90SKRU+?5`_~(0?I&WsGd~d+}d^q^C z>l>^(Al>zUcm8r9P!^g|Rm7nGaT0R=C#7_j7#V&mQz|_WrOO-U#OC|qW=iRv)C+E{ zqG;KSqPXEq79)1U#4e)7iUV?N|EqYpu^dxdo64A57swK}siL_8lPi!{yGq?eML7&J zpuP}NP!u)q9Li!CCn1kzX@&_%Of?KeVKyeh=AE| zgLz!T^Zak220r}cRgT~MN2rDmJ>iInar~yAxW=Ek_Qz2!xxOeqgj*{-T+>!eE=1Rf Wp|JZB2Yjf(oQl-9`S!@&0N|D;N=FQBT_cgzH z?-|GAiUeO-`C|01s3iT)HuYZ!HXp#Si$F9E8S?$nT zv{+G6JGHo$fcXurRcnL!tkym#rOxDa2uks$*ZuK{vSvOZp3SoNpoMIbDSwWadoxyr#k zZ*tdvu@)@b&liCx>a)Olk!Sn|cQ2FtrIy>SiuW zo#Z9K72pl{>ySE?#TiJdo`WM5Lq_wcEU=s9=}q+tiwL~~TPoUTA_I7?0J zAfetRrj(H7w%>jghX8@&Tm5Tz#KJcWf-ED~H$?NK7J_929%})Q5Q|XkfHZdU6dTCE z)<_+&(Mxa$l zw3!jsK4=RNH_o311sUhIi7mD?B;MRjU~wHJvLwThJ^q+G=Iuimb{h~!x-ES!-;y85 zx1@(M)V-Xa2R6?U@9^o-cu?cV73qKbt3UUQA9He%j@Z3?#WJTZFMF#RyovydI#nji zm97&=3aie7z=n5^Wp8t*^86u}ONBU6ZiL_VNyu%fbLBR2E`1`=4v78FPcyygJd~lG zE)d%x>8wRGs^27Ojo6<#*<3o4)ksChd3!q z5)P{%oovevuEMC{z&Njs!#XH&hu+j3_**%7cW-B_a=74qzY_eD%r4eN$hH3K)T=py zvgHxgc?=SeCLrchF<}QPj2b44b1n6z+k}vo%^>84Gg(S_9;+?Gte+tV8k+r&p(5va{UVN;v;1XU3Q4-Lw$>klmm-2@KwFL0?Kg!9g5mLjCKLL9Z`28R$BHVlM# x7K_*B*JDNW%9Fd%_sy)9H%LG0CiXcX;j=OMt#C|^$!!f`8Ga4XbJ0XJ@izl!1U~=( literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-312.pyc b/dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ff0a555073ba4b72e55d866031d0c160c97b338 GIT binary patch literal 12319 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 Ezgjm_6#xJL literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-39.pyc b/dynamic_parser/__pycache__/ai_semantic_analyzer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed7208ca24c067c26f588567370062d69fadc277 GIT binary patch literal 8403 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 C>r6`k literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/analyzers.cpython-312.pyc b/dynamic_parser/__pycache__/analyzers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94373889f3ca35315f8231295ae9ae879a5091c5 GIT binary patch literal 8525 zcmdT}eQ*=U72nh8+p;BN*%rvu4j%>?Ft&jtWhg_Je(&wx-wO-P2-34h0*9N*5c(JSlTO-HW^M;$P9YBUAdcZQ zAttQp(S+F^HmvQ@GKgb2ZAcf^_vpih9s`3kXeZ)y#}TJLqfvY4F~$roV{{k%GtWFd zHGAwQH{Sg1>}w}yUYeRY_TJ3I&(yqm=EP5DPM(=LdHnjD&&<4aYW8=3gzD=rAD?~c z&o`d>^z334)*Xo{#E(9XJub{1%7ixs+xl)`R* zD9XEGQDb8~j#@y^+`S5rB~B+DWLWsk9RqR-jiUkJ3lo&4jzew@l%|haPBE0~bN;5X zP-^^o=^@=X@{t+P6ho((R+nBW_p3AaiNP>0i2m@fZ-gkM*wYpM@K7`&rbDQ!DLttWz35n!j(KODUNy#47a++~%KyyShxC|kz<5<2VRrSw{jpck1_ z41-QMv?zw&Vn-QFRs~MCE;KaCW58ccZJlBmx%QOr~gFUCU{iophG)}_NG(2%YG zc90x#42mhEoj?qs>R?q>6~d`NqLu`<3JEU*0p+h*mrkxb%bx9ceJo*ZxLi`6 z)S6AjR~*jChvJU46D?P*j>(pUb<@-`Aju`jX1`@c_VPGgGoXo*{wo!$rz>jZirVvq z({;^qU9;reDcN^kBgGr#ijC)&PuK5~>vu`c7Rla{EI_u+w4>X%45--oN{eKz{v0u; zVt|UP){>+FvR?@mFuj)@jVAQYCLkZIsRVk-WNmb^mzFU=?|=zl|4-`v8%)5(L%k zYRbVxO$HOqQ7hD{n0WKaXK()IRRF}(8buogo5ri5t~I23mSc^W_``yrN&W_)fz&mYtp-S zw{^94s*Xvwr@f`gtFX;pucGUAKiuWTHKgS_ATE7ApMB^0A<;Hkr zy=19K>XEH%QvdYhS4zs_W#n`NO_cOe7qwolSbsJ=UE3(vHcHMW$=(G0#OWacnkem_ z*UBx|x+Q0$WN)Oc$lAvpJ&Dqud95ChYafuDJ0$xK>h97*WQCK($X1zjfZzN^cSm;X zjJw1GuI_;xZvIF3N_z*+7}o4z7j%!6n|s^=We)o)#RQ4jhF3TRDikJ0dcU z0md=jWt=>&CdaYf!I9*I-x+6;UNwX`4RJOuQ;z$XdF9;9tH;27CpE9{vRtZIpD11re=?|Q3=DzO_XkA9G{WOx ze=Ha|wx+h$ z&USZGXS#`^?cBG=t5~`^yzS|-{8s=KX=(7E1zHlcjICV6mb;1eZvX+Ly;@K@x%88Q z6=!SC?f+IE^vGh3(=!4zQP6kAzI@ugPPVT*dtiElSKi>2N}450^OZtdoUSv_L}52=RV&-+ zg`rWdYm`cwBumpZB3vWeYo37~mBCZ;$K@rc?K@eUHi`yK`Q96Rs%Kuezw%E|LV z#GZqMB=o-n5(-Ne^kJZVtf5a38qWBXZUn&-!(zkXJD_EZ1j8Bp6Ej$sHyAeMJP=%e z>3tFvzx_M_8m@(HXvO5M2?wJhy z!*z3y zCxo0hD1#EPJ*h-u9EulL>-6kvFJHUx{sQOJAJjI9xEp@DTs~R8Ux;pkuG>c_jCG z`A8NSh3N3`5Ed2f$dJgVLm=`RLNAy3;n3UKwcDrOAjy*_?f{~gy4yOvJ`(F>ua)=! znaRStV=)wtRo!jl`iba=Ko*001>cN&0B+udwQ{l@NYa*l=_DH;FN-8fBJ}E4Cs)*+ z-!R?aksCac(<|A%^nyrMFYefzDBU}+Rg2uvA~_$F><``@2+6(t%-Y5up%3hvfL=0E z`Xg(TmHn`Y0Xh#2$%4^Xs2MVM`bOqK2OttSs@0%z?Km?Ix4tt(2GUX8xK3bB*v54M zh*CNbyht%FO|%ZG)aS3v_tJmAcjCt1o}c;EYqP(Yntkyt_>_F}v65+qF`de!Cwb4^3mv{JXAJ!Z-qXjDYyn zQSs}dSBfTfeOkJFa$u_F++e)4aiUqVmR>Gj{#;?wfR?VIi%#RnR#!3kxJ5oV`Fx7m z=L5@(hDhGx^TEqjC{<(d`M9Bg&xcE45cPPI6~pARjY<4TA5CaTPv6`zK~YR#4ikrs z$+^W5Lg)h*K}z*8gnSahgpi-`OK@Sw(Wlz7&$R}fIk}`*XFs``W?W{wCZtIKruDItk~U1TYf+PhTV(^tFajC@F<^tLG!N3y zNiWQc%%mY%Z3A^c4`3IYD3iMPsr=D?=}<@tkAQRx6aW@c^*9WAKqo$C7jy!G$yG~0 zosJ{|b|FBSv`76b?L8>@p`T$1KQ0}59HjafHxb?kO3e|0w{BQbUgk-Jw>O31iqLMGwdhmp(lI1f)Mw64)1VjsxA{ zda})#U000T)N{5SN1=iQ%ECQBk}Sh8pJ`Y|`-K@XYh|?NpQ!!|{RqR@KZnI-)XDq@ D+AY$M literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/analyzers.cpython-39.pyc b/dynamic_parser/__pycache__/analyzers.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28b05ad50d0d498ad9abbebd7b80ac06edcd7738 GIT binary patch literal 5039 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/core.cpython-39.pyc b/dynamic_parser/__pycache__/core.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3344389c2b471ee15e1bfb65d412758077cbf01 GIT binary patch literal 10062 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/field_types.cpython-39.pyc b/dynamic_parser/__pycache__/field_types.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71e7dd11e6cde1b3158b2e7717b1cd6d067d00c6 GIT binary patch literal 3727 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/formatters.cpython-39.pyc b/dynamic_parser/__pycache__/formatters.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0591565406252fb90cfdadfb0d5982fce3e1324e GIT binary patch literal 10326 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 Gn*R^V@{NoD literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/nlp_natural_language_generator.cpython-39.pyc b/dynamic_parser/__pycache__/nlp_natural_language_generator.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c80b764d6dafc0a064916da594222ec35e85b1e GIT binary patch literal 12618 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 JAa61>{|CGhzykmP literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/openai_nlp_generator.cpython-39.pyc b/dynamic_parser/__pycache__/openai_nlp_generator.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71a7fe707ac7f54637c02c3fe986f46bd5c70980 GIT binary patch literal 21038 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/patterns.cpython-312.pyc b/dynamic_parser/__pycache__/patterns.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ad9249233ff432fdb8784375d07be2783917494 GIT binary patch literal 12089 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/types.cpython-39.pyc b/dynamic_parser/__pycache__/types.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..80ebccf41cf71944e7fe9f43a086aa54a71e3d52 GIT binary patch literal 3697 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/__pycache__/web_ui.cpython-39.pyc b/dynamic_parser/__pycache__/web_ui.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..90bda5189d29471f1dfafb50750e578f7b1d0045 GIT binary patch literal 4823 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 XBu(ncE=y06w3#L8Ie7PCJ4yZv!7aUB literal 0 HcmV?d00001 diff --git a/dynamic_parser/analyzers.py b/dynamic_parser/analyzers.py index 9e84d5c..9676d00 100644 --- a/dynamic_parser/analyzers.py +++ b/dynamic_parser/analyzers.py @@ -1,6 +1,6 @@ """ -动态解析器值分析器 -包含各种字段值的智能分析方法 +Dynamic Parser Value Analyzer +Contains intelligent analysis methods for various field values """ from typing import Any, Optional, Tuple @@ -8,7 +8,7 @@ class ValueAnalyzer: - """值分析器""" + """Value analyzer""" def __init__(self): self.analyzers = [ @@ -20,15 +20,15 @@ def __init__(self): ] def analyze_timestamp_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析时间戳值""" + """Analyze timestamp value""" if not isinstance(field_value, (int, str)): return None try: timestamp = int(field_value) - # 检查是否是合理的时间戳范围 (2000年 - 2100年) + # Check if it's a reasonable timestamp range (2000 - 2100) if 946684800 <= timestamp <= 4102444800: - # 检查是否是截止时间 + # Check if it's a deadline if any(keyword in field_name.lower() for keyword in ['deadline', 'expiry', 'expires']): return (FieldType.DEADLINE, FieldSemantic.DEADLINE) else: @@ -39,7 +39,7 @@ def analyze_timestamp_value(self, field_name: str, field_type: str, field_value: return None def analyze_amount_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析金额值""" + """Analyze amount value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -47,8 +47,8 @@ def analyze_amount_value(self, field_name: str, field_type: str, field_value: An amount = int(field_value) field_name_lower = field_name.lower() - # 检查是否是典型的ERC20金额 (18位小数) - if amount > 10**15: # 大于 0.001 ETH + # Check if it's a typical ERC20 amount (18 decimal places) + if amount > 10**15: # Greater than 0.001 ETH if any(keyword in field_name_lower for keyword in ['amount', 'value', 'quantity']): return (FieldType.AMOUNT, FieldSemantic.AMOUNT) elif any(keyword in field_name_lower for keyword in ['price', 'cost']): @@ -63,17 +63,17 @@ def analyze_amount_value(self, field_name: str, field_type: str, field_value: An return None def analyze_address_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析地址值""" + """Analyze address value""" if field_type != 'address' or not isinstance(field_value, str): return None - # 检查是否是有效的以太坊地址 + # Check if it's a valid Ethereum address if not (field_value.startswith('0x') and len(field_value) == 42): return None field_name_lower = field_name.lower() - # 根据字段名推断地址类型 + # Infer address type based on field name if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): return (FieldType.TOKEN_ADDRESS, FieldSemantic.COLLECTION) elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): @@ -82,7 +82,7 @@ def analyze_address_value(self, field_name: str, field_type: str, field_value: A return (FieldType.USER_ADDRESS, None) def analyze_percentage_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析百分比值""" + """Analyze percentage value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -90,7 +90,7 @@ def analyze_percentage_value(self, field_name: str, field_type: str, field_value value = int(field_value) field_name_lower = field_name.lower() - # 检查是否是百分比(0-100或0-10000的范围) + # Check if it's a percentage (range 0-100 or 0-10000) if (0 <= value <= 100 and any(keyword in field_name_lower for keyword in ['percent', 'ratio'])) or \ (0 <= value <= 10000 and 'bps' in field_name_lower): return (FieldType.PERCENTAGE, FieldSemantic.RATE) @@ -100,7 +100,7 @@ def analyze_percentage_value(self, field_name: str, field_type: str, field_value return None def analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析枚举值""" + """Analyze enum value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -108,7 +108,7 @@ def analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) value = int(field_value) field_name_lower = field_name.lower() - # 检查是否是小范围的整数(可能是枚举) + # Check if it's a small range integer (might be an enum) if 0 <= value <= 20: if any(keyword in field_name_lower for keyword in ['type', 'kind', 'status', 'state', 'mode']): return (FieldType.ENUM_VALUE, FieldSemantic.TYPE) @@ -120,7 +120,7 @@ def analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) return None def analyze_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic]]: - """分析字段值,返回推断的类型和语义""" + """Analyze field value, return inferred type and semantic""" for analyzer in self.analyzers: result = analyzer(field_name, field_type, field_value) if result: diff --git a/dynamic_parser/core.py b/dynamic_parser/core.py index 07020f8..995b610 100644 --- a/dynamic_parser/core.py +++ b/dynamic_parser/core.py @@ -1,6 +1,6 @@ """ -动态解析器核心模块 -包含主要的解析逻辑、字段推断和结构体解析功能 +Dynamic Parser Core Module +Contains main parsing logic, field inference and struct parsing functionality """ import re @@ -16,15 +16,15 @@ class DynamicEIP712Parser: - """动态 EIP712 解析器核心类""" + """Dynamic EIP712 Parser Core Class""" def __init__(self, enable_nlp: bool = False, nlp_config: Optional[Dict[str, Any]] = None): """ - 初始化动态EIP712解析器 + Initialize dynamic EIP712 parser Args: - enable_nlp: 是否启用NLP自然语言生成功能 - nlp_config: NLP配置字典 + enable_nlp: Whether to enable NLP natural language generation + nlp_config: NLP configuration dictionary """ self.types: Dict[str, List[Dict[str, str]]] = {} self.pattern_matcher = PatternMatcher() @@ -32,36 +32,36 @@ def __init__(self, enable_nlp: bool = False, nlp_config: Optional[Dict[str, Any] self.description_formatter = DescriptionFormatter() self.result_formatter = ResultFormatter() - # NLP自然语言生成功能 + # NLP natural language generation functionality self.enable_nlp = enable_nlp self.nlp_generator = None if enable_nlp: try: self.nlp_generator = create_nlp_generator() - print("🔤 NLP自然语言生成器已启用") + print("🔤 NLP natural language generator enabled") except Exception as e: - print(f"⚠️ NLP自然语言生成器初始化失败: {e}") + print(f"⚠️ NLP natural language generator initialization failed: {e}") self.enable_nlp = False def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: """ - 解析 EIP712 数据 + Parse EIP712 data Args: - eip712_data: EIP712 格式的数据 + eip712_data: EIP712 format data Returns: - 解析结果 + Parsing result """ if not self._validate_eip712_data(eip712_data): - raise ValueError("无效的 EIP712 数据格式") + raise ValueError("Invalid EIP712 data format") self.types = eip712_data['types'] - # 解析域信息 + # Parse domain information domain_struct = self._parse_struct("EIP712Domain", eip712_data['domain']) - # 解析主要消息 + # Parse primary message primary_type = eip712_data['primaryType'] message_struct = self._parse_struct(primary_type, eip712_data['message']) @@ -73,7 +73,7 @@ def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: ) def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: - """验证 EIP712 数据格式""" + """Validate EIP712 data format""" required_fields = ['types', 'domain', 'primaryType', 'message'] for field in required_fields: @@ -90,22 +90,22 @@ def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> StructInfo: """ - 解析结构体(增强版) + Parse struct (enhanced version) Args: - struct_name: 结构体名称 - struct_data: 结构体数据 + struct_name: Struct name + struct_data: Struct data Returns: - 结构体信息 + Struct information """ if struct_name not in self.types: - raise ValueError(f"未找到结构体定义: {struct_name}") + raise ValueError(f"Struct definition not found: {struct_name}") struct_definition = self.types[struct_name] field_names = [field_def['name'] for field_def in struct_definition] - # 检测结构体上下文类型 + # Detect struct context type struct_context = self._detect_struct_context(struct_name, field_names) fields = [] @@ -130,18 +130,18 @@ def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> Struct def _parse_field(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> FieldInfo: """ - 解析字段(增强版) + Parse field (enhanced version) Args: - field_name: 字段名 - field_type: 字段类型 - field_value: 字段值 - struct_context: 结构体上下文 + field_name: Field name + field_type: Field type + field_value: Field value + struct_context: Struct context Returns: - 字段信息 + Field information """ - # 解析类型 + # Parse type is_array = field_type.endswith('[]') array_element_type = None base_type = field_type @@ -150,13 +150,13 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc base_type = field_type[:-2] array_element_type = base_type - # 推断字段类型 + # Infer field type inferred_type = self._infer_field_type(field_name, base_type, field_value) - # 推断语义 + # Infer semantic semantic = self._infer_semantic(field_name, base_type, field_value, struct_context) - # 处理子结构 + # Handle child structures children = [] if base_type in self.types and field_value is not None: if is_array and isinstance(field_value, list): @@ -169,7 +169,7 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc field_type=FieldType.STRUCT, semantic=None, value=item, - description=f"数组元素 {i}", + description=f"Array element {i}", children=[FieldInfo( name=child.name, type_name=child.type_name, @@ -191,12 +191,12 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc description=child.description ) for child in child_struct.fields] - # 收集上下文提示 + # Collect context hints context_hints = [] if struct_context: - context_hints.append(f"结构体类型: {struct_context}") + context_hints.append(f"Struct type: {struct_context}") - # 生成描述 + # Generate description description = self.description_formatter.generate_field_description( field_name, inferred_type, semantic, field_value ) @@ -215,26 +215,26 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc ) def _detect_struct_context(self, struct_name: str, field_names: List[str]) -> Optional[str]: - """检测结构体上下文类型""" + """Detect struct context type""" return self.pattern_matcher.detect_context(struct_name, field_names) def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) -> FieldType: - """推断字段类型(增强版)""" + """Infer field type (enhanced version)""" field_name_lower = field_name.lower() - # 首先使用值分析器 + # First use value analyzer result = self.value_analyzer.analyze_value(field_name, field_type, field_value) if result: return result[0] - # 使用类型模式匹配 + # Use type pattern matching inferred_type = self.pattern_matcher.infer_field_type(field_name, field_type) if inferred_type != FieldType.UNKNOWN: return inferred_type - # 基于字段类型的默认推断 + # Default inference based on field type if field_type.startswith('uint') or field_type.startswith('int'): - # 进一步推断是否为金额、时间戳等 + # Further infer if it's amount, timestamp, etc. if any(keyword in field_name_lower for keyword in ['amount', 'value', 'price', 'fee', 'cost', 'quantity']): return FieldType.AMOUNT elif any(keyword in field_name_lower for keyword in ['time', 'deadline', 'expiry', 'expires', 'timestamp']): @@ -245,7 +245,7 @@ def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) return FieldType.UINT if field_type.startswith('uint') else FieldType.INT elif field_type == 'address': - # 根据字段名推断地址类型 + # Infer address type based on field name if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): return FieldType.TOKEN_ADDRESS elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): @@ -274,16 +274,16 @@ def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) return FieldType.ARRAY else: - return FieldType.STRING # 默认类型 + return FieldType.STRING # Default type def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> Optional[FieldSemantic]: - """推断字段语义""" - # 首先使用值分析器 + """Infer field semantic""" + # First use value analyzer result = self.value_analyzer.analyze_value(field_name, field_type, field_value) if result and result[1]: return result[1] - # 使用语义模式匹配 + # Use semantic pattern matching semantic = self.pattern_matcher.infer_semantic(field_name) if semantic: return semantic @@ -291,51 +291,51 @@ def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, st return None def format_result(self, result: EIP712ParseResult) -> str: - """格式化解析结果为可读文本""" + """Format parsing result as readable text""" return self.result_formatter.format_result(result) def analyze_eip712(self, eip712_data: Dict[str, Any]) -> dict: - """分析EIP712数据并返回结构化结果""" + """Analyze EIP712 data and return structured result""" result = self.parse(eip712_data) return self.result_formatter.format_structured_analysis(result) def parse_and_format(self, eip712_data: Dict[str, Any]) -> str: - """解析并格式化EIP712数据""" + """Parse and format EIP712 data""" result = self.parse(eip712_data) return self.format_result(result) def generate_natural_language(self, eip712_data: Dict[str, Any]) -> NaturalLanguageOutput: """ - 生成自然语言描述 + Generate natural language description Args: - eip712_data: EIP712格式数据 + eip712_data: EIP712 format data Returns: - NaturalLanguageOutput: 自然语言输出结果 + NaturalLanguageOutput: Natural language output result Raises: - ValueError: 如果NLP功能未启用 + ValueError: If NLP functionality is not enabled """ if not self.enable_nlp or not self.nlp_generator: - raise ValueError("NLP自然语言生成功能未启用。请在初始化时设置 enable_nlp=True") + raise ValueError("NLP natural language generation is not enabled. Please set enable_nlp=True during initialization") return self.nlp_generator.convert_to_natural_language(eip712_data) def analyze_with_natural_language(self, eip712_data: Dict[str, Any]) -> dict: """ - 结合传统分析和自然语言生成的完整分析 + Complete analysis combining traditional analysis and natural language generation Args: - eip712_data: EIP712格式数据 + eip712_data: EIP712 format data Returns: - dict: 包含传统分析结果和自然语言描述的完整分析 + dict: Complete analysis including traditional analysis results and natural language description """ - # 进行传统分析 + # Perform traditional analysis traditional_result = self.analyze_eip712(eip712_data) - # 如果启用了NLP功能,添加自然语言描述 + # If NLP is enabled, add natural language description natural_language_result = None if self.enable_nlp and self.nlp_generator: try: @@ -349,7 +349,7 @@ def analyze_with_natural_language(self, eip712_data: Dict[str, Any]) -> dict: "action_summary": nl_output.action_summary } except Exception as e: - print(f"⚠️ 自然语言生成失败: {e}") + print(f"⚠️ Natural language generation failed: {e}") return { "traditional_analysis": traditional_result, diff --git a/dynamic_parser/demo_web_ui.py b/dynamic_parser/demo_web_ui.py index 59a35c0..292462e 100644 --- a/dynamic_parser/demo_web_ui.py +++ b/dynamic_parser/demo_web_ui.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """ -EIP712 签名解析器 Web UI 演示脚本 -展示如何使用Web UI进行签名解析 +EIP712 Signature Parser Web UI Demo Script +Demonstrates how to use the Web UI for signature parsing """ import json @@ -10,74 +10,74 @@ from examples.test_data import ALL_TEST_DATA def print_banner(): - """打印横幅""" + """Print banner""" print("=" * 60) - print("🚀 EIP712 签名解析器 Web UI 演示") + print("🚀 EIP712 Signature Parser Web UI Demo") print("=" * 60) print() def show_test_data(): - """显示测试数据""" - print("📋 可用的测试数据:") + """Show test data""" + print("📋 Available test data:") print("-" * 30) for i, (name, data) in enumerate(ALL_TEST_DATA.items(), 1): print(f"{i}. {name}") - print(f" 类型: {data.get('primaryType', 'Unknown')}") - print(f" 域名: {data.get('domain', {}).get('name', 'Unknown')}") + print(f" Type: {data.get('primaryType', 'Unknown')}") + print(f" Domain: {data.get('domain', {}).get('name', 'Unknown')}") print() def demo_usage(): - """演示使用方法""" - print("🎯 使用方法:") + """Demo usage""" + print("🎯 Usage:") print("-" * 30) - print("1. 启动Web UI:") + print("1. Start Web UI:") print(" python run_ui.py") print() - print("2. 访问浏览器:") + print("2. Visit browser:") print(" http://localhost:5000") print() - print("3. 输入测试数据:") - print(" 点击'加载测试数据'按钮") - print(" 选择一个测试数据样本") + print("3. Input test data:") + print(" Click 'Load Test Data' button") + print(" Select a test data sample") print() - print("4. 解析签名:") - print(" 点击'解析签名'按钮") - print(" 查看解析结果") + print("4. Parse signature:") + print(" Click 'Parse Signature' button") + print(" View parsing results") print() def show_sample_data(): - """显示示例数据""" - print("📄 示例数据 (ERC20 Permit):") + """Show sample data""" + print("📄 Sample data (ERC20 Permit):") print("-" * 30) sample_data = ALL_TEST_DATA.get('ERC20_PERMIT', {}) if sample_data: print(json.dumps(sample_data, indent=2, ensure_ascii=False)) else: - print("未找到示例数据") + print("Sample data not found") print() def show_features(): - """显示功能特性""" - print("✨ 功能特性:") + """Show features""" + print("✨ Features:") print("-" * 30) features = [ - "直观的用户界面", - "实时解析EIP712签名", - "智能字段类型识别", - "NLP自然语言生成", - "多种测试数据样本", - "详细的结构体展示", - "格式化结果显示", - "错误处理和调试信息", - "响应式设计", - "键盘快捷键支持" + "Intuitive user interface", + "Real-time EIP712 signature parsing", + "Smart field type recognition", + "NLP natural language generation", + "Multiple test data samples", + "Detailed struct display", + "Formatted result display", + "Error handling and debug info", + "Responsive design", + "Keyboard shortcut support" ] for feature in features: @@ -85,19 +85,19 @@ def show_features(): print() def show_tips(): - """显示使用技巧""" - print("💡 使用技巧:") + """Show tips""" + print("💡 Tips:") print("-" * 30) tips = [ - "使用 Ctrl+Enter 快速解析签名", - "使用 Ctrl+K 快速清空输入", - "启用NLP功能获得自然语言描述", - "查看'结构详情'标签页了解字段类型", - "使用'导出结果'功能保存解析结果", - "在移动设备上也能完美使用", - "支持复制解析结果到剪贴板", - "查看详细错误信息进行调试" + "Use Ctrl+Enter to quickly parse signature", + "Use Ctrl+K to quickly clear input", + "Enable NLP feature for natural language description", + "View 'Structure Details' tab to understand field types", + "Use 'Export Results' feature to save parsing results", + "Works perfectly on mobile devices", + "Supports copying parsing results to clipboard", + "View detailed error information for debugging" ] for tip in tips: @@ -105,25 +105,25 @@ def show_tips(): print() def main(): - """主函数""" + """Main function""" print_banner() - # 显示功能特性 + # Show features show_features() - # 显示使用方法 + # Show usage demo_usage() - # 显示测试数据 + # Show test data show_test_data() - # 显示使用技巧 + # Show tips show_tips() - # 显示示例数据 + # Show sample data show_sample_data() - print("🎉 准备好了!现在运行 `python run_ui.py` 启动Web UI") + print("🎉 Ready! Now run `python run_ui.py` to start Web UI") print("=" * 60) if __name__ == "__main__": diff --git a/dynamic_parser/examples/openai_test_demo.py b/dynamic_parser/examples/openai_test_demo.py index 6e2fd53..1086a4f 100644 --- a/dynamic_parser/examples/openai_test_demo.py +++ b/dynamic_parser/examples/openai_test_demo.py @@ -1,38 +1,38 @@ """ -OpenAI GPT-4.1-mini测试工具 +OpenAI GPT-4.1-mini Test Tool -使用方法: -python openai_test_demo.py <文件路径> -例如:python openai_test_demo.py ../data/t2_unlimitedPermit.json +Usage: +python openai_test_demo.py +Example: python openai_test_demo.py ../data/t2_unlimitedPermit.json """ import sys import os import json -# 添加父目录到路径 +# Add parent directory to path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from openai_nlp_generator import create_openai_generator, generate_english_with_openai -# 从API密钥文件读取 +# Read from API key file def load_api_key(): - """加载API密钥""" + """Load API key""" api_key_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "api_key.txt") try: with open(api_key_path, 'r') as f: content = f.read().strip() - # 提取OpenAI密钥 + # Extract OpenAI key for line in content.split('\n'): if line.startswith('OpenAI:'): return line.split(':', 1)[1].strip() except Exception as e: - print(f"❌ 无法读取API密钥: {e}") + print(f"❌ Unable to read API key: {e}") return None def find_test_file(file_input): - """查找测试文件""" - # 如果是绝对路径或相对路径,直接使用 + """Find test file""" + # If it's an absolute or relative path, use it directly if os.path.exists(file_input): return file_input diff --git a/dynamic_parser/examples/test_data.py b/dynamic_parser/examples/test_data.py index 94b98a6..c17ef3c 100644 --- a/dynamic_parser/examples/test_data.py +++ b/dynamic_parser/examples/test_data.py @@ -1,9 +1,9 @@ """ -测试数据 -包含各种类型的 EIP712 签名数据用于测试动态解析器 +Test Data +Contains various types of EIP712 signature data for testing the dynamic parser """ -# Seaport NFT 订单数据 +# Seaport NFT order data SEAPORT_ORDER = { "types": { "EIP712Domain": [ @@ -86,7 +86,7 @@ } } -# ERC20 Permit 授权数据 +# ERC20 Permit authorization data ERC20_PERMIT = { "types": { "EIP712Domain": [ @@ -119,7 +119,7 @@ } } -# DAO 治理投票数据 +# DAO governance vote data DAO_VOTE = { "types": { "EIP712Domain": [ @@ -152,7 +152,7 @@ } } -# 自定义复杂结构数据 +# Custom complex structure data CUSTOM_TRANSACTION = { "types": { "EIP712Domain": [ @@ -202,7 +202,7 @@ } } -# LazyNFT Mint 数据 +# LazyNFT Mint data LAZY_NFT_MINT = { "types": { "EIP712Domain": [ @@ -237,7 +237,7 @@ } } -# Snapshot 投票数据 +# Snapshot vote data SNAPSHOT_VOTE = { "types": { "EIP712Domain": [ @@ -272,7 +272,7 @@ } } -# 所有测试数据 +# All test data ALL_TEST_DATA = { "seaport_order": SEAPORT_ORDER, "erc20_permit": ERC20_PERMIT, diff --git a/dynamic_parser/field_types.py b/dynamic_parser/field_types.py index 49bc9c5..dd820ec 100644 --- a/dynamic_parser/field_types.py +++ b/dynamic_parser/field_types.py @@ -1,6 +1,6 @@ """ -动态解析器类型定义 -包含字段类型、语义枚举和数据结构定义 +Dynamic Parser Type Definitions +Contains field types, semantic enumerations and data structure definitions """ from typing import Dict, List, Any, Optional @@ -9,8 +9,8 @@ class FieldType(str, Enum): - """字段类型枚举""" - # 基础类型 + """Field type enumeration""" + # Basic types UINT = "uint" INT = "int" BOOL = "bool" @@ -18,11 +18,11 @@ class FieldType(str, Enum): STRING = "string" ADDRESS = "address" - # 复合类型 + # Composite types ARRAY = "array" STRUCT = "struct" - # 特殊类型(根据语义推断) + # Special types (inferred from semantics) TOKEN_ADDRESS = "token_address" USER_ADDRESS = "user_address" CONTRACT_ADDRESS = "contract_address" @@ -35,13 +35,13 @@ class FieldType(str, Enum): PERCENTAGE = "percentage" ENUM_VALUE = "enum_value" - # 未知类型 + # Unknown type UNKNOWN = "unknown" class FieldSemantic(str, Enum): - """字段语义枚举""" - # 身份相关 + """Field semantic enumeration""" + # Identity related OWNER = "owner" SPENDER = "spender" RECIPIENT = "recipient" @@ -53,7 +53,7 @@ class FieldSemantic(str, Enum): VALIDATOR = "validator" DELEGATE = "delegate" - # 金额相关 + # Amount related VALUE = "value" AMOUNT = "amount" PRICE = "price" @@ -65,7 +65,7 @@ class FieldSemantic(str, Enum): MINIMUM = "minimum" MAXIMUM = "maximum" - # 时间相关 + # Time related TIMESTAMP = "timestamp" DEADLINE = "deadline" START_TIME = "start_time" @@ -74,7 +74,7 @@ class FieldSemantic(str, Enum): DELAY = "delay" PERIOD = "period" - # 标识相关 + # Identifier related TOKEN_ID = "token_id" NONCE = "nonce" SALT = "salt" @@ -83,14 +83,14 @@ class FieldSemantic(str, Enum): KEY = "key" COUNTER = "counter" - # 数据相关 + # Data related DATA = "data" HASH = "hash" SIGNATURE = "signature" PROOF = "proof" MERKLE_ROOT = "merkle_root" - # 配置相关 + # Configuration related VERSION = "version" CHAIN_ID = "chain_id" TYPE = "type" @@ -98,18 +98,18 @@ class FieldSemantic(str, Enum): FLAG = "flag" OPTION = "option" - # 治理相关 + # Governance related PROPOSAL_ID = "proposal_id" VOTE_TYPE = "vote_type" VOTING_POWER = "voting_power" - # NFT相关 + # NFT related COLLECTION = "collection" CREATOR = "creator" ROYALTY = "royalty" METADATA = "metadata" - # DeFi相关 + # DeFi related LIQUIDITY = "liquidity" SLIPPAGE = "slippage" POOL = "pool" @@ -119,32 +119,32 @@ class FieldSemantic(str, Enum): @dataclass class FieldInfo: - """字段信息""" - name: str # 字段名 - type_name: str # 原始类型名 - field_type: FieldType # 推断的字段类型 - semantic: Optional[FieldSemantic] # 语义标注 - value: Any # 字段值 - description: str # 字段描述 - is_array: bool = False # 是否为数组 - array_element_type: Optional[str] = None # 数组元素类型 - children: List['FieldInfo'] = field(default_factory=list) # 子字段(用于结构体) - context_hints: List[str] = field(default_factory=list) # 上下文提示 + """Field information""" + name: str # Field name + type_name: str # Original type name + field_type: FieldType # Inferred field type + semantic: Optional[FieldSemantic] # Semantic annotation + value: Any # Field value + description: str # Field description + is_array: bool = False # Whether it's an array + array_element_type: Optional[str] = None # Array element type + children: List['FieldInfo'] = field(default_factory=list) # Child fields (for structs) + context_hints: List[str] = field(default_factory=list) # Context hints @dataclass class StructInfo: - """结构体信息""" - name: str # 结构体名称 - fields: List[FieldInfo] # 字段列表 - description: str # 结构体描述 - struct_type: Optional[str] = None # 结构体类型分类 + """Struct information""" + name: str # Struct name + fields: List[FieldInfo] # Field list + description: str # Struct description + struct_type: Optional[str] = None # Struct type classification @dataclass class EIP712ParseResult: - """EIP712解析结果""" - domain: StructInfo # 域信息 - primary_type: str # 主要类型 - message: StructInfo # 消息结构 - raw_data: Dict[str, Any] # 原始数据 \ No newline at end of file + """EIP712 parsing result""" + domain: StructInfo # Domain information + primary_type: str # Primary type + message: StructInfo # Message structure + raw_data: Dict[str, Any] # Raw data \ No newline at end of file diff --git a/dynamic_parser/formatters.py b/dynamic_parser/formatters.py index 038a091..612884c 100644 --- a/dynamic_parser/formatters.py +++ b/dynamic_parser/formatters.py @@ -1,6 +1,6 @@ """ -动态解析器格式化器 -包含字段描述生成、结构体描述生成和结果格式化功能 +Dynamic Parser Formatter +Contains field description generation, struct description generation and result formatting functions """ import datetime @@ -9,7 +9,7 @@ class DescriptionFormatter: - """描述格式化器""" + """Description formatter""" def __init__(self): self.semantic_descriptions = self._init_semantic_descriptions() @@ -17,125 +17,125 @@ def __init__(self): self.context_descriptions = self._init_context_descriptions() def _init_semantic_descriptions(self) -> dict: - """初始化语义描述映射""" + """Initialize semantic description mapping""" return { - # 身份相关 - FieldSemantic.OWNER: "拥有者地址", - FieldSemantic.SPENDER: "授权花费者地址", - FieldSemantic.RECIPIENT: "接收者地址", - FieldSemantic.TRADER: "交易者地址", - FieldSemantic.OFFERER: "报价者地址", - FieldSemantic.BIDDER: "竞拍者地址", - FieldSemantic.SELLER: "卖方地址", - FieldSemantic.BUYER: "买方地址", - FieldSemantic.VALIDATOR: "验证者地址", - FieldSemantic.DELEGATE: "委托者地址", - FieldSemantic.CREATOR: "创建者地址", + # Identity related + FieldSemantic.OWNER: "Owner address", + FieldSemantic.SPENDER: "Authorized spender address", + FieldSemantic.RECIPIENT: "Recipient address", + FieldSemantic.TRADER: "Trader address", + FieldSemantic.OFFERER: "Offerer address", + FieldSemantic.BIDDER: "Bidder address", + FieldSemantic.SELLER: "Seller address", + FieldSemantic.BUYER: "Buyer address", + FieldSemantic.VALIDATOR: "Validator address", + FieldSemantic.DELEGATE: "Delegate address", + FieldSemantic.CREATOR: "Creator address", - # 金额相关 - FieldSemantic.VALUE: "数值", - FieldSemantic.AMOUNT: "金额", - FieldSemantic.PRICE: "价格", - FieldSemantic.FEE: "手续费", - FieldSemantic.REWARD: "奖励金额", - FieldSemantic.PENALTY: "惩罚金额", - FieldSemantic.BALANCE: "余额", - FieldSemantic.ALLOWANCE: "授权额度", - FieldSemantic.MINIMUM: "最小值", - FieldSemantic.MAXIMUM: "最大值", - FieldSemantic.LIQUIDITY: "流动性", - FieldSemantic.SLIPPAGE: "滑点", - FieldSemantic.RATE: "比率", - FieldSemantic.YIELD: "收益率", - FieldSemantic.ROYALTY: "版税", + # Amount related + FieldSemantic.VALUE: "Value", + FieldSemantic.AMOUNT: "Amount", + FieldSemantic.PRICE: "Price", + FieldSemantic.FEE: "Fee", + FieldSemantic.REWARD: "Reward amount", + FieldSemantic.PENALTY: "Penalty amount", + FieldSemantic.BALANCE: "Balance", + FieldSemantic.ALLOWANCE: "Allowance", + FieldSemantic.MINIMUM: "Minimum", + FieldSemantic.MAXIMUM: "Maximum", + FieldSemantic.LIQUIDITY: "Liquidity", + FieldSemantic.SLIPPAGE: "Slippage", + FieldSemantic.RATE: "Rate", + FieldSemantic.YIELD: "Yield", + FieldSemantic.ROYALTY: "Royalty", - # 时间相关 - FieldSemantic.TIMESTAMP: "时间戳", - FieldSemantic.DEADLINE: "截止时间", - FieldSemantic.START_TIME: "开始时间", - FieldSemantic.END_TIME: "结束时间", - FieldSemantic.DURATION: "持续时间", - FieldSemantic.DELAY: "延迟时间", - FieldSemantic.PERIOD: "周期", + # Time related + FieldSemantic.TIMESTAMP: "Timestamp", + FieldSemantic.DEADLINE: "Deadline", + FieldSemantic.START_TIME: "Start time", + FieldSemantic.END_TIME: "End time", + FieldSemantic.DURATION: "Duration", + FieldSemantic.DELAY: "Delay", + FieldSemantic.PERIOD: "Period", - # 标识相关 - FieldSemantic.TOKEN_ID: "代币ID", - FieldSemantic.NONCE: "随机数", - FieldSemantic.SALT: "盐值", - FieldSemantic.INDEX: "索引", - FieldSemantic.ID: "标识符", - FieldSemantic.KEY: "键值", - FieldSemantic.COUNTER: "计数器", + # Identifier related + FieldSemantic.TOKEN_ID: "Token ID", + FieldSemantic.NONCE: "Nonce", + FieldSemantic.SALT: "Salt", + FieldSemantic.INDEX: "Index", + FieldSemantic.ID: "Identifier", + FieldSemantic.KEY: "Key", + FieldSemantic.COUNTER: "Counter", - # 数据相关 - FieldSemantic.DATA: "数据", - FieldSemantic.HASH: "哈希值", - FieldSemantic.SIGNATURE: "签名", - FieldSemantic.PROOF: "证明", - FieldSemantic.MERKLE_ROOT: "默克尔根", - FieldSemantic.METADATA: "元数据", + # Data related + FieldSemantic.DATA: "Data", + FieldSemantic.HASH: "Hash", + FieldSemantic.SIGNATURE: "Signature", + FieldSemantic.PROOF: "Proof", + FieldSemantic.MERKLE_ROOT: "Merkle root", + FieldSemantic.METADATA: "Metadata", - # 配置相关 - FieldSemantic.VERSION: "版本号", - FieldSemantic.CHAIN_ID: "链ID", - FieldSemantic.TYPE: "类型", - FieldSemantic.STATUS: "状态", - FieldSemantic.FLAG: "标志", - FieldSemantic.OPTION: "选项", + # Configuration related + FieldSemantic.VERSION: "Version", + FieldSemantic.CHAIN_ID: "Chain ID", + FieldSemantic.TYPE: "Type", + FieldSemantic.STATUS: "Status", + FieldSemantic.FLAG: "Flag", + FieldSemantic.OPTION: "Option", - # 治理相关 - FieldSemantic.PROPOSAL_ID: "提案ID", - FieldSemantic.VOTE_TYPE: "投票类型", - FieldSemantic.VOTING_POWER: "投票权重", + # Governance related + FieldSemantic.PROPOSAL_ID: "Proposal ID", + FieldSemantic.VOTE_TYPE: "Vote type", + FieldSemantic.VOTING_POWER: "Voting power", - # NFT相关 - FieldSemantic.COLLECTION: "合集地址", - FieldSemantic.POOL: "资金池", + # NFT related + FieldSemantic.COLLECTION: "Collection address", + FieldSemantic.POOL: "Pool", } def _init_type_descriptions(self) -> dict: - """初始化类型描述映射""" + """Initialize type description mapping""" return { - FieldType.TOKEN_ADDRESS: "代币合约地址", - FieldType.USER_ADDRESS: "用户地址", - FieldType.CONTRACT_ADDRESS: "合约地址", - FieldType.AMOUNT: "金额数值", - FieldType.TIMESTAMP: "时间戳", - FieldType.NONCE: "随机数", - FieldType.HASH: "哈希值", - FieldType.SIGNATURE: "签名数据", + FieldType.TOKEN_ADDRESS: "Token contract address", + FieldType.USER_ADDRESS: "User address", + FieldType.CONTRACT_ADDRESS: "Contract address", + FieldType.AMOUNT: "Amount value", + FieldType.TIMESTAMP: "Timestamp", + FieldType.NONCE: "Nonce", + FieldType.HASH: "Hash value", + FieldType.SIGNATURE: "Signature data", } def _init_context_descriptions(self) -> dict: - """初始化上下文描述映射""" + """Initialize context description mapping""" return { - "permit": "允许第三方代表用户操作代币", - "order": "定义交易的报价条件和期望", - "vote": "记录对提案的投票决策", - "transfer": "定义资产转移的详细信息", - "mint": "定义新代币的创建参数", - "burn": "定义代币销毁的操作", - "governance": "定义治理提案和执行参数", - "auction": "定义拍卖的竞价和条件", - "swap": "定义代币交换的参数", - "liquidity": "定义流动性操作的参数", + "permit": "Allow third party to operate tokens on behalf of user", + "order": "Define trade offer conditions and expectations", + "vote": "Record voting decision on proposal", + "transfer": "Define asset transfer details", + "mint": "Define new token creation parameters", + "burn": "Define token burning operation", + "governance": "Define governance proposal and execution parameters", + "auction": "Define auction bidding and conditions", + "swap": "Define token swap parameters", + "liquidity": "Define liquidity operation parameters", } def generate_field_description(self, field_name: str, field_type: FieldType, semantic: Optional[FieldSemantic], field_value: Any) -> str: - """生成字段描述""" - base_desc = f"字段 '{field_name}'" + """Generate field description""" + base_desc = f"Field '{field_name}'" - # 添加语义描述 + # Add semantic description if semantic: semantic_desc = self.semantic_descriptions.get(semantic, semantic.value) base_desc += f" ({semantic_desc})" - # 添加类型描述 + # Add type description type_desc = self.type_descriptions.get(field_type) if type_desc: base_desc += f" - {type_desc}" - # 添加值描述 + # Add value description if field_value is not None: value_desc = self._format_field_value(field_type, field_value) if value_desc: @@ -144,13 +144,13 @@ def generate_field_description(self, field_name: str, field_type: FieldType, sem return base_desc def _format_field_value(self, field_type: FieldType, field_value: Any) -> str: - """格式化字段值""" + """Format field value""" if field_type == FieldType.TIMESTAMP and isinstance(field_value, (int, str)): try: timestamp = int(field_value) - if timestamp > 1000000000: # 看起来像时间戳 + if timestamp > 1000000000: # Looks like timestamp dt = datetime.datetime.fromtimestamp(timestamp) - return f"(时间: {dt.strftime('%Y-%m-%d %H:%M:%S')})" + return f"(Time: {dt.strftime('%Y-%m-%d %H:%M:%S')})" except: pass @@ -159,34 +159,34 @@ def _format_field_value(self, field_type: FieldType, field_value: Any) -> str: elif field_type == FieldType.AMOUNT and isinstance(field_value, (int, str)): try: - # 尝试转换为 ETH 单位显示 + # Try to convert to ETH unit display amount = int(field_value) - # 检测无限授权 (常见的无限授权值) + # Detect unlimited approval (common unlimited approval values) # uint256 max: 2^256 - 1 - # 也检测常见的"近似无限"值,如 2^255, 2^128 等 + # Also detect common "near infinite" values like 2^255, 2^128, etc. MAX_UINT256 = 2**256 - 1 - NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # 允许一些浮动 + NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # Allow some floating - # 常见的"无限授权"模式 + # Common "unlimited approval" patterns COMMON_UNLIMITED_VALUES = [ - MAX_UINT256, # 完整的 uint256 最大值 - 2**255 - 1, # 一些协议使用的值 - 2**128 - 1, # 更保守的无限值 + MAX_UINT256, # Full uint256 maximum value + 2**255 - 1, # Values used by some protocols + 2**128 - 1, # More conservative infinite value ] - # 检查是否为无限授权 + # Check if unlimited approval if amount >= NEAR_MAX_THRESHOLD: - return "⚠️ 无限授权 (UNLIMITED)" + return "⚠️ Unlimited approval (UNLIMITED)" elif amount in COMMON_UNLIMITED_VALUES: - return "⚠️ 无限授权 (UNLIMITED)" - elif amount > 10**50: # 任何超过 10^50 的值都视为"实质上的无限" - return "⚠️ 无限授权 (UNLIMITED - 极大数值)" - elif amount > 10**15: # 如果大于 0.001 ETH + return "⚠️ Unlimited approval (UNLIMITED)" + elif amount > 10**50: # Any value over 10^50 is considered "effectively infinite" + return "⚠️ Unlimited approval (UNLIMITED - Very large value)" + elif amount > 10**15: # If greater than 0.001 ETH eth_amount = amount / 10**18 - return f"({eth_amount:.6f} 代币)" + return f"({eth_amount:.6f} tokens)" else: - return f"({amount} 单位)" + return f"({amount} units)" except: return f"({field_value})" @@ -196,70 +196,70 @@ def _format_field_value(self, field_type: FieldType, field_value: Any) -> str: return "" def generate_struct_description(self, struct_name: str, fields: List[FieldInfo], struct_context: Optional[str] = None) -> str: - """生成结构体描述""" - # 根据结构体名称和字段推断用途 + """Generate struct description""" + # Infer purpose from struct name and fields if struct_name == "EIP712Domain": - return "EIP712 域信息 - 定义签名的域和验证上下文" + return "EIP712 Domain Information - Define signature domain and verification context" - # 使用检测到的上下文 + # Use detected context if struct_context and struct_context in self.context_descriptions: context_desc = self.context_descriptions[struct_context] - return f"{self._get_struct_type_name(struct_context)}结构 '{struct_name}' - {context_desc}" + return f"{self._get_struct_type_name(struct_context)} structure '{struct_name}' - {context_desc}" - # 根据字段推断结构体用途(后备方案) + # Infer struct purpose from fields (fallback) field_names = [field.name.lower() for field in fields] if any(name in field_names for name in ['offerer', 'offer', 'consideration']): - return f"市场订单结构 '{struct_name}' - 包含交易报价和期望条件" + return f"Market order structure '{struct_name}' - Contains trade offer and expected conditions" elif any(name in field_names for name in ['spender', 'value', 'deadline']): - return f"授权许可结构 '{struct_name}' - 包含代币授权信息" + return f"Authorization permit structure '{struct_name}' - Contains token authorization information" elif any(name in field_names for name in ['to', 'value', 'data']): - return f"交易结构 '{struct_name}' - 包含交易目标和数据" + return f"Transaction structure '{struct_name}' - Contains transaction target and data" elif any(name in field_names for name in ['voter', 'proposal', 'support']): - return f"治理投票结构 '{struct_name}' - 包含投票决策信息" + return f"Governance vote structure '{struct_name}' - Contains voting decision information" else: - return f"数据结构 '{struct_name}' - 包含 {len(fields)} 个字段" + return f"Data structure '{struct_name}' - Contains {len(fields)} fields" def _get_struct_type_name(self, struct_context: str) -> str: - """获取结构体类型名称""" + """Get struct type name""" type_names = { - "permit": "授权许可", - "order": "市场订单", - "vote": "治理投票", - "transfer": "转账", - "mint": "铸造", - "burn": "销毁", - "governance": "治理", - "auction": "拍卖", - "swap": "交换", - "liquidity": "流动性", + "permit": "Authorization permit", + "order": "Market order", + "vote": "Governance vote", + "transfer": "Transfer", + "mint": "Mint", + "burn": "Burn", + "governance": "Governance", + "auction": "Auction", + "swap": "Swap", + "liquidity": "Liquidity", } - return type_names.get(struct_context, "数据") + return type_names.get(struct_context, "Data") class ResultFormatter: - """结果格式化器""" + """Result formatter""" def format_result(self, result: EIP712ParseResult) -> str: - """格式化解析结果为可读文本""" + """Format parsing result as readable text""" lines = [] lines.append("=" * 60) - lines.append("EIP712 签名结构解析结果") + lines.append("EIP712 Signature Structure Parsing Result") lines.append("=" * 60) - # 域信息 - lines.append(f"\n域信息 ({result.domain.name}):") - lines.append(f" 描述: {result.domain.description}") + # Domain information + lines.append(f"\nDomain Information ({result.domain.name}):") + lines.append(f" Description: {result.domain.description}") for field in result.domain.fields: lines.append(f" • {field.description}") - # 主要消息 - lines.append(f"\n主要消息 ({result.primary_type}):") - lines.append(f" 描述: {result.message.description}") - lines.append(f" 字段数量: {len(result.message.fields)}") + # Primary message + lines.append(f"\nPrimary Message ({result.primary_type}):") + lines.append(f" Description: {result.message.description}") + lines.append(f" Field count: {len(result.message.fields)}") - lines.append(f"\n消息结构树:") + lines.append(f"\nMessage structure tree:") self._format_struct_tree(result.message, lines, indent=" ") lines.append("\n" + "=" * 60) @@ -267,7 +267,7 @@ def format_result(self, result: EIP712ParseResult) -> str: return "\n".join(lines) def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str = ""): - """格式化结构体树""" + """Format struct tree""" for i, field in enumerate(struct.fields): is_last = i == len(struct.fields) - 1 tree_char = "└── " if is_last else "├── " @@ -275,7 +275,7 @@ def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str lines.append(f"{indent}{tree_char}{field.description}") - # 递归显示子字段 + # Recursively display child fields if field.children: for j, child in enumerate(field.children): child_is_last = j == len(field.children) - 1 @@ -283,7 +283,7 @@ def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str lines.append(f"{next_indent}{child_tree_char}{child.description}") def format_structured_analysis(self, result: EIP712ParseResult) -> dict: - """格式化为结构化分析结果""" + """Format as structured analysis result""" return { "primary_type": result.primary_type, "message_description": result.message.description, diff --git a/dynamic_parser/nlp_natural_language_generator.py b/dynamic_parser/nlp_natural_language_generator.py index 49767a6..76f2223 100644 --- a/dynamic_parser/nlp_natural_language_generator.py +++ b/dynamic_parser/nlp_natural_language_generator.py @@ -1,6 +1,6 @@ """ -NLP自然语言生成器 -使用模板系统将结构化数据转换为流畅的中文描述 +NLP Natural Language Generator +Uses template system to convert structured data into fluent English descriptions """ import json @@ -11,99 +11,99 @@ @dataclass class NaturalLanguageOutput: - """自然语言输出结果""" - title: str # 标题描述 - summary: str # 简要总结 - detailed_description: str # 详细描述 - field_descriptions: List[str] # 字段描述列表 - context: str # 上下文说明 - action_summary: str # 操作总结 + """Natural language output result""" + title: str # Title description + summary: str # Brief summary + detailed_description: str # Detailed description + field_descriptions: List[str] # Field description list + context: str # Context explanation + action_summary: str # Action summary class StructuredDataToNLConverter: - """结构化数据到自然语言转换器""" + """Structured data to natural language converter""" def __init__(self): """ - 初始化NLP生成器 + Initialize NLP generator """ - # 初始化模板和映射 + # Initialize templates and mappings self._init_templates() self._init_semantic_mappings() def _init_templates(self): - """初始化自然语言模板""" + """Initialize natural language templates""" self.action_templates = { - "permit": "这是一个代币授权操作,{owner}正在授权{spender}可以代表其花费最多{value}个代币,授权有效期至{deadline}。", - "order": "这是一个市场订单,{offerer}正在出售{offer_items},期望获得{consideration_items}作为交换。", - "vote": "这是一个治理投票,{voter}对提案{proposal}投出了{support}票。", - "transfer": "这是一个转账操作,将{amount}从{from}转移到{to}。", - "mint": "这是一个铸币操作,为{recipient}铸造{amount}个代币。", - "burn": "这是一个销毁操作,销毁{amount}个代币。", - "swap": "这是一个代币交换操作,用{input_amount}个{input_token}兑换{output_amount}个{output_token}。" + "permit": "This is a token authorization operation, {owner} is authorizing {spender} to spend up to {value} tokens on their behalf, authorization valid until {deadline}.", + "order": "This is a marketplace order, {offerer} is selling {offer_items}, expecting to receive {consideration_items} in exchange.", + "vote": "This is a governance vote, {voter} voted {support} on proposal {proposal}.", + "transfer": "This is a transfer operation, transferring {amount} from {from} to {to}.", + "mint": "This is a minting operation, minting {amount} tokens for {recipient}.", + "burn": "This is a burn operation, burning {amount} tokens.", + "swap": "This is a token swap operation, exchanging {input_amount} {input_token} for {output_amount} {output_token}." } self.context_descriptions = { - "permit": "代币授权许可", - "order": "市场交易订单", - "vote": "治理投票决策", - "transfer": "资产转移", - "mint": "代币铸造", - "burn": "代币销毁", - "swap": "代币交换", - "governance": "治理操作", - "auction": "拍卖竞价", - "liquidity": "流动性操作" + "permit": "Token authorization permit", + "order": "Marketplace trading order", + "vote": "Governance voting decision", + "transfer": "Asset transfer", + "mint": "Token minting", + "burn": "Token burning", + "swap": "Token swap", + "governance": "Governance operation", + "auction": "Auction bidding", + "liquidity": "Liquidity operation" } def _init_semantic_mappings(self): - """初始化语义映射""" + """Initialize semantic mappings""" self.field_semantic_map = { - "owner": "代币持有者", - "spender": "授权支出者", - "recipient": "接收者", - "offerer": "出价者", - "bidder": "竞拍者", - "voter": "投票者", - "value": "数量", - "amount": "金额", - "price": "价格", - "fee": "手续费", - "deadline": "截止时间", - "timestamp": "时间戳", - "startTime": "开始时间", - "endTime": "结束时间", - "nonce": "防重放随机数", - "chainId": "区块链网络ID", - "verifyingContract": "验证合约地址", - "token": "代币合约地址", - "tokenId": "代币ID", - "salt": "盐值", - "counter": "计数器" + "owner": "Token holder", + "spender": "Authorized spender", + "recipient": "Recipient", + "offerer": "Offerer", + "bidder": "Bidder", + "voter": "Voter", + "value": "Amount", + "amount": "Amount", + "price": "Price", + "fee": "Fee", + "deadline": "Deadline", + "timestamp": "Timestamp", + "startTime": "Start time", + "endTime": "End time", + "nonce": "Anti-replay nonce", + "chainId": "Blockchain network ID", + "verifyingContract": "Verifying contract address", + "token": "Token contract address", + "tokenId": "Token ID", + "salt": "Salt value", + "counter": "Counter" } def convert_to_natural_language(self, eip712_data: Dict[str, Any]) -> NaturalLanguageOutput: """ - 将EIP712结构化数据转换为自然语言描述 + Convert EIP712 structured data to natural language description Args: - eip712_data: EIP712格式的结构化数据 + eip712_data: Structured data in EIP712 format Returns: - NaturalLanguageOutput: 自然语言输出结果 + NaturalLanguageOutput: Natural language output result """ - # 分析数据结构 + # Analyze data structure primary_type = eip712_data.get("primaryType", "") domain = eip712_data.get("domain", {}) message = eip712_data.get("message", {}) types = eip712_data.get("types", {}) - # 推断操作类型 + # Infer operation type operation_type = self._infer_operation_type(primary_type, message, types) - # 生成各部分描述 + # Generate descriptions for each part title = self._generate_title(operation_type, primary_type, domain) summary = self._generate_summary(operation_type, message, domain) detailed_description = self._generate_detailed_description(operation_type, message, types) @@ -121,10 +121,10 @@ def convert_to_natural_language(self, eip712_data: Dict[str, Any]) -> NaturalLan ) def _infer_operation_type(self, primary_type: str, message: Dict, types: Dict) -> str: - """推断操作类型""" + """Infer operation type""" primary_lower = primary_type.lower() - # 基于主类型推断 + # Infer based on primary type if "permit" in primary_lower: return "permit" elif "order" in primary_lower or "offer" in str(message): @@ -140,7 +140,7 @@ def _infer_operation_type(self, primary_type: str, message: Dict, types: Dict) - elif "swap" in primary_lower: return "swap" - # 基于字段推断 + # Infer based on fields message_fields = set(message.keys()) if {"owner", "spender", "value"}.issubset(message_fields): return "permit" @@ -152,54 +152,54 @@ def _infer_operation_type(self, primary_type: str, message: Dict, types: Dict) - return "general" def _generate_title(self, operation_type: str, primary_type: str, domain: Dict) -> str: - """生成标题""" - app_name = domain.get("name", "未知应用") - context_name = self.context_descriptions.get(operation_type, "数据结构") + """Generate title""" + app_name = domain.get("name", "Unknown App") + context_name = self.context_descriptions.get(operation_type, "Data Structure") return f"{app_name} - {context_name} ({primary_type})" def _generate_summary(self, operation_type: str, message: Dict, domain: Dict) -> str: - """生成摘要""" - app_name = domain.get("name", "应用") + """Generate summary""" + app_name = domain.get("name", "App") if operation_type == "permit": owner = self._format_address(message.get("owner", "")) spender = self._format_address(message.get("spender", "")) value = self._format_amount(message.get("value", "")) - return f"在{app_name}中,地址{owner}授权地址{spender}可以代表其使用最多{value}的代币。" + return f"In {app_name}, address {owner} authorizes address {spender} to use up to {value} tokens on their behalf." elif operation_type == "order": offerer = self._format_address(message.get("offerer", "")) - return f"在{app_name}中,地址{offerer}创建了一个市场交易订单。" + return f"In {app_name}, address {offerer} created a marketplace trading order." elif operation_type == "vote": voter = self._format_address(message.get("voter", "")) - return f"在{app_name}治理系统中,地址{voter}进行了投票操作。" + return f"In {app_name} governance system, address {voter} performed a voting operation." else: - return f"在{app_name}中进行的{self.context_descriptions.get(operation_type, '数据')}操作。" + return f"{self.context_descriptions.get(operation_type, 'Data')} operation performed in {app_name}." def _generate_detailed_description(self, operation_type: str, message: Dict, types: Dict) -> str: - """生成详细描述""" + """Generate detailed description""" return self._generate_template_description(operation_type, message) def _generate_template_description(self, operation_type: str, message: Dict) -> str: - """基于模板生成描述""" + """Generate description based on template""" if operation_type == "permit": owner = self._format_address(message.get("owner")) spender = self._format_address(message.get("spender")) value = self._format_amount(message.get("value")) deadline = self._format_timestamp(message.get("deadline")) - nonce = message.get("nonce", "未指定") + nonce = message.get("nonce", "Not specified") - return f"""这是一个ERC-20代币授权许可操作。具体详情如下: + return f"""This is an ERC-20 token authorization permit operation. Details are as follows: -授权方:{owner} -被授权方:{spender} -授权金额:{value} -授权截止时间:{deadline} -防重放随机数:{nonce} +Authorizer: {owner} +Authorized: {spender} +Authorization Amount: {value} +Authorization Deadline: {deadline} +Anti-replay Nonce: {nonce} -该授权允许被授权方在截止时间之前,代表授权方花费指定数量的代币,常用于DeFi协议中的代币交换和流动性操作。""" +This authorization allows the authorized party to spend the specified amount of tokens on behalf of the authorizer before the deadline, commonly used in DeFi protocols for token swaps and liquidity operations.""" elif operation_type == "order": offerer = self._format_address(message.get("offerer")) @@ -208,27 +208,27 @@ def _generate_template_description(self, operation_type: str, message: Dict) -> start_time = self._format_timestamp(message.get("startTime")) end_time = self._format_timestamp(message.get("endTime")) - offer_desc = self._describe_items(offer, "出售") - consideration_desc = self._describe_items(consideration, "期望获得") + offer_desc = self._describe_items(offer, "selling") + consideration_desc = self._describe_items(consideration, "expecting to receive") - return f"""这是一个NFT/代币市场交易订单。具体详情如下: + return f"""This is an NFT/Token marketplace trading order. Details are as follows: -出价者:{offerer} +Offerer: {offerer} {offer_desc} {consideration_desc} -订单生效时间:{start_time} -订单截止时间:{end_time} +Order Start Time: {start_time} +Order End Time: {end_time} -该订单定义了一个去中心化市场中的交易意向,任何人都可以在有效期内执行此订单完成交易。""" +This order defines a trading intent in a decentralized marketplace, anyone can execute this order within the validity period to complete the transaction.""" else: field_count = len(message) - return f"这是一个包含{field_count}个字段的区块链数据结构,用于在去中心化应用中执行特定的操作或记录重要信息。" + return f"This is a blockchain data structure containing {field_count} fields, used to execute specific operations or record important information in decentralized applications." def _generate_field_descriptions(self, message: Dict, type_fields: List[Dict]) -> List[str]: - """生成字段描述列表""" + """Generate field description list""" descriptions = [] for field_def in type_fields: @@ -244,61 +244,61 @@ def _generate_field_descriptions(self, message: Dict, type_fields: List[Dict]) - return descriptions def _generate_context_description(self, operation_type: str, domain: Dict) -> str: - """生成上下文描述""" - app_name = domain.get("name", "未知应用") + """Generate context description""" + app_name = domain.get("name", "Unknown App") version = domain.get("version", "") chain_id = domain.get("chainId", "") chain_name = self._get_chain_name(chain_id) version_text = f"v{version}" if version else "" - return f"此操作发生在{chain_name}网络上的{app_name}{version_text}应用中。" + return f"This operation occurs in {app_name}{version_text} application on the {chain_name} network." def _generate_action_summary(self, operation_type: str, message: Dict) -> str: - """生成操作总结""" + """Generate action summary""" if operation_type == "permit": - return f"授权代币使用权限给第三方地址" + return f"Authorize token usage permission to third-party address" elif operation_type == "order": - return f"创建去中心化市场交易订单" + return f"Create decentralized marketplace trading order" elif operation_type == "vote": - return f"参与去中心化治理投票" + return f"Participate in decentralized governance voting" elif operation_type == "transfer": - return f"执行资产转移操作" + return f"Execute asset transfer operation" else: - return f"执行{self.context_descriptions.get(operation_type, '区块链')}操作" + return f"Execute {self.context_descriptions.get(operation_type, 'blockchain')} operation" def _format_address(self, address: str) -> str: - """格式化地址显示""" + """Format address display""" if not address or len(address) < 10: return address return f"{address[:6]}...{address[-4:]}" def _format_amount(self, amount: Any) -> str: - """格式化金额显示""" + """Format amount display""" try: amount_int = int(amount) - # 假设是18位小数的代币 - if amount_int > 10**15: # 大于0.001个代币 + # Assume 18 decimal places for tokens + if amount_int > 10**15: # Greater than 0.001 tokens eth_amount = amount_int / 10**18 - return f"{eth_amount:.6f} 代币" + return f"{eth_amount:.6f} tokens" else: - return f"{amount_int} 单位" + return f"{amount_int} units" except: return str(amount) def _format_timestamp(self, timestamp: Any) -> str: - """格式化时间戳""" + """Format timestamp""" try: ts = int(timestamp) - if ts > 1000000000: # Unix时间戳 + if ts > 1000000000: # Unix timestamp dt = datetime.datetime.fromtimestamp(ts) - return dt.strftime("%Y年%m月%d日 %H:%M:%S") + return dt.strftime("%Y-%m-%d %H:%M:%S") except: pass return str(timestamp) def _format_field_value(self, field_name: str, value: Any, field_type: str) -> str: - """格式化字段值""" + """Format field value""" if "address" in field_type.lower() or field_name.lower().endswith(("er", "to", "from")): return self._format_address(str(value)) elif field_name.lower() in ["deadline", "timestamp", "starttime", "endtime"]: @@ -306,16 +306,16 @@ def _format_field_value(self, field_name: str, value: Any, field_type: str) -> s elif field_name.lower() in ["value", "amount", "price"] and isinstance(value, (int, str)): return self._format_amount(value) elif isinstance(value, list): - return f"包含{len(value)}个项目的数组" + return f"Array containing {len(value)} items" elif isinstance(value, dict): - return f"包含{len(value)}个字段的对象" + return f"Object containing {len(value)} fields" else: return str(value) def _describe_items(self, items: List[Dict], action: str) -> str: - """描述物品列表""" + """Describe item list""" if not items: - return f"{action}:无" + return f"{action}: None" descriptions = [] for i, item in enumerate(items): @@ -329,36 +329,36 @@ def _describe_items(self, items: List[Dict], action: str) -> str: elif item_type == 1: # ERC20 token_addr = self._format_address(token) formatted_amount = self._format_amount(amount) - descriptions.append(f" {i+1}. {formatted_amount} (代币: {token_addr})") + descriptions.append(f" {i+1}. {formatted_amount} (Token: {token_addr})") elif item_type == 2: # ERC721 token_id = item.get("identifierOrCriteria", "") token_addr = self._format_address(token) - descriptions.append(f" {i+1}. NFT #{token_id} (合约: {token_addr})") + descriptions.append(f" {i+1}. NFT #{token_id} (Contract: {token_addr})") else: - descriptions.append(f" {i+1}. 其他类型物品") + descriptions.append(f" {i+1}. Other type item") - return f"{action}:\n" + "\n".join(descriptions) + return f"{action}:\n" + "\n".join(descriptions) def _get_chain_name(self, chain_id: Any) -> str: - """获取链名称""" + """Get chain name""" chain_names = { - 1: "以太坊主网", - 5: "Goerli测试网", - 11155111: "Sepolia测试网", - 137: "Polygon主网", - 56: "BSC主网" + 1: "Ethereum Mainnet", + 5: "Goerli Testnet", + 11155111: "Sepolia Testnet", + 137: "Polygon Mainnet", + 56: "BSC Mainnet" } try: - return chain_names.get(int(chain_id), f"链ID {chain_id}") + return chain_names.get(int(chain_id), f"Chain ID {chain_id}") except: - return "未知网络" + return "Unknown Network" def create_nlp_generator() -> StructuredDataToNLConverter: """ - 创建NLP自然语言生成器实例 + Create NLP natural language generator instance Returns: - StructuredDataToNLConverter: 生成器实例 + StructuredDataToNLConverter: Generator instance """ return StructuredDataToNLConverter() \ No newline at end of file diff --git a/dynamic_parser/openai_nlp_generator.py b/dynamic_parser/openai_nlp_generator.py index 2fbce04..11e1979 100644 --- a/dynamic_parser/openai_nlp_generator.py +++ b/dynamic_parser/openai_nlp_generator.py @@ -1,6 +1,6 @@ """ -OpenAI GPT-4.1-mini集成的NLP生成器 -基于参数提取的英文自然语言生成 +OpenAI GPT-4.1-mini integrated NLP generator +English natural language generation based on parameter extraction """ import openai @@ -13,7 +13,7 @@ @dataclass class EnglishNLOutput: - """英文自然语言输出结果""" + """English natural language output result""" title: str summary: str detailed_description: str @@ -23,24 +23,24 @@ class EnglishNLOutput: risk_explanation: str class OpenAINLPGenerator: - """基于OpenAI GPT-4.1-mini的英文NLP生成器""" + """English NLP generator based on OpenAI GPT-4.1-mini""" def __init__(self, api_key: str): - """初始化OpenAI客户端""" + """Initialize OpenAI client""" self.client = openai.OpenAI(api_key=api_key) self.model = "gpt-4-1106-preview" # GPT-4.1-mini - # 成本跟踪 + # Cost tracking self.total_cost = 0.0 self.request_count = 0 def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: - """从EIP712数据中提取关键参数""" + """Extract key parameters from EIP712 data""" primary_type = eip712_data.get("primaryType", "") domain = eip712_data.get("domain", {}) message = eip712_data.get("message", {}) - # 提取核心信息 + # Extract core information extracted = { "operation_type": primary_type.lower(), "app_name": domain.get("name", "Unknown App"), @@ -49,7 +49,7 @@ def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: "contract": domain.get("verifyingContract", "")[:10] + "..." if domain.get("verifyingContract") else "", } - # 根据操作类型提取特定字段 + # Extract specific fields based on operation type if "permit" in primary_type.lower(): extracted.update({ "owner": self._format_address(message.get("owner", "")), @@ -74,14 +74,14 @@ def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: "reason": message.get("reason", "")[:50] + "..." if len(message.get("reason", "")) > 50 else message.get("reason", "") }) elif "mint" in primary_type.lower() or "voucher" in primary_type.lower(): - # NFT mint 操作 + # NFT mint operation extracted.update({ "recipient": self._format_address(message.get("to", message.get("recipient", message.get("redeemer", "")))), "token_id": message.get("tokenId", message.get("minPrice", "")), "amount": message.get("amount", "1") }) elif "bridge" in primary_type.lower() or "destinationchainid" in str(message).lower(): - # Bridge/跨链桥 操作 + # Bridge/Cross-chain bridge operation token_address = message.get("token", "") token_symbol = self._get_token_symbol(token_address) amount_raw = message.get("amount", message.get("value", 0)) @@ -98,13 +98,13 @@ def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: "deadline": self._format_timestamp(message.get("deadline", 0)) }) elif "intent" in primary_type.lower() or "relay" in primary_type.lower() or "metatx" in primary_type.lower(): - # Meta Transaction / Relay 操作 + # Meta Transaction / Relay operation extracted.update({ "from": self._format_address(message.get("from", "")), "to": self._format_address(message.get("to", "")), "value": self._format_amount(message.get("value", 0)), "has_calldata": bool(message.get("callData") or message.get("data")), - "calldata_length": len(str(message.get("callData", message.get("data", "0x")))) - 2, # 减去 0x + "calldata_length": len(str(message.get("callData", message.get("data", "0x")))) - 2, # Remove 0x prefix "gas_fee": self._format_amount(message.get("gasFee", message.get("fee", 0))), "deadline": self._format_timestamp(message.get("deadline", 0)), "note": message.get("note", "")[:50] + "..." if len(message.get("note", "")) > 50 else message.get("note", "") @@ -114,10 +114,10 @@ def extract_key_parameters(self, eip712_data: Dict[str, Any]) -> Dict[str, Any]: @lru_cache(maxsize=50) def generate_english_description(self, params_hash: str, params_json: str) -> EnglishNLOutput: - """生成英文描述(带缓存)""" + """Generate English description (with cache)""" params = json.loads(params_json) - # 构建精简的提示词 + # Build concise prompt prompt = self._build_prompt(params) try: @@ -136,11 +136,11 @@ def generate_english_description(self, params_hash: str, params_json: str) -> En } ], temperature=0.3, - max_tokens=100, # 增加到100,避免描述被截断 + max_tokens=100, # Increased to 100 to avoid truncation timeout=15 ) - # 计算成本 + # Calculate cost usage = response.usage cost = self._calculate_cost(usage.prompt_tokens, usage.completion_tokens) self.total_cost += cost @@ -149,25 +149,25 @@ def generate_english_description(self, params_hash: str, params_json: str) -> En response_time = time.time() - start_time print(f"✅ OpenAI API call completed in {response_time:.2f}s, Cost: {cost:.6f}") - # 解析响应 + # Parse response return self._parse_response(response.choices[0].message.content, params) except Exception as e: print(f"❌ OpenAI API error: {e}") - # 降级到模板生成 + # Fallback to template generation return self._fallback_template_generation(params) def _build_prompt(self, params: Dict[str, Any]) -> str: - """构建优化的提示词""" + """Build optimized prompt""" operation_type = params.get("operation_type", "operation") app_name = params.get("app_name", "Unknown") - # 构建简洁的核心信息 + # Build concise core information if operation_type == "permit": amount = params.get("amount", "tokens") deadline = params.get("deadline", "") - # 格式化deadline信息 + # Format deadline information deadline_text = "" if deadline: try: @@ -178,7 +178,7 @@ def _build_prompt(self, params: Dict[str, Any]) -> str: except: deadline_text = f" until deadline {deadline}" - # 特别处理无限授权 + # Special handling for unlimited approval if "UNLIMITED" in str(amount): return f"User is signing a permit for UNLIMITED spending authorization in {app_name}{deadline_text}. This is an infinite approval that allows spending any amount. Explain this clearly including the unlimited nature and deadline:" else: @@ -205,7 +205,7 @@ def _build_prompt(self, params: Dict[str, Any]) -> str: value = params.get("value", "0") gas_fee = params.get("gas_fee", "unknown") - # 检测可疑地址 + # Detect suspicious address is_suspicious = "9999" in to_address or "0000" in to_address if has_calldata: @@ -219,23 +219,23 @@ def _build_prompt(self, params: Dict[str, Any]) -> str: return f"User is signing a {operation_type} operation in {app_name}. Explain in 1 simple sentence what they are authorizing:" def _parse_response(self, response_text: str, params: Dict[str, Any]) -> EnglishNLOutput: - """解析GPT响应为结构化输出""" + """Parse GPT response into structured output""" operation_type = params.get("operation_type", "operation") app_name = params.get("app_name", "Unknown App") - # 生成标题 + # Generate title title = f"{app_name} - {operation_type.title()} Operation" - # 使用GPT响应作为主要描述 + # Use GPT response as main description description = response_text.strip() - # 生成技术细节 + # Generate technical details tech_details = self._generate_technical_details(params) - # 生成上下文 + # Generate context context = self._generate_context(params) - # 评估风险等级和解释 + # Assess risk level and explanation risk_level, risk_explanation = self._assess_risk_level(params) return EnglishNLOutput( @@ -249,7 +249,7 @@ def _parse_response(self, response_text: str, params: Dict[str, Any]) -> English ) def _fallback_template_generation(self, params: Dict[str, Any]) -> EnglishNLOutput: - """API失败时的模板生成""" + """Template generation when API fails""" operation_type = params.get("operation_type", "operation") app_name = params.get("app_name", "Unknown App") @@ -273,18 +273,18 @@ def _fallback_template_generation(self, params: Dict[str, Any]) -> EnglishNLOutp ) def _calculate_cost(self, input_tokens: int, output_tokens: int) -> float: - """计算API调用成本""" + """Calculate API call cost""" # GPT-4.1-mini pricing: $0.40/1M input, $1.60/1M output input_cost = (input_tokens / 1_000_000) * 0.40 output_cost = (output_tokens / 1_000_000) * 1.60 return input_cost + output_cost def _get_token_symbol(self, token_address: str) -> str: - """根据合约地址识别常见 token""" + """Identify common token by contract address""" if not token_address or not isinstance(token_address, str): return "tokens" - # 常见的 token 地址(以太坊主网) + # Common token addresses (Ethereum mainnet) KNOWN_TOKENS = { "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "USDC", "0xdac17f958d2ee523a2206206994597c13d831ec7": "USDT", @@ -298,31 +298,31 @@ def _get_token_symbol(self, token_address: str) -> str: return KNOWN_TOKENS.get(token_address.lower(), "tokens") def _format_token_amount(self, amount: Any, token_symbol: str = "tokens") -> str: - """根据 token 类型格式化金额""" + """Format amount by token type""" try: amount_int = int(amount) - # 根据 token 类型使用不同的小数位 + # Use different decimal places based on token type if token_symbol in ["USDC", "USDT"]: - # 6位小数 + # 6 decimal places token_amount = amount_int / 10**6 if token_amount >= 1: return f"{token_amount:,.2f} {token_symbol}" else: return f"{token_amount:.6f} {token_symbol}" elif token_symbol in ["WBTC"]: - # 8位小数 + # 8 decimal places token_amount = amount_int / 10**8 return f"{token_amount:.8f} {token_symbol}".rstrip('0').rstrip('.') elif token_symbol in ["DAI", "WETH", "LINK", "UNI"]: - # 18位小数 + # 18 decimal places token_amount = amount_int / 10**18 if token_amount >= 1: return f"{token_amount:,.4f} {token_symbol}" else: return f"{token_amount:.6f} {token_symbol}" else: - # 默认显示为 units(无法确定小数位) + # Default display as units (unable to determine decimal places) if amount_int >= 1000: return f"{amount_int:,} units" else: @@ -331,50 +331,50 @@ def _format_token_amount(self, amount: Any, token_symbol: str = "tokens") -> str return str(amount) def _format_address(self, address: str) -> str: - """格式化地址""" + """Format address""" if not address or len(address) < 10: return address return f"{address[:6]}...{address[-4:]}" def _format_amount(self, amount: Any) -> str: - """格式化金额,识别无限授权""" + """Format amount, detect unlimited approval""" try: amount_int = int(amount) - # 检测无限授权 (常见的无限授权值) + # Detect unlimited approval (common unlimited approval values) # uint256 max: 2^256 - 1 - # 也检测常见的"近似无限"值,如 2^255, 2^128 等 + # Also detect common "near infinite" values like 2^255, 2^128, etc. MAX_UINT256 = 2**256 - 1 - NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # 允许一些浮动 + NEAR_MAX_THRESHOLD = MAX_UINT256 - 10**15 # Allow some floating - # 常见的"无限授权"模式 + # Common "unlimited approval" patterns COMMON_UNLIMITED_VALUES = [ - MAX_UINT256, # 完整的 uint256 最大值 - 2**255 - 1, # 一些协议使用的值 - 2**128 - 1, # 更保守的无限值 + MAX_UINT256, # Full uint256 maximum value + 2**255 - 1, # Values used by some protocols + 2**128 - 1, # More conservative infinite value ] - # 检查是否为无限授权 - # 1. 检查是否接近 uint256 最大值 + # Check if unlimited approval + # 1. Check if close to uint256 maximum if amount_int >= NEAR_MAX_THRESHOLD: return "UNLIMITED (infinite approval)" - # 2. 检查是否是常见的无限授权值 + # 2. Check if common unlimited approval value elif amount_int in COMMON_UNLIMITED_VALUES: return "UNLIMITED (infinite approval)" - # 3. 任何超过 10^50 的值都视为"实质上的无限"(比所有可能的代币供应量都大) + # 3. Any value over 10^50 is considered "effectively infinite" (larger than all possible token supplies) elif amount_int > 10**50: return "UNLIMITED (infinite approval)" - # 4. 正常的代币金额 - elif amount_int >= 10**18: # 18位小数 (ETH, DAI, etc.) + # 4. Normal token amount + elif amount_int >= 10**18: # 18 decimal places (ETH, DAI, etc.) eth_amount = amount_int / 10**18 return f"{eth_amount:,.6f} tokens".rstrip('0').rstrip('.') - elif amount_int >= 10**6: # 6位小数 (USDC, USDT) + elif amount_int >= 10**6: # 6 decimal places (USDC, USDT) token_amount = amount_int / 10**6 if token_amount >= 1: return f"{token_amount:,.2f} tokens" else: return f"{token_amount:.6f} tokens" - elif amount_int >= 1000: # 大数字,添加千分位 + elif amount_int >= 1000: # Large numbers, add thousand separators return f"{amount_int:,} units" else: return f"{amount_int} units" @@ -382,7 +382,7 @@ def _format_amount(self, amount: Any) -> str: return str(amount) def _get_chain_name(self, chain_id: Any) -> str: - """获取链名称""" + """Get chain name""" try: chain_id_str = str(chain_id) chain_names = { @@ -400,7 +400,7 @@ def _get_chain_name(self, chain_id: Any) -> str: return str(chain_id) def _format_timestamp(self, timestamp: Any) -> str: - """格式化时间戳""" + """Format timestamp""" try: ts = int(timestamp) if ts > 1000000000: @@ -412,15 +412,15 @@ def _format_timestamp(self, timestamp: Any) -> str: return str(timestamp) def _generate_technical_details(self, params: Dict[str, Any]) -> str: - """生成技术细节""" + """Generate technical details""" details = [] for key, value in params.items(): if value and key != "operation_type": details.append(f"{key.replace('_', ' ').title()}: {value}") - return " | ".join(details[:5]) # 限制长度 + return " | ".join(details[:5]) # Limit length def _generate_context(self, params: Dict[str, Any]) -> str: - """生成执行上下文""" + """Generate execution context""" app_name = params.get("app_name", "Unknown") chain_id = params.get("chain_id", "") @@ -435,9 +435,9 @@ def _generate_context(self, params: Dict[str, Any]) -> str: return f"Executed on {chain_name} via {app_name}" def _assess_risk_level(self, params: Dict[str, Any]) -> tuple[str, str]: - """使用GPT评估风险等级和解释""" + """Assess risk level and explanation using GPT""" try: - # 构建风险评估提示词 + # Build risk assessment prompt risk_prompt = self._build_risk_assessment_prompt(params) response = self.client.chat.completions.create( @@ -459,18 +459,18 @@ def _assess_risk_level(self, params: Dict[str, Any]) -> tuple[str, str]: risk_response = response.choices[0].message.content.strip() - # 解析风险等级和解释 + # Parse risk level and explanation if "Risk:" in risk_response and "-" in risk_response: parts = risk_response.split("Risk:", 1)[1].split("-", 1) if len(parts) == 2: risk_level = parts[0].strip() risk_explanation = parts[1].strip() - # 验证风险等级 + # Validate risk level if risk_level in ["Low", "Medium", "High"]: return risk_level, risk_explanation - # 解析失败,使用默认值 + # Parsing failed, use default values return "High", "Unlimited approval" except Exception as e: @@ -478,21 +478,21 @@ def _assess_risk_level(self, params: Dict[str, Any]) -> tuple[str, str]: return "Medium", "Check needed" def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: - """构建风险评估提示词""" + """Build risk assessment prompt""" operation_type = params.get("operation_type", "unknown") app_name = params.get("app_name", "Unknown") prompt_parts = [f"Operation: {operation_type} in {app_name}"] - # 根据操作类型添加特定风险考虑因素 + # Add specific risk considerations based on operation type if operation_type == "permit": amount = params.get("amount", "unknown") deadline = params.get("deadline", "unknown") - # 检查是否为无限授权 + # Check if unlimited approval is_unlimited = "UNLIMITED" in str(amount) - # 计算deadline的具体时长 + # Calculate specific duration of deadline duration_info = "unknown duration" try: if deadline != "unknown": @@ -500,7 +500,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: deadline_timestamp = int(deadline) current_time = datetime.datetime.now().timestamp() time_diff = deadline_timestamp - current_time - days = int(time_diff / 86400) # 转换为天数 + days = int(time_diff / 86400) # Convert to days if days > 365: years = days // 365 @@ -541,7 +541,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: ]) elif "mint" in operation_type or "voucher" in operation_type: - # NFT mint 操作 - 通常是低风险 + # NFT mint operation - usually low risk prompt_parts.extend([ "This is an NFT minting operation", "✅ Minting is typically LOW risk - user is creating/claiming NFTs", @@ -549,7 +549,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: ]) elif "bridge" in operation_type: - # Bridge/跨链桥 操作 - 特定风险 + # Bridge/Cross-chain bridge operation - specific risks amount = params.get("amount", "unknown") dest_chain = params.get("destination_chain", "unknown") bridge_fee = params.get("bridge_fee", "unknown") @@ -562,7 +562,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: f"Bridge fee: {bridge_fee}", ]) - # Bridge 特定风险分析(简化版) + # Bridge-specific risk analysis (simplified) prompt_parts.extend([ "\n⚠️ KEY BRIDGE RISKS:", "- Irreversible cross-chain transfer", @@ -570,10 +570,10 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: "- Verify recipient address for target chain" ]) - # 评估金额大小 + # Evaluate amount size try: amount_num = float(str(amount).replace(" USDC", "").replace(" tokens", "").replace(" units", "").replace(",", "")) - if amount_num > 10000: # 大额转账 + if amount_num > 10000: # Large transfer prompt_parts.extend([ "\n⚠️ LARGE AMOUNT: Significant cross-chain transfer!", "Risk level: MEDIUM-HIGH" @@ -586,7 +586,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: prompt_parts.append("Risk explanation: Use ONLY 2-3 words like 'Cross-chain bridge' or 'Bridge transfer', DO NOT add extra warnings") elif "intent" in operation_type or "relay" in operation_type or "metatx" in operation_type: - # Meta Transaction / Relay 操作 - 考虑隐藏风险维度 + # Meta Transaction / Relay operation - consider hidden risk dimensions has_calldata = params.get("has_calldata", False) calldata_length = params.get("calldata_length", 0) gas_fee = params.get("gas_fee", "unknown") @@ -601,11 +601,11 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: f"Target address: {to_address}", ]) - # 分析隐藏风险维度 + # Analyze hidden risk dimensions risk_factors = [] if has_calldata and calldata_length > 0: - # ① 隐式调用风险 (Hidden Call Risk) + # ① Hidden Call Risk prompt_parts.extend([ f"⚠️ CRITICAL: Contains callData ({calldata_length} chars) - ARBITRARY contract execution!", "⚠️ HIDDEN CALL RISK: callData can execute ANY operation:", @@ -617,10 +617,10 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: ]) risk_factors.append("arbitrary execution") else: - # 即使没有 callData,仍需警惕 + # Even without callData, still be vigilant prompt_parts.append("⚠️ WARNING: Even with empty callData, value=0 can be misleading") - # ② 恶意地址风险 (Phishing Target) + # ② Phishing Target Risk is_suspicious_address = False if "9999" in to_address or "0000" in to_address or to_address == "unknown": prompt_parts.extend([ @@ -631,10 +631,10 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: risk_factors.append("suspicious address") is_suspicious_address = True - # ③ 签名绑定风险 (Linked Authorization) + # ③ Linked Authorization Risk prompt_parts.append("⚠️ LINKED SIGNATURE RISK: This signature may enable follow-up malicious transactions") - # ④ 社会工程风险 (Trust Heuristic) + # ④ Social Engineering Risk (Trust Heuristic) is_zero_value_trap = False if value == "0" or value == "0 ETH": prompt_parts.extend([ @@ -645,7 +645,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: risk_factors.append("zero-value deception") is_zero_value_trap = True - # 综合风险评估 - 根据风险因素组合给出精准描述 + # Comprehensive risk assessment - provide precise description based on risk factor combination if has_calldata and calldata_length > 0: prompt_parts.append("\n⚠️ OVERALL: HIGH risk - Multiple hidden dangers, potential asset loss") if is_suspicious_address: @@ -653,7 +653,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: else: prompt_parts.append("Risk explanation: 'Hidden contract call' or 'Arbitrary execution'") else: - # 没有 callData 但仍有其他风险因素 + # No callData but still has other risk factors if is_suspicious_address and is_zero_value_trap: prompt_parts.append("\n⚠️ OVERALL: HIGH risk - Suspicious address + Zero-value trap + Relay authorization") prompt_parts.append("Risk explanation: 'Suspicious relay address' or 'Phishing relay risk' or 'Unknown relay + Zero trap'") @@ -671,7 +671,7 @@ def _build_risk_assessment_prompt(self, params: Dict[str, Any]) -> str: return "\n".join(prompt_parts) def get_cost_summary(self) -> Dict[str, Any]: - """获取成本统计""" + """Get cost statistics""" return { "total_requests": self.request_count, "total_cost": round(self.total_cost, 6), @@ -679,22 +679,22 @@ def get_cost_summary(self) -> Dict[str, Any]: "estimated_1000_requests": round((self.total_cost / max(1, self.request_count)) * 1000, 2) } -# 便捷函数 +# Convenience functions def create_openai_generator(api_key: str) -> OpenAINLPGenerator: - """创建OpenAI NLP生成器""" + """Create OpenAI NLP generator""" return OpenAINLPGenerator(api_key) -# 集成到现有系统的包装函数 +# Wrapper function for integration into existing system def generate_english_with_openai(eip712_data: Dict[str, Any], api_key: str) -> EnglishNLOutput: - """单次生成英文描述""" + """Generate English description in one call""" generator = create_openai_generator(api_key) - # 提取参数 + # Extract parameters params = generator.extract_key_parameters(eip712_data) - # 生成缓存键 + # Generate cache key params_json = json.dumps(params, sort_keys=True) params_hash = hashlib.md5(params_json.encode()).hexdigest() - # 生成描述 + # Generate description return generator.generate_english_description(params_hash, params_json) \ No newline at end of file diff --git a/dynamic_parser/patterns.py b/dynamic_parser/patterns.py index e80e230..be9f783 100644 --- a/dynamic_parser/patterns.py +++ b/dynamic_parser/patterns.py @@ -1,6 +1,6 @@ """ -动态解析器模式匹配 -包含语义识别模式、类型推断模式和上下文关键词 +Dynamic Parser Pattern Matching +Contains semantic recognition patterns, type inference patterns and context keywords """ from typing import Dict, List, Tuple, Set @@ -8,7 +8,7 @@ class PatternMatcher: - """模式匹配器""" + """Pattern matcher""" def __init__(self): self.semantic_patterns = self._init_semantic_patterns() @@ -16,9 +16,9 @@ def __init__(self): self.context_keywords = self._init_context_keywords() def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: - """初始化语义模式 - 返回 (模式, 语义) 的列表""" + """Initialize semantic patterns - returns list of (pattern, semantic)""" return [ - # 精确匹配模式 + # Exact match patterns (r"^tokenid$", FieldSemantic.TOKEN_ID), (r"^nonce$", FieldSemantic.NONCE), (r"^chainid$", FieldSemantic.CHAIN_ID), @@ -32,14 +32,14 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r"^price$", FieldSemantic.PRICE), (r"^fee$", FieldSemantic.FEE), - # 复合匹配模式 + # Composite match patterns (r".*token.*id.*", FieldSemantic.TOKEN_ID), (r".*proposal.*id.*", FieldSemantic.PROPOSAL_ID), (r".*chain.*id.*", FieldSemantic.CHAIN_ID), (r".*voting.*power.*", FieldSemantic.VOTING_POWER), (r".*merkle.*root.*", FieldSemantic.MERKLE_ROOT), - # 身份相关 + # Identity related (r".*holder.*", FieldSemantic.OWNER), (r".*minter.*", FieldSemantic.OWNER), (r".*creator.*", FieldSemantic.CREATOR), @@ -56,7 +56,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r".*validator.*", FieldSemantic.VALIDATOR), (r".*delegate.*", FieldSemantic.DELEGATE), - # 金额相关 + # Amount related (r".*quantity.*", FieldSemantic.AMOUNT), (r".*cost.*", FieldSemantic.FEE), (r".*reward.*", FieldSemantic.REWARD), @@ -73,7 +73,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r".*yield.*", FieldSemantic.YIELD), (r".*royalty.*", FieldSemantic.ROYALTY), - # 时间相关 + # Time related (r".*expiry.*", FieldSemantic.DEADLINE), (r".*expires.*", FieldSemantic.DEADLINE), (r".*time.*", FieldSemantic.TIMESTAMP), @@ -83,7 +83,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r".*delay.*", FieldSemantic.DELAY), (r".*period.*", FieldSemantic.PERIOD), - # 标识相关 + # Identifier related (r".*salt.*", FieldSemantic.SALT), (r".*index.*", FieldSemantic.INDEX), (r".*counter.*", FieldSemantic.COUNTER), @@ -91,7 +91,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r"^id$", FieldSemantic.ID), (r".*_id$", FieldSemantic.ID), - # 数据相关 + # Data related (r".*data.*", FieldSemantic.DATA), (r".*payload.*", FieldSemantic.DATA), (r".*hash.*", FieldSemantic.HASH), @@ -99,54 +99,54 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic]]: (r".*proof.*", FieldSemantic.PROOF), (r".*metadata.*", FieldSemantic.METADATA), - # 配置相关 + # Configuration related (r".*version.*", FieldSemantic.VERSION), (r".*type.*", FieldSemantic.TYPE), (r".*status.*", FieldSemantic.STATUS), (r".*flag.*", FieldSemantic.FLAG), (r".*option.*", FieldSemantic.OPTION), - # 治理相关 + # Governance related (r".*vote.*type.*", FieldSemantic.VOTE_TYPE), (r".*support.*", FieldSemantic.VOTE_TYPE), - # NFT相关 + # NFT related (r".*collection.*", FieldSemantic.COLLECTION), (r".*pool.*", FieldSemantic.POOL), ] def _init_type_patterns(self) -> List[Tuple[str, str, FieldType]]: - """初始化类型推断模式 - 返回 (字段名模式, 类型模式, 推断类型) 的列表""" + """Initialize type inference patterns - returns list of (field name pattern, type pattern, inferred type)""" return [ - # 金额类型 + # Amount type (r".*amount.*|.*value.*|.*price.*|.*fee.*|.*cost.*|.*quantity.*", r"uint.*", FieldType.AMOUNT), (r".*balance.*|.*allowance.*|.*reward.*|.*penalty.*", r"uint.*", FieldType.AMOUNT), (r".*liquidity.*|.*slippage.*|.*rate.*|.*yield.*", r"uint.*", FieldType.AMOUNT), - # 时间戳类型 + # Timestamp type (r".*time.*|.*deadline.*|.*expiry.*|.*expires.*|.*timestamp.*", r"uint.*", FieldType.TIMESTAMP), (r".*duration.*|.*delay.*|.*period.*", r"uint.*", FieldType.TIMESTAMP), - # 随机数类型 + # Nonce type (r".*nonce.*", r"uint.*", FieldType.NONCE), (r".*counter.*|.*index.*", r"uint.*", FieldType.NONCE), - # 地址类型 + # Address type (r".*token.*|.*erc20.*|.*erc721.*|.*erc1155.*", r"address", FieldType.TOKEN_ADDRESS), (r".*contract.*|.*verifying.*", r"address", FieldType.CONTRACT_ADDRESS), - # 哈希类型 + # Hash type (r".*hash.*|.*root.*|.*digest.*", r"bytes32", FieldType.HASH), - # 签名类型 + # Signature type (r".*signature.*|.*sig.*", r"bytes.*", FieldType.SIGNATURE), - # 百分比类型 + # Percentage type (r".*percent.*|.*ratio.*|.*bps.*", r"uint.*", FieldType.PERCENTAGE), ] def _init_context_keywords(self) -> Dict[str, Set[str]]: - """初始化上下文关键词""" + """Initialize context keywords""" return { "permit": {"spender", "owner", "value", "deadline", "nonce"}, "order": {"offerer", "offer", "consideration", "orderType", "startTime", "endTime"}, @@ -161,7 +161,7 @@ def _init_context_keywords(self) -> Dict[str, Set[str]]: } def infer_semantic(self, field_name: str) -> FieldSemantic: - """根据字段名推断语义""" + """Infer semantic based on field name""" import re field_name_lower = field_name.lower() @@ -173,7 +173,7 @@ def infer_semantic(self, field_name: str) -> FieldSemantic: return None def infer_field_type(self, field_name: str, type_name: str) -> FieldType: - """根据字段名和类型推断字段类型""" + """Infer field type based on field name and type""" import re field_name_lower = field_name.lower() @@ -183,7 +183,7 @@ def infer_field_type(self, field_name: str, type_name: str) -> FieldType: if re.match(name_pattern, field_name_lower) and re.match(type_pattern, type_name_lower): return field_type - # 基于类型的基本推断 + # Basic inference based on type if type_name_lower == "address": return FieldType.ADDRESS elif "uint" in type_name_lower: @@ -198,16 +198,16 @@ def infer_field_type(self, field_name: str, type_name: str) -> FieldType: return FieldType.UNKNOWN def detect_context(self, struct_name: str, field_names: List[str]) -> str: - """检测结构体上下文""" + """Detect struct context""" struct_name_lower = struct_name.lower() field_names_lower = [name.lower() for name in field_names] - # 直接匹配结构体名称 + # Direct match with struct name for context_name in self.context_keywords: if context_name in struct_name_lower: return context_name - # 根据字段名匹配 + # Match based on field names context_scores = {} for context_name, keywords in self.context_keywords.items(): score = len(keywords.intersection(set(field_names_lower))) diff --git a/dynamic_parser/run_ui.py b/dynamic_parser/run_ui.py new file mode 100644 index 0000000..3c83882 --- /dev/null +++ b/dynamic_parser/run_ui.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 +""" +EIP712 Signature Parser Web UI Startup Script +""" + +import os +import sys +import webbrowser +from pathlib import Path + +# Add current directory to Python path +current_dir = Path(__file__).parent +sys.path.insert(0, str(current_dir)) + +try: + from web_ui import app + print("✅ Web UI module loaded successfully") +except ImportError as e: + print(f"❌ Import error: {e}") + print("Please ensure all required dependencies are installed") + print("Run: pip install flask") + sys.exit(1) + +def main(): + """Main function""" + print("🚀 Starting EIP712 Signature Parser Web UI") + print("=" * 50) + + # Check if port is available + import socket + host = '127.0.0.1' + port = 5000 + + # Try to bind port + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.bind((host, port)) + sock.close() + except socket.error: + print(f"⚠️ Port {port} is already in use, trying another port...") + port = 5001 + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.bind((host, port)) + sock.close() + except socket.error: + print(f"❌ Port {port} is also in use, please specify port manually") + sys.exit(1) + + # Start application + url = f"http://{host}:{port}" + print(f"🌐 Server started at: {url}") + print("📱 Open the above address in your browser to use the Web UI") + print("⌨️ Press Ctrl+C to stop the server") + print("=" * 50) + + # Auto-open browser (optional) + try: + webbrowser.open(url) + print("🔍 Browser opened automatically") + except Exception as e: + print(f"⚠️ Unable to open browser automatically: {e}") + print(f" Please visit manually: {url}") + + # Start Flask application + try: + app.run( + host=host, + port=port, + debug=False, + use_reloader=False, + threaded=True + ) + except KeyboardInterrupt: + print("\n👋 User interrupted, shutting down server...") + except Exception as e: + print(f"❌ Server startup failed: {e}") + sys.exit(1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dynamic_parser/static/css/style.css b/dynamic_parser/static/css/style.css new file mode 100644 index 0000000..95ec5d3 --- /dev/null +++ b/dynamic_parser/static/css/style.css @@ -0,0 +1,877 @@ +/* 全局样式 */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: #fafbfc; + height: 100vh; + overflow: hidden; + color: #11181c; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* 主容器 - 左右布局 */ +.main-container { + display: flex; + height: 100vh; +} + +/* 左侧输入面板 */ +.input-panel { + width: 400px; + background: white; + border-right: 1px solid #e1e5e9; + display: flex; + flex-direction: column; +} + +.panel-header { + padding: 20px; + border-bottom: 1px solid #f1f5f9; + background: #fafbfc; +} + +.panel-header h5 { + margin: 0 0 4px; + color: #1f2937; + font-weight: 600; + font-size: 16px; +} + +.panel-header p { + margin: 0; + color: #6b7280; + font-size: 13px; +} + +.panel-header i { + color: #6366f1; + margin-right: 8px; +} + +.input-content { + flex: 1; + padding: 20px; + display: flex; + flex-direction: column; + overflow-y: auto; +} + +/* 快速操作按钮 */ +.quick-actions { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; + margin-bottom: 20px; +} + +.btn-action { + padding: 12px 16px; + border: 1px solid #d1d5db; + border-radius: 8px; + background: white; + color: #374151; + cursor: pointer; + transition: all 0.2s; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + font-size: 12px; +} + +.btn-action:hover { + border-color: #6366f1; + background: #f8fafc; + color: #6366f1; +} + +.btn-action i { + font-size: 16px; +} + +/* 输入区域 */ +.input-section { + flex: 1; + margin-bottom: 20px; +} + +.input-section label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: #374151; + font-size: 14px; +} + +.form-control { + width: 100%; + padding: 12px; + border: 1px solid #d1d5db; + border-radius: 8px; + font-size: 13px; + font-family: 'SF Mono', Monaco, monospace; + resize: vertical; + min-height: 200px; +} + +.form-control:focus { + outline: none; + border-color: #6366f1; + box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); +} + +.form-select { + width: 100%; + padding: 10px 12px; + border: 1px solid #d1d5db; + border-radius: 6px; + margin-bottom: 16px; + font-size: 13px; + background: white; +} + +/* 解析按钮 */ +.btn-parse { + width: 100%; + padding: 16px; + background: linear-gradient(135deg, #6366f1, #8b5cf6); + color: white; + border: none; + border-radius: 10px; + font-weight: 600; + font-size: 14px; + cursor: pointer; + transition: all 0.3s; + margin-bottom: 16px; +} + +.btn-parse:hover { + transform: translateY(-2px); + box-shadow: 0 8px 20px rgba(99, 102, 241, 0.3); +} + +.btn-parse i { + margin-right: 8px; +} + +/* 输入状态提示 */ +.input-status { + padding: 12px 16px; + background: #f0f9ff; + border: 1px solid #bae6fd; + border-radius: 8px; + color: #0369a1; + font-size: 13px; + display: flex; + align-items: center; + gap: 8px; +} + +/* 右侧签名面板 */ +.signature-panel { + flex: 1; + background: #f8fafc; + display: flex; + flex-direction: column; +} + +/* 钱包头部 */ +.wallet-header { + padding: 16px 24px; + border-bottom: 1px solid #e5e7eb; + background: white; +} + +.wallet-info { + display: flex; + align-items: center; + justify-content: space-between; +} + +.wallet-avatar { + font-size: 28px; + color: #6366f1; + margin-right: 16px; +} + +.wallet-details { + flex: 1; +} + +.account-name { + font-weight: 600; + font-size: 16px; + color: #1f2937; +} + +.account-address { + font-size: 12px; + color: #6b7280; + font-family: monospace; +} + +.network-badge { + background: #10b981; + color: white; + padding: 8px 16px; + border-radius: 20px; + font-size: 13px; + font-weight: 500; + display: flex; + align-items: center; + gap: 6px; +} + +.network-badge i { + font-size: 8px; +} + +/* 签名卡片容器 */ +.signature-card-container { + flex: 1; + padding: 24px; + display: flex; + justify-content: center; + align-items: flex-start; + overflow-y: auto; +} + +/* 签名卡片 */ +.signature-card { + width: 100%; + max-width: 440px; + background: white; + border-radius: 20px; + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.12), + 0 1px 2px rgba(0, 0, 0, 0.24), + 0 8px 32px rgba(0, 0, 0, 0.08); + border: 1px solid rgba(0, 0, 0, 0.06); + overflow: hidden; + backdrop-filter: blur(20px); +} + +/* 状态内容通用样式 */ +.state-content { + text-align: center; + padding: 40px 30px; +} + +.state-icon { + width: 64px; + height: 64px; + margin: 0 auto 20px; + background: linear-gradient(135deg, #6366f1, #8b5cf6); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + color: white; + font-size: 24px; +} + +.state-content.error .state-icon { + background: linear-gradient(135deg, #ef4444, #f87171); +} + +.state-content.success .state-icon { + background: linear-gradient(135deg, #10b981, #34d399); +} + +.state-content h4 { + margin: 0 0 8px; + color: #1f2937; + font-weight: 600; + font-size: 20px; +} + +.state-content p { + margin: 0 0 20px; + color: #6b7280; + line-height: 1.5; + font-size: 14px; +} + +/* 功能列表 */ +.feature-list { + display: flex; + flex-direction: column; + gap: 12px; + max-width: 280px; + margin: 0 auto; +} + +.feature-item { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: #f8fafc; + border-radius: 8px; + color: #374151; + font-size: 14px; +} + +.feature-item i { + color: #6366f1; + font-size: 14px; +} + +/* 加载状态 */ +.loading-spinner { + width: 40px; + height: 40px; + border: 3px solid #f3f4f6; + border-top: 3px solid #6366f1; + border-radius: 50%; + animation: spin 1s linear infinite; + margin: 0 auto 20px; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +.loading-steps { + max-width: 280px; + margin: 0 auto; + text-align: left; +} + +.step { + display: flex; + align-items: center; + gap: 10px; + padding: 6px 0; + color: #9ca3af; + font-size: 13px; +} + +.step.active { + color: #6366f1; +} + +.step i { + width: 14px; + text-align: center; +} + +/* 按钮样式 */ +.btn-retry, .btn-new { + padding: 10px 20px; + background: #6366f1; + color: white; + border: none; + border-radius: 8px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s; +} + +.btn-retry:hover, .btn-new:hover { + background: #5b5bf6; + transform: translateY(-1px); +} + +/* 签名确认区域 */ +.signature-confirmation { + padding: 20px; +} + +/* 请求来源 */ +.request-origin { + margin: 0 0 32px; + padding: 20px 24px; + background: #fafbfc; + border-radius: 16px; + border: 1px solid rgba(0, 0, 0, 0.04); + position: relative; +} + +.request-origin::after { + content: ''; + position: absolute; + bottom: -16px; + left: 24px; + right: 24px; + height: 1px; + background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.08), transparent); +} + +.origin-info { + display: flex; + align-items: center; + gap: 16px; +} + +.origin-icon { + width: 48px; + height: 48px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + flex-shrink: 0; + background: #ffffff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); +} + +.origin-details { + flex: 1; + min-width: 0; +} + +.origin-details h6 { + margin: 0 0 4px; + color: #11181c; + font-weight: 600; + font-size: 17px; + letter-spacing: -0.01em; + line-height: 1.3; +} + +.origin-details span { + color: #9ca3af; + font-size: 13px; + font-family: 'SF Mono', Monaco, monospace; + font-weight: 500; + opacity: 0.8; +} + +/* 现代风险评估卡片 */ +.risk-assessment { + background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%); + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 20px; + display: flex; + align-items: center; + padding: 24px 28px 24px 20px; + margin-bottom: 24px; + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.04), + 0 4px 16px rgba(0, 0, 0, 0.04); + min-height: 100px; + gap: 20px; + position: relative; + overflow: hidden; +} + +.risk-assessment::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 2px; + background: var(--risk-gradient); +} + +.risk-circle-simple { + width: 64px; + height: 64px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: 600; + color: #fff; + flex-shrink: 0; + letter-spacing: 0.5px; + box-shadow: 0 4px 16px var(--risk-shadow); +} +.risk-circle-simple.low { + background: white; + --risk-gradient: linear-gradient(90deg, #10b981, #34d399); + --risk-shadow: rgba(16, 185, 129, 0.25); +} +.risk-circle-simple.medium { + background: white; + --risk-gradient: linear-gradient(90deg, #f59e0b, #fbbf24); + --risk-shadow: rgba(245, 158, 11, 0.25); +} +.risk-circle-simple.high { + background: white; + --risk-gradient: linear-gradient(90deg, #ef4444, #f87171); + --risk-shadow: rgba(239, 68, 68, 0.25); +} + +.risk-info-simple { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + gap: 6px; +} + +.risk-title-simple { + display: flex; + align-items: center; + font-size: 17px; + font-weight: 600; + color: #11181c; + gap: 8px; + letter-spacing: -0.01em; +} +.risk-title-simple.low { + color: #059669; +} +.risk-title-simple.medium { + color: #d97706; +} +.risk-title-simple.high { + color: #dc2626; +} +.risk-title-simple i { + font-size: 16px; +} + +.risk-circle-icon { + width: 48px; + height: 48px; + object-fit: contain; +} +.risk-desc-simple { + color: #687076; + font-size: 14px; + line-height: 1.4; +} + +@media (max-width: 600px) { + .risk-assessment { + flex-direction: column; + align-items: stretch; + padding: 18px 10px; + gap: 16px; + } + .risk-circle-simple { + margin: 0 auto; + } + .risk-info-simple { + align-items: center; + text-align: center; + } +} + +/* 风险详情信息 */ +.risk-info { + flex: 1; + padding-left: 8px; +} + +.risk-status-badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + border-radius: 20px; + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 12px; +} + +.risk-status-badge.low { + background: linear-gradient(135deg, #10b981, #34d399); + color: white; +} + +.risk-status-badge.medium { + background: linear-gradient(135deg, #f59e0b, #fbbf24); + color: white; +} + +.risk-status-badge.high { + background: linear-gradient(135deg, #ef4444, #f87171); + color: white; +} + +.risk-status-badge i { + font-size: 10px; +} + +.risk-title-advanced { + font-size: 18px; + font-weight: 700; + margin-bottom: 8px; + color: #1f2937; + line-height: 1.3; +} + +.risk-description-advanced { + font-size: 14px; + color: #6b7280; + line-height: 1.5; + margin-bottom: 16px; +} + +/* 风险指标 */ +.risk-metrics { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; + margin-top: 16px; +} + +.risk-metric { + background: rgba(255, 255, 255, 0.7); + border-radius: 8px; + padding: 12px; + text-align: center; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.metric-value { + font-size: 16px; + font-weight: 700; + color: #1f2937; + margin-bottom: 4px; +} + +.metric-label { + font-size: 11px; + color: #6b7280; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +/* AI 解释区域 */ +.ai-explanation { + margin-bottom: 24px; + padding: 24px; + background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%); + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 20px; + color: #11181c; + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.04), + 0 4px 16px rgba(0, 0, 0, 0.04); +} + +.explanation-header { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 16px; + font-weight: 600; + font-size: 15px; + color: #687076; + letter-spacing: -0.01em; +} + +.explanation-header span { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; +} + +.ai-icon { + width: 20px; + height: 20px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} + +.ai-icon svg { + width: 16px; + height: 16px; + flex-shrink: 0; +} + +.origin-icon img { + width: 32px; + height: 32px; + object-fit: contain; + border-radius: 8px; +} + +.explanation-content h6 { + margin: 0 0 12px; + font-weight: 600; + font-size: 16px; + color: #11181c; + letter-spacing: -0.01em; +} + +.explanation-content p { + margin: 0; + line-height: 1.5; + font-size: 14px; + color: #687076; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; +} + +/* 关键词高亮样式 */ +.keyword-highlight { + background: rgba(245, 158, 11, 0.1); + padding: 2px 6px; + border-radius: 6px; + font-weight: 500; + color: #d97706; + border: 1px solid rgba(245, 158, 11, 0.2); + box-shadow: 0 1px 2px rgba(245, 158, 11, 0.05); +} + +.risk-keyword { + background: rgba(239, 68, 68, 0.1); + color: #dc2626; + border: 1px solid rgba(239, 68, 68, 0.2); + box-shadow: 0 1px 2px rgba(239, 68, 68, 0.05); +} + +.action-keyword { + background: rgba(16, 185, 129, 0.1); + color: #059669; + border: 1px solid rgba(16, 185, 129, 0.2); + box-shadow: 0 1px 2px rgba(16, 185, 129, 0.05); +} + +.amount-keyword { + background: rgba(99, 102, 241, 0.1); + color: #4f46e5; + border: 1px solid rgba(99, 102, 241, 0.2); + box-shadow: 0 1px 2px rgba(99, 102, 241, 0.05); +} + + + +/* 签名操作按钮 */ +.signature-actions { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 32px; + padding-top: 24px; + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +.btn-reject, .btn-confirm { + height: 48px; + padding: 0 20px; + border: none; + border-radius: 16px; + font-weight: 600; + font-size: 15px; + cursor: pointer; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + letter-spacing: -0.01em; + position: relative; + overflow: hidden; +} + +.btn-reject { + background: #f8fafc; + color: #687076; + border: 1px solid rgba(0, 0, 0, 0.08); +} + +.btn-reject:hover { + background: #f1f5f9; + color: #475569; + transform: translateY(-1px); + box-shadow: + 0 2px 4px rgba(0, 0, 0, 0.04), + 0 8px 16px rgba(0, 0, 0, 0.04); +} + +.btn-confirm { + background: linear-gradient(135deg, #10b981 0%, #059669 100%); + color: white; + box-shadow: + 0 2px 4px rgba(16, 185, 129, 0.2), + 0 4px 12px rgba(16, 185, 129, 0.15); +} + +.btn-confirm:hover { + background: linear-gradient(135deg, #059669 0%, #047857 100%); + transform: translateY(-1px); + box-shadow: + 0 4px 8px rgba(16, 185, 129, 0.25), + 0 8px 20px rgba(16, 185, 129, 0.2); +} + +.btn-confirm:active { + transform: translateY(0); +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .main-container { + flex-direction: column; + height: auto; + min-height: 100vh; + } + + .input-panel { + width: 100%; + height: auto; + min-height: 300px; + } + + .signature-panel { + min-height: 400px; + } + + .signature-card-container { + padding: 16px; + } + + .signature-card { + max-width: none; + } + + .risk-display { + flex-direction: column; + gap: 16px; + text-align: center; + } + + .risk-metrics { + grid-template-columns: 1fr; + } + + .signature-actions { + grid-template-columns: 1fr; + } + + .state-content { + padding: 30px 20px; + } + + .signature-confirmation { + padding: 16px; + } +} + +/* Toast 通知 */ +.toast-message { + position: fixed; + top: 20px; + right: 20px; + padding: 12px 20px; + border-radius: 8px; + color: white; + font-weight: 500; + z-index: 10000; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + transform: translateX(400px); + transition: transform 0.3s ease; +} + +.toast-success { background: #10b981; } +.toast-error { background: #ef4444; } +.toast-info { background: #6366f1; } \ No newline at end of file diff --git a/dynamic_parser/static/ghostty.svg b/dynamic_parser/static/ghostty.svg new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/dynamic_parser/static/ghostty.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dynamic_parser/static/high.png b/dynamic_parser/static/high.png new file mode 100644 index 0000000000000000000000000000000000000000..22850b77810aea538b0318e719fa82b78a4979fe GIT binary patch literal 1010939 zcmV($K;yrOP)a^(C{ib5K9c-&fS8Ee@jgHg$ znOiAX;}&ZUDc~QGq7zM#835TO;Etxm-@kuInEc|2EyLL}V>UQrDl&A2W9jRvESeE_ zGk<^n{^^st^UD7d`C*pZq_#}9L0U0%+C~&u;U}Xep&cggN*>zgR7R(?WuzKHgm!rP z(@XY-sBqv>?g~~PBUDbj{$KzdPK#$*gZU`l$yv+qgRF6&)za#Bs0@d6HsQgv1zi*s!DPi?Ofx9z@>wNqTiDwge87PgC?6yqg$bi?$JfJY4a4cuL5RtmFqRAWJ$=_9a0g5T>6F4T8m?^ z+FoH~n`fpUJ?vFc32_MXVu`o&P|+t)TxIYLCx$9;H>yAwa>(ix;e!F7F9}n4@aSXh zR+y>4Ho{*dQ1()+vj-`Fu=BQWG!$+IfP9MOCVD6A@*p=bEGskc*zc~Z&)=+1PWb<2 z<&1QglJgvmGXQcO5b|?H#BD(o3;=yz+KrYnC7wgdm7tK~jN(+CV0f%k+0v+wu3 z9_hmb`4v>r#@osuH^zK~7fU+d4Ht~-9R5XZk8uijLdmsX(?}m6V}0R?xTdgd$W-PC zr71qfkIV0p$`n^dhRPF`Q;?TJ(_^IwMPx+F0faq}$fg*jKi7zY!GJ-!9x|F8XFlOh z$LC(-P;*tul+G)b)lGo$TKyILoq%FJhs=o{aolp)V2xd0u0n5u32P4qmsuTJ9sy@o z&%7P@0mhhpU_GtAr>JD~VL8DpcY%}`8wc3bwpIv%?A9a_?iUuZ)fMgNsLkwFL$E}d zp&*rRpt?}N=(CIhVbt}f9FkjO0*zY(l4F#s0w7nXjrtpda%2>*+-TAQW;&~TItW1{ z$d!#erEyg^pLr5Y0IU`}(@tbcut)J^sN~h)bnFxsFY_C9xjJ7(SfZdgn~Xa)(ex(7 zbZ*dmn)-b6fkWVq*Hzuf)(SzL;G+xHuy&uexubt>qX z&o2_FAb;W;0PhXsl+x8GsV;IQ6{w@s z95vF=w0P8jvL)ozlCM{#17!XzQr;qW%r;98F14H@3k3m&+_}F zVy!(0965CIoKqdQKVyDC>NXXzDa%R*KZa%OHo999s)az8fh9mjvgqL+4!3V-2D4T= z1BoK>|GxI#)TCM@=sRVQhtr7(>qQ^zgTRc6qOA(7OWAV&i&brVwX%uS?BrDm&U1AV zti?o2K$+*P)L26IjkL(6(7i4S<*k4uBaVUF*+~lM(F#*uT~?f|Y#t7=*f?!&?mRMH ztLe}_BgLH2V)FXst=y@Zu-vm;%UbM1qb8Upi?2VeG_f$n zTDV=_GcpjXJMis*cclkdfyKJAxAO3r(I?2Z$RIPePyAfLyd|Xmil00pT)E+0s^WZY z_Tbr;9QRIyOG3sDb)c<2>9bZaj0I13P=;nas~u1P0(Gr~RMK>tZ>ieL{Nwb1GkZxi zy(%P+9IlHr-55s`+j3T-_mI&$<# zpmZ>vE%6%`QL@TrjAz9l%b}?T=e!w~pm>VN_*{TZ>0M#aAF{=XJ*D;Y_rH;)(iD%i zm}A!gp>F3V7z%*cLJ7R3J<>L_sg@B)ssAe0Eui*KywS6)M?*|)hDlP_4XgCWjwfMx zUgD4I_?r(G0Hkks;NkGg zdZ?Vi9A(0p(dki@*D#~;a?m7uL=EVywB*VNVVk|-&zhTK>CBlFqVu=ZnlrvR^=`Dq z*`(l>5EQj^_c>ZNHajTR{~>q)OS0o_k)mHwBjBsk%XS1zLb38dxQN-HGQ%Rba4X5ae;PF)SvhfEQgRd?1_Q$yR#!Pi2j9yl~1>>X#N%{xrIR0BH!!!cr+;0-#D^nRB-Cc4yy$ckCZ_sB|KE^-=eD?+EYdu_&uB#c;7 z9*V3K#6gC~d1VC-F_V;Gw?DRIN~Xy}Mban;o>#EAKW={b6s*r|R-lFXd9D$o$qa+d zj|r|%QX^qWD%SYTVwsLvVwpiP&}PUaMq{NNvD4lRrxY6vX|UYCYk3xX==G?9kZ{{` z?F}{XSVtu*IFZt^aBP%qKHA7X0T?MwyjinFPVy{r%e`P(StCtCH8T~hYH%tzDTRB9 z5c;??3#QiaT?ux^Nn#HkyOmq5Ut|d_#e`W+$^tq(q1yAfFCux9`r|pvlR{>F08XLk zj4Km(wpHwpDgtld|8}uohg+8qykL4!7OBp{$alPQ$w^t*TKh79n57TARF5WNL zpxpU&tpA0?%gS*osHuY9_$z}>y9o`@ZsDL_H zGS0cyGmRN9>3r=f)13()OG(0We*X5~9Vh}WVv+*6)mu{jNM(qtZw?c(P~HdaJ9&1= z&uKz4NttEH6>A#L_%q=7{Pb#=<(X*&&Tm5I@j=iKh5C==#uK86|77httU{6Y+hQy? zafOXhCRtn$LI59vXXr$znUM~+MS{+5ozEcHHRR)Tv7g@Fe6sP2rZW|n2d5oI9x$)@J*9V zwOk-#CQJ|a1YO1Wp8Wh1fXYbKFyTgiyK1wd-47G?9oYvLFA;X{esSf`{_y_t(FH>DvSd1lHx z^d{*HOZ^B?MhC7c{h8h?+^F|nC=gU@l+W{}^bi|rRUJ_?Yh4h}$(&|(FG zgB=dVM?hT^xhY`5)wYC7*&r{Ws3_$fFIBrwjM%ictP7ZmRav+u)6>c3q@YA09}QP*qILe^JRGG;Yz%5} z!bzY|#biVW_yqWBteU(>Dc>8})~F<@dB_JRoCF4Hvcj=>hVVXXlLRx7Pm&-=I2tgg z52E$YsyAreH8%=28C7)kOmbms_}<%Di_z4kCT7K0mPZl8x>E;bp9bZ96{|r&eIYtz zReC(q3233H-Jv2NMYjcBuOjzRXI%^AxmeeIbvD_$ zr3&s~Tgd0u=_=EVF7*JNVD?eWV$;l>JKgO`El=^7%9zZ)4#5}Oq)zNaZmGr!Gk<*`x4ZhAWJ0FS?I4MB!+m#p>`+%r~*z|X#Cg7V8iFcvedm1!z_!lQ%K z!3#90-fm=scXWY1iV6NqQ>U{Bl5zljYtD{InyK!6XE=M>uiU~rnwDG{Q!Km>p+Rn5 zTOcG5=LSDBsmTO-PzTl%EFqq&()*Kt33yAKijA~Ydgh;Z0D{IDy^SY6Nx1GL23#TT z1ZBwQ>T~*HBRrRRz`7`{V6R$J;O_l0MKl?AxdRP8avrG{SdbYqvjm6DJNu~Hz)W2D zHRxd2eU_1(e}zLzM(?)B6zjXe^I3YPdQZ&*@s)My!*XEOlCSXsx0Wu>-_(pvB9@Cj zD_Fuht&DJs%nxyiRVAZVlnsbyhMFbGR@Dkp{;iv0qX6r8D>K`?n<;@$!I*;+F&F;4 z52?-=YR^EcP6|8+!*-tqZWv>o@L)AOuQWZ2x0cioLv$HM373Bstfa}AUXl#Tvy#3} zjdV^Uh)T|5&9@`NXIj%c(;138*fuJDVcn%$#VwN>W;%u}O^>)-*|(@+Fo|%DT(`F_ zV_a8!-8vVwPP}lbW})V1XTvSJk(rOR$ekh!hWx=FBBGoI-p8a>KTTcp)1ON-U-VJN zowXk(Lio5R3J8`lQ*Zi9w&;^G6%fn3D6+Wr?Z%cK%y!y3d-VZ4Y)>cUjm^j>Z#2W- zh*=*}WpDm>F;l9a3nb&rJmje|?fE=z8HX!~E!25r@rAmy~ zv=lBQN;acZ%YRq!$b+jY!5y68%#iCwmQ&k?)qv6lWKNp(wl(&exMn_DX4j^|G6i*@ zEi%TAdmA9?vtiNu?KJ(H8UhvSbW*ui&-pnD)SO^9Pz4z)Zwxu04DVT>1Eky+4e~)o zn^)r*PI{9y2oZ{(f)oWr`3F_M^fMyYOU*xq*~}0ArO(mVD>X=Ly?1g^ z6OBqHKj_1uHj_TC%9Qaa+C7(^@sA8v92|lNn^$u^sLAJZN@6myrS{rl>gqWO@p5Gf zb;gZ(!&I?v(uOVx7YKb-Bxds9j0*9wHSRwSNkzXHshx?K2Fuya%=%onl(6X+k3<Bi^H9EBwtNcYuema*W&8+nvr*Z;0SK}sl&3kXO&BgRW0_Jy zQ?6+nkFAH`nwMxYQlh=?4w%o7<*d`rta+Fp>~`BSa27X;QYWVGho<&7FU#O11V{f? zp-ugLmQJ-`gEy;*XOyvAd)5cBL(B+@+m#XsuFx5TYR0u?(O@Vb{iq#iMm%f{DEa98 z0D?-Dvb%Lt%#HB83P&9iZDhPZH=JBAgyhAzG*OHzPdl(qeq-Lmi0x|(oMFn-j~}sB z3K23MYtbI$zO8XQN(4RC^*T}k9C$ad_vDv;q(z19LD##LXi>4V+X9Caro?)XJlJ{a zulT>o+Tv%*=3z@0s!nI3Y>GH5AgN1K_b?=S)fz(p_9YWDL&!_yOin&Y$8H z5|X0uDu}E|BJu18-vVYL4>D3QgI7nN8k?Is?w0W7<8|oms$T{Rr3N1*1^^dnCN9nec+LDL8#V*b64NjbmGXg}dpr;=UWy;S|{*nz7P`;&KhOlh&lP%B?s<&E|1}R4jx@9$f^; zDJkdp*+!>|!@LC6Je;KR+&kYjQu7p+)EUD3#GsR9wu<{XGp~zL zOd(9v!XkgMe&OQ$NJuG#@SQ+#)!y%}h5oT$T%usEbX?_wtxLr`uFNqX=a-05Yb1Gn z8RO8X5){Q6gmsTpM#e;t(U+mll>#!3Dqid>E68Xt{fn>m}6#h6GTMl zFf5pN_x_iwaG7!g%Kehj#t-8dhej3@F1mAf&Aq3o87noHLK@{BtkfPU(H>1 z6YOSvYeCvss&cuFise*ioetPFT{E(Mp#~NPgr-rRUS*Jdu0^StP7!F(^5c@KlkgE`DkD?*d+(db6|J>IvJ>1?b+3DnfXs2$Cj*EnEC(y z6(C4i>DDSx#VVkL5|f+J#T`;e_XK=9a-o6DV;4!C*cLOjM*>)#SsKM8&QrOD{bRAhVAJ*dd$-Y4u@E-qj&vKl9Z?pni}yK!{Ui`-ND*dE43xX zhO|k=>YVfFCX@6YOtUdjbfLxNh3DtSB*6@fRpM?*|q>eGcc z7iMyeD872;B z@->HG=7N^XOzCULgdVAoFlJhYDwmgiy%Ceob%+fo_Ht!i!DxX7cXYUizF&fL+xt?uT^^lWBU6#sKOG-f-@Lirspu5 z->kMe+E*g;6##elqxj3nyh|ZMwbG+X`u7ki_mzW(KrAIgdY=+f8PU4tH3X(uiVKR_ zJmw=#6#*;I70GzNU$CcSiHg55EuXCZ27t(YWg=H^!!RY^unIE5)s@INM*_AbsnpX5 zvM0FBN?;r?V!}gOy}`iamL8+0MfSs?mEsN_HJMVqg4>ZlQEfB@3&l> zLu!0V9-7~?^V-txzY=??$rJgTCRzW z2=BrH8ku|j5TES3cTZ3BH@EXWy^iUKg=4^Svp0t8deWPDwuy1s3%8u1=%wSojAknR z{bnUo0;_{zGi(YM=-!Rx3^N7%@2Yl`+FU!rUgDHpq7C63H9!poEEF>}m(*|T#~cM; z!Y>?E&+tHolYi1OkkNWX#<AdySVNmi^oibmuSHZ*mu_H@uPcEefE+F|+Y1OcvrA6bSS)mT_+sE3{@y=Yua2HS({j^BTv%FwB z&JY_76}Ekk``hwNI%TZW{{P$Cb}`Y2PwQMKbA3k4x6d0&yQrYXk~(N+ z61!>`4Iz5Q=PM7)zb6&BT-vO7Lf?pG!SS_N6h zn{YFB9Y(MonP(qFm>FlLZARycxZU)8kJ~>Cu?AYSt&pAGS?Gu#fO2daZ<76*f)dS$ z#F?C49}?q+X*F}RmTTrpf-B{dc_O>3$q26zSdZJ%d2QE)@63D4Pt=7(5-5Wq0+$vU z${m^G8}zYn$uWtM6wEl?`2L)U$?*%!(_H+f$r@b=O=E`S*)eH;)x6(t%8Z^b*%=op z3^`qZ)(Dx?W?Rhh)mlum{E-t-01nE|{wpdh_ciEV@t$b(b zM&b(DRq6n#ueF%|${GG%BeZMyuPU#Bs74s8iAKocN-9+wXZ=RnVystta}a2^;Um>x zGbK=lkE3s%7vJ%;tqYC8DmXu30Wvfrrgfw(#$ruWAsJ2qZN*@`1}eWYt!zieb`v(* zrJ0U~)gGt-=Ci0-Wwl>fYB=2y9gf<$qY<8w=_&mzgVcjRes{R@>n{Nx>?S;{`OSOg z_c?Ftk!^6Lj@@dA)z+msL84L-ADcxWKIh4BzSqR80Z5Jpi7hjQ9yrqN7IGr&(*Dee zxv+;?=?NZc%}-wLtE@`{_C71sE;kbRpLv>9D~rR+4}&H&1r|C=qc0zr0Te;BQB)4YYsZAe zE5qP4<3$E5P7Df_xnIj?!YXztNj~od_&ptyB6oCXC;3vXhE|D6m%#*HjTztowc0qC zSqH0ru&V6*&WBlICNTEJkP-=CjhUQT_$h8B+3QP%=jY!2b-Y>s*nrMORGJ&P*Ir|p zyJJeN@UUBJN|nf;D$QiPp6j!{>NbxUX}Fi9CLGB2MNC8YVt8v%$~=uJLM5UhiZ691 zjVx3djg88JVaPB2aGgK4P{Q_FIsUrjB9svDOIUH1!X+I-NiO>|os zNEe?Q!?tkB#U;2X8Exr*aG6wf(jzpoD#8%gLHX+3vY>lhx!88|d1xBB7fW9K6r`w~ z;C`b^CJ*;Dnt#Q(*w=VprfQql-N|LgYaX`!D?pYd#SHH0KsYLYidJPXT7Lp2aK9d^ShuR_1YhNk2Pa}h$gDuX&(@Ti z+xg_pL2#xsqc|GK89WiBuqnD;EyjbyF{$QMRKZu3NH}KX_Y7yFClZxd{?Zc{ zxQdGJyHixM%iv5nuo32k@-iZn^r~9#W!;pYowUC;B>mpn$f<&CJJ~*tN*AK`;(V4) zyz;ASL>|!O6?eu>o8f|PuLolT+n31LTaS|Q&I`*23`P?QNFV3hkT5lra#pn5>uc9w zw?a;1DD)?9W+L2&trVm)(&hAzJ~usm&kmdFT&0snqSEPHS#^ALte7;`{)~`m>qP~n zXePU%E{N;JZhV+&1{qDty8CqbX_HO5KkJ5L@a9- zhF4%3O>{bvvYABs1r3tRcO{DC#~EW2|K(csOLVEgjfGzjHDa1p3xlqW@mGL0Dfq-H zAr*$nZwQ)KRVJx**aP|SmwWQ5>ikN=!JP{5xXd7XuR;*rXAl-k*RndaovsF2X z7G!ck4AjQuk#t#2ob<^${z3@CWXHx$gvk}YUI3dq*;=W(ilob!mCM3-sT7hlX92oc zY)VC0ED!W$FC@AYv0D8kC6ZI2R5l#RCGeC{K!&O~!eYSCHROF5{S%>}BF&Z9(Q&8T zN0g}%GL1CH2euEn+D;geSz6c52KVA1-Frz@>&>$WbFEl<6NAzSPC5ULTr6UQYJYI@zIu>XygF zZhb&`{j)Bg_MJ`2rSl%d85{!8H`eWKFT!ZTm}ZV07T#r`SOS*xG%MBk0T7&7T?H); zV0Xe?pYxG0f$2R3(Ox}iYQx?C&wuqpu6(ZvIPV)alWUdfV#x@%4s-{Y<%ro`loMlu z{A9;%*lDo(fvS1W4;-yULS^!A;cWHx=YcsNuM zKc}D{LDm4&)sgOiBmx|cv(m2U`?6QU(vT~oX`1(nS!Ihv;mFXwWEelp{8LoYRxDj4 zcE}FVDA@0~F`EckSRSxc^|H=Q+kq-xaP?zR!g0b3X2VDSA`LRe8;xi47F0-*G;$4Q z?RUU(@-mbMQPUnhqqH*9=$tB&q^?)tc%^Et{h~h|XZ+S~#jMjH>2Ie+RD$Cnf>uFb zgSQP-g&DDI29B#0ZHI5zqF{#(qJz-6ZrIE|4V;T%O7BX)Q2A@dasy#JF4 z$x7+$!(M8VUNwW19S*^|3TKEaBO<2^o_fG^Ij=17r`}bAg1FIU6G2gh*_Y#;R2=gy z+fYh9q7Apj?C6zftaWS(BTlZ?5$Jrymyr)twYZ!c~#iFpFmcO#j_lDVAtvDwrRe z)!$Aj`S``l8pV7Dt>PxKBH?D#DQ+iUz@lEy*V&0@Ny-|Dt9rwYGRz#rY^=8N6w$dE zI)|hDY-sIH=K(B|3vX|$RzxQi;m4LKlPp#I<#;-|EnZ)CH6jErkBOBx((*%M=fdh= z7V%Id_VpbyLCf&`Ac$+lh>I~}VUJmYg_?tupQ>!U5j$~aO&*5CoV}{ZHiAg3*i z$A%ed2v|H!>tK{@r&!AGfQjBlqCyamKR)|a{f|ZnfBPm!LFBij1dHMUwHWeLQ{H!=-b*#i&bCRAd^e}Fb64FyaEWvAL{X54ApcP>t4;u zV7$oKLGxwSHcHr1hWaGUg1hQ&t+CF;-wmMm4mgao6c&AA(&;-K1gfSyap4N|e)8#t-jVqI#WP zb)}0uJI_{%pNxL#?RdMi)wXDiU{w$4x0e>&MuQZR6KP4@R->4>y|rs?svI;1uB&&W zO6pJ7sY9$Ch)_BS2<5NeFvIA~~EH0W_Esr2C%^-qKcLq~`Wgg?V7# zm;K@3NJ=U76dpe_6xa!EjZzQTIK?=I&%|7L)pCnAp^ymzPa~5g&qoaeq~k=`2BDc& zNox`mbfbQ=p?Y$>j-Mf`rb!!#=I1C_S5ktE#E{m`W}L)p|GM(|jRfb}R9*r${am|> zD5I;24@g8B!AagljGW)D$51knC*`*V&<)eN_*a474sHm!GhwYP%V2 zb@XB_TDc2UTHrG_y&}dG8!xMUiM@=Z9{f-|z>pXq>P~EN>c|bsYGuZzx2Us&yp|JU zhpF;as@0piGCNRPH=nh9!*(TZ;=raz6KTy`pXhysRu$-f9#UbKu7Px$&!HlMOy}?DL+reA(BmVV=w~*xxQ! z9}`86a5&E-%XjV&_?Vr{Nxx`Lh|P~Qb71m3T7)~1Uc@}!c3UFDh~HR#M}uV1pTGaH zUFtAeD?Q6fX#Hh$)`fns0i$HFqpkh{+tGVhDBY|wXRjSaLKOAVqW&K~Emhu25hFI$M^ zmsBN+v9Cb7!g?2D6CIb@h?^s7V&P51seTZe<*2dsL!eY_dQjSH%TbdlLcF$xu;)Ux z@88PE`J@SJ=UAl=X3L5MA?c-ImxC!HXa^;cQyamNY$Fn1wcXJ4UCRl}wqqEPYC8zRE-2!s-MK@3|_1Uq9GZ@_d>EJg6b;{~B)__GixS|pW* zJjKKKJ*taX`S--3o$|b97d|1bNRHk1kX8`I1I28wMY`oggn4e6ERxBpwO^~%^y8%hvA{B= zK=?_QBhGLq8N0+P6tDBY=@CTTB)4Kx${S4{R8i4k*fU~YZZxklHfOPm&MBu85{da0 zk||56R0ftatUzu-W*1{xA@C-M{jOiYNsfrim@YPpmZQ>4{y2MUHL~KC;B5h4#hQwv zfk-Wj)~<%y`RKSgteK-Oo`U;cRv>ucR*K@+=>v)LJb}!vb-~jeUOQPWTtPBi`~VFw z6DcR+1zgwa9+Xt+m!{sZA*%YEsxoN&_`mbOT&3++JV0`-_akMTlc3Lu968mw5{C-z zfbDFYsuw4$ria{dLPU* zBiV*z=KZd}M3-cKhD5px)YBpB;o~D);~OS@%ua);3sd@0e5#@yJvJESs&*x>48Cnv zx2i{CD*y?GdjIqH=j%5BREjm#O0u`GON75MBs-k;i@PK`kCq*DZcOj@T=aa24XB&}vA~D5w{s7AJ+>fdezxbu#3Dn>(}T?-(r&$I%ng0prpHHMs(s&E>wpzsd{l#UTAPkbQIC(Z31;3aP=0`YTzHw`}z4lKl}zjy(^^#gOJ+|TE71W z*fZ83T&7Bj1l3$%uci{M+oS&Vk(zKFjR;Ds0!lBuc$xvCEX6fo*)ZgHa>SqvR#7{Awg=7jEWcLIfW}$fm0wY<(!%1u~6IiO>auHhWJ2Z2%LnVAmR2 zZwCVhA+D8irC+Rc$yCuEN@jO@2Jp}gv?FD58)!jG@w}Kqb_GnW!)ASp2ldX;1bBnZ zp*(817Hosk%nj2j8P%Gq2EU4zI7(oN9m&iMrjQ`rm>IKSs`|oCTYR?cNB!9z?sGF*$q|*KcXe;#V^8ETV~QaFXh9n86kjyfh!P3Hb@)7a_64_ zoNY!aku#j2>yV>830wj>ff>=$?>>W?&rJT1a^um>}2&87c^u}sdw9q zNF=kD!c~@>`x)^r$V3f(C`(Gm+VY+bG=K!-FvKrAt#L3$+L*@k0C~x@t8Tp>K>!go zMw&clT$yV;WdW-^S7K7H!P$~kJR=r`Xs23_sN}JX_6TRTa2YdIUZrhTm5W!(V(lYS z7ldKy(dYoJSZNmv$OLU5!K&cyuk%?C>!FnzGo6yWF39QBw3?+7%@Fi7&P(3ZY)4`; zuv_?BfN;zF{rl&Seqt5$o#IptGC(i6Jq0Ier;S=gRYD#Od7}$=AaNu11siqHL}c8u zT%0y|SGs{=R#81@3UVDF!RyrcflzwhX*_n5)I18!wd0;XI7gs!1`l0KtajxYE$67R z8f>D1VHlxs07f5_c9I@$y(taVjzxi$b25P>??Jx718b)%Hl~`_!(5v!_9aKjcOx^D z#_IY8K#_YkQ60j~pYo(X)|ouLN~!)R+8+UqtCS(~>LNz&P4jG~S+Zc%LX_*NkVu3< zk(oX~k(lpzVAI!(i#~&pC~$?eYr_-MBfr;(`jy73SXeB%E=1^&EJD;XI*J!MGuvkuO?!qNSl*8aAMi<>Zmpf z_=sJ8^;wr>id8BFxLSduCB~9#31u2!M4>VmysS44p7|9LA-|E;y>cCqxR*jV=*71K zYiTdGQDl-ED{Tb>S>SR(9lWI6d97TQv6PisJSs-W4EkbQe~hWf0VwkC#zRYec>MKI zU{gU8(PTol-!nJGugEf-JyWEIWGqr_Q?@4WP zaw?1v7vF_$DM2TB5Lu2!KT%~sMeO8%h**scy<+3A zNWphx%G>dOrOX6tfC-y`r}={Wurg08u7$q~j53eZS)jeN;$`M>-dVOUe|1s!hC1r< z(t!R-wD)ei9a$pRv8{acQ3~s*x}4gEgL!iN=zUUo#T@4mI7{_WcYZf>q9+pUMyvT! z5E@2);j>%@987+qT^p7Q9zj%w9^ZAYLRS!ix_~+hR%xAwjD#2jsT--%QIzZy`LF&3 z5YwJK1}I6tM0gbk>dvS?1MbO2w_Xi<#f`Lf7>P}`YSmfKPNXpCa8-Fl_J^BhT&=7_ zwQ9ILV#+!IMQD6XkKTuboHXQ7toIto3cFkB=k*k4g$iesYnQ!RpozUSFFB&Jc>^Z> z8DQq5a~6?isb=B`0I9{pOOHC(lQBoC;X^>AA3Mash=7vBGAw1pXs*lKq1iLHA81w>|~iYkp&2El+aW6ARDVj1)X$oVD%oMt+%cN>T4fP5@P|q$>!S zcZ?CPyY6p&<-_nLY&$=1Nr~t~W^xPeU<>>TYf@V+;a0?pb7dmT7+hUR;#9QvO+xo| zCvMg|&UcMBqqXAf6mQ?a+_ZLo7^c53q(U+@kdPVoMN^_Jc`~|LST@2pX=eSF*I685 zBW`WI@;B<+@od?aus?8%^TjX;V+swU$KBUhgc>+q`wk$~3TE)~i=7IQTRj+TO@Z?W z2HamH^#?a1CU}9c-9ARYZYafuVmq*6;nxS<&a+-E)#7GO?wD2HE>3kD!s^FkZr}9n zKKwxKP@f-H>v(ouZv6_7hcYDrJuOh5K39n!=@GetN=Zh&sRq%%`p0P|5eH0liPs%N zPa=9$RvUFHHD~I1qYXV>o^W4+OYX_azGCvs?>D=0H5H{pox7k2o!bj6W zDaDjn6?8*(F#26g`4x{>XX+}Ty8KBSIelSWDTKR*+Fg`YK50?8|>?*YnV(L zTun$lx{>7jV|7KbeS)K)YK$AL4^uz9ME4%*PX$HN4DHC3^dWynil*Vx5TOk$)Hv-Z@t$wx~?N&LGz}U3sQyJ#*H#;aCP# zRIYCtkBru;C1r3&DCjsOs$2xdA08F+!awgDk$4XJ38PRJ^8r*@>!Hk`YDg z0+m8^@4>7vA?db(KG@ZznF_fwvpu3IRWL&S4aw*ugT_lPMaMeQR;1n48}zDM1U1Qc(AN3 z%(TNJ%ZP5~Haf*arwv{#N?FHkhE9o%^dL;UNGhS66HzD)eY~kILVH~%=VM+8QMucx zL+Sjs>w?a^Dx!sx7n;;9OkNuOf((VJu(BphZ?sH_TI1FtlJwai6h4e-?f_C#GDK9Z z9h5_f(FbLaHySLyLuWNFC`3$ zha4}0!8Sohdn442C>d*|8}sR7cmMz(07*naRF`~Qcmx#Rsu#bwBQYH!m^R#t03d!w zn@vB`M$;)!&z2`W0vVhPcoPh2A@Q$XY)ah9&DUQ7=EfrAUudqu05YE}X7(D@-%;{X zgifrt6q0I9-3htCut^gL!0|B(5T7?8HYL3>QqDCQzm#L>)4HYR@l%urAN%x8T9+Qz ztFBrQNakuuFe`G7g6}#R?{rwzYs1v#c`)%HU5LT(;~AW@i)1)0l}rw1Q!F<1*LCZCw$qY2RKw2&zB_g$0J)V~Pn0g8N1YnCLqvhS2<&#_) zuIUNO=F#u%6ya9(iZxiRguid{=Ain~T%J(UxXxCI?loA%M#dH7KG{h4B@G$%x{KdWJE^SYdEcVY3Pf1j(xHFfMC{=U1FBk-6V%k{7x_~!Gc+ z$E~7~_Da3tw{v(SZfyJ20mgC!3&_`gv1@uHgq%PcT(#TaY_O2qwwN}q-A*Uz!&+01 zUqbcdLHe8b)d;*MTB1(Nzr#w`Wv(%xAaM>PE??&!^+7axi#7%xsdbP z*yWYU|fCH*kESX_03)6HvmCu$+jdyBUi>fDb5J}jK{y%NaE2O16)H^ zwuW0syrxA1w?Rdb8KnU<9+-R0&26A7QB;>vtdyu#^xp5{l^g6Dh-Gk-oRn2!m4xI( zZs$MKy7kQL7b`H#WZa*zgO{5Kawb@)eYICmzSc{;7HEkuwXgaa!AVG@w3BN>rCZ-H zM~S-1A{>SQuhO$jt2CX^cl0g)hRy6^h({w=IyfPgs0gtf!9dNSY1bei!q7;!v9_>9 zWE)-@00ti10Q$tOdU;tg#qxHBg{ntwfZOJ(i$fsR1po9egrFx>NZP(z>pTB?pPk$a!^_FOhm3&=i!$ayfA0S&csv`733rk0VVeKBsSO{<9Uqj7IJ=K>X#;RAiKp6bk zrmQgfGfqxlIW@xh?OO&#%j@2J-$SE)DKgJWQ>+-3A&sdWK}pKMEi`odLN7rSPSg}a zcevKzFHNP>h&Aoljo&gPgm5%keo<|Ms+)hE4x6lb;4f6ca7HJ;nfKV+)_-?*%XV%4T1fzKEUBzlhogONI7=@BY{ z=|Pm^83!}84uDv)*}*BhcQTK z=66%ed7A7pNJ6%hh_kd-<==KF*6NM84?2Y0CxuN&iyv6ba{@+%GFB-kV(jF0q#UAZX-$w zFQXDI-OS!CHk2iUFi3|R$`@7^L}q@U$6cb6kuusO3;;Y<6lhY%gt1g^?F6m>NVR*J&N>(qF+k`1d z*7f8lsCqcT6%g9VSMdp2mh^qY4u(CmJKA_#9i5gjI1Yor<=$#N5D64@NBzHVC5kM(7SQovLSZWEbs{N*sqqCGyPHzx zu}(qs9@0(v(j9N=N-(kj?9Q6xRR_hG9K?>4zmFd0=mOTkV{02;*(tz!$rV9Hwb`yo zT4wH;d+olsi)3mlh2A9bY4!*OpmgitVkWh4$<&3D%QI-e6k^*%dEx2D>d9`;*p8IK zbt^`-czs7Rs(BZ(F;f$fH_8Orj5+7aUf#vOwC0b zk+Ms+KhKflLnsvNILG1ZLol=2YinxJTW`hzTZ&8>%$qzz&0I+w8JeE+3a;_f)HSz& z$(Nal7s3e%DI?T-oC+QVMqd#PD(I2VZOwl^kPNOv9~0o8(lFNDT$%tx?uFqYcEwvY znuL6YlG`uZ&_y;O*A8I&!mzcMj&Myak@6&Zh*Sh|(Ihqv#<_a8!Z`a#1sJo!oG4fk zCCR89bD2=9(lGKWLi*e~ZsYmq4w*o{X$N$Hjp2mJJbx-P<0hgT&#)Bk4Btef#uq4q z!2k|0A)vV&jC$OK$O`G_;w-RN@?(`vgNXb9+OZVL{#W5as$f7l8H+tl3$RM&v(AhY z%~j7XCXVPA2fBR)%Zk^muO{jk$Zgqza7x0_|H>gWCYhj}ES*QN=W^W`b#Z;#rG>eu zon^2D=_`D9$0jf$GAZaj`Jak-EJtE<8HX>36hsmIwxNquOi0UdB8}i1Fmc(tuNl^u&@rYbQj|sPP9wk|?sU3Mg0&79Gn=1Qu6tw}(fnA0q6W%`n~sav%mS8c*NIi6IB&Xy zOERY;^)w(@e@1Ckimq#n8%Y|XdH(=I+Im_!=Eev4nvh;YBAsa2sO>ZuR(&N#S6!r$ zAwbm5bp<3ve6Q?BI1KqLM<9IJG8#nMiD#^cKQw`c1L*;ycAMxvk`?`#g{s2jz0k?%E+qR`I-k;y&bw$x#D6?h2>E~ z_b&lX2LEu=N;9_;XypoL-D}G8JJ3og4#TB(j6TbjueuD+HNrDt#_5rhD;)-V)z}*9 z0(O)=9BTT3SPGS zIM;-a;0X552nTExVXm#b*u=S3gVVFF5$JgE!xJK7wItFf!pdoP?WO`$;@b3X$1rP> z=+0bzxq7-X>!BXu>T}2}NU{AqU$IAPeK z4XjN+SCQ5cy8%$VW!0^qY)W2Vf@DUpV+BcK8Q|rza!h1Krbj{FT48>GyCKUC)7;Ez zjC&l6;mqV28lz>8v5t{@4sEX8TOxwXkn2rc4tMeD8-UKShOXdl6oUe{%M|dGK$&mx zs@6Sy;@@MqRx_9&KLG16EY7aoUHE5bpvsl81M5VcJRsv1*(^>walDKKYqB|h5Ry=# ze6@t6t?!9&)Z%D5-ECJW`xeE>e@9-kTE(HEj;x%STVqweW#?v1;x$?9(wKoP7o>H903P(0qpkE29-&GLpnPuggnJ3FvUcIk9|mlQ}PM(Z^0SgpuG**t@A6FMqNOy9I_s6Jkc?-M7-J>%w}E5MT+a6Q<8N)(5;; zIgO+a{%|aXyYcoS-2ApIO^jRg!0Z`p!c)$@6gX6zLEA_wqAeB4D9lp#zu6~}=H-Ow zD#e16+XA=EU)qaw7U0v3(z*WptzQ8Ol7IATEm>*EE8)_w5*Dhd7;u_~U{~jsih~h& zf&xs{N>;AdnUb18dnRyBeMLiqdYv^ulu6741}9T3cx!Ex8O|t7r&jSyoQ$8J`mw_q zQWmLL1Ls%kH@inwV^xGku5gaBb@<*FBoc6;S6@C$mP*QOgN2XmkyB!k8SoATv@!4& z4EMu+FhUWJzTSZ6gdJaaf6pXhZ-w4lci5KY1?c506!>vPzy&Qme>tY-^F*cQ$F!$l zmq&nMeJCf8I}GP0QU69sijlu}LYySU!$7ds8qwfq*~&B=kIz6T(EBONpRgU12Gev+ z$Pt4w3}_4h7SU+ToSQocC%}XmQK7kOgM(kLz?6VDK~AiT?6~`8=XIkWbHlfIgr0(Y z1mL}%*T0X`v2Rkc*V6AQVbw|TP4?ZDQId3MJAY)AqacjR?hQSx-a!y57kjaDCGm&K zSJ;{&_m>T>Yh6ugxD=b~y~^ZXDRtu`@hhTH9`jm0WF!1&WY9E(iNt%SfK!Z0>l?UrtGEv`;VrAV_eJ+;|l zZ6t3|O+sT;0kPYNpLKMF#s&M;#t%k1!T1tUrs^AOn3+;9AvtADuV*&W=}ab3UwQ4j zphu5WpddTye-%4JC|FC)yle!Rk6!@_H;-X%l0mIU`Ia|5f(KhVUyYQY4%tJ`>LE^q zt1gmGnIa=2KP2b)cASN6b&A_X5h6o)BW*H^&O!s3 ziHs4Y3jJD3lM<{zPWo4n46VV!hO|a-XAk7i2fO}bBO`n2v{x2h8(yU?V0(Ss7B0#C zaclG+tJO&c{EOliOv+9#4M*MPd?q%%P!PhCrqk4s-j6U#?C5@H2&u}jJfo{rV&q_L zmlm{wOlS`(J7AEN=*LQXe1pZTXm@^`f`s-_zC>7oD+0Obg~=7n8r=pnfrumAj0y%5 zmc?po!e#jTmx0Jkq~W$Qu2JBP289>vXoA|fHo2TR`48qP*W+Q=m!pAA-?uy?(^HWn z|Kt@ST*fsu8VW|vh17iGHF|F!3}jSShUF)=zP5amU)>)=mtx57WJXQr?!#OgddBAGHLr#w1Am)y$28(01ljL5y)U) z!H+4r`KrgEI~*1mYcLk;0yT%{PB{b)RRUrXV7)Uy#yi4p2P2&NK53r-3dXAYYvlIM z#4Qm?$q)fXUmtX}giSglGi;ujyTe49mt) zO5pXU(5ft>l^dd!E1jNbAq;jL`wd{U*ClxR3|Zzne;xI%y2v6lC&y4asX^c{`X#{yt1MOBL z)FtR$KAJM6M~gb_2D-L*p-3+#(rOtHt7m%=i4QpSAqQ-uv!9HVdhX=U9~GMHXyD!g zp8U9+)}IOF%yLo=mR+rsoj*-lcWNkhR#-lbTTjdYceaFtRs>tX7)|FY9u3&PwVwTO zG*ywWt;A%mkWH5u*Dfh5LL-b*r~lq}G}HusgUGau)C)|0_DvU=Wn*{qCRZb6bQW@y zx`<9!sCykvXFP>kzA&jzzF;Xw)3Gx|a>*Q0H8vjd?xjT@7S%eO$pyzNizER~;Uf~f z2|&?r)zUa=QS$r$uxCA|RdHnxJY!C9``XVz;KL9dMjV``wiPTqQyk>s?PPA)SrSe# zAANmsQ`nkd8$*DqxpGv+h}ZndeD)Ainwj*-ZXY_}vm?gY$0|KsZmhr(%6y5)n0etP zomFS}Km*VLSi`n!P(7>WXhmq2a*x#}GRKMCFxN4Jvdk5?j_0N*Dupnbg7G#W9@{7& z2u^Z4851y1?E;&+T}~EX!~lNDXaZ-udKdy8NPD%nY{KOFgIK;!eF?1&!rz2 z9-lk-(1Ma$G0F*+i8_OJ>oYU^!Ac>ndsA;eGCpJ>^o0cl)5#N-12OR0#Vg);TO|;_ zW3(OTXey@jzB*W$>Gn%kn`yDF`qn&jgOB%>phb|fNSliKa8QZOxiqZsg!g_R{5CEgW2TbD=2=Y(gpdgw5p zZ$hF|lG30PjP8SIuDlEq=@DTbq!%N+k<+@AP=X8%lN5GS4CgUI=7@D~4ENff018p>9tOt#EN9JoMwZvjjKGGspX31FW2qD*CbcRg0(dr0kZbNEoCGeX zVzdl(@Jpj!FSK=g9*ios)3woI~ z#vT*R=Sh9Tqnd3fu_0OZyyi|73!wiMi2)Dit`BrB%=?%^(!Z~F+0a=R_)XLWw|h!# z81m6!_;C?89v@Frhid z2sBrxv>|2=WH==uNCq;u@AXvtBz1QG`i38_%m_f>Q=_G#UeNY+ff$JDs{Fey&|7e; zx9qTZ2G&55ld|>=K>Ah-W-X1kg-Qf8q|rf_n(*2{i!|+nV2+nLe}C+cW%=msotI#f z!*A($Mk=lYllvzwJ7r;_@JP?kM8x;s3ST^V5Jt-Lg5@R^k()1NlYq~SrK_7NMn zNg8G*bv6`!Vwb?!wuT2K^0}r;cXZXvR3(JBuQ%JA>qwa)_lh89pZnQEU(++T+U8M8nRtO1 zC6@O3L1ISHfqpRvso3EXuo--ISrW?drMk+-@+h9#Ex0idR)CnYf%av*k!_6jDchA>YMw*`R+8a{NImygsu@#YdO@oY6}EOnm28&te(;lW zV$BaEy#bZu?_8M~@ZeET>qv>tuU)4Gg}6!s2JjJRYbj&60%WcGN@y z{Q1Fu2+Z&@GsW`EBzIj=!dM}&^EkM?{wvtu>_=b)9m(CVUnM^2(Z~&5S5FifzJs-^ zhvY1@g-YX&ZvDQnJL07;S^@R72VwC{oY&z}#bgwH>dl=;4@3Fhfcj*(?k{?(dN)K% z8F?fVsFmK)C+TZ#zRi1p^Gw-Dm(mwEHCs5W>3M!dc*Bv$Rm=tWm4Je%Hv^odVr^Mc zk@6Sn8;v{53QeKuby6QU9t-a~r!rE9Q!)t+d^kSYOsE2j!wbOb2%oHwBgwWg&5_2b z1f?Hxop3osoJEtii1&9ikQRaOl&o z?b7R>x&XM7;^7vXsC$|HNg~LKhjC=sWyF!u$+3_Zeb~%?gaKC%YAI3gX-B4iYTL|P zEB9%t`ga&QUz;3RJo{(WwL24UO&hg?!;Zw5>sevY5HI#Yz9i2%Aa6>V%ob=r_Sv4B z6su^w;wyndd+@c(og>x^(9-;>B zxqC|i4$%Y}X=~EHwR@AjnsB!oBQTOM)>Mf#&g#cMDDHdFMGaM zPxPkB6MLi?8NDBr6JQe8lL4d%FWSeajgqphbFMCZcFt$9ROTgVmFa(2|M1g)Q_mD&~B8lr$#bh*lKoLwNOkc{0y`n>lj z`QC!hd1=J^8X`kIH=s1MwC$FtHpLVW&6zx z>k?JPWEKIm3;XZi{SCk@aH~K@J^e4D3FVEx?)K{Vl99i|)6X1iEdW!ny!f;Fa1pf# zn>$xtJw;NWPF@N?rI#d#ex0^OFJ?*Uilmz!ej;cEimGwL-8Bj4sIv7xnDb_$8zwx$ zgVo%CbxS7Pm!axS?q%y&NLkRlk`h$)gCY$^2w+qQg2QePQDq2BC)Hxo%6V`b5YWp%Lz!ey5!l zlXImrX$V=+%%p-b)8I9?twG#yiP@{M2UmBp5e{=?c+>+`OyhSN=b6~9c$|aIbooHb zM?wc%u`!lX);{kFtemdCtl;s>LgyW5!AK~5RJjNw9br#}%}D)1uMf*BA4lGaQ;CA3 zmV;rZ@1WSKdX0+aM!gGOI&xCWsX~W8{$iESX~2h zc+j(gkWsJS-f-k*l-?tm;as!zH}M^D75>#1W2gC;V$r}bod?|*G+AhV=wkG~rutDL zl&CiH)ZV(dS8`=8=8#*?h58V#4@+$FL8_xQMW=@jW4G%Zj_p^H#yZNa*^L;scf;1s z!%f=i@0Ggn)x`P+U};`TbC4Ls*gQMCrrkh{{crqNtGu*&1}y(3GB7F%bXkEiO86?@ ze=9_68drVtx?EWVer%^hZS}wntKwA1HKNy%43?XYyzR(NbLxI!w@}yz^`DykHBbfJCzf!$iIjfv>ql~ z?W=E6pSTBYZSIJF5@W2A#`NFQ{4i$f%{4ppzTBSF^wQc{ zK~=nXy}J9EBLDy(07*naRAt;SQ(307S)j49;0qQi1ful0c7H;Oxo+_U7bUQSsw+hG z*UL~5B)fVYkhPRkaAQR_w9U5I(oMPk1YmGQ8#@V+q^%oc&O|~oq!!sEmlEb|M`~p4 zTcfHUn^A$jYz=KIG+2asj&+Mkj1K^7zgrPwfhe_u^|CAE(bTLT=8r6^bq@seMKMf+)uhkQb~Na(2OOuDr>`PTa~gV#Fcv>#-7D{}^dRZJJGl%Wt?8$ipp z#+x(#gtJpi6PxD2_Ara0JC%~*t={^(VJg5N*Vhh}a2T1%i*}^fu~+!Wz5|$pn!2*8 za9=x+Dk)y|1C*nyL5=7fd?fQLsc>Sc|FyNXGorArD-(MahfhRYXwAw9*Q^05Yxh&T zD{d&3YSOO-k{RJ5L$@(0nOD1QowPij9I3wc2jhE}UvRu~KI4B1o`2$wiir9Ra|+15!I^W1bY*m5I;w#=2pZ z6%mV?>8b{o8LtL9m-ZR1|60t6$J;YeuA$O)S?#k1Rs^nb2h(<7>Ku^;lv`IZuJLg* z+I=0|ypSxR9dcU~w@d9?W}a5^?||e7%^kC|aq}fvhP2q~ir-yiow5-q)M921Ip8b2 z-R%#FoP03G{MkcMA<%c~P|U5=)fF+-b{+To3vR}PS<%YQOB%7|8r5OOfjw)auNl7#` zP4g>$0MOs~Q8s`{f=7_6WnLizYbJOLvAnZZ2Q58LsazRNHJLikcB&_fo{PA>cCO14 zg2r>xY^u-Cc}6gkTtKnhZc@@>^=#TbmmnlsArfYq%gIJoXDGs|j}Ukjt+#|RCZ?Gt$<3H&nr@5+$qE*7nL@t}a&M3d$&*S3G8I*qC-oIMxt>8Dr0$kLu$AVua% z9@iO7524Knzp=I=rw2IkQeRk;ckxAJ_yIHgSZ`SyJ4QFPoL;sggNwk5n`@?x(I&?$ z*|O5~+;J7e{l}Sp6kI{o*v2Q`r`Xn^KXUAT8u;3N{fCFB;0JUONrCQh;dc@8$LgfA z9U0WSGwG+q|7Gn>)Z9pJrBT2CBi_;0TDn^;$zyvoi)SSHegPl?fy^vQ_J76}6H6d~ zL}nF>WRcyoCX!?G?UwenL=?yNTuU1k2L59|OW!L!@HXN4?A4wT2G-&Fs^1kJ<`J|h z0p0K@VKXY$UAT?9kU3abPQ(mg*id0yK$$9y<83gcK4QVVI#%66<>HmTO)h)_gkxmg z@}Q!DABvcLQXLQ<61pIiJdl zDag~MAzEfp(E={t5rPuH;LzI$95l0t`<7t%HC)p&j8U0&?*VWbUob-(2j|-DO`LZi zEX5_VE4uGBpt>|lkkX`*lu)39kRZj}UWI_Ewac0{M@zTpCQp=xKo6#@nWNV$ND*`d z8mqu?aEI)M>czn{x-?ma>w5~RISQYgG;@?YicRamXRs92oYjNiK`=Sx=3cLE13c7&zAiF z%z`#C3+gj?CG5P#U#r;XskN~gVd2BD<(-=f?g}j=wXu6@b0s7Ygl+t{y=VBao|&zJ z4bTP^%_U)VdEGqD~2U-30KianDYyH5>!RklN&Wkw+I4bq+!(8j3r*%%aYEqqf78$6^Gf z(UfSGQ?09eq1@~E-z}NS6T1APyomXJoFk%f)jhZWXvW4RQ|sR=qz`Sx+{|6h8PS<+ z@gZKp6mSM?r-sOStFG1Ode;Q2dt4cI)hFSmdpfBdKl7tAiMuo}&^< z%vWqnhX45lQ)1Y$2WoLuEeJwfWCdoKWd>2K6kj_)8UtPjqK*ImuTbrDLK_Y|h8KRY#PSgvA*AS{GbGL0Mqz9`Gy z4X*|E%q-6QW*y=JSyUFfo8zTW9?0%=dE_AzjRtISn?$(0@eE(arbx%Cv)>)IBid&h z-Hcbv>&%vrn~53=n4o@nB4cAqlBZ9(7iU(6GNQ&DXk1w@baKVG#MT^W)vK00QCW!W zT#LoC-EcYV$K?N0GNlaGJW`q9bleu6kW_b#7GG7`aR zzxBkZ_#r4zg1c#qu^+VGVH#bs?ax@}%NduYUjS5>GNR8UWZ>A*Bj-q9io(pci?%{n z0m!Dd4h95YMHMjJ{x}(;f6W1@wE_JRk+p3veC z=XES`;@J2vVi~aEHBTUjLK?Q$ZA^cCn`%&OA$wMB4`SD`Q@KQx+ZLI1mzipxOKx)9 zaKg2@@ux{Q<1pk7G*jWZGsXI?|IFz!C09ixK?Dhtebj{&2#?%>HqAuOx5$MW0~C+O z%;t)Rcf@pdnsdy!vYm6g)qp16*q$Ej@@SSh!fwTS65@swkce%VH8>|9HG$U3P>KwBR zD_UL&ov*Or@yw3==>n;E97xIpHUN zM~{SGs`H{YT?q8-Wn9d+8f%;c%vMDW21(=3s(N%bCw#GPOVy=rN=WnMEo*DwTfk%aC-bA!!x0$z*(XgboCHmm7h!V|W zKz|#0XX+R>OV#eI4Hkb0yw|^{3NoH=vsR0Rs2^H4yHCmHr-EiuXzdb>gdJTLPSjEm z``usw8Z=jdB>R{V9k(LF!?T2(`3+yFJxw`7C`Jx_@l>#`ujbr_|HRMlj~4(ov5dbi zI7_OsXH8z%fyOygZc9r$rLYo!$!DQnP}l(2Ej77rz(_WfJ-G;P;=*~2NH-oE(^4i~ z^;0QhddGmHF|*R;JF0tfna&-gm=#Z}<3r{Nvx4H)XoXm09RgmQGZ`{T>D(Qw1;~>P z=6(KU;t_eOr*~M<;^1qMm1%@a*LAX{z&M$MCt60vaFrrh3o(UjH-KGmhWV@+$+3yQ zFY)PRi`@*tMJq=by)?-1rJtPA(L z%Et&A15^+3D`Z<-(QIsOfJBWwX3x_@@8y$F16UZxlLwPCyNQgtF$yhV1DEFl0P}FA zVwYhH;Q%kOg64v;eKJc3l7&gm6t29}4lONuoB+62iy6H0GH>`UjfXa~wx=YEHSqwe zAGuc21EUcfCIL=EY$@CgTwpJF;J)Ibo#T?|!Yow!52!664Z!aB*ivO~FD1>ZPZe|- zS(~c7X-I9_)=I*=Ks47D;+d~%u@_0)jPMkRaSfB%n^v7MZ_k)Z9C$;-RbjxUk-WyB z1oYLY{-*9zB679uxyrIQD*Iw3tB-<6aPN>;MC$QammG&lr@LPOcx6r~IlCgY*0g(7 z9s)RyN_%^DT(1Ic9?Ht;3p#8#?w^JK$JNMEsVFnsWa$@T*mU0wDZu2Qw%5(v#T*%K zQNTC-Q_D=7tt+omqN7GOI?Qr=Y{HaUZ_HAcIZUi?&&kq6A(iUOTXqcPRd6@WOf5QG zGN^U@c3bww^9>B}W%A?@QzdG>*;E6a{qo>2i9{1h4LXXgm6>jUqDf_*LwJ#B22CyV z^y77&#yDZHjcsH6Z8u}^tUAffeir9qBZ1+pZ!^VtFLH0mHbe5)4rs5vOx-GELmRD%4a+mwK*8^ZT`#X6 zctN^GsY~JL#n|XsQW4}(kLas~5~|kOfstu!qGL@IDS@;Rhi3+*6eN3*b{Q8Hc0I2Y zg{H2cA*g8POz(lX!md4x1R_v*yPButGP|v1QA?mtRnl;C%oaFF^p{Px*yI&51*rvG z^;&SmvaSWvYD*xKCc$b+5gxLxPA!qbYeVic+bu>`;X55t%gTT-D5GZ4MV@@LaSSpt zrLkQt0S0YYO5xrKm4I3V)~b>I%1e8jOOiptntjyMQNnj0vg~;-5-ckiDwO@JG_Vd> zscw@j0rXW#Eq$(Ju4cha9Q9Es0S_-^W2}!f6TP+FjM+?Lo ze|gQb@^sG@k3~n@ih!s}L^aXz7^Z&co_DH{wi$>+r0bC={&WE6SP>MCzJarliT?qO zgoh7^i&jSz*?bDL)hM=MpH^u*PaZQo*aMho#SGq5Za<6ElJw`aZ0{{f%>2q9=L=*m zNaIq%toV=BHYNjUpI2%^Nf2%bMGsWX9pYEqJR7)hWW;t7f;mwMAl7Z^(PQP1-hq&A z1TGOBSARK#{+*&NA+^eoF~a>F2=N809kyTk8Lk=keH!^rX2#dJLdeMxWlOG@`i_&C zO|+T9%75H(6PbXvNz#gb`}VCqKe56OHBGOy*of4c-HPnlHEU)koTCL@9D6b&r0JNS zqY-v?IyLef!?YfiVZ)-hO{ii}kqTs9^|@BLDO;+k7_?FZq;L-J3M^*9E%^4f)HE#a zqNUDdvWZT`e!^A@P2TH>B)H`--wH_`eb1vN^lcg9B#0^)&T%Qc)PMoPYkAtMQRxte z1hKV+r6@Bo(UZtQ%jLMn7Q36%LT=jx#D6tsC`)}9GNq0`gi;bCJ9Hd0i~`Wj6D z2@PGPgb)}bm93VHJ#M607lp3-%^blZU4j)Bwv)s52Co(^Y!cG}o?8oXoo6efwxU(R zBtBjf9*;q6)vC`T*<>?mIr4>%r=%Q5gNM+uk4F@Z7%3xE6L%vy)0R^(zllT|X$6Hx z><8RZNF%0nq!`9g&QO}k%q^BQmMCm^*kB@Sk4$HH(^!a!9%WQ58a71J5j)f%BZ?l5 zV?NEFl7V0tyu*h^RkKzO*5Y`V18;`0fax?Z+19AeT40Z9r%MNfOfgew9(6;m&uJOP zFF{@aLHB^f&Ar{(dQTvm8Q5X2G>iV*3oAfk>mDywL z`4 zm8K<<;JITO(p+`JMSsHh$g$v26Xnh|$l4uJGSJ8lv}^UFB-mE_swX3@>$t|V#wq?Tr|9?D;Q%ikkktL0MOzCKUB9@D-3r3`Cj)_9L$=ilBz;uA?0lEi94^ zMLMio1JwY*l5?E$1|N!yLRl>-l6zpwrR6v{7t^AiX2X2nA3?Sgs%t81W3shceC9Ec zSxyPB4hDsLg<&j1tyQ~I!Xs_{9e^&AzP6au6fpK~xEYktfEZ5oV>?XVPH6b9y4^>q zmxZrlemInTN*jVSx^ql(XA5f?3%NLHW&bzgftQ!o$!*IhUY1};u_UNHc7#^E4-Dg| zXclAOi804P?5q}5;%bqeLT{MhJruI%6UFXIlD1E1Xl=TYtU=ASOZ@`0@g?2h-g!=z zW}MzD`$P?`k7zgFBwA17SAk6eskOwHzM6|{H>aiT{Z}U=q#W2Xy=_$K9*m%{Hly=+ zz1AXSq5l}|>wDb(OirL!Bt$LS1MnwE+Hh7~yq$dwEZ~CQGA@Rd-`vf#QZGgK^6Yb2 zpj;!2&0k43gB5cS0pCdySZV)DMzl0SV#{@K*+4C03YA}0mbp)xo^9;dqI87j*Qj<6 z+fW+wKS~Q*sEh5tVm`;_W?p^LB}A&JDLc#;E@7^O>$tNgtixsdOh;zyA)#^wOWg^U z(mHH$aE=6UymbU*XA&v=Nz8y=YmfjG z3S&@s7M0-dj}ge|*;-nQ#8vJ4Jwd|!F{+!?5hg+jd|n=`?Hy()?J8*)a8-q~wTu$h zJoy=FyC=7&9hljLsdd&2&%g@DU`%H9Ttha@IXVdI$;r60`TUafa14GZx4kRe(96`x z1%#n+8JEa@gftFbi|Npl1nRb{xPvLm+3aE1tjUu%>Ee#_P66m)6KjUycfOF_pc+Fc z>H#?NcN49en3EB5;d8_1at~@^VRQ#m#(8T#i!tOpu0&4j2}U-f8W`E9m0FCcEa%sO z5X)80YXEr~G5b`>FNi(bWQrV}{ABYM2KESoF&szlTH&&1R6^RXysYFR&p9)=(^LM2 zK?tno6o1Q-?NsDmTvQyC=E* zF#~8(?(Emq)nTk1Aj|0~$l3_DU@Vhgo+y(lUWC&p01KqlBh}Gp9XVBgrZ+1{C$VUz z*YMpS)ZmL$;a)IsEGE6%q1gzKLU&n?BpHo}LnG|0yU-TI3zbNHc32|J&X97fNSIYgG%;hd+8Inuc&nN|9}5@rtw|r;VQNbDCp&d0 zL#ERtr!6>`St%s+#L@rdl-VdYC@pPY^_m;=C8bZ8L^U=OKvOfz?&w4*72*W6ewaA2 zby!MAwg_(IvEC}H$w$WATQM&liow^UXdJZq6&H^#Q2r7{qB?H0Bh7g9cy>3|<|0z% zr(h_qsG0DC*9xdi8S z`Q~M>OG_j9;p&d(wmP&lMdgBUwNiVDvQ&Hy@mQ8ZOif`B=A^=f0u&)(L=A-yj<#?z z&CaAb9vdNv=cSRP72#mYW_in&=$=V4M4-`xSh|@#Kp9p)bqh~19_><|z+zq0D9I8U zM_LEIX~S8*7>HXw0ie0pp)E_twkl|-h&k9|6Ss{@)#vKK$bKE6L!=9L@R4CNreT_) zX;GbWle0ZDdIQ}s%pG{egIaFZa}IPX&n~K^oh`}fo$Wn zp()3{t6#BcZwC#W#V0}$%Gr^WVhM&nq7>>?l?`w#N+2HXg$gXFkTc$jg#p@waz&)mFSq8$}%)pEt3_F-% zf_YssZYUYhY7e2qo3YV!tGH4L>Bo8U$i@=eDHds|quCZ5)vC+S&Y*y~VwW;1u;QSZ zNLG!#4Fly+UUd^&K8KhKX8xnu$NjdbQP_#q!(Hw)6%|9a;oJ<59&!?(2}M<25f^Ki zVa)Zd6Jmlb(nRmN*szLHMj@@h?>y~+)SeqW;c8?vaCgGT8Sl8ovZ%=x&oQJSBF0i^ zEBIam9krW%gNKXtd1TA0Zijv3fVs79Cekt*bGz)R)K|!VT(CTAxs0f zhYmN_x9il7@kxQ#;zWA-1fXy^Fo>)b7odRPr$J;IXP!DqzS#O zezL9M5PxRn;bJ9&D(RXuB&s%&nkJ{Aja7iPi(-zRj=kGgG)t{U-T?A2n~HA;Tv3E! znyWi-a=WdOl{D+COQ4*lIuhi2_lL3Gw#w(mvdA$*+hsNb) zh9?xgghq!cX31H!4|T==tqX%3XY@tFy#gfW*$YV?*If5e>sbF;c7%J$;UIGHIp zecAHad@VJA);NJ{laP>IQ6(rqP6_#4Wn~w!rxm#7(7H(wTh(mCe6R-~JLhpBF#AjU>{LeUSbRdfMJIGvev zDa^Y-_9(BS(hr3OqMCdZU9gGrexQt4KqDpk9DD#G;9#!!I_r})$C`;CK~UO2jth}x zXAEE*OglsLdGut7s(N}r#LhFLt~KThgi|%8q!7He6Rpt0>DH1#1ksL1tVjN23ipd*}r6z`}7Mg_-)gzqwZ^EXwz5qxsix9Ra-U(a+uv?K6M@$ijM^iOR z^Nfbcyg>aF<*nSiq{}M}>}WX(eTHLyW|24@s@Os8=BXegFU< z07*naRDp1g1zS`Lu6E^YqZr4!+(EGNUs`+38`aBR0FOX$zv!N7(hhPuE#6jOKm|Ej z*M(2;5h{(x{6Hza8nbvqBY3E3L&SO6F5W^8Y z3)$KcVgrJ1QM=aw%PC=r*>+n2?cm_qVN!sn3rsDzdD`0HSx(nf@SGpuoarHy)H#BK zuS)ZG)uw-F-)D1pp^rgn+^al-gH)bql{EOEfU5g3+5P*zLiV_{;IY{w=MK$1 zCPEhuV0V`+lms}2QWHG{pG@p;`lcq{;oyW9$ajT3Vz(?L3AhCtzE*6HwJ}%9PA@4201t+ob<_c&mAzV)Zkr@> zax7x2uTwe3WgxbI4RBrlt*I${@u~21aHjGKZ#Au@1ZEm1`@4PZ zD!v0Hag0_s5X=+Mds0Dom?y!&m%L8kPHyo)r zMrEx4X_|?~ks#|t_!3(Y;k1icMO&1}B_t2e4T@=DB4MY6V`EdgvWNHDdF`nLYlp9j z22NyGpjd>pa_EXoMQRX9>&P&97GgMVq|9Me23-fV)Oi@ymK9~|+@Nbo;UQoKvRnt* zdjPM!8sU95JzI5w=E@ozC%!rjq{+kYFDQzpDQFMi9LbDnV8WS%SY3a-PAw~ zSR7>&t~3uxC^}>8J4k< z&{`p<#eyqg_6RYqFi5aQsv88Ts7(m2&AJ$zW;Rq8I^8!1H_zG1$*EB-WGH_HTWx5@ zG<9BiA{AP|oL+LD4dAs#5nOr2W`adDP53j_q_DstVzIPf9g?M3K^DZB#5iYWs8f$t ze!^=iBc!oJU5$Xs}IXlT(POTwb%QR#mO9DZWP z)fbObkr8D9T~p8)qCHoVz{k)&kzB=>J$lI9nVjd{NW99Aypz3ZI(QscC^w;pZEgt| zc(SAm-gY`A=M>8$MhZnmb)=sWqqGQH`lISZR%NVu@Tz@XYffEg@`t>7d3@&yC@(JNB9*VGV8% ziFuUE6JR{B5%Sy+nCFm*rgaRqqcQW)g$6*Dexrou~L@d98xCRVCx35^fa6?ivM=BV1s@I$j#(Dw!9kx((p7XrPqCMs1t5&(PDcs_V0 zd1=egR3+V*^P2jSs!D8bL&}(f)PRiS%Ym6kqwu?MdAwF+MdZNn<+R;}63~{cuucl? zhM~0uzNlk< zo17wLoYhkzl?+*;Le>?MgLT%tr&=Ar5bMM!&OY>hP%!;67!fwh;n}DPX9kwzft)M1 z+ld|Xv|cRl=r_A036{}pCeBh8?E-gUUV=}mMVfd(X0II+vJL`h?mbYLDZ^}iBK#s= z%S-~{l${=oLFI-+T?|Yn@kP|l3+hB1<~ljli>N((4%lWi%Dt&L%{npnX?Mctjy|bG z6UsdiqXPD-15Z6hh&~7JcPzxKdXhWs{^&(2Y80|7>?84&1ZtSF^soZTnGn7b7F`Yt z2qcRs!cR6hV4pr}{dWUs;g|)cCL4?7TzeYnad^m_C94Qn80oISO3|Hx0srcfePk@Q zJUA*+6QoX%9GR(9N0npg(b8fCl;AU~RN}FA=ksV+Z>}kJ@Bp{jw|tfwm2^1{T_-(! zt!Pp-Z3a4aLeDPL)tnsA@^!YxKsw;cw0XRFa!LS~Da#Viq-$a{i2oGjT`EK-SrC#@^l=PxItwk& z#mWQbm`>8t>Sv=Hfm?t~%YZe^08=zz9Cy=eTK++#G(-;&+0imt2my`C0Ip_1tD{EN zFonh*E=|Tvu)l^PfTO6>AamCmrll^hyS>8fIN69c12fQ(AGT1dy4ZjOtBMc;Dm>|Y z)O|0022cb9DRv$RTV`mt)9&(ygCWk;Dj7k7)k)l@QLgzCZTm}GUwNlg_oaGnc}$F? zQA^d#H2W07a@eY>+3R1!8)RFc=NrZ>D|TeSV@*0RDWS)|!6TpCRzSfc?huu4b#yJ_ zDpM{+P8^S*!+#u2OOv-gox-b>#U6Ca%c$a?X%d*(1(<;=P zJwr3wdpZk@e1`%nyb(5wI$;f8rz>E2uR$Z?QeiyD6-Yalt6T4=I(c1qi3AV1+%~M< zNrGxzV>hzKbLA?8nO6pP$LxY3&{;mi=?mmsLcDvxvtER9$eTFXdWj?3D{8*udkfIy{U`jew< z**7QzaU92g8s!=psI-?7Yh@i1NffQ8Q5dJ1!0eXFhf`4#+4d_y;OWFz|K{aMu@V=k zR+!T&rnA^$C(_n%O8dBC12N~VbqpZ`6lSFiasj$Cl-h+Zgw_u`$l)owWv+-y&F&U( zMvZ9wF_kPH)eL{G(`wR8&4J$wtY}!}NkQsP=q~mH38J%3NzT|Yq@B@G*qDR+Dc71A zjvh@+Wv)Mq?(1Dq7*ZTGLvdmjnd5{VpXjVmW?G-jiiKo0hKL8+kT&JqdsYr6XRwi% z_nnO974HBBU!^F2nS6C+a=~&h*x_OQ8Jezm%yWrhDMo>&1bgXo$^>;;c^{h4i@?#w$$j2wLkdJa2)(Sm?6Iz`r4%(ZE4TCdp3^?b&fn1~*|y=V1nKm- z%cN6KBM?Gkg%8yf7kPlthOzs+b9N3!_$0cTk|wBvga0ctkGV$JvLGyC;nF0Jc5f;( z065>#(F>HF<6!C8kr9OWJMF#;yF);wr^v)f{pywz@*gv9>rAwbOb{leO+b?NA!K3x z^yy~K386k)t8Yniie`HEF|0bcSB1@xAVQ<*GzOP>q=#*F(0jCZS#*zOZ8s#FxmKBV zb{L7efAusx$b`~%q&qzMFcT7x#PBuA(wcPOvHpdDZ#c}rpv{1pL0Sp9=T~d!MNeR) z?T(C30EAIW2@GQj?hmy-3}3Gp|2h&DHGD8D>HT${}{jHb;U` zY2z3b=hlTuW)qFx3N>W2r(Z-8f;l2GtZFpoe5OjTy^U4|#J32=HC06;M#?3cD){EoM=iII_@C*WP09EhTMH1YZoHo`P#fT0g^SRH%Oq<4pik<+b8S#p49Vu+@~k%kW|7HZwj#|l8^XJ|?qRfU3!*`l(BS9E zD3wWU^bX}SZqks0V}_UpF`z1n&Kjw9=Qj?kqqxH2kuAdojTKLi+gFdLDU!wHw*Zyv zM6%d)=wyhFJ~9xlXQ8NnNqwO*cDT8%vhU^+ngT}3h70Sm&qWH{7RPQk+nLsqkT6Wz zlm=+AxGbykC1?%rAmLkq2fHMPklYI0`vVjil>H)M_vN zK+7ndnyo!&z23J;43@$~es$z38D9{^W{mH zM}h|^jezoB!NxIW(;023n8fn2xaQOJV6Dn(5FVJeRYX~0`=pbP%onaid$gHJrIEN8 zOPK?pX(>#ts%BMi=5=+68_iP*XTfO#@m<3K5GJ2~Vu<8;u3%UlYJ@PmtF)ZxbPT#x zA&-Yhme5gM0wdcuq(kiRmqOUs>k~-GI^l^rY7FI=Ak#1%sxeXtAV%0o8aCkaF&TCY(5bj2vOWLwa~=QJSI`;ovq?p5kFJ zPB1Q3zQLYxu-C|2ulbQs?$4DhIAM&S(sF-U$h?BlD?58Lpz3GQkiCgHJHKemQ ziOnZbf)@e#($PRcB((3l5@I5536^~@2!!6^jmHj6aiA|0kyPrn#qclt4kil=u^&!( zR#Ju=%PDNNEpSs!96_+BFCHh%G{a;>`3xdn*(9WEo1`KnV4XUuB>|>j3n~ZJ;*bfZ z@A849KpR$u6r?J~Pmu5qgvz@Th;9~IGNQGX!n3Fw|LRY@tes79?b)X=`fbD#laFeQ zRFnY1b>9D?aR+AbF6Kk3QOZ6`x}C^n`p+Yg9M33NC!(}zWUyH&awMe23$vl@IQS88 z6`IgJz}eQ;N76mye=ukH7gRR4t*d9B6S=&hb9S7gLn(9Q>7{g;oidHX6-w}zB)oJ8 zq0p5dp$${Gb_*kFBtTDBhhu}7C3I7Pi*PolYV3G9A~x;vE?Z@&0<9CDZCJFeLNkz& z^W~T`FrbMM!$7lBBu7EM+6w?emJt!U3W0BBr_M3syEkRG#)f6WD+u&j=dksM2$6b^ z5`9yov{%{)72|vh6IqZK_;mN9ht3nYJQX%)MBZEqVNouV5ORA=bP&WM1z|4NVVPF0 zOdr->s|1m)Lj*>)ye)!-bF9#*Hp7L~b5;r>*Q&xUdI^G;usEuv3z@Ho1wc$Sq$P-% zawKtR#sOWb1eww@nWYt{5m>H>>@JC@b0qlq*r1jS*t9erVRT-O$rG_TDLk60HWb5> zWq&UpxZqHaJogfwt|KydJaoI_8ctL8KYEhRbMAG5Mg*~fszhi<8jIp=H0H_Z6lcv> zE`}Lnh`H0aI9|1#Fk{aH1z8-OunJ8a9cYDh&_Zkcbor+2W%|NuptnJ8>i#wi`C#}V71Z6OtgR!!zn~im#IB+@8R28 ztk`eg{;5we^V0w&W&EKx8>%o6Dufw&ecqKw7Nzv)7!XA z&zOQPYLV__gZV<~gsSWU8RkyilJIV-zU2kt_{Nan5)_xhXn7C_8A73A+7;R+%mP|D zEON2vz)#MpTA0K=o^M2mA+ZgFlv*qfMK2EX8y72zmY@nsXh%z%YYoySnaK|@GsTle z=vyX7QT87CBHjundtv4#c0wkp(Seuza5!+`fV!qQavhD{$RN&a%waKELS!4+CKWEOYr5IrYg{E#@j^;iOKBY)0IWJes_Iq{99gE3mC8Dw zImOx~>bW&S71xC+CQH%PhC@?!%N7p}dTYK-FUg}BqgDw;L1C);_3a5sA_!4keWKj|&1XJY7Vy2@fwPxHGE)j?yt%lj3H6p>9MS6x;va;q7 zkH;+861?&uhYy7dH0Z({gUdD|$Lv z+V!%k8Ih;sL~Av*$buT5QXv{xfXy%i%}r59Lu{rSG|@>$HSKPpZ+dtZu+~=7fD5by z)5BLxH3UE9h^eEDiN}~7>}?Q%6-^QrfI!+f($Ead4}?&?cSiPWg?!GCXtRv)-M)R& zHz1~%xaG*^@w@KII6_L<`&_f&WFi`19>1c4prv=75jx;Pl}Ze-d{OJjY{c6lYPCAZoyBsII zGoGGPhuvjccz-5!;~?9`4Ykn_?HY zcqI5_Z^3T)Sc6E9f-|@b@T$vna3uNSUkQ zY7~o_C9fa_7AyzG`WdM_G5GZrGc#r-LdLIpI?r&};$M_grF()&0zmb$0wS7!>5#Tj zK^;}$v-cQ^_!u(cnQ$*ou_`iNxutn=a-k+mfbg)ir8_WbT5Ac|)G*W9pLF-=TTr_N z&uWBpPBNZ7(Z(c!V0xXg8JZQ#;pt%UjPqv`M_FkRD+odEg=hG zwPxOmV0FY&|IX;!qoB10Te(+fqzq$iITQA8Ia|?O)3On}mYR z&RI{Irj4>Gxhz8fX_Uq35>NYHYsTkXN@j59ui}%sD-U+2h+yMMu=)r03Pn`~%ba!g zAg+uVXM7TqGgQCG>)A5vIz~uT+#NAn62v#I)Y3vb6HSQhu8b)sqz=}kjXdgT9Q&Gm zFW=QUp`y7q*3_!M1|^>5u-`15uz?~4M}S<02AwvJBs=-Imc(G}8?q)tV)n=6P3-75 z+ON%oxbO1ivvtAdkkMW5$W+Paa$jYEkFa7-TF#ZKNQ8!aAnICrX-x4rWZa))pM`9$QDSw&XH^VRDdLevZHzFi&+!8GwdPDl8Ub@wX3k77RENfdqFlHtz4Q|5N-D#(U!0!6Wn3Zi z`b6H^nq=m?5u`xQ2=C zN~*jzEKeHY$SE(2qUVC5HfFV`3IJkBBo&TS+O(`S9CBKvN&{Qum?&f)7U{!k>`|pV zU7lRkn7y*Y@gb}gU!oGkB1xMX4C{VCWXNmA05M&HE_6;DKKOVyGw_ zx&>F1wYE{YR3lf(b~W`O(hJoHc;h-SqEBN8OUgYDbKWbA@JN>%Rc9;n{it|NFAt8PRQAU;4UpF9;_!vb2$4^MOEVb4sfQIR zT|!W2YFnG*vCWt`U2wJ*l;@GS*OM;*I7^1wM8eeeY~MH$Cc?LH!%1|VAevmTEe?h< z#y|k+DlVV(nX6+M3r|rIx-eL5h@F%vR|NGSx?-!O8^^YgWIK$uf_8KQSe|58jC6J}$At4WIcsp*?Cy9vN5t?10V&x~2>XFbRw)j8nt3;fVjv zIGcNe#}b&B?3-apy1uQG^&X>+#!2UpIyndsJ_oQd!zMTc^O!gwRNU_}{lTV=0&#)r zfC;eu(-4?U%&qK<;!1R{`&Ie%hxYozJB{sR2|n+5r-i& z$0aH2R$gSas1n)GrKUm}UVOBHE&rFyw2y=}S0*!GCWIrLYjo;bt_m#F0Gnds$OI*> zrVfCa0$PED4Po>y$zfly@GKmJlkD{v*6CW}2E3Jw8Ifm2hk)GsT;aNz zRgp2bK|qP%w-Yna0vi`hSFxohpd3<8QU!|7r-Q;(?`maxN9tbpX>^# zI0y2$`DaV{d(k-5xH6GymOZiyjj+3ej_#FyJpG%atL*vV;|fJHO8#)HpH zRZKqd(B7$N=|aVuf|e1g&=MAOskH>=%z(|_>;SZ8k(;>W-Z+4Cx#l_w_JxlYqag!27EDw@i(JjCY4C{U4-t5mz(EggUy49X*iTNCH zmD@2X&*;#m2{2f=-*P--3d)dOC07!bmT!0Lj8$wn;=$h+X>K$tgPnr%I{K{P<7e4n zPcTCS#b*#-zy0;+U;qC1AOHB*KR*5Z^QVuWo<4kdAOAf*K0H3)zx&6B$H&L_?;qbk zz5npxBmVdC!>7Oh{o|)k|NQwMpMU-Q+i$=9_WK`S{`%|d*IFPY>`CDLN143^DaU(F zWzOPN?szAudLk!7Zf;_r*W4LcoOXQ}GgfZOoVnWmw-KW<4Dp(84RMVcl%l5_l0o6IwQ*?JZqC-CF8X+rn)$*0s&mRAa%0dGsBg zf_e%C(1^mu1qrM8hAS>^hzh%$g=l%?B6XywJU*n{^C(|)oF%}{1vtStQJcd=ZN$hk z9DC+-#%iv`nwYd@U>D}TW(j8NDtuE+!jZk11mRB?(CdI=FLa=zkI{x z{^!rX{o@}$KfQndc>nP3{@uHG@7}(B_wN4w;r{VGuJj+?$JKsb@jn5F%m4RJxc-0t z1jGBM$M;WRf z`ias@guIi%qaz6q=w&-*cp$2bWgx!}hk-@4L_}aKvWF?{6dTpqIPvx=hOW_+!d04v zC~7p<^7wt#(G_P3nT8HJNrfucwMMpFLasxsp9PuN$#l%NDWyQqkg0Kdcwh#txM=FZ z$Y!su-azGv)(e$FFUMAZ8%pk;9Lk>iND&aiRjJUb$ennrM`FgppTPXA$!lqfi7-)M-r^Kt5yvsOY{1Pyi3O$X3cEZR})*cMTD*|Hw+fi+l5Db|i z9xa*b-LvqV19Yxo#kHZM!&d&3?P!h_lBk+jyXrd1`Tj@+!NzJb42wzWsR-{TSp*a8|kYj+t5targv|r9-?6+@U ze*f){fBf_34(_1IGUO(DofhM_R_Xr%KzJ6mf5o<-0rg#=*j z<~0u$MnZU@O^XMeWT8`#y3oMh{~9$Y)4Vuyy>J9E9x(=rgNv(b_CbA8itiM{bP*N+ zCfJBF+#g4Eu7Kl|Eji;PQtl0PZJ_5WauiJPG_KZFXMHoOP7-G@px2%tg1aCa(tN0n-PEtcJ+8G4{V2ZJ9D5`8gig;5xdG#sh&&)s!`E)eG;n&H@nN4Q}u8 z41VBuZkJW+m~yN_B`wEAkV^0P&fb!x@#Y4AOU`^VDm9z@;vQEwOj8&#t4RL%LHO~I zh(T!+HMYAAB4oI=S#eIJkW zjbxSryr%9f<;VBptP!V>VJl_WR`PaAl3>`h;Za^pO$x+6|M=tcFP}et{BVE&?&1F3 zBmR4M|MZAA^m*m~zApH2Z%;{Pf`A{X^V7^z@IPfBxn3FMs{@Zz~-W>(W!?N`<{2q6eC1 z+83|2$;ABWq9s#r-r(>eMn#!*4>o=mldL9nwU-3SNU9u-&rOmk?Bht7ZhM4SF){R+ z)<1$m_T(w7m9vNfK+qj zpK3YPS%Kh;eW7$oT55d>9$K&QgbMk>`m?X2y7BR?nnirfCnJFr$6@Vr%={C{{ zT4Fj~fA2g3Hk!_yd6RaMmqsHvD0_IwtHX4OyU>L48MAB<*bW&Bc-?oaD}vTY5$v;y zgz#J6Zq2?@U1SLU>7&N6Y5}rLeVCouyowN?>c9Hg=d^?U{+en!MlEPj|4#AuEICyzQ~ofJ_*8NkuFQVfTCO*V1H4aZQ7 zw5zL{#<3Z_ik(yvX<|&JH=3u{c4ve;Tb?}D^jhFSUQ`w1#9zOB`{R$_KYsf3`1pvo z`QN>Jc({N6{xRO?$D90kgFo)(f5i1X{^8>O{_+0t;UQiqJiNP){~khk_wN4fyLa*b z`*-i&zRBB#-o1N!e}5mY`-l5?50Cdr6dx+YYYDuBh}Q%7i~t`J@CCuA_wSz`9v_hK z@!`{_kN^DFzyA8`Pi=!Z=WDJxGoK$C)_O>ZZe#Z}vG5clcl68Y7wo{x)Cw*v)(nQoT^8_Vyql*B;XmZYk${Zu# zN+id%FnETd6vH}F3=eapaj6i-Lh~yq#4qECQ#NE@wvmTN(!8`*2-9j*03l1My;Fq@ zA@VXNEgflXk#S&+E9_TJt*rql7BjDFnUiiy(cR|JqPuX}2SoWli=Kpee9#6y$`+Dh z@m=|^?BrSei%L|dq6G!T1^8ULh~G$HC}W5O#H@0SY08~MH1p>414AGnl3CRlvu%ml zkgLITiFpeUR5MAmT(qqvrJZ|+lc~UIhLJS+T+n1;r`jjqxhEK0Ih{_G##xlWrJPWi zB%&vf)g{Dyov`LWA4VQNRRYv7*D~9j3$fL`%(q{QbU>DdeySy`!9XqU&ZsKu)qA`< zDj3o%C)zQ(HqrrfiDNCTz$ShN95WUFBsX42P6P{nBMX&%8gs}Z#F3&*s{Le1f^ zmfQoCGI0kqt7}(J4L0SCsf;aS@4=sCt3-JuO%7fc14Ur<0((*&<2ExjSx$v)#JNpw}$MluV26Z z`rGFZA3okcJiLpy`{VW;T!TNwTlI0(U+?7KKjI1>Hv+|-|8H@9kAH98ym|BX&FeRB zUcY($`t9o&UcY{G_Zt7*y?K52=FRKW?_LA)`t94-Z{EIn`x;{`KXHoxHLwr>4~O)wpv5 zqqFfqzgmb-%$CKgJW99fy-Z|D#09PnOVKe%V|&OGA)(YcJY_|=5ZLi`Yb8V!{~?6i zq~_}`XJj)YsWoi0DV>CNcqK0bQSG17pj4_oYPCS;zhrF0v@0JcAJ-BQeFlRh)TOF)^~1K%Ju~ z$GS%YzkTi37(o^>78o62Q`GZjOcv<2?%WN=)1ihlV=(gCZqTFXUYF_GG|OmW=h*@d zh7PQb(7>@{!qR<<{tDGE<`f{`MMc%P`bK5{xr2hoTJeqhUX*?(WLLrvWMr`hxbx>$?h zdyd%#|GNMUmz0I~o+b~+s!I6({PpKw|M=%W-+y?*`|xky-9O;&oVLnytUcP$y>h<00JNWP)LhC=!zRni|Z{EJcOM-Y=fv*-n;M>LcY5=}H{P>8Qkly13 zz=yb3=;OyvPfzb3;_JxoA0Phy_rL%C`yaLvXnS9ZHA{1>g|@}_A# zs_A#gan^v8_AZIL0O=9GWmYdLSxQL8x+0g zt!cu+e>_1+w;I__5^>B<7e^U$$Xaq+e8UR>3nB4762vhO?9MPQ-Ct&2%o(Y;79_28 z9e51uN%!JUmYolDMJZ+pgCdu&@E|HOp(Tv4p)8P8{bn_y;fXbieb?J#5Cn)380YkA zp*p0c2%W+Xu##RRP?h;*_U( z+SD{Hh1VKWo*ZCbpv^`p06VZ26{w;w&diw66^kLgAxLD3b!LDU|hqf|Hz6Gn>?%w)?0JpDl<2* z`9Br;?ce|Yg>?{Vi2-e<=pHU5h$ZQPG@AMf+WH8|hc$6NYuUf-b;* zuR7kmeS;Sv_x*_&+`^z`aNh@8Nm+_19m&e*H2#sXkzJvYlZf zs!VXkUG3aq^s}=gs8=OmbA_li15TCVe$#CEVj{Db+vcS>l_<91}kmdxs4)l^Cgvm@*!G1`F{Tk{<4k z8D~)@+8W6!VG_9Z0}#TwRjxwZPAp?<1SBSfmP@J9E8e#r;oN_MfF$GTT6e}lm#HGN zsNw|Av1wD1%c3u8plFN!P=N<>==t!?pJQl`k>E^P4Q!93^pjPZ zb-HbpI)nYWbELN7kNS7Ox7}FY+8P1Wa_?bf*&SBZ>g03cdd%}gwf<<e|Y%#>CE)=s7wERuUUq}a$z6L7dCi%k3=(ovv#K)Z%%L<6 z5YBLObe#-fuOe5Q~O1CjO^c7b4Ei4Sy7X?g#aU8=d zC52_hNC2mhFy^I6n6gzwYRu+U(1;ae2!O0GI~}hspxf4m2{_x{GHh8ee(70TYf#Y{+?VCh|Q zjM}Jhj3?<*VxR*fX?mZ{FZ;8{CQiCT_%e_4+m5$iKUbxAt*CA6NJ}0c zVc;-vzMH)R4wCqjD|-G8fM_IC71dXT^Gp}Gz0$4JfLtz) zvTcGtw{OmoH_2n7!;UC7KsH_d3S2r)by~A>Pw=)l1ygVr`z4*bm_&Tq*7Af<`!mQK~=yi&93&f15PbM)MEerk3T+r`uOk|zr+)F$K&TX z^IiVONBrfj`}@3Z#ua~FPvfFLZo+x>I&R<5JNVCWq5k4IuI6zq{~Qg??PZ zhx7T1XD^?>e4fykFP^`6{?m(R7@j?gR{{Zs{aF&}#X-ETz-xp2v>>?SvxT@>D5Sf) zS9ftE5k4t+iSHD^g0B$7=K}Z|0Y0zDpBus_1DI=m!ht_cfUgVSZ;w4bzQvav-n{?t z{@2gHe2Gi`ZaSOD6OfjqAUWVgV8@JAqnS_hxsZJ1VM>(jT=(^U}hXZpaPS023M%3_QrUcxzf@5&{(2#wc7L@nxC(w2ny z9I0K;G!O&}e!DM(an$TK!>RrqRIh2zvrYJ+pmkGvF6F=(()UoYsp7rAj&{lj5wEne zxIGDrEY$rQD+;SaiJ= zIURB&GQiTx@))29;yVDRB?|w(!BB|GYdT5tRs69|Gb#|ap%}=;#ADuxmg(KcsQEvcJQW)U1BCvun&|RUjt60>cI4fxKxVDxqQA zz-a)@=4zIsq{x$(%XRSGbglR*YO9S`g%cmtfnAH+2xj1-IePZRJxkE4ZqPDd*nA3J z7c`KoQRsEq$ZY{MSq#OjA|FRdW-2j5ns%6rFKqkjmYGR!jDys7e3HW5^nH>7V~0|j z>$YYMR6;3Yatt1fOKf9WigV^4zy1F4!$;g5A79*kz!!SozyE+g%@tqj#ZCYDU%Y3I z@AKl)Id8Yetv0y1|1REye}#+wd=Eb^&0oBH{`~pNxbT1e{24Czah?7={=?@3CBMMi z{4a3bA1?%OO&{3j&!0W}>BaN7^v@U|AmQVJ_(&mNN#sWY_^jYL^2Wyjc&slDP`JCh zyL)(8u*$>$x($JEy&4L>UV$jTvTG&}H_)Q1;~&0k@!UTk=(+g0M^= zA%{1@?D4bm*rq#3@v{g4B`mGFh=aL9T%7!Z8F)j_9J@PWF-s@0JTSM5$7x&WGz(K6 zOmyLh|JzN!kX*3&1`CTKN1e8!SlUQ2besh^ivs8qdo<*BaB%-{Zm;Z}rFTWa5jn z?;hU9Z}{LopZF!7JN)M+H$%e53fqU4Ew^UJ2aY zy^60L=hp`6M}*=xitu3oezFMPc8FI3^;gI6Ck*iC#^Ub^JUu<#KjJq{-@SYLA?^

P^dO>%2V=$z5<45O?Pfbl?=m2knVF=W_cqp!4bbXLlXFVwUx9tJGqMDa<7*5#S9 z=8F~(vCxGIAO9tAG)*DSA=$WPn_b+fs!d-x8l-}86KhBO1jZ~yuB=U-ob`Q=|9p5EurW!^vBKjcmC z_&#jC(~tY&v&& z(tn2Q`nu+S9(G*8Kf`~|@t*&)pTdjR2?$CgF8}j2Lg1i3j+U%veH=Xwh3ijdI$tjQb(U&;k2CLKaiM5KkM znFbwnZT2>Ym1o6@nWvJLpds7Gsshd2zO*za=_z+49$X;=C&|ilbUR7OpF5!NVHB$b-Ns8;5OT)?)=*t>l*v4Z9x4C^TXdoj@{IeFY}T&PY#<PGM*r1TU<~Nrm&KY?CThDOR!_6OIp)T0s+>FIza5bNw^up zWfX!^$Yp7+6V_}dk^!S9?uAZPg#aYQ#bO9TTU`Ttu0<|J5_5F^u(d-3G64+5f$bE& zg!EXUy)sF%gc@E`N}!kvBAvD98~S)Z`u9J6|HsciKfZq-m-hJL>-(qokNBQz-1rl} zn4f>a_x@d6@!#P`JnxLn62eO|D~m42vcfA$R5 z`RT`XKJ>WU$7OxI+5gkCXZW}v-}KL`|9stmYySwymjH3;AFl`a!2&)dsMj0y;Xq#a z$A=O4hH>3tlph@Arxfvl0PYdGdlg?9#@`uu^$MQ};Dt{7a4G%_S>EQPzb$|-4Zo{z z497h}@u!YIKE;P7@9yv4-oJZ#`tYxR{p-&^|E(2?4YDi~cYT`YQGh_&lf;AbgXHOF zDp$yblLTUB)sHLq8f(=?wo zDy{x_m2a_gYDpgZrZeDru(f?tsp^GPY6nA#cWTpwX_iF6=;b6)bcG7Wr7m%7K&!ut z0l~;2m%Y-Ht@5sVnrA|2Mv;|fwG1yrKPS;K)7S(@rG<(iBBOwn!*$6Gw`hnu3(a2v z@>JPIRO0_&oef|N%Fle6AXLpM1r^po0jA0^Gu-Ziuqy-GvmBeX*}C{k`s$8qXQtDL z8EIA#f%gh}sW-P9PJ};fQ`XCfo+=^dmV`IE(ceb0S@n{~#5!?HOhBrke}BqnqU!|` z{XRuojzX>E(j|D+Fv_9BBubI_d&JYfhLx9tjtpCzDB=_sj)-iDM7PEhSK~2F%ia#} z#cth5r(tRp?#5k~MM9iyOv^JXR)~i=>mrEba+;Dk@xF23ihCQ^Bi=V4K+RDSuKR!g z{nN)!4-XG--@e70{dGeNe)B%Q(EEU&!FjmHEidtAKmR`0EBuF>d*c267kHcB?y$l8 z?Q!ouF4*JZ{rR)!Kh-TfasB`7S-i84>-Mb>jHeaNH;K zoPTj3=6Z*(2i)a9-0c+K7QmOC<4>32LzDXDAiNNGyuZ(W;%^8%K0UsFdcvPTjz1}Y zpGJNE^!VxLPk;US7nY`1CziNXNTG3$uj|Y$B#Mend=m*b1p)RV@LOr&&iA|%Df|VE zPX*ziwR>-8_|zt&X+H>y2$c*i6@(W>)??HqUS+tl?+i|qSMEDTZ1u*awVbZ5cn_Ba zUxk!IbFin2=fp(2lnC31|Yz8e_SV?*^`ePRG&` zn5v8twpoky5>gJdjT8LQKLl2VlA5D>4+A@^1LLsSPesbs0?K1_LY=BK^%x~oJ(BUX$?ms6NniL%6m_jnK6IT6%Ew|@% z4+TRWTwO%IP~^H;FZx*_$6Cr(eSVU|-5A>+1%Xd!=32T>GoNL4KC?8KQY1~p0avKC zr$8FIuE=DOz;KLQA0?I$@NeI~{`%|hA3lDvch&*YLRbhXJuM z;w}I9d>|h3!+^NP=Pf{Zn?F7ah^v2GzQ-#7d{*$&v&xd+5eV8y$}9f*j)8)*pt@@) zijCI*0mmzV`Z98U4uCs@Uf`A{+zpiXIAt%;jQEJ4{#-F$2*e*1h}QyWU;ceD{Y3

W7Q~kjmU9q;$ERk=% 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

w@|`=DoX$ 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íWyNP}`b?NVv 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 $i~Qq(<3^@3@js33 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

|3Vwq@v;< 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%0DKVTmW*p52z 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/static/image.png b/dynamic_parser/static/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7b302812b918c52c01b87f84e3398c3313f646f7 GIT binary patch literal 4630 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 { + const option = document.createElement('option'); + option.value = key; + option.textContent = `${key}`; + select.appendChild(option); + }); +} + +/** + * Show/hide test data selector + */ +function loadTestData() { + const testDataSelect = document.getElementById('testDataSelect'); + + if (testDataSelect) { + if (testDataSelect.style.display === 'none') { + testDataSelect.style.display = 'block'; + if (Object.keys(testData).length === 0) { + loadTestDataFromServer(); + } + testDataSelect.focus(); + } else { + testDataSelect.style.display = 'none'; + } + } +} + +/** + * Load selected test data + */ +function loadSelectedTestData(key) { + if (!testData[key]) return; + + const input = document.getElementById('eip712Input'); + if (input) { + input.value = JSON.stringify(testData[key].data, null, 2); + + const testDataSelect = document.getElementById('testDataSelect'); + if (testDataSelect) { + testDataSelect.style.display = 'none'; + } + + updateInputStatus(); + showToast('Test data loaded', 'success'); + + // Auto parse + setTimeout(() => { + parseSignature(); + }, 500); + } +} + +/** + * Clear input + */ +function clearInput() { + const input = document.getElementById('eip712Input'); + if (input) { + input.value = ''; + + const select = document.getElementById('testDataSelect'); + if (select) { + select.value = ''; + select.style.display = 'none'; + } + + updateInputStatus(); + showWelcomeState(); + } +} + +/** + * Update input status + */ +function updateInputStatus() { + const input = document.getElementById('eip712Input'); + const statusElement = document.getElementById('inputStatus'); + + if (!input || !statusElement) return; + + const hasInput = input.value.trim().length > 0; + const statusIcon = statusElement.querySelector('i'); + const statusText = statusElement.querySelector('span'); + + if (hasInput) { + statusIcon.className = 'fas fa-check-circle'; + statusText.textContent = 'Data entered, click parse button to analyze'; + statusElement.style.background = '#f0fdf4'; + statusElement.style.borderColor = '#bbf7d0'; + statusElement.style.color = '#166534'; + } else { + statusIcon.className = 'fas fa-info-circle'; + statusText.textContent = 'Please input EIP712 data to sign'; + statusElement.style.background = '#f0f9ff'; + statusElement.style.borderColor = '#bae6fd'; + statusElement.style.color = '#0369a1'; + } +} + +/** + * Parse signature data + */ +async function parseSignature() { + const input = document.getElementById('eip712Input'); + + if (!input || !input.value.trim()) { + showToast('Please input data to sign', 'error'); + return; + } + + showLoadingState(); + + try { + let eip712Data; + try { + eip712Data = JSON.parse(input.value); + } catch (e) { + throw new Error('Invalid data format, please input valid JSON'); + } + + const response = await fetch('/api/parse', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + eip712_data: eip712Data + }) + }); + + const result = await response.json(); + + if (result.success) { + currentSignatureData = result; + showSignatureState(result); + showToast('Signature data loaded', 'success'); + } else { + showErrorState(result.error); + showToast('Loading failed', 'error'); + } + + } catch (error) { + showErrorState(error.message); + showToast('Loading failed', 'error'); + } +} + +/** + * Show signature confirmation state + */ +function showSignatureState(result) { + hideAllStates(); + + const signatureState = document.getElementById('signatureState'); + if (signatureState) { + signatureState.style.display = 'block'; + } + + // Update request origin info + updateRequestOrigin(result.raw_result.domain_info); + + // Update simplified risk assessment + updateSimpleRiskAssessment(result.raw_result.english_description); + + // Update AI explanation + updateAIExplanation(result.raw_result.english_description); + + +} + +/** + * Update request origin info + */ +function updateRequestOrigin(domainInfo) { + const requestOrigin = document.getElementById('requestOrigin'); + const originName = document.getElementById('originName'); + const originDomain = document.getElementById('originDomain'); + + if (domainInfo && domainInfo.name) { + if (requestOrigin) requestOrigin.style.display = 'block'; + if (originName) originName.textContent = domainInfo.name; + if (originDomain) { + const contract = domainInfo.verifyingContract; + if (contract) { + originDomain.textContent = `${contract.substring(0, 6)}...${contract.slice(-4)}`; + } else { + originDomain.textContent = 'Unknown Contract'; + } + } + } else { + if (requestOrigin) requestOrigin.style.display = 'none'; + } +} + +/** + * Update simplified risk assessment + */ +function updateSimpleRiskAssessment(englishData) { + const riskAssessment = document.getElementById('riskAssessment'); + if (!riskAssessment) return; + + const riskLevel = englishData && englishData.risk_level ? englishData.risk_level.toLowerCase() : 'low'; + const riskExplanation = englishData && englishData.risk_explanation ? englishData.risk_explanation : ''; + + // Get risk info (with custom explanation if available) + const riskInfo = getSimpleRiskInfo(riskLevel, riskExplanation); + + // Create simplified risk assessment HTML + const riskHTML = ` +

+
+
+ ${riskInfo.title} +
+
+ ${riskInfo.description} +
+
+ `; + + riskAssessment.innerHTML = riskHTML; +} + +/** + * Get simplified risk info + */ +function getSimpleRiskInfo(riskLevel, customExplanation) { + // Use custom explanation from backend if available, otherwise use default + const riskData = { + 'low': { + title: 'Low Risk Operation', + description: customExplanation || 'This is a relatively safe operation', + icon: '/static/low.png' + }, + 'medium': { + title: 'Medium Risk Operation', + description: customExplanation || 'Please carefully review signature content', + icon: '/static/medium.png' + }, + 'high': { + title: 'High Risk Operation', + description: customExplanation || 'Warning: May involve important permissions or assets', + icon: '/static/high.png' + } + }; + + return riskData[riskLevel] || riskData.low; +} + +/** + * Update AI explanation + */ +function updateAIExplanation(englishData) { + const aiExplanation = document.getElementById('aiExplanation'); + + if (!englishData || englishData.error) { + if (aiExplanation) { + aiExplanation.style.display = 'none'; + } + return; + } + + if (aiExplanation) { + aiExplanation.style.display = 'block'; + } + + const aiTitle = document.getElementById('aiTitle'); + const aiSummary = document.getElementById('aiSummary'); + + if (aiTitle) { + aiTitle.textContent = englishData.title || 'Smart Analysis'; + } + + if (aiSummary) { + const summary = englishData.summary || 'AI is analyzing the meaning of this signature for you...'; + aiSummary.innerHTML = highlightKeywords(summary); + } +} + +/** + * Highlight keywords + */ +function highlightKeywords(text) { + if (!text) return text; + + // Define keyword categories and corresponding style classes + const keywordPatterns = [ + // Risk-related keywords + { + pattern: /(danger|risk|warning|caution|careful|high risk|medium risk|low risk|safe|dangerous|risky)/gi, + className: 'risk-keyword' + }, + // Action-related keywords + { + pattern: /(authorize|approval|transfer|transaction|signature|confirm|login|vote|mint|burn|stake|unstake)/gi, + className: 'action-keyword' + }, + // Amount and token related + { + pattern: /(ETH|USDT|USDC|token|amount|balance|\d+\.?\d*\s*(ETH|USDT|USDC|USD))/gi, + className: 'amount-keyword' + }, + // Contract and address related + { + pattern: /(contract|address|0x[a-fA-F0-9]{40}|smart contract)/gi, + className: 'keyword-highlight' + }, + // General important keywords + { + pattern: /(unlimited|permanent|all|entire|infinite|permit|approve)/gi, + className: 'keyword-highlight' + } + ]; + + let highlightedText = text; + + // Apply all keyword highlighting + keywordPatterns.forEach(({ pattern, className }) => { + highlightedText = highlightedText.replace(pattern, (match) => { + return `${match}`; + }); + }); + + return highlightedText; +} + + + + + + + +/** + * Confirm signature + */ +function confirmSignature() { + if (!currentSignatureData) { + showToast('No data to sign', 'error'); + return; + } + + // Here you can integrate real signature logic + showToast('Signature confirmed!', 'success'); + + // Simulate post-signature completion state + setTimeout(() => { + showCompleteState(); + }, 1000); +} + +/** + * Reject signature + */ +function rejectSignature() { + showToast('Signature rejected', 'info'); + + setTimeout(() => { + showWelcomeState(); + currentSignatureData = null; + }, 1000); +} + +/** + * Show complete state + */ +function showCompleteState() { + hideAllStates(); + + const completeState = document.getElementById('completeState'); + if (completeState) { + completeState.style.display = 'block'; + } +} + +/** + * Reset interface + */ +function resetInterface() { + currentSignatureData = null; + clearInput(); + showWelcomeState(); +} + +/** + * Show welcome state + */ +function showWelcomeState() { + hideAllStates(); + + const welcomeState = document.getElementById('welcomeState'); + if (welcomeState) { + welcomeState.style.display = 'block'; + } + + // Hide request origin + const requestOrigin = document.getElementById('requestOrigin'); + if (requestOrigin) { + requestOrigin.style.display = 'none'; + } +} + +/** + * Show loading state + */ +function showLoadingState() { + hideAllStates(); + + const loadingState = document.getElementById('loadingState'); + if (loadingState) { + loadingState.style.display = 'block'; + } + + // Simulate loading steps + setTimeout(() => { + const steps = document.querySelectorAll('.step'); + if (steps.length >= 3) { + steps[2].classList.add('active'); + steps[2].querySelector('i').className = 'fas fa-check'; + } + }, 1500); +} + +/** + * Show error state + */ +function showErrorState(error) { + hideAllStates(); + + const errorState = document.getElementById('errorState'); + if (errorState) { + errorState.style.display = 'block'; + + const errorMessage = document.getElementById('errorMessage'); + if (errorMessage) { + errorMessage.textContent = error || 'Please check data format'; + } + } +} + +/** + * Hide all states + */ +function hideAllStates() { + const states = [ + 'welcomeState', + 'loadingState', + 'errorState', + 'signatureState', + 'completeState' + ]; + + states.forEach(stateId => { + const state = document.getElementById(stateId); + if (state) { + state.style.display = 'none'; + } + }); +} + +/** + * Show Toast message + */ +function showToast(message, type = 'info') { + const toast = document.createElement('div'); + toast.className = `toast-message toast-${type}`; + toast.textContent = message; + + document.body.appendChild(toast); + + // Show animation + setTimeout(() => { + toast.style.transform = 'translateX(0)'; + }, 100); + + // Hide after 3 seconds + setTimeout(() => { + toast.style.transform = 'translateX(400px)'; + setTimeout(() => { + if (toast.parentNode) { + toast.parentNode.removeChild(toast); + } + }, 300); + }, 3000); +} + +// Global function exports +window.loadTestData = loadTestData; +window.clearInput = clearInput; +window.parseSignature = parseSignature; +window.confirmSignature = confirmSignature; +window.rejectSignature = rejectSignature; +window.resetInterface = resetInterface; +window.showWelcomeState = showWelcomeState; \ No newline at end of file diff --git a/dynamic_parser/static/low.png b/dynamic_parser/static/low.png new file mode 100644 index 0000000000000000000000000000000000000000..f64f92b910f0adec46ab2536d7994473d7ca67a6 GIT binary patch literal 1167099 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�E(9n)M4pSe;5uHz+ydb1} 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 w)e52ab#R@zVhD?VTg-I_(x+ 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%0D5iHMVDm5ML9G54ASU_A9bz@&= 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 z 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
    WMm|n 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%0AxO$M&Sq$qy3l!y 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
    M_=ZmVuZp8x4*-=!GU51<1 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 cytE%+5}C8QyBX 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%0Dk36BDhs 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 z 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

    &Ia4^0^h@fSr62^kQHsqvy<%5mF{nfex%03 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

    7D_Ss(dTG6^F= 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

    }6%79KRVlf3-ElR$a{}i6vU>26-b= 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

    MpoVe2C&ek35339!v+mtfk;@$rmBHb zv>J(r_)8_2Ez!fh)_S@2toUL54kKaf5^WKV9^L6D$wj~}k^{D({FdPyd=#-7qMWlS z>;ep48|OGt@8n6igB~{)l5Rs|Ec z3g*(E2#bU}Bg52MfZ8%8D&Y)R1U-8Lx6e!@&lQ}+CCf(*7}p{Txs5i%%2As2S$pHO z=IlD~S?Dks>JyoO(niRkq*d4`g}0zOx_vVa4|8*8L&PXIDlG-@EN3#aJ^_tsJ+u($ z$~B4vE>y#s(7#KXdgJs+p8;2y>9C)eVF_tEsZTM9-r2l+ssp)Si0?>{U||ATZF{=0 z;eEVEwutQwr=AY4Tay0^+Su7W0i(~u`36Z_OLcmH`xue3(NWROM$hjl#Ghr`ZG+QF z>m*R;Mi{S_VK@{AoqJ^z9)4Tk%PFXhVjp$|^OE@I0lC{3=7I{r+$K>7L?VR5Kw+q; zTy++pl9uZGuhxXuf^Cf7C@(gCKDoeBY;a#V#b{X5Mkr|s*)t+V?TdJ20IV!}14z8G z-f-_*V{lVuzLmopERpPnd`BMd_cJgwcc7lkK8_N0wur`3I@-u=~1%hipIDsqoi*Qh1A4=y;idtosva)lUMi~@YtXv^Zrd0POwp7I=x=nB)4I6U!9@_g;CMBN^Qy> zOAW_)Z=3DdVC1jmVgo8glv(>x&03;QMsa+JzifQ&HQ{=J#zjGmAk4a#uW!cA9t3~$ zbmm3&-1$~T;H28()YfG+^?t-oS`|gm6|NhJSe*SU-X=2)q+sf{pb<%ZyqzHitW<1?plN)NE@I1!|m^R#P^gC@8zGVN4@aA^N29;42 zlCz8QX;HV3FW|3U4E=dk04Z}d-K`CRD;{851Wkl`0WDW={srTN&;wpZy8`1twX5Gy zJKGq9`kzQb1`{6Uj8VpPs0VKu%Yyukok48~nz6@;YYMaT?2a@e6C&OB7Eg~7Rnjw& z^LpNx5^nn+z|1zAQVw&>rnBEbJ;Gh{&if)Dus?WsSKu6%#qsobuLg-3PaYV?bD z;mq`{P2eVqlN%r61w*|NQJ!(*%nl!3WH-mfXxu(~zfvg@C^|)vX+pJsB|9MD;TH$Z zJQS6DYjGTUL=G57A{*>h)tNV=Q9OygO;quqNh^9Gfc7ZETX+$hp#^POk93@lqhvK2 zfr|g|Hg?*yGpE)XLK!DA0!8+oz)M0}g!ED+J%63OCn${~m+#ATWnv}!Ons7<=0;vV zUt&>H@DXt5&fe~kUM}w^N_%f(Lrn6vpIXmV7d=nCTjQjf6rn}*V^UpeS#R0i>Z)@H zVefM^NmR6K@6W1pQ(a9*<9c=oiJJ@k;sx^5v&@c&&Bv1qMK-@?-?_@{&$Dz*zpzW0 zC?8WbqZG{{ccQ*8Nk@S#D3Ykf03>Dk%C{8f#s|qqIbBfXiS&2y z&c*V-m%^*zYTJ4mM6;#_+0#d%P~U)dS;prH4`*b#>9 zF5G5_Tl@>n_yE#Y{k9i>@Q&H>#y`>3PHEdu+GDBix;%Q>M$zq{EP5hZma-n? z8<@(sMb_N1`D^?GCg^DZPSC{Eo#Uq#_~co11VsIXGZTiVEo16Vh+j}wMyt*AbDt@~ zljN-}w{-bW_pgEOrc==miUlOSKLbN=H*v+~1Mm*dU}}gO6C+q=G5UluO~cI|d1CC36 z!6z870V&e-S-dCW_0@HctuOPhmi|ZG8766SNDMN52_##Rtae0r=u}? zWj^A{Jn>1_-RRbW;zRa6EdPu!^#^S!3@0%EKxL6(Rjn6P1sUk3lX>2kbGQ!KFr$lG ze`0b=0N`B=wFq@}k-srUGyZ}$Q525|1NHT8Kd%;}`pX1LB3G7EZr8DfU8mPUB0ph( z`nDa=6cqNC#kR=LnM>@ppXM@)a5%X|DEg#rhDIi0C{0Tzkiof*YG zQ7IU!1XDR=vM3F5Wa0_%jzQo(!^CUm0DbU?`D@G_pOG9w#WR_acR${$UiB(hHNiaR zuyv$xmr`|l!oY#yNP!HVbzilga_COK$Gu|p4i@GKryfzjDF}ge5a-W>9~ROZgoBrb zw(Q`qg6WSh&scWjdLnRl+(TmDJ|SRW$Gq#z`2tm~v&cP2=Yb6kd-`k!JN+L#KrXDsmHMLt>F0U>e-aI}VHl)HN52lhmg$?A{&RVJ4 znGvD0C8vnwy+#*kgH^~i6M3U&Omt;3eLbf%8_Y67<-+31i&(kRI(p9VmT`bM=JbIv zW+6NH3CY=^@4UCg#yfmd)xYThWJP6r zCM{-@w6Uk;Rpg9^q;HMS*}9*N?_|OM9%udciDg#H3Cx;8Pm zshN%lK-K@YNQQ&{=p)qhJ)8JVmn4dAc6b_;*xcG=c?V4)J^oc)wYVW9JdJN-4J}t|fWFLOD z$^0lUs7(~>P4?DNZwWy2mKbhF#Gp_OhaqR@;r4U# zLoiATdH<5e+>hb)$z#nfGYEQ)SD@|2a$v~$0fkj-B}1B}oV_Bl7WnosR19Jc9-{lC z^JPFfh%~0pwRSevvF7C;gn_Y>(~& z;`PB=V2pPVocs93Auxc?F(%Q`zcYWDwwAm{);Q|_x*3tvd0nyM<65~hpce~6K%mH9(iBA?X(W~Ft_mIAsr$R60obK-E3!QeLk`%LSH?`eod z?>%MJK!EQnD3`huz&8;!bh`RUu0rEWzvpq8n$VHTY4(^-`dGC{M^+En{b1f%mkL34nlT-C3!7DO@&p}HY*aJJzU@UugWWa8AR>3P z4ux3#)NbSd@yDBJX?@o;X^ertpees>e{kX7@CwKi!Z+l;K>75@tE#_aX*+EPrSU{D z{4c8B{2l7}efxjCW(G6X$r2I9zLYGHh?%iP8jMgVOHs(0vM)3CqB6F!lVoe5Y@wK_ zP+79e9+6$PVVIeF-ke!V}_$h#;%>@mig#TJ%J z%~|QOK9?;rQlhY94@U{YW(K|~tSgHJ%lswU%WZ9;Kok#mb6^?++&xWO6kUSpsm@e& z>?ZJlYj^@X!}t^I-1+N!l~O1~o^z!V97jpp+Jm_$ zSLt*(7v@W#EL&jc@5AUT)rY^oEA#bz+Nx&yc0WwDNoW&37LC*hsIQ$V_?EBjPC6C`2gp=Pj_`+wQa4PiGe$d6!#y5>ulg2vjo|^ z(>~P!ky#+>>Q8f`_B%`TYa}rBsIi0( zmLPyY4icJ5y(7nc@(%m?tDY-hA@{YF&@`|PB=PyNq zwJ$E}x(*Fgn*q14jjLu|o=_21MI@{sds&aEyjpaByogDQT&9!O(yA=(i!UEd%lm{J z#AfwcfgM{^)y4H>IG5odc#Q8Gkjjui0_$F-$*nG~XA2XdCfPp=muf=XFWlcIWWb+| z_+?i{w6(`WVBd*~pn!zUtxM}?@Wme%o_juFg8umi{`_8W#UoN4nzq%|7Qi$QQl;}IFM`s@{i2p9URl#Ei>_;!Od|eQq zb~;9|3aVoth=oAjoyeB^fr9_Om76)P31g*3p0njFlb_S=przsdqIN+=*hJ)@yM()a z%x)EAM4f0_tbRl#PYw!16SdLNVCV5(G*Ti;^-HNyVb%s(l1-|Q!E@>GR^L4&L}`)$ zhgq|vvZ7B(9}FA_l(%R^UFH$KJp5L7fQ9J0W>C@7!^`(=xLoS97`CwBC?Gd4p_*U< zpPpiR&FfPmN@#R5$w9VQ`D2=gj}U=~k5Zhy-%by(xC)T&E2E-usF@ay2j@^iJmJJi zs2`;GUCW=q!L!#n?nfZqPn5eUdI=Tehv?M~0d<0DOPZ5Aqz0Eee-l?2D2H}~lNK7v;)nrq{2T(v`nP?P6^XTH+&{=a?g}xHGCX^W4P1f@gTd9A|6RY}USZ$%uR`JG? z*gi~#Q)4K6vP<>|syzha{4$qZqLQ;FVF1h|goEjv<2|a>Jrv$XJyr=Ul7hf?7VnM| zLrZ>C@8`q=)lSlK+pAFbnB!4~NOw=&jest$OeNT=A`-=6os30i4iuD$+{?C*7sEgk zvkqrHhh+gjhh8%30@?cNJK|bs+A5;wgq7c<#kbLvDg*V{8i)OsccD;dTj)>RkGcmv z1@@Qd^Nj^Pm2Wl|m#Yt#{(L{A4lajpQl%Xn9p^l6(|tG(mOHi^j*S-rCLhHrbm1ZB z;R@F_w)Hpz?u4Z*{Z!iwp@0X+F+_)R4?H_Qi)k2?$-&kxido%%+-FPl60hPxR2Ba$ zj6IN;4bmmiUqWnO?BBTg1dEhSVPU!hmp5evqqNCz%4}1{eI#5RaSF@(M;Bt8=~7QsGuAY~KPbof35H`Z=^8m!Anz%>Jp zpd`Rtxag>Ys-Bv+2q{K7XELC8-n8ii`Ss@AioCKHB8}W-;^{+zgl12VThZj)V#cSc zWsdnIHv&;Nh7-hwW8OhSt)Z7a21M>j0dykXcm-l3wtb$JofX7(p=K`S7SLw`I{5$o z;1lAunyS(RnihJ!h?#pO^}D`ZlYlvJlIHktp`;^m~t#@g~|GmOZy~L$nw1cSqIpKF8RB zHa<(Ft@BC5eNfNVHZ!&lExu}y3m&|O8Jw^LrZruNc>O4G;`Np7aV$0pdOggvN{$%* zV(&xcIkL{W_a_YnhAcynY{qqc08zn;dX?;5C2HqyIKu^ao1G^rM{f zSwJ0li+chV!~H^xqwNC+0%jWEhRV}32q^)5H?doq$VbywtF z#E@Xs_tg;z=`*CC#%IO*e^(j7Iuh_3Z*>Z2$va6jWr2v--mqLbz0llB{Mq!o$iam0 zTUn~p3zw~V)yxEI#&q`U{7bLq9S}qdF*+I^V(Dx0kY80!#`=f+hw3>|C>gFlvmD;T^vkZ{^v+aoaZL zez~@%Y@vuFd{jG18Tw%_dH{lCiC5O9DZggh3Lp~h^5S+&jpVu(3yJkJy%h_QQas!N=(d7U!4WwEtTfU!`v za4cbB8wXs9`~vcP-&EdBPGVOBL-*PcSuyZlN#rHJ(t`mg@7aWKU4KX}1j^5nRQ&6z zvY;!GD88s&Kl|)W7gPnXxI}&sXXV?*8iBi+nTty8+^xF&ZMC?rL_`eV{<*d!y6eHo zOP+m$S#{9+9}2%*5!U@2(qKP7w&T#ugx};OByfUNGCa=hbA%iO+rj;^!PN1Je{cdUHA+i88{l>aSrXvQ_oFJoqa zNSava9838KkV#M8NN*oFk3WGu6CsX&C~45stP%M_n6%jZDO~lBaoiDCu6nk`8?>T~ z=)*UUi0jN^OyYP#;*Tiv7i>!0yc$T}kt0=Hz(%K|iWIiIWrznG+(CVP($EGFV#`fq zkkK#CmsObGOz2q%KffaZMtyKf{38{oA4@U(V&s?b)X~p^52g_wPt|+!@Dee^seQ{) zR1vgR{YS?LX%*eEsS6cfMXFbo=TOp2c)?Jo@ zX6zR~Y{`aI+KvmmsMx(h;M+LVT?BW<1Ssu^-tf3x>QcHP(SPNLv#7*pC{|t#e#--` zrOug|S}856;-i$!cm2b1zplT>FCf?YxxD1M%MF#h0wv%(LJPLWfqf}pq7XDJ(gU-# z2rsXn)yRA$wa!CYfn~eIoV@=k2KXX#7q}7KXi1iIg%oDHWL>O_HF6$GO%yMNEFgg& zpFciYM9)34W7XlwLXQ#Eomc0dohNI*C=l~2jk{3zM!8@Xs`I3V)##d{h!>r_pMrKmqn|EoYsC9jR@ho*oyOiItz9r zOgS`!$pf5h_uiSc>v91&I!*E~kFqZBj$Qp{?JB&?d0UB5u3y7@oNCKAN4{%b8D8A{ zU3BgoX4%~F#DRsITxH%N#iwdz=a9j99rJhR?s`c9t7aXAWYL$kZ24T;GAr8u{3S%R zNse$kKz1|56r`nLGrfa1+?F*ZBGm<_I~PWtmI-El?jcQzxZm%K8UiwSZ#M0l#fcZ2 zdT`jDdV*UmfAPOw027+SSe$9Y&HPGtL3jgtfrFHsdV{6xiWxElmLxFqkOVu?38Niu z!6{djt{{3C{h8f;f?g?==7DRA)q@~D54BZ0OvjOkoww!3|q%I0XAjr#vB zd}b#$hOYY35?Z#C2{Zo==WLkGM6$15OL6sd736pmA`YpRuiF~C0nkeEJI0b{BDL)Q~4 z1g0ClwMlg->CZ{>I0LpY{v5bCpA*?;1jat?Ql!JG^SJ46xF!#l)M}(5SdMdePn;>5 z3H-RU#+1vUhUEB)7VpVE)~c|jK#QE3uuxN{QBEu?`P6z{^8THJ&)b-EV9dK-;<#V+ zcZwn?wz*1E`V`~QY;S3m{-NVJCZrJ?y$s`1L+Q_a%|e_^WC0W$G z-zIz)a`WSMs-mNO(G&PPmQF(4xOl*qPh;!eUNPZp zgXc35W8xQ&K#o|4N-oLPYtIDJ09x(!a0_Ww?iMXFaRZVDSpVPrd!X5 z0JbJ_F${o4vUFvOtq~7k4~PeXbr^Alp=q1SWbaNnY_r8T3{c}CIi6hJUa-(*idK8Zi~XUAk>;(WXHxkGwn z{Z;gRNHq8s^%<7Es1q1xccD%2P|S4!i8RlWIFYDERQN#QTU$5-(Gfr@HB6)VFJ0Hq z$L3t+qbgruY9fHMU(dzRSr1sKMrSY zPP-@mDZT=3zX{ZMrr(16p@MT-mCfjHaUIvEg@6P_)v}|pq<=dLYy|XWXdTOSi9O1{ zZ%d^W*ju>C5Qn-r*K7JNSzV`)XZa?NdVXGZ4su6W)F@mZGFw2Z^K#fKb6&Ec@+jyD zh}Dlu7k16`*l}+#J8Y~kKkLTsQnRh@fG{s)~#!P?${5meFK)CGlQ58N-Ybv2FY%+I(4%6-~+3(QwE%I`mK2(()Q$!^Uh`= zr$)I*aL?N?grzkC+u@4@%OHCN&GyW`pVgw-$Q8)pYR|3eHDe6bl0H3APw=ZUrsuqQ z`j{g6AD`#{N>D?u$m_JpdU`eEV3R_N3$C0D=Hh0-GGki}aX6M+}MjpjwQz=VgyU+t-UB;e5e zDflAxKubW3{ci)Z;{0~oY!Xi@h!na`ye17!0>MZ~E#2z_W9RIpY0z_^^yk0F#!U!2 z|Gj84biT->A>`jG^~}`7#GkRIgb!n0+l}Mt2)#D_e8l`wk68 zw2O$;2wDYs2}IL0J-^S1Wkr%yWA{Bi-alkTWc_9+hj2bW63bx+F$ky28hS!W(r1yX zkT8Vs1xPd-Z0+HHZeR|vybMF$v?yk1Cv&K>!;VB^23dy`VRlu<{109bKR$6 zDp=bJEKUO%5sKU>w%aivq6SvjUQ>Yj^kfAPk;yDJ#!uN2r*PqfocW&SLVM@b^@IF{ z3zt9Fh{Z*pNe^6^YvdyKDri2v-|8Z6MO)mNFy{G^2YPPw^pLwFGjf%-PDZkzb$cQFa9R#RJV-)j((a%;A_{^kt zEM4Z$*a?E~cteOM3&qGWpIdN^J7f`hdpepZfAGifT48axBl%4q*&{OhhX~Q_Qs?xx zeJ3U=CdEsf%uBK%$CU!<7%kPIkUO&sP#`rxNOS6mu;>B62Y?dbVQ8qg`<4|ja4`wKiv zI6U6K!dB=o#4%_vq77R{v*CMY-O|(xjIXwFDqt#Y$U0-~k7pWxrzpF|&fGKELC~Ou z-4bGW853@kX?ACp19>32FnD(VirI85T9!hBR~&~-cYDZ_%?n`>Z{o56Zt!MjDandTkxuc`2G`3%1zaFg;x*&BC)g_oJ?lVT}2&@oD z_`!!>K#f;c{wF(Vgg%G)Phw@wu^_*=x_XO=b1-016L+?$v|0)y zkJ==Zu^cVlO%ouVBr19>_k=-|8D8iy=%(PyFCsR;7)rqE{dZY#PjDld-TCde`k)%_SHb8{1bLsn58h1$hkM2o%V~lKJdq1Q%)VX?!F%mc ztvBSUw*q@S^v9y>|NN3qY^>j7iCi6yTotEx`_hJZ!ZfcO1WnQ$=^Gy@{nZxe3q1vd zp@{u2g8Os)GUQ`oZQ*zC=7kLpk0w2g>{+ZrZzYxh5C{t?8l(8jovWAP#3c>p8XB;V zP`JyKC87kT#lB-RHd1*^7{iJivV4GFW84B&CwD zRafC1FRpifvi;UwAb)#`CoxxymmCkAKFVq1s+&&9$rsm%A`(o}fz2WH)T!Q|aO5O` zsQ_t!&!VJs8L5bhGwJ)!#ij$V0y=UM2MfEJ3ke6aJFoeU+qFH#yH(NNwan|F)`!nK zx3&l*P-$He*iOqdz9VDM8kdFX@giI2bHTKv+tR>?dZYJK9aSGgEh5CF0f9tt#kfJ( z^Tl7-;dK_0HQB$lSTyVP+>spuu+OS5`AV?H1SpcY`E@pPdaP~LyG9V(YXX~oJJqlM zQ+P>e0axgI7Bv_>!a5>G&aE`XTfn6&qE%PH)q!4&>_LElMx-L7iif{eZ?KU|i4C{o z&4x1Z8^6c8H>&0r{Kk;QKN6^piVTdDnpkL{;< z#|gLX!g+CObuXc<@TTW=ZKzjKMv@zdnCDKR=D(|!GFI&=ieopx_i zJF`lV^l-qzL#OjVqHE!;$xkk78%9}GH81ck9MEN$r+?Hv+yrlgbQ`JxcyZ^;e#@T! zvWQ+&ikPUEsdq{yB_0Kd*B%GnWl%Y?&kbRlAfC7S&_LwSo#Q&ghKI-U_fylzpEc>b zwHIN3m5Z??jtbUH&Xy2wFW^s*HEVc0PVi-irn5gLZ&VUUDf-}u@80r2BM(bEt@{#& z&*LjX^zJ~cGJNbI6f1oLVSzo=k8$*wb;)aBeuP;0@C`Mi73&8)!FFU(5@ zT@bcvG<5M;wWv><0nf%4mmb3j3SMzZS*_u34pH{)&Z#;{p?2 z8Xoe6af8m5HmYyCj-vR6ma}<`Eii7&zp(H4c;`d1o$_S66~B9#B&S8O<@Ha3#HQ+Z zzN(bHg??bvN)O{KhT=Y(dtUoajunx7CEs2Gybrx7iIJ{z2pCB}>J&~qWKFx|R*iqz%Bn>KF zkSyc;#5yuZprv6ZrmkI^o7#IcwO7f=bHs^i2L88AGp7d9vf1TJ*Yu_B`UVX@WxivR zA)16eI^|ppSP+rz^f5fe!oqxuWfc%~g>&3sz6QFD0E%0A>>Bd6k8mao zOey$dO8U)xck+UO2w_MKJX75Hb_DDTD32)P<4nC#sUvcsn0F7(21A~IaShf!BgLcD zaOv(`+Dy)RCig`le(_-3VAjJrq8D)Cyzr>`H&>Si(_qSQP*BKLmFjW7`mvIUz#MT+ z-0nX*A3PYKHGMcp`~mp13;UJvsdErA=27shcB@FJ>UT1rc32j5SYeT1I${dA7pBoCG)->(~KsZpjSlJ zobwY|;*#Bq7zDs(1pmX!36>S1>PSB^PF};J%3o4Tq8aosCkqxfW`DPFZBzhwu}vi% ziex#%YIrqjCqk-(@r#r95@8GB#a7l|C7VRv>Oz-FOk=v0I~nT02rFvzH1}`$`*GU- z@WcQz1x$pJ2{lS4r(hkG{%w(ZuypoMs?L+zXnh%}*yNKCx#juO&ckK7Ra?!`DrFhJ z?!Ez*zA-FWGB+x3VlV3Doi{zG4L8wd2HVObnv{1TeB^Sfh(+da=u)RJQwEFEyNi-> z=Wv(hWuIgBdv?(lWf;8+S}T`<>{Y(G)2EGm&$R?kAwFB8V)KAM*naz<1PvoKVvB&> zcKp7m35=+TF@7N=4YY(^J-wLCN)l6o0^Pu3?8jRA>gY*km25Qk{fCPYDT90vxYjKh z$!CNLUUp=`2!w2nISKuBB%F&V^C=qkhsBQz!;qFZEeNkJpf2P&HaS7A%WbLt8@i31 z$h~w>hRDU0T-Si3x+6sAz#&fT<)mMz=)rMWG!vq%7>hdDcTbJG_aUd_3+$_xn_iEv z;LCE+AW1^uy>}lnz085!bF!0%vQ9dUtraikyv>#_tSHi2biFqBGGdrdgw>Fp=+x7q z$oA&|Fcc6pq38WglOcwW2gYO_L&_if9rDb?c{QeI7sNovUrk^8?&)* zk=4;pCV$ofmb_Z+!G}q_dc>X{lELI8_zT>Bg-B%iFmI)}^a`0PZ4bQS&h4?}a8{k( z(x|_?2`d5tn^rIM>QNo>8-|4zkDOxJg#8n|qnw+eA0SP$~`2r$Nu)V+G)id(m{v$qDaawM|&A90K*p~R!lKI8p~XDSFG=qt}; zK{6fEdSTP8fXnEi4vVpIfgRcGqyJ%PZ`!+=C@(+`Ek znNI-njqfL(5$t*JtYv3WzNosJw;-mV3Bo@dPOZ+k4yqQK5?Q0mj^>(sx$gfd~ zNf7_g!kC*)-V}6-OmS)s&2q|X?iO6o1FlV7d$BxewnhnS(ERZ8+~c|22Q9=FjCzzK zf(p9(w^+H%&9wR8#T7vU`w+|vM_F`Mrr#kx=OfT&pX-u&YMDw%HEZ~_Vg?kR@#V^M z>)~rKqjx$xcSvCHmz3LA+s+GJGm|_=tbi4VJnM+F#1Wo+w{g@ZA;`mLBo?N80{5?1 zCvg%dPGNL?yr5(;KX=4PWUX1U?-HyY#xlPeI6UFY#KzMlDu;tS8f?dm9tNe@%bY@G zJ-nlOk(enF)zLKOvG<|PiRmv={1;E0l*Ov(McPUNf6Bz-1rigv{a^UrjWI*)(JtPC zx^`L!K!zygLuJygth(LeU^1{~Zb_Z;7l6)GhBe zT0Zh8QmoV!tZn$tu)}30U09Xk!&@XzM0a9(6aqPvq~{R)D2HL`E$Cb)RKA=sd&Wxi zZy0+Ku{}BGl-Nsl@?uj|`X8+_JZUR|(9$gs6)A6pf^BbCix;oC$YtKP`+0--5ts_k zn!GF0B`CdpuEF?NVO-%TA6+vah9J^pN|IIxkFHF0GK31fkxsUp(rm3wEo?uSIY05U zpRRz&G|JH_Le{ht+d|S**0d%N@(aYXsB|r$+aNm?a%2Ufv`MVH)U>KCC@eeE+*~N* z4*_mLda8J;l&}#OTXm%4QCG;zv7&g-jXW!_e5l{!>2uh|+tGo)$`7xPnfJCys^mR( zAs~+PXA0iH`oZ7JM4@E|FGEfBad)9A0g|H6ZkrD5*bDYLb^xx_FFkKwfE$V?ZWT(I z^T8$Nt8z*xjpBWIP83M`64vr5vbw_!bu;3+Sxy!rp7r-L<#I~2V{*TuLGnec?IG=z zF%0#Tb7eBDWUkT1v zV&A1}WC^p%NAadDnXEn)dZeHO(;wc@(#l$O^Xgep?0R|)tAK=&#|J{8yroIwo7C{S zv2ncYR9a@V^4WsZ#f+I%WdXv3*JB606GVx7z~yWtsa4r6$w&5mJ%og8X@i|Ry&ow2 zWt<(r7?pmq-~2XCq{_~ zCv|>fq_4j^OAfx1@>(jK``)41mxD~wx4jlwg(3&YRpX9Tu$OfF^wLgZwnRAP=QXnG zzR;AXqM-KDA&SY6dL~9b@0KS~0jve3T8REmUr5XH+t@ulgTYaszTEtUTN+lJ-Jmjk z0*ynH7^fp}p;2Z*^3l82uv-9<-z4uwem^H!5C$aw(<14Ym1b|ZVQ48zA}w31Q~L$n zf|l){8EvM=Tg3mLP&8F8FfERXA|BsXW^7{U;w_BsvHk72o0PS4Q_JXZ25oJ$w4ivQ zfbfL*`s7*kbZ?G+32A=cX!tUYdEtxL%~#4iQQ&M;-ClLvc}Y zFS16&=jcSUw7)Jlt|`uyMO9O|Hc_`h7v5_nwCEOzI^Zs(^_=Ip!;bf{-5ok}`d z#`Qy8wChr#R9h66RYA@%WT1Hg$I)tKTs-$;-hrl$Tj%9l{Dd(r}-L)BH01>1C#_j z`Q)c)iP40!DtO*hKrKoEEs=?Ykf5n7-eUDGbB8}odgEK1^rOibFOV3FZAgp?7PGp^ zI8XZbbQP%Ln&8XSgbYab1o?X*#U@?qk4fCS%qcw2H2Nn+H9!Clv4yAafb-jN>A*Ca0KI&l{946n2=8UrV;-B1EKwJ$?) zSewyIWVBSS((@YSb;VZxlRf#r6VZVa$m_=lXJ6AK{BvVGO`c*zGP5<`Y3J6%eHk+c z>kDoL=>ar9Dycm52tYt<913w;U`j&yTQuR%bVd}>JR@tD+Ztgj-o728 zF0|?`O}=u<691=!cf|7hQ7uqn@MyT1Y!|w?W+4Nw}EctdEEP0sputWvXB>kPSrTIhiZ6JycicNmn}e+7AN}JPF1P1 z6i)i3rW?oTjZf8^s;nHR9wxm8QrjE#0L+u9GD@3&FXavrk^)ZGpetypS;!jBzY{!7 z*hh+baR4^=U_`T3ikXEU=UDnjKlf8`#bA$9A`l<>un(Km4o}9k=PF*JgFC?oGGbrj zfigf}X8T)*dOp|0E|BdH(7-#hvpzDEITVFY5rUWbiUUq5T)ity;KWy(E1Qsa z(%>VO{OU43*hVsfMSWa#MYML3A)9uD?9#>xT);nF0qsv_TPrLp_s9rJ!sATnJY!MB zNk9E}@XYOtSQO3I-%7)t9S-~4lAJ8Aa_%bw<8k*<7ci<)*)P0Q+EW1Np9V8+Q@4|u z2{>IVdgh2HkDsNl4CNs%s4DWOXFRXD?`Ht0kAWzr zwQFf}{LO`fo1xsOfR;`L=D*iCRxp1Q$I0<90zR#D|E5xxkjl7)nxsa;N$5)e>gp1N zFQ2wXn?MoCMLN?9aQ=sLgpL?IU?YlX-S8W%tuZUS7uZcWcT260#`j=OLU09HWLE*hzThSHz`zup>OnGBqCSj-V1(C*feOB?10Jr8sR3@ zKsVls@L!Ee4VGEQ6^`D@l24E%f7AIxHz&VN)7ax7e!u$^_Y-_a9g*SxP50;2Lw}iq z>^}QhwzL;sa+|VrsK!iHl%!p$?E5ZQsW!=YxqPCS{s2dGWXM*~S)t+>eQ!-+d);pf z7Gq~bpK$RDmI+J8-b&-X6gvz5V|4tbe}pw(brlHTKzQVuXKWidTF$`VzQyhkL!-W3 zl%bNO>zHRR6{MvM%jNr$>j}1*-A(&m7Xq=_MQSQ4Dn$D6Kd>QodnBB74o!}bxIX`8 z>J>*^ZU{7*ZaZf4#LMoKHT)!8;95#GsZi>Fy#V#dF|2?}!4K{GwG*?m!~gM1E(Q_S zgD_gxEJdTJ*JU10{Wmh@CQI`^QyOAgA`41iet#+6vXwVA)k2x1Y*iK0J^AoMfKLCoWFb+vn-+Y6iy^u07#k>wD1I=HJl0M_Kn>Z)`d^sEHVn{sjh#Ac%(o8ANp` zl6P;ioo3OQM`u~VDC{(AJ*t6SQht>KdZ4)?PEvCA9C8SF8Vd6>1rU+bF{d0;e)X9L% zbLUwAdH8`sq&j8*hKb*7D<&)f5@DGe$rq=kC_LV#&LZ=MnGEE@uMY{T3*!2y6@Zmt zV^+#e)+RR&P#-}y_&9}j2$vZ~ajwN%Y0cuEn7ZA{H#t7XGa~JAKTs;3H&$W`7A{NE z`%Nt$@hzprFQ~kJt^^Pt-<#Ud1E{eFe9Z)%L)9+}TC+Mnp5e4SO1)V$FavqIkRzbV zO1dP#Y?{#nK5sjYGKv>#AP;liWI11TKG2bS2XgM5?p@~!L1L+ogyY6KkKJESg+*Jr z(oOcjgEIDSu?}GX-GVhmVFOX+%jgGG85p*Wb{PUH3TR_j5+X1WEXPT(lJv2 zOLOvI$?QHlF;IwptZUC6%uUYoV7x+jXi-ET=gmH%ow+K}<1?rw5sPA@39GQHT$CBQw_ zp>PBRH%mwQU7biZjP!y8Z@n|b1jNq_QH9P=?wZ`7iq zd@73%PfxV3Cr3Ni+OJ=MFajDKQbCpF%dRUYpH8@|Gm{*VgS5ZKjN6Pn!tT&va8%HL ziPOwXu2U6+alqI;J%!N?nb0NdUZ76~HTQpHOolC{C8L+n3?>I<=eH4BN@!zK?R4Jz z=EZ;`>?0R(^u^5fqewDu4hVi(Jyrl%&&v}-8o~{LW01r>{44=B(CPfmjyQJ4R{g;r9LYf=))-46$j#N>bdpDPpM# zw!(cG6aaJX5n3+PBZ2RK#CVAuW~aW&I_4^bJX*}OvXiYeJJ0L*3_u+d;|cGFm0gkK zDZEVW{_+eA$NheJ{dKGuQ2DDhmWH=RR%zU5f*C~I;;iRc z;Q%WA<+slNczKYx4e&rJN;i?X$L?>!+p(o2RGP{o0){|lSu+5T=!lnMEJU35foVK^ zrGcVvpgk&BAy|b-n+jSc*$Dn@Fs%7$=I`Wo?;=s>Ymdwhk`V-3*odP#fV**k#LI)S zBf6vw7iD*ZXfeIg({qUe?4_^}$1(m07*4I0N45(*OaOd!#;8~T|dyoby1=@>wM zCyZGI-y`KRjg|adoQorRoDN`5wkZtW$xu7@GZ$|)A}h=i&B@%!H{bGp-WI&^=z)@S zR4UEjF}4h$A3&5O!XjlUxG97QRL2DbwxNEg&s72=>g3%lcg-@^vXrC+_Nvh!epW6k zPua1{9NM%Yf@q-vv05x3?9bItetY|fhST1Y<@f&m6?6*6<(98lO)8I08;TXhG-_|M zz-|Jk$qEOT(;+NnZ=G_P3LE--pR~^jn6ovv+gLo|~^gq(FEA zG1H8a%hzoG3W+R>A3|)V%#Dsl9lzRtx9=ySRkYu2z8 zl(Gp?&U4mwx=S=_xY2nI>GIfGjUvU%+P9C|nED;(nDiZ3e{0eI_yJvw7>fIiFmqMX zX8||lGAj?ck;-#GKjTRFx_qIHAu;llV-bSbsk0d#Hvjx+718F; z@A1;gylX_>zh4K2%I}yo83#9o97p}sA>x6v`(j&LLID66e6#4`y3=BC>B-ze9ob$$ zyK#E)p<8PATxQa{J74YzX4R+JUFyAh(Bu-`7T0(Cqxnk>ji~zl8Bm7VKdQ4*1bqt$X21_I)P2?6Z!2$aO^RnjC0e3YdTOL z4{T)83op&DYb~ddduEer2r54``sqK*I5^r#-VJNi4a8njcockEibfzN8u%52e(*sA zeXd^D5`AomLiRoVYV`AyYm0DvkoY3zU`&3r(n_Py2;hZj#PAZ7c-Z-nJequvsK$=R)8d!cQcMZRTO)xF`Ip)OCXZb*Ap3R+yhj2r&QUHpG9M}&a zdRK_Zz>D&EDkCKc>VmQ3;vZ5NZ&nOZd_;KNrrI%A7}aMG3D(8u-gbg{Suc@1<~UzL|*yS zE(niJrScTAowb+iSp7yfC{h0Vn0frCq}3r5TCi7c5>tKUw#|z{6;~u`A_y|2cPZUN z^-{=9I?G9pk-QsHZ+(CHp!3!&p(Z*=Q$efkwkfV;&Es9=@5^`MXTiX%`~!#RD1{}^ z_N%mLt=^5>$qBi`g5=-lhP8n*qguYrP~cxUq|C>x-|fJ>uT=F#vPa`3LLJLS1{P() z<9GaBXi0sAC~Od{La4xUjmZ*~&?AK_4ouORg?lr6dH>aDPC!~YHI-@dx45sdsCj2h!ID9_Iz4K|DT~BU|Isr}%9H@>O zvtq6Sb1Y=w+U+HH1s_bg#N_8W1PJ+uW0V$g^V;@S3ZMM2%yIW>rnQt!a_>1s;B}Ca z7I2f%rJRZVd_i5z%Y1Hr+b0x9-CA5uyBD~rU6AiooZ}fyXZ^JtKev=wc^Z{zBk5eo zu8597{kGM7DQF|C@~Pf|ddy9A`6EW3am$=8`2D7&pWg-D-?!~Hfq9SS>>yxo zFnXa3MZ`Z?#K2l_XFWa95oP1pu$EL~f2wIPx-w*R=tImkW>#W^@shCLKGC%Pffn<8 zoDr-P_Fsd}Uj4NwU;1HB3uEbf53>=qV3mpSWhS1)BS~o5_AE`XAR^x>V*jSLu5Q<5 zK8I9BI0 z`9_Hvf(GCBE3Qtw*<7Wbnwrv`OW?XpG@JCPlb}qk^~HZ<5@qdxc*t7c>|^Cf<$CWT z`wfHX zai_YP*gT&yK&W89`M$q_Sf6z(F?;?K-AX6TZV5a~gz4N^6telnaznpci|B>_EuQfR zN6*-9k3e&u`xNEum+h-msK|5k70em@+ia!s(@BuG6pWw3VDtIisA#oNf(bx(1DzB`+stP8+$>~vuG9U z?S0Z{y=ea3rB?W?%eNkDr!ipa`Q=_B`V+dP-BA3Jq=k*3?SbI4u$!sMLi~GM`Puhy zzjoT%J?BwS*d9w}y~Bms;g|^=iZxd|&FhV?P9Hr+$UPhCUN3=VNwT{AahnbK!&Ri} zK`#2k;T(JfK;hYNS%S!2ArtTwOZ>vyz{@aGyVYjT86wiFo2zimx?&mJ==Q|M%x~H(L7N!8H~AwJ z($ew^o=rVoNQ164G&Tl|AwiIEUQQC{(0ZIv#~B#!CfAsO?hz&MTX#rT=JfLHFtg1N zFMUwQi}T<|VSwL;$@S7^9rH=A&;x+%dXq&R@VO?h$I$vx?unAMeywK&uXY5+CJgcy z*bI+H3~;y$IP2?|Wp8Nh4zQ`J<_N(B#qPM$kSDgjSuh_o6+(F# zG#Rph*{}aFr-eTJe>Uj*IAxT=5w>a z>{>6auI|5g0rT&VOd!zWGZVPMQH#^+29w^8nn+O;q=N-eiqZvvfFQkh0?Fig=ly1$nZG%X{7JI!-0Qm5Iv4GN zBlP^R@G7AOcncMmRl_V-;%k9hkWJUH9wDfZCjI*hN!PG3wxhA zIuA*Jb}EJ<7xgIVZA)s7rNIh7f*f6aO(mon99zxlX-UxB)zLDl0z<<6RAfH$Y+P@V zU5f#-p;VjG5~a%e3eyH-f#f@4Yz32*WVy~%=FL+-!X+Pxv9qEvA zEXg(@NbX0v9_vSC%;Z>AVUkT0BXY78h+WLwaJ+N@RG3DpNZ!o z9eldSo<|4TNT7#pNB0$q2~cY}hszoE6ucGiH8$tVq1Bs2=Y>c%fG)*`*vlAXn7bHc z7NKuG!;k;6m*B>H*XL?R=|zW6hLH3u*Xk92hV`{Ajlw;Rz`kS`^cwaQT=&~#wF4vF z1H?(esEXE5EP1Q5WuY+HOl~&-4oS?{NrXo-v82ohE+UG!+BzlVNwZ6I^@fXu*hFa1 z6g0op$XOzgf?YNCO{kIheb)=YRMf<-*oq1oJzY@cFE1ka36|{MaMqu4IrbQW{vA02 z`@;v;=284a^PGNbeFy|*PPDg8=6dWT{hHD;&mf%2U_=@&MoNr&VSf&@*V?n2*Wt34 zjaDEJy~i-E1B&-`a{ab}XUfA=&Sv$no&HGP8PQjPRb5SW_HCBbY?#%Ei#e31d z`mTa_N6xr!kYtLFzPw*Wrso{u)g zzesG*YD51JcnN@ASv3Jm2kC^RHED0OtM2A&60{Unn0!W7*gd6j?yEB3uz9s;rL3gF zuI;$k`ZT%Ljmcq_-v31TP@!u6ZqA@V_~h!`c35y>LK|=dS6`o2O30 z6{Z4B5>z5x(#K=BG%`GjPNaN-R6Qvzb$(4X^F{r{sj2nuA6p#I9?sDI6)x>DmJF}m zJ9fft&;s%%n;l-mX-B!tJ8WLqR^2O6ALEM8xoILNxCZzpBhR5@zvS*UdK@OhUKR)I zrjl4HSrduXbOVq4F{(cH-UHdbVsb!R?(?mZlgG)-`v;QvM^Bn*#4QK)`;!k0EHKM9)ZXy|PY?;@FyfyL( zdL*K`_&pDT22TV)c()pyll;d?w zZ9ud~X-cGGs*z7T6HnQRZ*o*~8cF$4KRlgpM&T2yiK^vvGy+ndAjb{65uK-;XI)}00(A1wOk}ZfyLjw?_VU z2m#1ACKEu4h(;Lg?0p2_`-upM8?AxQ7V$(9bBldl&1&p<2RlYZCyWIkvOcukgcrU% z2mHBy67R%XJM14_=KS^Hn79{4dH-PNNqj{}UjpQPLpgp-#J}Yu{_WQsLLk21{K7I+ z>tl8uo#u>8bhKUEK!}qRhZYDz<*|Kz&;u9%pKU0z*3O~h;eX|4Wi6-CE z<}wL54?BrvJC@j>aRMH!w(;{p90>sz2|s%EbJl{2DyBB14@5dI1imyN^MRVFaBzt< z@1;bz(2adVCchuv1pN58Yf?`1Un2&JGXKT^LAmLbr{);<=veSFOEASg?2j;luAC@7hhgc0K0xDB zXllIN!kkDM&S0k(T{p+Gj)!~MLDY>FA)ryQwoeL$JdhZ9w=}lV_YQ*^jcdbLbB%#qE&?WJ6kAhNl+H$-ob=_i< zo`pEh|BoZEdHg4@|^N0HR^{Jpxl zUL1WjPSt3P^toZB)!fiQr^+7ud-SL!^W5@es_{3BKO}CT`=oLWqX<1B{q*FWN$Meq zu8$z;u?OiQsFBmgd$w)DQq2%d6_fl+_jeIS<#Lld!yS8Tn{m&;?gZmzo8y(g=QXu> z4sg66oyZ73NjmILLqoeRJOFM_-rhR?d_8hxVs5OS($G}DbbENI+CgqdcX4B2 z@1mK#ZIZ&hw^so7%(2j{3{|y|a-+v{4&P=l{M-&t9hD$)g$Jj$RPHK(k)TIZ!`w-! zgN`k%3wz=QrTC))AjudDfnS{5jT2DBle+1MIB?EWx)_Nmey?O5)eGV(*e0 z0&<67pPB7q@a)Dt11{sm2!zQcSpn9N*a3xMe5Rp;aT~9z-E`~WOIZm92*{RaFtOGo zwk3Mvr*h#9jM3|j2c!7XBY#aPhor}M0OC3B0W-6f+%Fg5Nb8mM>-qOy-Tv0O&@lHc z3nF(3%Z}t77^`p=WdOjVB1rUr7Uw2IUU@s0^l==5^Ssdn_%5PFqZ`7d1AU7)tqdxx z7+wSKkx6|x1uhH{2q&8#OQSiZR&-@6H9@8Cd_|NIC@be(XV+wwb!i9EX=qf<)O}8L zGD6lp{p?n{Whr`~s4)+l<;zMqpWpIO3wKcj4gtWT7nKeGE1TQ&B$S`2kL48W8R+YY zM6$*yn*WhmtPX;70h`)W(oAsp3LRq@S^9vJLBdBFPllWJOOA%0Er7J#E@X?2NNY*| zV6wJB>-~p@LUP7&Iq^s1!x_(+KE>X*iEP|TF&4x8ZFaFHT_&=*p=Ru zk0+~|Xkz=r0~mpg{y)K@kXOaA|2`=gRgGU4lqm)9^=>i!5t=lmHyodGeT>c-8Nk80 zPYt5AiGSVAfE^Nmh94fhUAs^%Xn9k;%GK8-j+r8s(V}*TGgpeGHC!cIHxjLQ>w&YU zmGI95P(NBLSZdz^0pCvghw>}RNg(SC{oE!N?Q5Sm?tva+nf|e~-YGaTG-l|o!w=H2V6sd|l&7}j=WtOQYH-dOMj7m*cP$@d78EV4AnC%u zZ!5ZAK!xl0c}NptU9=49C^=DZ%x8_?jEa!d#W+GS45>TqA1|)9J-P}x4K3T_e3yp? zWZ=(El|e@l4gpk)t(^U-M5;G!`f)F9dyIZ^p9~LMx-}e@4~M_2$g-$u-S8HHW5I^qMOMf|)Lz@%h!i>dwPq=-KswOww!YVLA zUtM3mlLsx9^jXA)02@w_4&9?C7Yo4!+Js>vp_5U@hspF13z4vr0Cehn&GoPlOExs8 z!%LxJFU=+yz6pt~d@0~(ei!gXSLl{Fq5e;N9k|Ec>+){Gkz}HK@k=HFW##rw`i2>l!r3EdM`x{a4fK1c5D|=B-03(Kk>!ZqtbCN&2QS{C6 zPh>%%3@5wCLHxte5$~)#@l%X>?-~^c4cxo6IN=?W&Zd)Uw{?LJym{^q+5|a*eWqz}0DN)(InZ4pEZuyej#C)rpJ-z3G05iKAd@wLs z%K_%TKmELr26HU=98+sYUE6*!tng`KK}C3Xw@2yiw<7Z*&DJQu#uoaRY4h&w{Ilp} zShBW0|JZ%K5}z+*-w5ydGal68VU+{xW}1h3Sj3C7J-z)q-OB#7Kks$!kq{~{NgB_G z61P`)_pRTbCt1!{ILP_1xbwiRtRtNzuAEdgXw||*lvLy%Z*3^F;!F>A$c!NnwU#>p z8g8fMyXD+~w~Shee-Kw--?zSB*JaT5Br1L&p0{8e`=T?ekCtWGg>c@Vp(StPoRbaF zZY|zwle(OhPjAUSz_bo}=G;cu4(^W*v{d-pgSQ$*PO21Q?a)n-|4nnQ2fUEljTB7rG*HvbBDuJMc{R*fSXjE zDb*~bC@g0|fn0CffAWgxP-k9C-T850OJ7N$sYre1+hIV|#TXac9~si%JwX0eu11~> z-bfz%!8h7qH>QM!*2%lXkmoCuHze;PY?Jo2TH(X>h9=X0QX%K_rAUvt1)!_{G2q+{ zBR*F_jaC2lW;lXFwN^gTK|t9lwDDDim7JWugt1)u3mYeiJNv1*fffr38%*{1SFY<2 z{gz{TqtTT&aEG_{Zm{|K8R&P}GerTW3nYRevj*_(wMpGinMU18Y!_YzN^D`HQmyCP|AtNuJYB>3KskZy zUVDFb`M+wj7^8Pm=s#bC2@S&bw-#qNMGJbwZ*%NwSiI!ML-6Uy0mm0L3y1b zYqk_V00z!@#!9)Zo@sGP#IXUz>^dRx+M~XwfSSxx>$G=!w;PjR?}dnxRgtU`e2{2> zgY;%!s^(LtG?LUys+Xww#7zG3Oj5UsOHEP6Bncz&SBn@|F=CluEL$xCi!%wVbevdKqK7h-IkeHR48Ee*omCa)EE1 z{J_ZK)4eTLEXaCw2`}U4S}I2v{yb4_2Kj3`JC@x)wII=Vd=O%H=chx)%@rq8Yp$k9 z01b&1dD9dK;3~2M5C3MD@qwZup@o(EgU+vqEYefOze<~;+pze1p0*6CQNwlO8Te66 zLYU&I{%uk#3=D}JHK4W@WQY%1#BCcp0FisYkuT4qmvx!-oSoda10%Nogq(@B-Xl}{c3L3X$0DkHUgW<#>>+bk7Vh=c% z0l-a*FH3LXzr z|EDXUBY=v_AHc25{r&qs{O;XYv$NSkjYcpTu?I={ z*X3Obs7ot}vaPY%ggZ@(&urJu(v4 z@NKnKW$ktQn&x+lTrIO++@Wf&5Uy9cz5QT+Ut%ZJ^aAqytKMKze4`}{n1`f*2BrTx zm|Gajn=e3@fEZz|Esne_CQa+DsAMV>opG)oAu2YKh>7);)mrO5f;iSLP6rG)} z7A(D4`cG7UXiV_+@lvJfI|=mQoa|Gls(DhDgFc#q}?ht3FY^Syi;O?_vEhITlJuO|}lL#n@a3Bh@4 z>@(*E{wZqk39U1@ zr#>FV^`U?C1Zo%Qfc<>gh21_Hlb(&~biTn)bldty<`U+CT>oJQ2OdI7KeVW1vITBS z$5~ONAyWY-Z2_N&X8QBjKTx8727d-au`Cz$gats6!rOPwNO7Xx(wkH$W;u%4@cs4o zpiu7c6(xs7Mlb7QSQd2AN>q;*EYS0`N&UJc!h0WLO&R&P%=cSO`@ShvdgV6FsTvCWV>`+EIQkJ(7ZSo| zb2~?x4Oh4!i_(Z(<}jVCLWHc+vE7(FTWiGx0qiJRb+_@U*dko8;P8%yen`uPb}gNL ziae${in;?^9yysd=(&H}SMbc1AKtdcJ*YGzu%$~6C9QOwK)%tlIurXuM36xiVZ_G` zgzbaoV5-p7upE=`&cgj&`IG9NV26N_X;Wml@fvs{n0co}8cm zuAL*I_N$=yTX?9$eHnsbRMecvYj`Xq5Lv^r6Qdj-C;19a=Wdti;H}|1nIDK{KKnEl zCKB&^9xh74v9Ul`M^zM_$@=~gFf=q59Bx4N@z&jK^VeQkm902?Y25!q9t5+&ZXMfS! z+@7fB{x2`$`e5&B(^k*wubB9QUzD|3RE`FnuXyAV%FeVtU3)=I^T*A`{_L_-?XoQg;f)cP2wyy49N{P=tU?4CG@?O?~$dvzo?;jNu^$9k_RLAW#aW zUxWWG*3~zC>UnPe{9rno7ph)tA9mT@FrBOE??==8+Np}M^IX(8H{r?$u~*TLC7k5y zx{+>TdW|^}#%jc&oCf$76nXF&fi8`jLgo^aHg&sL5mxV!BQ;p?gQ%W(Occ@Kd?^N2 zd;a^%fn$hS)@_LX*Fk#U)_U0`t&xo3HEC*4+CTG5xRj zj>DMXC|102-gj^qy8Ih8L6lljcA7*ANSv;8eJ4T?auu@$%o55N{ShzV>Aq5Ftzk1z zTOM+5`=YIxr}km&z!7lpNq@0dVd23lA z2F1u4ul3gaZ>^EwBRmgujYsilIzwt0Ag`rr7LITCp8Cq@_g9+HTU!x{zZo)wIdGpI zFI4jneFMFIVP@mbZHbNEDlzmvpMMaHGj0D3+7s!Zcjnw{$(KTW7?EUf_`YFoNo@v# z<2>`vGZ_%X`iEkM>0n8y0Hl%^s>CGLIJxyp_T^|yz$0UIS?u2DFi$=|n!?xI)h=B+ zTs+QGY?*avw}jvFA>`L*0kiz%bA>xo8@WmGgk9h=k_0G)|3&Qb4B`z(anAs5zW!oH zJu4E^imsZ=VH1TQm}(cx*|Q04Ymsm9Fno~PM+CH#A1^b0I&gdOJLoYjdk)Haq1)hF z&yw*vY9SINO3=W6uOWe^?;%I8e~8%OH?p{HwJ%{DiH!?^!nQEu-RNe7rHDC;W$YL~!PoMTuS#Kyl zVQMqGiRJ)&)7VReSa)?_ph_Ud%U^Q0^cT=%QLsX+ZQ$6bzs4A-*CoLa`wFddYZ(PV zUU*Yi|BdCx_-3A1JQKx6p>jaopAf3 zxLtF#D~RO<)3bo`*hi~W16R#$?qw| z$iD%^{Z7V29EH4*A{sI499~i%ws(7Py)|Zgzp?#bA*D!I*|66c4;8whk!Xq!y=fJ2 zZr-rBYLE_eM@%3gM_7jSWJABJ`%T>tzs(EGufY#droKsWFm;9}IECK{ClxRs1ek^T zNgm$!IrF?vooGoF{MpOKUvZ*+%Vfxk^-0#i>g;Adhewy)H{XdT?H-EdCh3ko>3k}E ze?V)myG^eo$zskN?7;zP6&1JpLIe6afDSjJ_|HiRZ^#%Odic9(duiq0jV6X|n-d-O ziqN4Yy=!D16L9I2F|fPj7MnW5;549??B-RK^jmf z31%WxqRx@nK%%Vb7-DxDc+HX)rJ!xN=_{GXbd*vT%M7)a z;?n2^-8GF#n^~io2r$S+>AtMKyzJ zwp<{>N7a^TQ-BF9+-l4sz~++*o;N@s%4@TP>P6+)Ap!7t1n6=j`_FztrSk5@Cf zf_FoiqOI>2C61m{E7^vWjRn4v(3&}HI%_tkOnAO$@Xt3`cug7m%UKd?Oh=t-YQY%T z$dA9Fq_#x%niMjM}cIeSxblU3ECXtVf| zdJzrHX;aFy)4djPeD%UZ_9f)T7-NQ2jvO}P{tRXqSfjeCEj_c5TDS3J{lG}@xPqR) z*++A#vsjICgS?CnqiKPSENfcKs(Z#TkQZ7=893gk`5EyZw@5|qKL*Ad@(`9{kWKyj zKq=%MYb9f`LCZVfMBCch*YKVEwTLx~&3I8Q>Xd!+;h;15{6Bz7d!!N&|6KIHgi+)u z&;H8f{*kX%*rC(jMoK#_bj8bgW#agsO1&X!wPZI>0B1uVzDD>W2TE6KV1<>`GF?V1%Yn(%WYE;^&cn?kaQLxcw(9fwRv} z;)khA;Z}p=*}ARATX#c3GCC0${`JrpF|w2mPc4G%tKtrL|0fVC90FWfg!)P{anjyzX0FILa5kj(v=RZCQ=rqCD1XCKrEb(U4pdzHuq@O zzCpPPa7!PtTB07D%MQi+K;fhMm1L*OdDGxSO+CAm#b*JJn3^*n?_Y_mYl_d}K0eh8 zT~UeUSHFy+e6IGf6#y)CsR@#W4p5+_V=t*6wt9R(aL%!4Qz_R3V<{1DfTo>K)JS}W z;vrKCm6xgZ3@k&oCB0Pl^!gTp-#xo68TR0Ir2u&)S6@VX=0u)UxrH`isx$H~IrYoM|>Q1X<^8f|aGk~6kpGUCLl zp$<)ho0G&^4Aqg;rn4Nuofy;0XXgqID7DI<%*+VFg2wsEC8|c$HE#g%jgBa0VKGuj z6ECj(_t=gehoTjP9qn(R*zJh8mF!U$%KwU<|Cz4z-eMq3h~grThKWmCxfDiGTu23F zJq8u%d(>(lG#NaXJ^ndzt^Vv~_>HqIp;8Ha8h>1%1J_rPJhJ?2~@9n=%q?XVZn zzFX%;*g`uF;>RDvfu*C^rxM)8P%t$ToB}d}=pG!V!&5$xs;8SXi?ASo&w z3KiOjSbGaMeA76BY_I2+(eF_XO`8Zu?8}Z&+>6RK_zgIu*bK5uQ90UD=zyxxFFYu)d zHMYpY75D58u3D#x{+*qBO$`k_&)@uLaLkU6wJs@AdGg(sK@(616LRhpb(xH{@Bb16 ziNZi_X;ArPtWo--Q?1V*K;{$cfBEq{g|uo8hKfIkHlnVf?3nQr^2gGw7r*Lz`0=wj zIJ?m{Dy9(*uUl2wzRyIu{ew{igQkw>0xa*jF>*67ejxtAOBZfT=q0`>4xKr)nv8!T zK2a1*vpR$6ol}2xm+Y9ri0zo$;+4Q(?HxGhfS1x@-~T93>3NH99s`t7lz!(%WGqf5 zF@mzO5lNegbCYutjIN?4;XeGuTeZCVYfO^fKy+lO5M)1+EewA<>u5_Ohh}_JR>#GS3L#3F>I$(~8W%e)qK`ImK|BJ+p)O zCrEOm{jd2?D%_}+KZ@gWT2!OMy%33Y$q@_u=_vBHh#U@6Z-ce$VC{f)eo~uLH*-S= zADIvQ7Ky&Ub-x%>L+ImBRUe*iq39&!(HSR+*?5AGP3S|2h!=)ud+9pI1F2Ytm`y4g zk<8%8ErA~mjC<|cymp&23cM4JMwLEcmPrKlcCCik7_3WnSwe`#h&B_B!Lauk?a+B% z@~ffs16M{r8d}sv+p;h59-%e1dF5Zfhv95iLDXdcm?;7I1a0^Kbn?nr@7aF`I|T7V z<)ehUwW>LmTRT{b)g?TnxxH02n%c9#jTkqB(Cqy zO%T!#8=L%TO;JRNBUIfj>4%fJBQ5;f&%KV1o1JgyJ8%JABvJi$qQ=K8veGw&XB3AR z6CUDm_}cRf;YS6VHdeRHrZjX}^>}q+VLEZe?Bs?@lwKe4nFIbt6~^1w=^eBhv#!bf zzCnUQh)Qb{ih};R_!wyanEreS;$&#fMhnW$UhbXSV*jCUO4)k`B&sFET(?(lxz1u# zpi$nw5dLAYX|HIqb4{~>CR|F5G^mk}AOD{@%KtmCwZ9xSd3fYYZ8Y3lo0VR}EjCdP zy~b4@36qcaCNI*xe(AUns#PStrCv)-ecJuxo_Viz#qeX<0&ScXhw9>A1<~|2?&p}0+zHYm8>J+^9-{#9-YPYmvr!#Rv7Q(d>)8I?iV>{FxOb!yp5NEZ4x?W zE@-Uof9Vt^=&+*t|e zS>N(9=BpLM7Lk4^3fu_ zHnE*@y4X~)TkSSC+tdp{BK2B3ckpQ-;87R1dIy^kIO?b=MKztox?Q{dP6%1z-}^QtKJ)oGDp`Ec06C4yJrIz{_B;kEga&M1dC8TPj~rP;4|cn9XMA z>eR5PMKOb(z+kpPGG7qoLR1vi6m!W zBv+wxPAFJ3N=Y_aQMgE;vV@^4lFD>yX2-mTVYHqU(C#IkjcZYUxBrl=(l9bAwf{R# zgCvpnw&gr}uU%dBQ&98;ZL!3=A`Ci)4x($1<0Jdz2TwnwCf}#<0=t6b$*VCK*rU6- zKJH&#A(ja=rOWXS!18rL{5{ZA)bGiWsJ<@UZ_NM58XT?(US$Tgp{(J7&C_{KW4kUG((h=!$X{5^w6=%7Dj#0q}vWO|SKCJ%;1?6mv?WR9UR z<{?;3JU@9rIi(2O{Rq7RmtdoV%~?lmL>KnI{?!tX0nNisLrgmu>P+7-R6(!u*nEAX zm8s2|y3lO1VriXZhGu?RVj_sNdC)#locOjIY|g(axA~Y)ZnLxVvewd`e{LSG)Hmq} zbv!pI7ioX_6w6fHYevc=W@cMH8~g?O%CNPXxG*#M_xz6NQq;pEz!OmK?R`5Ut}WW9 zx6=SKwdx= z0(JJ)BhvNuX!LoogqQ9L?bk0x28UOP{j|6N$U?Uu?m}S=K_$?c_iDy5tuk*fy;-G9 z(k52NgVv}E_D!2s#e|L>d@_m^k?PX#rXxYkGs+Dh4*9BVw-8SYb=I4}s^ zUyt0|Z=_#Uq(x^Eaa7gDVCqAW&Xnsbz^9W$<}e5w@+y%V;sD36LtFUj z<6EP{1_4iq6lH{|GWtpSgf1q1yZ0v40$0kh47+Fc(-n4rd03!G=z2=b794;ATTFd4 z3{(28c-!VqQgzCl+yNpvA;ig00=AnTPij55qoA2E>9x|AhF_Af0x1i6K zpyVnxd4(H}a+v!vEh2fsE^V>DA2yZ(#*f7Ie6Kt}Xl@E|T}CYPx%xnXIE@D$-h7FM zJ>a95O(!nvS;5`jSRwi4bJ-;gTwyKlN;l4^evBjIW)`8|AFb2~c=EX#Wsu%EUG0O{ zkWczX$BwkHxQC#kJ}x3!{bLtDbc|kSv&8^(OPs$}F`P85v>lc(W|tYTc+oZ|0b-p+V! zvKx*YW}|b|#R3e()1f1N8L9Ma`~C|QMl~=x@vhVQW7BITVI%L;AN88N6{ftb&mrKw z;X=ML+^@1hb;IS8N8y}WW1`#rzZdRkh2ANsTbZ9%&CSV~r8AG&YHu7S{%OWpDlq(J zdfBnYMvP0}Pa$HBW9xu1SYJfSYEoBF)umVwM99lDZBfn5&>`?TYo(7lls?}vNq^NJ zTyVe34yk5ed)q0V`?=twk|I^u}y6fP4p+Gs2+IJ|Of zm=XnQy+CxuAQiPqPHV+9T^{+u5Q6DbkuOlL$RU+N3JDSIuS*@N0CDZ9O;sK(&p>)Z zZ7TVVP_e&_C#)M$3~Zs9>T`;ad-(g* zZ-~Oi+NejzZYHn-N=Va4>=P^ZHn;Vv65&rFiqH5Kgaz*$~+-#$# z3_*Y$a2H+9^t*tJs+1)6*F=GHg=esjM)~(YwN`Y)gREJW?J#-->`O3dvA0)%9)r?y zdT%d^+{_*|{0PihwM3}A`M}{)(?PGqdaPHn_u2KAYgi=@aGwDf#Ov8Y&(Ldvb6mJU^gmnd(e>CyD&IXsE%|6%dckIPPP zpJi8Eb~)ofMGk(urF!J8%qeyU{=HRS_}Ue<5gMesw%TMKgF^zL7?yEPPJP`FFE7=XHL5{@u-K z)r;^fULJf#9_A%n0=f^m8v%@`cV2{3Azh5Y?N)%i%Y7N-dhRKs*eV_nfs~~b?OG&; zWK294sDu8w(2D7IdA)4<2Fq5-CI9K9NfeUzoZeZw|CptM{w+n1rHJ+F@p9rVzumQ4 zd#`mxO7Y=~{J}+yBo@Dri1BOAX_hTJ0)ilI_Z}!H62pq&_p9%AK*H$Tg%8)%Jb;m6}5vn&G6@csye8*UsWNT*l46o^`h+40(R(5;4e>#n*%MEkXv%c{W z>^sIVSMu>&7K=KqTl^%S(*MSfnIxRCd>s`E*fDWYJgp(cSXoP+5s5rD&=h)FL>7+0 zj-D$4j=}I<`;Dx7QTsFo`qY5LAPXrIO=b0vH~~%d;wT0VN!%P~i?>BkO5_*AYd5IM zpyLHr!elQ$mI!FBz;6GrRnPhRo^d`WPnF;tD<}{=*YsEi--061|2lkn0N?}zbP?E% zdZqoa**~0{M}`6DazsdQ02PpGmRob_A&u6dX~3$57?{g7OHt6DyVtSOshz$=oSQ2S zu7w%BN9YGuxJIqnz+onlwU^o&AM4_LlgvEE9-*rJV_OM%zBFHcuC z$#<|yf5fq~S36dcpzoRT!c89GD$L+mbKtL434e=bH1zY*Su4&1Skfx)qUrX{{>v(o zS$8b zr5FJoY3O<*$wfBO>z9OeZp)u!oXLdb6=}(`6#ZD=$bW*)6MtR91G#`V9V(h?RS8d2 z*B`oB;v?408%&*p%Sie2@LpWv{GgNm9y}9$381?3uzYp>{*ePdFW`9vc@lTP!pRLr zyuDR?_LAhhZ_aa0^4$KB(iyd_Sy|`PyceQ*`A!Y+rj(y}TDKB-{2SFo8QH>n_m8{_x-!q#wIq8bPCnnbEbvubFPMS?|{#q__$vY=;&G4KC~vX!Ol9#$|DG)(g$ z6A^Al5fanU;isXn3x7XvS?mi%u3AeL#}dIWVU`;6gYsO{my&0F;QS|+`LKTGPasj3 zpv>$G1#7nKNDLcPf)U`+#==aKirStMG-oEJbQu9_C3}0@xA%wD+;Yut^w__to<__c zi8*tkjoOGzd-cC>*Re$r$L>x1Dc^eW1nfRz0yapAlXssz0~@{}0JTaf3BPRL^O@oA zug!UNfSH-}HBfd>ul@MfgHM|mIiHJLy+Bux#uP7qy|Qwb`SSVAdm5$xB+ebKm%RUc z9x{Lb^a-&r(S$70g>h-)T;sZ7F;70ow$VWenl+I&@xubZz!Oifgvfht;$5Xn8O$ip zk)U2NCm`6nBCiO?2-*6uA`wFDOgEO}t}ilX)WJ5pc`MJ$+A@2uh20;8NdjX}$D82> zX8c$P5u{puZ6ZyDl^^c19qEqthRS!w!}(nffU=@esc>{BE+=w`Igwb5Bpna&^ivQx z+$7&+Ezc;a;p?GaJ|K{;Rw9+VY$srD%&NbK+b4hPysU#q8}zmQWrYHgco`^t4(n75 zlXAgY_E;Q?KqAjGrk)GH2lX#6#>r}HpTmq>HkbOpE4Pkah-moe2Fc@D+1PQa< zJ|l48M|8*)WHs-y1hZJDlOjfn0!ht$);o2s3^KrP5C;IM#NOMdEhm-7U<9?> zyA^QfD|jP{w9k*QVlhmshTEnCQ}KBIqMR)Z^p#%lwzwryV0fXbS41)9BcRK%bh*li z6kz!#i+o4BIu?L4T!KvU{eZ5ed^RCOLU%>OcT4mYS`@fuhV#rTzXEpJ;lARKoyVn2 z63mjEwu*Qsoy9I6>vWeW%U5e5D|7&xfy0Tm-Mmy0wY@)uz-I)c2#8E@IdAs(oy8)p zO%@0~gAFcbbmxG_#}oezOd3ZzAVyGqcfbX21EXt3$0aWGW{;zCmXLa5D*dS0pd>ot zkYJiqaQXdDtRr&n;kP^MZYi}^<-4SH6sT#g+$f;7%Q;CPK^sq>$F4r-mTlIa7w?O| zDU^A!pG^=qx)QLGb`-DaHu{cz#W^xyxSoYnO{--xZCXdWN_AGf!h)T+*w%0Zp6f3@kkUSnudM98$3=cJ zcBXu{zfHZjrpsRO{}VBjeazugEX~I(wEddMr9|_D9NK(Ortk8^r>#qS4N7+9yWz2MPmPtA4rUSIczj^pa98KYOkmHkZAwSfJ6g+{6*ipaN?+WJI zOhQEr^IdMrHC8-aVOTxvfO+e1&!dJN@jdt$-*LTAZ6e!#BDs)Mpmg#QXYZFfICFAz zMK@Sdo7Y_;@8UP~Ng?7xUw7udaq!)()XuIa>IG>`RC~U;gXpXOai=YX+fd*BUtGO+ zJeBeP|9@R)aE^Jb$UL@CWQUG}gzSv8j7U^QWQKE$(2!$=%#amPkV7(JcHoCDh^xjI-#08Enzkj_U_GSupe1jMV|`cK zd$ljFLnvs5&DoUY+E84XqG_{5(cj#JSOTKGJh$~OZ77bMw-xV86iqiGmjn z8qjqy4j>P|oSbgN^8`NtD3jO22il(28ZWuc4s;SjSrlwI=pp&%zZN@Ku9y7(2opUj*J&MDztzqFy$idKL3LVR7nR0 z_WBchS|4Zn+}~R0;YMC{a`Y0O3B=G#v3kYb$gw&tJ;yrLd>8?RF*l#f3ORNYoG{NDPepmQ1YegW*N6z1Od6 z7e;2RNfV15aiRs^ZN}mmJfB}ooEGM|b(e|{l5BtkJ5Lx~KvqFtGMFQMAiKO)DQ%{o zF9<^a)jd*@QXH;M1n9UYk%jkPEkcCvd{KugoUw&m`dCi^kRWWy857&aoqU%3@7Bqfq6 zyqD5@`m$aQ$LAs|=YQ+Uym5&(acFumSS!QTg)J;!SUyxa{+7|zDr;e;fDpZ2Ct+dvj}qv*HQi8Sep6ueCo zII-PEa|#3gh%oio)cH8RPCPFj%(*toN+`U+{ti$HHy1L8$8ez$;SzDRhAe$84En@c z?QnMJEg3!#vA}pIr?1EUA3Wk^NjkD6^v5Cj3VYyDv$HmyislPwHWZ&0f)YiY%|GFP z0e1RQqZl6Zz+kbxCFEp?G!Q>2TCOT3Klw997YS{71pc!{Fu37O0DFxxXc3$i6F!fv z67Kg$hCx0Ei=p8o=O!Pp_utpt!{2x%P_g=Gz=IJ%Z?#dlfZ`xADSgj2K?$u$okoS> zT<$iEHpfCOFP@-WrB9PiLvr$Lr)?!n$Bxq2|N6+X)0wp0?8(X3Ub>xekB=7e3GU4972-9AUhC zkM7{CIYVtD^?-kuB1&Ge-M>%wm2qoXv6l5+gd4>;e`^bRd@zqt0c18pMF1~4EDKUg z!A}+_6~`QY8N7lOX`0TO^O@C3_Y<2wsbTkpfVvBj3D^ZZ$D{jOu+Q<#_`*=$e~>c% z{@Q3M$t{hjFET>Q5w-lo)lJ%y%S@GY_VjWuKkD&*d!`2waSRSEz2TZKO!+ie-~^X zo)9Xxm$g!_{35biNGeUfbSd1+VcWAri|Ym3b~HndmDpv6+>I_LE6Dbs5^ex)`|EXJ zr>{$2voynt5D6fzSR&Qe=3IBmE!I!)y4QOj^p7-f$C7TC2RpPH+zskn^D4Q`vHpL; zA&zj0z|FAsI3cPp3zB`>pN6nD#%Tq-*=Qnnua~J#9_~(fhKf!-@zQFh`F4-K7Mi&s zI%o*%eBK=QL}%xtf0=vU<-?zy0_E@Y^&QX|c?Q;QJ;xG(Spy<-Qr=l$`ZRg(nJmys zVk-U`cm2`Vf=lCT3}>e2{U3S&Z}E_jtb4hcGRPQEmw4}+6jve z^O}F!N+c8Sb{bKQY)MGW(8v1iyUg}$~* z%p57dy#a9Bd19sdSL#aqlpO9aj1oA}Ld9S%H9@xR-7)z(z&K>~}b zsuPIHzHF-)EXyk}vV^_RjIGz*JI_CGi&Yo)(bcvKaXumh%N0J4uOblCzItbd=j5E# zNe2C3)(q0>t|+MsbawtXpiuiO+Y1?o<#b(fN2UN%TK?}N?;*RLq8n`3j`G)bsJ5L~K zp~iz-bNYvlKYL{Rg9>*93`vXhJT_{2F4=saF|OzEUb6WS&k=Ed#^Glf&-y-&B7amd zO#X_Q!#~qJ19Z1uG8ts;vyN_;J7Mz&watKloP3Z;88MlD_2v`;t zt3$bBUW}vywi4UGZSei1ulB_Ub`2Dum%QTw{=I9T|A+lMQ31c}&7181QLb^fNp4B> z8QVOY35vvYZO-u@YtQ!b)^*I~ZQSFGisHR)fYPWbds?wF-N7OvLn5zjJna!z>}mJP zb69CZgxh&Ua)dR`r{MrUk68Q+IvBd!b&&R^6l>-BA9t{Dp+-clz{sS@htScxVi!_7 zL~EB00`ZT%!3y9T)!oqG#Z#`>5_uQJm@xCx6%spvRw(s9{#qZ01oc;|Ki}03zmwL< zwaM$C*o&!fre^W=blITfBuGX)*r5@X3iID#d!5;9S|=3$;#l^7*#FA{82_@T%yLtg zaP1yWEYUvyJrOmlhe%3FQiaO{*Q$mo5mThHo~e-C>51LVNma~~lUQ1DWS9S>A?x~t zS)3q72T9O6KFlMLE?mKLABiOax8t4@|6cX$>yt}NiMRIF^SHpX$a@nT9}lJb8qo>k z#a?(-?1Ov_MYZLp6jP+mSH%WhAeQvIg2TO|_0p|N`_?|+hfS>odqh1`k^sCq^9Mh` zi1hER5}x4Iy2_cRiAN;97iq~nbI#Yr>RQz#Q^BBjyj=IS<=I)0+mo9c>bJ|vcNX8| zU<*iNu8aYJ>6@e}4>vkIYFg$J03)int5yd#mh&iaIOM&V-aZzg6`?Qe4C>jP?e6z( zQmE-9p6P2?G8O{4=$evI)d<9;aMQ-y9b=i5H{G9}&9xP?GL%~2#>+$}8#wAL?p3Ix z7^A+0{R6DQw_-6rvv>(J@!a73-T(rzh+I-!Mn3Rv>y9 zZy037dfD230tkQ3o&83KOZ?BOeGEJWh(j=ID! zSE3t~zU(t?8&xdCrLF2#rDwq76EX_K2;Az^H4F)+J(=t z;$ST}v>Vv{xlaW9DYOVc^rZ_Q_+7yW(^R`n9k4@W70|zhybm3P*BNR^*4kHvacrmk zfOj`KrJFNgACH`x{&I5TYppk_f_+nQr83QFS7`9b2;5~<#){U=I3mMV;9~{JTw^Ac zrnHY;kLA@diX6M_AXNs1Y21H{-7l{q?pQCf_NvC?O5Ahs4?;+`NS90?^9)Y-tgBBd z-~!J2$U;=!8Hgdgo$h}yYa%4wfa@GLWqVmZ;cna&`w9IZn(FaxyaDc&AVA#ZM?ajl zbH)_${Kn|W7f1_u-?PdQ5E9b8T*yJB{y9^HD@sW^JUMtOO>`~l4B^tR3KZm6Q8~!= zv}SQ;3FwYQn|4Z@Cup^QLe;_vQZ&5uYB9I7EH*LuNB6+b6*Id7IEabP*5F$B&JFpAdog|ayx8_JQ?LxE? zBTZGeqxn@e+WN@1F|>S+u5|bwL+OBmb-~#bDr?k4j+vgr2#CniePcpL#G<+X-L;En*#B8WW&A^yWk4*#eWKD}9>Xkp`+bBsN$(SPTQ z8F&l)0b-N=jUa%Is8V;5f5I;$sJs88Yuh{7X6fhSz|i;)AIkgo2CbWF3(lbeaUIkH zd)1YcDA1#t04)MMw%f|Z^&NCgrd1T+Xh;W7OBGZr2Zempz|sMvs!#)#hWmKJYP_cOJa7SU(m9cKXBQq@dIKGg0E&tdO52K0 z$KAQHp)NAkE=W`YRW@RXdF^n(8y}t-Q@Fzf{HS7~l+4mM4&`&wSgV zyOzt;>y2NsPiqc~2r5s%44k{}P?VFeV?4nuRjD8+K`iG4lP^GTaE!Off_A#zTCZUS zOk(@SfqY|7G;8ohBA+2?@)f#h@jP}0My>xxSI}xou`sF-G~Tf_oSl-o^x1WK(l7NX-pT^(IBKxa@#G>YjX%=0Tud zGQm5aEgOqOD5sj-1ZA&4J9!fhEr7^4t$u#_2d#FTmR|2jbP%1AOEJ?8iZk}x09=Rk z;#oD?eg(Kfa|IaJiT0k0!PnA8ShHY#yn$JB115;L_VDBM#c|b3kRQyi(t3ER-jITK zPEJavs{1w$zdySC)Q>c)l(}za*&Mg_OZ^6=08NgYT9f{b5Y{W>DC4zz(*4d#Aa|&@ zB!?Z(6sg9Fe1#a}D5AxS80hYvM9p?t!TxS6-7=Yq?#TH#Em^SNaUjg4c?}60Vz$O# zhr|n1Tm!$IK-Q+!3F74&XYu zKg16U+i`E?siW`HeT>B>+1X|KPaP$C7DjJOQCqm155H62jB(S!sh?sury|DQd=(b_ zA5j)s#-F>4I7OMF4$C#{45b@T`_uokL~SB>1yg4lC%)1j^hHFoZud)??X(L8kHps) zw|j5orvzPWNa>I}af=agaKHc|KabC+jlbMWjHB^;2ic22p-LdClM=NLE+U`uL1|R4 zkH{@jIzFV}yI5x;BXE9tH`Q=U%93m8@y$&{g@4J~K+OPrR9?OW@#4Kmk-3*Gpe5)5 zBw0Rg1r4KVnyFzApGJBO_Z3c8-zLs{TE4$vMdl5}gMB7+9=tU*IX~w95g7NVPpKXY zHbS9&!>o`VR4Gq4rjdvJK_*q`Sco(1Vc+7Lhhgc#z9F<3hTP84g5C|bzRDZCI#0QW z(>L9$0)!PWe=(V=ov{h}Ey;$DemKMG+4lt(lvwK0E!4`v%Wk8tTwgoa=H zA<_lfCcLch7$n7bHwuVQAJm-eMYrrQ-;eKr65q#>vO6!fMBaKZX(ST%EI64~KgOut zKj=i6vL)YR1WxFbUjE#h8bcKATF&-d`@+fy+Ka+^N43D{E(j!0mz=9^PMDN_uV0Mi zx@-L&g0=2-R0SUEDpe})g%RjcP~U)KcIOy)#dj$l|OOw3LO& z(Y1IK_^gX_p`}vM9>9Ab>_(sx{e9}_m=xR3!swXDZ99l>2lNeU^T^05Qr#h2#ynk= z5RMjheq^ROq6z$!l#jQG@)$K%kcNk8T>AES)Wm`xpy>X{R0Ag+NAzdEb zGgQBGSh+W@6c&YulC|?B=~N{M25K%6V4rIp28Nek#BDYp6z3aiUQ3&jCiuLmj=3R= zyYotlTUr>*I*ldwDW6h(xu5)r#*gbNTxvVBde21lgFc0{sW^8-XBxZy%av<70Gal3 z&IT#J@W!>!OWpHsb}YRA+qaN^V$CDGN%KZb*h)l43ZpmsDVnOfmVxB-qdfK@=G`kf zyowlfpJ9P|gSh~|r(|Eb#dC%liOPjZRfUd%YIM#g`MZp>Uv;plQ||$tR`M0gmIPVI z4)l~;+Z5^n*V3~$HxsB!KlQ4`-h+dtgO5i#&VBe0dbqsazdkupKlNnpg*~Z(2jU%Kv{_i^N|_l%vd2_p9wrwz+pCg*4aJn|zi&58F26dUyFC` zb2m=aKjIA!Mz4PUp5*;6i3{>oHiEaJhzs5N`JsVB5XO{?f|Fq@8-CH*;P|8zhmxFE z2AVqQQTd6R8@>sgL`;jidYNkFd0IIg7N=C|H?L7ti3f_%h!MLgkZ7*~8LpWPN{WJb zOuI4S`FZ24U*vD$SLuBiXY1e>P;aA0>BJa;y=M}Tn6Ryy^%8(e$H-1;S7J+!X2;n@ zL-6fwTw?f{-~`Bso&g;)_yRNr58Y{rq8zngJF1R$4=S@ZaC;*JKc8P7=C2B2=+DD7&dAp zzBQ}DDrM@5`r^H+Z^C0-Vz>{NgIg~GMvZRucpYK~WM;YT`SMeEQ6W(jhShAg--~@NX=AchSUCsRSvi&Gdr8+xw$*d`v zx>;53ZvSMhs(H)DOT$O)>HnHwTFY!EZZ|bk-{YvwsX!nZ9j)N+{*Jl+2s1Efo zRBb%I_n~^j1po*MpOJ3NfYJ3a$pbvFbj?vt-c<=+Td zy=|P4*VJtlB)!2T!oT>o|Ixyzwip7{Zu$uH59k2CDP$d13Z5-Tw`IPYW+7X5ou_s^AAep3#M`*>~hkHd|)5QoRitSC8GO~SP3r{%#Aa61u{H#q-Y%Gv)I1vDDK=lkHu`7@)0WH?ZhRsx zUc?W}HypDEcB!!b=}xG4gu|nib#f0#X8h zO=A-#Goz{nzD1+2<8V^Q*TyA*7|o3zy-+bxU43s1BTk)z0&(3dG(%S1ROn){zX%3K zvOr$J$E8_j$>?0ts!`hl$Q61~j9N%rh>D%x($df{6eAr(f4x*A1oN=pGf$?IN+LC~ zy%yq>iLb^twodCxuL0YEmwDzM55@Q38L)R-Ip0UDzzC-9j0P@e&2K$5alm93xWWD! z(gg@+FggRvWS^VN3eL}jqXxFl^t0m6UjHQ)+LAByDY8z_o#RFGA1QPI;be5gk%sd&HTbnn5uM9>P5XE_b{}{S8bCkMi*fncMSs5~ z&e}|+{2i0)ucjQ{r9_m6-rcHiKB-@XlHad$v-JEg-hJMge^hn1#6_6uPNR%djQVHlnmhET&UZvancRs{hYvRj*D%W>p`u zw#eH+d48!L=OD{)NMrna9Y2rf8jg?4w;=}U(LBJWVzC^@JfhU;2Zv**sc+t_=`0|B z)5qsfy5^NUHh*5TU>1EL%;uCJq=<`2q3L^2!I=VdOGZ@94ZBp++hT ztd)L^|M@f6$G0q!>f)1FJpxf#X_)x1!>o;$J8Dj(RO)eg)vv2m!{|KNzl3!KB|c=d zO=Pa<9834LvoGIS*fY_`PX8lqC-b5c(lgE91%m3v=FH+8YRc!!Jc_=&*D&Ceq50U9 z!ys-+fH=t`n|nI{R;|_p>?xvaQt@iP_gfwG{nJ%$YBS}P-kZFmr*GZ+EO37X>~h4K zn7`fLtWr@;WhQp_xodL zqOY^S4FR(v6(*;(HFQ z=K994zt>IQA@?l|EhLiX?uPN|qa9dR!x@uHb^@*0SvzwWz#Pw6w;|c7!bW>-YfKs3`5*G>u`m| zBCOi(I&N&fHV{nUa=Vh(I&dE=c|bUgHJ z0=q*5`Jf!QZm!KqQw^Yr3wJ|FjCD4|$W};9J5n^^0WrV+ow~UKp1k?w&MN_t28sqE z{_57SHku$N7nAu5td@RN@S@l{1drncItDZS%pjL!jIz&yxi*W*L`|X#H*k8I0il1o zh0-`VQt~Th`d;cOR!wr@y~3mU?~l|m>Q_i67c?#^&NOQg?Jj>|az8)%JoV6WO|tlp zF?#*^gb0M!LcXGVX0LD=_z8LYLHrvlv8NfK{nAh?lAbzcv<@x}kj|=6Motk~KZac; zZhl46C}|xe+hE8u7nl#-LjYU+T}kVU(^+snU~g-=XX%B2H~GR4Ksvz`G;7hEuzDgI zfN~pUMC@h~Nqxl-26`@*S(gWknYa}20m&YL4?l%BCnn|F1cQz!je%OARFwKq+h zJ(%MQ4apZW`u;m~hD+l@Z$_^bAxZC=Ppaw7CUNCYHd@HLZDTaJs_}`cRvnJkJxV2$ zTIhx5%@Fj#`IeB|FR6wZURnvw%y*tmXs;r`B3gH31k7)q1HE4Wadpq*Jdco3b098Ptl*37y}t%sw4Qg!Z-q*kH20^j{6F(2)+#q z7H^QTf=8&ms<{8Sq1-p>q)rD4xYJM9Sj86E^4ts@DZbA$ETxgq5-QDWrTmy3u8eI? z=$-a8K8#<}1++QQ&m@_8d-RGKFCla4a-1(+Didlteq?;`kzW3fKJ7is{-wqV{XxmBiFLpu%zL`yv;ljpVj9$%;^P?B zREWN*2a3T3H-I@{yGRmNso#V(t__)*WmHwG$Rd!0jzAZ_ip#$-@?(k211J^6X9VD{ zcqJ>o@ft^t2VUuS-W2LnpFe?qL}ondjK48)2WI{vLknmI12{P0Dp2$T`$J8? z@S+2!gznwc&VWjUe2dLxLCX-a<#3yhi0fh#P#0m2j2mY0>Fq&SrogWD8|KoV?rdM* zP_#Mzfx8PriVO&PYy}& z*|U+bo*r&1A=-dus98QBZjY@(CXb5DVR0k|5`L72YwN)-f!_=+;Pwm4wZf^kx`Pmc zu(lHHBj75jgo1y+6XgpG0@Ci(J`Q_3o-qu z;I~aHxWD&KhGV$UBN4CQGd~*zea#uf3yl&`ff~>snB`%?*KFSUdJe(>Q<6-Af5GAi z!)gw<(h@H+$O4LnW>t>gGO1r?I=!ecH)wy`PV7E;b889Q1y-jf6gciv5Qk0ANy~rz~++>?WVO087$~TY}#^QahWnlS_1wInN^xBrMU=-K}=mO(AS> z_*sC8!P95I6jLPu%41Yn98-w6MvOR0oVgRauoxZjr;XR9cT#uTh2 z=%SdNVd(7F@^9`4n3o8iJlsyQ^TM8Ge=^DHz$`@z$rlF)3~UXYG$`XTpzUz<24XIe z04PPzPc3WM(9V{RxNv5u0e3}%k4{`JsKeODd>4{)!3xNqfs)jW3Kx{il|%R6L=WN<>5uKtryo@TxB(;(Xut7jMn-O|<`i=o|D$oilux*` zO!z0S{OJR+S&)Y~?&vQNG}W%zM5>ay(oiLHd1kmfN7 z(^_a>3Phgh{S`z`IT0T2cQANOWIcBOP|NPkH}A#8hyRj^ELmO!5eM* zmrv8%iZ0Ms-f+K%z8xI*Yr;)MI!vf=QUC9q>T(mNglALb))KO(JgLjS4b?*)i6OoG zAdklV`&f~h)BY5o?|f)VBv*_LL#eE?aLn7(>5=#iZmzE)2*!65)77utD9a}?An`vm zD^fu0DYpLIv0QgzNptGBoVw)xhL>%t=9d<(+=@be%vXIPbRDlb3FH9<*+IKZEUP(%6RipDTBewo~&oak0DV%HzgAk5{_f{e7OK z58FaB4tKbwaqmSO8e=Q4SvNgZ<{9R@l&9#W%oTBBYVMfl%0sWX#k&)j8(dXaBz3q-UzMM}TWkHO6*2bfChJ>~YY)<`3vN!jP z!e3z39=FO1x(A<^*@HL(*#{yK}K?a00wzIVKWAXh0-3P zk@QOUcAo(%STW~=MxqJIiuip-tW-{xn_5$7!4mVO@378`4pV0?Zil$Tedq3daQ~M{ zJ=iNk0WEjOwvSzS6SqS;a%jmhyya#m%ZqRa`&R5`W`}5RPfvdO@|T`R!Op0h&=_;9 zH63%)F`7~5k-UsG4&obgzM~%K!=Ie73|=_Q(0wz6qC*J)M{PR`RMX?M9~{m_){yWB z_q6Hsbb`wWJ&Z!qk~k^*f;WeIH8^ws-Sf{r*^8ehHaCejyfVb~cZ+L|1{O&k3g|w- zYRIH9II?-YDN_J^@n@*PXDuI8ry1V41WXRNDV(A?kD`vAh8G#PF{kdxA)g3|97ZI(~B(pPwPv7m3xaA^|?F>O=}jBHsn-HebyD8aE?=qQ2%wZc zlBKSvLJ&(_*m51YecLW{|K8Ne`uduNCv}sRGHpavF4*yx-jgpz~r0 zOKu2OCJgq~93sq#eCIzI8Cck59J=<5-pd4b(UhgWQ8T5lCz)Cz72N7VdEUs-98 zn8E2<5>2Z8`r>w}DpMW^x`s6ba{fg564B4d8vPvq?MpE3>u|bBf%r6?5s_x(!aLjE zUSy2HA4$j4Mg>2C^37|E1f9^^^tSE~)MuG1BYpuLD#q2|C%~&<+9{k1-m?gi52S@U z>~VMnCwbG5K>$UcJe@U9t+_7r4)Z(=ObjUqka^M(%)bz9lybZ)*7z9(NO{3}Yk6<&qh0c_?v$KNEaf*lLTdn~}1i5q8;b#0LW zK`F)tvfp*0!(_e{r9h;EtkJn=4J`@JpMj(yvS1il1f9FOh8K_j%FG+1(+YL(84{ww=DoIEci z@1B}zjTe5TDoLZ<|9+6m++zowIV;vJOGTt_n7deTJ@NC4>e0&PZ|o>+Cw!m(#>5O> z`j3n6Xe{SxhYL5vp4q9a;#18B=`-OZ14T`Wg{r|MXnAmsbYkJg<95t;%iwZ^H#H<2 z(;ujFQm_LHy#IIVVZ4O#RPw)-iF+Z*f8Hl~DU|m?J_(=cxfjB;;FO7GJ7s)qebZGj zRoi$oH5SS*#1%gDL!nEus2p{MKkn@d)1$^yPhAn;A(Ipj%+eJ5yXYgpsQRXuCDj5+ zYwim#2tUf0(k~W_t6O>hes|52Y;iEUQjR_0hX7tZc&g)JD>D*i%$BMJP0YI2P-#(MGZB za+6k?`I2N{POxAFV;~mDO2lDtXYo(@T?67iqUvH4$wtF0OjeMvtY8e)#^Jxy6a)gSn=>IFRX^6f9c109YtYMck%J1 zsT#lN%?+oBX_A$x+L8a8^>0nF2X0BrJ}g&G%9Q4n30#q)kX;LAAeb-Y#JKt36Yeu; z&anA8^&{&a5r+Vw6@lj<0&f_Rk^MSOrAOyHu`caGYb4IhG*TIq@BG4H_`+QDBTg6U z#zc^>P)RbRJ>y}Yh-pC@?ohD-jkUP)o$K$p8x49m3=cq;yeyAbR)Wve`(1SQffk5Y zDbx4R{E2rKty3$^egDC$FJgWWz7-Z0299X;k7@C|x{B)^F4&V^<;s2O(EW((nS`nTt(R2G6UUpW3$>HfK%_>JlEK-tAR`x8>R4_23u$WADu>NB zt$&Kfb??Po4olrm>D2fVT>()`yLO)KDmB?MbVwnIr&1W${)pts|9it{t|f1CIx3|knLqHz+Rq;{BV`>*8}9TtHI62FSy)+oe5HKT8b?L;-(mp`I<@oRMVZq-((ut``3*bq@x5v3>n>_~ft>Knw=FHQqF$$%R0y_3~fA!|Uf&OLb49u>$K6^l7V# zAe}Kwe@+Jp>UEiX+wje6XD@cWuf$N^?@8lg`=h3QG99o}j}qfJlR8npVLulX>}9VV z(O_%)L}ss$HbxAH^7p=`kEn}c6Z`wdZN+QW44pTF zkGhb+4DbjQUOAx~R=C;{*mFKHm6Do!&)QU+my5)=asbH z$>}0i;*b$+-%Pzfv9ig}FY+v3j0D?JM<6@)2e}i9zZLWB;!10ixd~63emb_l2u73u z@G4C5|KQ@L62^0Z8PhG>A+c8-C7l+%K&oV8_0mD+Z$%<|EI18WW)f1)9qN(9god2+txRcD=dkTuv~X57o% z8-YMOc+p9*c!xItoXoT)s%wM+?|O3t525{p9d%DRBaRy@E1yhqeb9O&Q7kTr&xYbo zJ*Vw+8JLhScSI;#Z-uVpn>< z_r07yrKfCo`i;w8SzTSd$L&Gi=DRMpy2+=OE;)~XHgM~ZI1^u@Hg%7bb@1Z;xyl^i zlfG-Fo`|C8Y=+uaW=F@4=7x`OCCgpBNw>0c^|a>B`UC07W0pPq)z!Vz>_pl!$!C7g zUDUH->Adl@Oz=S@>kTh4KX$fK3;y$a2lqP2W@h7mcYis7ShlwLZ2r`aPY(Ip2|q4J zisBSco$5SExdpA_RVo{0zHi02eLUdk(q={!Y`@14^&Eyv|7P?%M-~9o z%d^`pPogvIt3n$jJVdwbuglql*!mrZ3{_r6{Jn5be=jV{s01?9A+d9r;f1VQ@Zj$p zhcy;boU8S3?v5~*A?Wly-<44od#yhVS2+$%1#zo9!C(5B_o~l z-q`omQ2RZp8c#2Uu06n!B(=J!hcoBDGBC-=ml7)=|K|t$T1fWMub$Ag%<8G_ywAU9 zek998S5F20w6FIYoM`eL!yV4JA52psD8Ii(69AR93m1Lz&iLWu&rw8(w7PLivy0P@ zc`dpBTJ~i{h|rS47r;}9qGL&&xukKHR5Rs?o=x&knQlF?ep2fFGtiX~V<6`p*~sqP zhF0I6(uS@FkhMb)M(bb|JPq3{(7o4Lr+*o~G%NM!{x{1slANaVCskJQZ9iwf&exy< zBV|jzu+5>aCC2I-=O(Uflap_X($1a%6n@yg3t(Uvzwi(^AwM0n*F50vN#@8QV8bER z1fV|Fl7KD&w&7nQnLm(&8vT9__I1_!G~3Ds*Z-B3s&Fs+h+j?&e7z-Y-w!_fN0tQU3gG7IZ1<_zL6Y$ikfek+Rn4pYwj4gth z-Ik(UeVfRQL?N`Q4aoid@sz>7BRtw$CmO$uDk}uv+pM`^GHHL~cJ{gxFDtRU^bt{l8p$DDdmEjCthN#%7+l#% zfq(=v4FDF&2?K6F-3PtjiJ2!f8EzTL!rla2gM(oxwBslHK}_Lm);swkW&9O#kd}g- zHy_5-ldS&?4+!vH2qR722Lsn!vt@`lW&GkUe=kDP@o{6xgfl_KR#{#bPK z`v8z4NduEpktH@yg`{8fn&+$nSJy2}Y_Uc2C$ynTI0Lw#^07Rl;Pcg)qAeg$tKBE* z2v^GFkiMzcjlU0?EPC7r;Ox2B>Dq@3-RE~SCboSiqyUR65otOU*id{F$4dn8g$V#k zJNw3@11LAa2SCXN@Xa{?Xm&?7a_0O|ikVZJX-tQd5WyqJM zmfDbB%knM-K}$c$Ge(r&c1zg5Yu$7>sXz5-uKzPPZZlcyFq`rNH~%&E|Gf2aA0gD4 zxUJL~;s5+%^Nd}X&>jPYw1hb@Yu?{0Ki>NL&A$Ga^1^7UX1<(OEV2WoM|vFyo&{M+ ziIQ=o&SgcMy871KR!8jrN7Z=;QXT#O|9zKxU3+I=LWsynN$xeX$=;)g>=N1c5=Dw@ zuX1g&BP8SArct5nls&Td=HB1^{Jy{O{r-3Vxc|P+Iq%nVJjBetO7}e> zcomf#?d7yi#{BhQ!;DXNfCzh8;l-~3MjYnq`Ftn`B4kQbG4rk9hB6dLi8MT!7rM!f zvWxmS2gHF3?;}DJ0tHi@LnhOOWw_f6Ke}C(&Ay6DvAw$EP`PfHYGkOIO=G*=G!R=R z1)`&l?^%i-aj4<~8-@Wij-sN?Kt15mYiZOYpynp1u61+|NiTwSZVi}&tOlLrjnmS` zKry%K#%(wAbHEvNeIl=O`_2rwp4&SMANgo>Ws#yWFASBlpZuz1c=tW5Z4K9uHo3KW z@d7|;E8a=@Ta+&wi19Ea85Q6>_E1UAg=&9=P zRGiIRZSL<>IA4`Si*BNiqdCv9t2*^^K^6R2{~CV3YaxKzf38xlZX$m!8S}0PwpG$~ z%wKyeD#~R>CM+)HNO7rogbD-L!*VXbO}g#7eT2_-@sZSpz+b`-3&iS}w@}&b7=>); z;Y{}K4u2uaa7VQk@w?J`M-?)<vC`0xpS02xeGQBOl|Zzc@( zn{!Pig*zcZ7N<*>JC#2m^`mfNY7fQnQtM z!o*^}XiVg;$>Wi0dws+-()dp7;-bAWf(4<_HQIfyAG>g~NZ#-Kybe-m%gGAj8Gg(xv zAtu7|pd4I`s>7?o!0I*lB`hZ;xoRct$z^%gK$eqIj zW>L<3oxM9K`y3ts}yu~_Y zh23)^D-rkXhEpH;7z+;oE#iqVuwO~22R{6zCX;qw|gt4qPv-O!ABj2fofKy7_nKC?3dZg zX`D0MGj+>YySKW9$5vZw0u~qP&}c&I&d@KJz7gM6+pyxZTz<$7?ek!dsykg{K^Xf+E6 z;i}}DSr8HrXi~)1(#M&3Q01^AZctdnbBQzFj7J7m@<&-LubtFoV&pJMz&ZP!$-+yZvvtu?V?6S3&x{2l? zTtfir6k*kY^J$pmE|5fA@psdIWe6)tIR?E!H|!iVpOT4hX?GcWRa8-X{2J6t*-RhM!6hf?sfIp z^B!#p36#lmsmt9&7RDZ}sUr)H%0-6Hnxg$OcIqaQ_#t7_(h|mgOyqb_O_46{Bx^TS z5H~_NM!%LbL3M>r2Rq>pl0~{*8pilLj;iS>$0g|3MDkuO1yV!Xc2Kc@CQ`%nWbyw@ z{Qnt!<0T}Y7dRw@NI4-M5hyb<;Vyxc4-S;+HKwzY5vPNVj<7FI#QQ(6n;#6Z2m4RY z&Q1=(27wFKU~MSmHattYf>4^Oi+=U>(lfD0Ng{SGi{0?NH%Ow<~l5(QD9cbyew z@|bLqjz4S~2TOq#%2eBV^tW(VSLrooaQm1^1q@y00Ox~M1Q%DKQ z-OA4t=?WZw3dMnG^MaI#9>5NSm7cvt=JSo_L;L%}A}4)LeVg}I{(h}h;w3stpB*j# z`Kcr8^zy_;i4v?g^!*K#Z__RT5a+36NPCnk(X_n8s8{W-&bWD3neN=M0$;w*iby|$ ziE4_-sA6f#QR=ZwBPq?FijYp@)=GMb&ht-9UJZ!+J_8yn?9q-2t>=0skRleZF;9>{ zUsZa^WlH9^WMl`5H*=p)#>M&PK{pxdAQN;UWY8WSVpA6r$Bu}fMbZ`v0a}1!)bCme zrUwXtc_{U-1{60@laE-j79xxSS{9PYIwgK*W$wCEAANIGs-fxYlQWy+X{=58VkFdf%kf#$!ORd8l1 zAT{+M{w0T*xy50LocUs#Mj^1Ca(q2XXAkrP@Wcrhgu7YnR=}&uHQs&)v2dG$%sXy5 z5GtUJ4nK+sJZd5PxA+wXdtNV7>8*at01z$g3yJmx{EG?S`ZAc;y{((X1D&H>`q|Tu6)bLXSBDMB}|gBnkC=z zQ&e2PfCcOt8+12&j?j-`2YO8FOw?>ap1Qk=_eX3!sy!{>wy?@-erlGRLmcA$;+kq4 zS7c_z$5k-1l5)`YZTh)}eV>u{Mx0NFA320!U;qfmK`JH7qgM=Aewp|9|6E)@=r~E9 zl(Hl;JIW%DIj){MSWQmB~6VfrQM5UabH*hRmlEcaHiZ z*5|%9dXc+RFRbtB*YaO-iX0~rE2Zq33Y3qLi|9oyIG4WH-2M3niTqhFwXv5Hy zC0cxfPmebe2>dbY!(@TW5bzt%d1TKG!h;QpgxE)GCFjgH?w-6&^aR7Qqd~tn@3SSA zPRWCm0ChHSJ3gREUhLYdw&QQ>_UVz842n?~n{9l~?lQeA1Dlvd5dS*l)8})VQ~+Ky zR5012y9}f6{{{$X#7=2>FpeJci;(WFWv--ea4wp&vC5V#ss?F|Ykp7pKufD(L~qia z75v0C4D`)pNmLks;Zm00*kpmv$IH)=4Myj;$|O*|4<3NKJo`fuX82@{Hwj%CX#p4K zweDU63ceaoM8Xt#Lh>s*5Q^~BuzjX{BazvW9mv}jnV&oGd2N(9bS9my|AOwNN!4YD z+YQ$iZyM!J;rn&WQ$tE5qaneh^kbn6LlU(L%K`WWW(94&C`KEDw*K6-#K8`_ZK)rK zWbDpiDhPi;=UB+v`y@Kzn<`4Cy^&!~WSvc0XH*d2=~I=&{T87Z%qFqz_UjbrsaL>u zjM82=`_#F5PyS24w}z| z{&uENNet=OV@CyGUayhBks67>)z9C*5tH|RK@nDa3#!ABuPbMY71{m+$N5l?B|F`p z5d-EGUk2vvLBTYhqMx|bz}-=LaR=2B9;gSMG3|MI*CGg-k>KfP&4PQJoYL$-xREAv zX!%{#z=O4?-{Hf*x}Lv>pDIarI%LPFnlo2?G)|B0nh^rM72tfQcUA!-OFW7lfzz6d zh@ab}2#TJ?94K}O7jv-UOf-i%bg?gXu?rRN0}T$6Bx%Q(%Wo;%Bbw7NUobfOq}=j8 zRAaMh?@HB3&=y_4Muoa!Px8BA9pkf4ug|S87SgP-lk7EiUXjHstJ=myC8< z*_oXm@h92>ovVYR zH*d|9?W)hR+*Fo4A|e1m7CsL7t;I0!;;6Zq7!b`kFda3_PTJ2gil;Y8QuzTkcnR`y zrDs-6mlVg-fH3)U6ZMSDa_%1jg%PXn0)A79Mej{G0j|)0(u%4|Byl%f;O9zPhB{H% zlGpPFWRv4U+EDcz;#H^Pot+Y=YNf~$9A*&UO$Nppx+$GaRO7WFg`W-EaS3|(0+Fvf z6&cA#+aG5<1T)N;U!ztE`tRcUQeBnfObM z^)R~o8f!>t&-*MZ3tY`?7mff1%>g`@3(tx32Zwb!B!7F7U+iN+78*d89^Db@=0AD+5*SAKCs990bA-RW zD8@e!k#1W)mt=PMF%2Z-r&bLVZwr>~hI+d^1IaPhy+qh+ApIk^O@CpVJ|KZ>AKr4? zft|0z)mj= z{(hGfp?1ZIoueKb%gS><>e&a^-N0K@Lz$fuDm#`EU9&=*3N}_ofIt`!%C7?l`6h$Q zk-JwdzS>9=%t3m+Rsc#e3S){mg-qS++#LE2sH{QpfuR%qz9tsJ{3f8TE6!JF17ctK|*>@}lni^n|~)So1OwFh@zvP0x;;Re^lq8~3-(-uhW5tF~;Hn6+N z#ITKZr_&FDrysBpZJcT)oqgzI%2Dv-X2ky(bm|2kUqhmXB4Q~sR@fz{Gn6uK%hQAP z)2Sc&na7VNTW4yVT0`GOoMg0OH#8`RAI`{Q4Q1=QOJ*e+#@ct3@(eO0zWT`bApE8e>KTw^i&B8S+Y4RG%za^3Jreom>Z8Bm)2)n7m9JS7xk}Ar zr|&b$IYo6>yd4ZyUzFSH)1SFC+3I?z)2B$=7uvQhE<6L3Wx5xgIaz#G!DyZUplqm6 z6U9ir32|Xuqp16b(?bJB&>FL1xRp*`_ogUTi{ZgbDKKfs-Wg@TsNN?{=%7yBq#A%u zb`|7^E7{?_R}>Hz&R+r&z?uWd)!Azy&#NHEH4>`Dk8vHv$10q^3h+0ete_;{Jlk*J zB{FVN*rGIAtN>;f8Amm#T};{5qVLzvf88NgV=(Xo%Y?hjD}l&rbAOAJwXjljBb+aQ zm(z&{J)h8-d$Ew^BRPa&+I#op>VfMElx=GnCt6OHYNWN8t;(s0cd`0`+8w?A0(Fa?)9T>gv4h zlzF%oVKcbBy>hg<^wgDHAsHscAbxN6ATbsNJsHy^cy=I%AOx7oaL%=^^CmumII1)d za#A9PYJlMN%2e`qv!+3q!MD8q6;nU)>rP4$4puoC@_QLEsyN-!zE>FEm6b$^U@x|Z zv8$lO5P?e6TWVs2Z##QfBe?K)&U5W`1HGDLUgOesiRRUvAxR64Ulnahar^8;E_W4F zHgg=VKVH51gjvo7{#nT=|DF6sn0$k8*lW(s@4Wu*JTe%gE&;Sxj*$t98|2D4DBt^L zh;!REEhQ-y%fjBr2c@Z4zQ$CZL=Cp=TCJTJjb_MpZ z;*!dZP}Ewc1*j1-^33~I$>eicwZvB^Hanp~)(_V}U}vKj7vm}BEs}Kk*A)Uo%9jgk zOT;9Or4s)VB3E*sCUxxiP}b8QE$e4qI{Qobhu(H^|Igyy-#$vMJJLRW`sBa#yiKcW z61A^IE0*ExxRx4!JRGC!P%1ViPWoTHRE^jg&h>luNXBVj$=7iM{ccYUyV1M$=@Xpk zPikkT8^-fj2H}u7pKRZPPU$>|n z=ky$KtD50j+veiS^q6CDDrF1uR-=NcOS5mSuRt&=Q>-bN4}L%xq#UQk1D9%J>}zJB zNqI(h%63WIrX_Sfxq_++LbI1@D(16#!Mo5jXx*nl2d=cW=Ly7}$on1ttiF{v)nptV zzNU|%_s?C+A)HWQvj%&hgA+R9CxQHaj2MM$6nwgVv?DNOe21#Cn?snvxs7Xn?Y|F) zJlD7?(+A<=;DrE{QU|9#g}wU7`=mtE?=V*&Iz^w$?SB6X-GEyfU@g>j&*UzEvtPNb zhZMt>*2%VFdPBE^%|YhU6=OnI(CB94^XnVBaQ9!*S9jFFw^5 z>3e!rmZ?LX#_ht?%dOxzp3=>ib_o7)CM571Rxg#oK(ZC+V(&le!AxDve#vEyeBdaQ z#STVn-C49)B_$R#&e%xrn6 z$Of>(Do9+<{NqF-dIRC$De!?_Stm_CV+e^DvJ0Zt(tHMfVR3$D2RKVeF^#hjE$~f+ zAofQbn{}-$kEcQ@(|=pn$)Cc=)N)PoST`FsRGBL8o1p~= zEla_FZVtrrvax4b&0FJtf3s4Q zEYF%bSn3W=&N4~??AB=u)e{u)CZHa?DgKCdNdmSC_&T{ z7wb*inXviftrx^7ICIFwQLv4HrGbv8&A_NvlIK zPd);|>IIQ_)>GdP;X>&Axj>KB*-**r>eIoZ`=CmJw1=-E(p!KI)}4lw9MZ><9t6Ig z#HF=X|0_<6oez9e4-7g=L)2;r3FhJ)0$nk=Q1W@qC4>E%ZsIE3W!ZR&fV+0W^-t8i zPaPufxjCxD8a}azd=ClM=aC^*hl3zfKv1%-Xa&py(P6MK0u`KW4cU?|nA|@v)3yvG z)c;FABxo?px+v*}@MDz61JF>qaaP%`;*RoX0uMf>K}tMn_YS(Y%zl>rCVd=n`)SqY z+iuj(II^ik7hm9yKD*(8Mjp-H$KCyPtgn7nhoB-OHqmGN5=tmM;zbVF-~~n-F&&{d z!h{jHhkgd`p5-vPKtiCt2r@Z0Lywq)FJyvIcumO*H*{qN-mH9ok z`o$@H;{@LOfk-~Xo?-bYZ{T9W?hsXO`v zeLAs0-cJ}vWux?7&t&o=-tTs34Q(Vw?3A{Koit(nH)^oEQ@1FGThvJpTE1EIM$lNh zB1xFnnJ4M5!n4zdDdp-&MPTAgyr@)$X71Z#zk!G-tl{ZBW|WYlnM9QF&Y|5rpR>Fo zAq0#PiBP@$t1?1p(%sg_`O2E;mKF0$k!pi@TKHS#_X+{#);3pBY|bgw*|LkAP%FGP z!Gy4=ZE-f$qw?tRfObdYBQc78)aOKz zjm$p=C_q+EVHhm&kvL!ue>cv`Jh~BN_vp>|fh){grkwZBiK0t%m<=TK0sKm3qg`!g z--hYSGo7;*Z8ph0Iz|F5Ax=*3I;z*(=TviAtRFT4K5Q14Sa~4E;3CDj0JFf z&c}qKw{`JtdpP-mo9f;^bOubbQdek+zsR?2Fd`mjC(fe&wB+y#@EeYPS)3vymuC4z zK0D?z&K5(;Te_i`teos`m6?%SFwSX6a{)H2Njs$s1vZ zDXR&ZUE!wcVAlv1Fz6P@6_2imK#z#Sa8c04E88G&CExdmo)f4by56gT0`%bNPwitc zYQ>w@3=h$sxT&$eE^p`CPJE;A$Q9-}k8IH0n=B?;$>9ErkEJFj2wF_e!$B2dnkmK> z4od-sJu4k3piWMmR6551#lR@qb2d_(?bDENS;h*Z@v_` zz1akzGi{=m<0lPXn5`B0&`INbf=`>^=%EGP+6iMF%(YoDw=GKfn8g=cINp~jL>iJ` zNXf2%SjjnUjJOU=_;hZHH~o1=Ag3gDXAcUlua2~0M)~ki{eBO1;`7x_*y0lHpz1^H zIEp|cFo%&&zkYV!9gl}WkvEz*LY8sVsOJ<-79^Q_fwYS zmGsXuC0~%k^=Xl?D7ssEvU^sWd5%x#^PSOvY=FvKfexdLZsa15H_%Yymquo~_TfG_ z&n?zJ5PmQ8<$L)bnMB7aUj4_btVs5^e9$V6dSk>?UuZq&cN)@;Bzu42Emzv6==`gw z7ALjHj8x~m$VzSR)>5v^Lf44=#57J*?zsG=$Db#g|9SY)@0y1R@!*_5)MpWIW~yT#t3>&lg9a8@LB%i1{xjM7`9g8>2-BIR?ia=)Ae z^IufK-Fp}SFF;wt{?@!s2ZJ3_8knLqF(n_D%Y_GvoooOgvb%f8kWxP&fbTBmc4~E9 z;r~tp##;G2nteDQM%82lLdGk5HLQQX(cTV9V?8ilUs`gUT6( zN5SP1tDKRlPoe)p+gg-s-fu}`@M!@dbt{g)yh_Kw**S?P(IY>6L>7wZfjCG$ZH>I_ zrFMkQ8ZAPNIDrc*G}&OA={w8dowOxvdHCF3@;kq|$G#V)2_r97 z1)@QUAo8Owa5e0N(Iw=!QGIa9u?FK@?D7#bdZ!ToLTELq`@I>%`IJxznXK^H=H>|N zN+8`+hzXEGU1TabJu_IOosu_^DS74%5{FgYw0DUr!Px1njYOUppk9Vk`_u})CQ7^q z?d2(}p1tIP$3kgdU*GToQ27FYOg0*0lOBpZ-MQ8bSx>*<42s#mz8wbJ+rtAiy{}ik z*_)joyD5#j7Q*zeIYRxRxsh`!ALIV(JJ)(P=DWE-DN2^S9-Lrr8cw8#+3_zW>bCk2 z4g;hirP|JdB@!T48QG&qT3XUdzA64Yu$I(V!A}y{Xqgv3Cqx?LGI5%b_tRPD!eso` z-hQysaKUC`NZyOrS>4AaK;8}FA8v7ZN71*PoQ*(YI@vKVO27iJTZUwHS;fWqIDOr4pqb$qZH}4xq-sCK5nvrJ_ z{_*Rq(J?%)8_XiIQ$Uk6rP@FZa8-?rD+4kyv2n<@T^zZ{0#pdj=SyRh|2w(MkRjT| zbn;xT5;A4`46qXf!$9ju<(G}^!?!G=|M-qUY-^jY`L`WMAI3aKJd4unEQ#+h+b30N z!B7{0q)bmqa|*ZafV!jjV>QL+=HxfTnyrBOE9ERx`QzoDF^3lZQ(F-O`PSP5OP?cl zj+D+Gkyrap1+iyC`@c%`v6R}Q+Th^B|2EtI+h^BZOWHW?-8j8Kpq%!J9;mj>6K;h5 zBHmwWB==m;JmFQU*;lHa^nc`wof1?HpChP5tQzIr2y}OMze{^AnNBt^wR_OGbQE-3 zaC(by7d{A3?d4=4C~#!(9CQZ$mxAAsHO7Di=pt-*| z4?{)wq!0F1L!rNW-yD+XL;RxUmFdmnY1WQ26>5HG$np`ayD!c43PgkOrm&^s& z;0$q!Z)H`(p8HTcF((AUdq{|R1~dp3P3b{$M=X7NzKm&vbWsSIM?xAP+>GYHUQc3) ztck-jgB*MeW2wAO*GYODo3kR$#q|?9JN?`_xA>{$0zu~ z8wie_XHgyP8j+FR{B5Z8f4u-sS2At@z*|YoHh_P~dl@GfVR^ax2@b`8hCcrN*6wqZ zI$43EvsMO`@bvFx?hU9(k}5WJnD_AI9`uLAX`&Ag-LZ--XfD2U$0z{jSedMYx3)>S zT6#LmqE~eb&2Pv@s0FZ!bj^{kw_AFIV0C}-3AfbyM?>&)#MeWih31j%jE;{h zj-Z>_|GYjLy%YK&;?r4duZf%Ie5f~|^byy%eClm!(^!zks8%7vt%{q(D5soQLTOpC z-wbf53h|4Z| ztQ_w_k3->ardM3cwZG58iz$s>Ni#{3vd0<6ZwI}(=q$sHrXpEP*OId@q~y>YYS4e4 zqjp{}El2$UN^zo7m%GCS>?(0pG&!12mlSY6PInXE28j<iZx^^adm^rHmi_k>Lzz zekpTyyCsHxvr>_I-a1t`M>hODZj2=#?L}^kjDp#j-|gilI8efg0bB}j3@0;tc?Ry) zc%_81zD~Z~#(oUV@m|nuW@U9}s4SXr64E^P@lW5~fRUhAmn^p$z!T3A{SO60`Prk`PhK48tSAC+VI;!F>qL3Nn*KyH2cQ2X<&f?K7~MZ8BiMoCXm)$Y6yn zy%#%hg^%t}0Ie)s2E=dRUjn>{9T7$Lm=Ov<92B4F0E%KzeB4;i zs53d@111h4J$YZVFdD3uSTl1oW6+$isNJ3+E$K0IlFJV_QE@twT^$UlqD_;BsagE6 zHye&HQ{(x5?D_RGfyisR^g;)Mxl+yIHRlV6+(MM!X6%;|44r?SojT&sY@u_O#O56b z#{^6YT==0^rL>`pdn<%V!m0RptpfS>H(5m8&R>-GC z!BlM5U_OBJ|I(CNQXk;V5KaGK-`Q**k0$ND8Ywf6s6x=-bD#9FT5Kd*K$m?Z7LK4vb*c$t_?wiei~ECuAK(pY+tP7VcGwt zJ7cQO(0r{bb6#C7I!NGcWao46jhiM&1^Jb>GlBrv>snPW!b<+#nru5=7!KOrM9 z3MXs&^x#IV@n_RpE%#KmLoD|uDeKe)S!(L1i?warXaUN6=mtkq*lEO}>VHeg{O2M+ zePJIZC<;Wpu^|# zR6}M6uT%rw%gT)S2Rv!B-svhN!vmFHD5O6tGfUD$8@V$1-xtZR8PDpSB*QhFk%W9DNUve%tUFMViGqYQu=O?G+%6GD;Z8+JF4#J*liZFZgIk!?XQcy=nZB!NB~zr{VGP zLvx_@>|bTYady^44jN+{j1{kF;#OgW^sc zdZBzl%eenehUnAiodgR2fU+bn!s&2x?)40&>iz6$2XP{@AcMw^LO3|QEvA!Zn0ho&sCNqJ0=(~dEQGjvWB zj$3BCKLNaLf zOOQSG_sA(HvrEl13=-hyD604x&OAU|x6Cq6``yAA?L}rkt*m8ussiVme|_<^MdC#;!Xj0vH`R!_#zL(k|in zddGLw{8c91LD5DwBHSt!D0@rRwAH7pv6142m6HK3D&i z9s7|1^a&RL!je?F4}~v6d$U(pcBHztLvENN5dIoZ{LyUtz@UY(xai|5YA4(pk(GPt z`)|@N(c+yzU+tO2ASk5-#{+<)@3r%D?ZdqxRKdmaC#j>dixnsP+S<-Wq>Ih@x(@9S zyCfXPOfu28-cm+crn%t?h05jb9v*j#ne^hSV5P3kPHn0aei=ePzaQpGGZr;;yM%OX z3r3vSk-rWxb?l_qhR+Lb8K3pOx=z`e?82^pQe*fZ3Aj2ix)&L~MeQwbCGP4wsZeF{ z8spS%r;fAz@%5hh=Ey_x$wo`AlJD*#>Vtj#Ps1>6_uqJL6Jw=-1v=kPsbC1*f20zhPSO`dyr2cgNg`E@M7ZDzhyn z4R$xPS_$Y&E54+N!{lCa%{Arv^0#d#prZ~Z#YH|n{Znf-o|jMh8#KOg#V#2H1=h2v zom_bUrj%?AJG3c?;_9o`Gf|7?B7+qHZcv|6Wb@y{AH(%Dmed_vwFjN``!6r;qhSRW zzE|WGabj5vdACckIe#S2ULlopUG;|}!`myqr!w7u#ldM+6(8i3LN*&zxi)3kyRy`2 zm`gjYKKfheh?lNS@}<6Uj|q9(thT(rxS-tyUp9>NyW8ey2DLPyDN3!<=K`GGo&j9-L#O7@d z@@C=mQ98fSQ1tw{U5ig5lX-*<@QmA9eZ^*=*krp5;>as)PG(BRsoj%a^m?F-DF4NW!J7m>R)ja4b-k8}nRb*bhx;BS=3Z~O1(+VT@K;|()pQ4`2pTy4nx66kqUj}Y zo>||6a5R}X?|N^r-7PvPv%X! zp!%$=XUgOg(iGdEdkvv%QS+=$9vpvgyZSCPx8}TyA7VMRF{)ohgeb_i;!lAvwY!0#zaY$vqnshpFNwaP!+KX}VawbenO`utSNIOh6W|cE zgj{9gj(V@>6mx0W+WO8I-RgZ6fhE-tT2o<+w{x|#U=voUC|M|&LIv-pCYUoYgK17% z96nQhtw(J`*H%oT75JaAk=Gfwt{#7IRUv;Mke8Yx-%Wa-jdUD09uHYLorO^otpoor z(Q14L_GGhx@U?>RgzrC!8D)w>{!TpnJ0jD*up;+pqdnm0%lydX;kQbw$&=~5%8@^> zn0$}I9&NO=LZPaWGktll-Vgk=p$cS25-ot)5M=wW8u;@-)<%~#6DPfnv~vZW?HGs^ zhn*Wh2;;`*mpUbJiom@Vb07u*zM6hDsg0nG`#g7s>@rFMw%Ta-N%BfOXT>U z%!N9mf!mOb?K%xfz%@NZnmZW(pz^Wfhx^$V|HWrQd3CRJ{04`Vk7%-xJ`5tM#*K)b zSb_|K*8X_t88b1k3qE?h7Bt%w1MxkGY@SpHcE=Owh{VxW23Ha%7!!j_b(lJua8R+r zITOnaox`TP=tozZ^Oi|_p7Wgg>fp?XX6t{28P5SRM}zt0_t*TR95MrwtbVhOC!b3I zoC~XI106X*B4)`?tyDSQ!4FesWcn|e#>jR$7XTzSQfKI*Fs(hO*kR7hfE>;cWp*Qf z5ag;bcWsUeLo%VQBfl;_MazAG<244Srbmw4^kl#~Ys{ve`8;^r^DFWah^tA~{I0qt z-yrD`cQp`;R#5n7ZHem;y`=LYC=}D7J3;Ho+ljKS11)5-Jn4~1 zjsjX7YE4YJ^Rq+bjLW*##1(4dmkm}^BRv#!uB8DQq|!3j@_%1RgXHW(avob?UI1D? zs$pHYk7B!c@U>@f<%#Yq7$d^K5#w0Czs_sOpff2fr;}qyO%K|=;gcfsjjq#;Ey#@q z_{|HM^d8{a-sQ@h3kN;IHG)sl3~@eRE9fqMgu5}B96G86M2YQR>Aop(tKu>+uNHqs zs%J*gBZu~N8K~5srzvVFkuZl}*0?`{9FON|HqSi(FGuf#NFA{(+Xv6m>`8VmVGPuE z?bjFi@OUC~%7t$9M6el<^_?Hj?fOr#F(fCe4=4h+XUs8S*1{`g#sK!0k6x;4WNn@b z+nHzsrvrmh7PI#~9J$#J7mFlZC9nbU-wH>KlTV)Z8-8n=YB01E7&0yF#e8u75PL;* zG0>xs(Sz`VZzzPBJuqSNuh_ga>D7tbMQYH~^X^bExDOBO+WEog@&Ttv2)n@+E=6OT zknibyJE^%NTA^RTF*VW{lfOQD|3$1&lk25HFu6lC=GJgD4->IS{iiolo3qQ8Inl-i z2SgyAa+ZKnBh}BmQ;dy}O|V$0rs|b)Tl3VYF@Te~G{L6NC(z;`=K2*2(LH9$rwZYd zosGzY@%7cQc?-R;E(=RGx?rQ?J0F^ zJwBLdeemx7Yz}dc8c|u?e@b3&Zza!-nW0TDk>Ya=`i_4-oVoBbE7DWxMU^Nj&xpT! z@IK!jE$xu*FJlln*wT#w<)RvRFKySwR8YCnut~6D{vFVy5b9aYu6&`prEN}EyV@yy zwT21wpnz-~_%P*k<&Bsh6QBTMm*eLI<#)>p`9r&C*?Fee#xREtoBdQ@OQC!FN=apv zZ52VcuxBnQ9M?;zyy72gKPf$O@unG&?;s6omF}kawoaNb{8MUeA77K1qja)TbE++W zccfjS#A!@u-<<`}G5*ou%SVl_@o~hg9)!2-f1CeRfXR|s@KtkjKAcf+6KQoGerFp0 zk2B`0f@Mljl)C3Cd$c=AFa-kizEu|e;&|^cuMOuN`qs3|YlE)({Jq&&9WK_>28H`t zm%^gd!ED3n{ut6*R|;+^IviAb>Ukb;Hq$6qfv4{3=g1_`jI;H7s9}X=>$p*0%1VSqlL3SWDKY>q%7*R{ zU!cU&bW#Xy?ckdK zam#!85^Z=^`NgXKLBUejXXlj)9NfZ(jlbUMb9a}#&hApG9c=n0=c{X>buRM9xwet# z1~YqU5u&oabAqCfP9E2d@XSAx)Gy;#OnKPKE;@3g;ZH?}N7bjB)hxLwXCvD)D~dgj zoI-fO#R|7moQ88&m2CAbK+2}aihl_|f&TIib`B7VJRe~y;>{r_@%=Wc5IxX&sqYm9cnwGFQ&Wx3p}ww%9=k2m zrA1pVEm^G_r>%YmR+pT}2_qfky@Htyv#>__wz~hZ2@7rkJ5hmxdpSC5x2>)?(1y;jQxAx1@cvMnAJnr@&lx_WiiL{0REN0(r@I8cZ^Xp?i{5tOohnww;= zI|`g!)pvO54qu)q<|K9I6*m!~>Ovpf*Rzxp5GKx?^$)#J&XUqjEfQcTO1D3=?G?|B zC|yjVVF$=A_+56Pe8?SP-F^Sp74+OhEy~ zP?CVZni+Nb4LN35b$XYu_%O>3t?^FqqDeWQ5fB7JXZADAmgfGZ;b?}nUx40J)9FASlL@r`AwAm^g* zUG@D$QwR}sqY1^y9DtXaS{*?LS`SC+ z@AsKHZHL3^BSGPW4ujprmp!Tx37C=iN4b&sFIjVqS z1Qzi0IA33l+k$Op6(O#Lwc`O3kA)c(maNE_k~P#tdz(eL7ZS9S3u5#Lx-W@sQsuy@%e+BYbGm) z3R@eMrfX1bg4-7$w51^|c0P(x+8#-d8e<=&k3oULn2Gd~()S&nKxeuQ zfC802@-h(cTjno5`*R7<6VE3{f>yhZFN&SephR{3T5bPs6?`>=5We-@X{T@cNs4zFomV;XX3rKKH_YSa zE+V?A27F&M){n1PUw*$BSb;Rgw0+fQB0X8{H+N_P+EpdM_P~_ox&@c{Uc5Kf3ayhn-#%z0ZEgIpcPi3v ziUGA8#%P4ko0(mmSoE4@oZX1axd)xD{x411Xae0 z&?kA^^QLS={Sz=N6WgB$c)emN*2wXEnrv$PhzlZTdX3yHK3FF|7sdCt~aKkM`K!3y~1L5zo60S0mY6LAo zyn%90!%xDpM8lI4()1m*+4$pQb-VIyNvY<}RXGfPp`AmdRh+ZEhxW4ew>l1*;GD9> z{QWZSa}*LJtghG{x&;D`^t$e*!N|V^@B+FqggKU%-slQ2Xj62LCF)k$J3I=VJp=m+ z=@U+Lm5Q>yNisQvtzC;OX6e_}qQyABb7MmPi@b7qx+f#WHLD# z?&ikzL6kGR;$MqBr`UiBC*~nk!?`N5pMw#^Kyul$@qP#kJ66BC8+Q6c@jtiUZ?7S5 zSQMq3jev$BD?vpE)!{Z5A%>@b4>xQdzbO)CYf7>*I<})Qty|bI3*3n+(CcyR;5Ije zp+x{=@cNzYK^fVfaBz3)^hucWm0g3s<AuFK_-bo76wW?uOK z-qvLSvO&~zfb{*KqTI}W?HG>t?txmPtZrQZJfs>iS@XChyg zh^K14woU7icFTL2{FG=q;%Jn5DRYZUTjpu>rh9rv&s{}(QtWIjQQaO0NjlvmUT~Bp zM=sewL&5hDn>V21Ea0Kc^51SN1S5)c@ zW>IU|bz{yvuVwulc@fe7s^7TSbv9O(rTh-)`16bcSX7cJwHcZF2{e354Oilu_Sk!@ z{^3uLT&WAPVITZ$AfT>8l^P>kF%7NfruGdOO11A{XVA{y-63cCLOXq3r;C2??Bn(S z=D7UVf_bCP9Tu@|7cqy5Je)etdfuM6PI0XBIXxM+`~%ezICmy;yX`^b!j~}`BchM? zN7MnF%V4@(($KiaAh;yzixylHE8vwh_aBEV$nQ|wWvntY^ezE--Ty?e<+bB)1Y(u8CPTFM)B;YVT$gy(iQ5_|Q1 zG0Bw3=NdPZZGCvHk1l!-r+LpbnNw^`@S1f|&IN^!B508*c$x!)mS$~ zY3AV_wPJ`Wg^%B468~^<)ti1l(1>>KzI1ndJ$m2Fg>ww&0m9L$Oe2EWiiJn z{!=L1ojzMkxWm!|#iY1>Eu_8LsFr`V=7`VtPBi*#2sEo0l>#PvnI?|E@zy6q5}=b# zdTY?C$fgYfgs;7QJ+`NdZQx2!p2a&m^lrvwEYX}VYNc+EZ^1wgY{1>VM8D0`doFbj z^oGR}phpNxMR*THNV37lWkCIwX!t?OJ@Y{kw$u~AwTi{`Is~a{CG81QN8FM58|9?f z*Bh{u$i2|xP;-tb8<=hK{>+$%leEhR%?GdhBgClbA3*1DW$-2!K5)^;AlA+9<>`0t zw#+C*?%t){#RQL5lV|EiU{l)r#&;kx@V>A+=vWSp#IqbML;&}~cbbev);H2GSfr~v ze+76vga00mSrVNc1s5|)h#!W4L*ZqUWL)A>`|qcDR}CVh6C?BYcm&KvQYa~*Z<=_# z%-TnPM3c^O$+)UoLoY7X|ML?}+p4?mt!lVw+>dE~x&(9D_%55f19z&Hp#HV5z0y9W zKQiIWx6~3o#u`oP9`S~ozPT{e^Ia*p1Cqp2CVm|MD28h~qfx6C*31Fsx|!)gABNRXHvjLmiCm zuOCrjAdF2?ZjSnSlSr`=hM(KeYfNHlqbyl8XPzJZt;4iHfRVm{OE7A!E+o>}Hec-OWhB>DSt(H{3sa zTz~)Ab6(A|HM5J+rZzY<4!Ez@Eyp`r@D)|$*f~u5^eERj`Sb?hH2f1oQD>y3)pnM2wriFF&Ffba3kLqwml@%Hh>E5M|Ke z&zK5+>iH!}(4K=rlxGt)U5lK5d<&*k?ycLzz*!J`HaB@#3>U%`Si!l$9T3PQfqjl+T{A>`SrSlw;g~VKGN^jvA555@xp3l+IiK=o#m3%+&UXn4 z(CvYTr#lYQOp#;_7J%y(!2}<%!W47xT0j!!wYhoML7uzy38)ly6+xF|fv?DDPq@4- z#6xmcJC;Z4{8_Z+&|5yHlwdjhOrQE3fOSUgMk@bsXE8nF^78!lh2;HbS3{#W;O&rU zrV8~N{tA3Ra=lvqQaTFf3ML9_>#QfqZvPHi$~^yG6*hv&dvxw~QBrX_TFraQw*j!m zZP^#Bu=Ybrw05ouFU=d2>GK~*sA}R)6CFpO*|(5MQF$)hG>4iX5p6N*kS@(&>7Z1; zr|`)A77LDw6AF)Ak~*loqx3;V1XiOp#&z;`&zG+`moc$i{w8wLV91dO+a=8oKD>I& z3u{;x$ozJ32UHf;LDl(*_u?&Khc4SX)b@|lx_yu8CPNrfj^@CLAA%|qt7CN&k3Q{F8G+Z-&T0vU zvZI=|Gy6ThM?a#pi!qrxPZcl?znIy0NB!ShMo7#{A{GTYvOe|l(s@V`Z?*uT4v7^% z%>UlajbjvH+aG!UjMUAJN;YKnw_CyxS>5MhQL;~+^qX1H;@#go+>-c;kMxCzx@Nz8nhtKk$43JX)TE;|2BOB|C9H7O3m#x_ zAPf2{cjYC_{`0v8Uo}t2Lit^f7WdXR>q@5VKQ?XL$dD;MoQEr3dlBeP{<2U~_vn~l z$523FKc<38QQTp(lv3k|xK;ZF_0A)8`H+-8h~IZht&Ti+lx$!DTwsJ5n$5$D3jXyL ziu{EZ)V`YaNCJYjA=rODL@Xq9s^U=7WmM8fwrgM0?Ac_?GP#w`=fC5OsOk#SZ2e_Kdc5cy_-Qt)kJsB!j3*%Gfczr zL`DO8V8u?(F1$eRi++sSJb;Btp6qceLAY8bEVxkEg=5vzJ1^aRw};o+n7NQ?*MZWC z1VU1oUiIssac+M$hXGgiKOZD{{j>VEuQjXGvwtK15;8wzE2eFRL!`{DHP$7XBhl^B zDT~Ij$n%g&-b&8%5OY2PCtd)|aLL6L!GV3Ft&Dw_T7V0#?_mE3fPzTIG&8>ItHuQ# zLsui{k1H|2yPAi7n5z4%`K&xQT^Ezrd%iPalhv#I#fObj4J?Jke|o(qoq|7d__sUD zYyIteN6HH$Qb*#O52!p-hPLugK+m?l0R@p48aDrpMJJZ`!rf%vbE@k}xG(1NI-*%$ zEbM_1;eu#GM9R38sU(s88b>Bni6?-pnRqL!3txY{Q;1wd^jqQ3+##A-Vy`hwTQ&V# zQl==RHzjVz+@B8P`#h}!-4f=|2gg6jmyHfHV*ARLOQl?K$GT-i9l;~8wKGu zz_2JQFvwStTcoW--f0Y;Znl$rGpOo6c_w$u$%_BzcjbpSHvaQ}XDQkDxJ`kcLE2WM z_o$#W>(|#OsFkFxK}XsWW&Kcas9eZrvgyzIWaHfWWb=$r68pwV=6`gsJwLBfM;L)d z+Msu@@TTIDpu$&S_SbNPFZy@#uq?Nu|07=A57;`#hc7PlP%dki5nPktCE(;(53O$V zpZJ}eY$XVXD+%KF+P~&?-ZO_7suEL!#oJ$5&cN!rvzf|ILN1ujZMXh}-Ti(mIUk-0G^{|4R_d+;Wo1!}q`{T3KH7%|!1oV=em-b0 zJX}`^ZEluBys|xT5-o#`k^@^4Zqf}(juoSR9!iu02=HD$ z$u?!iD%A9-Y_vz5R!tDA7$Y=`K9YdB5Uo?(K#o-~@V&=X`S14bU(UT`dfdJjeB$hf zN4?KxJ|=cxg<~#$Xkwf6kkpecN+z~F6NfUZMn8+X^{tP*p#QDsa|!l=FuqPZjVz{V zG6jo1o2Y_T0HaNQu^-C}Fc^r=W&<_-yA35dXI>4?QZ6E1lBTLSmiWou58?)sdoOF) zx`U1-q zObMJ1u8l6w$}B1VGTN_=tFK+VFaJq37)ayg(0AoaK#u+j3L~oGnqTg(J4d_^TgVBd z{V|)z%v5IlUsK_ew$oNk;EI-`r76nsLd4#`G2iAtc^bis71tZaT^hD(N%wX&0;xv~ z+|Zz0y-bO$5HQkCOR$;5&SHF()Bt zqC$-d1Y$t8Ox-BL8?9Pq=L#?oo+Qmo27^=|a-mKeFIj-GOdAp4>;<>tCU^&^`pGqC z{E}$q?A`O6LA3~VdnV!CJn|*jN+&%cyElcgpw%#WEX--m1y}63&`cswPy?`%O)Eo} zf6F+|N-4|&dz#T7#6{P?3R!skC)1p65uS78bFcUSJm){1tN2)s(NHZ?cO+*A7@A@8 zS|1e5p!<BwJX)2t zQnApJkExx?$idbohDt3}u(eT0kjE9YnD&+PQiTUTG}jCi>Hcn7RhY{Ng@KBJ@XY~+r?Bkdm_BW)=^tyz#T%X8ly3=`6~^K~OFscK6n(>~*4Kl6f%*kxBy zbB1zT57kc{cHaN1{Ju;f`KwFFYK;qpm;PMn|8gJwr$gbleN-O(u;;ki&iPOy(tm4s zs{USC3NJ#%^r1w+urQa^J>-LE(}dLYWW-g_U;I|gX&|}Uf~nGUrTXNwFON#&M+B4g zR2V@22vhVZ(@oTxX|NOA^$EV<_ znjE_)gWWQq|#0 zXhmlWa)FiS>?$t*4uOGRJ&Ou(&jgZp?mD<6Go!CG#coJ(MlVF8ac?-E;negxygdqOTqp?HXz&Nanau=rZYa~ zDPqKENI~TW#sxUBeaM%a-Xfpr#lzikOQ2s|V>*XLr@4J6yT+QGeGdYYze{aq=2$UzT|z3!Y6nvxl}fq9={)!O7a+xoRB{d!LOZ@r$W zciIbLp(+T?uP;|2+6rI(633HbE`TByXnok7_RS zR!I!UxKtejM`ttQQs1LN)(aAIQKnxWNxwd;Znpo))0Q>6Tc&5G^8#?uk%e@;3wSZM zK`1!6(AT}@mQl|`r}!OBDA?acG!4&-*lQ9wlg-6t$u1cXH6yz1I%q$am&#Yg*YON} zNdJ{(=2UVf<4Lriyg)3hwhP(Y@A5jbdN7(LF_-qu$csfxCjS_pf3%vg zNV~+0j?IulrG-Xt(E7LK3ew&b{XR{UBlOJw>+Sz0Qc`TIW$J@ zY|#F!s!TF!WXt$eeaOUrfjI}g1LH3#q63`(FB?+`=3f)@xA&Z#xXjm(?f#F(X?cgUIyLf_T zhn`*@%G?5l{RSg5W@44i-~KzLX(KnE&Zs5{;z=PjH(M0!vKTY2d7Nw1GS ze(&6KBOE8f@7^B;;JAvV$P^nDHO49n3MJWRCF80m8ggnldiim+fGp^Jff@$$uDtib zcC1bsQFnWkyQQH>-U8C!-vq+T?ZgA0t8P}A$_Z6%|3yowRfQBzgLr2sLow>c#r*xy z9Dz2)&k}HgEX-#;lY9b!bp}QC(@$AoZ@UN+70_Ap4O>uIsQGS${6ZK`6rQhx76Z1z zyYA za)f!~mI@XV2aaJ6`^^^pMjw_F5rxvoJDTJiagY)xmj7jb&e#W}wcFeK5r%*$MA|On zU{X)ge04~)T4f6xsmAdaTXoR*5s3|M6Ncx*{XRNbi)%2?vYZ||lj37siLo8toDiGK zv8taa{T-9piQ(C}6|F(cu;onRU_WHi=igL4my>XYXMWRlMck?;oe=f<$e5xo5(stV zdHqt-GTO+{p4ma+-TjabZkPaf>j`ay_nSo1=$J^*n!Q?zkwNE?7Dq*=hQ>aa3{5DJ zUoZHMs_fC6{ifp5oP3z*ACe?mU1)IbMq`8f>H&{xHc-;oZf0YCUpg{;IrdpnnxWpV;acNIBh& zWxywI^m+4xVH2w2zX%}x(~5ew4lSmSVaJ4+nT*;iioZKw`N_f_D&?{c)UMuU*?2zJ zSJ5*Bg&irmjKzN zMvVQwSUKWj&Tn|9vhcj$gR4SOj^7tr9Pe)p)-ouNS@PcnW5bIL9PwAJM$kWOfn0KN z^gKW_d7o)5!%i|ki<*4s!C?P;#O~hdDw_wg=I>H1{rNAZ#hFW;T|M#V&1w>*TYICA zZYKG*STRTlNM8#S{)ZX>b`xG5^IX0SjPo)XQX5>X!k&N`7z;amr@Vh~vrvM9!DC-q zxU7V=D0u0@63ecGJtXR(k4h{QxNh@o_)I?Zo?-Ka!<_>DUS&5fZT_0{VGh|KPCs_E z9Sv{D*PVuJu$+zIFp7PB$AfUZyeZ-d-P1t}iEK2=FYrFkY;T5*ve-dwt^GpggpP8Sz z;aK%O>CziLu|W^+L$MfKWioL@G^Jixsr zif81f?H5lX38hNE#e~Rm4UzD^yVBw_ji~dG=a4^-qo7HnQQxCV?xe|}9{|6@Mi376 z9MXndh3l6&R&^eV!@2iv>5|(Q42=>93eo#QdN7JjGujq1R_FbW0?>!wddBUNy?|_E zIMn#q*Rl45g_aPcr=sVqq0wZXCVQV=8-0_gMcC;p*74t$EEBC-D=1{bYl` zIF!bd{CxKO7rkj22q+m1C(zM&?hDC!DF*phRC%vl5IdV3$ME_~CK;$NtOPGjgbIa} zmMEDi^)yQvncviz9jR$iIM7(Pa}=zSHGHghCTaQ2uZaPh_qNS8P7{nrJ;I>aj`v%( zb6h6rN@3LXL0Z*XfJ&4PcmmppxX-gF-fK$CBIn%$@2^kM52-d7>OZq%hJGT`h1zUj zmisYLNPR1#;<~?G#q~WE-|?M54vyoAQ0CPyah&6C4LDt-Kv#eE9NVvdW%$ERe*6{O zv;Q_q2SE(O)5x6t9K_MmGrJMR;E&e39@G&@01e^xgl+ya=zaM_1q?vU({ zp3GPqTo=#*mVSM}obw}R={1mMYapq(4itD%&^#STvN-ZA(;i}6YY23JN}zReVgM+5d7!Nf4WtXkBIOxIUay7i%&Z^z+Kdfp4D^qK z*Ru5pLnswCj4v}k)vkXHFW2wX7)4#l z>|+yMY}UB(>I~jZcKXY^%jR|L!g%lk-jf`(R+U=Tczm3Gim>o0b-GD?%#Pl%0qITi{Dk+MwqU!O$OHWnm4;N5X8bro$t9xeKq8 zlkp4MTM_+0O!w;`Lj0F1X4ikikuLq1u`Af+W{5#0Ktq z8+IaCMo<=3qkL2~_|kg9k^=h5g#F?^r93;TJ=EX-2Zc&-=#VE%eFfFsd0ddtIg|ej z;)m!!?TAKBinc?i%^o6_gyBGFB6`)u)zuvJ8XpD7Smbmt=)rbR^0blh9|_;jn0>;_ zE%Y32L@78=4V6%=>V>iP5rJci+X2eEp67c#gyNFUxSuH^?5m`s6rqcp7A83M-X?Ps zuce!i2|5z#i$o2ZE8?Ybw{Nke z2g^&SFv{2zt>-{+w>^rEV)$bNODW@wvxilQ%Bw{%KzSJNp4fAdz&M#{R)C9s0`Qg-HJ}ZDl;> z_4$pag%B3Ridqd!7eZ;j98YC@ajv)ldrLq}{*5qj$2+@QoZxCP-17bmxgUZAg0-h= zmD{huDtRSm6->iYMS5(IL{LOjC?hwy*LbU9Oll)Batj9KVIIMm!YJv{<8!X;=*-f(s?6TdmTu{0gi%4=og zH&yqy566EjbTQqQ_+5-LPE*|caa)^jxWy{#M^XOR@vRCL<$?Mnpn_d_E5wGmYPX=3 z;TqvS=55emIM7SGlPDgeeXNVOnz0;-1_HoUOU>G6O&bV)&u$!pXBq!lkfNW)= z*~AGY=g4T#S(l+6J(flP&P}IN#|Pp+>WG)GbeHvUCN?OKiFH)#F}-9`l*z*g`cbAe zc_kM<@B^1*U^7ay{Dw(Utxx>=gg}K}H0FDPcV~L$fJj55C6nMt;$z-4`1)BSv#U67 zm)Z0==^-o>NDM8KeWc%cI3HILx9c;^7HC>Stp7n+_^%oqpvIUhqG)0OrsE-^hi!ik9u4YLQf(Er}|%`2VLsnoU8S z=^o1&k%uSfaXpcH0ho~E4U14ezjmi)|4x_Yun{Lx#M|a@KSo^UTLZIE53}6*w+lVv zzkWT%U^D_eJQj{0t=@(&vcH*N1Uf-bzgftbp-pUGgl7$$COVrKS-Xn5*P?%vStPA^ zqdJcuNEpS;T5?{KJCoI@3!w11y{FO1__8y}ktNIw7S&=>k<2$WC}*4MAf!C6W`1|> zD2Ca=9WS;}p~U_q%sfXJ2cVyuO++utVt=}h14{2Td9J-VM^>8Y@@&yJ+Yi(rvo&UA;pM8_Vdw$xQb=vwm9Lq4%Z6OR*O5YtwUqBb6*QlF7|FJnZq1@CP+A*t zMVag`$Bp;G{|j4^NGZ;{+IDp>=FhNMDM!4iuq)P4gk<{#L`3v5Hm8=$1@{3g*l&cG z@~lVMQ5WCB=@`h$0lf%m9C4kQP%-xv43ckWA&&V|7`bxFYe)bIQJxyNq&vE9BcbDU zU}j+#?#_Q_9FKX)@@BQNKnn{o%N?S8a0E0x$03V_rCLH(<4>Z8KMd?13K6}rlLE}v zu*^?y{+=$4P_Toep22_Cr3yrEe*t43g2bYQ)D98AJ<)T(Me(^fS+cFRK1etgyfV(D z+TwZu-q<=^2<|>qRFML~^S+AXKVqO<&t7ztG8Xd8QqcOVLSl6Fz$(#`iy2KWE#XQ! zl|PiHBAANKqAfdVB2d>eNHX)r%&Cg|q>IqSw>QTs^6VKXdT@B+tg}5x?DX5bz=EOweeM;+sGyRl_Z;XGINe$( zJ=SdN^!Z-~)Q;UW@kArUGMAj#;7RUf4gEdQ=0eLYdELq?<8>_ zWHsI?xLjl)CwL&7SmwF0VjP8ikQ+6H{yemQtNnozv;BQ9N3$ag?sQMnl?7An3hT%@ zHa20E>pDjmq6;+IO?;&qxKA%Rb5ZXbvKQ44V@wh~vAuh_<3Q&&j0QW}4X|SP2XG6E zg5Xnf0iaebrKs$;LXTp(Yp=H})4wxUah(^1Y9^!bV3DE%c#>Ehcx)h;KCaMqfzC{# zf1-VErbHevpsloKs>`)?YR@WZO*8PnucM5T_+Q8G7DzWZ~QpHi9~X zxm)4XytmbCyx!0~B;RapOrFr8FaFWlpJm|Tc8-hH)HLsTG+)rJ8Qm6Y8Er{qhM;yS zn$M0j*WS%nvwMTUb6(ps!+MtRe7Qf7S9t3f6Id&I=j+H9Q{N8OO>B09OZpK8L1CXqvCO29 z+~V_QK$))PRe?*6*R3GHi&SFS?0Q?`=8vmw9Nf6eIY%S+*Z7||^c`Q>mq7aIDU%-lJyg znZED8#*ep5AI@E~JjDQ+a1lJxq^Hpjs+#_uEK&b>WYBj6>aG3k@x_HZ72be95;Z*3 zvwm`ETFLzG)dI4{SEOY`ExmXY{;bMN2L9;TAgq`vtS#N?D?{d5*76F}Z%tk;7E0B_ z-iQzp8eWPcU=v*aDTnyXz7|&_lSAy46DopF58J#j>?jjAA4tF6_Moh<0-fe^1AlO2 z+UD}%$3lxtD>Wz_O&Qt^vr*0+y~MrtKH43y0s%XZS-QnUA<205aGh(pB`ZN?t5(z+ z;lWkH&!MFZ0|8ESnz~c&J=W2Way8BF4QE`*lL{y}RP+y8v+_{)+`2(aTI*n z%QB}EdogajlBwqCVXVppER{%T3aP*QSQNI0xId(0c2YzrSV}B)14V9x<8kNkKrfSv zDqL>b1>IyB8ck*Et+qelFz~-?kG6bmOXV`neJ*$9HEc z^iu^anJAE112qB8iQCt$QkD+Kd%eurC(J8qo+W zrwkgHp8p_j?LQm9|8?T-^BiQD;(QU)3-rZ|$bTnDN4pgtdvY}&>~nGku9GO`qRU6Ny=HAzDmgzj(((UpuDK$v$x~UB$j`{6aD8%{ z_ka)*3=)P8I+7-Cg09tNJ(nv1MMYMDE4h0WD?i&}=NXwQC$?i!CZ>FJm*>T zc{+>R+3_qyk;6BhlR+`H3JU*vOM*ahsiL3x9P&LnPbxH;jj5mai0$7^sFfD7pazh9 zVTP?C54qHX^_bgZ!U%kLhEP9u=&UEFo83pZUyC2K^|6Y`ErTa6a>j<8Oj+zLcMbQ4 zRs~#UlaCx7fvm8oTlwSt<5K_f+7R12-94O(%(FMyC2Ob?zI{my`MC7cGt>B7u-!q)FkFM}xG`5w=>U6%uOs>E?Xps74EcT5{WXYhOA>1g+pC+=+b5-f)O8s+vr-yS zk*N3i31UQgsqxI~OSf-JDF$O^fdKte02dLb$Hi9BY_@nVAmWQ{4A>s%62b2F*KfXj zWetBdx*1T4iq}TVuqJ%pc3R&l^D^ZQhwI8?7GmqX+jS&{{K1`BVNhr za5TQ4xr?GNz0<5|d@%Eh0RX;R(L$%KEu|TMa;)>M4dh(=xWA4H@dxE%!dJ`^@*M<&3lY8R4U!_r%60fe@+?N%zdPNzCW^yP=v#-s9#DU=aLX(r+zpYh>Uep3 z3A{AY0Ghh2JTza|0*AC48e zR}3W-lRTLX34T_rhEAucJ6;*AVH?S9-BUlsPxe}0Tg+9?!=t5Z9?vlFtP=mp&T;)) zyz%zDU+pWIUf(MNQ|_xn?`>E+TzqXr7YE16J`Fnu`2!{(;u6+|MH}29P3}Q+Di1Rc z4zrAV)W$CvXI4s+EEY;U^hRft4#JL;B`|+O>%_cNaq|K#vM$@($iehsmKE zGO{4`y7=3-e(b$kjVSO`Yu$Ruo?#DUIh^VMRgP6o)WwJD7vY4z>9cIUY3L%EIT59y z-rGOJ8BKl*!wrq>J8)P7bb%hutjJlqo2Msx@{tZtRMdlfs;ym-v~KO5*Z$lu!wTo_M9wtv?t&qnSl0-v(Z+iGy z3Wx>N`imEUcM?z8g(<+8_FuCB_OKuyqj`s0dWdO~W#uiIG@$C(L@>-nhhMVdjlY{I z6%`c~ssxMx$Jy;8l4$duW`B8eK}l$34R4qy*jRc=z0YT0TG-e?82cPQ%HWUMoNJ%U z-?{}-RHgb2^?U7uKDe_IMCKBssUO`k)=>p4QuL;)aiR9A3!Uq)Y{cGdy?*N2YcSvA z0j7y?Jt^6FZrQxwkr314(v_mi!WH_{XyAlVCvig)TV2HlZEL8g^ggjMf3E0RV!MK| zDKG|j{D6|3z(w)6FDjghZRNPFAPUP^jynq2p zOsYV3O6(bq-7xKk&vwk!z;bLl*660(;<$JxQXp;Shx@eML`qkW_AnJt<* z1giX>)6M@ZZjpV^J#yZ4Jay>$x>ersfd^?bUS%wfQ>cDcuKF84h5~rJ%q^VBp~ zr&)a1KYpLMZvYI~gD{8#OpN`*=9_?0S+gte?6%bMYM!#u?ka!q((4{=-HXm1O59*c zl!##AQWRD|VbArKYk&vo#f)_4Hn1_4N z+SGBAv&nk{x&l>y9=&mytnM75JigVyI=<`==i&t=m#64N1bC{90sp9%0r_%_a5X4!;#7OE=)8;4=UM#>`jnH z2iUv2#uTfT3J~Hkpr|f($qw0$G&w?=o*=$q?o28Y(s9(uZH~-Srgf~jU8#JAd7qdn zfUOD@WwKT+8e1uv*C|irCW`q2I7i-uHjp*U{mS$*VYX*enDIuA&z`8Q~^MryS#9j^=*}w?&M~uk*OHbdK#7dyeu;IsNmk5d6|&dks9PP zbV7^i;=y01M^&J8HNdHFzi=+}i6)if!-I@QCQ=g|Z|fLp52TWA2*;Itt~S!JR%yZ% zHTrsG0>dKT#c>f4qGB$VMkJmM_)dz zQl{u-dtC*_YkOsaYipmq1A~GV^VCCT8F=6MgoMQ7kxnU7PR!)A1cAm&}jDGMGK50H}D>f$jht8?ZD z&%uD3e98O{;L|Nz=dIW8eCc?|5qY5&Xgw6aW#&op0#!?$0{PTj@8GW-Egko49<*1aNJX)zH+9&khpH8Mqzt3muSZ!ihOF=#@*@uVz^Myztr5I&~ z7Hu0n`RePaSesaholTkPxjql?$jx-S*!S>{I?ohHjlg^5Uxq`~*-TMX_Z$|bl+n9c zIRf{vl_-1;5d-qFvNW{E;`3^E_z&VnwOt{&GgwY3EW7X+jg3$Lvn|RJ?X>_}>0*Jm zC%wRUZ4LazzQuc;?ozEv?Q`lViBCpqdBx)vV2tzSz8;3f;;)2b9vLq;%<_Uwb`Y_E|-~vnjZjy~E-5b;D9l&HJ9zR(=6)PuKQTUMI)h z*XLP-paB6V?sG>ZTC6Q9Y1KlYh}Vy2MK@l) zvIJbjoDdxu(ox-CYIz>UWjn%|Z&0$2xY{;90fX{YyJM_Qt=<~T=eiNb@= zit4pV8qS_H&!4~i**6YuP2jpY@7(A~tOA+zp?;2R2{L5UgGhhT%F7!e#fRY?1q=tl z!K2mZrfO#rj#roM8_WRDewVHh01m zZ_@>Z31Ts9O!x|MuqzF?vIUmq3(J$LBwgPP6hZC@ejPUmE**2ttYPQ1ul;hDqh1o8 zWwjnEPX81=!7Cn@>U?LJ!&g2_$$Qq~#PHTnt|MxPkisv_XIY57m^h23etQ!YA+GoFh8G5be?N z?fQLXi1Oaq2hYJr-WCp9BxePDp!AA~6PcN1t zB%@*geDVwYDA%MUQbCWU#}1%^=?@))mq3(p{RiHX*x{=~mpO>J3ohJ2!A)s_Q3{jJ zGFnSM7`r2i^VXVp*Q?%Idt8-Io7cz}{Z}|6kh@wf9CBr(8N3ao@uj8C>P;^v9utQG znuTt>g=FYj+~$uWepyd+gU2Rvg&{W`} z`wM~mXYm8nfBV|Xr(zE`gYu(s&z=37o9RM`<`O!b`>XtGS>T5e)+HiBd5>Khl+yE7 z0KjK;0V3F_oZTmtTIIK@LeIlfyHKq##1hX9#aa{K%HiAsY8`zeRnR=nK`#kZs8|$d z$%{qeI(sSHb!V8z^d9{smLo2*J&fL%jC}?f19X`O!JVW+m-^k_Pp*ADSKQ2U$PGzlm{Qq~sr#!>-?KY{ft@uQ$uW!Waj|{Us%{}Hi-*x$L zI%REXfYERbRebss$azc+-JeKl=cN9AXGZE&TccYSJxVE$^HD}^J}g2ZSnTo;W&g5E9fM6ZJ$c_nrt6)SJ-fx^w&u(|K# z&{j23di-JQJA*tc`bftcS~qJ=e`6>?IcZ^rb>ASvStMBJTsGm(dN3981b{((I+@V7{g!RJ)0W^Tp2u!6o1;v` zc~o*t$6eJQrsz*B`CJls?;fvs&Rgewqs`VQ0mw#-%BWGbRt2G=+swJn=(n9WItEV6 zJT>29h(JKGf~T+@xi+Kr#GAS9EPSbaz9@hp`9pg*I%dw@a9!XhbhE_;vf) zH=ngBFG1?$%m{w zYyH-BU-!JiY7FFJn@te70u+sMzE6d7TF+2I#nEL$X`+zyC;gCdgQqz4GLOpBejG-^ zHHRI-r@cH!$B+Q##>Gajh zfc?Xd!g+Hzx3~cwshg>CzQ((3v_Fr+iuxl!_5(AVW*N>_!)F`>WTTMNNpFmnXg=_l zVRE_)<{d44$I4KvP(-7)zAoby?dIcgu=nBp790StYgL~DE&Zh2yWo2Rolxz-C*4BfYZR>R=8;?E<;n+pW2>|lDs&aV73AO42XQnFXrqM?O#^&X5@l$T7C%XkvrrNb_l=Y0Rl^ zncD>q{qMDv&ALi|lB=?bXxTCdINIm@&-L^ONTrF~v_G1z*bsAB<9Mdkk-SNZB=7#d z5xl$m5~Y1{yRA)@w)?tE6cG}1Ws zWV0=nHHC_3{_zLFI-a$vk@6bF-2sk+ns6z>bW-dZfEg?S{K*uiioeOU3qD#~Mt?eOmewm^X+{NCzyK2qtLG!H znYNTg^Fldr0iMP7VE(Bx&5{Br&e2xVNm@3zwMX3SY~wyPmaq@CRjgi#EW@_B=yE38 zdq{Qsyomy2nN`q=xqC56?M>a8K`5*&(TXmOCMxGI|D4-WQIz@{+j?KG^j5ttz)!h^ zsoLEBbR$&u=Oq#<*sGG2wQ2#_Y0k1l>*Ljr{J0YBFOX0w?&!l6Ghzlv2)emupMh&UHlkhOczc?KmF{&6`fFe^ zP0q|ixiFVE)owPF6p5!RaUzK3UBp+AqKEoF$`(odu^Vv?fc8!6-4s0c838!T1K|cS1zf!fP*YR|QRkqB->$@(?p=FCQi z>X2OEKp1pG)U(~duIvnC5h@~ZU*}}eY?IDF)G>a;u;64gbgoHvL$C;k1Y0~MetCP1 zw-5SP&-zXJ*HPjvJ@5I@2;6a`_mtR&yUx>|>`G~_t$dd=0^#7p=rEiRTI1Xu9PSE_ zFyW*GNZ~nu8i(Z{Olk2?eZOH(k2$jVLqZvU{7H4%0j0}ECpY@%W>)g^_g-Kh!#k)A zVF?x`UvwVG4knV2*euVaFG2W;OvjDzmW%tT=zOwB+NBQ9R*!An(&;+W7uttL&q6?N zt>53}p~nA>C3a{A#OO%r&fjSWdVrm7*(>#pbf?$GwFn=zh#qy;_x$fw1e4v|O2Y0k zXb-{WgU44=4w<>v*FHM_rvt62Z?ZWwSL<_Vc(5Ot80nW(1H1xX8~yX=1U4#a{b;d2 zaL=)Sl z^-UGLYs#wxHxDEl;iS55Et8KM^QSUTwS5n5!T)AHyEWw|si%z+5mvaTxPp<^ort*+7hEoS z-ZZ@p+{TPW@|^Zc5YYbj%Ub`{+)AuuZ*pb%w{MsgdUB!;lNj zJRIXPJ;*bwpY1Lfc28Bnp0Rv7DjH?W*ZpZTww_du_DPk$0WwAlW3cG)5fvjGSl5 zSigXUwd)v%-W#F^cq^fDtG4%2GBDuhuI4wlTV2-1wv~zEGR$9FM^8AmC zkYL)?0gL*2ivoOE5$}ih0=wN*XXp36-}-4{x3rFSN6LL5x=?HTi?}+n<#K z#B=4PsGWjSIxZlz7^%lK*N;om3ZjP+$*rHhkkLk3RSqTw#gcXEd-;e|z~{0E<>_gI z;&UO|p$-Gj$+!Y}svk7j^0R`fD3o*K<#pf9+_kWsZRWAP_4T#ObZYn%r5j7Wx!GeE z-0{DcSq5vw;h!8DS$k_MX`j(vu$q*O3JpE(NYDJQyRImPg)#Do(L&}o&AlyHp;*VsZV+-+Z2vY93pNU5rE&MD>3c2Vew3Gpr%z83HQeU^6;50_Y-o` zIP=fX<)Kn*<|!g|E!7ZU^-udP@EoU%`0K8>(sbF-<>Zrk>O`jLAiG>+25-f5x?Mj!Kw+-{6KTXYV--mNpPAg#9|C;?@C#zwqB@jjAHW;zrHA? zz0NJQ#my$3qdym2G@5FKWod+WJW-I^**`Ln%OAaPi-o5vZA#UP4K7!47HuW>Rd*oV zEN+yfKH0I@yN}3%W|32#>M_fcJYNS43_$@kRW}#y5P2pSNsEJ=VrGC+(gm^TY-sV- zhg-B=R^`>FMcld|RmQE2HHsskkWX5Q;nAbGXMp-v;(KxSK$?JwksA>3Q9(`fYJE$s zxL@cW4sjtqux(Nk%x3+Eo!pk)Wcrpy^Dd0h&(|1E z-P|;s!fs4VR4Zmu8Rm%buCd_J$K30bwj>0_y(i~zHdhiG6!EvGyXW|&F8C;_SNI?s z43d0Yrtvh_CWo1aIQ89YVHV1c&XPJf8W}7!Ik+Z)2YXMa>Ws=5=N&dfeOq{strwZ& z3Hmu zZU-BsaNhfCtZJ3up7rnDFVSt!{O0#T=D=Im)OKbad@c`-`Xr~T;P6F{I5;EflWpDi z6hce2Gk7l3Gw#@%5l3alG;nzXV45Y!;loc(K*A4QX!$kG(zlZ7zvO@EF7~Vl z;e5w})Zl5+2-10Dnz%(z9>wUNsS$i&=VcBmc9YYP&BUtNz|jvyP%zrcXGl?3nmc$r zSaFfVv?Qen_!Z_LhTQyCDe*k_rly})_jNHEawqc@X4pp0$9*w(CzH2Toz4dSP%JAY zi;*&JNfWhRdTc$g-ONNum;SA?L>~L@KT|W7-tu5}v~%ikzm_gcdl=|XZ_&k)8g8sH zAd6{tH!yb1eIYrByXwE7-vg*NBaKRDMo`-6P7{q`r*QP`zI3v)Q`m+hLuz(DcyaS% zi{L6?3x1xBA{)xK(RO#O^wIRj#dl&L=YHtEeI?iygA~U>>>vctAFk6xvEKaq3MshG zv_tM9Lr%hv(wben(e)cN*#6#GF94tnOTQe5`_0dF;QqB|4WOoory7`(PAUM_^yEuP zb0@Fhs@aU*65`hKCb}(GzwS@Xt-XD84Wm8=F?k>OwelKCn0K}0;T7xpMwPKI)E_C+ zDZfdUfyndB*?YAl+)9)7}o_*jsxZazS%!do( zVLhZwK1PV8;v>g4SI!hKo6q6Y*wSUJgP7wgZkcc`SrrXM4}k*6S=Rd=NLYzsja2x3k08;5D94H3 zJFOY7*G^YsxAPfA(Rv=sKr3`e-qoq%p%e4RTEW>7ez}w#y?nPSlba&^omQvk>C&2b%;A_tjeqr zX1!C2Q*@R)x;s@k9Z3tTE#})6Z&QGx6Tf8H!EDfp?5VS2Ioo_+whYE)lai>ouwkyY zSG5)FPQ@JhB%%tNK%85D2f1wQ92?9^C0eYq3nCru6dvb)aXi!)SHC>Z9pyK3{dVL^ zsjsM0(_uQ+lis!vXc>aFBiH?BUHs4C_jI8jxQsqa=BAZl8HrKaUqRFbE$yIS?v04e zb@Jqcp)zOhjq&;cF|o-#GGd&Zgh1_^XKU^CJkLH#oxO|ozvem}8cur(B?-ZK`2NkF zv;=anA4Z!mm>iR$0c-yF*Et-($I4nT@JsUNqtuMfaySxUV|FqHt4@t&S#ND={C=bk zB5Ae#+Pxi%U;ZwIdL)8APrRFN30$b;Lvz`JBVV~eM;mbPKp3Zf@IHO&!{D0R6>U;S zS?!9A8A#C;fX0yqOKWW*gC!@&*{IBSaD#vcGpopWY&mJCM07Cup0t`)cj>fLwf+7g*|>=~G9=3*6;BcMach_S%GG*X(-z2zbvJq^wnbDYSxa zYpETdc4st}J~Fe$Fi=l$`yC{~CkW(CRaD> zDrk}4aqD>=R=pjt!rvVMfZC3d-oZxR2N?Yx0{n7n9Xs*P?d0)@3lBrq&5V%^2`u8- zzAWdGLm3l-y&hvqVP8*_ImOZXkAX>444--)wX*{6p{J9mX;|=Wn(`O}M(Ty2AF*)U z1pYn3bxm(+NPNwsUQ+FDJA)Dn&L?OuV2mlQ1E+IrcJOoMIcFu+KuWRPDc@e5n9HB) zF-5n?Unz&jvy?wFx?QR2iN4FoJqVs>8s4a@fLZCq$DzI1!jz0CKUs^m{$_Q6Ex)HR z0pW4%x5}N*{=F#rsd{KfR_)F?DKg3HR9UzCw~HHBlr7k>R6e+!I~AxKp^e=v{_g zKRj;U*c)cspTLzOji*@w@kbmir2u1;CKD2y2rcJ~Du;f1X_|V~A6v;kT#&PQ`V|Zb zSW43i>zmM#228*pn0j>Il!V~N9kf>my6lwYVI}!2*xMxt$=pN?8kDC05-<=VisAI- z=C7Dn{~R2=$l154cHSDz)&8rB$56nLcj3oi=3LFoIzYy*v!xh{{SxKxN@s)r9}pT7LRV_Dz__E#)Rwqr~IjQOyG#*rZ8O*L|Qj=e5f+ajOhX70V))a_?Wk+vtj@MXh2ub;mHwrDf3CQA1y z{_8G&$F=D})XNG>t?Oi0MQH+;Zy1TOQmol=-Rb{)`ywj2%S+uaC#j0?>r4uyyK?Z^ z#hpi1K?qlnswm>5Q5=WFyG_B;e4?cr7sdvmMUf_17D^^J64))|7$Fgrn?3@L!Ai*8Hm(c^dC#M%>5hO4`-hW!* zn#w)Q44pL|T9d-J$@=&|Kx+%H^TLaJ8|vrxT!im2psX*Re|&pHvzD4PvvC*Rf7ko# zd!HsSr}05)BFCdnJmrDzqQTvsc{uR3eiCF`ZM_&mIAQk|e$8|rQ57SW=U7gDA!E{edclE0#q!$nD;dG<8oN6tHN9CM%_>V<|#|f zk=4%q0B5Fo^aQ-z_=0#XV*Mvm9P^zCLQ3>>Z%Q3wA3rJV)X8g6l%pV$u7f;+>EHst zhCiKngh8djFSUr5$w!%A*L%U6-(D#y@Qg+*d-e#?e1JD))}kl+M$AsGjrr0`hv+Je z*MOF&P;%h^{~5zbKlYIR6YkhVM9m4(elx7^)!dAwL;3m@!l+`H3TC+A8J)zFyN`o6 z4vvDkj~PG%^>?NF`oX_pM9%BOKb1Fv#g@U$RgAk;j+0d}I#qX5QSrQj$-FAlI2T($ zx9`|C9S4V=LFby4vwi!t{AK?wUO-N!u7xpd<|J53X4E|RHvfc$={>D8LM0Hb`~8Kf zzcD>hp#e02w`FFbcBbia-D?ekn}RUvAZrc*2i2QyIzM`bRWb=|FAo=B)SY+I;@OE= zEWqJ{^r8&m0}H=*e*~v@4rs58zX?T>#xTwh=a zO`jF|oO^XR6B4~)Ph`hP5M{P?EACr?M%7FoeN;G;+Vx(An~-U(Ee-D>HG+0cKzQ$t zecSEGvAGi>Mgov0RFmz(E6CLG$uCE{XXDe~GhLq^$@Hy(kDbv9`qIur>nY^@)>(G&qS<-m5{=QDFwK2kXBI>@&cIJR_Beh> zmqQ!1)=E)D)TAVTnFsi}!tB8E7Dv$^SgK(_-^i+B9HNhu9y;40^bR07OC|)fHCL{H zsBhW@L#KpQNe+ulZk~`dwr_Xe|5CRd+q^zDJzMrjc_64}z6MH9t{G|+OXn;*5hCn%-YBbyfrrE^;LKWJhdK{e zTN|ub2dw@YgV55*JZ6%8EXOkI{N2+VDP5OPo@N)3adC<<$M5cM&fhIQt!5C*+QBL& zSP>;^+L|y3Ex(D76C`eXa9Kn%2o?!81rj4zz^3(3vXXD>GmAFgQjAITk;3jNUDx>U z`pO~%n=|~SG1<;n3uz3TjL~AS-!m1l)74T-Ke69^d4sxlJT$TRKeuQ9C%m}Dy4f>B zLwxJO9{!=vv|;D(CUJB7)XEyRt@q8FuJ;{n95E0(%2=%rrC|;tBGw_WxjK@3`O?J) zg|da~)YV_y-QCK<(~TRsO>bz|c6mG$^sF zL*_Z!WzbH505HHV6KBWHiz`tdIAwo-V0wPJ%5YN52<9kj_4VcM1Rv;j?#BY4rXrUi zM*5HH{qU#Da=}iq^VO^TXbV9P+$L$R$}h=^h~PF?$RU*m)}!o zM>oYC@P|&i*-b8l&UdDDMb5B$2vdIb3?JN8HDdRGL5k5b=t+NUee*Kdm{L1C7KG|& z^BMd!T)< zd&&29S{GW-Kb$QoLsjP;*XkSh`=@o9fiM_uBn=W^u*9igA#z&aOMm1_jm z*TBbK+sU-f9OvAp_paYOM^LwPvE4+v;AofnG`@VnT;9DE&5QUuyXxX2gb?>3hwsA*AEOq2(W~w$# zO*TGQi;0PW1aGW6lK;&>$a6pS$ke5?3XqA=js7dwr}lb|K2GIwH*U;E%@wlte;IGB`G|vg1kN}4I5BthWohoAJ%_Z(0d*d!S<0$4$xN)@Gr1D}~c|6~G)bDpHneQOBwC6W$xg?9gp4ELc$!nmYluWbd!bQ-%iVaI%2Sjk=iEDvzyshA~ z#Y3xmM;Y^H;v)nMRo*_(yC}lrA)Fi}cc)K+lNQx3xO&dg^5k3bq~`qf8^Jek=C5;; z60T0Ia^>@Ysjt^+@ps0E>_p}=)Y%lZ?@GLK(hBiBk*7~&$pf!&+D8204(%JPV~SmO zdef?eHXGskgMc%5CDQ}@jP>{>@Uc7Mf}c8H}FHkAdVR{rmF(m$C^)vMFA<0Dj0 zoHK1ZlYX3Z+^0GjP7ZD!%N9XRiH_Ip&6;MaFhrgMt>iyUiWxR1r^r_pf744Nhn7#46}FTKo==Fcu8?$!f$3dKTRNB%hDq2>2r< zT>Tyw6TeN-7sgU25Br3ouJ)emSGba6RDmQ%a;HFR3JsPL)%}?v@{dA zVV_YA7@-rDz$RxkETEg2%1CBvz)K$H!&~Ic+R)@ft2bkAs_oL|wI4(KRyymws#{@v z3YceR`ML+=e&_sC&$s~kB)&3j%Sa7bIlpT3k0c4S6v-p8CubD>lY0DUAGh~iQ36xx zc!Kwzx*Nhzae%!;jS&T~FJm-Y+a2!R8R)h-$Hag)E|C*P#?1}Sq6(BTYWvWyoLQgr zK8{;SF1JUVwP9$mT{|ui(nM9m?P{!n_Wr*xZp}U_P^GNt%Uv~37u;-%L8y~cMjjtF zE46*S3gq?!6>y{FtA0+KFFo}bpJ^<@uo`nAL%nBockvbW{i1nW-b-W^i`*O3j`Z6| zHtugWgq844?(zt5RJV<0EXysHw>-ih`|2{=kICQSL0BQa%^v2S221MR>#U8IRw0Y? zMS2m&IA?KsLk-QSo3;Av#d_VNTR?uq>h?Y)YHQo`tP-Fl#3|Yr^-5Hq_gT@Svqz8A zyTC)Szv8^ljy)h@<#pe6?W9eKCylpEtsK2Tnj2m6xSU$`o$bWdQRb^AroO9c*lbBR z-n%FC>^FJ8dek3Ysadqo^;7#BG?e*mDd49%hT}P9 zaLX^;cn$Uo_J!5d3kg=JS&ou>(h?^&DBT?Cy?I6GUheZ}&dY2nhF9>McoUuH_`+t6 znwU}JmppD|3(WCscFYgO*i`tEC5v0+Mef}iey^sqmUDOKC>KCmF-d^W$0*pUBNf}Z z@0YWpMTq+MuHNVM=R4=SZPGXAS~eAKr?HoWJ%~Y24|bPM(5o5kuVeHt!lA)B|M!uG zF-OCuvqt=#MbMAvyJuStd&ER0Js6RphmJkWR*_;th<_7Il_&3gwrX8GBTvl_Qec#+&M>HER5F!@}}U) z@_aexTr9H!JW)A7#R7Vt5bJTa81k>ShlNxB)x3*o{sLf1&Zzm zeVvJas;wcCG~uG=UrD)|2-=w!k;bh8>}i1MDAsT_?B&2}WFVt0a(~wMcpLcoR+y`e0P<=ArD3J^7OP`Ta5+5GLgmjN z3*p-StmRrRmJQ#kf)84eK{0t7xlyaeWWzIhHw<_e3GTLcLb}E_`1aZSRnyi;uURxX ztmD9=VGc$cdQC3#?P~ClwjUNIyk+&8AXlkF;?W1K~p`Q{2aKyl=10*pOv(1*caj&$_mF=jsP zMtR0RS1vtvi55AVgKd$m?oU#2@(SLee8Xmc!+!MjYdCG@EAu*~QWER$|F`GbH7bQtjACSjnsx$EMD=oaGZ5}rM+9~m zeKqHEG?<@eXpOAKJs3BDLM8OBod5;*gTcq`$*G^MLx@U{Do~M%#Xdf57mMb=$eis% zniaKIq+ugEW6pW9@;|G)mQr`sn~?z<%U5~(L&S@m-=D#(xpn3{ zcMH~YtAS-wU*>en_qNjtRcti=pwwKE< zr9B@jx{W5<2Kszd5cY@Y3qg&srXQmhBzvFtPZ@!BmTq3I8Ipya$xfyDZd6l1_Xp;SSoRE0iy(5mT8jQ~rmq#RNVH!N{i=anv9NBG{4yYaU z^K%}6zvQGTg}Fb=lGM-RdZYY}ulP&o>+3vzui2I~yM$k5HSS!|i_b}xFF0BB;S{k% zU)PVT;`V7&u|!D?i+CKB%Ol%Oc)HHdK!RmB*LGShPLONm(@1E@FE?3>u$FASE<`$$ z3BUr*mYlFz<}^z5FuJS9;608=-Qx4{O5B<^B}g42f7MdoC_Fiex+GLTbv%*Hvi;M=dg5hh9(eo;dA8J6iRd4v1!*SeExW& zA#3PkZLRP4e(<^ogH;o&YcntAh*&pI$~pRT!w46E4T@UmK8l1r<1`XTI@A{8_@Hvy zW)t!DZpOa3Fir?Etgo zlD9G+;Wc2*m2!w6MLnH6WsRTvU84AmHCr;`^gbN6eDSdei5JI2B({z$B8+Hx=s=A~kB(x$l4ORKrq8U$;!&KIDgclzL9XeDooj4`f=a z&suI*H_%MumL>@?reOm(&vw8S>ZK))_w3~G6MUaI^|7`Do@Rm`8areR>IGKPor}^j zGwwV2ISM%#M(@u{hFMuT%UHcf5}$L%$shO1vmFNK!O?H^1;OeDtodtZa8X9wrX7!g z+W`(X)$`J;imdx8(d^YyO5k+i7Z0Mtm+ zI@wXscJ=1#Ot7BEAhMD=Cs=Nsu-xFaix78dYLjS5x*53;X=RBH!9!qRd{jOP|^ zUC%zE0Tr)O0fx@)jdKS7`rQ8@zh<+ayWWYK@O)My;6qyPK4@&Bf9{<9`% zRjiH2`(xOZM8=)V=-3oB1N)HPe7P}vdJ?;#6&yz(WettDGMdO*XBg_*pORQcxgaVm zYOd#6(wlhPWZlNz;qv=+ayTQdeWde@dcl7S8RP;0CLe?>Y(Ul!@PhH7>^Td3?ti4Z7G59%9B4l?q z#TEUg8g}&_=Sg!apFJsJ$*r@_`5lujfrlY@FAgIOgh{I53UCQsPt95ic`%i%AiQt| zq#XQVBB3iT88Rk#j;U7+Il#DYnIzq6b5=6rIi00E{_qkx^^*{U(a*6j$p?aVpVvdl zR8Oea^rx@wXN{$d1Jx`nuV(_8FVuQXCihn+GXG<-N^Ni9=7LgZ8!|Zoznm-+04G*5 zul9v(w9bvk;-P-0kdC(>7Qp2cD74Z*G?{-rsZP-3;PGkr@XfUx$MsH;(}UDxYjhyC zx(ss0LJ|1nCxWOT{=Um@2S`=lmA8=43l%9d@W6wfz()>~9Y;w?qUB1&guie5JTG3;J?VaK^EXl^;H!d0 z{;M-z5~hSbl%=;GKWudp4~&hIWh2_0D!b7}dH?D;XKnOhQS06JU3Xbcn6Q5O_Y@Q)d24Q_ z_7QA^HN<=QwYRD7kYU}nAwaWUZovn$sKlMSa~@Nvs#Z`V0Gnw3aSb_!M`LefCAAbs zOT3FN7pLU3MIYXly7GA8I=}6`kjPrQH^!h7g=dsGywi3k{Lk!+QTnFp0yk$hrl`xR zt5aFzF6E<*hW~*iPs?iIyDK(RvqOThj0M2UK)$X_C*;tn*extQ)x7j$BRv}%vXR{q zv{&CirG+=VANp9&$Wb311#?l44Y{eQg-OT1cid?Q2kkl8uT!|EdwP0q#X(b80oK#V zNKFZ7IqU}{XDH+5HsrjRCi)_qNYlvu4Bh@&?q@;`!m5xn0 zlpHY}%u!fEUAxZ30vPjPya5~*Xo=`?0blT9Wc$ys`_8E-f;&ZJ zck+FKimF&~{`5y6G zMIb=-3dw`f`IYWmsvZ?54G>%E{8qYb7*Gp|?zZ+p!f!=YT`=k>`VmersycE;V~l-( z!{-z1!%()_tVtIL&S`4LIBn>H7a2~3;wFrm*rhZecV?K|@Sx~%l+?&Yw6DvUJxLLl z)^%SxKZc}k@25UD3_SJl4b=EYvYp*Td{ofuQQU^cF}Oa2wAGwc^!CIlD~Jpu5glba zcx`7eW6CEf*a`V!)+E%TJc%}z(4#Hty3?Q$zv-GMXzQn#xg+QC-0I_SQ6 zjNh=p>eRlsHK&c*mEs)lnEw3h$ajUd+Sqnng*upEY^?eo0a#NeW9?`bGw$Ui5g|vVFzA>~`JMM*rP-wl=#;+W5_c75|AAK%< zoQSAv#Tno}Co(ZTT7bd5IacFeSwg*r9 z=3eIxLe@B8@nvFjN%!Ah^7A6-GU%?>MK}vk4Y4&q|Jp|hZr;?^VQk02fA}&o^6GAU z1c)W=SJcZLuRMD5P5^0$Hs0=FwFnf;0JQ^}yRNJjRlELtAichcHa(PR(s677j`HO; z`-`3;uGe>2{oc=y>Vh*pTO^Gb@3e{udS)E!e>r<+gJS^NPvM z19qSa&JTlP_J9ul{d`}~CuWQx@e@YP`#N~@jEw=QH^~6d3hOSu2ARA6)jQkM`&-w} z^S|QEMHPFQY+v$rpx@>tm{|ZQW+-A%re2P*WxSD(0omRJ-W0?9zc48~qt$_87_<+x zXLO_-qciZ#;khpIfILv>GZSqzpAM9j>xR<#EsFxq`J?MVuB^tm;6{II9~)dfR~?r} z7##CGm8F3r(^`)!06EqBW1LwUZ08%M%6i zuOZc5)ufhDZjOFaN4S`;q%=4Kg!gP`22n9uxFVv#bvt1%r3)$#JMQu;V*bn(u-JHZuO*KDY$P!ofJ1+-wJ83rt_h>~O zh6FP*G;hRmLWIC!RIIzB0nqG6k5WdTI9H+6su zqvM8q$N-8CttpF@7bGc~u~{QMpgFG<7>=<22MTu=vj(F6IeY`n>3Bp%Srd&#iGv_e zm;$hM6c9Pjgg*De40qJ&B5EWKT17+xHf#qsD}sw&m{xCf4;u-}i-(T-2yW+Og0C^@ zKYBh%{(0}OOzIO42xz|lpsSska2_*1*bnnqNs_?K)+&j$KcAUk-SAo&!c%?|@@(8<5O@z4(a5#2w~0?+ zDy|Hy%u;Ilk#()f&Xcsn4==Pdr_p(>f$9jhr5F*y2dA-nH3wc3rv7|ZuI_4B#x{VD z2Uf*3yvNsUYfr*R3!^6lUQ!3QH#WY4K5_XuY(p3c9bLj!<*AG?fN0dIQ@rt0-Xb2M zpIAe3NRkRyk@YJ(N4bd62pR1B(zsy~DSJD+UL$&OH}sy^cK!C(tzJ&UgM&|Y=XP6f z2tF|vH3g*bF8?H$e2u^5R@RFPZs+XDrew!NrBeOQxbA&B|WES;r-f z(sM-{L>uYV0N3{avHJm7M;?s29$B=D>O|DM_07W++w<`L(np4H=cPXo--Gl;O6{>N zeSNPQ$I=B0G@A3hrM_Zz@!U&IJocASM|8n=57NcW%Wnhl4y=oLA3%7YvDK9`evXo| zB0Zb|cb~H@&1&vXJDq~!LU@m3%orU>of@0DXrK?y(5uFi6*(DRmkzUE2K$0}3*WD-saj?FXI`Z&_3yULCahoVw8W+o#47kyGk^Sn7;I;Jspxpw0qoI#GH8YUgzaD`|F z7s|G+udepL$Ox>g4cQzilq77yqGf)O6G27n?xIV|*4|)qjk73(!7o?69 z1(CIW=s7B@8ts?($k6@`VT;u5mJT*Rs+j!R;#{XFGH%QtMA&dwNvz|#jr9O508BaP z-XC)tPzET1E&*a|hsHxXA-H?fo+^s|y3n)c>7r8`U%}o-w^kKO=9a&tjKgFU!zTIB zgU^2WTzdI=>7fEzJE!Z|;|%$|g`klNDXhr{bT~Hu!&if8x0p>|w0y$pg34_8Er|Ls z$i}{U>K<8x(ag3EDF19bi?JZ$wCJwVCj!&xTMwMFO-$0JCC#AW=JE`d4^V z>fR}$k7e12ZOKc#$MHKkpFc_h*VB_D-+HkbDOf9d_{d$$J1M88cB-G3#FV{O8#)l< zg*u?ZeCp_TjEFfuXGXq22@y)8%#WO!&5iOcAfeyCR z!F!L4$7S3=ZeT5J8^g46my1{d4i|j(jiv(E`^Z`y1)R75v{~i={^i|npyR=#6e$X)Y?YG!cF>vu)U7(wH@~)?8BY?#LUc(4jyGw^$R|T@gRmneuo>Oxy|5k zgZ?88Y%|Q@WQg6%rgn}QM_)s&sjmX?Jy8#w&W8wq4}3sRUTwG_*3PJR2kZgdn_Vm} z$|Vo?b8FU%nFT!DRu-4dBi3$nP6mSPEY*fPKNRo+-Iwsoma$XpX$d`!iG39TiU+*F zvGk<_6=mQUsKCgUW6oEwJUqV2n1aDbZtI&)seasW>-xy#Iiw71 zeChv5R)F3*^HBd+iI=BF=}sC1Hiu9qOd7-pHqzMxiGcvVx@gTHU+vs+t;q8Y!qYfK*uB zug6Ae%`JBDF-``H90xvLK9(n5cugtLkpfB_7PTinUALP>$0*?8Ekiv&)7asxVNNaq zXIzv;4|dYFj7N+3c`UZW-nzW3uUk%;|;!6XNm|UX(^Hk1$h6x zuWZ3oLzdvDP5wjaH!rLVQhQT{i|Y0~XQhp^{$s4}RQT3fHQ^*CqOzuJ zbnqeDtV4SIK(D*7>XVl95SB*XZbL3y3dO7=iQb~rDLT})W1fvp->Dv;yp=*PJO93b z3!eJ24t%s^DgW7a)7(Nl%T@g|9PYyJr<8xFsDUQgG9WK12(9-h#*1q^RRbk^Z187aLlk~u_3D9aF;y%#b&wL@oX zQm=Xoh8&fuCttMOxcON(DR&!YPv;>yy^Y|aT$&a`G?Z*uh_PJA0=ME&YSa$StlJ4C zc(cgL%=WCmdgw+E4+tHu1HZ)d|IqbbVNG@K+V7lcbg6|z4uO%J>Rvj@A~%oueGmnG;@%XjEwn= z=eh6S{b%PS*u?E%_CC2<6Y-+?Kt58u#jV&@b%6ELDfl09?Dn5v?o&3#L}$$*1};t; zXqNic(8S7z&|dd;uDkDl_tF#AQr*s2O*1am2xj+b3CAx>va;mfTdxEgaOPKE4$k5N zJ(+x8E@)@p=?EH)J7F=u!`R&I5j%dornCjK+wgE9Ln~yGw6|3}28B7(JMo5;p_=ab z|3z8hmP)pV{urv5wO_)j^*irY_GLN6_J>uys&~d{^)*3L&n|rRYZVh6+u&TGKxPX~ zU$b*b3 z1xw}Y85AgkMW7dHC)Ax}*x^Hu!n*ug|0&?DcY9}}wo^%@dMz;G6uF&cG1c@iL@S_m z?+-X+0snNxIOhzu7fb+sVB*x+ShK!3m>lwzpij^|8peMOp%NC}IKcGs<4G)c$@SBt zX|2z$gjXprch7xkNWxwl4}_?;K`vWi6KChPamqjV32pCU@{p)}yO;UOYy z+wt!6l7MYoG8fyBUL`A{Ov>;ld0GUWKZ9*TKdK~Xxlj`xmx(JHWr)4Si+bZ7_QZu3 z-CgM0;{1f6WXY4XCvp-^Ok}3wRW&W|K|bdA7ZR$oTNdP9ZBkAazCQVjE%A~ChYaO- zy_MR-#Mp(yPfxfb;Vk>PLV?9`fOCQW0c%Ew%`6UsAnO5R>75clBS82rGt z+S0L>FpHfNj}4W?vd1^1u~Q{S1<>C2kmXBJyK=02;_lof!!0d~0+u&Qn!P;*;`Gym z)tG_MUbr3dM#Hq|O`V4*Nyj@bai@R}?=QaeZXBm@HxlF|62UyuCs?%;KdMY}V5K(Q z=C}^|_5#}S|7ZcqSqYb?^$vf_ExL9y4){d^Z@rh*(_SAAPKe5B$0ktL{Kio3HM$==2YE7zBbM zkVmSEI=7vY2=!M*2?{{G7}u_WE|%}^_l(U6nP<6wpNC{D<$Nyt&I3tC?B70q zG%V~HMhQN2N&6lz(XPt_IU;a3(;ERmN(r&(1b|088%ef?1&J(ymMkTESC0vIhOtKr zuLI0tlaDrs%V?G9!3uDg?-9Y8N5lWSENJKCgVe5>;xmw6ztVjscGAM*)F*xyjU z248KyWpZXUza0bk!jHtaUH#ap3S{{GnQ1^}m{d!X?|p}^mx|208@gJu^Smt2gzq~P zKB|2M5{xuC%{j)uyT$fOxxb41y}+Ho!ZMALvqZ(4CFY7p^BfrQ+!7lAC zZPpcB?h0#sSbtI>q&VRmSYoUd=CXBN_ZqX0l~L5zkHc*Q!{|!vIqjJiHye1{T1|2} zGjGL`rD^o6w)F2lor+0R3uv@!bJSK@#JC;Ix9|WTEc}+8qqug|mJjy3p%e7Rg5ISL zq3(R(`b~_$9ee_|tD@Nt90l)R1jH+j7(RtXK4IpH=eImJ5Im`QV}i@VVyb1reCxw2 z@YI}@vmbhfki< z{$m|hy#q@7t`>q$yCVYh@&2*Hd`f8PM21GlA^75FtluxT?CUf9! zlV<4tk0l+1i0JP3$1hhNT#$oZPp%+1lIFI|VR~LfA1pHnSWtdigWK^3yuX-O;#jE$ z?(9T;!lb8q*JtJuHIoq7)2{3+$>NJG#U4;t#aFR)^d$$Ocxo&Kqb*KFU1L3uVp$Y) z!TvR8l8bkEj|(jFC)si=sz7GUtf$t}cZ78yh|Afmr>%c~+*UVrZ}2oK{iPHqK9?OEkn8ks_CYq zfyxgP*P05>5$=6kvMT_{$FNMZh{fL9F*#|~Do&I0&s15|2sIpVL{C|B&Resju!^LZ zm`4}eoh_6BB`fwORr7 z*jZJymI%MOAnr^u>F|CE#DhuB5Wec1{btN2e&7ip6g|DsR@#z@cxu&5Q|*0o&0&PF zQVNsbD|%|^t88dERvd%>)1@5W<{a{7VZrQ&bSMPSWn2eG#(a}P%w#>T7V z*0nn>8e@YUzr!%$?B~@JPEnb~ zltpK~It}WWdB}~w$vZdm;kOK&sl;Md?MIB)+p(c&o&Aj6Kp;?QPpdzUsb^Q;1!ZXJ z$sZ;s`t{WlXfFJ>tnb$tr)3Dk^A^Dlb(0(Bg3`+~gmH5LbUA1yKqsU>KS|~s*lo;f z&5~=9I@)25%zcl(&jNZyR2ZEDKrGgIe(rAP#y3!9{nb*Xr)U)invK}K{qRdO>ezm> zk6tJ-^>TLlFGBOpX@RmTY_Kt^>j?E~>n)PTd(*f+U=c*Evasq264}8fLa!gb)GptF zP>tWjOG>lw(mV_q;SFt5DL`7r2kyUu&(LqXCCJ=rlNDFfJ2C7VxHu zreFw8Hy$H6SP23iG01R`sMyOdU0i@x+nYwplpimK81#MD5f?QdB*9`mL{DfsXZY0F z)#I!I>tFYS)es{?2d)1|2JyMGRO!Pn9@O;(yn6EVyf2q|Y8!Jee|9#%#VKioVRkmK zP}$!{;(KEdNxnYtEYY-h8zPie{NW@NSmQUU>@Pmf`{&K`=0hWjYE`X=a8P{@S1AlD zb4Sw4d34Oaz@uxUd`ne7Y)amGeQ^e{e3og-KGz5;?TiU;dEJ$ONs_@k?C}rn>^9h< zPl!pHoRTlMP(@wTozH1cI9OH_xZ)zQ8I=X-02j`#dpAzpd7z-fHtfOLVS`zy_@FJQ zW2$G7-4f|MVU})ydG_}E_m1b8j>Wd81oi`hw-@&k|H~t~T!2?}k~VmZr1myPWPC?_ z`)><3F0;D7K-$C5#**;|v0_@ajLdhkvG~BbZ$AaxI^R9IzcIbFH9A~L>+8F+G1~y& z*=?x6S8x1ST3V|4{{5vSx+M64p)P?OnsHB~E7U(-m6aj_=FN%g)U2Rs6qEto}M^2jpmX@_9P zI}*HKby>`l5np*0eT zMIJC;){Bs!C&nOM1>OT8Km(QUf4?y`YthK-#2z*D>(X13zjV}QGkx`}4?j0xF3_cV zCS%6-mK0z_yPfDZsBUbW%6%?KP8Q9|x1GbP!(>4?hpqQ%-m@}T&8X@{ zKXG1|nncOq!VIy#{h%PEB%P$|?Iz{AT*hzu*qA}ESq9BV zC6(69SUaq$c{sHWMbJK)QN@kZ2~nziGF<<$RueB13j19*wtfkFAIg)q?`3@5rUy{$ zF~fuRq5h0*1}3<^DrB!^AL30bE{{}CiH=a#V=KjW4Za{XhVLKL)GYfjy8MrDI+$G| z)Qb@TG*=z;hoZ#6(v7 zMqopUc5sm_JrOsK&gUvPudGqqo9MGfq3I{2x}@_?!uA~Ib{}1IzCM>%t;_E{JaWZL zD_>*oFtfRbGw0SiIPyR%v!%0Bz)w+{d~-aB?Hka}TJix&EM(G9`%J(pfU>f(gis_h z{}gmSkDB>YKRcz1)<}niB^{-TA7y5}-j?j8o^deP*2A26A}q`W`GOXBelv3|?jl@O z^UbmiaNYWV#5#C7GEH1Z zDn|C}XKcrce7scCUz_AR+hJFPNRK`>&&0Rsj!c?ng)0DrMV<2K+m5M7U3&)Xb@;uR z+HmPp6?oKzC@dyO3l5nWm=GT#A7opWb z!#QH-JHJf{E#^q;^Wu{{?R+W8cCzi)`5H}ja=Ra>Gc8ohF?KoetMGu;#T5KOp=v-! zn%YJ`K7sUn{Ok?be=htDnbk_Tj0srQ_bwh@pjJ^nJJnipf7-z7yhzn=m&NR|yKoj~V#u;;7TGR^)LQ_RDqvYGSH`@_|SVGykRzKpbYgF8o{mp3Jsb(LOrV&Ruw_A1hDXci%d6UQ zJ^co#s&Ji@5D)1S?2W1}8NK+yspi9{K6goi@`D;N^=y9*IcEEpHV`c) z;?A9gso}QKtJJR{vCK&81H=+gPpz^!ahqT>{&c|nS6Ic`>&V5Y%5mS&2FJB^>ZiD8 zuYG)Zf`Ze}gz+4fo^`@F;+vlQmG+q#i9dkvmyhQRb@nj39yiC1H?F|3#eP%ULkjGI zlSqs(3o&0uNl1nAJikRej4#4aGA#1!%`ywNC>>3!MaJkW)OU>N(a_TYoEyRSFjzT9l#G=}$nAAhq{lWHoH z-Wq~BlX333nn1yk>qSZJzEvL9;(@+xeNHyv9*4~w=TWn~e7Uv23HagqWY4LOeAj{? zZ8{(JSnjhppy3wj+UYb8=CYJjGq)wR%d|k1-)b?xBvnN?G@k*9J@%%6@T074Sib&T z)VT&P)=}MO-b&tZ63qV+Q890wH@a8mSaax!=AgU7e#`L1ld@zTz=FBQkfLhuYSf85 zZ*%(^zYSc_9R8yGuEDnVSfIu{Y_JgFbm@giN;NjCRBX3?lZmy|LxTGX0T=yYKx@H} za$JRRx|#X(7k3?{BYKu{vs|R$-_f7Q9R!z*I8D!=EW_VP83oVG#GmK#4@6siXQF1i zm#C0xTxf+J_&3Jsq-iz7t$Slp@d(4!cVxfYbF^$8tesglfKD}UP)RFQc%d=Kbw)ri5q21Eo@~965w@_9dETw-SdAn^IG746 zaneQ|yFs2Y@5$w|vy8&(M3==-GKOtPO>KGUBLkj1$x?&Wm|4{*rr@If3*Rie+gy3^ zw4v9rV<8LeogVb``*ju<>VoWd)h?s|V^I}15stKs$>PwZd-w^qj9^+@6oo;?;Cwnq zzXp|81=4l=rdoQZJGN5Wp(;7Gun_WrY*$bQAN_GYK7g<2Uld!c`TiIl34d5Kn%%$h zyKV^@`7G=llmgE1W5Cx}bnmdRT=-upFVy`%T&z$9;R{F|$o6nzRm`6d=HbnJz?=Av zmxmZrArK#r9C`8 zERqbeiZlH|b)MJq!OhGlH-AJlb+>(dG><&?Iw9i%IVOC0s7r%Q#|rySxG&RHS>#`# zqd|8bV+Rb zJJ^_$3(rEG*K*kFy*VgSDF~MREEN}X)=I59;Q|yQyIBgsm;7)(&=Scm%YQ6)a__zT zf;hlw`Mvq7lMVo2hhqZrPGRap!K=th+c(FBeWZWFqy2CwsxJjKdkNO*SuQ_#{kaR4 zpYyA%1^w1jn#^i!mBiDWgwH3}3d(GYdiv0FfeGp``mR@W*1Y}ekKg2`7-C$ebIc)^ zn{junXrGgPgu`NMnN-GMG{fz=^u|_2VVxWHe*VL{`#xvQ9SgS2c!IbQ57UyE1M^I~ z6ei1Lx5PeRlX!61{@PVA2__ZG1CIC){j!FigOKEnK(>W{D4H3snNx)JaP~V%(Rn!|(( zVEED_2Gjx%-4Ng3i=b5rF@C=R5zq=y*69MSvsy_u98U>#sClmh1BN6qDW=Tq%1X}l z9@Ebw?G=)7^)7y-Kex+o9uyPF=OTbBVOBP<^guiKl>#e#NXUGwKn{JN2_UI!d76Hu z@kNsJoQ{iG84M`!%il({xw2vG+cYa8ngi!^CO-Evzm#=>@4lahv#3aEm|sEV37#xx zzV`7rA$>=8DGhhJ^_;L@8H;(p3{VKDH`nI{4hMEQfhm^9-u%J(J{r!JUlKiWK|82k zVzF2v&oO&eDvoYY4FDdN|@Hn&jIM7*;%leXxQR2s^ofiJsGe1MN z^E}hLKQ-s=O_aG9pR%oP9^4X*ANQ78fPE|c;RvJ?N&J8@jMK2%szuu@Bf}S z2%tR<4(Lzr$hg;$fvKzy+It3tr)Ssr?G#b!NmHVj5EoCdriQ+{O7?%nMmR?_HgSdv zb}eut&imA9Q$X_m{mFx~VfP}C?()NQQ!ijRbg%3b8{s0@ya|zZca4W}wrqfp1ee6# zmS>q6iogxK2KOjZsTkcVo zH=c<_O>6TpQww0l5w&OJ!}xgCmw8#`Qn5=dBiMR^W|`DgD2V7Ato(PB6hQQ&tI=_W zOp&TLjo(8F5-rip9fd=OV?3b5r}F{P9KKBXZCa{B0_?k$srciS9NU>wL>-XGk608` zn~9vtZ0q$Pnm1XxuxiI%yfUe;`|+k7mbkWp*?26s_SmsUMC5q2Y0gB_bA4UYpHt7F zxYJQ+yn!D$yw5JoXqWot{|5UXi;S5;K>gqt{FW+?mbf#<=m=hbI%DlI3;iQM%VzqL zA^&NSW6eC&YZ&wxt(y?j8hL1zp|ReX4%Gp5@Bp8G=XOl>!2@fwOvlGUz&&g+CEzhm z4@*^lX1ym%IR~72cEE87hy*X@gFO}aGsnJaK|OF<#46S>JnVVqq_i!08uL^F%D4ad zG3ZPTxKcqYH^=HAz))5`Wxz}e+y<0j32!#>23=xT!edOZWN6rs6k#0$i=m|jDxhjj zk5CcjZ-of20#AS{l{t^*|7ghE=@Ra0evK=huTU8=!Ffp+Uwye5)XIF!=o#jnDUBzE z9x|Rh0Os!7V_^!1&F)WoD0!#NUx&GJm!LpweK_nh%a;_;RT#}iIMZ;88_dDo53hD+ z=?Z7=T4@p30=uF!3k5If71#khAKu?Npn@L&Yiq!R*z9D; z+Pf!swnz6AkL@r*&niv%ggcj2fMH(PA4%Q1_b;N`rUVft)95=x&b3!soX*25Tu+q% z8e^*Y@D5v`N*v6X>E#0YoD?l}V^A{Ro!m}=H%(YsIbCFq+{GRF`a}vAZC{dJu^$Nu zzO?w_M6#vcn_A?DeVc*JrB(^e_NV!gab70u5^Py$s>)UD$;rrK)#2dj6BnLXgGH_= z*M+Vb#0_%r@zvGa7YMd;)?kVeXii^gs%A&XN-M)*uJu~T=(_iRExn($Gf{l*Q-WGpbtl@{mTaHD|o)M7 zKw}=W%GD+XVr$i8fzET!Ne09*_{rLy9sA*$NF*3&-o59v)OIOFv>g8BU2E3Lew>xH!^VX;S}d1aeLr8{lk#9+*pzSB5Vp~weTJj>`AKIe ztz*#TZ)5k_E0M0s@4n6jEd8_1C#99%X1OZNAU*9GPKZ*~H4j!4vBe z(lvANm?L7P4NDgL`=pjB{@hvHBM@aFqe|Z7ui{F*)aIqOV(GPNr^I-b0>C749a69f@!H;@uC9TiS)Y}y^buk6P7a_aGs#C$UxLPq^>>$&A zx?B_?1pbMOu&flIEMNPo?>V}pUx0(@=|Pmj&@07;BUkm&H^RU0->H{C z4*|wK$12)qXvQhx(u7Z-2Q9_KzD(`{@PpltK(=tyv3ForBf!vRg-ZXJq&A@Kc9`n? zS8`_#3`SkuR#J>7=mxT#W=^l}|7B3?cJ}|>yY|I&6IRUs92-Zl9P-H$G^yPgkis-{ zserU&ChF;}$|>IXDgLZGF7@JI+qRB-GX5dkC=ITLMR0v5hBdM>qHaF!5{af zSX5*G`9|Q-N_8xSeJ!bSo1lowqvT{xe-m;}!1FO{m5P9ee`8b_h6hJAP}~jE6nB)q zT-*utYV=#@MCq=Rz|BRlIs*mEkQEFg90>=WYqOpurV-kj2w%+8v2SHPFKIe@?Nt>H zc}4e#5;WHnxl?zZW|+-fT6XG4O83D^9X#)S7KgQD>0hEr+`nU8a81$ zoo1=siM;(h@a4$}Dz*p68DLFQf+yu7U)C7{zD)eam`0v6?=C>~DyvA08}7rxXR-IF zH!ntg)Z^8i4PT>eK}*z&5F0bZwgs~1)}tL{I=FR?Am+n1i@a8`XQGp`RS&5oXK$!vy7Yf$k`jnv8g{o^m!F5gL9Kt@tF!JqA zVTaiS0yyD%{-A#&$K{ zEFQkErfLh%J!Tz5dc~Cwk1&_hOhRe>bKEMzaQwM=XP(Jt^H)do!{VjacNc0-eM7N5 zhS7b``4WH4=}vQ?Oy24()Q!>v-YqxmPwwtUl~r#h)2WLYA+&Z?#v5RE;BQ`f2k^c2v%Kha2}fbiV);1ZxLdH z19mJWLQ*3cuAXBAQ8pIh!BM4TSWw{Q#j+RK z1ih0$*dJwSxi0ai*#{!dvUh6_`^&|S+{1_-$(!Ani0?(2PV*WBVV)6wdMwYhMrNFf zt($@?9DcTiAF|{FSUL*=ATxfv>w*Z#RF?N)0|?Wt3slDDvA|(SUhs7@0H#zlc+c;5xP+6p?>pHmbVEdbn8v9m|MD z>oEf^n_PhI@RO^zt?tPea+G=&4SLKZG#zNf=x6^p;m$+AMVKJ$4exQ>#V8J{E|$H9 zJq~#i9*0?nF=tunzgJ+DxvJ;@?qR1guv*35mVuFr@%qG`;2stfxmWLuNcBj<`dqQB zUhGnUJjVc~$G3`Y;}$%);DM_AUw_XPTY5d7#<#i{u4Ad~xi~>ej-A59ZiJ zI=o9Cfj#}Df|;Q1oUv2~c`58vC}$x=_{f47+;mJtkdC^_3;)Nre7reZ^8ByKMvq<;XP~4mf zB)xpC>J)zwx^jr`TM`HUxQc;cS0Ra6aN)Yy})!FQbL5xee6U2x9eG;528_YpOyHv2a*Bp!dKySUyZS0b4noO){DYON>FkukNg1ur3*cbS^|T z7xomHpXYX1{;$861pyd?mG(T1nXOUq-!c6l~ zvY+W4=d?X3vyi0Ek*1+f_}(pO^s5M^YU?oDna-#U4~Y0o4Yc%mnx|T>#P{~c0Z=dB zEO!CgNqQ&ftsmoo4Wt&%hPiYvKn|h+tnQN#yTM-tM>PfZU1E4DOB`xr>3ecbJNNyo_W>#;151MQp z@3Prq_SgOAlkqoXuiP2ysf>@bTinjW3URF$Q+@=(mK2=hZ4(cOr!cYb(6H)gU9AR^ubQ>#VtP1;^IELNeF0qVHtZ)Fyys; zHRcgwDoz2Gwawb!y|%i?hFws16E3cWJz9|dnKRA#2(x0Aj+@+d2L~dSjM6y;L2|#p z@CSnqa^piVG$8-es{WHxSoZ|f7BKU}PqhN^((Ufym5Ig*$1%JRV$;#S6z~T+1xgH# zpV_qeb)S86Loj{{>!@9DJ^p4m(U|*4sSe+yqcVY^pjvQQX;w8t>7n{@{DVMXulJD3 z$yoi_?RH_IxNhxNyLae-)(Rqv-+Pyrk;X#lG4YOu;`aq4LjIn zZgY#Ds_Dv!%|FcCtPDcY&euU)Yn1{hl~bG~UyhKIr3TJj$&ojrbBsvtMKPaW%YoF| zErjlwoYEsrrT~l2vvY)2OTBNtPnMjg_#r?@XY!GI1l;U&LG=3%+w9 zt~BjQG|24!V?OLJED~8kkZRq%{`OTG^4oNYsYtikW2_!q5Og`uVulHT%LH(Wa@PZ)N&hgL9m0Z0NI zVG$m*f2IV#*x)Q#a(T=-fTOSRJxHCm#Fy9>Md;^)UH(ZH(eowVBpSWvX?T4!rBslw z<>|X@u|2Pu+(F9dz0&jaaStW`(eIM@=^9E3$>`kw<#PYsO9sd45uj$a+yE71m zp<`yeNwjUJy^$QPt@fSzt>cW@22C?G^>wR2-__HOtNlfeo?c_M)5~L36JifYMCbiliHV0iKGCQd`%0A8G%Dm_ox595q;DIQvwIpTZ5=* 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%0A7kz&+gtUXx;SI+ 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 J{mag2| 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 literal 0 HcmV?d00001 diff --git a/dynamic_parser/templates/index.html b/dynamic_parser/templates/index.html new file mode 100644 index 0000000..d4b9d18 --- /dev/null +++ b/dynamic_parser/templates/index.html @@ -0,0 +1,208 @@ + + + + + + Codestin Search App + + + + + + + + + +

    + +
    +
    +
    Signature Data Input
    +

    Development Testing Panel

    +
    + +
    + +
    + + +
    + + + + + +
    + + +
    + + + + + +
    + + Please input EIP712 data to sign +
    +
    +
    + + +
    + +
    +
    +
    + +
    +
    + + +
    +
    + Ethereum +
    +
    +
    + + +
    +
    + +
    +
    + +
    +

    Waiting for Signature Data

    +

    Please input or load signature data on the left

    +
    +
    + + AI Smart Risk Analysis +
    +
    + + Detailed Data Interpretation +
    +
    + + Secure Signature Confirmation +
    +
    +
    + + + + + + + + + + + + +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/dynamic_parser/web_ui.py b/dynamic_parser/web_ui.py new file mode 100644 index 0000000..21c8151 --- /dev/null +++ b/dynamic_parser/web_ui.py @@ -0,0 +1,188 @@ +""" +EIP712 Signature Parser Web UI +Provides user-friendly interface to parse and display EIP712 signature data +""" + +import json +import traceback +import os +from flask import Flask, render_template, request, jsonify, send_from_directory +from dynamic_parser import DynamicEIP712Parser +from dynamic_parser.examples.test_data import ALL_TEST_DATA +from dynamic_parser.openai_nlp_generator import create_openai_generator, generate_english_with_openai + +app = Flask(__name__) + +# Automatically load OpenAI API Key +def load_openai_api_key(): + """Automatically load OpenAI API Key""" + try: + # Try to read from api_key.txt file in root directory + api_key_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'api_key.txt') + if os.path.exists(api_key_path): + with open(api_key_path, 'r', encoding='utf-8') as f: + content = f.read().strip() + # Parse format like "OpenAI: sk-xxx" + if ':' in content: + return content.split(':', 1)[1].strip() + return content + except Exception as e: + print(f"Failed to load API key: {e}") + return None + +# Globally load API Key +OPENAI_API_KEY = load_openai_api_key() + + +@app.route('/') +def index(): + """Main page""" + return render_template('index.html') + + +@app.route('/api/parse', methods=['POST']) +def parse_signature(): + """Parse EIP712 signature API""" + try: + data = request.json + eip712_data = data.get('eip712_data') + + if not eip712_data: + return jsonify({'error': 'Please provide EIP712 data'}), 400 + + # If it's a string, try to parse as JSON + if isinstance(eip712_data, str): + try: + eip712_data = json.loads(eip712_data) + except json.JSONDecodeError: + return jsonify({'error': 'Invalid JSON format'}), 400 + + # Create parser and parse + parser = DynamicEIP712Parser() + result = parser.parse(eip712_data) + + # Format result + formatted_result = parser.format_result(result) + + # OpenAI English description generation (enabled by default) + english_description = None + if OPENAI_API_KEY: + try: + english_description = generate_english_with_openai(eip712_data, OPENAI_API_KEY) + except Exception as e: + print(f"OpenAI generation failed: {e}") + english_description = { + 'error': f"OpenAI generation failed: {str(e)}" + } + else: + english_description = { + 'error': "OpenAI API Key not configured" + } + + # Convert to JSON serializable format + serialized_result = { + 'success': True, + 'formatted_result': formatted_result, + 'raw_result': { + 'domain_info': { + 'name': next((f.value for f in result.domain.fields if f.name == 'name'), 'Unknown'), + 'version': next((f.value for f in result.domain.fields if f.name == 'version'), 'Unknown'), + 'chainId': next((f.value for f in result.domain.fields if f.name == 'chainId'), 'Unknown'), + 'verifyingContract': next((f.value for f in result.domain.fields if f.name == 'verifyingContract'), 'Unknown'), + 'fields': [ + { + 'name': field.name, + 'type': field.field_type.value, + 'semantic': field.semantic.value if field.semantic else None, + 'description': field.description, + 'value': field.value + } for field in result.domain.fields + ] + }, + 'primary_struct': { + 'name': result.message.name, + 'fields': [ + { + 'name': field.name, + 'type': field.field_type.value, + 'semantic': field.semantic.value if field.semantic else None, + 'description': field.description, + 'value': field.value + } for field in result.message.fields + ] + }, + 'all_structs': { + 'EIP712Domain': { + 'name': 'EIP712Domain', + 'fields': [ + { + 'name': field.name, + 'type': field.field_type.value, + 'semantic': field.semantic.value if field.semantic else None, + 'description': field.description, + 'value': field.value + } for field in result.domain.fields + ] + }, + result.message.name: { + 'name': result.message.name, + 'fields': [ + { + 'name': field.name, + 'type': field.field_type.value, + 'semantic': field.semantic.value if field.semantic else None, + 'description': field.description, + 'value': field.value + } for field in result.message.fields + ] + } + }, + 'risk_level': getattr(result, 'risk_level', 'unknown'), + 'english_description': english_description if english_description else None + } + } + + return jsonify(serialized_result) + + except Exception as e: + error_msg = str(e) + traceback_str = traceback.format_exc() + return jsonify({ + 'success': False, + 'error': error_msg, + 'traceback': traceback_str + }), 500 + + +@app.route('/api/test_data') +def get_test_data(): + """Get test data API""" + try: + # Convert test data to JSON format + test_data = {} + for name, data in ALL_TEST_DATA.items(): + test_data[name] = { + 'name': name, + 'data': data, + 'description': f"{name} example data" + } + + return jsonify({ + 'success': True, + 'test_data': test_data + }) + except Exception as e: + return jsonify({ + 'success': False, + 'error': str(e) + }), 500 + + +@app.route('/static/') +def serve_static(filename): + """Serve static files""" + return send_from_directory('static', filename) + + +if __name__ == '__main__': + app.run(debug=True, host='0.0.0.0', port=5000) \ No newline at end of file From 66825062d523366282abe32b12955a9dd7bb08e5 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:35:16 +0800 Subject: [PATCH 5/8] Add files via upload --- eip712_parser/__init__.py | 67 +++ .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 1110 bytes .../__pycache__/dynamic_parser.cpython-39.pyc | Bin 0 -> 26659 bytes .../__pycache__/parser.cpython-39.pyc | Bin 0 -> 2810 bytes .../signature_detector.cpython-39.pyc | Bin 0 -> 8700 bytes .../__pycache__/types.cpython-39.pyc | Bin 0 -> 5047 bytes .../universal_parser.cpython-39.pyc | Bin 0 -> 8747 bytes eip712_parser/dynamic_parser.py | 470 +++++++++--------- eip712_parser/examples/advanced_analysis.py | 144 +++--- eip712_parser/examples/basic_usage.py | 58 +-- .../examples/dynamic_parsing_demo.py | 50 +- .../examples/signature_detection_demo.py | 128 ++--- eip712_parser/examples/test_data.py | 16 +- eip712_parser/examples/test_json_file.py | 54 +- eip712_parser/nft/__init__.py | 12 +- eip712_parser/nft/blend.py | 28 +- eip712_parser/nft/blur.py | 28 +- eip712_parser/nft/looksrare.py | 28 +- eip712_parser/nft/seaport.py | 62 +-- eip712_parser/nft/seaport_v14.py | 18 +- eip712_parser/parser.py | 30 +- eip712_parser/permit/__init__.py | 76 +++ .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 1615 bytes .../permit/__pycache__/permit.cpython-39.pyc | Bin 0 -> 1753 bytes .../permit/__pycache__/permit2.cpython-39.pyc | Bin 0 -> 2113 bytes .../__pycache__/permit_lens.cpython-39.pyc | Bin 0 -> 1739 bytes eip712_parser/permit/permit.py | 57 +++ eip712_parser/permit/permit2.py | 74 +++ eip712_parser/permit/permit_lens.py | 56 +++ eip712_parser/security/__init__.py | 11 + .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 365 bytes .../security/__pycache__/price.cpython-39.pyc | Bin 0 -> 3262 bytes .../security_checker.cpython-39.pyc | Bin 0 -> 3441 bytes eip712_parser/security/price.py | 110 ++++ eip712_parser/security/security_checker.py | 125 +++++ eip712_parser/signature_detector.py | 337 +++++++++++++ eip712_parser/types.py | 160 ++++++ eip712_parser/universal_cli.py | 317 ++++++++++++ eip712_parser/universal_parser.py | 288 +++++++++++ eth_transaction_parser/__init__.py | 4 +- .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 633 bytes eth_transaction_parser/models.py | 94 ++-- eth_transaction_parser/parameter_extractor.py | 110 ++-- eth_transaction_parser/parser.py | 68 +-- eth_transaction_parser/tests/__init__.py | 2 +- eth_transaction_parser/tests/demo.py | 102 ++-- eth_transaction_parser/tests/test_data.py | 44 +- eth_transaction_parser/tests/test_parser.py | 72 +-- .../transaction_analyzer.py | 204 ++++---- 49 files changed, 2591 insertions(+), 913 deletions(-) create mode 100644 eip712_parser/__init__.py create mode 100644 eip712_parser/__pycache__/__init__.cpython-39.pyc create mode 100644 eip712_parser/__pycache__/dynamic_parser.cpython-39.pyc create mode 100644 eip712_parser/__pycache__/parser.cpython-39.pyc create mode 100644 eip712_parser/__pycache__/signature_detector.cpython-39.pyc create mode 100644 eip712_parser/__pycache__/types.cpython-39.pyc create mode 100644 eip712_parser/__pycache__/universal_parser.cpython-39.pyc create mode 100644 eip712_parser/permit/__init__.py create mode 100644 eip712_parser/permit/__pycache__/__init__.cpython-39.pyc create mode 100644 eip712_parser/permit/__pycache__/permit.cpython-39.pyc create mode 100644 eip712_parser/permit/__pycache__/permit2.cpython-39.pyc create mode 100644 eip712_parser/permit/__pycache__/permit_lens.cpython-39.pyc create mode 100644 eip712_parser/permit/permit.py create mode 100644 eip712_parser/permit/permit2.py create mode 100644 eip712_parser/permit/permit_lens.py create mode 100644 eip712_parser/security/__init__.py create mode 100644 eip712_parser/security/__pycache__/__init__.cpython-39.pyc create mode 100644 eip712_parser/security/__pycache__/price.cpython-39.pyc create mode 100644 eip712_parser/security/__pycache__/security_checker.cpython-39.pyc create mode 100644 eip712_parser/security/price.py create mode 100644 eip712_parser/security/security_checker.py create mode 100644 eip712_parser/signature_detector.py create mode 100644 eip712_parser/types.py create mode 100644 eip712_parser/universal_cli.py create mode 100644 eip712_parser/universal_parser.py create mode 100644 eth_transaction_parser/__pycache__/__init__.cpython-39.pyc diff --git a/eip712_parser/__init__.py b/eip712_parser/__init__.py new file mode 100644 index 0000000..975d062 --- /dev/null +++ b/eip712_parser/__init__.py @@ -0,0 +1,67 @@ +""" +EIP712 Parser Module + +Provides parsing functionality for Ethereum EIP712 signatures, including: +1. Protocol-specific parsers (NFT, Permit, etc.) +2. Universal dynamic parser (arbitrary EIP712 structures) +""" + +# Protocol-specific parsing +from .parser import parse_request + +# Dynamic parsing functionality +from .parser import parse_dynamic, parse_and_format, analyze_eip712 +from .dynamic_parser import ( + DynamicEIP712Parser, + EIP712ParseResult, + FieldInfo, + StructInfo, + FieldType, + FieldSemantic +) + +# Type definitions +from .types import ( + EIP712Like, + ParsedMessage, + NFTMessage, + PermitMessage, + OrderType, + NFTProtocolType +) + +# Universal parser and signature detection +from .universal_parser import UniversalParser +from .signature_detector import SignatureDetector, SignatureType + +__all__ = [ + # Main parsing functions + "parse_request", # Protocol-specific parsing + "parse_dynamic", # Dynamic parsing of arbitrary structures + "parse_and_format", # Parse and format as text + "analyze_eip712", # Analyze and return structured result + + # Dynamic parser classes + "DynamicEIP712Parser", + "EIP712ParseResult", + "FieldInfo", + "StructInfo", + "FieldType", + "FieldSemantic", + + # Type definitions + "EIP712Like", + "ParsedMessage", + "NFTMessage", + "PermitMessage", + "OrderType", + "NFTProtocolType", + + # Utility classes + "UniversalParser", + "SignatureDetector", + "SignatureType" +] + +# Version information +__version__ = "1.1.0" \ No newline at end of file diff --git a/eip712_parser/__pycache__/__init__.cpython-39.pyc b/eip712_parser/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34f9405e34e387962e55a44b776c1ec374aefac1 GIT binary patch literal 1110 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 literal 0 HcmV?d00001 diff --git a/eip712_parser/__pycache__/universal_parser.cpython-39.pyc b/eip712_parser/__pycache__/universal_parser.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bf9526e700a2f4c4f2cc920e67cf8c7cda241dcf GIT binary patch literal 8747 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 Y(Oz(e List[Tuple[str, FieldSemantic, float]]: - """初始化语义模式 - 返回 (模式, 语义, 置信度) 的列表""" + """Initialize semantic patterns - returns list of (pattern, semantic, confidence)""" return [ - # 高置信度模式 (0.9+) + # High confidence patterns (0.9+) (r"^tokenid$", FieldSemantic.TOKEN_ID, 0.95), (r"^nonce$", FieldSemantic.NONCE, 0.95), (r"^chainid$", FieldSemantic.CHAIN_ID, 0.95), @@ -177,14 +177,14 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r"^price$", FieldSemantic.PRICE, 0.95), (r"^fee$", FieldSemantic.FEE, 0.95), - # 中高置信度模式 (0.8+) + # Medium-high confidence patterns (0.8+) (r".*token.*id.*", FieldSemantic.TOKEN_ID, 0.85), (r".*proposal.*id.*", FieldSemantic.PROPOSAL_ID, 0.85), (r".*chain.*id.*", FieldSemantic.CHAIN_ID, 0.85), (r".*voting.*power.*", FieldSemantic.VOTING_POWER, 0.85), (r".*merkle.*root.*", FieldSemantic.MERKLE_ROOT, 0.85), - # 身份相关 (0.7+) + # Identity related (0.7+) (r".*holder.*", FieldSemantic.OWNER, 0.8), (r".*minter.*", FieldSemantic.OWNER, 0.8), (r".*creator.*", FieldSemantic.CREATOR, 0.8), @@ -201,7 +201,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r".*validator.*", FieldSemantic.VALIDATOR, 0.8), (r".*delegate.*", FieldSemantic.DELEGATE, 0.8), - # 金额相关 (0.7+) + # Amount related (0.7+) (r".*quantity.*", FieldSemantic.AMOUNT, 0.8), (r".*cost.*", FieldSemantic.FEE, 0.75), (r".*reward.*", FieldSemantic.REWARD, 0.8), @@ -218,7 +218,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r".*yield.*", FieldSemantic.YIELD, 0.8), (r".*royalty.*", FieldSemantic.ROYALTY, 0.8), - # 时间相关 (0.7+) + # Time related (0.7+) (r".*expiry.*", FieldSemantic.DEADLINE, 0.85), (r".*expires.*", FieldSemantic.DEADLINE, 0.85), (r".*time.*", FieldSemantic.TIMESTAMP, 0.7), @@ -228,7 +228,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r".*delay.*", FieldSemantic.DELAY, 0.8), (r".*period.*", FieldSemantic.PERIOD, 0.8), - # 标识相关 (0.7+) + # Identifier related (0.7+) (r".*salt.*", FieldSemantic.SALT, 0.9), (r".*index.*", FieldSemantic.INDEX, 0.8), (r".*counter.*", FieldSemantic.COUNTER, 0.8), @@ -236,7 +236,7 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r"^id$", FieldSemantic.ID, 0.8), (r".*_id$", FieldSemantic.ID, 0.75), - # 数据相关 (0.7+) + # Data related (0.7+) (r".*data.*", FieldSemantic.DATA, 0.75), (r".*payload.*", FieldSemantic.DATA, 0.8), (r".*hash.*", FieldSemantic.HASH, 0.8), @@ -244,54 +244,54 @@ def _init_semantic_patterns(self) -> List[Tuple[str, FieldSemantic, float]]: (r".*proof.*", FieldSemantic.PROOF, 0.8), (r".*metadata.*", FieldSemantic.METADATA, 0.8), - # 配置相关 (0.7+) + # Configuration related (0.7+) (r".*version.*", FieldSemantic.VERSION, 0.8), (r".*type.*", FieldSemantic.TYPE, 0.7), (r".*status.*", FieldSemantic.STATUS, 0.8), (r".*flag.*", FieldSemantic.FLAG, 0.75), (r".*option.*", FieldSemantic.OPTION, 0.75), - # 治理相关 (0.7+) + # Governance related (0.7+) (r".*vote.*type.*", FieldSemantic.VOTE_TYPE, 0.85), (r".*support.*", FieldSemantic.VOTE_TYPE, 0.8), - # NFT相关 (0.7+) + # NFT related (0.7+) (r".*collection.*", FieldSemantic.COLLECTION, 0.8), (r".*pool.*", FieldSemantic.POOL, 0.75), ] def _init_type_patterns(self) -> List[Tuple[str, str, FieldType, float]]: - """初始化类型推断模式 - 返回 (字段名模式, 类型模式, 推断类型, 置信度) 的列表""" + """Initialize type inference patterns - returns list of (field name pattern, type pattern, inferred type, confidence)""" return [ - # 金额类型 + # Amount type (r".*amount.*|.*value.*|.*price.*|.*fee.*|.*cost.*|.*quantity.*", r"uint.*", FieldType.AMOUNT, 0.9), (r".*balance.*|.*allowance.*|.*reward.*|.*penalty.*", r"uint.*", FieldType.AMOUNT, 0.85), (r".*liquidity.*|.*slippage.*|.*rate.*|.*yield.*", r"uint.*", FieldType.AMOUNT, 0.8), - # 时间戳类型 + # Timestamp type (r".*time.*|.*deadline.*|.*expiry.*|.*expires.*|.*timestamp.*", r"uint.*", FieldType.TIMESTAMP, 0.9), (r".*duration.*|.*delay.*|.*period.*", r"uint.*", FieldType.TIMESTAMP, 0.8), - # 随机数类型 + # Nonce type (r".*nonce.*", r"uint.*", FieldType.NONCE, 0.95), (r".*counter.*|.*index.*", r"uint.*", FieldType.NONCE, 0.8), - # 地址类型 + # Address type (r".*token.*|.*erc20.*|.*erc721.*|.*erc1155.*", r"address", FieldType.TOKEN_ADDRESS, 0.9), (r".*contract.*|.*verifying.*", r"address", FieldType.CONTRACT_ADDRESS, 0.85), - # 哈希类型 + # Hash type (r".*hash.*|.*root.*|.*digest.*", r"bytes32", FieldType.HASH, 0.9), - # 签名类型 + # Signature type (r".*signature.*|.*sig.*", r"bytes.*", FieldType.SIGNATURE, 0.9), - # 百分比类型 + # Percentage type (r".*percent.*|.*ratio.*|.*bps.*", r"uint.*", FieldType.PERCENTAGE, 0.85), ] def _init_context_keywords(self) -> Dict[str, Set[str]]: - """初始化上下文关键词""" + """Initialize context keywords""" return { "permit": {"spender", "owner", "value", "deadline", "nonce"}, "order": {"offerer", "offer", "consideration", "orderType", "startTime", "endTime"}, @@ -306,7 +306,7 @@ def _init_context_keywords(self) -> Dict[str, Set[str]]: } def _init_value_analyzers(self) -> List[callable]: - """初始化值分析器""" + """Initialize value analyzers""" return [ self._analyze_timestamp_value, self._analyze_amount_value, @@ -317,23 +317,23 @@ def _init_value_analyzers(self) -> List[callable]: def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: """ - 解析 EIP712 数据 + Parse EIP712 data Args: - eip712_data: EIP712 格式的数据 + eip712_data: EIP712 format data Returns: - 解析结果 + Parsing result """ if not self._validate_eip712_data(eip712_data): - raise ValueError("无效的 EIP712 数据格式") + raise ValueError("Invalid EIP712 data format") self.types = eip712_data['types'] - # 解析域信息 + # Parse domain information domain_struct = self._parse_struct("EIP712Domain", eip712_data['domain']) - # 解析主要消息 + # Parse primary message primary_type = eip712_data['primaryType'] message_struct = self._parse_struct(primary_type, eip712_data['message']) @@ -345,7 +345,7 @@ def parse(self, eip712_data: Dict[str, Any]) -> EIP712ParseResult: ) def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: - """验证 EIP712 数据格式""" + """Validate EIP712 data format""" required_fields = ['types', 'domain', 'primaryType', 'message'] for field in required_fields: @@ -362,22 +362,22 @@ def _validate_eip712_data(self, data: Dict[str, Any]) -> bool: def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> StructInfo: """ - 解析结构体(增强版) + Parse struct (enhanced version) Args: - struct_name: 结构体名称 - struct_data: 结构体数据 + struct_name: Struct name + struct_data: Struct data Returns: - 结构体信息 + Struct information """ if struct_name not in self.types: - raise ValueError(f"未找到结构体定义: {struct_name}") + raise ValueError(f"Struct definition not found: {struct_name}") struct_definition = self.types[struct_name] field_names = [field_def['name'] for field_def in struct_definition] - # 检测结构体上下文类型 + # Detect struct context type struct_context = self._detect_struct_context(struct_name, field_names) fields = [] @@ -400,18 +400,18 @@ def _parse_struct(self, struct_name: str, struct_data: Dict[str, Any]) -> Struct def _parse_field(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> FieldInfo: """ - 解析字段(增强版) + Parse field (enhanced version) Args: - field_name: 字段名 - field_type: 字段类型 - field_value: 字段值 - struct_context: 结构体上下文 + field_name: Field name + field_type: Field type + field_value: Field value + struct_context: Struct context Returns: - 字段信息 + Field information """ - # 解析类型 + # Parse type is_array = field_type.endswith('[]') array_element_type = None base_type = field_type @@ -420,13 +420,13 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc base_type = field_type[:-2] array_element_type = base_type - # 推断字段类型 + # Infer field type inferred_type = self._infer_field_type(field_name, base_type, field_value) - # 推断语义(带置信度) + # Infer semantic (with confidence) semantic, confidence = self._infer_semantic(field_name, base_type, field_value, struct_context) - # 处理子结构 + # Handle child structures children = [] if base_type in self.types and field_value is not None: if is_array and isinstance(field_value, list): @@ -439,7 +439,7 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc field_type=FieldType.STRUCT, semantic=None, value=item, - description=f"数组元素 {i}", + description=f"Array element {i}", confidence=0.9, children=[FieldInfo( name=child.name, @@ -464,14 +464,14 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc confidence=child.confidence ) for child in child_struct.fields] - # 收集上下文提示 + # Collect context hints context_hints = [] if struct_context: - context_hints.append(f"结构体类型: {struct_context}") + context_hints.append(f"Struct type: {struct_context}") if confidence >= 0.8: - context_hints.append(f"高置信度识别") + context_hints.append(f"High confidence recognition") - # 生成描述 + # Generate description description = self._generate_field_description(field_name, inferred_type, semantic, field_value, confidence) return FieldInfo( @@ -489,16 +489,16 @@ def _parse_field(self, field_name: str, field_type: str, field_value: Any, struc ) def _analyze_timestamp_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: - """分析时间戳值""" + """Analyze timestamp value""" if not isinstance(field_value, (int, str)): return None try: timestamp = int(field_value) - # 检查是否是合理的时间戳范围 (2000年 - 2100年) + # Check if it's a reasonable timestamp range (2000 - 2100) if 946684800 <= timestamp <= 4102444800: confidence = 0.8 - # 检查是否是截止时间 + # Check if it's a deadline if any(keyword in field_name.lower() for keyword in ['deadline', 'expiry', 'expires']): return (FieldType.DEADLINE, FieldSemantic.DEADLINE, confidence + 0.1) else: @@ -509,7 +509,7 @@ def _analyze_timestamp_value(self, field_name: str, field_type: str, field_value return None def _analyze_amount_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: - """分析金额值""" + """Analyze amount value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -517,8 +517,8 @@ def _analyze_amount_value(self, field_name: str, field_type: str, field_value: A amount = int(field_value) field_name_lower = field_name.lower() - # 检查是否是典型的ERC20金额 (18位小数) - if amount > 10**15: # 大于 0.001 ETH + # Check if it's a typical ERC20 amount (18 decimal places) + if amount > 10**15: # Greater than 0.001 ETH confidence = 0.8 if any(keyword in field_name_lower for keyword in ['amount', 'value', 'quantity']): return (FieldType.AMOUNT, FieldSemantic.AMOUNT, confidence + 0.1) @@ -534,22 +534,22 @@ def _analyze_amount_value(self, field_name: str, field_type: str, field_value: A return None def _analyze_address_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: - """分析地址值""" + """Analyze address value""" if field_type != 'address' or not isinstance(field_value, str): return None - # 检查是否是有效的以太坊地址 + # Check if it's a valid Ethereum address if not (field_value.startswith('0x') and len(field_value) == 42): return None field_name_lower = field_name.lower() confidence = 0.8 - # 检查是否是零地址 + # Check if it's zero address if field_value == '0x0000000000000000000000000000000000000000': confidence = 0.6 - # 根据字段名推断地址类型 + # Infer address type based on field name if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): return (FieldType.TOKEN_ADDRESS, FieldSemantic.COLLECTION, confidence + 0.1) elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): @@ -558,7 +558,7 @@ def _analyze_address_value(self, field_name: str, field_type: str, field_value: return (FieldType.USER_ADDRESS, None, confidence) def _analyze_percentage_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: - """分析百分比值""" + """Analyze percentage value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -566,7 +566,7 @@ def _analyze_percentage_value(self, field_name: str, field_type: str, field_valu value = int(field_value) field_name_lower = field_name.lower() - # 检查是否是百分比(0-100或0-10000的范围) + # Check if it's a percentage (range 0-100 or 0-10000) if (0 <= value <= 100 and any(keyword in field_name_lower for keyword in ['percent', 'ratio'])) or \ (0 <= value <= 10000 and 'bps' in field_name_lower): return (FieldType.PERCENTAGE, FieldSemantic.RATE, 0.85) @@ -576,7 +576,7 @@ def _analyze_percentage_value(self, field_name: str, field_type: str, field_valu return None def _analyze_enum_value(self, field_name: str, field_type: str, field_value: Any) -> Optional[Tuple[FieldType, FieldSemantic, float]]: - """分析枚举值""" + """Analyze enum value""" if not isinstance(field_value, (int, str)) or not field_type.startswith(('uint', 'int')): return None @@ -584,7 +584,7 @@ def _analyze_enum_value(self, field_name: str, field_type: str, field_value: Any value = int(field_value) field_name_lower = field_name.lower() - # 检查是否是小范围的整数(可能是枚举) + # Check if it's a small range integer (might be an enum) if 0 <= value <= 20: if any(keyword in field_name_lower for keyword in ['type', 'kind', 'status', 'state', 'mode']): return (FieldType.ENUM_VALUE, FieldSemantic.TYPE, 0.75) @@ -596,43 +596,43 @@ def _analyze_enum_value(self, field_name: str, field_type: str, field_value: Any return None def _detect_struct_context(self, struct_name: str, field_names: List[str]) -> Optional[str]: - """检测结构体上下文类型""" + """Detect struct context type""" field_names_lower = [name.lower() for name in field_names] field_set = set(field_names_lower) - # 计算每种上下文的匹配度 + # Calculate match score for each context context_scores = {} for context_type, keywords in self.context_keywords.items(): match_count = len(keywords.intersection(field_set)) if match_count > 0: context_scores[context_type] = match_count / len(keywords) - # 返回匹配度最高的上下文 + # Return context with highest match score if context_scores: best_context = max(context_scores, key=context_scores.get) - if context_scores[best_context] >= 0.5: # 至少50%匹配 + if context_scores[best_context] >= 0.5: # At least 50% match return best_context return None def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) -> FieldType: - """推断字段类型(增强版)""" + """Infer field type (enhanced version)""" field_name_lower = field_name.lower() - # 首先使用值分析器 + # First use value analyzers for analyzer in self.value_analyzers: result = analyzer(field_name, field_type, field_value) if result: return result[0] - # 使用类型模式匹配 + # Use type pattern matching for name_pattern, type_pattern, inferred_type, confidence in self.type_patterns: if re.match(name_pattern, field_name_lower) and re.match(type_pattern, field_type): return inferred_type - # 基于字段类型的默认推断 + # Default inference based on field type if field_type.startswith('uint') or field_type.startswith('int'): - # 进一步推断是否为金额、时间戳等 + # Further infer if it's amount, timestamp, etc. if any(keyword in field_name_lower for keyword in ['amount', 'value', 'price', 'fee', 'cost', 'quantity']): return FieldType.AMOUNT elif any(keyword in field_name_lower for keyword in ['time', 'deadline', 'expiry', 'expires', 'timestamp']): @@ -643,7 +643,7 @@ def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) return FieldType.UINT if field_type.startswith('uint') else FieldType.INT elif field_type == 'address': - # 根据字段名推断地址类型 + # Infer address type based on field name if any(keyword in field_name_lower for keyword in ['token', 'erc20', 'erc721', 'erc1155']): return FieldType.TOKEN_ADDRESS elif any(keyword in field_name_lower for keyword in ['contract', 'verifying']): @@ -672,28 +672,28 @@ def _infer_field_type(self, field_name: str, field_type: str, field_value: Any) return FieldType.ARRAY else: - return FieldType.STRING # 默认类型 + return FieldType.STRING # Default type def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, struct_context: Optional[str] = None) -> Tuple[Optional[FieldSemantic], float]: - """推断字段语义(增强版)""" + """Infer field semantic (enhanced version)""" field_name_lower = field_name.lower() best_semantic = None best_confidence = 0.0 - # 首先使用值分析器 + # First use value analyzers for analyzer in self.value_analyzers: result = analyzer(field_name, field_type, field_value) if result and result[1] and result[2] > best_confidence: best_semantic = result[1] best_confidence = result[2] - # 使用语义模式匹配 + # Use semantic pattern matching for pattern, semantic, confidence in self.semantic_patterns: if re.match(pattern, field_name_lower) and confidence > best_confidence: best_semantic = semantic best_confidence = confidence - # 上下文增强 + # Context enhancement if struct_context and best_semantic: context_boost = self._get_context_boost(best_semantic, struct_context) best_confidence = min(0.95, best_confidence + context_boost) @@ -701,7 +701,7 @@ def _infer_semantic(self, field_name: str, field_type: str, field_value: Any, st return (best_semantic, best_confidence) def _get_context_boost(self, semantic: FieldSemantic, struct_context: str) -> float: - """根据结构体上下文计算语义置信度提升""" + """Calculate semantic confidence boost based on struct context""" context_boosts = { "permit": { FieldSemantic.OWNER: 0.1, @@ -753,125 +753,125 @@ def _get_context_boost(self, semantic: FieldSemantic, struct_context: str) -> fl return context_boosts.get(struct_context, {}).get(semantic, 0.0) def _generate_field_description(self, field_name: str, field_type: FieldType, semantic: Optional[FieldSemantic], field_value: Any, confidence: float = 0.0) -> str: - """生成字段描述""" - base_desc = f"字段 '{field_name}'" + """Generate field description""" + base_desc = f"Field '{field_name}'" - # 添加语义描述 + # Add semantic description if semantic: semantic_desc = { - # 身份相关 - FieldSemantic.OWNER: "拥有者地址", - FieldSemantic.SPENDER: "授权花费者地址", - FieldSemantic.RECIPIENT: "接收者地址", - FieldSemantic.TRADER: "交易者地址", - FieldSemantic.OFFERER: "报价者地址", - FieldSemantic.BIDDER: "竞拍者地址", - FieldSemantic.SELLER: "卖方地址", - FieldSemantic.BUYER: "买方地址", - FieldSemantic.VALIDATOR: "验证者地址", - FieldSemantic.DELEGATE: "委托者地址", - FieldSemantic.CREATOR: "创建者地址", + # Identity related + FieldSemantic.OWNER: "Owner address", + FieldSemantic.SPENDER: "Authorized spender address", + FieldSemantic.RECIPIENT: "Recipient address", + FieldSemantic.TRADER: "Trader address", + FieldSemantic.OFFERER: "Offerer address", + FieldSemantic.BIDDER: "Bidder address", + FieldSemantic.SELLER: "Seller address", + FieldSemantic.BUYER: "Buyer address", + FieldSemantic.VALIDATOR: "Validator address", + FieldSemantic.DELEGATE: "Delegate address", + FieldSemantic.CREATOR: "Creator address", - # 金额相关 - FieldSemantic.VALUE: "数值", - FieldSemantic.AMOUNT: "金额", - FieldSemantic.PRICE: "价格", - FieldSemantic.FEE: "手续费", - FieldSemantic.REWARD: "奖励金额", - FieldSemantic.PENALTY: "惩罚金额", - FieldSemantic.BALANCE: "余额", - FieldSemantic.ALLOWANCE: "授权额度", - FieldSemantic.MINIMUM: "最小值", - FieldSemantic.MAXIMUM: "最大值", - FieldSemantic.LIQUIDITY: "流动性", - FieldSemantic.SLIPPAGE: "滑点", - FieldSemantic.RATE: "比率", - FieldSemantic.YIELD: "收益率", - FieldSemantic.ROYALTY: "版税", + # Amount related + FieldSemantic.VALUE: "Value", + FieldSemantic.AMOUNT: "Amount", + FieldSemantic.PRICE: "Price", + FieldSemantic.FEE: "Fee", + FieldSemantic.REWARD: "Reward amount", + FieldSemantic.PENALTY: "Penalty amount", + FieldSemantic.BALANCE: "Balance", + FieldSemantic.ALLOWANCE: "Allowance", + FieldSemantic.MINIMUM: "Minimum value", + FieldSemantic.MAXIMUM: "Maximum value", + FieldSemantic.LIQUIDITY: "Liquidity", + FieldSemantic.SLIPPAGE: "Slippage", + FieldSemantic.RATE: "Rate", + FieldSemantic.YIELD: "Yield", + FieldSemantic.ROYALTY: "Royalty", - # 时间相关 - FieldSemantic.TIMESTAMP: "时间戳", - FieldSemantic.DEADLINE: "截止时间", - FieldSemantic.START_TIME: "开始时间", - FieldSemantic.END_TIME: "结束时间", - FieldSemantic.DURATION: "持续时间", - FieldSemantic.DELAY: "延迟时间", - FieldSemantic.PERIOD: "周期", + # Time related + FieldSemantic.TIMESTAMP: "Timestamp", + FieldSemantic.DEADLINE: "Deadline", + FieldSemantic.START_TIME: "Start time", + FieldSemantic.END_TIME: "End time", + FieldSemantic.DURATION: "Duration", + FieldSemantic.DELAY: "Delay", + FieldSemantic.PERIOD: "Period", - # 标识相关 - FieldSemantic.TOKEN_ID: "代币ID", - FieldSemantic.NONCE: "随机数", - FieldSemantic.SALT: "盐值", - FieldSemantic.INDEX: "索引", - FieldSemantic.ID: "标识符", - FieldSemantic.KEY: "键值", - FieldSemantic.COUNTER: "计数器", + # Identifier related + FieldSemantic.TOKEN_ID: "Token ID", + FieldSemantic.NONCE: "Nonce", + FieldSemantic.SALT: "Salt", + FieldSemantic.INDEX: "Index", + FieldSemantic.ID: "Identifier", + FieldSemantic.KEY: "Key", + FieldSemantic.COUNTER: "Counter", - # 数据相关 - FieldSemantic.DATA: "数据", - FieldSemantic.HASH: "哈希值", - FieldSemantic.SIGNATURE: "签名", - FieldSemantic.PROOF: "证明", - FieldSemantic.MERKLE_ROOT: "默克尔根", - FieldSemantic.METADATA: "元数据", + # Data related + FieldSemantic.DATA: "Data", + FieldSemantic.HASH: "Hash value", + FieldSemantic.SIGNATURE: "Signature", + FieldSemantic.PROOF: "Proof", + FieldSemantic.MERKLE_ROOT: "Merkle root", + FieldSemantic.METADATA: "Metadata", - # 配置相关 - FieldSemantic.VERSION: "版本号", - FieldSemantic.CHAIN_ID: "链ID", - FieldSemantic.TYPE: "类型", - FieldSemantic.STATUS: "状态", - FieldSemantic.FLAG: "标志", - FieldSemantic.OPTION: "选项", + # Configuration related + FieldSemantic.VERSION: "Version", + FieldSemantic.CHAIN_ID: "Chain ID", + FieldSemantic.TYPE: "Type", + FieldSemantic.STATUS: "Status", + FieldSemantic.FLAG: "Flag", + FieldSemantic.OPTION: "Option", - # 治理相关 - FieldSemantic.PROPOSAL_ID: "提案ID", - FieldSemantic.VOTE_TYPE: "投票类型", - FieldSemantic.VOTING_POWER: "投票权重", + # Governance related + FieldSemantic.PROPOSAL_ID: "Proposal ID", + FieldSemantic.VOTE_TYPE: "Vote type", + FieldSemantic.VOTING_POWER: "Voting power", - # NFT相关 - FieldSemantic.COLLECTION: "合集地址", - FieldSemantic.POOL: "资金池", + # NFT related + FieldSemantic.COLLECTION: "Collection address", + FieldSemantic.POOL: "Pool", }.get(semantic, semantic.value) - # 添加置信度显示(高置信度时显示) + # Add confidence display (shown when high confidence) confidence_str = "" if confidence >= 0.8: - confidence_str = f" [{confidence:.0%}置信度]" + confidence_str = f" [{confidence:.0%} confidence]" base_desc += f" ({semantic_desc}{confidence_str})" - # 添加类型描述 + # Add type description type_desc = { - FieldType.TOKEN_ADDRESS: "代币合约地址", - FieldType.USER_ADDRESS: "用户地址", - FieldType.CONTRACT_ADDRESS: "合约地址", - FieldType.AMOUNT: "金额数值", - FieldType.TIMESTAMP: "时间戳", - FieldType.NONCE: "随机数", - FieldType.HASH: "哈希值", - FieldType.SIGNATURE: "签名数据", + FieldType.TOKEN_ADDRESS: "Token contract address", + FieldType.USER_ADDRESS: "User address", + FieldType.CONTRACT_ADDRESS: "Contract address", + FieldType.AMOUNT: "Amount value", + FieldType.TIMESTAMP: "Timestamp", + FieldType.NONCE: "Nonce", + FieldType.HASH: "Hash value", + FieldType.SIGNATURE: "Signature data", }.get(field_type) if type_desc: base_desc += f" - {type_desc}" - # 添加值描述 + # Add value description if field_value is not None: if field_type == FieldType.TIMESTAMP and isinstance(field_value, (int, str)): try: timestamp = int(field_value) - if timestamp > 1000000000: # 看起来像时间戳 + if timestamp > 1000000000: # Looks like a timestamp dt = datetime.datetime.fromtimestamp(timestamp) - base_desc += f" (时间: {dt.strftime('%Y-%m-%d %H:%M:%S')})" + base_desc += f" (Time: {dt.strftime('%Y-%m-%d %H:%M:%S')})" except: pass elif field_type in [FieldType.TOKEN_ADDRESS, FieldType.USER_ADDRESS, FieldType.CONTRACT_ADDRESS]: base_desc += f" ({field_value})" elif field_type == FieldType.AMOUNT and isinstance(field_value, (int, str)): try: - # 尝试转换为 ETH 单位显示 + # Try to convert to ETH unit for display amount = int(field_value) - if amount > 10**15: # 如果大于 0.001 ETH + if amount > 10**15: # If greater than 0.001 ETH eth_amount = amount / 10**18 base_desc += f" ({eth_amount:.6f} ETH)" except: @@ -882,65 +882,65 @@ def _generate_field_description(self, field_name: str, field_type: FieldType, se return base_desc def _generate_struct_description(self, struct_name: str, fields: List[FieldInfo], struct_context: Optional[str] = None) -> str: - """生成结构体描述(增强版)""" - # 根据结构体名称和字段推断用途 + """Generate struct description (enhanced version)""" + # Infer purpose based on struct name and fields if struct_name == "EIP712Domain": - return "EIP712 域信息 - 定义签名的域和验证上下文" + return "EIP712 domain information - defines the domain and verification context of the signature" - # 使用检测到的上下文 + # Use detected context if struct_context: context_descriptions = { - "permit": f"授权许可结构 '{struct_name}' - 允许第三方代表用户操作代币", - "order": f"市场订单结构 '{struct_name}' - 定义交易的报价条件和期望", - "vote": f"治理投票结构 '{struct_name}' - 记录对提案的投票决策", - "transfer": f"转账结构 '{struct_name}' - 定义资产转移的详细信息", - "mint": f"铸造结构 '{struct_name}' - 定义新代币的创建参数", - "burn": f"销毁结构 '{struct_name}' - 定义代币销毁的操作", - "governance": f"治理结构 '{struct_name}' - 定义治理提案和执行参数", - "auction": f"拍卖结构 '{struct_name}' - 定义拍卖的竞价和条件", - "swap": f"交换结构 '{struct_name}' - 定义代币交换的参数", - "liquidity": f"流动性结构 '{struct_name}' - 定义流动性操作的参数", + "permit": f"Authorization permit structure '{struct_name}' - allows third parties to operate tokens on behalf of users", + "order": f"Market order structure '{struct_name}' - defines offer conditions and expectations for transactions", + "vote": f"Governance voting structure '{struct_name}' - records voting decisions on proposals", + "transfer": f"Transfer structure '{struct_name}' - defines detailed information for asset transfers", + "mint": f"Mint structure '{struct_name}' - defines parameters for creating new tokens", + "burn": f"Burn structure '{struct_name}' - defines token burning operations", + "governance": f"Governance structure '{struct_name}' - defines governance proposal and execution parameters", + "auction": f"Auction structure '{struct_name}' - defines bidding and conditions for auctions", + "swap": f"Swap structure '{struct_name}' - defines parameters for token swaps", + "liquidity": f"Liquidity structure '{struct_name}' - defines parameters for liquidity operations", } if struct_context in context_descriptions: return context_descriptions[struct_context] - # 根据字段推断结构体用途(后备方案) + # Infer struct purpose based on fields (fallback) field_names = [field.name.lower() for field in fields] high_confidence_fields = [field for field in fields if field.confidence >= 0.8] if any(name in field_names for name in ['offerer', 'offer', 'consideration']): - return f"市场订单结构 '{struct_name}' - 包含交易报价和期望条件" + return f"Market order structure '{struct_name}' - contains transaction offers and expected conditions" elif any(name in field_names for name in ['spender', 'value', 'deadline']): - return f"授权许可结构 '{struct_name}' - 包含代币授权信息" + return f"Authorization permit structure '{struct_name}' - contains token authorization information" elif any(name in field_names for name in ['to', 'value', 'data']): - return f"交易结构 '{struct_name}' - 包含交易目标和数据" + return f"Transaction structure '{struct_name}' - contains transaction target and data" elif any(name in field_names for name in ['voter', 'proposal', 'support']): - return f"治理投票结构 '{struct_name}' - 包含投票决策信息" + return f"Governance voting structure '{struct_name}' - contains voting decision information" else: - confidence_desc = f" (其中 {len(high_confidence_fields)} 个高置信度字段)" if high_confidence_fields else "" - return f"数据结构 '{struct_name}' - 包含 {len(fields)} 个字段{confidence_desc}" + confidence_desc = f" (with {len(high_confidence_fields)} high-confidence fields)" if high_confidence_fields else "" + return f"Data structure '{struct_name}' - contains {len(fields)} fields{confidence_desc}" def format_result(self, result: EIP712ParseResult) -> str: - """格式化解析结果为可读文本""" + """Format parsing result as readable text""" lines = [] lines.append("=" * 60) - lines.append("EIP712 签名结构解析结果") + lines.append("EIP712 Signature Structure Parsing Result") lines.append("=" * 60) - # 域信息 - lines.append(f"\n域信息 ({result.domain.name}):") - lines.append(f" 描述: {result.domain.description}") + # Domain information + lines.append(f"\nDomain Information ({result.domain.name}):") + lines.append(f" Description: {result.domain.description}") for field in result.domain.fields: lines.append(f" • {field.description}") - # 主要消息 - lines.append(f"\n主要消息 ({result.primary_type}):") - lines.append(f" 描述: {result.message.description}") - lines.append(f" 字段数量: {len(result.message.fields)}") + # Primary message + lines.append(f"\nPrimary Message ({result.primary_type}):") + lines.append(f" Description: {result.message.description}") + lines.append(f" Field count: {len(result.message.fields)}") - lines.append(f"\n消息结构树:") + lines.append(f"\nMessage Structure Tree:") self._format_struct_tree(result.message, lines, indent=" ") lines.append("\n" + "=" * 60) @@ -948,7 +948,7 @@ def format_result(self, result: EIP712ParseResult) -> str: return "\n".join(lines) def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str = ""): - """格式化结构体树""" + """Format struct tree""" for i, field in enumerate(struct.fields): is_last = i == len(struct.fields) - 1 tree_char = "└── " if is_last else "├── " @@ -956,7 +956,7 @@ def _format_struct_tree(self, struct: StructInfo, lines: List[str], indent: str lines.append(f"{indent}{tree_char}{field.description}") - # 递归显示子字段 + # Recursively display child fields if field.children: for j, child in enumerate(field.children): child_is_last = j == len(field.children) - 1 diff --git a/eip712_parser/examples/advanced_analysis.py b/eip712_parser/examples/advanced_analysis.py index 10241a1..df1620b 100644 --- a/eip712_parser/examples/advanced_analysis.py +++ b/eip712_parser/examples/advanced_analysis.py @@ -1,14 +1,14 @@ #!/usr/bin/env python3 """ -EIP712解析器高级分析示例 -展示详细的签名分析和模块化参数拆解 +EIP712 Parser Advanced Analysis Example +Demonstrates detailed signature analysis and modular parameter breakdown """ import json import sys import os -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from eip712_parser import parse_request @@ -18,38 +18,38 @@ def analyze_eip712_signature(eip712_data, signature_name=""): """ - 详细分析EIP712签名 + Detailed analysis of EIP712 signature Args: - eip712_data: EIP712格式的数据 - signature_name: 签名名称(用于显示) + eip712_data: Data in EIP712 format + signature_name: Signature name (for display) """ print(f"\n{'='*60}") - print(f"分析 {signature_name} EIP712 签名") + print(f"Analyzing {signature_name} EIP712 Signature") print(f"{'='*60}") - # 1. 基本信息分析 - print(" 基本信息:") - print(f" 主类型: {eip712_data.get('primaryType', 'Unknown')}") - print(f" 域名: {eip712_data.get('domain', {}).get('name', 'Unknown')}") - print(f" 版本: {eip712_data.get('domain', {}).get('version', 'Unknown')}") - print(f" 链ID: {eip712_data.get('domain', {}).get('chainId', 'Unknown')}") - print(f" 验证合约: {eip712_data.get('domain', {}).get('verifyingContract', 'Unknown')}") + # 1. Basic information analysis + print(" Basic Information:") + print(f" Primary type: {eip712_data.get('primaryType', 'Unknown')}") + print(f" Domain name: {eip712_data.get('domain', {}).get('name', 'Unknown')}") + print(f" Version: {eip712_data.get('domain', {}).get('version', 'Unknown')}") + print(f" Chain ID: {eip712_data.get('domain', {}).get('chainId', 'Unknown')}") + print(f" Verifying contract: {eip712_data.get('domain', {}).get('verifyingContract', 'Unknown')}") - # 2. 类型结构分析 - print("\n🏗️ 类型结构:") + # 2. Type structure analysis + print("\n🏗️ Type Structure:") types = eip712_data.get('types', {}) for type_name, type_fields in types.items(): print(f" {type_name}:") for field in type_fields: print(f" - {field['name']}: {field['type']}") - # 3. 消息内容分析 - print("\n📦 消息内容:") + # 3. Message content analysis + print("\n📦 Message Content:") message = eip712_data.get('message', {}) for key, value in message.items(): if isinstance(value, list): - print(f" {key}: [数组, 长度: {len(value)}]") + print(f" {key}: [Array, length: {len(value)}]") for i, item in enumerate(value): if isinstance(item, dict): print(f" [{i}]:") @@ -58,127 +58,127 @@ def analyze_eip712_signature(eip712_data, signature_name=""): else: print(f" [{i}]: {item}") elif isinstance(value, dict): - print(f" {key}: [对象]") + print(f" {key}: [Object]") for k, v in value.items(): print(f" {k}: {v}") else: print(f" {key}: {value}") - # 4. 解析分析 - print("\n 解析分析:") + # 4. Parsing analysis + print("\n Parsing Analysis:") try: parsed_message = parse_request(eip712_data) if parsed_message: - print(f" ✅ 解析成功 - 类型: {parsed_message.kind}") + print(f" ✅ Parsing successful - Type: {parsed_message.kind}") if parsed_message.kind == "nft": analyze_nft_message(parsed_message.detail) elif parsed_message.kind == "permit": analyze_permit_message(parsed_message.detail) - # 5. 安全分析 - print("\n 安全分析:") + # 5. Security analysis + print("\n Security Analysis:") security_checker = SecurityChecker(price_threshold=0.1) security_result = security_checker.check_message_security(parsed_message) if security_result["is_safe"]: - print(" ✅ 未发现安全风险") + print(" ✅ No security risks found") else: - print(" ⚠️ 发现潜在风险:") + print(" ⚠️ Potential risks found:") for warning in security_result.get("warnings", []): print(f" - {warning}") for error in security_result.get("errors", []): - print(f" - 错误: {error}") + print(f" - Error: {error}") - # 显示详细检查结果 + # Display detailed check results checks = security_result.get("checks", {}) if "price" in checks: price_check = checks["price"] if "price_analysis" in price_check: analysis = price_check["price_analysis"] - print(f"\n💰 价格分析:") - print(f" NFT数量: {analysis.get('nft_count', 0)}") - print(f" 总价格: {analysis.get('total_price_eth', 0):.6f} ETH") - print(f" 总价格 (Wei): {analysis.get('total_price_wei', '0')}") + print(f"\n💰 Price Analysis:") + print(f" NFT count: {analysis.get('nft_count', 0)}") + print(f" Total price: {analysis.get('total_price_eth', 0):.6f} ETH") + print(f" Total price (Wei): {analysis.get('total_price_wei', '0')}") if "balance" in checks: balance_check = checks["balance"] - print(f"\n📊 余额变化分析:") - print(f" 涉及地址数: {balance_check.get('addresses', 0)}") - print(f" 总变化数: {balance_check.get('total_changes', 0)}") + print(f"\n📊 Balance Change Analysis:") + print(f" Addresses involved: {balance_check.get('addresses', 0)}") + print(f" Total changes: {balance_check.get('total_changes', 0)}") for addr, details in balance_check.get("address_details", {}).items(): - print(f" 地址 {addr[:10]}...:") - print(f" 变化项目数: {details['change_count']}") + print(f" Address {addr[:10]}...:") + print(f" Change items: {details['change_count']}") for key_id, amount in details["changes"].items(): print(f" {key_id}: {amount}") else: - print(" ❌ 无法解析此签名格式") + print(" ❌ Unable to parse this signature format") except Exception as e: - print(f" ❌ 解析出错: {e}") + print(f" ❌ Parsing error: {e}") def analyze_nft_message(nft_message): - """分析NFT消息详情""" - print(f" 协议: {nft_message.type.value}") - print(f" 订单类型: {nft_message.order_type.value}") - print(f" 发起者: {nft_message.offerer}") - print(f" 开始时间: {nft_message.start_time}") - print(f" 结束时间: {nft_message.end_time}") + """Analyze NFT message details""" + print(f" Protocol: {nft_message.type.value}") + print(f" Order type: {nft_message.order_type.value}") + print(f" Initiator: {nft_message.offerer}") + print(f" Start time: {nft_message.start_time}") + print(f" End time: {nft_message.end_time}") - print(f"\n 提供项目 ({len(nft_message.offer)}):") + print(f"\n Offer Items ({len(nft_message.offer)}):") for i, item in enumerate(nft_message.offer): if item.kind == "nft": detail = item.detail print(f" [{i+1}] NFT: {detail.collection}") print(f" Token ID: {detail.token_id}") - print(f" 数量: {detail.amount}") + print(f" Amount: {detail.amount}") if detail.type: - print(f" 类型: {detail.type}") + print(f" Type: {detail.type}") elif item.kind == "token": detail = item.detail eth_amount = float(detail.amount) / (10**18) if detail.type == "native" else detail.amount - print(f" [{i+1}] 代币: {detail.currency}") - print(f" 数量: {eth_amount if detail.type == 'native' else detail.amount}") + print(f" [{i+1}] Token: {detail.currency}") + print(f" Amount: {eth_amount if detail.type == 'native' else detail.amount}") if detail.type: - print(f" 类型: {detail.type}") + print(f" Type: {detail.type}") - print(f"\n 期望项目 ({len(nft_message.consideration)}):") + print(f"\n Consideration Items ({len(nft_message.consideration)}):") for i, item in enumerate(nft_message.consideration): if item.kind == "nft": detail = item.detail print(f" [{i+1}] NFT: {detail.collection}") print(f" Token ID: {detail.token_id}") - print(f" 数量: {detail.amount}") + print(f" Amount: {detail.amount}") elif item.kind == "token": detail = item.detail eth_amount = float(detail.amount) / (10**18) if detail.type == "native" else detail.amount - print(f" [{i+1}] 代币: {detail.currency}") - print(f" 数量: {eth_amount if detail.type == 'native' else detail.amount}") + print(f" [{i+1}] Token: {detail.currency}") + print(f" Amount: {eth_amount if detail.type == 'native' else detail.amount}") def analyze_permit_message(permit_message): - """分析Permit消息详情""" - print(f" 授权数量: {len(permit_message.permits)}") + """Analyze Permit message details""" + print(f" Authorization count: {len(permit_message.permits)}") for i, permit in enumerate(permit_message.permits): - print(f"\n 📝 授权 [{i+1}]:") - print(f" 授权给: {permit.spender}") - print(f" 数量: {permit.amount}") - print(f" 随机数: {permit.nonce}") - print(f" 过期时间: {permit.expiration}") + print(f"\n 📝 Authorization [{i+1}]:") + print(f" Authorized to: {permit.spender}") + print(f" Amount: {permit.amount}") + print(f" Nonce: {permit.nonce}") + print(f" Expiration: {permit.expiration}") if permit.owner: - print(f" 拥有者: {permit.owner}") + print(f" Owner: {permit.owner}") if permit.token: - print(f" 代币: {permit.token}") + print(f" Token: {permit.token}") def main(): - """主函数""" + """Main function""" - # Seaport 列表示例 + # Seaport listing example seaport_listing = { "types": { "EIP712Domain": [ @@ -255,7 +255,7 @@ def main(): } } - # Permit 示例 + # Permit example permit_example = { "types": { "EIP712Domain": [ @@ -288,12 +288,12 @@ def main(): } } - # 分析示例 - analyze_eip712_signature(seaport_listing, "Seaport NFT 列表") - analyze_eip712_signature(permit_example, "ERC20 Permit 授权") + # Analyze examples + analyze_eip712_signature(seaport_listing, "Seaport NFT Listing") + analyze_eip712_signature(permit_example, "ERC20 Permit Authorization") print(f"\n{'='*60}") - print("分析完成! 🎉") + print("Analysis complete! 🎉") print(f"{'='*60}") diff --git a/eip712_parser/examples/basic_usage.py b/eip712_parser/examples/basic_usage.py index 0d8405c..7b971d1 100644 --- a/eip712_parser/examples/basic_usage.py +++ b/eip712_parser/examples/basic_usage.py @@ -1,19 +1,19 @@ #!/usr/bin/env python3 """ -EIP712解析器基本使用示例 +EIP712 Parser Basic Usage Example """ import json import sys import os -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from eip712_parser import parse_request from eip712_parser.security import SecurityChecker -# Seaport 列表示例数据 +# Seaport listing example data seaport_listing_example = { "types": { "EIP712Domain": [ @@ -92,66 +92,66 @@ def main(): - """主函数""" - print("=== EIP712 解析器示例 ===\n") + """Main function""" + print("=== EIP712 Parser Example ===\n") - # 解析 EIP712 消息 - print("1. 解析 Seaport 列表消息...") + # Parse EIP712 message + print("1. Parsing Seaport listing message...") try: parsed_message = parse_request(seaport_listing_example) if parsed_message: - print(f"✅ 解析成功!") - print(f" 消息类型: {parsed_message.kind}") + print(f"✅ Parsing successful!") + print(f" Message type: {parsed_message.kind}") if parsed_message.kind == "nft": nft_detail = parsed_message.detail - print(f" 协议类型: {nft_detail.type}") - print(f" 订单类型: {nft_detail.order_type}") - print(f" 发起者: {nft_detail.offerer}") - print(f" 提供项目数量: {len(nft_detail.offer)}") - print(f" 期望项目数量: {len(nft_detail.consideration)}") + print(f" Protocol type: {nft_detail.type}") + print(f" Order type: {nft_detail.order_type}") + print(f" Initiator: {nft_detail.offerer}") + print(f" Offer items count: {len(nft_detail.offer)}") + print(f" Consideration items count: {len(nft_detail.consideration)}") - # 显示提供的NFT + # Display offered NFTs for i, item in enumerate(nft_detail.offer): if item.kind == "nft": print(f" NFT {i+1}: {item.detail.collection} #{item.detail.token_id}") - # 显示期望的代币 + # Display expected tokens for i, item in enumerate(nft_detail.consideration): if item.kind == "token": eth_amount = float(item.detail.amount) / (10**18) - print(f" 代币 {i+1}: {eth_amount:.4f} ETH") + print(f" Token {i+1}: {eth_amount:.4f} ETH") print() - # 安全检查 - print("2. 执行安全检查...") - security_checker = SecurityChecker(price_threshold=1.0) # 1 ETH 阈值 + # Security check + print("2. Performing security check...") + security_checker = SecurityChecker(price_threshold=1.0) # 1 ETH threshold security_result = security_checker.check_message_security(parsed_message) if security_result["is_safe"]: - print("✅ 安全检查通过") + print("✅ Security check passed") else: - print("⚠️ 发现安全风险:") + print("⚠️ Security risks found:") for warning in security_result["warnings"]: print(f" - {warning}") for error in security_result["errors"]: - print(f" - 错误: {error}") + print(f" - Error: {error}") - # 显示价格分析 + # Display price analysis if "price" in security_result["checks"]: price_analysis = security_result["checks"]["price"].get("price_analysis", {}) if price_analysis: - print(f"\n3. 价格分析:") - print(f" NFT数量: {price_analysis.get('nft_count', 0)}") - print(f" 总价格: {price_analysis.get('total_price_eth', 0):.4f} ETH") + print(f"\n3. Price Analysis:") + print(f" NFT count: {price_analysis.get('nft_count', 0)}") + print(f" Total price: {price_analysis.get('total_price_eth', 0):.4f} ETH") else: - print("❌ 无法解析该消息") + print("❌ Unable to parse this message") except Exception as e: - print(f"❌ 解析过程中发生错误: {e}") + print(f"❌ Error occurred during parsing: {e}") if __name__ == "__main__": diff --git a/eip712_parser/examples/dynamic_parsing_demo.py b/eip712_parser/examples/dynamic_parsing_demo.py index 7eca24e..6adfbf3 100644 --- a/eip712_parser/examples/dynamic_parsing_demo.py +++ b/eip712_parser/examples/dynamic_parsing_demo.py @@ -1,16 +1,16 @@ #!/usr/bin/env python3 """ -EIP712 动态解析演示 +EIP712 Dynamic Parsing Demo -演示如何使用动态解析器解析任意 EIP712 签名结构 -无需预先定义特定协议,自动推断字段含义和类型 +Demonstrates how to use the dynamic parser to parse arbitrary EIP712 signature structures +No need to predefine specific protocols, automatically infers field meanings and types """ import json import sys import os -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from eip712_parser import parse_dynamic, parse_and_format, analyze_eip712 @@ -18,18 +18,18 @@ def demo_seaport_order(): - """演示解析 Seaport NFT 订单""" - print("演示 1: Seaport NFT 订单动态解析") + """Demo parsing Seaport NFT order""" + print("Demo 1: Seaport NFT Order Dynamic Parsing") print("-" * 50) - # 使用动态解析器解析并格式化 + # Use dynamic parser to parse and format result_text = parse_and_format(TEST_DATA_SET["seaport_order"]) print(result_text) def demo_permit_message(): - """演示解析 Permit 授权消息""" - print("\n\n2: ERC20 Permit 授权动态解析") + """Demo parsing Permit authorization message""" + print("\n\nDemo 2: ERC20 Permit Authorization Dynamic Parsing") print("-" * 50) result_text = parse_and_format(TEST_DATA_SET["permit"]) @@ -37,8 +37,8 @@ def demo_permit_message(): def demo_dao_voting(): - """演示解析 DAO 投票消息""" - print("\n\n3: DAO 治理投票动态解析") + """Demo parsing DAO voting message""" + print("\n\nDemo 3: DAO Governance Voting Dynamic Parsing") print("-" * 50) result_text = parse_and_format(TEST_DATA_SET["dao_voting"]) @@ -46,8 +46,8 @@ def demo_dao_voting(): def demo_custom_struct(): - """演示解析自定义复杂结构""" - print("\n\n 演示 4: 自定义复杂结构动态解析") + """Demo parsing custom complex structure""" + print("\n\nDemo 4: Custom Complex Structure Dynamic Parsing") print("-" * 50) result_text = parse_and_format(TEST_DATA_SET["custom_struct"]) @@ -55,29 +55,29 @@ def demo_custom_struct(): def demo_analysis_api(): - """演示分析 API""" - print("\n\n 演示 5: 结构化分析 API") + """Demo analysis API""" + print("\n\nDemo 5: Structured Analysis API") print("-" * 50) - # 使用分析 API + # Use analysis API analysis = analyze_eip712(TEST_DATA_SET["simple_permit"]) - print(" 结构化分析结果:") - print(f" 主要类型: {analysis['message']['primary_type']}") - print(f" 消息描述: {analysis['message']['description']}") - print(f" 字段数量: {len(analysis['message']['fields'])}") + print(" Structured Analysis Result:") + print(f" Primary type: {analysis['message']['primary_type']}") + print(f" Message description: {analysis['message']['description']}") + print(f" Field count: {len(analysis['message']['fields'])}") - print(f"\n字段详情:") + print(f"\nField Details:") for field in analysis['message']['fields']: semantic_info = f" ({field['semantic']})" if field['semantic'] else "" print(f" • {field['name']}: {field['type']}{semantic_info}") - print(f" 值: {field['value']}") - print(f" 描述: {field['description']}") + print(f" Value: {field['value']}") + print(f" Description: {field['description']}") def main(): - """主函数""" - # 运行所有演示 + """Main function""" + # Run all demos demo_seaport_order() demo_permit_message() demo_dao_voting() diff --git a/eip712_parser/examples/signature_detection_demo.py b/eip712_parser/examples/signature_detection_demo.py index 9ff3702..a638bbe 100644 --- a/eip712_parser/examples/signature_detection_demo.py +++ b/eip712_parser/examples/signature_detection_demo.py @@ -1,30 +1,30 @@ #!/usr/bin/env python3 """ -签名识别器演示 -展示如何使用签名识别器和通用解析器 +Signature Detector Demo +Demonstrates how to use the signature detector and universal parser """ import json import sys import os -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from eip712_parser import SignatureDetector, SignatureType, UniversalParser def demo_signature_detection(): - """演示签名识别功能""" + """Demo signature detection functionality""" - print("🔍 以太坊签名识别器演示") + print("🔍 Ethereum Signature Detector Demo") print("=" * 60) - # 准备不同类型的测试数据 + # Prepare test data of different types test_cases = [ - # 1. EIP-712 结构化数据签名 + # 1. EIP-712 structured data signature { - "name": "EIP-712 Seaport 签名", + "name": "EIP-712 Seaport Signature", "data": { "types": { "EIP712Domain": [ @@ -56,9 +56,9 @@ def demo_signature_detection(): } }, - # 2. 交易数据 + # 2. Transaction data { - "name": "以太坊交易", + "name": "Ethereum Transaction", "data": { "from": "0x1234567890123456789012345678901234567890", "to": "0x0987654321098765432109876543210987654321", @@ -70,39 +70,39 @@ def demo_signature_detection(): } }, - # 3. 个人消息签名 + # 3. Personal message signature { - "name": "个人消息签名", + "name": "Personal Message Signature", "data": "Hello, this is a message to be signed!" }, - # 4. 个人消息签名 (中文) + # 4. Personal message signature (Chinese) { - "name": "中文个人消息", + "name": "Chinese Personal Message", "data": "你好,这是一条需要签名的消息。请确认你信任此网站。" }, - # 5. 十六进制个人消息 + # 5. Hexadecimal personal message { - "name": "十六进制个人消息", - "data": "0x48656c6c6f2c20576f726c6421" # "Hello, World!" 的十六进制 + "name": "Hexadecimal Personal Message", + "data": "0x48656c6c6f2c20576f726c6421" # Hexadecimal of "Hello, World!" }, - # 6. 原始签名数据 + # 6. Raw signature data { - "name": "原始签名数据", + "name": "Raw Signature Data", "data": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef01" }, - # 7. 哈希数据 + # 7. Hash data { - "name": "哈希数据", + "name": "Hash Data", "data": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" }, - # 8. JSON 格式的个人消息 + # 8. JSON format personal message { - "name": "JSON 格式个人消息", + "name": "JSON Format Personal Message", "data": { "message": "Please sign this message to prove ownership of your wallet.", "timestamp": "2024-01-01T00:00:00Z" @@ -114,120 +114,120 @@ def demo_signature_detection(): universal_parser = UniversalParser() for i, test_case in enumerate(test_cases, 1): - print(f"\n📝 测试案例 {i}: {test_case['name']}") + print(f"\n📝 Test Case {i}: {test_case['name']}") print("-" * 40) - # 检测签名类型 + # Detect signature type signature_info = detector.get_signature_info(test_case['data']) - print(f"🔍 检测结果:") - print(f" 类型: {signature_info['type']}") - print(f" 描述: {signature_info['description']}") - print(f" 数据格式: {signature_info['data_format']}") + print(f"🔍 Detection Result:") + print(f" Type: {signature_info['type']}") + print(f" Description: {signature_info['description']}") + print(f" Data format: {signature_info['data_format']}") - # 显示分析结果 + # Display analysis results analysis = signature_info.get('analysis', {}) if analysis: - print(f"📊 详细分析:") + print(f"📊 Detailed Analysis:") for key, value in analysis.items(): if isinstance(value, list): - print(f" {key}: {', '.join(map(str, value)) if value else '无'}") + print(f" {key}: {', '.join(map(str, value)) if value else 'None'}") else: print(f" {key}: {value}") - # 使用通用解析器 - print(f"🔧 通用解析结果:") + # Use universal parser + print(f"🔧 Universal Parsing Result:") parse_result = universal_parser.parse(test_case['data']) if parse_result['success']: - print(f" ✅ 解析成功") + print(f" ✅ Parsing successful") - # 显示特定解析结果 + # Display specific parsing results parsed_data = parse_result.get('parsed_data') if parsed_data: if signature_info['type'] == SignatureType.ETH_SIGN_TYPED_DATA_V4: if hasattr(parsed_data, 'kind'): - print(f" 协议类型: {parsed_data.kind}") + print(f" Protocol type: {parsed_data.kind}") if parsed_data.kind == "nft": - print(f" NFT协议: {parsed_data.detail.type}") - print(f" 订单类型: {parsed_data.detail.order_type}") + print(f" NFT protocol: {parsed_data.detail.type}") + print(f" Order type: {parsed_data.detail.order_type}") elif signature_info['type'] == SignatureType.ETH_SEND_TRANSACTION: transaction_info = parsed_data.get('transaction', {}) - print(f" 从: {transaction_info.get('from', 'Unknown')[:10]}...") - print(f" 到: {transaction_info.get('to', 'Unknown')[:10]}...") - print(f" 价值: {transaction_info.get('value', '0')}") + print(f" From: {transaction_info.get('from', 'Unknown')[:10]}...") + print(f" To: {transaction_info.get('to', 'Unknown')[:10]}...") + print(f" Value: {transaction_info.get('value', '0')}") elif signature_info['type'] == SignatureType.PERSONAL_SIGN: message_info = parsed_data.get('message_info', {}) - print(f" 消息长度: {message_info.get('length', 0)}") - print(f" 语言: {message_info.get('language', 'unknown')}") + print(f" Message length: {message_info.get('length', 0)}") + print(f" Language: {message_info.get('language', 'unknown')}") else: - print(f" ❌ 解析失败: {parse_result.get('error', '未知错误')}") + print(f" ❌ Parsing failed: {parse_result.get('error', 'Unknown error')}") - # 安全警告 + # Security warnings if signature_info['type'] in [SignatureType.ETH_SEND_TRANSACTION, SignatureType.PERSONAL_SIGN]: parse_result = universal_parser.parse(test_case['data']) if parse_result['success'] and parse_result['parsed_data']: warnings = parse_result['parsed_data'].get('security_warnings', []) if warnings: - print(f"⚠️ 安全警告:") + print(f"⚠️ Security Warnings:") for warning in warnings: print(f" - {warning}") def demo_batch_detection(): - """演示批量检测功能""" + """Demo batch detection functionality""" print(f"\n{'='*60}") - print("📦 批量签名检测演示") + print("📦 Batch Signature Detection Demo") print("="*60) - # 模拟从文件或API获取的多个签名数据 + # Simulate multiple signature data from files or API batch_data = [ - '"Hello World!"', # 简单字符串 - '{"message": "Sign this"}', # JSON个人消息 - '{"to": "0x123", "value": "1000"}', # 简单交易 - '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', # 哈希 + '"Hello World!"', # Simple string + '{"message": "Sign this"}', # JSON personal message + '{"to": "0x123", "value": "1000"}', # Simple transaction + '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', # Hash ] detector = SignatureDetector() - print("检测结果汇总:") + print("Detection Results Summary:") print("-" * 40) type_counts = {} for i, data_str in enumerate(batch_data, 1): try: - # 尝试解析JSON,如果失败则作为字符串处理 + # Try to parse JSON, if fails treat as string try: data = json.loads(data_str) except json.JSONDecodeError: - data = data_str.strip('"') # 移除可能的引号 + data = data_str.strip('"') # Remove possible quotes signature_type = detector.detect_signature_type(data) type_counts[signature_type] = type_counts.get(signature_type, 0) + 1 - print(f" 数据 {i}: {signature_type}") + print(f" Data {i}: {signature_type}") except Exception as e: - print(f" 数据 {i}: 检测失败 - {e}") + print(f" Data {i}: Detection failed - {e}") - print(f"\n统计结果:") + print(f"\nStatistics:") for sig_type, count in type_counts.items(): - print(f" {sig_type}: {count} 个") + print(f" {sig_type}: {count}") def main(): - """主函数""" + """Main function""" try: demo_signature_detection() demo_batch_detection() print(f"\n{'='*60}") - print("🎉 演示完成!") + print("🎉 Demo complete!") print("=" * 60) except Exception as e: - print(f"❌ 演示过程中发生错误: {e}") + print(f"❌ Error occurred during demo: {e}") import traceback traceback.print_exc() diff --git a/eip712_parser/examples/test_data.py b/eip712_parser/examples/test_data.py index 28f14e2..e3378ee 100644 --- a/eip712_parser/examples/test_data.py +++ b/eip712_parser/examples/test_data.py @@ -1,9 +1,9 @@ """ -EIP712 测试数据 -包含各种类型的 EIP712 签名测试样本 +EIP712 Test Data +Contains various types of EIP712 signature test samples """ -# Seaport NFT 订单数据 +# Seaport NFT order data SEAPORT_ORDER_DATA = { "types": { "EIP712Domain": [ @@ -86,7 +86,7 @@ } } -# ERC20 Permit 授权数据 +# ERC20 Permit authorization data PERMIT_DATA = { "types": { "EIP712Domain": [ @@ -119,7 +119,7 @@ } } -# DAO 投票数据 +# DAO voting data DAO_VOTING_DATA = { "types": { "EIP712Domain": [ @@ -152,7 +152,7 @@ } } -# 自定义复杂结构数据 +# Custom complex structure data CUSTOM_STRUCT_DATA = { "types": { "EIP712Domain": [ @@ -202,7 +202,7 @@ } } -# 简单分析用的 Permit 数据 +# Simple Permit data for analysis SIMPLE_PERMIT_DATA = { "types": { "EIP712Domain": [ @@ -231,7 +231,7 @@ } } -# 测试数据集合 +# Test data set TEST_DATA_SET = { "seaport_order": SEAPORT_ORDER_DATA, "permit": PERMIT_DATA, diff --git a/eip712_parser/examples/test_json_file.py b/eip712_parser/examples/test_json_file.py index 64c656d..aca00e6 100644 --- a/eip712_parser/examples/test_json_file.py +++ b/eip712_parser/examples/test_json_file.py @@ -1,14 +1,14 @@ #!/usr/bin/env python3 """ -测试 JSON 文件解析 -测试动态解析器对外部 JSON 文件的解析能力 +Test JSON File Parsing +Tests the dynamic parser's ability to parse external JSON files """ import json import sys import os -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from eip712_parser import parse_and_format, parse_dynamic, analyze_eip712 @@ -16,63 +16,63 @@ def test_json_file(): - # 读取 JSON 文件 + # Read JSON file json_file_path = os.path.join(os.path.dirname(__file__), "test_data.json") try: with open(json_file_path, 'r', encoding='utf-8') as f: eip712_data = json.load(f) - print("JSON 文件读取成功") - print(f"文件路径: {json_file_path}") - print(f"主要类型: {eip712_data['primaryType']}") - print(f"域名称: {eip712_data['domain']['name']}") + print("JSON file read successfully") + print(f"File path: {json_file_path}") + print(f"Primary type: {eip712_data['primaryType']}") + print(f"Domain name: {eip712_data['domain']['name']}") print() - # 使用动态解析器解析 + # Use dynamic parser to parse result_text = parse_and_format(eip712_data) print(result_text) - # 使用分析 API - print("\n结构化分析:") + # Use analysis API + print("\nStructured Analysis:") print("-" * 40) analysis = analyze_eip712(eip712_data) - print(f"主要类型: {analysis['message']['primary_type']}") - print(f"消息描述: {analysis['message']['description']}") - print(f"字段数量: {len(analysis['message']['fields'])}") + print(f"Primary type: {analysis['message']['primary_type']}") + print(f"Message description: {analysis['message']['description']}") + print(f"Field count: {len(analysis['message']['fields'])}") - print(f"\n字段详情:") + print(f"\nField Details:") for field in analysis['message']['fields']: semantic_info = f" ({field['semantic']})" if field['semantic'] else "" print(f" • {field['name']}: {field['type']}{semantic_info}") - print(f" 值: {field['value']}") - print(f" 描述: {field['description']}") + print(f" Value: {field['value']}") + print(f" Description: {field['description']}") - # 检查特殊字段处理 - print("\n字段识别测试:") + # Check special field handling + print("\nField Recognition Test:") print("-" * 40) result = parse_dynamic(eip712_data) for field in result.message.fields: if field.name == "minter": - print(f"'minter' 字段被正确识别为: {field.semantic}") + print(f"'minter' field correctly identified as: {field.semantic}") elif field.name == "tokenId": - print(f"'tokenId' 字段被正确识别为: {field.semantic}") + print(f"'tokenId' field correctly identified as: {field.semantic}") elif field.name == "price": - print(f"'price' 字段被正确识别为: {field.semantic}") + print(f"'price' field correctly identified as: {field.semantic}") except FileNotFoundError: - print(f"文件未找到: {json_file_path}") - print("请确保 test_data.json 文件存在于 examples 目录中") + print(f"File not found: {json_file_path}") + print("Please ensure test_data.json file exists in the examples directory") except json.JSONDecodeError as e: - print(f"JSON 解析错误: {e}") + print(f"JSON parsing error: {e}") except Exception as e: - print(f"解析错误: {e}") + print(f"Parsing error: {e}") def main(): - """主函数""" + """Main function""" test_json_file() diff --git a/eip712_parser/nft/__init__.py b/eip712_parser/nft/__init__.py index 9856ec6..0d42a14 100644 --- a/eip712_parser/nft/__init__.py +++ b/eip712_parser/nft/__init__.py @@ -1,5 +1,5 @@ """ -NFT 相关解析器 +NFT-related parsers """ from .seaport import Seaport @@ -12,7 +12,7 @@ from ..types import EIP712Like, ParsedMessage -# 所有可用的解析器适配器 +# All available parser adapters ALL_ADAPTERS = [ Seaport, Blur, @@ -24,13 +24,13 @@ def parse_request(request: EIP712Like) -> Optional[ParsedMessage]: """ - 解析 NFT 相关的 EIP712 请求 + Parse NFT-related EIP712 requests Args: - request: EIP712 格式的请求数据 + request: EIP712 format request data Returns: - 解析后的消息,如果无法解析则返回 None + Parsed message, returns None if unable to parse """ for adapter in ALL_ADAPTERS: try: @@ -40,7 +40,7 @@ def parse_request(request: EIP712Like) -> Optional[ParsedMessage]: detail=parsed_detail ) except Exception: - # 跳过解析错误,尝试下一个适配器 + # Skip parsing errors, try next adapter continue return None diff --git a/eip712_parser/nft/blend.py b/eip712_parser/nft/blend.py index 21f0882..50b916e 100644 --- a/eip712_parser/nft/blend.py +++ b/eip712_parser/nft/blend.py @@ -1,5 +1,5 @@ """ -Blend NFT 市场解析器 +Blend NFT marketplace parser """ from typing import List @@ -7,40 +7,40 @@ class Blend: - """Blend NFT 市场解析器""" + """Blend NFT marketplace parser""" @staticmethod def parse(typed_data: EIP712Like) -> NFTMessage: """ - 解析 Blend EIP712 消息 + Parse Blend EIP712 message Args: - typed_data: EIP712 格式的数据 + typed_data: EIP712 format data Returns: - 解析后的 NFT 消息 + Parsed NFT message Raises: - ValueError: 当数据格式不正确时 + ValueError: When data format is incorrect """ - # 检查是否为 Blend 消息格式 + # Check if it's a Blend message format primary_type = typed_data.get('primaryType', '') if 'LoanOffer' not in primary_type: - raise ValueError("不是有效的 Blend 消息格式") + raise ValueError("Not a valid Blend message format") - # TODO: 实现 Blend 特定的解析逻辑 - raise NotImplementedError("Blend 解析器尚未实现") + # TODO: Implement Blend specific parsing logic + raise NotImplementedError("Blend parser not yet implemented") @staticmethod def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: """ - 从交易数据中解析 Blend 消息 + Parse Blend messages from transaction data Args: - transaction: 交易数据 + transaction: Transaction data Returns: - 解析后的 NFT 消息列表 + List of parsed NFT messages """ - # TODO: 实现从交易解析的逻辑 + # TODO: Implement transaction parsing logic return [] \ No newline at end of file diff --git a/eip712_parser/nft/blur.py b/eip712_parser/nft/blur.py index 2ba68e6..9743a60 100644 --- a/eip712_parser/nft/blur.py +++ b/eip712_parser/nft/blur.py @@ -1,5 +1,5 @@ """ -Blur NFT 市场解析器 +Blur NFT marketplace parser """ from typing import List @@ -7,40 +7,40 @@ class Blur: - """Blur NFT 市场解析器""" + """Blur NFT marketplace parser""" @staticmethod def parse(typed_data: EIP712Like) -> NFTMessage: """ - 解析 Blur EIP712 消息 + Parse Blur EIP712 message Args: - typed_data: EIP712 格式的数据 + typed_data: EIP712 format data Returns: - 解析后的 NFT 消息 + Parsed NFT message Raises: - ValueError: 当数据格式不正确时 + ValueError: When data format is incorrect """ - # 检查是否为 Blur 消息格式 + # Check if it's a Blur message format primary_type = typed_data.get('primaryType', '') if 'Order' not in primary_type: - raise ValueError("不是有效的 Blur 消息格式") + raise ValueError("Not a valid Blur message format") - # TODO: 实现 Blur 特定的解析逻辑 - raise NotImplementedError("Blur 解析器尚未实现") + # TODO: Implement Blur specific parsing logic + raise NotImplementedError("Blur parser not yet implemented") @staticmethod def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: """ - 从交易数据中解析 Blur 消息 + Parse Blur messages from transaction data Args: - transaction: 交易数据 + transaction: Transaction data Returns: - 解析后的 NFT 消息列表 + List of parsed NFT messages """ - # TODO: 实现从交易解析的逻辑 + # TODO: Implement transaction parsing logic return [] \ No newline at end of file diff --git a/eip712_parser/nft/looksrare.py b/eip712_parser/nft/looksrare.py index f4226dd..b467f8b 100644 --- a/eip712_parser/nft/looksrare.py +++ b/eip712_parser/nft/looksrare.py @@ -1,5 +1,5 @@ """ -LooksRare NFT 市场解析器 +LooksRare NFT marketplace parser """ from typing import List @@ -7,40 +7,40 @@ class LooksRare: - """LooksRare NFT 市场解析器""" + """LooksRare NFT marketplace parser""" @staticmethod def parse(typed_data: EIP712Like) -> NFTMessage: """ - 解析 LooksRare EIP712 消息 + Parse LooksRare EIP712 message Args: - typed_data: EIP712 格式的数据 + typed_data: EIP712 format data Returns: - 解析后的 NFT 消息 + Parsed NFT message Raises: - ValueError: 当数据格式不正确时 + ValueError: When data format is incorrect """ - # 检查是否为 LooksRare 消息格式 + # Check if it's a LooksRare message format primary_type = typed_data.get('primaryType', '') if 'MakerOrder' not in primary_type: - raise ValueError("不是有效的 LooksRare 消息格式") + raise ValueError("Not a valid LooksRare message format") - # TODO: 实现 LooksRare 特定的解析逻辑 - raise NotImplementedError("LooksRare 解析器尚未实现") + # TODO: Implement LooksRare specific parsing logic + raise NotImplementedError("LooksRare parser not yet implemented") @staticmethod def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: """ - 从交易数据中解析 LooksRare 消息 + Parse LooksRare messages from transaction data Args: - transaction: 交易数据 + transaction: Transaction data Returns: - 解析后的 NFT 消息列表 + List of parsed NFT messages """ - # TODO: 实现从交易解析的逻辑 + # TODO: Implement transaction parsing logic return [] \ No newline at end of file diff --git a/eip712_parser/nft/seaport.py b/eip712_parser/nft/seaport.py index 54aa67b..536f781 100644 --- a/eip712_parser/nft/seaport.py +++ b/eip712_parser/nft/seaport.py @@ -1,5 +1,5 @@ """ -Seaport NFT 市场解析器 +Seaport NFT marketplace parser """ from typing import Dict, List, Optional, Union, Any @@ -34,7 +34,7 @@ class Fulfillment: @dataclass class CriteriaResolver: order_index: int - side: int # 0 | 1 + side: int # 0 | 1 (0 = offer, 1 = consideration) index: int identifier: str criteria_proof: List[str] @@ -105,24 +105,24 @@ class AdvancedOrder: class Seaport: - """Seaport NFT 市场解析器""" + """Seaport NFT marketplace parser""" - # 匹配订单的方法签名 + # Method signature for matching orders MATCH_ORDERS_SIGNATURES = ["0xa8174404"] @staticmethod def parse_order(item: Union[OfferItem, ConsiderationItem]) -> ParsedDetail: """ - 解析订单项 + Parse order item Args: - item: 要解析的订单项 + item: Order item to parse Returns: - 解析后的详情 + Parsed details """ if item.item_type <= 1: - # 代币类型 (0: native, 1: erc20) + # Token type (0: native, 1: erc20) return ParsedDetail( kind="token", detail=FTDetail( @@ -132,7 +132,7 @@ def parse_order(item: Union[OfferItem, ConsiderationItem]) -> ParsedDetail: ) ) else: - # NFT类型 (2: erc721, 3: erc1155) + # NFT type (2: erc721, 3: erc1155) return ParsedDetail( kind="nft", detail=NFTDetail( @@ -145,7 +145,7 @@ def parse_order(item: Union[OfferItem, ConsiderationItem]) -> ParsedDetail: @staticmethod def _convert_to_offer_items(offer_data: List[Dict[str, Any]]) -> List[OfferItem]: - """将字典数据转换为OfferItem对象""" + """Convert dictionary data to OfferItem objects""" offer_items = [] for item_data in offer_data: offer_items.append(OfferItem( @@ -159,7 +159,7 @@ def _convert_to_offer_items(offer_data: List[Dict[str, Any]]) -> List[OfferItem] @staticmethod def _convert_to_consideration_items(consideration_data: List[Dict[str, Any]]) -> List[ConsiderationItem]: - """将字典数据转换为ConsiderationItem对象""" + """Convert dictionary data to ConsiderationItem objects""" consideration_items = [] for item_data in consideration_data: consideration_items.append(ConsiderationItem( @@ -175,53 +175,53 @@ def _convert_to_consideration_items(consideration_data: List[Dict[str, Any]]) -> @staticmethod def parse(typed_data: EIP712Like) -> NFTMessage: """ - 解析 Seaport EIP712 消息 + Parse Seaport EIP712 message Args: - typed_data: EIP712 格式的数据 + typed_data: Data in EIP712 format Returns: - 解析后的 NFT 消息 + Parsed NFT message Raises: - ValueError: 当数据格式不正确时 + ValueError: When data format is incorrect """ message = typed_data['message'] - # 检查是否为 Seaport 消息 + # Check if it's a Seaport message if 'offerer' not in message or 'offer' not in message or 'consideration' not in message: - raise ValueError("不是有效的 Seaport 消息格式") + raise ValueError("Not a valid Seaport message format") offerer = message['offerer'] offer_data = message['offer'] consideration_data = message['consideration'] - # 转换数据格式 + # Convert data format offer_items = Seaport._convert_to_offer_items(offer_data) consideration_items = Seaport._convert_to_consideration_items(consideration_data) - # 解析 offer 项目 + # Parse offer items parsed_offers = [Seaport.parse_order(item) for item in offer_items] - # 解析 consideration 项目中属于 offerer 的部分 + # Parse consideration items that belong to offerer received_consideration = [ Seaport.parse_order(item) for item in consideration_items if item.recipient.lower() == offerer.lower() ] - # 计算余额变化 + # Calculate balance changes balance_change: BalanceChange = {} - # 计算 offerer 发出的项目 + # Calculate items sent by offerer for item in parsed_offers: calculate_balance_change(balance_change, offerer, item, False) - # 计算 offerer 收到的项目 + # Calculate items received by offerer for item in received_consideration: calculate_balance_change(balance_change, offerer, item, True) - # 计算其他接收者的余额变化 + # Calculate balance changes for other recipients other_recipients = set() for item in consideration_items: if item.recipient.lower() != offerer.lower(): @@ -236,7 +236,7 @@ def parse(typed_data: EIP712Like) -> NFTMessage: for item in matched_items: calculate_balance_change(balance_change, recipient, item, True) - # 确定订单类型 + # Determine order type total_nfts = sum(1 for item in parsed_offers if item.kind == "nft") order_type = OrderType.LISTING if total_nfts > 0 else OrderType.OFFER @@ -254,13 +254,13 @@ def parse(typed_data: EIP712Like) -> NFTMessage: @staticmethod def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: """ - 从交易数据中解析 Seaport 消息 + Parse Seaport messages from transaction data Args: - transaction: 交易数据 + transaction: Transaction data Returns: - 解析后的 NFT 消息列表 + List of parsed NFT messages """ if not transaction.data: return [] @@ -269,9 +269,9 @@ def parse_from_transaction(transaction: TransactionLike) -> List[NFTMessage]: all_orders: List[NFTMessage] = [] if transaction.to and sign_hash in Seaport.MATCH_ORDERS_SIGNATURES: - # 这里需要实现 ABI 解码功能 - # 由于没有完整的 ABI 解码器,这里先返回空列表 - # 在实际使用中需要使用 web3.py 的 ABI 解码功能 + # Need to implement ABI decoding functionality here + # Since there's no complete ABI decoder, return empty list for now + # In actual use, need to use web3.py's ABI decoding functionality pass return all_orders \ No newline at end of file diff --git a/eip712_parser/nft/seaport_v14.py b/eip712_parser/nft/seaport_v14.py index a9a6aa1..952dc2c 100644 --- a/eip712_parser/nft/seaport_v14.py +++ b/eip712_parser/nft/seaport_v14.py @@ -1,5 +1,5 @@ """ -Seaport v1.4 NFT 市场解析器 +Seaport v1.4 NFT marketplace parser """ from typing import List @@ -8,28 +8,28 @@ class SeaportV14(Seaport): - """Seaport v1.4 NFT 市场解析器""" + """Seaport v1.4 NFT marketplace parser""" @staticmethod def parse(typed_data: EIP712Like) -> NFTMessage: """ - 解析 Seaport v1.4 EIP712 消息 + Parse Seaport v1.4 EIP712 message Args: - typed_data: EIP712 格式的数据 + typed_data: EIP712 format data Returns: - 解析后的 NFT 消息 + Parsed NFT message Raises: - ValueError: 当数据格式不正确时 + ValueError: When data format is incorrect """ - # 检查版本 + # Check version domain = typed_data.get('domain', {}) version = domain.get('version', '') if version != '1.4': - raise ValueError("不是 Seaport v1.4 消息格式") + raise ValueError("Not a Seaport v1.4 message format") - # 使用父类的解析逻辑,但可以根据需要进行版本特定的修改 + # Use parent class parsing logic, but can make version-specific modifications as needed return super().parse(typed_data) \ No newline at end of file diff --git a/eip712_parser/parser.py b/eip712_parser/parser.py index e0ec29a..9387d0d 100644 --- a/eip712_parser/parser.py +++ b/eip712_parser/parser.py @@ -1,5 +1,5 @@ """ -EIP712 主解析器 - 支持协议特定解析和通用动态解析 +EIP712 Main Parser - Supports protocol-specific parsing and universal dynamic parsing """ from typing import Optional, Union, Dict, Any @@ -11,20 +11,20 @@ def parse_request(request: EIP712Like) -> Optional[ParsedMessage]: """ - 解析 EIP712 请求 - 协议特定解析 + Parse EIP712 request - protocol-specific parsing Args: - request: EIP712 格式的请求数据 + request: EIP712 format request data Returns: - 解析后的消息,如果无法解析则返回 None + Parsed message, returns None if unable to parse """ - # 尝试解析 NFT 相关请求 + # Try to parse NFT-related requests nft_result = nft.parse_request(request) if nft_result: return nft_result - # 尝试解析 Permit 相关请求 + # Try to parse Permit-related requests permit_result = permit.parse_permit_from_request(request) if permit_result: return permit_result @@ -34,13 +34,13 @@ def parse_request(request: EIP712Like) -> Optional[ParsedMessage]: def parse_dynamic(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> EIP712ParseResult: """ - 动态解析任意 EIP712 签名结构 + Dynamically parse arbitrary EIP712 signature structures Args: - eip712_data: EIP712 格式的数据 + eip712_data: EIP712 format data Returns: - 动态解析结果,包含完整的结构树和语义标注 + Dynamic parsing result, containing complete structure tree and semantic annotations """ parser = DynamicEIP712Parser() return parser.parse(eip712_data) @@ -48,13 +48,13 @@ def parse_dynamic(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> EIP712Parse def parse_and_format(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> str: """ - 解析并格式化 EIP712 数据为可读文本 + Parse and format EIP712 data as readable text Args: - eip712_data: EIP712 格式的数据 + eip712_data: EIP712 format data Returns: - 格式化的可读文本 + Formatted readable text """ parser = DynamicEIP712Parser() result = parser.parse(eip712_data) @@ -63,13 +63,13 @@ def parse_and_format(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> str: def analyze_eip712(eip712_data: Union[EIP712Like, Dict[str, Any]]) -> Dict[str, Any]: """ - 分析 EIP712 数据并返回结构化分析结果 + Analyze EIP712 data and return structured analysis result Args: - eip712_data: EIP712 格式的数据 + eip712_data: EIP712 format data Returns: - 分析结果字典 + Analysis result dictionary """ parser = DynamicEIP712Parser() result = parser.parse(eip712_data) diff --git a/eip712_parser/permit/__init__.py b/eip712_parser/permit/__init__.py new file mode 100644 index 0000000..375887e --- /dev/null +++ b/eip712_parser/permit/__init__.py @@ -0,0 +1,76 @@ +""" +Permit-related parsers +""" + +from .permit import Permit +from .permit2 import Permit2 +from .permit_lens import PermitLens + +from typing import Optional, List +from ..types import EIP712Like, ParsedMessage, PermitMessage, TransactionLike + + +# All available Permit parser adapters +ALL_ADAPTERS = [ + Permit, + Permit2, + PermitLens, +] + + +def parse_permit_from_request(request: EIP712Like) -> Optional[ParsedMessage]: + """ + Parse Permit-related EIP712 requests + + Args: + request: EIP712 format request data + + Returns: + Parsed message, returns None if unable to parse + """ + for adapter in ALL_ADAPTERS: + try: + parsed_detail = adapter.parse(request) + return ParsedMessage( + kind="permit", + detail=parsed_detail + ) + except Exception: + # Skip parsing errors, try next adapter + continue + + return None + + +def parse_permit_from_transaction(transaction: TransactionLike) -> Optional[List[PermitMessage]]: + """ + Parse Permit messages from transaction data + + Args: + transaction: Transaction data + + Returns: + List of parsed Permit messages, returns None if unable to parse + """ + for adapter in ALL_ADAPTERS: + if not hasattr(adapter, 'parse_from_transaction'): + continue + + try: + parsed_detail = adapter.parse_from_transaction(transaction) + if parsed_detail: + return parsed_detail + except Exception: + # Skip parsing errors, try next adapter + continue + + return None + + +__all__ = [ + "Permit", + "Permit2", + "PermitLens", + "parse_permit_from_request", + "parse_permit_from_transaction", +] \ No newline at end of file diff --git a/eip712_parser/permit/__pycache__/__init__.cpython-39.pyc b/eip712_parser/permit/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e046849ef10f8cae6b0d7a900b734b934cfd9e55 GIT binary patch literal 1615 zcma)6&2Jk;6rUNdckT7sNlPd(P{{`_KBR(NKo&v-5+o!OqNY;CYOB@OGq|hluASL2 z!pJ#Lij)H_6;PGZDoO!CIh2Abl?oyiiT`4+#M|V=9SOvnStoJChgfT#-n_4wH@}~s zS1y|fzS~dP=Nto}U*%@}(_r%=toS1k6xoPkN&*}bn_#Kuf?TNCn$oo(AL_OadY-JP$$NH;DIuiY|t zF*xfu(KA12MyAbzI!bD?DBguIR3}N{^{((ckryOd(~re2k!CG17hYX@_LF5714#Mg*aFKq$FLP9uUaT1FZYxqbtKj?o)vRg>#!STqMuqV;}; zLS_xV>?LZ4UgzOw7iw8QwVgXZq~D)ckxI<*cHB^!Odj34u@{|gZVk6Sg!C*ez4Bdp z@!S1qrJPh9j@1}JarqLYrT5m;ckleR^}+C~^XbNo^y+4M_sS?>{o2lhPlnewYKxtS zsZxpFRWA!KsIB-BO?1kH=Ld^`hc(x1x^we$OQ#l2E+_e}M1)HoC&h)gTTEeC&+)Rf z7#{Vyg7KuR!l;{-`3CXF!2SD~R>SE*cI@;4Bj&*Il>2Wnhq8D@bh=KfLz%<;F5o}I z85BF~2fpafgq|Ob>~3}eC%drYx_;yf*FDkgCspNgGmrZw?}YB?Ss#Vd<0%lxEMS67 zSn&JP(kx;TUIjaJUJ?g%;uWy{J9!qttH?9Ih6NsAir*vg)T*Y4L^2``2tP5{C(&sj zj3Ux2|3D-HM9TGkk=K)4*#7C#_K#ntpMIR7zJ34pVQOXAs!$~kGij`gMs2)~ik0=1 z@}KP4BXM@paQ*7e&0GJQOUE)8)ccQJ2DrqJLW_xU&Wk-EIDZ0mT%rQ>d0greCVor` zNtaB>iIW`vJF;VyXCP!BUBH$|gf(2j3f<%2t>?L%E?iCkE~l)*oJ-eY{gK3QUD|26 zE}xJt8EG3Ci)K}dT^eyJfbpgB6J7MXe$?i=%z#;rk~~;g%;kVle-B=gnk9v7``|=* soEHRe+(DO0Q>_-B4?DCMuovXyils@@EDS#~iKp|5w|{8H)bw=qFG8Q&`2YX_ literal 0 HcmV?d00001 diff --git a/eip712_parser/permit/__pycache__/permit.cpython-39.pyc b/eip712_parser/permit/__pycache__/permit.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..836164b1bb193b62248899f6277b7e88be44a1db GIT binary patch literal 1753 zcmb7E&5smC6tC*<>6v8-2W1q@M7_*mN#tTOAp~MJ#srZl@z74vDW{5|v(q0|b)!RO z6Lt5n9u`Rq0S!?$n1~0!gCPVl@$aasJH7BP=*3svy*;xF9IQ#bdG+dj*89CC3kxoS z_4}LN#bpbjztv%W>2Np&Tbu+!k%uUz+6af5r-izwV?=dojEvCq%+T_z(Dv-m@f?ia zMbxC$I-=H^<~6AO5$ZZw8=Sb)pC0XOec3t3co?LeC%@dzf4n;V{*L<;E>TyL#+g8* z()l1sgE%6irIFqXIc_>m81*ShiL^LNGad~vSnMv9kpuf3*n$F?pj*W&Z)vM|f~mfu^CKyy zkkQw80-3bYs+MXK4YaH+JkhA#MyU?}P8+S^f@{>At2o-+G*|W1nCL@HTbmfNU&t0A z3Aa9nHAdW>>A&CJbnD_&JXMPwcqm1dwbOD z!-vJA>~mISboB}t?_y z6M&g9X-080V4g!6p`##TU6U_@Ykm-jv`83dQOXaggUh~10!|c$yI9&uF({&IN`1&u z>CUR+wo=zc$~nv~3<+1mEL&9-zG?_R03y#J)r9v?5f|tmUFpP4$!ee9Y&>@&Zd_)!En!@sG(827!)-%Lj*v^*rb}s)UJxAbTK~) zwG@0wUWKE4sdyg$0*^y~?tzxzPN;7qYF$1$|B%mUp6xcJ>OR4u4NiHbyf=*Ow5AYAw(ILrx&#BI;q-~jLKI(EJ;>}p#w% zDfyT%lUd7zSxcIeVfJ}a&a|EdfZSOw0zV!vJ^ATY_lK)n-`&nV1ve>EWt{e9{8Yn* zp>n4_Is4x6@zee+S3_ycr(8;}&Q<0_vnir^uc1aR2rragE%u`jch(ST=VQQP3Wl5j z!-+#7e~nQ`=LR>q#k89me!;S_L>(J^8J^`<5poB=#q7kNV;RUktL$FptwVsd?<>lh z%Ej#_XD;(%Pg#P;EfLlz?A?AWm;k{936+0<>5#RA%ysQDiRo8lnkLC)n0b;c(IqP1 zj3JFB`X%iUW*5mKt&>G3(s)zo|btA?mWyUm?VR-%4pacx_{AhUVxHjXAri-Mor@8n@L_zB);3Azj?ssoq z?p|Bje`6`-$_~;NA)bQ>WiuXoenToVj%InNY}w=?<3d?p5VgWsnPC*xxXQs7_`<^` zQZ~gA2o*&%FQRz~&C6(>2LoNoPHB*3Tj_NkE8Pp*DmM^5{gmUsb-%D|Simsx4H$+d|Q+<<*XnF);rn9BFTkl}(}pxVC~4PI&_R-+cYIeh=I z>;m{;#~$B8uZP05;bnq;^6{W|3j7bSON`jJaC`_uVi&C^(rf(&)4rNFf4Q>x^N-yd zJ>73Uy1S>s_mopV@PN`DBvUEv1ntM{uEqaZ(OWCmpRC{RVjn{PHE>>V-MN<6=>1~5 zE{kgDmNBTW7Vvl`VglJtBqLtKnT-Yy7H^ sTi{j}GzqA;1PUqwI)>bF6pA)I3c(IKMP(+^@0dhgNDMHH0zIPt2fiOjZvX%Q literal 0 HcmV?d00001 diff --git a/eip712_parser/permit/__pycache__/permit_lens.cpython-39.pyc b/eip712_parser/permit/__pycache__/permit_lens.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..82d812019f2a3e6644609a3271841a9d3ceaf589 GIT binary patch literal 1739 zcmb7E&x;&I6t3#->F({F)hH5NjAleZ223Dcgds>4jUudJ(ZxeE(3Vr>q)Gp>s(Nw4 z>_K-A>tSO+LZSr862W*#;wc1;ColdDbXx)&; z7ytnTz-{NxK~S$V8C9`64aik_JH@@N;_JKh zy;@k}L(!{u+RHSpUT5F<#)G{F-#z+qv$*nGv3=*j^?LJhS%Mj7lgGb&35=VlX5i?! zQ%58eY{t*0B+A)Y&Qsp&?EU$Dg`+58?cU!mZr^;gbEmj^ulAwlGakl-k5=K46!P0u zMcz;OQWWKHz-wr;Yj=z5-xgQ44h2_vS5Cao#x!G`$doI5O0|+S8302mBQy#V21Is5 z#uCc7vPqogiR4Ehit^Z3SqNr8TwuNfE}$<&x24P>lggXs#i1*aGKJ*41ya}Ib6U}! zb)4(=1u!p^W zZRg^VmAdOsmIlxz^K#m`T>pX&^oZ^kJ{Pu)J(omXxUBqU}*pu8Z6Q<_IwZU@1aIf*7GP7u&^pw&VG zAqO#&=Tpjc*-Ogtm$jsSSzO2F$MvEK)>t%Z?!uzUDfD}~*fI?K{BZ-9`g7em{u-#2 r4TKGoVd+Y>GN;_)=DC3p2aZguyyrT&sw1H){@r&kv>D>Jn literal 0 HcmV?d00001 diff --git a/eip712_parser/permit/permit.py b/eip712_parser/permit/permit.py new file mode 100644 index 0000000..b50256a --- /dev/null +++ b/eip712_parser/permit/permit.py @@ -0,0 +1,57 @@ +""" +Basic Permit parser +""" + +from typing import List, Optional +from ..types import EIP712Like, PermitMessage, Approval, TransactionLike + + +class Permit: + """Basic Permit parser""" + + @staticmethod + def parse(typed_data: EIP712Like) -> PermitMessage: + """ + Parse basic Permit EIP712 message + + Args: + typed_data: EIP712 format data + + Returns: + Parsed Permit message + + Raises: + ValueError: When data format is incorrect + """ + primary_type = typed_data.get('primaryType', '') + + # Check if it's a Permit message format + if primary_type != 'Permit': + raise ValueError("Not a valid Permit message format") + + message = typed_data['message'] + + # Parse Permit message + approval = Approval( + owner=message.get('owner'), + spender=message['spender'], + amount=str(message['value']), + nonce=str(message['nonce']), + expiration=str(message['deadline']) + ) + + return PermitMessage(permits=[approval]) + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[PermitMessage]: + """ + Parse Permit messages from transaction data + + Args: + transaction: Transaction data + + Returns: + List of parsed Permit messages + """ + # TODO: Implement logic to parse from transaction + return [] \ No newline at end of file diff --git a/eip712_parser/permit/permit2.py b/eip712_parser/permit/permit2.py new file mode 100644 index 0000000..cf677c2 --- /dev/null +++ b/eip712_parser/permit/permit2.py @@ -0,0 +1,74 @@ +""" +Permit2 parser +""" + +from typing import List +from ..types import EIP712Like, PermitMessage, Approval, TransactionLike + + +class Permit2: + """Permit2 parser""" + + @staticmethod + def parse(typed_data: EIP712Like) -> PermitMessage: + """ + Parse Permit2 EIP712 message + + Args: + typed_data: EIP712 format data + + Returns: + Parsed Permit2 message + + Raises: + ValueError: When data format is incorrect + """ + primary_type = typed_data.get('primaryType', '') + + # Check if it's a Permit2-related message format + if not any(permit_type in primary_type for permit_type in + ['PermitSingle', 'PermitBatch', 'PermitTransferFrom']): + raise ValueError("Not a valid Permit2 message format") + + message = typed_data['message'] + permits = [] + + if primary_type == 'PermitSingle': + # Single permit + details = message['details'] + approval = Approval( + token=details['token'], + spender=message['spender'], + amount=str(details['amount']), + nonce=str(message['nonce']), + expiration=str(details['expiration']) + ) + permits.append(approval) + + elif primary_type == 'PermitBatch': + # Batch permit + for detail in message['details']: + approval = Approval( + token=detail['token'], + spender=message['spender'], + amount=str(detail['amount']), + nonce=str(message['nonce']), + expiration=str(detail['expiration']) + ) + permits.append(approval) + + return PermitMessage(permits=permits) + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[PermitMessage]: + """ + Parse Permit2 messages from transaction data + + Args: + transaction: Transaction data + + Returns: + List of parsed Permit2 messages + """ + # TODO: Implement logic to parse from transaction + return [] \ No newline at end of file diff --git a/eip712_parser/permit/permit_lens.py b/eip712_parser/permit/permit_lens.py new file mode 100644 index 0000000..8eb8656 --- /dev/null +++ b/eip712_parser/permit/permit_lens.py @@ -0,0 +1,56 @@ +""" +PermitLens parser +""" + +from typing import List +from ..types import EIP712Like, PermitMessage, Approval, TransactionLike + + +class PermitLens: + """PermitLens parser""" + + @staticmethod + def parse(typed_data: EIP712Like) -> PermitMessage: + """ + Parse PermitLens EIP712 message + + Args: + typed_data: EIP712 format data + + Returns: + Parsed PermitLens message + + Raises: + ValueError: When data format is incorrect + """ + primary_type = typed_data.get('primaryType', '') + + # Check if it's a PermitLens message format + if 'PermitForAll' not in primary_type: + raise ValueError("Not a valid PermitLens message format") + + message = typed_data['message'] + + # Parse PermitForAll message + approval = Approval( + spender=message['operator'], + amount="1", # PermitForAll is usually a boolean value + nonce=str(message['nonce']), + expiration=str(message['deadline']) + ) + + return PermitMessage(permits=[approval]) + + @staticmethod + def parse_from_transaction(transaction: TransactionLike) -> List[PermitMessage]: + """ + Parse PermitLens messages from transaction data + + Args: + transaction: Transaction data + + Returns: + List of parsed PermitLens messages + """ + # TODO: Implement logic to parse from transaction + return [] \ No newline at end of file diff --git a/eip712_parser/security/__init__.py b/eip712_parser/security/__init__.py new file mode 100644 index 0000000..3d4abbe --- /dev/null +++ b/eip712_parser/security/__init__.py @@ -0,0 +1,11 @@ +""" +Security check module +""" + +from .price import check_price_security +from .security_checker import SecurityChecker + +__all__ = [ + "check_price_security", + "SecurityChecker", +] \ No newline at end of file diff --git a/eip712_parser/security/__pycache__/__init__.cpython-39.pyc b/eip712_parser/security/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b4a79bc726ec7dd8888356382aac5f854d7839b GIT binary patch literal 365 zcmYjNu}T9$5WU^IByuEZkx#HNMFedG5fSWd(k%0_-K@+Dsd9}HO>uH`JhqtVx9|+Pn8| zX6~i6wU%5tPzMO6s?w%p(>iUcBnTxD5}`D<`pOfpNb`p9ZtSN%@P;VmoVn|0H)#Ng zyPDaVbLPy?IcL6ayj(6z;QPx%#kqI-3Hcj#x<3~>--MzXP;pWuoN`vBHCALbt7z5i zqFr-}4kg^;cGaz=im6(8ztOrT0F(mC!JzWWV+;;CgWM& zchW8nfQ2RcU~E6ga(n<}gM9EfDeQ~KU<=vpn}29;Y__hRYW?JL`<<2cTkp0nUud0w zJ-Z89Qn0ms)UQO^e%e=&PJgc+`C;HywKE;pt74bo7)xiTo|^uyP|BMXy8oCbmEcE3 zm+HAd2*Dj(q)S~ojx^vyJ5*@!8aC!Ox!u!tIy#Ks)fkF&&pdFYb4JUFUutMw3 zsKKTMx*^apl@4eqTeP(;>^oN_LZkw9M4~%2G7VD1tt(&j5-)x$3 z(-8NRugc1s5jy>XCj&p2RoWF&hEnN)WFH3v2B`(xL6xK_Xkc*P=>xaK~=%5rH_n!BwezbV7=J`QKUan(8%90Y5Sc0x( zc0XQU)Y-`@WOXI1)sGy2)&35JEIm@06P1N>a>PBG@yTjf@v7sTOESa4Y4+=zgC={#Gd&k#yZFb@7N&?&fP&P+A* zBJJ|zKDu5ljDzTtR@IrwSrLdA>+;BhFtJ&C>EZw4jXjGh#+;BpP5rs(gmMs?@i0`K zoL|4Tv%0nO!OPoQznsV~S>s=yS+etxsZYrP7zDe_KpvDUxU=G56h>aPLI8|KcnXNPd7b8hgh1W>3*x9 z9-wK9(JXa8%DVE)Fs{J#!1D=ImMaD;We&tWu}2ppe;5or1`UWhpckhG1ueK@WP@G+ z1bpsLi7m5b3-o|?4U1b%2Iyvw0x|(QQSLZo6sWRXsFM#^!RN*=`dn8b)^$Hcc_%dcQBy$51C z)tOR$6)ot6%*eM~+Ea#+?R-CfZ{Hp4tI z(L}14CCfB2?*YSPhPi;57;uWUV9P@dy1}^JVCM*TI$V@+7@4;c)&rJ1W=5rvsUo{U zcxIK!-=Z$xX&h0I?Bwj z#p@LCg_37Uz#fH6f}9zQUxdw@$Rf}E{^zarYqwr|1z!=H>qcy<-kkYQBzKP_>6*2* z_WI6+%Vu291wrn)4UUND0FJ|5%)|H|JR(6`az6~&#ax@ZHx%bV{VbFO4i7@UiAq#f zv8wwOKa3TyOB4wis4j}w1I1l@3&!_D)xL46wf?i##Y?*{uLG~|Z2k7urJED^7_W4G z`@P@XbqrJ-hoTT1423?}br3s3I%V^4e>v@;R3`D<$px|{W~MYm@>y(s4y$|d&5uB- z5MD5m$39*f|DTR}n+;>UF`WchyS{twMgslY?_X@6eN|^w2=gwrKXz@KW}(k0%Essrb(x%mQBwsfF+B=HI#n+7uu?8-H(IR2 zLrY>FOH5>mX&@0Pv;#V!B))@X8Y{$(B(@Ku-tvM)!z2cE%o1I@H*khe3!R>i` TBbfIJcVOEibl5sj7#aIFEB=P} literal 0 HcmV?d00001 diff --git a/eip712_parser/security/__pycache__/security_checker.cpython-39.pyc b/eip712_parser/security/__pycache__/security_checker.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f365b4bc5a64b69967063111d59c2d295127dcd GIT binary patch literal 3441 zcmbVO>vJ4O5#QO@?d_c&mL2&~6dZvhTtQThzW^#>LM0LT0D_8DP;4o+wYeEdYwhiw zXLcb{oeEPDM6Te(Jd$8@eqmgW{lN}ZRB(_I_&fG1x|8%N-&5hyJ-fF)$)XB8TQfV; zGu=JY{p+6b1_o>e%EY8Ie_~is{(*!3qQT%J^ddVr(%TAdn-&SaWTB{1RR#azz7EdWvJ3b78?XC5V z&V{wk-E*CvzuUcWwtMwv=iH!X42Np-thV4bxnEh}9xj#G>if{6;L?rWZwwhoXl2>n}PCo`ovrp<#+cz+x&Tjz))>PPI0n zIyF`e$6zKaFpCvu)uReE+p4sS?%1ryCAQ?K9 z9pgDX8sqU}pnqSRZe6;F<%4hDCdp80f@q#IG2aMi4K3O$*vI-DRDl?2k(T0u`$3@^ zp9O+l$x3JKa_83TonOAa*MGeQ`O0tcIWeA(aC*-c#w(laf9YP^*!kUB=j_JE8*7{E zH(!{3ar6FPJLlip{P6t88|QNNDLw?dsH%xBSTM^0y~=HckHGJfx!U+lEEpFvi%djp zrV%pA{U5U#%EUs{XwK9cl+7@|`PFAmJk6O$y;uAIQ1Eo!^TUh|UIy^+nI1y&4j@As zd91mZSgz}be&o6XpjJrx6_$?d@y1wh5$v^4&!B2@7R5Y#$mSSu(&iJ;X_3=l@dcHS zwv=lGM(TC2zoe=_{R&XE9uhmo&rdLmkRL>5RscJ4Xf_^Yu%sS%N%v~Rz90| z9(GZ-u5e-xWb!diOD!`a4}WY6MexCX)=;VHAs38(&wQ{*CM@ToHjs)*)nMnWc(tRVYhTzI;?=4@@_dlRL;Dp zE0Gx$X4S>N69qru8jzYFa1HL}`Vnv)hYEWgqQk40S79eBgdS+Cz&!#1b}$3_q4*A- z98riR1$z3}cm%BPw(@wTUr??C_2h&9H>FPV&%=IqFrP>)$B6gtxes<;d$aq-TKDow z_pSG!zx~ll=Z}}hD=|J?Dx3H3OiKI*$oKD`rr(efqt{cm3NJ!G#^hDmzWdSEhj-y> z?!I?_^ZxnmzrEINUzI@ez991iE{|C$T32cu3Y7_2x-|DiP17seY7)uv_?NJG1{V`QJvDOfIXXw{PC*sNq3O>YHe`)aVre6g zOKjC5#~_moLp!Xg#5DC!^nVSOm!9~aEHhOld=R8phwyb2dUfWyiS4@e28{#kmtFTv z>;>6O!F6e)24rJ4Xm}An1gzY`262&SBI1eWg^T=iNJE^+{KpZK@;rTK#J3;E` Dict[str, any]: + """ + Check price security + + Args: + message: NFT message + price_threshold: Price threshold (in ETH) + + Returns: + Security check result + """ + result = { + "is_safe": True, + "warnings": [], + "errors": [], + "price_analysis": {} + } + + # Analyze price + nft_items = [item for item in message.offer if item.kind == "nft"] + token_items = [item for item in message.consideration if item.kind == "token"] + + if nft_items and token_items: + # Calculate NFT count and token amount + nft_count = len(nft_items) + total_token_amount = sum(float(item.detail.amount) for item in token_items) + + # Simple price check + if total_token_amount < price_threshold * (10**18): # Convert to wei + result["warnings"].append(f"Price may be too low: {total_token_amount / (10**18):.4f} ETH") + result["is_safe"] = False + + result["price_analysis"] = { + "nft_count": nft_count, + "total_price_wei": str(int(total_token_amount)), + "total_price_eth": total_token_amount / (10**18) + } + + return result + + +def analyze_balance_changes(balance_change: BalanceChange) -> Dict[str, any]: + """ + Analyze balance changes + + Args: + balance_change: Balance change data + + Returns: + Analysis result + """ + analysis = { + "addresses": len(balance_change), + "total_changes": 0, + "address_details": {} + } + + for address, changes in balance_change.items(): + analysis["address_details"][address] = { + "change_count": len(changes), + "changes": changes + } + analysis["total_changes"] += len(changes) + + return analysis + + +def detect_suspicious_patterns(message: NFTMessage) -> List[str]: + """ + Detect suspicious patterns + + Args: + message: NFT message + + Returns: + List of suspicious patterns + """ + warnings = [] + + # Check if there are a large number of NFT transfers + nft_count = sum(1 for item in message.offer if item.kind == "nft") + if nft_count > 10: + warnings.append(f"Involves large number of NFT transfers: {nft_count} items") + + # Check if there are zero-price transactions + zero_price_tokens = [ + item for item in message.consideration + if item.kind == "token" and float(item.detail.amount) == 0 + ] + if zero_price_tokens: + warnings.append("Zero-price transaction detected") + + # Check time window + if hasattr(message, 'start_time') and hasattr(message, 'end_time'): + try: + duration = int(message.end_time) - int(message.start_time) + if duration > 86400 * 365: # More than one year + warnings.append(f"Order validity period too long: {duration // 86400} days") + except (ValueError, TypeError): + pass + + return warnings \ No newline at end of file diff --git a/eip712_parser/security/security_checker.py b/eip712_parser/security/security_checker.py new file mode 100644 index 0000000..2534b08 --- /dev/null +++ b/eip712_parser/security/security_checker.py @@ -0,0 +1,125 @@ +""" +Comprehensive security checker +""" + +from typing import Dict, List, Optional +from ..types import NFTMessage, PermitMessage, ParsedMessage +from .price import check_price_security, analyze_balance_changes, detect_suspicious_patterns + + +class SecurityChecker: + """Comprehensive security checker""" + + def __init__(self, price_threshold: float = 0.1): + """ + Initialize security checker + + Args: + price_threshold: Price threshold (in ETH) + """ + self.price_threshold = price_threshold + + def check_message_security(self, message: ParsedMessage) -> Dict[str, any]: + """ + Check message security + + Args: + message: Parsed message + + Returns: + Security check result + """ + if message.kind == "nft": + return self.check_nft_security(message.detail) + elif message.kind == "permit": + return self.check_permit_security(message.detail) + else: + return {"is_safe": False, "errors": ["Unknown message type"]} + + def check_nft_security(self, nft_message: NFTMessage) -> Dict[str, any]: + """ + Check NFT message security + + Args: + nft_message: NFT message + + Returns: + Security check result + """ + result = { + "is_safe": True, + "warnings": [], + "errors": [], + "checks": {} + } + + # Price security check + price_check = check_price_security(nft_message, self.price_threshold) + result["checks"]["price"] = price_check + if not price_check["is_safe"]: + result["is_safe"] = False + result["warnings"].extend(price_check["warnings"]) + result["errors"].extend(price_check["errors"]) + + # Balance change analysis + balance_analysis = analyze_balance_changes(nft_message.balance_change) + result["checks"]["balance"] = balance_analysis + + # Suspicious pattern detection + suspicious_patterns = detect_suspicious_patterns(nft_message) + if suspicious_patterns: + result["warnings"].extend(suspicious_patterns) + result["is_safe"] = False + + result["checks"]["suspicious_patterns"] = suspicious_patterns + + return result + + def check_permit_security(self, permit_message: PermitMessage) -> Dict[str, any]: + """ + Check Permit message security + + Args: + permit_message: Permit message + + Returns: + Security check result + """ + result = { + "is_safe": True, + "warnings": [], + "errors": [], + "checks": {} + } + + # Check authorization count + permit_count = len(permit_message.permits) + if permit_count > 5: + result["warnings"].append(f"Batch authorization count is high: {permit_count} items") + result["is_safe"] = False + + # Check authorization expiration time + for i, permit in enumerate(permit_message.permits): + try: + expiration = int(permit.expiration) + # Check if it's unlimited authorization (usually a very large number) + if expiration > 2**64 - 1: + result["warnings"].append(f"Authorization {i+1} is set to never expire") + result["is_safe"] = False + except (ValueError, TypeError): + result["errors"].append(f"Authorization {i+1} expiration time format error") + result["is_safe"] = False + + result["checks"]["permit_analysis"] = { + "permit_count": permit_count, + "permits": [ + { + "spender": permit.spender, + "amount": permit.amount, + "expiration": permit.expiration + } + for permit in permit_message.permits + ] + } + + return result \ No newline at end of file diff --git a/eip712_parser/signature_detector.py b/eip712_parser/signature_detector.py new file mode 100644 index 0000000..1f33e2c --- /dev/null +++ b/eip712_parser/signature_detector.py @@ -0,0 +1,337 @@ +""" +Ethereum signature type detector +Used to automatically identify and classify different types of Ethereum signature methods +""" + +from typing import Dict, Any, Optional, Union +from enum import Enum +import re +import json + + +class SignatureType(str, Enum): + """Signature type enumeration""" + ETH_SEND_TRANSACTION = "eth_sendTransaction" + PERSONAL_SIGN = "personal_sign" + ETH_SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4" + ETH_SIGN = "eth_sign" + UNKNOWN = "unknown" + + +class SignatureDetector: + """Signature type detector""" + + @staticmethod + def detect_signature_type(data: Union[str, Dict[str, Any]]) -> SignatureType: + """ + Detect signature type + + Args: + data: Input data, can be string or dictionary + + Returns: + Detected signature type + """ + if isinstance(data, str): + return SignatureDetector._detect_string_signature(data) + elif isinstance(data, dict): + return SignatureDetector._detect_dict_signature(data) + else: + return SignatureType.UNKNOWN + + @staticmethod + def _detect_string_signature(data: str) -> SignatureType: + """ + Detect string format signature + + Args: + data: Input string + + Returns: + Detected signature type + """ + # Remove whitespace + data = data.strip() + + # Check empty string + if not data: + return SignatureType.UNKNOWN + + # Try to parse as JSON + try: + parsed_data = json.loads(data) + if isinstance(parsed_data, dict): + return SignatureDetector._detect_dict_signature(parsed_data) + except (json.JSONDecodeError, ValueError): + pass + + # Check if it's hexadecimal data + if data.startswith("0x"): + hex_data = data[2:] + # Check if hexadecimal format is valid + if all(c in "0123456789abcdefABCDEF" for c in hex_data): + # Might be raw signature data or transaction hash + if len(data) == 66: # 32 bytes hash + return SignatureType.ETH_SIGN + elif len(data) == 130: # 65 bytes signature + return SignatureType.ETH_SIGN + elif len(hex_data) > 40: # Long hexadecimal data, might be signature + return SignatureType.ETH_SIGN + elif len(hex_data) == 40: # Address length, but single address treated as personal message + return SignatureType.PERSONAL_SIGN + + # Check if it's plain text message + if SignatureDetector._is_plain_text(data): + return SignatureType.PERSONAL_SIGN + + return SignatureType.UNKNOWN + + @staticmethod + def _detect_dict_signature(data: Dict[str, Any]) -> SignatureType: + """ + Detect dictionary format signature + + Args: + data: Input dictionary + + Returns: + Detected signature type + """ + # Check if it's EIP-712 structured data + if SignatureDetector._is_eip712_data(data): + return SignatureType.ETH_SIGN_TYPED_DATA_V4 + + # Check if it's transaction data + if SignatureDetector._is_transaction_data(data): + return SignatureType.ETH_SEND_TRANSACTION + + # Check if contains personal_sign related fields + if "message" in data and isinstance(data["message"], str): + return SignatureType.PERSONAL_SIGN + + return SignatureType.UNKNOWN + + @staticmethod + def _is_eip712_data(data: Dict[str, Any]) -> bool: + """ + Check if it's EIP-712 data format + + Args: + data: Input data + + Returns: + Whether it's EIP-712 format + """ + required_fields = ["types", "domain", "primaryType", "message"] + + # Check required fields + for field in required_fields: + if field not in data: + return False + + # Validate types field structure + types = data["types"] + if not isinstance(types, dict): + return False + + # Check if contains EIP712Domain + if "EIP712Domain" not in types: + return False + + # Validate domain field + domain = data["domain"] + if not isinstance(domain, dict): + return False + + # Validate primaryType + primary_type = data["primaryType"] + if not isinstance(primary_type, str) or primary_type not in types: + return False + + # Validate message field + if not isinstance(data["message"], dict): + return False + + return True + + @staticmethod + def _is_transaction_data(data: Dict[str, Any]) -> bool: + """ + Check if it's transaction data + + Args: + data: Input data + + Returns: + Whether it's transaction data + """ + # Common transaction data fields + transaction_fields = ["to", "from", "value", "data", "gas", "gasPrice", "nonce"] + + # At least contains some transaction fields + found_fields = sum(1 for field in transaction_fields if field in data) + + # If contains multiple transaction fields, consider it transaction data + if found_fields >= 2: + return True + + # Check specific field combinations + if "to" in data and ("value" in data or "data" in data): + return True + + return False + + @staticmethod + def _is_plain_text(text: str) -> bool: + """ + Check if text is plain text + + Args: + text: Input text + + Returns: + Whether it is plain text + """ + # Check if contains printable characters + try: + # Try to encode as UTF-8 + text.encode('utf-8') + + # Check if contains control characters (except common whitespace) + control_chars = sum(1 for c in text if ord(c) < 32 and c not in '\t\n\r ') + + # If too many control characters, might not be plain text + if control_chars > len(text) * 0.1: + return False + + return True + except UnicodeEncodeError: + return False + + @staticmethod + def get_signature_info(data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """ + Get detailed signature information + + Args: + data: Input data + + Returns: + Signature information dictionary + """ + signature_type = SignatureDetector.detect_signature_type(data) + + info = { + "type": signature_type, + "description": SignatureDetector._get_type_description(signature_type), + "data_format": type(data).__name__, + "analysis": {} + } + + # Add type-specific analysis + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + info["analysis"] = SignatureDetector._analyze_eip712_data(data) + elif signature_type == SignatureType.ETH_SEND_TRANSACTION: + info["analysis"] = SignatureDetector._analyze_transaction_data(data) + elif signature_type == SignatureType.PERSONAL_SIGN: + info["analysis"] = SignatureDetector._analyze_personal_sign_data(data) + elif signature_type == SignatureType.ETH_SIGN: + info["analysis"] = SignatureDetector._analyze_eth_sign_data(data) + + return info + + @staticmethod + def _get_type_description(signature_type: SignatureType) -> str: + """Get signature type description""" + descriptions = { + SignatureType.ETH_SEND_TRANSACTION: "Ethereum transaction signature", + SignatureType.PERSONAL_SIGN: "Personal message signature", + SignatureType.ETH_SIGN_TYPED_DATA_V4: "EIP-712 structured data signature", + SignatureType.ETH_SIGN: "Raw data signature", + SignatureType.UNKNOWN: "Unknown signature type" + } + return descriptions.get(signature_type, "Unknown type") + + @staticmethod + def _analyze_eip712_data(data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Analyze EIP-712 data""" + if isinstance(data, str): + try: + data = json.loads(data) + except: + return {"error": "Unable to parse JSON data"} + + if not isinstance(data, dict): + return {"error": "Invalid data format"} + + analysis = { + "domain_name": data.get("domain", {}).get("name", "Unknown"), + "domain_version": data.get("domain", {}).get("version", "Unknown"), + "chain_id": data.get("domain", {}).get("chainId", "Unknown"), + "verifying_contract": data.get("domain", {}).get("verifyingContract", "Unknown"), + "primary_type": data.get("primaryType", "Unknown"), + "types_count": len(data.get("types", {})), + "message_fields": list(data.get("message", {}).keys()) if isinstance(data.get("message"), dict) else [] + } + + return analysis + + @staticmethod + def _analyze_transaction_data(data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Analyze transaction data""" + if isinstance(data, str): + try: + data = json.loads(data) + except: + return {"error": "Unable to parse JSON data"} + + if not isinstance(data, dict): + return {"error": "Invalid data format"} + + analysis = { + "to": data.get("to", "Unknown"), + "from": data.get("from", "Unknown"), + "value": data.get("value", "0"), + "has_data": bool(data.get("data")), + "data_size": len(data.get("data", "")) if data.get("data") else 0, + "gas": data.get("gas", "Unknown"), + "gas_price": data.get("gasPrice", "Unknown"), + "nonce": data.get("nonce", "Unknown") + } + + return analysis + + @staticmethod + def _analyze_personal_sign_data(data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Analyze personal signature data""" + if isinstance(data, dict): + message = data.get("message", "") + else: + message = str(data) + + analysis = { + "message_length": len(message), + "message_preview": message[:100] + "..." if len(message) > 100 else message, + "contains_unicode": any(ord(c) > 127 for c in message), + "is_hex": message.startswith("0x") and all(c in "0123456789abcdefABCDEF" for c in message[2:]) + } + + return analysis + + @staticmethod + def _analyze_eth_sign_data(data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Analyze raw signature data""" + if isinstance(data, dict): + # If it's a dictionary, look for possible signature fields + signature_data = data.get("signature", data.get("data", str(data))) + else: + signature_data = str(data) + + analysis = { + "data_length": len(signature_data), + "is_hex": signature_data.startswith("0x"), + "hex_length": len(signature_data[2:]) if signature_data.startswith("0x") else 0, + "possible_type": "hash" if len(signature_data) == 66 else "signature" if len(signature_data) == 130 else "unknown" + } + + return analysis \ No newline at end of file diff --git a/eip712_parser/types.py b/eip712_parser/types.py new file mode 100644 index 0000000..fef385b --- /dev/null +++ b/eip712_parser/types.py @@ -0,0 +1,160 @@ +""" +EIP712 Parser Type Definitions +""" + +from typing import Dict, List, Optional, Union, Any, TypedDict +from enum import Enum +from dataclasses import dataclass +from pydantic import BaseModel + + +class OrderType(str, Enum): + """Order type enumeration""" + LISTING = "listing" + OFFER = "offer" + + +class NFTProtocolType(str, Enum): + """NFT protocol type enumeration""" + SEAPORT = "seaport" + BLUR = "blur" + BLEND = "blend" + LOOKSRARE = "looksrare" + + +class PersonalSignTemplateType(str, Enum): + """PersonalSign template type enumeration""" + LOGIN = "login" + BINDING = "binding" + AUTHORIZATION = "authorization" + VERIFICATION = "verification" + CUSTOM_MESSAGE = "custom_message" + UNKNOWN = "unknown" + + +@dataclass +class NFTDetail: + """NFT details""" + collection: str + amount: str + type: Optional[str] = None # 'erc721' | 'erc1155' + token_id: Optional[str] = None + + +@dataclass +class FTDetail: + """Fungible token details""" + currency: str + amount: str + type: Optional[str] = None # 'native' | 'erc20' + + +@dataclass +class ParsedDetail: + """Parsed details""" + kind: str # "nft" | "token" + detail: Union[NFTDetail, FTDetail] + + +# Balance change type definition +BalanceChangeDetail = Dict[str, str] # {keyId: amount} +BalanceChange = Dict[str, BalanceChangeDetail] # {address: BalanceChangeDetail} + + +@dataclass +class NFTMessage: + """NFT message""" + offerer: str + offer: List[ParsedDetail] + order_type: OrderType + balance_change: BalanceChange + consideration: List[ParsedDetail] + start_time: Union[str, int] + end_time: Union[str, int] + type: NFTProtocolType + + +@dataclass +class NFTMessageBulk: + """Bulk NFT message""" + balance_change: BalanceChange + messages: List[NFTMessage] + + +@dataclass +class Approval: + """Approval information""" + spender: str + amount: Union[str, int] + nonce: Union[str, int] + expiration: Union[str, int] + owner: Optional[str] = None + token: Optional[str] = None + + +@dataclass +class PermitMessage: + """Permit message""" + permits: List[Approval] + + +@dataclass +class TransactionLike: + """Transaction-like information""" + from_address: str + to: Optional[str] + data: Optional[str] = None + value: Optional[Union[str, int]] = None + + +class EIP712Like(TypedDict): + """EIP712 message structure""" + types: Dict[str, Any] + domain: Dict[str, Any] + primaryType: str + message: Dict[str, Any] + + +@dataclass +class ParsedMessage: + """Parsed message""" + kind: str # "nft" | "permit" + detail: Union[NFTMessage, NFTMessageBulk, PermitMessage] + + +def is_bulk_message(message: Union[NFTMessage, NFTMessageBulk]) -> bool: + """Check if message is bulk message""" + return isinstance(message, NFTMessageBulk) + + +def calculate_balance_change( + balance_change: BalanceChange, + address: str, + parsed: ParsedDetail, + is_received: bool +) -> None: + """Calculate balance change""" + if parsed.kind == "token": + detail = parsed.detail + key_id = f"{getattr(detail, 'type', 'token')}:{detail.currency}" + else: + detail = parsed.detail + key_id = f"{getattr(detail, 'type', 'nft')}:{detail.collection}:{getattr(detail, 'token_id', '')}" + + address = address.lower() + + if address not in balance_change: + balance_change[address] = {} + + if key_id not in balance_change[address]: + balance_change[address][key_id] = "0" + + current_amount = int(balance_change[address][key_id]) + change_amount = int(detail.amount) + + if is_received: + new_amount = current_amount + change_amount + else: + new_amount = current_amount - change_amount + + balance_change[address][key_id] = str(new_amount) \ No newline at end of file diff --git a/eip712_parser/universal_cli.py b/eip712_parser/universal_cli.py new file mode 100644 index 0000000..12d345f --- /dev/null +++ b/eip712_parser/universal_cli.py @@ -0,0 +1,317 @@ +#!/usr/bin/env python3 +""" +EIP712 Universal Parser Command Line Tool +Supports automatic identification of different types of Ethereum signatures +""" + +import sys +import json +import argparse +import os +from typing import Dict, Any +from . import parse_request, UniversalParser, SignatureDetector +from .security import SecurityChecker + + +def load_data(input_source: str) -> Any: + """Load input data""" + # If it's a file path + if os.path.isfile(input_source): + with open(input_source, 'r', encoding='utf-8') as f: + content = f.read().strip() + try: + return json.loads(content) + except json.JSONDecodeError: + return content + else: + # Process as direct input data + # First try to parse as JSON + try: + parsed = json.loads(input_source) + return parsed + except json.JSONDecodeError: + # If not valid JSON, return original string + return input_source + + +def format_eip712_result(parsed_message, security_result, format_type="text"): + """Format EIP712 parsing result""" + if format_type == "json": + result = { + "kind": parsed_message.kind if hasattr(parsed_message, 'kind') else None, + "security": security_result + } + if hasattr(parsed_message, 'detail'): + detail = parsed_message.detail + result['detail'] = { + 'type': detail.type if hasattr(detail, 'type') else None, + 'order_type': detail.order_type if hasattr(detail, 'order_type') else None, + 'from': detail.from_address if hasattr(detail, 'from_address') else None + } + return json.dumps(result, indent=2, ensure_ascii=False) + + # Text format + lines = [] + lines.append("🔍 EIP712 Parsing Result") + lines.append("=" * 40) + + if hasattr(parsed_message, 'kind'): + lines.append(f"Message type: {parsed_message.kind}") + + if hasattr(parsed_message, 'detail'): + detail = parsed_message.detail + if hasattr(detail, 'type'): + lines.append(f"Protocol type: {detail.type}") + if hasattr(detail, 'order_type'): + lines.append(f"Order type: {detail.order_type}") + if hasattr(detail, 'from_address'): + lines.append(f"Initiator: {detail.from_address}") + + # Security check result + lines.append("\n🛡️ Security Check") + lines.append("-" * 20) + if security_result["is_safe"]: + lines.append("✅ No security risks found") + else: + lines.append("⚠️ Potential risks found:") + for warning in security_result.get("warnings", []): + lines.append(f" - {warning}") + + return '\n'.join(lines) + + +def format_universal_result(result: Dict[str, Any], format_type: str = "text") -> str: + """Format universal parsing result""" + if format_type == "json": + return json.dumps(result, indent=2, ensure_ascii=False) + + lines = [] + lines.append("🔍 Signature Recognition and Parsing Result") + lines.append("=" * 40) + + # Signature information + signature_info = result.get('signature_info', {}) + lines.append(f"Signature type: {signature_info.get('type', 'unknown')}") + lines.append(f"Description: {signature_info.get('description', 'Unknown')}") + lines.append(f"Data format: {signature_info.get('data_format', 'unknown')}") + + # Detailed analysis + analysis = signature_info.get('analysis', {}) + if analysis: + lines.append(f"\n📊 Detailed Analysis:") + for key, value in analysis.items(): + if isinstance(value, list): + lines.append(f" {key}: {', '.join(map(str, value)) if value else 'None'}") + else: + lines.append(f" {key}: {value}") + + # Parsing result + lines.append(f"\n🔧 Parsing Result:") + if result.get('success'): + lines.append(f"✅ Parsing successful") + + parsed_data = result.get('parsed_data') + if parsed_data: + sig_type = signature_info.get('type') + if sig_type == "eth_signTypedData_v4": + if hasattr(parsed_data, 'kind'): + lines.append(f"Protocol type: {parsed_data.kind}") + if parsed_data.kind == "nft" and hasattr(parsed_data, 'detail'): + lines.append(f"NFT protocol: {parsed_data.detail.type}") + lines.append(f"Order type: {parsed_data.detail.order_type}") + elif sig_type == "eth_sendTransaction": + transaction_info = parsed_data.get('transaction', {}) + lines.append(f"From: {transaction_info.get('from', 'Unknown')}") + lines.append(f"To: {transaction_info.get('to', 'Unknown')}") + lines.append(f"Value: {transaction_info.get('value', '0')}") + elif sig_type == "personal_sign": + message_info = parsed_data.get('message_info', {}) + lines.append(f"Message length: {message_info.get('length', 0)}") + lines.append(f"Language: {message_info.get('language', 'unknown')}") + + # Security warnings + warnings = parsed_data.get('security_warnings', []) + if warnings: + lines.append(f"\n⚠️ Security Warnings:") + for warning in warnings: + lines.append(f" - {warning}") + else: + lines.append(f"❌ Parsing failed: {result.get('error', 'Unknown error')}") + + return '\n'.join(lines) + + +def format_detection_only(signature_info: Dict[str, Any], format_type: str = "text") -> str: + """Format detection results only""" + if format_type == "json": + return json.dumps(signature_info, indent=2, ensure_ascii=False) + + lines = [] + lines.append("🔍 Signature Type Detection Result") + lines.append("=" * 30) + lines.append(f"Type: {signature_info['type']}") + lines.append(f"Description: {signature_info['description']}") + lines.append(f"Data Format: {signature_info['data_format']}") + + analysis = signature_info.get('analysis', {}) + if analysis: + lines.append(f"\n📊 Detailed Analysis:") + for key, value in analysis.items(): + if isinstance(value, list): + lines.append(f" {key}: {', '.join(map(str, value)) if value else 'None'}") + else: + lines.append(f" {key}: {value}") + + return '\n'.join(lines) + + +def main(): + """Main function""" + parser = argparse.ArgumentParser( + description="EIP712 Universal Signature Parser and Analysis Tool", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Example Usage: + # Use universal parser (automatically detect signature type) + python -m eip712_parser.universal_cli data.json + python -m eip712_parser.universal_cli "Hello, World!" + + # Detect signature type only + python -m eip712_parser.universal_cli --detect-only "Hello, World!" + + # Read from standard input + echo '{"message": "test"}' | python -m eip712_parser.universal_cli --stdin + + # Output JSON format + python -m eip712_parser.universal_cli --format json data.json + + # Traditional EIP712 parsing mode + python -m eip712_parser.universal_cli --eip712-only data.json + """ + ) + + parser.add_argument( + 'input', + nargs='?', + help='Input data file path or direct data input' + ) + + parser.add_argument( + '--format', + choices=['text', 'json'], + default='text', + help='Output format (default: text)' + ) + + parser.add_argument( + '--detect-only', + action='store_true', + help='Detect signature type only, do not parse' + ) + + parser.add_argument( + '--eip712-only', + action='store_true', + help='Use traditional EIP712 parser only' + ) + + parser.add_argument( + '--stdin', + action='store_true', + help='Read data from standard input' + ) + + parser.add_argument( + '--output', '-o', + help='Output file path (default: standard output)' + ) + + parser.add_argument( + '--price-threshold', + type=float, + default=0.1, + help='Price safety threshold (ETH) (default: 0.1)' + ) + + parser.add_argument( + '--verbose', '-v', + action='store_true', + help='Verbose output' + ) + + args = parser.parse_args() + + try: + # Read input data + if args.stdin: + data = sys.stdin.read().strip() + elif args.input: + data = load_data(args.input) + else: + print("Error: Please provide input data or use --stdin", file=sys.stderr) + sys.exit(1) + + # Choose processing method + if args.detect_only: + # Detect signature type only + detector = SignatureDetector() + signature_info = detector.get_signature_info(data) + output = format_detection_only(signature_info, args.format) + + elif args.eip712_only: + # Traditional EIP712 parsing + if not isinstance(data, dict): + print("Error: EIP712 parser requires dictionary format data", file=sys.stderr) + sys.exit(1) + + if args.verbose: + print("Parsing EIP712 data...", file=sys.stderr) + + parsed_message = parse_request(data) + if not parsed_message: + print("❌ Unable to parse this EIP712 data format", file=sys.stderr) + sys.exit(1) + + # Security check + if args.verbose: + print("Performing security check...", file=sys.stderr) + + security_checker = SecurityChecker(price_threshold=args.price_threshold) + security_result = security_checker.check_message_security(parsed_message) + + output = format_eip712_result(parsed_message, security_result, args.format) + + else: + # Use universal parser (default mode) + if args.verbose: + print("Performing signature identification and parsing...", file=sys.stderr) + + universal_parser = UniversalParser() + result = universal_parser.parse(data) + output = format_universal_result(result, args.format) + + # Output result + if args.output: + with open(args.output, 'w', encoding='utf-8') as f: + f.write(output) + if args.verbose: + print(f"Result saved to: {args.output}", file=sys.stderr) + else: + print(output) + + except FileNotFoundError as e: + print(f"❌ File not found: {e}", file=sys.stderr) + sys.exit(1) + except json.JSONDecodeError as e: + print(f"❌ JSON format error: {e}", file=sys.stderr) + sys.exit(1) + except Exception as e: + print(f"❌ Error occurred: {e}", file=sys.stderr) + if args.verbose: + import traceback + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/eip712_parser/universal_parser.py b/eip712_parser/universal_parser.py new file mode 100644 index 0000000..af693f7 --- /dev/null +++ b/eip712_parser/universal_parser.py @@ -0,0 +1,288 @@ +""" +Universal signature parser +Integrates signature detector and various types of parsing functionality +""" + +from typing import Union, Dict, Any, Optional +from .signature_detector import SignatureDetector, SignatureType +from .parser import parse_request as parse_eip712_request +from .types import ParsedMessage, TransactionLike +import json + + +class UniversalParser: + """Universal signature parser""" + + def __init__(self): + self.detector = SignatureDetector() + + def parse(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """ + Universal parsing method + + Args: + data: Input data, can be string or dictionary + + Returns: + Parsing result dictionary + """ + # 1. Detect signature type + signature_info = self.detector.get_signature_info(data) + signature_type = signature_info["type"] + + result = { + "signature_info": signature_info, + "parsed_data": None, + "success": False, + "error": None + } + + try: + # 2. Parse based on type + if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: + result["parsed_data"] = self._parse_eip712(data) + result["success"] = result["parsed_data"] is not None + + elif signature_type == SignatureType.ETH_SEND_TRANSACTION: + result["parsed_data"] = self._parse_transaction(data) + result["success"] = result["parsed_data"] is not None + + elif signature_type == SignatureType.PERSONAL_SIGN: + result["parsed_data"] = self._parse_personal_sign(data) + result["success"] = True + + elif signature_type == SignatureType.ETH_SIGN: + result["parsed_data"] = self._parse_eth_sign(data) + result["success"] = True + + else: + result["error"] = f"Unsupported signature type: {signature_type}" + + except Exception as e: + result["error"] = f"Error occurred during parsing: {str(e)}" + result["success"] = False + + return result + + def _parse_eip712(self, data: Union[str, Dict[str, Any]]) -> Optional[ParsedMessage]: + """Parse EIP-712 data""" + if isinstance(data, str): + try: + data = json.loads(data) + except json.JSONDecodeError: + return None + + return parse_eip712_request(data) + + def _parse_transaction(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Parse transaction data""" + if isinstance(data, str): + try: + data = json.loads(data) + except json.JSONDecodeError: + return {"error": "Unable to parse JSON data"} + + # Create TransactionLike object + transaction = TransactionLike( + from_address=data.get("from", ""), + to=data.get("to"), + data=data.get("data"), + value=data.get("value") + ) + + # Analyze transaction type + analysis = { + "transaction": { + "from": transaction.from_address, + "to": transaction.to, + "value": transaction.value, + "has_data": bool(transaction.data), + "data_length": len(transaction.data) if transaction.data else 0 + }, + "type_analysis": self._analyze_transaction_type(transaction), + "security_warnings": self._check_transaction_security(transaction) + } + + return analysis + + def _parse_personal_sign(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Parse personal sign data""" + if isinstance(data, dict): + message = data.get("message", str(data)) + else: + message = str(data) + + analysis = { + "message": message, + "message_info": { + "length": len(message), + "is_hex": message.startswith("0x"), + "contains_urls": self._contains_urls(message), + "contains_addresses": self._contains_eth_addresses(message), + "language": self._detect_language(message) + }, + "security_warnings": self._check_personal_sign_security(message) + } + + return analysis + + def _parse_eth_sign(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: + """Parse raw signature data""" + if isinstance(data, dict): + raw_data = data.get("data", data.get("signature", str(data))) + else: + raw_data = str(data) + + analysis = { + "raw_data": raw_data, + "data_info": { + "length": len(raw_data), + "is_hex": raw_data.startswith("0x"), + "hex_length": len(raw_data[2:]) if raw_data.startswith("0x") else 0, + "possible_type": self._identify_raw_data_type(raw_data) + }, + "security_warnings": ["Raw data signature has security risks, please confirm data content"] + } + + return analysis + + def _analyze_transaction_type(self, transaction: TransactionLike) -> Dict[str, Any]: + """Analyze transaction type""" + analysis = { + "is_contract_interaction": bool(transaction.data and len(transaction.data) > 2), + "is_value_transfer": bool(transaction.value and transaction.value != "0"), + "is_contract_creation": transaction.to is None or transaction.to == "", + } + + # Analyze contract call + if analysis["is_contract_interaction"] and transaction.data: + function_selector = transaction.data[:10] if len(transaction.data) >= 10 else "" + analysis["function_selector"] = function_selector + analysis["estimated_function"] = self._guess_function_name(function_selector) + + return analysis + + def _check_transaction_security(self, transaction: TransactionLike) -> list: + """Check transaction security""" + warnings = [] + + # Check high-value transfer + if transaction.value and transaction.value != "0": + try: + value_wei = int(transaction.value, 16) if isinstance(transaction.value, str) and transaction.value.startswith("0x") else int(transaction.value) + value_eth = value_wei / (10**18) + if value_eth > 1.0: + warnings.append(f"High-value transfer: {value_eth:.4f} ETH") + except (ValueError, TypeError): + pass + + # Check suspicious contract address + if transaction.to and len(transaction.to) == 42: + if self._is_suspicious_address(transaction.to): + warnings.append("Target address may have risks") + + # Check data length + if transaction.data and len(transaction.data) > 10000: + warnings.append("Transaction data too long, may have risks") + + return warnings + + def _check_personal_sign_security(self, message: str) -> list: + """Check personal signature security""" + warnings = [] + + # Check sensitive keywords + sensitive_keywords = [ + "transfer", "approve", "authorize", "permit", "sign", + "wallet", "private", "seed", "password", "mnemonic" + ] + + message_lower = message.lower() + for keyword in sensitive_keywords: + if keyword in message_lower: + warnings.append(f"Message contains sensitive keyword: {keyword}") + + # Check URLs + if self._contains_urls(message): + warnings.append("Message contains URL links, please verify security") + + # Check hexadecimal data + if message.startswith("0x") and len(message) > 42: + warnings.append("Message contains hexadecimal data, may be encoded transaction") + + return warnings + + def _contains_urls(self, text: str) -> bool: + """Check if text contains URLs""" + import re + url_pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+' + return bool(re.search(url_pattern, text)) + + def _contains_eth_addresses(self, text: str) -> bool: + """Check if text contains Ethereum addresses""" + import re + address_pattern = r'0x[a-fA-F0-9]{40}' + return bool(re.search(address_pattern, text)) + + def _detect_language(self, text: str) -> str: + """Simple language detection""" + # Check if contains Chinese characters + if any('\u4e00' <= char <= '\u9fff' for char in text): + return "chinese" + # Check if contains Japanese characters + elif any('\u3040' <= char <= '\u309f' or '\u30a0' <= char <= '\u30ff' for char in text): + return "japanese" + # Check if contains Korean characters + elif any('\uac00' <= char <= '\ud7af' for char in text): + return "korean" + else: + return "english" + + def _identify_raw_data_type(self, data: str) -> str: + """Identify raw data type""" + if not data.startswith("0x"): + return "text" + + hex_data = data[2:] + + if len(hex_data) == 64: + return "hash" + elif len(hex_data) == 128: + return "signature" + elif len(hex_data) == 40: + return "address" + else: + return "unknown_hex" + + def _guess_function_name(self, selector: str) -> str: + """Guess function name based on function selector""" + # Common function selectors + known_selectors = { + "0xa9059cbb": "transfer(address,uint256)", + "0x095ea7b3": "approve(address,uint256)", + "0x23b872dd": "transferFrom(address,address,uint256)", + "0x70a08231": "balanceOf(address)", + "0x18160ddd": "totalSupply()", + "0xd505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "0x42842e0e": "safeTransferFrom(address,address,uint256)", + "0xa22cb465": "setApprovalForAll(address,bool)", + } + + return known_selectors.get(selector, f"unknown_function({selector})") + + def _is_suspicious_address(self, address: str) -> bool: + """Check if address is suspicious""" + # Can add known malicious address list here + # Or check certain characteristics of the address + + # Check if it's zero address + if address.lower() == "0x0000000000000000000000000000000000000000": + return True + + # Check for repeating patterns (may be fake address) + hex_part = address[2:].lower() + for i in range(len(hex_part) - 3): + if hex_part[i:i+4] * 10 in hex_part: + return True + + return False \ No newline at end of file diff --git a/eth_transaction_parser/__init__.py b/eth_transaction_parser/__init__.py index 5103fde..bea5a98 100644 --- a/eth_transaction_parser/__init__.py +++ b/eth_transaction_parser/__init__.py @@ -1,6 +1,6 @@ """ -ETH Transaction 解析器 -用于解析和分析 eth_sendTransaction 交易数据 +ETH Transaction Parser +Used to parse and analyze eth_sendTransaction transaction data """ from .parser import EthTransactionParser diff --git a/eth_transaction_parser/__pycache__/__init__.cpython-39.pyc b/eth_transaction_parser/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8f99904bc2f999d7e2405b5780497ea38417bf9 GIT binary patch literal 633 zcmZXR&ubJh6vva5iARgLM z`~iCLpn~-x-U|Iw=Gu1Ef5DS4(-uYy%s0t<$@hKcg)J^72*%N7Hthrmo%l_AKn&f3 z&wAmAAdY#Ua2}8V`*lZkCVmc8m`5aPVv*|RF^OT_CB0{e$Dc4+;JqhkxG;MRHpzIh zIhYuxEz6uN^x)Um&-0H5XCDrepKlLOkM}S3uXoR0y@bR-xGA+l^Y)$7<1h2~Z|3iQ z%=f-0zcJVjalJft)7GI!%vfO{j#ogITABNrscNUm-Drj30?UOHX8gh#fGf;Sv^H8F ztqo)2J7GdE5eT{ZZz*!EWizQtL9TBUx-r>cNvJ378q+Wva=e$&00ylK^6-u{-vCv$w1%E)G^cymL&+p|A&2FbN z=#EV*VVy_|Ex3`}BIUw9cSV_IP(Bs1ytRIF)dPJt2vW8^)J%qItNcFm0CJV dM`cy_?!XVsl(_5P#`>CJ)W<#C$NeD0e*yfC&~^X- literal 0 HcmV?d00001 diff --git a/eth_transaction_parser/models.py b/eth_transaction_parser/models.py index 0af76af..c521ba4 100644 --- a/eth_transaction_parser/models.py +++ b/eth_transaction_parser/models.py @@ -1,5 +1,5 @@ """ -ETH Transaction 解析器的数据模型 +ETH Transaction Parser Data Models """ from typing import Dict, List, Optional, Union, Any @@ -9,21 +9,21 @@ class TransactionType(str, Enum): - """交易类型枚举""" - ETH_TRANSFER = "eth_transfer" # ETH转账 - TOKEN_TRANSFER = "token_transfer" # 代币转账 - TOKEN_APPROVAL = "token_approval" # 代币授权 - CONTRACT_DEPLOY = "contract_deploy" # 合约部署 - CONTRACT_CALL = "contract_call" # 合约调用 - NFT_TRANSFER = "nft_transfer" # NFT转移 - NFT_APPROVAL = "nft_approval" # NFT授权 - DEFI_SWAP = "defi_swap" # DeFi交换 - DEFI_LIQUIDITY = "defi_liquidity" # DeFi流动性 - UNKNOWN = "unknown" # 未知类型 + """Transaction type enumeration""" + ETH_TRANSFER = "eth_transfer" # ETH transfer + TOKEN_TRANSFER = "token_transfer" # Token transfer + TOKEN_APPROVAL = "token_approval" # Token approval + CONTRACT_DEPLOY = "contract_deploy" # Contract deployment + CONTRACT_CALL = "contract_call" # Contract call + NFT_TRANSFER = "nft_transfer" # NFT transfer + NFT_APPROVAL = "nft_approval" # NFT approval + DEFI_SWAP = "defi_swap" # DeFi swap + DEFI_LIQUIDITY = "defi_liquidity" # DeFi liquidity + UNKNOWN = "unknown" # Unknown type class RiskLevel(str, Enum): - """风险级别枚举""" + """Risk level enumeration""" LOW = "low" MEDIUM = "medium" HIGH = "high" @@ -32,12 +32,12 @@ class RiskLevel(str, Enum): @dataclass class ContractCallInfo: - """合约调用信息""" - function_selector: Optional[str] = None # 函数选择器 - function_name: Optional[str] = None # 函数名称 - function_signature: Optional[str] = None # 函数签名 - parameters: Dict[str, Any] = None # 解析的参数 - raw_data: Optional[str] = None # 原始calldata + """Contract call information""" + function_selector: Optional[str] = None # Function selector + function_name: Optional[str] = None # Function name + function_signature: Optional[str] = None # Function signature + parameters: Dict[str, Any] = None # Parsed parameters + raw_data: Optional[str] = None # Raw calldata def __post_init__(self): if self.parameters is None: @@ -46,37 +46,37 @@ def __post_init__(self): @dataclass class TokenInfo: - """代币信息""" - address: Optional[str] = None # 代币合约地址 - symbol: Optional[str] = None # 代币符号 - name: Optional[str] = None # 代币名称 - decimals: Optional[int] = None # 精度 - amount: Optional[str] = None # 数量 - amount_formatted: Optional[str] = None # 格式化后的数量 + """Token information""" + address: Optional[str] = None # Token contract address + symbol: Optional[str] = None # Token symbol + name: Optional[str] = None # Token name + decimals: Optional[int] = None # Decimals + amount: Optional[str] = None # Amount + amount_formatted: Optional[str] = None # Formatted amount @dataclass class EthTransaction: - """ETH交易数据""" - # 基本交易字段 - from_address: Optional[str] = None # 发送方地址 - to_address: Optional[str] = None # 接收方地址 - value: Optional[str] = None # 转账金额 (wei) - gas: Optional[str] = None # Gas限制 - gas_price: Optional[str] = None # Gas价格 - max_fee_per_gas: Optional[str] = None # EIP-1559 最大费用 - max_priority_fee_per_gas: Optional[str] = None # EIP-1559 优先费用 + """ETH transaction data""" + # Basic transaction fields + from_address: Optional[str] = None # Sender address + to_address: Optional[str] = None # Recipient address + value: Optional[str] = None # Transfer amount (wei) + gas: Optional[str] = None # Gas limit + gas_price: Optional[str] = None # Gas price + max_fee_per_gas: Optional[str] = None # EIP-1559 max fee + max_priority_fee_per_gas: Optional[str] = None # EIP-1559 priority fee nonce: Optional[str] = None # Nonce - data: Optional[str] = None # 交易数据 + data: Optional[str] = None # Transaction data - # 解析后的信息 - value_eth: Optional[float] = None # ETH金额 - gas_fee_eth: Optional[float] = None # 预估Gas费用(ETH) - is_contract_call: bool = False # 是否为合约调用 - is_value_transfer: bool = False # 是否包含ETH转账 + # Parsed information + value_eth: Optional[float] = None # ETH amount + gas_fee_eth: Optional[float] = None # Estimated gas fee (ETH) + is_contract_call: bool = False # Whether it's a contract call + is_value_transfer: bool = False # Whether it contains ETH transfer def __post_init__(self): - # 计算ETH金额 + # Calculate ETH amount if self.value and self.value != "0x0": try: value_wei = int(self.value, 16) if self.value.startswith("0x") else int(self.value) @@ -84,20 +84,20 @@ def __post_init__(self): except (ValueError, TypeError): self.value_eth = 0.0 - # 判断是否为合约调用 + # Determine if it's a contract call self.is_contract_call = bool(self.data and len(self.data) > 2) - # 判断是否包含价值转移 + # Determine if it contains value transfer self.is_value_transfer = bool(self.value_eth and self.value_eth > 0) @dataclass class TransactionAnalysis: - """交易分析结果""" - # 原始交易 + """Transaction analysis result""" + # Original transaction transaction: EthTransaction - # 分析结果 + # Analysis result transaction_type: TransactionType confidence: float # 置信度 0-1 diff --git a/eth_transaction_parser/parameter_extractor.py b/eth_transaction_parser/parameter_extractor.py index 1661ee4..dc0b893 100644 --- a/eth_transaction_parser/parameter_extractor.py +++ b/eth_transaction_parser/parameter_extractor.py @@ -1,5 +1,5 @@ """ -ETH Transaction 参数提取器 +ETH Transaction Parameter Extractor """ import re @@ -14,35 +14,35 @@ class TransactionParameterExtractor: - """交易参数提取器""" + """Transaction parameter extractor""" def __init__(self): self.function_signatures = self._load_function_signatures() def extract_contract_call_info(self, data: str) -> Optional[ContractCallInfo]: """ - 提取合约调用信息 + Extract contract call information Args: - data: 交易数据 (hex格式) + data: Transaction data (hex format) Returns: - ContractCallInfo: 合约调用信息,如果不是合约调用则返回None + ContractCallInfo: Contract call information, returns None if not a contract call """ - if not data or len(data) < 10: # 至少要有函数选择器 (4字节 = 8位hex + 0x) + if not data or len(data) < 10: # At least need function selector (4 bytes = 8 hex digits + 0x) return None - # 提取函数选择器 - function_selector = data[:10] # 0x + 8位hex + # Extract function selector + function_selector = data[:10] # 0x + 8 hex digits - # 获取函数信息 + # Get function information function_name = self._get_function_name(function_selector) function_signature = self._get_function_signature(function_selector) - # 提取参数 + # Extract parameters parameters = {} if len(data) > 10: - raw_params = data[10:] # 去掉函数选择器 + raw_params = data[10:] # Remove function selector parameters = self._decode_parameters(function_selector, raw_params) return ContractCallInfo( @@ -55,14 +55,14 @@ def extract_contract_call_info(self, data: str) -> Optional[ContractCallInfo]: def extract_token_transfer_info(self, call_info: ContractCallInfo, to_address: str) -> Optional[TokenInfo]: """ - 提取代币转账信息 + Extract token transfer information Args: - call_info: 合约调用信息 - to_address: 合约地址 + call_info: Contract call information + to_address: Contract address Returns: - TokenInfo: 代币信息 + TokenInfo: Token information """ if not call_info or not call_info.function_selector: return None @@ -85,28 +85,28 @@ def extract_token_transfer_info(self, call_info: ContractCallInfo, to_address: s def extract_gas_info(self, transaction: Dict[str, Any]) -> Dict[str, Any]: """ - 提取Gas相关信息 + Extract gas-related information Args: - transaction: 交易数据 + transaction: Transaction data Returns: - Dict: Gas信息 + Dict: Gas information """ gas_info = {} - # Gas限制 + # Gas limit if 'gas' in transaction: gas_limit = self._parse_hex_number(transaction['gas']) gas_info['gas_limit'] = gas_limit - # Gas价格 (Legacy) + # Gas price (Legacy) if 'gasPrice' in transaction: gas_price = self._parse_hex_number(transaction['gasPrice']) gas_info['gas_price'] = gas_price gas_info['gas_price_gwei'] = gas_price / (10**9) if gas_price else 0 - # EIP-1559 费用 + # EIP-1559 fees if 'maxFeePerGas' in transaction: max_fee = self._parse_hex_number(transaction['maxFeePerGas']) gas_info['max_fee_per_gas'] = max_fee @@ -117,7 +117,7 @@ def extract_gas_info(self, transaction: Dict[str, Any]) -> Dict[str, Any]: gas_info['max_priority_fee_per_gas'] = priority_fee gas_info['max_priority_fee_per_gas_gwei'] = priority_fee / (10**9) if priority_fee else 0 - # 估算总费用 + # Estimate total fee if 'gas_limit' in gas_info: if 'gas_price' in gas_info: total_fee = gas_info['gas_limit'] * gas_info['gas_price'] @@ -131,7 +131,7 @@ def extract_gas_info(self, transaction: Dict[str, Any]) -> Dict[str, Any]: return gas_info def _load_function_signatures(self) -> Dict[str, Dict[str, str]]: - """加载函数签名数据""" + """Load function signature data""" return { FunctionSelectors.ERC20_TRANSFER: { 'name': 'transfer', @@ -181,25 +181,25 @@ def _load_function_signatures(self) -> Dict[str, Dict[str, str]]: } def _get_function_name(self, selector: str) -> Optional[str]: - """获取函数名称""" + """Get function name""" sig_info = self.function_signatures.get(selector) return sig_info['name'] if sig_info else None def _get_function_signature(self, selector: str) -> Optional[str]: - """获取函数签名""" + """Get function signature""" sig_info = self.function_signatures.get(selector) return sig_info['signature'] if sig_info else None def _decode_parameters(self, selector: str, raw_params: str) -> Dict[str, Any]: """ - 解码函数参数 + Decode function parameters Args: - selector: 函数选择器 - raw_params: 原始参数数据 + selector: Function selector + raw_params: Raw parameter data Returns: - Dict: 解码后的参数 + Dict: Decoded parameters """ sig_info = self.function_signatures.get(selector) if not sig_info: @@ -209,9 +209,9 @@ def _decode_parameters(self, selector: str, raw_params: str) -> Dict[str, Any]: param_types = sig_info.get('params', []) try: - # 简单的参数解码 (每个参数32字节) + # Simple parameter decoding (each parameter is 32 bytes) for i, param_type in enumerate(param_types): - start = i * 64 # 32字节 = 64位hex + start = i * 64 # 32 bytes = 64 hex digits end = start + 64 if start >= len(raw_params): @@ -221,22 +221,22 @@ def _decode_parameters(self, selector: str, raw_params: str) -> Dict[str, Any]: param_name = f"param_{i}" if param_type == 'address': - # 地址类型:取后40位 + # Address type: take last 40 digits address = '0x' + param_hex[-40:] params[param_name] = address elif param_type == 'uint256': - # 256位无符号整数 + # 256-bit unsigned integer value = int(param_hex, 16) params[param_name] = value elif param_type == 'bool': - # 布尔值 + # Boolean value value = int(param_hex, 16) > 0 params[param_name] = value else: - # 其他类型保持原始hex + # Other types keep raw hex params[param_name] = '0x' + param_hex return params @@ -245,14 +245,14 @@ def _decode_parameters(self, selector: str, raw_params: str) -> Dict[str, Any]: return {'raw': raw_params, 'decode_error': str(e)} def _extract_erc20_transfer(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: - """提取ERC20 transfer信息""" + """Extract ERC20 transfer information""" params = call_info.parameters - # 获取接收地址和数量 + # Get recipient address and amount to_address = params.get('param_0') # address to amount = params.get('param_1') # uint256 amount - # 获取代币符号 + # Get token symbol symbol = self._get_token_symbol(contract_address) return TokenInfo( @@ -263,14 +263,14 @@ def _extract_erc20_transfer(self, call_info: ContractCallInfo, contract_address: ) def _extract_erc20_approve(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: - """提取ERC20 approve信息""" + """Extract ERC20 approve information""" params = call_info.parameters - # 获取授权地址和数量 + # Get spender address and amount spender = params.get('param_0') # address spender amount = params.get('param_1') # uint256 amount - # 获取代币符号 + # Get token symbol symbol = self._get_token_symbol(contract_address) return TokenInfo( @@ -281,15 +281,15 @@ def _extract_erc20_approve(self, call_info: ContractCallInfo, contract_address: ) def _extract_erc20_transfer_from(self, call_info: ContractCallInfo, contract_address: str) -> TokenInfo: - """提取ERC20 transferFrom信息""" + """Extract ERC20 transferFrom information""" params = call_info.parameters - # 获取发送地址、接收地址和数量 + # Get sender address, recipient address and amount from_address = params.get('param_0') # address from to_address = params.get('param_1') # address to amount = params.get('param_2') # uint256 amount - # 获取代币符号 + # Get token symbol symbol = self._get_token_symbol(contract_address) return TokenInfo( @@ -300,11 +300,11 @@ def _extract_erc20_transfer_from(self, call_info: ContractCallInfo, contract_add ) def _get_token_symbol(self, contract_address: str) -> Optional[str]: - """获取代币符号""" + """Get token symbol""" if not contract_address: return None - # 从已知合约获取 + # Get from known contracts for addr, name in KnownContracts.CONTRACT_NAMES.items(): if addr.lower() == contract_address.lower(): return name @@ -312,22 +312,22 @@ def _get_token_symbol(self, contract_address: str) -> Optional[str]: return None def _format_token_amount(self, amount: Optional[int], symbol: Optional[str]) -> Optional[str]: - """格式化代币数量""" + """Format token amount""" if amount is None: return None - # 根据代币类型使用不同的精度 + # Use different decimals based on token type if symbol in ['USDT', 'USDC']: decimals = 6 elif symbol in ['WETH']: decimals = 18 else: - decimals = 18 # 默认18位精度 + decimals = 18 # Default 18 decimals - # 格式化数量 + # Format amount formatted = amount / (10 ** decimals) - # 如果数量很大,使用科学计数法 + # If amount is very large, use scientific notation if formatted >= 1e6: return f"{formatted:.2e}" elif formatted >= 1000: @@ -336,7 +336,7 @@ def _format_token_amount(self, amount: Optional[int], symbol: Optional[str]) -> return f"{formatted:.6f}".rstrip('0').rstrip('.') def _parse_hex_number(self, hex_str: str) -> Optional[int]: - """解析十六进制数字""" + """Parse hexadecimal number""" if not hex_str: return None @@ -349,19 +349,19 @@ def _parse_hex_number(self, hex_str: str) -> Optional[int]: return None def validate_address(self, address: str) -> bool: - """验证以太坊地址格式""" + """Validate Ethereum address format""" if not address: return False return bool(RegexPatterns.ETH_ADDRESS.match(address)) def validate_hex_data(self, data: str) -> bool: - """验证十六进制数据格式""" + """Validate hexadecimal data format""" if not data: return False return bool(RegexPatterns.HEX_DATA.match(data)) def extract_addresses_from_data(self, data: str) -> List[str]: - """从交易数据中提取所有地址""" + """Extract all addresses from transaction data""" addresses = [] if not data or len(data) < 10: diff --git a/eth_transaction_parser/parser.py b/eth_transaction_parser/parser.py index 8101f11..7704722 100644 --- a/eth_transaction_parser/parser.py +++ b/eth_transaction_parser/parser.py @@ -1,5 +1,5 @@ """ -ETH Transaction 主解析器 +ETH Transaction Main Parser """ import json @@ -11,14 +11,14 @@ class EthTransactionParser: - """ETH交易解析器""" + """ETH transaction parser""" def __init__(self, enable_logging: bool = False): """ - 初始化解析器 + Initialize parser Args: - enable_logging: 是否启用日志 + enable_logging: Whether to enable logging """ self.logger = logging.getLogger(__name__) if enable_logging: @@ -29,52 +29,52 @@ def __init__(self, enable_logging: bool = False): def parse(self, transaction_data: Union[str, Dict[str, Any]]) -> TransactionAnalysis: """ - 解析交易数据 + Parse transaction data Args: - transaction_data: 交易数据 (JSON字符串或字典) + transaction_data: Transaction data (JSON string or dictionary) Returns: - TransactionAnalysis: 解析和分析结果 + TransactionAnalysis: Parsing and analysis result """ try: - # 解析输入数据 + # Parse input data if isinstance(transaction_data, str): tx_dict = json.loads(transaction_data) else: tx_dict = transaction_data - # 提取交易参数 + # Extract transaction parameters transaction = self._extract_transaction_params(tx_dict) - # 分析交易 + # Analyze transaction analysis = self.transaction_analyzer.analyze(transaction) - self.logger.info(f"解析完成: {analysis.transaction_type.value}") + self.logger.info(f"Parsing completed: {analysis.transaction_type.value}") return analysis except Exception as e: - self.logger.error(f"解析失败: {str(e)}") - # 返回基本的错误分析 + self.logger.error(f"Parsing failed: {str(e)}") + # Return basic error analysis return TransactionAnalysis( transaction=EthTransaction(), transaction_type=TransactionType.UNKNOWN, confidence=0.0, risk_level=RiskLevel.HIGH, - security_warnings=[f"解析错误: {str(e)}"], - description="交易解析失败", - summary="无法解析的交易" + security_warnings=[f"Parsing error: {str(e)}"], + description="Transaction parsing failed", + summary="Unable to parse transaction" ) def _extract_transaction_params(self, tx_dict: Dict[str, Any]) -> EthTransaction: """ - 提取交易参数 + Extract transaction parameters Args: - tx_dict: 交易字典 + tx_dict: Transaction dictionary Returns: - EthTransaction: 交易对象 + EthTransaction: Transaction object """ return EthTransaction( from_address=tx_dict.get('from'), @@ -90,13 +90,13 @@ def _extract_transaction_params(self, tx_dict: Dict[str, Any]) -> EthTransaction def parse_batch(self, transactions: list) -> list: """ - 批量解析交易 + Batch parse transactions Args: - transactions: 交易列表 + transactions: List of transactions Returns: - list: 解析结果列表 + list: List of parsing results """ results = [] for tx in transactions: @@ -104,38 +104,38 @@ def parse_batch(self, transactions: list) -> list: result = self.parse(tx) results.append(result) except Exception as e: - self.logger.error(f"批量解析中的单个交易失败: {str(e)}") + self.logger.error(f"Single transaction failed in batch parsing: {str(e)}") results.append(None) return results def get_transaction_summary(self, analysis: TransactionAnalysis) -> str: """ - 获取交易摘要 + Get transaction summary Args: - analysis: 交易分析结果 + analysis: Transaction analysis result Returns: - str: 交易摘要 + str: Transaction summary """ tx = analysis.transaction - # 基本信息 + # Basic information summary_parts = [ - f"交易类型: {analysis.transaction_type.value}", - f"发送方: {tx.from_address or '未知'}", - f"接收方: {tx.to_address or '未知'}", + f"Transaction type: {analysis.transaction_type.value}", + f"From: {tx.from_address or 'Unknown'}", + f"To: {tx.to_address or 'Unknown'}", ] - # 价值转移 + # Value transfer if tx.value_eth and tx.value_eth > 0: - summary_parts.append(f"ETH数量: {tx.value_eth:.6f} ETH") + summary_parts.append(f"ETH amount: {tx.value_eth:.6f} ETH") - # 合约调用 + # Contract call if analysis.contract_call: if analysis.contract_call.function_name: - summary_parts.append(f"调用函数: {analysis.contract_call.function_name}") + summary_parts.append(f"Function called: {analysis.contract_call.function_name}") # 代币信息 if analysis.token_info: diff --git a/eth_transaction_parser/tests/__init__.py b/eth_transaction_parser/tests/__init__.py index 958db33..800a424 100644 --- a/eth_transaction_parser/tests/__init__.py +++ b/eth_transaction_parser/tests/__init__.py @@ -1,3 +1,3 @@ """ -ETH Transaction Parser 测试模块 +ETH Transaction Parser Test Module """ \ No newline at end of file diff --git a/eth_transaction_parser/tests/demo.py b/eth_transaction_parser/tests/demo.py index b585e2e..798d3d2 100644 --- a/eth_transaction_parser/tests/demo.py +++ b/eth_transaction_parser/tests/demo.py @@ -1,13 +1,13 @@ #!/usr/bin/env python3 """ -ETH Transaction Parser 演示程序 +ETH Transaction Parser Demo Program """ import json import sys import os -# 添加父目录到路径 +# Add parent directory to path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from eth_transaction_parser import EthTransactionParser @@ -15,7 +15,7 @@ def print_separator(title: str = ""): - """打印分隔线""" + """Print separator line""" if title: print(f"\n{'='*20} {title} {'='*20}") else: @@ -23,18 +23,18 @@ def print_separator(title: str = ""): def demo_basic_parsing(): - """演示基本解析功能""" + """Demo basic parsing functionality""" parser = EthTransactionParser(enable_logging=False) - # 演示不同类型的交易 + # Demo different types of transactions demo_cases = [ - ("ETH转账", "eth_transfer"), - ("ERC20代币转账", "erc20_transfer"), - ("ERC20代币授权", "erc20_approve"), - ("Uniswap交换", "uniswap_swap"), - ("NFT转移", "nft_transfer"), - ("合约部署", "contract_deploy") + ("ETH Transfer", "eth_transfer"), + ("ERC20 Token Transfer", "erc20_transfer"), + ("ERC20 Token Approval", "erc20_approve"), + ("Uniswap Swap", "uniswap_swap"), + ("NFT Transfer", "nft_transfer"), + ("Contract Deployment", "contract_deploy") ] for title, tx_key in demo_cases: @@ -42,17 +42,17 @@ def demo_basic_parsing(): tx = TEST_TRANSACTIONS[tx_key] analysis = parser.parse(tx) - print(f" 类型: {analysis.transaction_type.value}") - print(f" 风险级别: {analysis.risk_level.value}") - print(f" 置信度: {analysis.confidence:.2f}") - print(f" 描述: {analysis.description}") - print(f" 摘要: {analysis.summary}") + print(f" Type: {analysis.transaction_type.value}") + print(f" Risk level: {analysis.risk_level.value}") + print(f" Confidence: {analysis.confidence:.2f}") + print(f" Description: {analysis.description}") + print(f" Summary: {analysis.summary}") if analysis.risk_factors: - print(f" 风险因素: {', '.join(analysis.risk_factors)}") + print(f" Risk factors: {', '.join(analysis.risk_factors)}") if analysis.security_warnings: - print(f" 安全警告: {', '.join(analysis.security_warnings)}") + print(f" Security warnings: {', '.join(analysis.security_warnings)}") def demo_risk_analysis(): @@ -60,11 +60,11 @@ def demo_risk_analysis(): parser = EthTransactionParser() risk_cases = [ - ("低风险 - 普通ETH转账", "eth_transfer"), - ("中等风险 - NFT授权所有", "nft_approve_all"), - ("高风险 - 无限代币授权", "erc20_approve"), - ("中等风险 - 大额ETH转账", "high_value_eth"), - ("中等风险 - 未知合约调用", "unknown_contract") + ("Low Risk - Normal ETH Transfer", "eth_transfer"), + ("Medium Risk - NFT Approve All", "nft_approve_all"), + ("High Risk - Unlimited Token Approval", "erc20_approve"), + ("Medium Risk - High-Value ETH Transfer", "high_value_eth"), + ("Medium Risk - Unknown Contract Call", "unknown_contract") ] for title, tx_key in risk_cases: @@ -74,49 +74,49 @@ def demo_risk_analysis(): risks = parser.transaction_analyzer.get_transaction_risks(analysis) - print(f" 风险级别: {risks['risk_level']}") - print(f" 风险分数: {risks['risk_score']}/100") + print(f" Risk level: {risks['risk_level']}") + print(f" Risk score: {risks['risk_score']}/100") if risks['risk_factors']: - print(f" 风险因素:") + print(f" Risk factors:") for factor in risks['risk_factors']: print(f" - {factor}") if risks['security_warnings']: - print(f" 安全警告:") + print(f" Security warnings:") for warning in risks['security_warnings']: print(f" - {warning}") if risks['recommendations']: - print(f" 安全建议:") + print(f" Security recommendations:") for rec in risks['recommendations']: print(f" - {rec}") def demo_parameter_extraction(): - """演示参数提取功能""" + """Demo parameter extraction functionality""" parser = EthTransactionParser() - print("\n ERC20代币转账参数解析:") + print("\n ERC20 Token Transfer Parameter Parsing:") tx = TEST_TRANSACTIONS["erc20_transfer"] analysis = parser.parse(tx) if analysis.contract_call: - print(f" 函数选择器: {analysis.contract_call.function_selector}") - print(f" 函数名称: {analysis.contract_call.function_name}") - print(f" 函数签名: {analysis.contract_call.function_signature}") - print(f" 参数:") + print(f" Function selector: {analysis.contract_call.function_selector}") + print(f" Function name: {analysis.contract_call.function_name}") + print(f" Function signature: {analysis.contract_call.function_signature}") + print(f" Parameters:") for key, value in analysis.contract_call.parameters.items(): print(f" {key}: {value}") if analysis.token_info: - print(f" 代币信息:") - print(f" 合约地址: {analysis.token_info.address}") - print(f" 代币符号: {analysis.token_info.symbol}") - print(f" 转账数量: {analysis.token_info.amount_formatted}") + print(f" Token information:") + print(f" Contract address: {analysis.token_info.address}") + print(f" Token symbol: {analysis.token_info.symbol}") + print(f" Transfer amount: {analysis.token_info.amount_formatted}") - print("\n Gas费用信息:") + print("\n Gas Fee Information:") gas_info = parser.parameter_extractor.extract_gas_info(tx) for key, value in gas_info.items(): if 'gwei' in key: @@ -127,11 +127,11 @@ def demo_parameter_extraction(): def demo_batch_processing(): - """演示批量处理功能""" + """Demo batch processing functionality""" parser = EthTransactionParser() - # 批量处理多个交易 + # Batch process multiple transactions batch_txs = [ TEST_TRANSACTIONS["eth_transfer"], TEST_TRANSACTIONS["erc20_transfer"], @@ -139,17 +139,17 @@ def demo_batch_processing(): TEST_TRANSACTIONS["uniswap_swap"] ] - print(f"\n📦 批量处理 {len(batch_txs)} 个交易:") + print(f"\n📦 Batch processing {len(batch_txs)} transactions:") results = parser.parse_batch(batch_txs) for i, analysis in enumerate(results): if analysis: - print(f" 交易 {i+1}: {parser.get_transaction_summary(analysis)}") + print(f" Transaction {i+1}: {parser.get_transaction_summary(analysis)}") else: - print(f" 交易 {i+1}: 解析失败") + print(f" Transaction {i+1}: Parsing failed") - # 统计信息 + # Statistics risk_levels = {} tx_types = {} @@ -161,24 +161,24 @@ def demo_batch_processing(): risk_levels[risk_level] = risk_levels.get(risk_level, 0) + 1 tx_types[tx_type] = tx_types.get(tx_type, 0) + 1 - print(f" 风险级别分布: {dict(risk_levels)}") - print(f" 交易类型分布: {dict(tx_types)}") + print(f" Risk level distribution: {dict(risk_levels)}") + print(f" Transaction type distribution: {dict(tx_types)}") def main(): - """主函数""" + """Main function""" try: - # 执行各种演示 + # Execute various demos demo_basic_parsing() demo_risk_analysis() demo_batch_processing() except KeyboardInterrupt: - print("\n\n👋 演示已终止") + print("\n\n👋 Demo terminated") except Exception as e: - print(f"\n❌ 演示过程中发生错误: {e}") + print(f"\n❌ Error occurred during demo: {e}") if __name__ == "__main__": diff --git a/eth_transaction_parser/tests/test_data.py b/eth_transaction_parser/tests/test_data.py index 2e218fa..5732f93 100644 --- a/eth_transaction_parser/tests/test_data.py +++ b/eth_transaction_parser/tests/test_data.py @@ -1,8 +1,8 @@ """ -ETH Transaction 测试数据 +ETH Transaction Test Data """ -# ETH转账交易 +# ETH transfer transaction ETH_TRANSFER_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", @@ -13,10 +13,10 @@ "data": "0x" } -# ERC20 代币转账 +# ERC20 token transfer ERC20_TRANSFER_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", # USDT合约 + "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", # USDT contract "value": "0x0", "gas": "0xc350", # 50000 "gasPrice": "0x77359400", # 2 gwei @@ -24,18 +24,18 @@ "data": "0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000000098968000" # transfer(address,uint256) } -# ERC20 代币授权 +# ERC20 token approval ERC20_APPROVE_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", # USDT合约 + "to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", # USDT contract "value": "0x0", "gas": "0xb71b", # 46875 "gasPrice": "0x77359400", # 2 gwei "nonce": "0x3", - "data": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # approve(address,uint256) - 无限授权 + "data": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # approve(address,uint256) - unlimited approval } -# Uniswap V2 代币交换 +# Uniswap V2 token swap UNISWAP_SWAP_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", "to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", # Uniswap V2 Router @@ -46,10 +46,10 @@ "data": "0x7ff36ab50000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b000000000000000000000000000000000000000000000000000000006553c9f00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7" # swapExactETHForTokens } -# NFT转移 +# NFT transfer NFT_TRANSFER_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", # BAYC合约 + "to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", # BAYC contract "value": "0x0", "gas": "0x15f90", # 90000 "gasPrice": "0x3b9aca00", # 1 gwei @@ -57,10 +57,10 @@ "data": "0x23b872dd000000000000000000000000742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000000000000001234" # transferFrom(address,address,uint256) } -# NFT授权所有 +# NFT approve all NFT_APPROVE_ALL_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", # BAYC合约 + "to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", # BAYC contract "value": "0x0", "gas": "0xc350", # 50000 "gasPrice": "0x77359400", # 2 gwei @@ -68,18 +68,18 @@ "data": "0xa22cb465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" # setApprovalForAll(address,bool) } -# 合约部署 +# Contract deployment CONTRACT_DEPLOY_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": None, # 合约部署没有to地址 + "to": None, # Contract deployment has no to address "value": "0x0", "gas": "0x186a0", # 100000 "gasPrice": "0x4a817c800", # 20 gwei "nonce": "0x7", - "data": "0x608060405234801561001057600080fd5b506040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b000000000000000000000000000000000000000000000000000000000081525081600390805190602001906100959291906100d5565b5080600490805190602001906100ac9291906100d5565b50505034801561001057600080fd5b506040518060200160405280600" # 合约字节码 + "data": "0x608060405234801561001057600080fd5b506040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b000000000000000000000000000000000000000000000000000000000081525081600390805190602001906100959291906100d5565b5080600490805190602001906100ac9291906100d5565b50505034801561001057600080fd5b506040518060200160405280600" # Contract bytecode } -# EIP-1559 交易 +# EIP-1559 transaction EIP1559_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", @@ -91,7 +91,7 @@ "data": "0x" } -# 大额ETH转账 (高风险) +# High-value ETH transfer (high risk) HIGH_VALUE_ETH_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", @@ -102,18 +102,18 @@ "data": "0x" } -# 未知合约调用 +# Unknown contract call UNKNOWN_CONTRACT_TX = { "from": "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b", - "to": "0x1234567890123456789012345678901234567890", # 未知合约 + "to": "0x1234567890123456789012345678901234567890", # Unknown contract "value": "0x0", "gas": "0x7530", # 30000 "gasPrice": "0x77359400", # 2 gwei "nonce": "0xa", - "data": "0x12345678000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000de0b6b3a7640000" # 未知函数调用 + "data": "0x12345678000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000de0b6b3a7640000" # Unknown function call } -# 测试用例集合 +# Test case collection TEST_TRANSACTIONS = { "eth_transfer": ETH_TRANSFER_TX, "erc20_transfer": ERC20_TRANSFER_TX, @@ -127,7 +127,7 @@ "unknown_contract": UNKNOWN_CONTRACT_TX } -# 预期的分析结果 +# Expected analysis results EXPECTED_RESULTS = { "eth_transfer": { "type": "eth_transfer", diff --git a/eth_transaction_parser/tests/test_parser.py b/eth_transaction_parser/tests/test_parser.py index 227c1e8..123198c 100644 --- a/eth_transaction_parser/tests/test_parser.py +++ b/eth_transaction_parser/tests/test_parser.py @@ -1,5 +1,5 @@ """ -ETH Transaction Parser 测试套件 +ETH Transaction Parser Test Suite """ import unittest @@ -10,14 +10,14 @@ class TestEthTransactionParser(unittest.TestCase): - """ETH交易解析器测试""" + """ETH transaction parser tests""" def setUp(self): - """设置测试环境""" + """Set up test environment""" self.parser = EthTransactionParser(enable_logging=True) def test_eth_transfer(self): - """测试ETH转账""" + """Test ETH transfer""" tx = TEST_TRANSACTIONS["eth_transfer"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["eth_transfer"] @@ -28,12 +28,12 @@ def test_eth_transfer(self): self.assertFalse(analysis.transaction.is_contract_call) self.assertAlmostEqual(analysis.transaction.value_eth, 0.1, places=6) - # 检查描述内容 + # Check description content for keyword in expected["description_contains"]: self.assertIn(keyword, analysis.description) def test_erc20_transfer(self): - """测试ERC20代币转账""" + """Test ERC20 token transfer""" tx = TEST_TRANSACTIONS["erc20_transfer"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["erc20_transfer"] @@ -44,12 +44,12 @@ def test_erc20_transfer(self): self.assertIsNotNone(analysis.contract_call) self.assertEqual(analysis.contract_call.function_name, "transfer") - # 检查代币信息 + # Check token information if analysis.token_info: self.assertEqual(analysis.token_info.symbol, "USDT") def test_erc20_approve(self): - """测试ERC20代币授权""" + """Test ERC20 token approval""" tx = TEST_TRANSACTIONS["erc20_approve"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["erc20_approve"] @@ -59,12 +59,12 @@ def test_erc20_approve(self): self.assertIsNotNone(analysis.contract_call) self.assertEqual(analysis.contract_call.function_name, "approve") - # 检查风险因素 + # Check risk factors self.assertIn("疑似无限代币授权", analysis.risk_factors) self.assertTrue(len(analysis.security_warnings) > 0) def test_uniswap_swap(self): - """测试Uniswap交换""" + """Test Uniswap swap""" tx = TEST_TRANSACTIONS["uniswap_swap"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["uniswap_swap"] @@ -73,7 +73,7 @@ def test_uniswap_swap(self): self.assertEqual(analysis.contract_call.function_name, "swapExactETHForTokens") def test_nft_transfer(self): - """测试NFT转移""" + """Test NFT transfer""" tx = TEST_TRANSACTIONS["nft_transfer"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["nft_transfer"] @@ -82,7 +82,7 @@ def test_nft_transfer(self): self.assertEqual(analysis.contract_call.function_name, "transferFrom") def test_nft_approve_all(self): - """测试NFT授权所有""" + """Test NFT approve all""" tx = TEST_TRANSACTIONS["nft_approve_all"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["nft_approve_all"] @@ -92,7 +92,7 @@ def test_nft_approve_all(self): self.assertIn("NFT全部授权", analysis.risk_factors) def test_contract_deploy(self): - """测试合约部署""" + """Test contract deployment""" tx = TEST_TRANSACTIONS["contract_deploy"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["contract_deploy"] @@ -102,7 +102,7 @@ def test_contract_deploy(self): self.assertTrue(analysis.transaction.is_contract_call) def test_high_value_eth(self): - """测试大额ETH转账""" + """Test high-value ETH transfer""" tx = TEST_TRANSACTIONS["high_value_eth"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["high_value_eth"] @@ -113,7 +113,7 @@ def test_high_value_eth(self): self.assertAlmostEqual(analysis.transaction.value_eth, 100.0, places=6) def test_unknown_contract(self): - """测试未知合约调用""" + """Test unknown contract call""" tx = TEST_TRANSACTIONS["unknown_contract"] analysis = self.parser.parse(tx) expected = EXPECTED_RESULTS["unknown_contract"] @@ -123,7 +123,7 @@ def test_unknown_contract(self): self.assertIn("未知合约调用", analysis.risk_factors) def test_eip1559_transaction(self): - """测试EIP-1559交易""" + """Test EIP-1559 transaction""" tx = TEST_TRANSACTIONS["eip1559"] analysis = self.parser.parse(tx) @@ -133,7 +133,7 @@ def test_eip1559_transaction(self): self.assertAlmostEqual(analysis.transaction.value_eth, 0.01, places=6) def test_batch_parsing(self): - """测试批量解析""" + """Test batch parsing""" transactions = [ TEST_TRANSACTIONS["eth_transfer"], TEST_TRANSACTIONS["erc20_transfer"], @@ -148,7 +148,7 @@ def test_batch_parsing(self): self.assertEqual(results[2].transaction_type, TransactionType.NFT_TRANSFER) def test_export_json(self): - """测试JSON导出""" + """Test JSON export""" tx = TEST_TRANSACTIONS["eth_transfer"] analysis = self.parser.parse(tx) @@ -160,7 +160,7 @@ def test_export_json(self): self.assertIn("transaction", data) def test_export_text(self): - """测试文本导出""" + """Test text export""" tx = TEST_TRANSACTIONS["erc20_approve"] analysis = self.parser.parse(tx) @@ -171,7 +171,7 @@ def test_export_text(self): self.assertIn("high", text_result) def test_transaction_summary(self): - """测试交易摘要""" + """Test transaction summary""" tx = TEST_TRANSACTIONS["uniswap_swap"] analysis = self.parser.parse(tx) @@ -182,7 +182,7 @@ def test_transaction_summary(self): self.assertIn("swapExactETHForTokens", summary) def test_invalid_transaction(self): - """测试无效交易""" + """Test invalid transaction""" invalid_tx = {"invalid": "data"} analysis = self.parser.parse(invalid_tx) @@ -191,7 +191,7 @@ def test_invalid_transaction(self): self.assertTrue(len(analysis.security_warnings) > 0) def test_json_string_input(self): - """测试JSON字符串输入""" + """Test JSON string input""" tx = TEST_TRANSACTIONS["eth_transfer"] tx_json = json.dumps(tx) @@ -202,15 +202,15 @@ def test_json_string_input(self): class TestTransactionAnalyzer(unittest.TestCase): - """交易分析器测试""" + """Transaction analyzer tests""" def setUp(self): - """设置测试环境""" + """Set up test environment""" self.parser = EthTransactionParser() def test_risk_analysis(self): - """测试风险分析""" - # 高风险:无限授权 + """Test risk analysis""" + # High risk: unlimited approval tx = TEST_TRANSACTIONS["erc20_approve"] analysis = self.parser.parse(tx) risks = self.parser.transaction_analyzer.get_transaction_risks(analysis) @@ -219,7 +219,7 @@ def test_risk_analysis(self): self.assertGreater(risks["risk_score"], 60) self.assertTrue(len(risks["recommendations"]) > 0) - # 低风险:普通ETH转账 + # Low risk: normal ETH transfer tx = TEST_TRANSACTIONS["eth_transfer"] analysis = self.parser.parse(tx) risks = self.parser.transaction_analyzer.get_transaction_risks(analysis) @@ -228,7 +228,7 @@ def test_risk_analysis(self): self.assertLess(risks["risk_score"], 30) def test_transaction_descriptions(self): - """测试交易描述生成""" + """Test transaction description generation""" test_cases = [ ("eth_transfer", "转账"), ("erc20_transfer", "转账"), @@ -246,15 +246,15 @@ def test_transaction_descriptions(self): class TestParameterExtractor(unittest.TestCase): - """参数提取器测试""" + """Parameter extractor tests""" def setUp(self): - """设置测试环境""" + """Set up test environment""" self.parser = EthTransactionParser() self.extractor = self.parser.parameter_extractor def test_contract_call_extraction(self): - """测试合约调用信息提取""" + """Test contract call information extraction""" tx = TEST_TRANSACTIONS["erc20_transfer"] call_info = self.extractor.extract_contract_call_info(tx["data"]) @@ -265,7 +265,7 @@ def test_contract_call_extraction(self): self.assertIn("param_1", call_info.parameters) def test_token_info_extraction(self): - """测试代币信息提取""" + """Test token information extraction""" tx = TEST_TRANSACTIONS["erc20_transfer"] call_info = self.extractor.extract_contract_call_info(tx["data"]) token_info = self.extractor.extract_token_transfer_info(call_info, tx["to"]) @@ -275,7 +275,7 @@ def test_token_info_extraction(self): self.assertIsNotNone(token_info.amount) def test_gas_info_extraction(self): - """测试Gas信息提取""" + """Test Gas information extraction""" tx = TEST_TRANSACTIONS["eip1559"] gas_info = self.extractor.extract_gas_info(tx) @@ -285,7 +285,7 @@ def test_gas_info_extraction(self): self.assertIn("max_fee_per_gas_gwei", gas_info) def test_address_validation(self): - """测试地址验证""" + """Test address validation""" valid_address = "0x742d35cc6670c13f11d1d3b0b99a6de5f8a5e17b" invalid_address = "0xinvalid" @@ -293,7 +293,7 @@ def test_address_validation(self): self.assertFalse(self.extractor.validate_address(invalid_address)) def test_hex_data_validation(self): - """测试十六进制数据验证""" + """Test hexadecimal data validation""" valid_hex = "0x1234abcd" invalid_hex = "0xzzzz" @@ -302,5 +302,5 @@ def test_hex_data_validation(self): if __name__ == "__main__": - # 运行所有测试 + # Run all tests unittest.main(verbosity=2) \ No newline at end of file diff --git a/eth_transaction_parser/transaction_analyzer.py b/eth_transaction_parser/transaction_analyzer.py index 7fa906f..315bb4e 100644 --- a/eth_transaction_parser/transaction_analyzer.py +++ b/eth_transaction_parser/transaction_analyzer.py @@ -1,5 +1,5 @@ """ -ETH Transaction 交易分析器 +ETH Transaction Analyzer """ from typing import Dict, Any, List, Optional @@ -16,42 +16,42 @@ class TransactionAnalyzer: - """交易分析器""" + """Transaction analyzer""" def __init__(self): self.parameter_extractor = TransactionParameterExtractor() def analyze(self, transaction: EthTransaction) -> TransactionAnalysis: """ - 分析交易 + Analyze transaction Args: - transaction: 交易对象 + transaction: Transaction object Returns: - TransactionAnalysis: 分析结果 + TransactionAnalysis: Analysis result """ - # 基础分析 + # Basic analysis tx_type, confidence = self._classify_transaction_type(transaction) - # 提取合约调用信息 + # Extract contract call information contract_call = None if transaction.is_contract_call and transaction.data: contract_call = self.parameter_extractor.extract_contract_call_info(transaction.data) - # 提取代币信息 + # Extract token information token_info = None if contract_call and transaction.to_address: token_info = self.parameter_extractor.extract_token_transfer_info( contract_call, transaction.to_address ) - # 风险分析 + # Risk analysis risk_level, risk_factors, security_warnings = self._analyze_risks( transaction, contract_call, token_info ) - # 生成描述 + # Generate description description = self._generate_description(transaction, tx_type, contract_call, token_info) summary = self._generate_summary(transaction, tx_type, contract_call, token_info) @@ -70,13 +70,13 @@ def analyze(self, transaction: EthTransaction) -> TransactionAnalysis: def _classify_transaction_type(self, transaction: EthTransaction) -> tuple[TransactionType, float]: """ - 分类交易类型 + Classify transaction type Args: - transaction: 交易对象 + transaction: Transaction object Returns: - tuple: (交易类型, 置信度) + tuple: (Transaction type, confidence) """ # ETH转账 if transaction.is_value_transfer and not transaction.is_contract_call: @@ -98,20 +98,20 @@ def _classify_transaction_type(self, transaction: EthTransaction) -> tuple[Trans def _classify_contract_call(self, transaction: EthTransaction) -> tuple[TransactionType, float]: """ - 分类合约调用类型 + Classify contract call type Args: - transaction: 交易对象 + transaction: Transaction object Returns: - tuple: (交易类型, 置信度) + tuple: (Transaction type, confidence) """ if not transaction.data or len(transaction.data) < 10: return TransactionType.CONTRACT_CALL, 0.5 function_selector = transaction.data[:10] - # ERC20 代币操作 + # ERC20 token operations if function_selector == FunctionSelectors.ERC20_TRANSFER: return TransactionType.TOKEN_TRANSFER, 0.95 elif function_selector == FunctionSelectors.ERC20_APPROVE: @@ -119,7 +119,7 @@ def _classify_contract_call(self, transaction: EthTransaction) -> tuple[Transact elif function_selector == FunctionSelectors.ERC20_TRANSFER_FROM: return TransactionType.TOKEN_TRANSFER, 0.9 - # ERC721 NFT操作 + # ERC721 NFT operations elif function_selector in [ FunctionSelectors.ERC721_TRANSFER_FROM, FunctionSelectors.ERC721_SAFE_TRANSFER_FROM @@ -128,7 +128,7 @@ def _classify_contract_call(self, transaction: EthTransaction) -> tuple[Transact elif function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: return TransactionType.NFT_APPROVAL, 0.95 - # DeFi操作 + # DeFi operations elif function_selector in [ FunctionSelectors.UNISWAP_SWAP_EXACT_TOKENS, FunctionSelectors.UNISWAP_SWAP_EXACT_ETH @@ -137,7 +137,7 @@ def _classify_contract_call(self, transaction: EthTransaction) -> tuple[Transact elif function_selector == FunctionSelectors.UNISWAP_ADD_LIQUIDITY: return TransactionType.DEFI_LIQUIDITY, 0.9 - # 根据合约地址推断 + # Infer from contract address if transaction.to_address: contract_type = self._get_contract_type(transaction.to_address) if contract_type: @@ -146,7 +146,7 @@ def _classify_contract_call(self, transaction: EthTransaction) -> tuple[Transact return TransactionType.CONTRACT_CALL, 0.6 def _get_contract_type(self, contract_address: str) -> Optional[TransactionType]: - """根据合约地址推断类型""" + """Infer type from contract address""" known_contracts = { KnownContracts.UNISWAP_V2_ROUTER: TransactionType.DEFI_SWAP, KnownContracts.UNISWAP_V3_ROUTER: TransactionType.DEFI_SWAP, @@ -156,84 +156,84 @@ def _get_contract_type(self, contract_address: str) -> Optional[TransactionType] def _analyze_risks(self, transaction: EthTransaction, contract_call, token_info) -> tuple[RiskLevel, List[str], List[str]]: """ - 分析风险 + Analyze risks Args: - transaction: 交易对象 - contract_call: 合约调用信息 - token_info: 代币信息 + transaction: Transaction object + contract_call: Contract call information + token_info: Token information Returns: - tuple: (风险级别, 风险因素, 安全警告) + tuple: (Risk level, risk factors, security warnings) """ risk_factors = [] security_warnings = [] risk_level = RiskLevel.LOW - # 基础风险检查 + # Basic risk checks if transaction.value_eth and transaction.value_eth > 10: - risk_factors.append("大额ETH转账") + risk_factors.append("Large ETH transfer") risk_level = max(risk_level, RiskLevel.MEDIUM) - # 合约调用风险 + # Contract call risks if contract_call: - # 函数风险检查 + # Function risk checks if contract_call.function_name in RiskKeywords.HIGH_RISK_FUNCTIONS: - risk_factors.append(f"高风险函数调用: {contract_call.function_name}") + risk_factors.append(f"High-risk function call: {contract_call.function_name}") risk_level = max(risk_level, RiskLevel.HIGH) - # 授权风险 + # Approval risks if contract_call.function_selector == FunctionSelectors.ERC20_APPROVE: amount = contract_call.parameters.get('param_1', 0) - if isinstance(amount, int) and amount > 10**30: # 极大数值,可能是无限授权 - risk_factors.append("疑似无限代币授权") - security_warnings.append("检测到可能的无限授权,请谨慎确认") + if isinstance(amount, int) and amount > 10**30: # Very large value, possibly unlimited approval + risk_factors.append("Suspected unlimited token approval") + security_warnings.append("Detected possible unlimited approval, please confirm carefully") risk_level = max(risk_level, RiskLevel.HIGH) - # NFT全部授权 + # NFT full approval if contract_call.function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: - risk_factors.append("NFT全部授权") - security_warnings.append("将授权操作者管理您的所有NFT") + risk_factors.append("NFT full approval") + security_warnings.append("Will authorize operator to manage all your NFTs") risk_level = max(risk_level, RiskLevel.MEDIUM) - # 代币风险 + # Token risks if token_info: - # 未知代币 + # Unknown token if not token_info.symbol: - risk_factors.append("未知代币合约") + risk_factors.append("Unknown token contract") risk_level = max(risk_level, RiskLevel.MEDIUM) - # 大额代币转移 + # Large token transfer if token_info.amount_formatted: try: amount_float = float(token_info.amount_formatted.replace(',', '')) - if amount_float > 100000: # 大额转移 - risk_factors.append("大额代币转移") + if amount_float > 100000: # Large transfer + risk_factors.append("Large token transfer") risk_level = max(risk_level, RiskLevel.MEDIUM) except (ValueError, AttributeError): pass - # 未知合约风险 + # Unknown contract risks if transaction.to_address and not self._is_known_contract(transaction.to_address): if transaction.is_contract_call: - risk_factors.append("未知合约调用") + risk_factors.append("Unknown contract call") risk_level = max(risk_level, RiskLevel.MEDIUM) - # Gas费用风险 + # Gas fee risks if hasattr(transaction, 'gas_fee_eth') and transaction.gas_fee_eth: - if transaction.gas_fee_eth > 0.1: # 高Gas费 - risk_factors.append("高Gas费用") - security_warnings.append(f"预估Gas费用较高: {transaction.gas_fee_eth:.4f} ETH") + if transaction.gas_fee_eth > 0.1: # High gas fee + risk_factors.append("High gas fee") + security_warnings.append(f"Estimated gas fee is high: {transaction.gas_fee_eth:.4f} ETH") return risk_level, risk_factors, security_warnings def _is_known_contract(self, address: str) -> bool: - """检查是否为已知合约""" + """Check if it's a known contract""" return address.lower() in [addr.lower() for addr in KnownContracts.CONTRACT_NAMES.keys()] def _generate_description(self, transaction: EthTransaction, tx_type: TransactionType, contract_call, token_info) -> str: - """生成交易描述""" + """Generate transaction description""" descriptions = { TransactionType.ETH_TRANSFER: self._describe_eth_transfer, TransactionType.TOKEN_TRANSFER: self._describe_token_transfer, @@ -250,100 +250,100 @@ def _generate_description(self, transaction: EthTransaction, tx_type: Transactio return describe_func(transaction, contract_call, token_info) def _describe_eth_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述ETH转账""" + """Describe ETH transfer""" amount = transaction.value_eth or 0 - to_addr = transaction.to_address or "未知地址" - return f"向 {to_addr} 转账 {amount:.6f} ETH" + to_addr = transaction.to_address or "Unknown address" + return f"Transfer {amount:.6f} ETH to {to_addr}" def _describe_token_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述代币转账""" + """Describe token transfer""" if not token_info: - return "代币转账操作" + return "Token transfer operation" - symbol = token_info.symbol or "未知代币" - amount = token_info.amount_formatted or "未知数量" + symbol = token_info.symbol or "Unknown token" + amount = token_info.amount_formatted or "Unknown amount" if contract_call and contract_call.function_name == "transferFrom": - return f"从其他地址转移 {amount} {symbol}" + return f"Transfer {amount} {symbol} from another address" else: - return f"转账 {amount} {symbol}" + return f"Transfer {amount} {symbol}" def _describe_token_approval(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述代币授权""" + """Describe token approval""" if not token_info: - return "代币授权操作" + return "Token approval operation" - symbol = token_info.symbol or "未知代币" - amount = token_info.amount_formatted or "未知数量" + symbol = token_info.symbol or "Unknown token" + amount = token_info.amount_formatted or "Unknown amount" - # 检查是否为无限授权 + # Check if it's unlimited approval if contract_call and contract_call.parameters.get('param_1', 0) > 10**30: - return f"无限授权 {symbol} 代币" + return f"Unlimited approval for {symbol} token" else: - return f"授权 {amount} {symbol} 代币" + return f"Approve {amount} {symbol} token" def _describe_contract_deploy(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述合约部署""" - return "部署新智能合约" + """Describe contract deployment""" + return "Deploy new smart contract" def _describe_contract_call(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述合约调用""" + """Describe contract call""" if contract_call and contract_call.function_name: - return f"调用合约函数: {contract_call.function_name}" + return f"Call contract function: {contract_call.function_name}" - contract_name = KnownContracts.CONTRACT_NAMES.get(transaction.to_address or "", "未知合约") - return f"调用 {contract_name} 合约" + contract_name = KnownContracts.CONTRACT_NAMES.get(transaction.to_address or "", "Unknown contract") + return f"Call {contract_name} contract" def _describe_nft_transfer(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述NFT转移""" - return "转移NFT" + """Describe NFT transfer""" + return "Transfer NFT" def _describe_nft_approval(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述NFT授权""" + """Describe NFT approval""" if contract_call and contract_call.function_selector == FunctionSelectors.ERC721_SET_APPROVAL_FOR_ALL: - return "授权管理所有NFT" - return "授权NFT" + return "Approve operator to manage all NFTs" + return "Approve NFT" def _describe_defi_swap(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述DeFi交换""" + """Describe DeFi swap""" contract_name = KnownContracts.CONTRACT_NAMES.get(transaction.to_address or "", "DEX") - return f"在 {contract_name} 上交换代币" + return f"Swap tokens on {contract_name}" def _describe_defi_liquidity(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述DeFi流动性""" - return "添加流动性" + """Describe DeFi liquidity""" + return "Add liquidity" def _describe_unknown(self, transaction: EthTransaction, contract_call, token_info) -> str: - """描述未知交易""" - return "未知类型的交易" + """Describe unknown transaction""" + return "Unknown transaction type" def _generate_summary(self, transaction: EthTransaction, tx_type: TransactionType, contract_call, token_info) -> str: - """生成交易摘要""" + """Generate transaction summary""" parts = [] - parts.append(f"类型: {tx_type.value}") + parts.append(f"Type: {tx_type.value}") if transaction.value_eth and transaction.value_eth > 0: parts.append(f"ETH: {transaction.value_eth:.6f}") if token_info and token_info.amount_formatted: - symbol = token_info.symbol or "代币" + symbol = token_info.symbol or "Token" parts.append(f"{symbol}: {token_info.amount_formatted}") if contract_call and contract_call.function_name: - parts.append(f"函数: {contract_call.function_name}") + parts.append(f"Function: {contract_call.function_name}") return " | ".join(parts) def get_transaction_risks(self, analysis: TransactionAnalysis) -> Dict[str, Any]: """ - 获取交易风险详情 + Get transaction risk details Args: - analysis: 交易分析结果 + analysis: Transaction analysis result Returns: - Dict: 风险详情 + Dict: Risk details """ return { "risk_level": analysis.risk_level.value, @@ -354,7 +354,7 @@ def get_transaction_risks(self, analysis: TransactionAnalysis) -> Dict[str, Any] } def _calculate_risk_score(self, analysis: TransactionAnalysis) -> int: - """计算风险分数 (0-100)""" + """Calculate risk score (0-100)""" base_score = { RiskLevel.LOW: 10, RiskLevel.MEDIUM: 40, @@ -362,28 +362,28 @@ def _calculate_risk_score(self, analysis: TransactionAnalysis) -> int: RiskLevel.CRITICAL: 90 }.get(analysis.risk_level, 0) - # 根据风险因素数量调整 + # Adjust based on number of risk factors factor_penalty = min(len(analysis.risk_factors) * 5, 20) return min(base_score + factor_penalty, 100) def _get_security_recommendations(self, analysis: TransactionAnalysis) -> List[str]: - """获取安全建议""" + """Get security recommendations""" recommendations = [] if analysis.risk_level in [RiskLevel.HIGH, RiskLevel.CRITICAL]: - recommendations.append("请仔细审查交易详情再确认") + recommendations.append("Please carefully review transaction details before confirming") - if "无限授权" in str(analysis.risk_factors): - recommendations.append("考虑设置有限的授权数量而非无限授权") + if "unlimited" in str(analysis.risk_factors).lower() or "Unlimited" in str(analysis.risk_factors): + recommendations.append("Consider setting a limited approval amount instead of unlimited approval") - if "未知合约" in str(analysis.risk_factors): - recommendations.append("请验证合约地址的可信度") + if "Unknown contract" in str(analysis.risk_factors): + recommendations.append("Please verify the trustworthiness of the contract address") if analysis.transaction.value_eth and analysis.transaction.value_eth > 5: - recommendations.append("大额转账请再次确认接收地址") + recommendations.append("Please double-check the recipient address for large transfers") if analysis.risk_level == RiskLevel.LOW: - recommendations.append("交易风险较低,可以正常进行") + recommendations.append("Transaction risk is low, can proceed normally") return recommendations \ No newline at end of file From f491b78dc3e50e741c7b05cf3ffe7c6910f5d733 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:36:43 +0800 Subject: [PATCH 6/8] Add files via upload --- parsers/__init__.py | 4 +- parsers/unified.py | 76 +++--- personal_sign_parser/__init__.py | 4 +- .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 661 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 634 bytes .../__pycache__/parser.cpython-312.pyc | Bin 0 -> 10433 bytes .../__pycache__/parser.cpython-39.pyc | Bin 0 -> 7065 bytes .../template_detector.cpython-312.pyc | Bin 0 -> 13342 bytes .../template_detector.cpython-39.pyc | Bin 0 -> 8735 bytes personal_sign_parser/models.py | 84 +++---- personal_sign_parser/parameter_extractor.py | 76 +++--- personal_sign_parser/parser.py | 104 ++++---- personal_sign_parser/template_detector.py | 90 +++---- personal_sign_parser/tests/__init__.py | 2 +- personal_sign_parser/tests/extraction_test.py | 30 +-- personal_sign_parser/tests/quick_example.py | 52 ++-- personal_sign_parser/tests/test_data.py | 36 +-- personal_sign_parser/tests/test_parser.py | 148 ++++++------ signature_classification/__init__.py | 4 +- signature_classification/risk_analyzer.py | 226 +++++++++--------- .../signature_classifier.py | 146 +++++------ signature_classification/signature_types.py | 110 ++++----- .../signature_validator.py | 138 +++++------ .../tools/signature_tester.py | 24 +- 24 files changed, 677 insertions(+), 677 deletions(-) create mode 100644 personal_sign_parser/__pycache__/__init__.cpython-312.pyc create mode 100644 personal_sign_parser/__pycache__/__init__.cpython-39.pyc create mode 100644 personal_sign_parser/__pycache__/parser.cpython-312.pyc create mode 100644 personal_sign_parser/__pycache__/parser.cpython-39.pyc create mode 100644 personal_sign_parser/__pycache__/template_detector.cpython-312.pyc create mode 100644 personal_sign_parser/__pycache__/template_detector.cpython-39.pyc diff --git a/parsers/__init__.py b/parsers/__init__.py index 5751b24..cf1c5e1 100644 --- a/parsers/__init__.py +++ b/parsers/__init__.py @@ -1,6 +1,6 @@ """ -统一签名解析器包 -提供所有签名类型的统一解析接口 +Unified Signature Parser Package +Provides unified parsing interface for all signature types """ from .unified import UnifiedSignatureParser diff --git a/parsers/unified.py b/parsers/unified.py index ecbedfc..2d10694 100644 --- a/parsers/unified.py +++ b/parsers/unified.py @@ -1,6 +1,6 @@ """ -统一签名解析器 -支持自动识别和解析多种签名类型:EIP712、Personal Sign、Transaction +Unified Signature Parser +Supports automatic detection and parsing of multiple signature types: EIP712, Personal Sign, Transaction """ import json @@ -9,7 +9,7 @@ class SignatureType(str, Enum): - """签名类型""" + """Signature type""" EIP712 = "eip712" PERSONAL_SIGN = "personal_sign" TRANSACTION = "transaction" @@ -17,26 +17,26 @@ class SignatureType(str, Enum): class UnifiedSignatureParser: - """统一签名解析器""" + """Unified signature parser""" def __init__(self, enable_nlp: bool = False, openai_api_key: Optional[str] = None): """ - 初始化统一解析器 + Initialize unified parser Args: - enable_nlp: 是否启用NLP自然语言生成 - openai_api_key: OpenAI API密钥(用于AI分析) + enable_nlp: Whether to enable NLP natural language generation + openai_api_key: OpenAI API key (for AI analysis) """ self.enable_nlp = enable_nlp self.openai_api_key = openai_api_key - # 延迟加载解析器,避免循环导入 + # Lazy load parsers to avoid circular imports self._eip712_parser = None self._personal_sign_parser = None self._transaction_parser = None def _get_eip712_parser(self): - """获取EIP712解析器实例""" + """Get EIP712 parser instance""" if self._eip712_parser is None: from dynamic_parser.core import DynamicEIP712Parser self._eip712_parser = DynamicEIP712Parser( @@ -45,14 +45,14 @@ def _get_eip712_parser(self): return self._eip712_parser def _get_personal_sign_parser(self): - """获取Personal Sign解析器实例""" + """Get Personal Sign parser instance""" if self._personal_sign_parser is None: from personal_sign_parser.parser import PersonalSignParser self._personal_sign_parser = PersonalSignParser() return self._personal_sign_parser def _get_transaction_parser(self): - """获取Transaction解析器实例""" + """Get Transaction parser instance""" if self._transaction_parser is None: from eth_transaction_parser.parser import EthTransactionParser self._transaction_parser = EthTransactionParser() @@ -60,18 +60,18 @@ def _get_transaction_parser(self): def detect_signature_type(self, data: Union[str, Dict[str, Any]]) -> SignatureType: """ - 自动检测签名类型 + Automatically detect signature type Args: - data: 签名数据(字符串或字典) + data: Signature data (string or dictionary) Returns: - SignatureType: 检测到的签名类型 + SignatureType: Detected signature type """ try: - # 如果是字符串,尝试解析为JSON + # If string, try to parse as JSON if isinstance(data, str): - # 如果是纯文本(不是JSON),可能是Personal Sign + # If plain text (not JSON), might be Personal Sign try: parsed_data = json.loads(data) except json.JSONDecodeError: @@ -79,17 +79,17 @@ def detect_signature_type(self, data: Union[str, Dict[str, Any]]) -> SignatureTy else: parsed_data = data - # 检测EIP712签名 + # Detect EIP712 signature if isinstance(parsed_data, dict): - # EIP712 必须包含 types, domain, primaryType, message + # EIP712 must contain types, domain, primaryType, message if all(key in parsed_data for key in ['types', 'domain', 'primaryType', 'message']): return SignatureType.EIP712 - # 检测Transaction + # Detect Transaction if any(key in parsed_data for key in ['to', 'from', 'value', 'data', 'gas', 'gasPrice']): return SignatureType.TRANSACTION - # 默认为Personal Sign(文本消息) + # Default to Personal Sign (text message) return SignatureType.PERSONAL_SIGN except Exception: @@ -97,21 +97,21 @@ def detect_signature_type(self, data: Union[str, Dict[str, Any]]) -> SignatureTy def parse(self, data: Union[str, Dict[str, Any]], signature_type: Optional[SignatureType] = None) -> Dict[str, Any]: """ - 解析签名数据 + Parse signature data Args: - data: 签名数据 - signature_type: 指定签名类型(如果为None则自动检测) + data: Signature data + signature_type: Specify signature type (auto-detect if None) Returns: - Dict: 解析结果 + Dict: Parsing result """ - # 自动检测类型 + # Auto-detect type if signature_type is None: signature_type = self.detect_signature_type(data) try: - # 根据类型调用相应的解析器 + # Call appropriate parser based on type if signature_type == SignatureType.EIP712: return self._parse_eip712(data) elif signature_type == SignatureType.PERSONAL_SIGN: @@ -121,7 +121,7 @@ def parse(self, data: Union[str, Dict[str, Any]], signature_type: Optional[Signa else: return { 'success': False, - 'error': f'不支持的签名类型: {signature_type}', + 'error': f'Unsupported signature type: {signature_type}', 'signature_type': signature_type.value } @@ -133,25 +133,25 @@ def parse(self, data: Union[str, Dict[str, Any]], signature_type: Optional[Signa } def _parse_eip712(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: - """解析EIP712签名""" + """Parse EIP712 signature""" parser = self._get_eip712_parser() - # 转换为字典格式 + # Convert to dictionary format if isinstance(data, str): data = json.loads(data) - # 解析 + # Parse result = parser.parse(data) formatted_result = parser.format_result(result) - # 生成AI分析(如果启用) + # Generate AI analysis (if enabled) ai_analysis = None if self.enable_nlp and self.openai_api_key: try: from dynamic_parser.openai_nlp_generator import generate_english_with_openai ai_analysis = generate_english_with_openai(data, self.openai_api_key) except Exception as e: - ai_analysis = {'error': f'AI分析失败: {str(e)}'} + ai_analysis = {'error': f'AI analysis failed: {str(e)}'} return { 'success': True, @@ -162,16 +162,16 @@ def _parse_eip712(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: } def _parse_personal_sign(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: - """解析Personal Sign消息""" + """Parse Personal Sign message""" parser = self._get_personal_sign_parser() - # 如果是字典格式,尝试提取message字段 + # If dictionary format, try to extract message field if isinstance(data, dict): message = data.get('message', json.dumps(data)) else: message = data - # 解析 + # Parse result = parser.parse(message) return { @@ -196,14 +196,14 @@ def _parse_personal_sign(self, data: Union[str, Dict[str, Any]]) -> Dict[str, An } def _parse_transaction(self, data: Union[str, Dict[str, Any]]) -> Dict[str, Any]: - """解析以太坊交易""" + """Parse Ethereum transaction""" parser = self._get_transaction_parser() - # 转换为字典格式 + # Convert to dictionary format if isinstance(data, str): data = json.loads(data) - # 解析 + # Parse result = parser.parse(data) return { diff --git a/personal_sign_parser/__init__.py b/personal_sign_parser/__init__.py index 9641ce6..72ce3bf 100644 --- a/personal_sign_parser/__init__.py +++ b/personal_sign_parser/__init__.py @@ -1,6 +1,6 @@ """ -PersonalSign 解析器 -用于解析和分析 personal_sign 签名中的参数和模板识别 +PersonalSign Parser +Used to parse and analyze parameters and template recognition in personal_sign signatures """ from .parser import PersonalSignParser diff --git a/personal_sign_parser/__pycache__/__init__.cpython-312.pyc b/personal_sign_parser/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..95c723cd0c757693f0c36338b4e136fe86c50010 GIT binary patch literal 661 zcmY*W&ubGw7@gV8?xq_n+7R&AgCG$aTRjv+JlOQmgBrA6mepa*j&X7J2Rqy1dQy?n zL)B6gQBY71MkMG_Jm??be=t}O>?ZZ57Cm_K+hil@96sLn&EviI&3qmoHxZn0u6gwj zM(A7C43Cn7ol^iFAqQE=!H&YQr&tQku*%iW02O$_(=4q&)wu2%mH}9|iY??AFR(S1 z6su!Pmq5sDut)?x<>%d&Ke_$tW%t>7`nYZO9<;YU+{^oowRCj_E+)gAOhm@+bv~x+ zcembmdQa}8_iuL}zDqaOy6xxPr=PapuB5AP%e8T*U=d95VJQ0+nHO>z zvpS1eGY+zg37}99`e^=o9MNogLz}M6)TXOOq=ICmWkrV~%cIh#nGm$a&NImR_?VC#73mnFU+#lzWiIZpU=aFR~4`LHG z%smKMB4in!&JBFf1aZnaA+OO6EP(!AoI7q`fEN*V!bHsMvp%aw?lQCMOk9hD&~AdQ zJ-^VHojE#nj!}nRcDWlTQyz7Fd)JqcL0p><*LPz=YGERaCm{9`XD6cyxMd$A4np~% mVvK((DlYss5kB+QXl)1oG)r=fCF={;d<9$!8?Q-tiJ8E8oj%w zO}GV89=Q9d~{Im@0r4CQIUzV?D5I>^6=^D*OT$9 zC*||UqZePwql3}l?dbK7v(J0w{-^Mld4|(M!{vFEEh-gAlSLN{obNzd2&&;aXh?K! z3(JN=QxnS@kF=yVyX&vFH`?p1K-wut&w_6NH|Ja50;Omd@XCC0CeY~@fSXlEVE;4} zj%Jjb+5P->D;x%dusk6I*NTbRi72k6IRl~alCCThR(YQI88!`hYMa2!_tfM$LUzpP zc%Bhrn^PeO`RK@oeTIcUcaqC-&x}RIeNYanR<>1;ThM2w2S_*e#Ln23Ak!ML`4QXKSFgBp~&^nUk>ZmZU6uP literal 0 HcmV?d00001 diff --git a/personal_sign_parser/__pycache__/parser.cpython-312.pyc b/personal_sign_parser/__pycache__/parser.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..be888ebdca0361363a6eb3731abcbd1ca14152f7 GIT binary patch literal 10433 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 literal 0 HcmV?d00001 diff --git a/personal_sign_parser/__pycache__/template_detector.cpython-312.pyc b/personal_sign_parser/__pycache__/template_detector.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b2c250e0c8a3d8f5bb47b3ae4ec4246a226fc69b GIT binary patch literal 13342 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 literal 0 HcmV?d00001 diff --git a/personal_sign_parser/__pycache__/template_detector.cpython-39.pyc b/personal_sign_parser/__pycache__/template_detector.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..031e4289e956411abdb9249f21581bc26a771dde GIT binary patch literal 8735 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"{}|\\^`\[\]]+') - # 邮箱 + # Email EMAIL = re.compile(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}') - # 手机号(简单匹配) + # Phone number (simple matching) PHONE = re.compile(r'(\+?1?[- ]?)?\(?([0-9]{3})\)?[- ]?([0-9]{3})[- ]?([0-9]{4})') - # 时间戳 + # Timestamp TIMESTAMP = re.compile(r'\b\d{10,13}\b') # UUID UUID = re.compile(r'[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', re.IGNORECASE) - # 随机字符串/Token + # Random string/Token TOKEN = re.compile(r'[a-zA-Z0-9+/=]{20,}') -# 模板关键词定义 +# Template keyword definitions class TemplateKeywords: - """模板关键词定义""" + """Template keyword definitions""" LOGIN = [ "sign in", "login", "log in", "登录", "登入", "sign into", @@ -159,7 +159,7 @@ class TemplateKeywords: "check", "检查", "prove", "证明", "challenge", "挑战" ] - # 安全相关关键词 + # Security-related keywords SECURITY_KEY = [ "transfer", "转账", "send", "发送", "approve", "批准", "spend", "花费", "withdraw", "提取", "deposit", "存入" diff --git a/personal_sign_parser/parameter_extractor.py b/personal_sign_parser/parameter_extractor.py index 6b9c573..975fead 100644 --- a/personal_sign_parser/parameter_extractor.py +++ b/personal_sign_parser/parameter_extractor.py @@ -1,6 +1,6 @@ """ -PersonalSign 参数提取器 -用于从 personal_sign 消息中提取结构化参数 +PersonalSign Parameter Extractor +Used to extract structured parameters from personal_sign messages """ import re @@ -12,47 +12,47 @@ class ParameterExtractor: - """参数提取器""" + """Parameter extractor""" def __init__(self): self.patterns = RegexPatterns() def extract(self, message: str) -> ExtractedParameters: """ - 从消息中提取参数 + Extract parameters from message Args: - message: 要解析的消息 + message: Message to parse Returns: - 提取的参数对象 + Extracted parameters object """ params = ExtractedParameters() - # 清理消息(去除多余空白) + # Clean message (remove extra whitespace) cleaned_message = self._clean_message(message) - # 尝试解析为 JSON + # Try to parse as JSON json_data = self._try_parse_json(cleaned_message) if json_data: self._extract_from_json(json_data, params) - # 尝试解析为 URL 查询参数 + # Try to parse as URL query parameters query_params = self._try_parse_query_string(cleaned_message) if query_params: self._extract_from_query_params(query_params, params) - # 使用正则表达式提取 + # Extract using regular expressions self._extract_with_regex(cleaned_message, params) - # 提取结构化文本参数 + # Extract structured text parameters self._extract_structured_text(cleaned_message, params) return params def _clean_message(self, message: str) -> str: - """清理消息""" - # 如果是 hex 编码的消息,尝试解码 + """Clean message""" + # If it's a hex-encoded message, try to decode if message.startswith('0x'): try: hex_bytes = bytes.fromhex(message[2:]) @@ -65,11 +65,11 @@ def _clean_message(self, message: str) -> str: return message.strip() def _try_parse_json(self, message: str) -> Optional[Dict[str, Any]]: - """尝试解析为 JSON""" + """Try to parse as JSON""" try: return json.loads(message) except (json.JSONDecodeError, ValueError): - # 尝试查找 JSON 片段 + # Try to find JSON fragments json_pattern = re.compile(r'\{[^{}]*\}') matches = json_pattern.findall(message) for match in matches: @@ -80,15 +80,15 @@ def _try_parse_json(self, message: str) -> Optional[Dict[str, Any]]: return None def _try_parse_query_string(self, message: str) -> Optional[Dict[str, List[str]]]: - """尝试解析为 URL 查询字符串""" + """Try to parse as URL query string""" try: - # 如果包含 URL + # If contains URL if 'http' in message: parsed_url = urlparse(message) if parsed_url.query: return parse_qs(parsed_url.query) - # 如果直接是查询字符串格式 + # If directly in query string format if '=' in message and '&' in message: return parse_qs(message) @@ -97,33 +97,33 @@ def _try_parse_query_string(self, message: str) -> Optional[Dict[str, List[str]] return None def _extract_from_json(self, data: Dict[str, Any], params: ExtractedParameters): - """从 JSON 数据中提取参数""" - # 通用参数 + """Extract parameters from JSON data""" + # Common parameters params.domain = data.get('domain') or data.get('uri') or data.get('url') params.nonce = str(data.get('nonce', '')) if data.get('nonce') else None params.timestamp = str(data.get('timestamp', '')) if data.get('timestamp') else None params.expires_at = str(data.get('expires_at', '')) if data.get('expires_at') else None params.address = data.get('address') or data.get('wallet_address') - # 登录相关 + # Login related params.session_id = data.get('session_id') or data.get('sessionId') params.user_id = data.get('user_id') or data.get('userId') - # 绑定相关 + # Binding related params.binding_target = data.get('email') or data.get('phone') or data.get('username') params.binding_type = data.get('binding_type') or data.get('type') - # 授权相关 + # Authorization related if 'permissions' in data: params.permissions = data['permissions'] if isinstance(data['permissions'], list) else [data['permissions']] params.resource = data.get('resource') params.action = data.get('action') - # 验证相关 + # Verification related params.challenge = data.get('challenge') params.verification_code = data.get('code') or data.get('verification_code') - # 自定义字段 + # Custom fields excluded_keys = { 'domain', 'uri', 'url', 'nonce', 'timestamp', 'expires_at', 'address', 'wallet_address', 'session_id', 'sessionId', 'user_id', 'userId', @@ -136,7 +136,7 @@ def _extract_from_json(self, data: Dict[str, Any], params: ExtractedParameters): params.custom_fields[key] = str(value) def _extract_from_query_params(self, query_params: Dict[str, List[str]], params: ExtractedParameters): - """从 URL 查询参数中提取""" + """Extract from URL query parameters""" def get_first_value(key: str) -> Optional[str]: return query_params.get(key, [None])[0] @@ -148,26 +148,26 @@ def get_first_value(key: str) -> Optional[str]: params.challenge = get_first_value('challenge') def _extract_with_regex(self, message: str, params: ExtractedParameters): - """使用正则表达式提取参数""" - # 提取以太坊地址 + """Extract parameters using regular expressions""" + # Extract Ethereum address if not params.address: eth_addresses = self.patterns.ETH_ADDRESS.findall(message) if eth_addresses: params.address = eth_addresses[0] - # 提取域名 + # Extract domain if not params.domain: domains = self.patterns.DOMAIN.findall(message) if domains: params.domain = domains[0] if isinstance(domains[0], str) else domains[0][0] - # 提取时间戳 + # Extract timestamp if not params.timestamp: timestamps = self.patterns.TIMESTAMP.findall(message) if timestamps: params.timestamp = timestamps[0] - # 提取 UUID(可能是 session_id 或 nonce) + # Extract UUID (might be session_id or nonce) uuids = self.patterns.UUID.findall(message) if uuids: if not params.session_id: @@ -175,7 +175,7 @@ def _extract_with_regex(self, message: str, params: ExtractedParameters): elif not params.nonce: params.nonce = uuids[0] - # 提取 Token + # Extract Token tokens = self.patterns.TOKEN.findall(message) if tokens: for token in tokens: @@ -184,7 +184,7 @@ def _extract_with_regex(self, message: str, params: ExtractedParameters): break def _extract_structured_text(self, message: str, params: ExtractedParameters): - """从结构化文本中提取参数""" + """Extract parameters from structured text""" lines = message.split('\n') for line in lines: @@ -192,7 +192,7 @@ def _extract_structured_text(self, message: str, params: ExtractedParameters): if not line or ':' not in line: continue - # 简单的 key:value 格式 + # Simple key:value format if line.count(':') == 1: key, value = line.split(':', 1) key = key.strip().lower() @@ -201,7 +201,7 @@ def _extract_structured_text(self, message: str, params: ExtractedParameters): if not value: continue - # 映射常见的键名 + # Map common key names if key in ['domain', 'site', 'website']: params.domain = params.domain or value elif key in ['nonce', 'random', 'token']: @@ -223,11 +223,11 @@ def _extract_structured_text(self, message: str, params: ExtractedParameters): elif key in ['challenge', 'code']: params.challenge = params.challenge or value else: - # 其他自定义字段 + # Other custom fields params.custom_fields[key] = value def extract_security_info(self, message: str) -> Dict[str, Any]: - """提取安全相关信息""" + """Extract security-related information""" security_info = { 'contains_sensitive_keywords': False, 'sensitive_keywords': [], @@ -239,7 +239,7 @@ def extract_security_info(self, message: str) -> Dict[str, Any]: 'is_hex_encoded': message.startswith('0x') } - # 检查敏感关键词 + # Check for sensitive keywords from .models import TemplateKeywords all_security_keywords = TemplateKeywords.SECURITY_KEY message_lower = message.lower() diff --git a/personal_sign_parser/parser.py b/personal_sign_parser/parser.py index f86cfa1..ecfe12a 100644 --- a/personal_sign_parser/parser.py +++ b/personal_sign_parser/parser.py @@ -1,6 +1,6 @@ """ -PersonalSign 主解析器 -整合参数提取和模板识别功能 +PersonalSign Main Parser +Integrates parameter extraction and template recognition functionality """ import re @@ -12,7 +12,7 @@ class PersonalSignParser: - """PersonalSign 解析器""" + """PersonalSign parser""" def __init__(self): self.parameter_extractor = ParameterExtractor() @@ -20,27 +20,27 @@ def __init__(self): def parse(self, message: Union[str, Dict[str, Any]]) -> PersonalSignMessage: """ - 解析 PersonalSign 消息 + Parse PersonalSign message Args: - message: 要解析的消息,可以是字符串或字典 + message: Message to parse, can be string or dictionary Returns: - 解析后的 PersonalSign 消息对象 + Parsed PersonalSign message object """ - # 统一处理消息格式 + # Normalize message format raw_message = self._normalize_message(message) - # 提取参数 + # Extract parameters extracted_params = self.parameter_extractor.extract(raw_message) - # 检测模板类型 + # Detect template type template_info = self.template_detector.detect(raw_message, extracted_params) - # 分析消息属性 + # Analyze message properties message_props = self._analyze_message_properties(raw_message) - # 安全分析 + # Security analysis security_analysis = self._perform_security_analysis(raw_message, template_info, extracted_params) return PersonalSignMessage( @@ -59,22 +59,22 @@ def parse(self, message: Union[str, Dict[str, Any]]) -> PersonalSignMessage: ) def _normalize_message(self, message: Union[str, Dict[str, Any]]) -> str: - """标准化消息格式""" + """Normalize message format""" if isinstance(message, dict): - # 如果是字典,尝试提取消息内容 + # If it's a dictionary, try to extract message content if 'message' in message: return str(message['message']) elif 'data' in message: return str(message['data']) else: - # 将字典转换为 JSON 字符串 + # Convert dictionary to JSON string import json return json.dumps(message, ensure_ascii=False) return str(message) def _analyze_message_properties(self, message: str) -> Dict[str, Any]: - """分析消息属性""" + """Analyze message properties""" from .models import RegexPatterns patterns = RegexPatterns() @@ -89,61 +89,61 @@ def _analyze_message_properties(self, message: str) -> Dict[str, Any]: } def _detect_language(self, text: str) -> str: - """检测文本语言""" - # 检查是否包含中文字符 + """Detect text language""" + # Check if contains Chinese characters if any('\u4e00' <= char <= '\u9fff' for char in text): return "chinese" - # 检查是否包含日文字符 + # Check if contains Japanese characters elif any('\u3040' <= char <= '\u309f' or '\u30a0' <= char <= '\u30ff' for char in text): return "japanese" - # 检查是否包含韩文字符 + # Check if contains Korean characters elif any('\uac00' <= char <= '\ud7af' for char in text): return "korean" else: return "english" def _perform_security_analysis(self, message: str, template_info: TemplateInfo, params: ExtractedParameters) -> Dict[str, Any]: - """执行安全分析""" + """Perform security analysis""" warnings = [] risk_level = "low" - # 基于模板类型的风险评估 + # Risk assessment based on template type if template_info.security_level == "high": risk_level = "high" - warnings.append("此消息涉及高风险操作,请仔细验证") + warnings.append("This message involves high-risk operations, please verify carefully") elif template_info.security_level == "medium": risk_level = "medium" - warnings.append("此消息需要额外注意安全性") + warnings.append("This message requires extra attention to security") - # 检查敏感关键词 + # Check for sensitive keywords security_info = self.parameter_extractor.extract_security_info(message) if security_info['contains_sensitive_keywords']: risk_level = "high" - keywords = ', '.join(security_info['sensitive_keywords'][:3]) # 最多显示3个 - warnings.append(f"消息包含敏感关键词: {keywords}") + keywords = ', '.join(security_info['sensitive_keywords'][:3]) # Show at most 3 + warnings.append(f"Message contains sensitive keywords: {keywords}") - # 检查消息长度 + # Check message length if len(message) > 5000: - warnings.append("消息长度过长,可能存在风险") + warnings.append("Message is too long, may pose risks") - # 检查 URL + # Check URLs if security_info['contains_urls']: - warnings.append("消息包含URL链接,请验证链接安全性") + warnings.append("Message contains URL links, please verify link security") - # 检查未知模板类型 + # Check unknown template type if template_info.template_type == PersonalSignTemplateType.UNKNOWN: - warnings.append("无法识别消息模板类型,请谨慎处理") + warnings.append("Unable to identify message template type, please handle with caution") if risk_level == "low": risk_level = "medium" - # 检查置信度 + # Check confidence if template_info.confidence < 0.5: - warnings.append(f"模板识别置信度较低 ({template_info.confidence:.1%})") + warnings.append(f"Template recognition confidence is low ({template_info.confidence:.1%})") - # 检查必需字段缺失 + # Check for missing required fields missing_fields = self._check_missing_required_fields(template_info, params) if missing_fields: - warnings.append(f"缺少必需字段: {', '.join(missing_fields)}") + warnings.append(f"Missing required fields: {', '.join(missing_fields)}") return { 'warnings': warnings, @@ -151,7 +151,7 @@ def _perform_security_analysis(self, message: str, template_info: TemplateInfo, } def _check_missing_required_fields(self, template_info: TemplateInfo, params: ExtractedParameters) -> List[str]: - """检查缺失的必需字段""" + """Check for missing required fields""" missing_fields = [] for field in template_info.required_fields: @@ -161,10 +161,10 @@ def _check_missing_required_fields(self, template_info: TemplateInfo, params: Ex return missing_fields def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict[str, Any]: - """获取模板示例""" + """Get template examples""" examples = { PersonalSignTemplateType.LOGIN: { - 'description': '登录验证消息示例', + 'description': 'Login verification message example', 'examples': [ { 'message': 'Sign in to example.com\nNonce: abc123\nTimestamp: 1640995200', @@ -177,7 +177,7 @@ def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict ] }, PersonalSignTemplateType.BINDING: { - 'description': '绑定验证消息示例', + 'description': 'Binding verification message example', 'examples': [ { 'message': 'Bind email: user@example.com\nCode: 123456', @@ -190,7 +190,7 @@ def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict ] }, PersonalSignTemplateType.AUTHORIZATION: { - 'description': '授权确认消息示例', + 'description': 'Authorization confirmation message example', 'examples': [ { 'message': 'Authorize access to: user profile\nPermissions: read, write', @@ -203,7 +203,7 @@ def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict ] }, PersonalSignTemplateType.VERIFICATION: { - 'description': '身份验证消息示例', + 'description': 'Identity verification message example', 'examples': [ { 'message': 'Verify ownership of this wallet\nChallenge: random_challenge_123', @@ -218,12 +218,12 @@ def get_template_examples(self, template_type: PersonalSignTemplateType) -> Dict } return examples.get(template_type, { - 'description': '未知模板类型', + 'description': 'Unknown template type', 'examples': [] }) def validate_message(self, parsed_message: PersonalSignMessage) -> Dict[str, Any]: - """验证解析后的消息""" + """Validate parsed message""" validation_result = { 'is_valid': True, 'errors': [], @@ -234,20 +234,20 @@ def validate_message(self, parsed_message: PersonalSignMessage) -> Dict[str, Any template_info = parsed_message.template_info params = parsed_message.extracted_parameters - # 检查必需字段 + # Check required fields missing_fields = self._check_missing_required_fields(template_info, params) if missing_fields: validation_result['is_valid'] = False - validation_result['errors'].append(f"缺少必需字段: {', '.join(missing_fields)}") + validation_result['errors'].append(f"Missing required fields: {', '.join(missing_fields)}") - # 检查模板置信度 + # Check template confidence if template_info.confidence < 0.5: - validation_result['warnings'].append("模板识别置信度较低") - validation_result['suggestions'].append("建议人工验证消息类型") + validation_result['warnings'].append("Template recognition confidence is low") + validation_result['suggestions'].append("Suggest manual verification of message type") - # 检查安全风险 + # Check security risk if parsed_message.risk_level == "high": - validation_result['warnings'].append("检测到高安全风险") - validation_result['suggestions'].append("建议仔细审查消息内容") + validation_result['warnings'].append("High security risk detected") + validation_result['suggestions'].append("Suggest careful review of message content") return validation_result \ No newline at end of file diff --git a/personal_sign_parser/template_detector.py b/personal_sign_parser/template_detector.py index 0277f2a..de77b49 100644 --- a/personal_sign_parser/template_detector.py +++ b/personal_sign_parser/template_detector.py @@ -1,6 +1,6 @@ """ -PersonalSign 模板识别器 -用于识别 personal_sign 消息的模板类型(登录、绑定、签名授权等) +PersonalSign Template Detector +Used to identify template types of personal_sign messages (login, binding, signature authorization, etc.) """ import re @@ -14,28 +14,28 @@ class TemplateDetector: - """模板识别器""" + """Template detector""" def __init__(self): self.template_rules = self._build_template_rules() def detect(self, message: str, extracted_params: Optional[ExtractedParameters] = None) -> TemplateInfo: """ - 检测消息的模板类型 + Detect message template type Args: - message: 要检测的消息 - extracted_params: 已提取的参数(可选) + message: Message to detect + extracted_params: Extracted parameters (optional) Returns: - 模板信息 + Template information """ message_lower = message.lower() best_match = None best_score = 0.0 best_patterns = [] - # 对每个模板进行评分 + # Score each template for template_type, rules in self.template_rules.items(): score, matched_patterns = self._calculate_template_score(message_lower, rules, extracted_params) @@ -44,16 +44,16 @@ def detect(self, message: str, extracted_params: Optional[ExtractedParameters] = best_match = template_type best_patterns = matched_patterns - # 如果没有匹配到任何模板,设为 UNKNOWN + # If no template matched, set to UNKNOWN if best_match is None or best_score < 0.3: best_match = PersonalSignTemplateType.UNKNOWN best_score = 0.0 best_patterns = [] - # 生成模板描述 + # Generate template description description = self._generate_template_description(best_match, best_score) - # 确定安全级别 + # Determine security level security_level = self._determine_security_level(best_match, message_lower) return TemplateInfo( @@ -67,7 +67,7 @@ def detect(self, message: str, extracted_params: Optional[ExtractedParameters] = ) def _build_template_rules(self) -> Dict[PersonalSignTemplateType, Dict]: - """构建模板识别规则""" + """Build template recognition rules""" return { PersonalSignTemplateType.LOGIN: { 'keywords': TemplateKeywords.LOGIN, @@ -107,7 +107,7 @@ def _build_template_rules(self) -> Dict[PersonalSignTemplateType, Dict]: PersonalSignTemplateType.AUTHORIZATION: { 'keywords': TemplateKeywords.AUTHORIZATION, - 'weight': 1.2, # 更高权重,因为安全敏感 + 'weight': 1.2, # Higher weight due to security sensitivity 'patterns': [ r'authorize', r'授权', @@ -144,11 +144,11 @@ def _build_template_rules(self) -> Dict[PersonalSignTemplateType, Dict]: } def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ExtractedParameters]) -> Tuple[float, List[str]]: - """计算模板匹配得分""" + """Calculate template matching score""" score = 0.0 matched_patterns = [] - # 1. 关键词匹配 + # 1. Keyword matching keyword_matches = 0 for keyword in rules['keywords']: if keyword.lower() in message: @@ -159,7 +159,7 @@ def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ keyword_score = min(keyword_matches / len(rules['keywords']), 1.0) * 0.4 score += keyword_score - # 2. 正则模式匹配 + # 2. Regular expression pattern matching pattern_matches = 0 for pattern in rules['patterns']: if re.search(pattern, message, re.IGNORECASE): @@ -170,7 +170,7 @@ def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ pattern_score = min(pattern_matches / len(rules['patterns']), 1.0) * 0.4 score += pattern_score - # 3. 必需指示符检查 + # 3. Required indicator check required_found = 0 for indicator in rules['required_indicators']: if indicator in message: @@ -181,7 +181,7 @@ def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ required_score = min(required_found / len(rules['required_indicators']), 1.0) * 0.2 score += required_score - # 4. 参数字段加权 + # 4. Parameter field weighting if params: boost_score = self._calculate_field_boost(params, rules.get('boost_fields', [])) penalty_score = self._calculate_field_penalty(params, rules.get('penalty_fields', [])) @@ -194,16 +194,16 @@ def _calculate_template_score(self, message: str, rules: Dict, params: Optional[ if penalty_score > 0: matched_patterns.append(f"field_penalty:{penalty_score:.2f}") - # 应用权重 + # Apply weight score *= rules.get('weight', 1.0) - # 确保得分在 0-1 范围内 + # Ensure score is in 0-1 range score = max(0.0, min(1.0, score)) return score, matched_patterns def _calculate_field_boost(self, params: ExtractedParameters, boost_fields: List[str]) -> float: - """计算字段加权得分""" + """Calculate field boost score""" boost = 0.0 for field in boost_fields: @@ -211,40 +211,40 @@ def _calculate_field_boost(self, params: ExtractedParameters, boost_fields: List if value: boost += 0.1 - return min(boost, 0.3) # 最大加权 0.3 + return min(boost, 0.3) # Maximum boost 0.3 def _calculate_field_penalty(self, params: ExtractedParameters, penalty_fields: List[str]) -> float: - """计算字段惩罚得分""" + """Calculate field penalty score""" penalty = 0.0 - # 检查自定义字段中是否包含惩罚关键词 + # Check if custom fields contain penalty keywords message_text = " ".join(params.custom_fields.values()).lower() for field in penalty_fields: if field in message_text: penalty += 0.2 - return min(penalty, 0.5) # 最大惩罚 0.5 + return min(penalty, 0.5) # Maximum penalty 0.5 def _generate_template_description(self, template_type: PersonalSignTemplateType, confidence: float) -> str: - """生成模板描述""" + """Generate template description""" descriptions = { - PersonalSignTemplateType.LOGIN: "用户登录验证消息", - PersonalSignTemplateType.BINDING: "账户绑定验证消息", - PersonalSignTemplateType.AUTHORIZATION: "权限授权确认消息", - PersonalSignTemplateType.VERIFICATION: "身份验证确认消息", - PersonalSignTemplateType.CUSTOM_MESSAGE: "自定义消息", - PersonalSignTemplateType.UNKNOWN: "未知类型消息" + PersonalSignTemplateType.LOGIN: "User login verification message", + PersonalSignTemplateType.BINDING: "Account binding verification message", + PersonalSignTemplateType.AUTHORIZATION: "Permission authorization confirmation message", + PersonalSignTemplateType.VERIFICATION: "Identity verification confirmation message", + PersonalSignTemplateType.CUSTOM_MESSAGE: "Custom message", + PersonalSignTemplateType.UNKNOWN: "Unknown type message" } - base_desc = descriptions.get(template_type, "未知消息") - confidence_desc = f"(置信度: {confidence:.1%})" + base_desc = descriptions.get(template_type, "Unknown message") + confidence_desc = f" (Confidence: {confidence:.1%})" return f"{base_desc}{confidence_desc}" def _determine_security_level(self, template_type: PersonalSignTemplateType, message: str) -> str: - """确定安全级别""" - # 检查是否包含高风险关键词 + """Determine security level""" + # Check if contains high-risk keywords high_risk_keywords = ['transfer', 'send', 'withdraw', 'approve', 'spend', '转账', '发送', '提取', '批准'] medium_risk_keywords = ['authorize', 'permission', 'grant', '授权', '权限', '允许'] @@ -261,7 +261,7 @@ def _determine_security_level(self, template_type: PersonalSignTemplateType, mes return "low" def _get_required_fields(self, template_type: PersonalSignTemplateType) -> List[str]: - """获取模板必需字段""" + """Get template required fields""" required_fields_map = { PersonalSignTemplateType.LOGIN: ['domain', 'nonce'], PersonalSignTemplateType.BINDING: ['binding_target', 'binding_type'], @@ -274,7 +274,7 @@ def _get_required_fields(self, template_type: PersonalSignTemplateType) -> List[ return required_fields_map.get(template_type, []) def _get_optional_fields(self, template_type: PersonalSignTemplateType) -> List[str]: - """获取模板可选字段""" + """Get template optional fields""" optional_fields_map = { PersonalSignTemplateType.LOGIN: ['session_id', 'user_id', 'timestamp', 'expires_at'], PersonalSignTemplateType.BINDING: ['nonce', 'timestamp', 'expires_at'], @@ -287,7 +287,7 @@ def _get_optional_fields(self, template_type: PersonalSignTemplateType) -> List[ return optional_fields_map.get(template_type, []) def analyze_message_structure(self, message: str) -> Dict[str, any]: - """分析消息结构""" + """Analyze message structure""" return { 'is_structured': self._is_structured_message(message), 'format_type': self._detect_format_type(message), @@ -299,18 +299,18 @@ def analyze_message_structure(self, message: str) -> Dict[str, any]: } def _is_structured_message(self, message: str) -> bool: - """判断是否为结构化消息""" + """Determine if message is structured""" indicators = [ - ':' in message and '\n' in message, # 多行键值对 + ':' in message and '\n' in message, # Multi-line key-value pairs message.strip().startswith('{') and message.strip().endswith('}'), # JSON - '=' in message and '&' in message, # 查询字符串 - re.search(r'\w+\s*:\s*\w+', message) # 键值对格式 + '=' in message and '&' in message, # Query string + re.search(r'\w+\s*:\s*\w+', message) # Key-value format ] return any(indicators) def _detect_format_type(self, message: str) -> str: - """检测消息格式类型""" + """Detect message format type""" if self._looks_like_json(message): return 'json' elif '=' in message and '&' in message: @@ -323,7 +323,7 @@ def _detect_format_type(self, message: str) -> str: return 'plain_text' def _looks_like_json(self, message: str) -> bool: - """判断是否看起来像 JSON""" + """Determine if message looks like JSON""" message = message.strip() return (message.startswith('{') and message.endswith('}')) or \ (message.startswith('[') and message.endswith(']')) \ No newline at end of file diff --git a/personal_sign_parser/tests/__init__.py b/personal_sign_parser/tests/__init__.py index 031b55d..6615b7c 100644 --- a/personal_sign_parser/tests/__init__.py +++ b/personal_sign_parser/tests/__init__.py @@ -1,5 +1,5 @@ """ -PersonalSign 解析器测试模块 +PersonalSign Parser Test Module """ __version__ = "0.1.0" \ No newline at end of file diff --git a/personal_sign_parser/tests/extraction_test.py b/personal_sign_parser/tests/extraction_test.py index 2a0b558..c01d267 100644 --- a/personal_sign_parser/tests/extraction_test.py +++ b/personal_sign_parser/tests/extraction_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -参数提取方法测试 +Parameter extraction method tests """ import sys @@ -12,10 +12,10 @@ def test_extraction_methods(): - """测试不同的参数提取方法""" + """Test different parameter extraction methods""" extractor = ParameterExtractor() - # 测试消息 + # Test messages messages = [ "Sign in to example.com\nNonce: abc123", '{"domain":"app.com","nonce":"xyz789"}', @@ -24,28 +24,28 @@ def test_extraction_methods(): ] for i, message in enumerate(messages, 1): - print(f"📝 测试 {i}: {message[:40]}...") + print(f"📝 Test {i}: {message[:40]}...") - # 详细提取过程 + # Detailed extraction process cleaned = extractor._clean_message(message) - print(f" 清理后: {cleaned}") + print(f" After cleaning: {cleaned}") - # JSON 解析 + # JSON parsing json_data = extractor._try_parse_json(cleaned) if json_data: - print(f" JSON解析: {json_data}") + print(f" JSON parsing: {json_data}") - # 查询字符串解析 + # Query string parsing query_data = extractor._try_parse_query_string(cleaned) if query_data: - print(f" 查询字符串: {query_data}") + print(f" Query string: {query_data}") - # 最终提取结果 + # Final extraction result params = extractor.extract(message) - print(f" 最终结果:") - print(f" 域名: {params.domain}") - print(f" 随机数: {params.nonce}") - print(f" 自定义字段: {params.custom_fields}") + print(f" Final result:") + print(f" Domain: {params.domain}") + print(f" Nonce: {params.nonce}") + print(f" Custom fields: {params.custom_fields}") print() diff --git a/personal_sign_parser/tests/quick_example.py b/personal_sign_parser/tests/quick_example.py index d49079d..02245cb 100644 --- a/personal_sign_parser/tests/quick_example.py +++ b/personal_sign_parser/tests/quick_example.py @@ -1,64 +1,64 @@ #!/usr/bin/env python3 """ -PersonalSign 解析器快速使用示例 +PersonalSign Parser Quick Usage Example """ import sys import os -# 添加父目录到路径 +# Add parent directory to path sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from personal_sign_parser import PersonalSignParser def quick_example(): - """快速使用示例""" - print("🚀 PersonalSign 解析器快速示例\n") + """Quick usage example""" + print("🚀 PersonalSign Parser Quick Example\n") - # 创建解析器 + # Create parser parser = PersonalSignParser() - # 示例1: 登录消息 - print("📝 示例1: 登录消息") + # Example 1: Login message + print("📝 Example 1: Login Message") login_message = """Sign in to example.com Nonce: abc123 Timestamp: 1640995200""" result = parser.parse(login_message) - print(f"✅ 模板类型: {result.template_info.template_type.value}") - print(f"✅ 置信度: {result.template_info.confidence:.1%}") - print(f"✅ 域名: {result.extracted_parameters.domain}") - print(f"✅ 随机数: {result.extracted_parameters.nonce}") - print(f"✅ 风险级别: {result.risk_level}") + print(f"✅ Template type: {result.template_info.template_type.value}") + print(f"✅ Confidence: {result.template_info.confidence:.1%}") + print(f"✅ Domain: {result.extracted_parameters.domain}") + print(f"✅ Nonce: {result.extracted_parameters.nonce}") + print(f"✅ Risk level: {result.risk_level}") - # 示例2: JSON格式绑定消息 - print("\n📝 示例2: JSON格式绑定消息") + # Example 2: JSON format binding message + print("\n📝 Example 2: JSON Format Binding Message") binding_message = '{"type":"bind","email":"user@example.com","code":"123456"}' result = parser.parse(binding_message) - print(f"✅ 模板类型: {result.template_info.template_type.value}") - print(f"✅ 绑定目标: {result.extracted_parameters.binding_target}") - print(f"✅ 验证码: {result.extracted_parameters.verification_code}") + print(f"✅ Template type: {result.template_info.template_type.value}") + print(f"✅ Binding target: {result.extracted_parameters.binding_target}") + print(f"✅ Verification code: {result.extracted_parameters.verification_code}") - # 示例3: 高风险授权消息 - print("\n📝 示例3: 高风险授权消息") + # Example 3: High-risk authorization message + print("\n📝 Example 3: High-Risk Authorization Message") auth_message = """Authorize unlimited spending of your tokens Amount: unlimited Spender: 0x1234567890123456789012345678901234567890""" result = parser.parse(auth_message) - print(f"⚠️ 模板类型: {result.template_info.template_type.value}") - print(f"⚠️ 风险级别: {result.risk_level}") - print(f"⚠️ 安全警告: {result.security_warnings}") + print(f"⚠️ Template type: {result.template_info.template_type.value}") + print(f"⚠️ Risk level: {result.risk_level}") + print(f"⚠️ Security warnings: {result.security_warnings}") - # 示例4: Hex编码消息 - print("\n📝 示例4: Hex编码消息") + # Example 4: Hex-encoded message + print("\n📝 Example 4: Hex-Encoded Message") hex_message = "0x48656c6c6f20576f726c6421" # "Hello World!" result = parser.parse(hex_message) - print(f"✅ 是否为Hex: {result.is_hex}") - print(f"✅ 模板类型: {result.template_info.template_type.value}") + print(f"✅ Is Hex: {result.is_hex}") + print(f"✅ Template type: {result.template_info.template_type.value}") diff --git a/personal_sign_parser/tests/test_data.py b/personal_sign_parser/tests/test_data.py index 145b14f..ff05467 100644 --- a/personal_sign_parser/tests/test_data.py +++ b/personal_sign_parser/tests/test_data.py @@ -1,11 +1,11 @@ """ -PersonalSign 解析器测试数据 -包含各种类型的 PersonalSign 消息示例 +PersonalSign Parser Test Data +Contains various types of PersonalSign message examples """ from typing import Dict, List, Any -# 登录类型消息示例 +# Login type message examples LOGIN_MESSAGES = [ { "message": "Sign in to example.com\nNonce: abc123\nTimestamp: 1640995200", @@ -44,7 +44,7 @@ } ] -# 绑定类型消息示例 +# Binding type message examples BINDING_MESSAGES = [ { "message": "Bind email: user@example.com\nCode: 123456", @@ -85,7 +85,7 @@ } ] -# 授权类型消息示例 +# Authorization type message examples AUTHORIZATION_MESSAGES = [ { "message": "Authorize access to: user profile\nPermissions: read, write\nResource: /api/user", @@ -117,7 +117,7 @@ } ] -# 验证类型消息示例 +# Verification type message examples VERIFICATION_MESSAGES = [ { "message": "Verify ownership of this wallet\nChallenge: random_challenge_123\nAddress: 0x1234567890123456789012345678901234567890", @@ -146,7 +146,7 @@ } ] -# 自定义消息示例 +# Custom message examples CUSTOM_MESSAGES = [ { "message": "Hello World!\nThis is a custom message.", @@ -162,7 +162,7 @@ } ] -# 高风险消息示例(包含敏感关键词) +# High-risk message examples (containing sensitive keywords) HIGH_RISK_MESSAGES = [ { "message": "Transfer 100 ETH to address 0x1234567890123456789012345678901234567890\nApprove this transaction", @@ -184,21 +184,21 @@ } ] -# Hex 编码消息示例 +# Hex-encoded message examples HEX_MESSAGES = [ { - "message": "0x48656c6c6f20576f726c6421", # "Hello World!" 的 hex 编码 + "message": "0x48656c6c6f20576f726c6421", # Hex encoding of "Hello World!" "expected_decoded": "Hello World!", "expected_template": "custom_message" }, { - "message": "0x7b22646f6d61696e223a226578616d706c652e636f6d222c226e6f6e6365223a22616263313233227d", # JSON 的 hex 编码 + "message": "0x7b22646f6d61696e223a226578616d706c652e636f6d222c226e6f6e6365223a22616263313233227d", # Hex encoding of JSON "expected_decoded": '{"domain":"example.com","nonce":"abc123"}', "expected_template": "login" } ] -# 结构化消息示例 +# Structured message examples STRUCTURED_MESSAGES = [ { "message": "domain: example.com\nnonce: abc123\ntimestamp: 1640995200\naction: login", @@ -212,7 +212,7 @@ } ] -# 多语言消息示例 +# Multilingual message examples MULTILINGUAL_MESSAGES = [ { "message": "登录到 example.com\n随机数: abc123\n时间戳: 1640995200", @@ -231,7 +231,7 @@ } ] -# 所有测试数据 +# All test data ALL_TEST_DATA = { "login": LOGIN_MESSAGES, "binding": BINDING_MESSAGES, @@ -247,13 +247,13 @@ def get_test_data(category: str = None) -> Dict[str, List[Dict[str, Any]]]: """ - 获取测试数据 + Get test data Args: - category: 数据类别,如果不指定则返回所有数据 + category: Data category, if not specified returns all data Returns: - 测试数据字典 + Test data dictionary """ if category: return {category: ALL_TEST_DATA.get(category, [])} @@ -261,7 +261,7 @@ def get_test_data(category: str = None) -> Dict[str, List[Dict[str, Any]]]: def get_sample_messages() -> List[str]: - """获取所有示例消息文本""" + """Get all example message texts""" messages = [] for category_data in ALL_TEST_DATA.values(): for item in category_data: diff --git a/personal_sign_parser/tests/test_parser.py b/personal_sign_parser/tests/test_parser.py index eb4f285..eb23588 100644 --- a/personal_sign_parser/tests/test_parser.py +++ b/personal_sign_parser/tests/test_parser.py @@ -1,11 +1,11 @@ """ -PersonalSign 解析器测试 +PersonalSign Parser Tests """ import sys import os -# 添加父目录到路径,以便导入模块 +# Add parent directory to path to import modules sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from personal_sign_parser import PersonalSignParser, PersonalSignTemplateType @@ -13,191 +13,191 @@ def test_login_messages(): - """测试登录消息解析""" + """Test login message parsing""" parser = PersonalSignParser() test_data = get_test_data("login") - print("🧪 测试登录消息解析...") + print("🧪 Testing login message parsing...") for i, item in enumerate(test_data["login"]): message = item["message"] expected_template = item["expected_template"] expected_params = item["expected_params"] - print(f"\n📝 测试用例 {i+1}:") - print(f"消息: {message[:50]}...") + print(f"\n📝 Test case {i+1}:") + print(f"Message: {message[:50]}...") - # 解析消息 + # Parse message result = parser.parse(message) - # 检查模板类型 + # Check template type detected_template = result.template_info.template_type.value - print(f"期望模板: {expected_template}") - print(f"检测模板: {detected_template}") - print(f"置信度: {result.template_info.confidence:.1%}") + print(f"Expected template: {expected_template}") + print(f"Detected template: {detected_template}") + print(f"Confidence: {result.template_info.confidence:.1%}") - # 检查参数提取 - print("提取的参数:") + # Check parameter extraction + print("Extracted parameters:") for key, expected_value in expected_params.items(): actual_value = getattr(result.extracted_parameters, key, None) - print(f" {key}: {actual_value} (期望: {expected_value})") + print(f" {key}: {actual_value} (expected: {expected_value})") - # 安全分析 - print(f"风险级别: {result.risk_level}") + # Security analysis + print(f"Risk level: {result.risk_level}") if result.security_warnings: - print(f"安全警告: {result.security_warnings}") + print(f"Security warnings: {result.security_warnings}") - print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + print("✅ Test passed" if detected_template == expected_template else "❌ Test failed") def test_binding_messages(): - """测试绑定消息解析""" + """Test binding message parsing""" parser = PersonalSignParser() test_data = get_test_data("binding") - print("\n🧪 测试绑定消息解析...") + print("\n🧪 Testing binding message parsing...") for i, item in enumerate(test_data["binding"]): message = item["message"] expected_template = item["expected_template"] - print(f"\n📝 测试用例 {i+1}:") - print(f"消息: {message[:50]}...") + print(f"\n📝 Test case {i+1}:") + print(f"Message: {message[:50]}...") result = parser.parse(message) detected_template = result.template_info.template_type.value - print(f"期望模板: {expected_template}") - print(f"检测模板: {detected_template}") - print(f"置信度: {result.template_info.confidence:.1%}") + print(f"Expected template: {expected_template}") + print(f"Detected template: {detected_template}") + print(f"Confidence: {result.template_info.confidence:.1%}") - # 检查绑定相关参数 + # Check binding-related parameters if result.extracted_parameters.binding_target: - print(f"绑定目标: {result.extracted_parameters.binding_target}") + print(f"Binding target: {result.extracted_parameters.binding_target}") if result.extracted_parameters.binding_type: - print(f"绑定类型: {result.extracted_parameters.binding_type}") + print(f"Binding type: {result.extracted_parameters.binding_type}") if result.extracted_parameters.verification_code: - print(f"验证码: {result.extracted_parameters.verification_code}") + print(f"Verification code: {result.extracted_parameters.verification_code}") - print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + print("✅ Test passed" if detected_template == expected_template else "❌ Test failed") def test_authorization_messages(): - """测试授权消息解析""" + """Test authorization message parsing""" parser = PersonalSignParser() test_data = get_test_data("authorization") - print("\n🧪 测试授权消息解析...") + print("\n🧪 Testing authorization message parsing...") for i, item in enumerate(test_data["authorization"]): message = item["message"] expected_template = item["expected_template"] - print(f"\n📝 测试用例 {i+1}:") - print(f"消息: {message[:50]}...") + print(f"\n📝 Test case {i+1}:") + print(f"Message: {message[:50]}...") result = parser.parse(message) detected_template = result.template_info.template_type.value - print(f"期望模板: {expected_template}") - print(f"检测模板: {detected_template}") - print(f"置信度: {result.template_info.confidence:.1%}") - print(f"安全级别: {result.template_info.security_level}") + print(f"Expected template: {expected_template}") + print(f"Detected template: {detected_template}") + print(f"Confidence: {result.template_info.confidence:.1%}") + print(f"Security level: {result.template_info.security_level}") - # 检查授权相关参数 + # Check authorization-related parameters if result.extracted_parameters.permissions: - print(f"权限: {result.extracted_parameters.permissions}") + print(f"Permissions: {result.extracted_parameters.permissions}") if result.extracted_parameters.resource: - print(f"资源: {result.extracted_parameters.resource}") + print(f"Resource: {result.extracted_parameters.resource}") if result.extracted_parameters.action: - print(f"操作: {result.extracted_parameters.action}") + print(f"Action: {result.extracted_parameters.action}") - print("✅ 测试通过" if detected_template == expected_template else "❌ 测试失败") + print("✅ Test passed" if detected_template == expected_template else "❌ Test failed") def test_high_risk_messages(): - """测试高风险消息检测""" + """Test high-risk message detection""" parser = PersonalSignParser() test_data = get_test_data("high_risk") - print("\n🧪 测试高风险消息检测...") + print("\n🧪 Testing high-risk message detection...") for i, item in enumerate(test_data["high_risk"]): message = item["message"] expected_risk = item["risk_level"] should_have_warnings = item["should_have_warnings"] - print(f"\n📝 测试用例 {i+1}:") - print(f"消息: {message[:50]}...") + print(f"\n📝 Test case {i+1}:") + print(f"Message: {message[:50]}...") result = parser.parse(message) - print(f"期望风险级别: {expected_risk}") - print(f"检测风险级别: {result.risk_level}") - print(f"安全警告: {result.security_warnings}") + print(f"Expected risk level: {expected_risk}") + print(f"Detected risk level: {result.risk_level}") + print(f"Security warnings: {result.security_warnings}") risk_correct = result.risk_level == expected_risk warnings_correct = bool(result.security_warnings) == should_have_warnings - print("✅ 风险级别正确" if risk_correct else "❌ 风险级别错误") - print("✅ 警告检测正确" if warnings_correct else "❌ 警告检测错误") + print("✅ Risk level correct" if risk_correct else "❌ Risk level incorrect") + print("✅ Warning detection correct" if warnings_correct else "❌ Warning detection incorrect") def test_hex_messages(): - """测试 Hex 编码消息解析""" + """Test Hex-encoded message parsing""" parser = PersonalSignParser() test_data = get_test_data("hex_encoded") - print("\n🧪 测试 Hex 编码消息解析...") + print("\n🧪 Testing Hex-encoded message parsing...") for i, item in enumerate(test_data["hex_encoded"]): message = item["message"] expected_decoded = item["expected_decoded"] - print(f"\n📝 测试用例 {i+1}:") - print(f"Hex 消息: {message}") - print(f"期望解码: {expected_decoded}") + print(f"\n📝 Test case {i+1}:") + print(f"Hex message: {message}") + print(f"Expected decoded: {expected_decoded}") result = parser.parse(message) - print(f"检测为 Hex: {result.is_hex}") - print(f"模板类型: {result.template_info.template_type.value}") - print(f"消息长度: {result.message_length}") + print(f"Detected as Hex: {result.is_hex}") + print(f"Template type: {result.template_info.template_type.value}") + print(f"Message length: {result.message_length}") - print("✅ 测试通过") + print("✅ Test passed") def test_multilingual_messages(): - """测试多语言消息解析""" + """Test multilingual message parsing""" parser = PersonalSignParser() test_data = get_test_data("multilingual") - print("\n🧪 测试多语言消息解析...") + print("\n🧪 Testing multilingual message parsing...") for i, item in enumerate(test_data["multilingual"]): message = item["message"] expected_language = item["language"] expected_template = item["expected_template"] - print(f"\n📝 测试用例 {i+1}:") - print(f"消息: {message}") - print(f"期望语言: {expected_language}") + print(f"\n📝 Test case {i+1}:") + print(f"Message: {message}") + print(f"Expected language: {expected_language}") result = parser.parse(message) - print(f"检测语言: {result.language}") - print(f"模板类型: {result.template_info.template_type.value}") + print(f"Detected language: {result.language}") + print(f"Template type: {result.template_info.template_type.value}") language_correct = result.language == expected_language template_correct = result.template_info.template_type.value == expected_template - print("✅ 语言检测正确" if language_correct else "❌ 语言检测错误") - print("✅ 模板检测正确" if template_correct else "❌ 模板检测错误") + print("✅ Language detection correct" if language_correct else "❌ Language detection incorrect") + print("✅ Template detection correct" if template_correct else "❌ Template detection incorrect") def run_all_tests(): - """运行所有测试""" - print("🚀 开始运行 PersonalSign 解析器测试...\n") + """Run all tests""" + print("🚀 Starting PersonalSign parser tests...\n") try: test_login_messages() @@ -207,10 +207,10 @@ def run_all_tests(): test_hex_messages() test_multilingual_messages() - print("\n🎉 所有测试完成!") + print("\n🎉 All tests completed!") except Exception as e: - print(f"\n❌ 测试过程中发生错误: {e}") + print(f"\n❌ Error occurred during testing: {e}") import traceback traceback.print_exc() diff --git a/signature_classification/__init__.py b/signature_classification/__init__.py index 8cdc0f6..33917e1 100644 --- a/signature_classification/__init__.py +++ b/signature_classification/__init__.py @@ -1,7 +1,7 @@ """ -签名类型识别与分级模块 +Signature Type Recognition and Classification Module -提供以太坊签名类型的自动识别、分级和风险评估功能 +Provides automatic recognition, classification, and risk assessment functionality for Ethereum signature types """ from .signature_types import SignatureType, SignatureCategory, SecurityLevel diff --git a/signature_classification/risk_analyzer.py b/signature_classification/risk_analyzer.py index 9d189e1..cfba2a5 100644 --- a/signature_classification/risk_analyzer.py +++ b/signature_classification/risk_analyzer.py @@ -1,5 +1,5 @@ """ -风险分析器 - 评估签名安全风险 +Risk Analyzer - Assesses signature security risks """ from typing import Dict, List, Any, Union, Optional @@ -10,16 +10,16 @@ class RiskCategory(str, Enum): - """风险类别""" - FINANCIAL = "financial" # 财务风险 - PRIVACY = "privacy" # 隐私风险 - PHISHING = "phishing" # 钓鱼风险 - TECHNICAL = "technical" # 技术风险 + """Risk category""" + FINANCIAL = "financial" # Financial risk + PRIVACY = "privacy" # Privacy risk + PHISHING = "phishing" # Phishing risk + TECHNICAL = "technical" # Technical risk @dataclass class RiskFactor: - """风险因子""" + """Risk factor""" category: RiskCategory level: SecurityLevel description: str @@ -29,7 +29,7 @@ class RiskFactor: @dataclass class RiskAssessment: - """风险评估结果""" + """Risk assessment result""" overall_risk: SecurityLevel risk_score: float # 0-100 risk_factors: List[RiskFactor] @@ -39,16 +39,16 @@ class RiskAssessment: class RiskAnalyzer: - """风险分析器""" + """Risk analyzer""" def __init__(self): - """初始化风险分析器""" + """Initialize risk analyzer""" self._init_risk_rules() def _init_risk_rules(self): - """初始化风险规则""" + """Initialize risk rules""" - # 钓鱼关键词 + # Phishing keywords self.phishing_keywords = { "urgent": ["urgent", "urgently", "immediately", "asap", "紧急", "立即", "马上"], "time_pressure": ["expires", "deadline", "limited time", "act now", "过期", "截止", "限时"], @@ -57,13 +57,13 @@ def _init_risk_rules(self): "threat": ["suspend", "block", "disable", "freeze", "暂停", "冻结", "禁用"] } - # 高风险合约地址模式(示例) + # High-risk contract address patterns (examples) self.high_risk_patterns = { - "known_scam_contracts": [], # 可以添加已知诈骗合约地址 - "suspicious_domains": ["bit.ly", "tinyurl.com", "t.co"] # 短链接域名 + "known_scam_contracts": [], # Can add known scam contract addresses + "suspicious_domains": ["bit.ly", "tinyurl.com", "t.co"] # Short link domains } - # 财务风险阈值 + # Financial risk thresholds self.financial_thresholds = { "high_value_eth": 1000000000000000000, # 1 ETH in wei "high_value_usd": 1000 # $1000 USD @@ -74,47 +74,47 @@ def analyze_risk(self, data: Union[str, Dict[str, Any]], context: Optional[Dict[str, Any]] = None) -> RiskAssessment: """ - 分析签名风险 + Analyze signature risk Args: - signature_type: 签名类型 - data: 签名数据 - context: 上下文信息(可选) + signature_type: Signature type + data: Signature data + context: Context information (optional) Returns: - 风险评估结果 + Risk assessment result """ risk_factors = [] warnings = [] - # 基于签名类型的基础风险评估 + # Base risk assessment based on signature type base_risks = self._assess_base_risks(signature_type) risk_factors.extend(base_risks) - # 数据内容风险分析 + # Data content risk analysis content_risks = self._analyze_content_risks(signature_type, data) risk_factors.extend(content_risks) - # 钓鱼风险检测 + # Phishing risk detection phishing_risks = self._detect_phishing_risks(data) risk_factors.extend(phishing_risks) - # 技术风险评估 + # Technical risk assessment technical_risks = self._assess_technical_risks(signature_type, data) risk_factors.extend(technical_risks) - # 上下文风险分析 + # Context risk analysis if context: context_risks = self._analyze_context_risks(context) risk_factors.extend(context_risks) - # 计算总体风险 + # Calculate overall risk overall_risk, risk_score = self._calculate_overall_risk(risk_factors) - # 生成建议 + # Generate recommendations recommendations = self._generate_recommendations(signature_type, risk_factors, overall_risk) - # 判断是否应该继续 + # Determine if should proceed should_proceed = self._should_proceed(overall_risk, risk_score) return RiskAssessment( @@ -127,56 +127,56 @@ def analyze_risk(self, ) def _assess_base_risks(self, signature_type: SignatureType) -> List[RiskFactor]: - """基于签名类型的基础风险评估""" + """Base risk assessment based on signature type""" risks = [] if signature_type == SignatureType.ETH_SEND_TRANSACTION: risks.append(RiskFactor( category=RiskCategory.FINANCIAL, level=SecurityLevel.HIGH_RISK, - description="链上交易将直接消耗Gas费用并可能转移资产", - impact="可能导致资产损失和不可逆的状态变更", - mitigation="仔细检查交易详情,确认接收地址和金额" + description="On-chain transaction will directly consume gas fees and may transfer assets", + impact="May cause asset loss and irreversible state changes", + mitigation="Carefully check transaction details, confirm recipient address and amount" )) elif signature_type == SignatureType.ETH_SIGN: risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.HIGH_RISK, - description="eth_sign方法存在严重安全漏洞", - impact="可能被恶意利用签署任意数据", - mitigation="避免使用支持eth_sign的钱包,建议升级到现代钱包" + description="eth_sign method has serious security vulnerabilities", + impact="May be maliciously exploited to sign arbitrary data", + mitigation="Avoid using wallets that support eth_sign, recommend upgrading to modern wallets" )) elif signature_type == SignatureType.PERSONAL_SIGN: risks.append(RiskFactor( category=RiskCategory.PHISHING, level=SecurityLevel.MEDIUM_RISK, - description="个人签名常被钓鱼网站滥用", - impact="可能泄露身份信息或被用于恶意授权", - mitigation="确认网站真实性,避免在可疑网站上签名" + description="Personal signatures are frequently abused by phishing sites", + impact="May leak identity information or be used for malicious authorization", + mitigation="Confirm website authenticity, avoid signing on suspicious websites" )) elif signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.MEDIUM_RISK, - description="结构化签名可能包含复杂的授权逻辑", - impact="可能授予第三方超出预期的权限", - mitigation="仔细阅读签名内容,特别注意授权范围和有效期" + description="Structured signatures may contain complex authorization logic", + impact="May grant third parties permissions beyond expectations", + mitigation="Carefully read signature content, pay special attention to authorization scope and validity period" )) return risks def _analyze_content_risks(self, signature_type: SignatureType, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: - """分析数据内容风险""" + """Analyze data content risks""" risks = [] if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4 and isinstance(data, dict): - # 检查EIP-712数据的风险 + # Check risks in EIP-712 data message = data.get("message", {}) - # 检查授权金额 + # Check authorization amount if isinstance(message, dict): for key, value in message.items(): if key.lower() in ["amount", "value"] and isinstance(value, (str, int)): @@ -186,82 +186,82 @@ def _analyze_content_risks(self, signature_type: SignatureType, data: Union[str, risks.append(RiskFactor( category=RiskCategory.FINANCIAL, level=SecurityLevel.HIGH_RISK, - description=f"检测到高额授权金额: {amount}", - impact="可能导致大额资产损失", - mitigation="确认授权金额是否合理" + description=f"Detected high authorization amount: {amount}", + impact="May cause large asset loss", + mitigation="Confirm if authorization amount is reasonable" )) except (ValueError, TypeError): pass - # 检查时间相关风险 + # Check time-related risks time_fields = ["endTime", "deadline", "expiry", "validUntil"] for field in time_fields: if field in message: risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.LOW_RISK, - description=f"签名包含时效限制: {field}", - impact="可能面临时间窗口攻击", - mitigation="注意签名的有效期限制" + description=f"Signature contains time limit: {field}", + impact="May face time window attacks", + mitigation="Pay attention to signature validity period limits" )) return risks def _detect_phishing_risks(self, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: - """检测钓鱼风险""" + """Detect phishing risks""" risks = [] - # 将数据转换为文本进行关键词检测 + # Convert data to text for keyword detection text_data = str(data).lower() - # 检查钓鱼关键词 + # Check phishing keywords for category, keywords in self.phishing_keywords.items(): for keyword in keywords: if keyword in text_data: risks.append(RiskFactor( category=RiskCategory.PHISHING, level=SecurityLevel.HIGH_RISK, - description=f"检测到钓鱼相关关键词: '{keyword}' (类别: {category})", - impact="可能是钓鱼攻击尝试", - mitigation="仔细核实网站真实性,避免在可疑环境中签名" + description=f"Detected phishing-related keyword: '{keyword}' (category: {category})", + impact="May be a phishing attack attempt", + mitigation="Carefully verify website authenticity, avoid signing in suspicious environments" )) return risks def _assess_technical_risks(self, signature_type: SignatureType, data: Union[str, Dict[str, Any]]) -> List[RiskFactor]: - """评估技术风险""" + """Assess technical risks""" risks = [] - # 检查数据复杂度 + # Check data complexity if isinstance(data, dict): depth = self._calculate_dict_depth(data) if depth > 3: risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.MEDIUM_RISK, - description=f"数据结构复杂度较高 (嵌套层级: {depth})", - impact="复杂结构可能隐藏恶意内容", - mitigation="仔细检查每个字段的含义" + description=f"Data structure complexity is high (nesting level: {depth})", + impact="Complex structures may hide malicious content", + mitigation="Carefully check the meaning of each field" )) - # 检查数据大小 + # Check data size data_size = len(str(data)) if data_size > 10000: # 10KB risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.LOW_RISK, - description=f"数据量较大 ({data_size} 字符)", - impact="大量数据可能影响审查效率", - mitigation="确保有足够时间审查所有内容" + description=f"Large data volume ({data_size} characters)", + impact="Large amounts of data may affect review efficiency", + mitigation="Ensure sufficient time to review all content" )) return risks def _analyze_context_risks(self, context: Dict[str, Any]) -> List[RiskFactor]: - """分析上下文风险""" + """Analyze context risks""" risks = [] - # 检查来源域名 + # Check origin domain origin = context.get("origin", "") if origin: for suspicious_domain in self.high_risk_patterns["suspicious_domains"]: @@ -269,26 +269,26 @@ def _analyze_context_risks(self, context: Dict[str, Any]) -> List[RiskFactor]: risks.append(RiskFactor( category=RiskCategory.PHISHING, level=SecurityLevel.HIGH_RISK, - description=f"来源域名可疑: {origin}", - impact="可能来自钓鱼网站", - mitigation="验证网站的真实性" + description=f"Suspicious origin domain: {origin}", + impact="May come from phishing website", + mitigation="Verify website authenticity" )) - # 检查用户代理 + # Check user agent user_agent = context.get("userAgent", "") if user_agent and "bot" in user_agent.lower(): risks.append(RiskFactor( category=RiskCategory.TECHNICAL, level=SecurityLevel.MEDIUM_RISK, - description="检测到自动化请求", - impact="可能是脚本攻击", - mitigation="确认操作是否为用户主动发起" + description="Detected automated request", + impact="May be a script attack", + mitigation="Confirm if operation is user-initiated" )) return risks def _calculate_dict_depth(self, d: Dict[str, Any], depth: int = 0) -> int: - """计算字典嵌套深度""" + """Calculate dictionary nesting depth""" if not isinstance(d, dict): return depth @@ -300,11 +300,11 @@ def _calculate_dict_depth(self, d: Dict[str, Any], depth: int = 0) -> int: return max_depth def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[SecurityLevel, float]: - """计算总体风险级别和分数""" + """Calculate overall risk level and score""" if not risk_factors: return SecurityLevel.MINIMAL_RISK, 0.0 - # 风险级别权重 + # Risk level weights risk_weights = { SecurityLevel.HIGH_RISK: 80, SecurityLevel.MEDIUM_RISK: 50, @@ -312,7 +312,7 @@ def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[Secur SecurityLevel.MINIMAL_RISK: 5 } - # 计算风险分数 + # Calculate risk score total_score = 0 max_risk_level = SecurityLevel.MINIMAL_RISK @@ -320,7 +320,7 @@ def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[Secur score = risk_weights.get(factor.level, 0) total_score += score - # 更新最高风险级别 + # Update highest risk level if factor.level == SecurityLevel.HIGH_RISK: max_risk_level = SecurityLevel.HIGH_RISK elif factor.level == SecurityLevel.MEDIUM_RISK and max_risk_level != SecurityLevel.HIGH_RISK: @@ -328,10 +328,10 @@ def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[Secur elif factor.level == SecurityLevel.LOW_RISK and max_risk_level == SecurityLevel.MINIMAL_RISK: max_risk_level = SecurityLevel.LOW_RISK - # 归一化分数到0-100 + # Normalize score to 0-100 normalized_score = min(100, total_score) - # 根据分数调整风险级别 + # Adjust risk level based on score if normalized_score >= 80: overall_risk = SecurityLevel.HIGH_RISK elif normalized_score >= 50: @@ -344,59 +344,59 @@ def _calculate_overall_risk(self, risk_factors: List[RiskFactor]) -> tuple[Secur return overall_risk, normalized_score def _generate_recommendations(self, signature_type: SignatureType, risk_factors: List[RiskFactor], overall_risk: SecurityLevel) -> List[str]: - """生成安全建议""" + """Generate security recommendations""" recommendations = [] - # 基于整体风险级别的建议 + # Recommendations based on overall risk level if overall_risk == SecurityLevel.HIGH_RISK: - recommendations.append("🚨 建议暂停操作,仔细评估风险后再决定是否继续") - recommendations.append("🔍 建议寻求专业人士的意见") + recommendations.append("🚨 Recommend pausing operation, carefully assess risks before deciding whether to continue") + recommendations.append("🔍 Recommend seeking professional advice") elif overall_risk == SecurityLevel.MEDIUM_RISK: - recommendations.append("⚠️ 请谨慎操作,确认所有细节无误后再继续") - recommendations.append("🔍 建议在测试环境中先行验证") + recommendations.append("⚠️ Please proceed with caution, confirm all details are correct before continuing") + recommendations.append("🔍 Recommend testing in a test environment first") - # 基于签名类型的建议 + # Recommendations based on signature type if signature_type == SignatureType.ETH_SEND_TRANSACTION: - recommendations.append("💰 仔细检查交易金额和接收地址") - recommendations.append("⛽ 注意Gas费用设置是否合理") + recommendations.append("💰 Carefully check transaction amount and recipient address") + recommendations.append("⛽ Pay attention to whether gas fee settings are reasonable") elif signature_type == SignatureType.ETH_SIGN: - recommendations.append("🚫 强烈建议避免使用eth_sign方法") - recommendations.append("🔄 考虑使用更安全的签名方法") + recommendations.append("🚫 Strongly recommend avoiding eth_sign method") + recommendations.append("🔄 Consider using safer signature methods") elif signature_type == SignatureType.PERSONAL_SIGN: - recommendations.append("🌐 确认网站域名和SSL证书") - recommendations.append("👁️ 仔细阅读要签名的消息内容") + recommendations.append("🌐 Confirm website domain and SSL certificate") + recommendations.append("👁️ Carefully read the message content to be signed") elif signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: - recommendations.append("📋 仔细检查结构化数据的每个字段") - recommendations.append("⏰ 注意签名的有效期和授权范围") + recommendations.append("📋 Carefully check each field of structured data") + recommendations.append("⏰ Pay attention to signature validity period and authorization scope") - # 基于具体风险因子的建议 + # Recommendations based on specific risk factors risk_categories = {factor.category for factor in risk_factors} if RiskCategory.PHISHING in risk_categories: - recommendations.append("🎣 检测到钓鱼风险,请验证网站真实性") + recommendations.append("🎣 Phishing risk detected, please verify website authenticity") if RiskCategory.FINANCIAL in risk_categories: - recommendations.append("💸 涉及财务操作,请确认金额和授权范围") + recommendations.append("💸 Financial operations involved, please confirm amount and authorization scope") - # 去重并限制数量 - recommendations = list(dict.fromkeys(recommendations)) # 去重 - return recommendations[:8] # 限制最多8条建议 + # Deduplicate and limit quantity + recommendations = list(dict.fromkeys(recommendations)) # Deduplicate + return recommendations[:8] # Limit to maximum 8 recommendations def _should_proceed(self, overall_risk: SecurityLevel, risk_score: float) -> bool: - """判断是否应该继续操作""" + """Determine if operation should proceed""" - # 高风险情况下不建议继续 + # Do not recommend continuing in high-risk situations if overall_risk == SecurityLevel.HIGH_RISK: return False - # 中等风险情况下需要用户仔细考虑 + # Medium risk situations require user careful consideration if overall_risk == SecurityLevel.MEDIUM_RISK and risk_score > 70: return False return True def get_risk_summary(self, risk_assessment: RiskAssessment) -> str: - """获取风险摘要""" + """Get risk summary""" risk_level_emoji = { SecurityLevel.HIGH_RISK: "🔴", @@ -407,13 +407,13 @@ def get_risk_summary(self, risk_assessment: RiskAssessment) -> str: emoji = risk_level_emoji.get(risk_assessment.overall_risk, "⚪") - summary = f"{emoji} 风险级别: {risk_assessment.overall_risk}\n" - summary += f"风险评分: {risk_assessment.risk_score:.1f}/100\n" - summary += f"风险因子数量: {len(risk_assessment.risk_factors)}\n" + summary = f"{emoji} Risk level: {risk_assessment.overall_risk}\n" + summary += f"Risk score: {risk_assessment.risk_score:.1f}/100\n" + summary += f"Number of risk factors: {len(risk_assessment.risk_factors)}\n" if not risk_assessment.should_proceed: - summary += "⚠️ 不建议继续操作" + summary += "⚠️ Do not recommend continuing operation" else: - summary += "✅ 可以谨慎继续" + summary += "✅ Can proceed with caution" return summary \ No newline at end of file diff --git a/signature_classification/signature_classifier.py b/signature_classification/signature_classifier.py index e3a9a79..8ac3f21 100644 --- a/signature_classification/signature_classifier.py +++ b/signature_classification/signature_classifier.py @@ -1,5 +1,5 @@ """ -签名分类器 - 核心签名识别引擎 +Signature Classifier - Core signature recognition engine """ import json @@ -12,37 +12,37 @@ @dataclass class ClassificationResult: - """分类结果""" + """Classification result""" signature_type: SignatureType category: SignatureCategory security_level: SecurityLevel - confidence: float # 置信度 0-1 + confidence: float # Confidence 0-1 metadata: Dict[str, Any] warnings: List[str] detected_patterns: List[str] class SignatureClassifier: - """签名分类器 - 识别和分类以太坊签名类型""" + """Signature classifier - identifies and classifies Ethereum signature types""" def __init__(self): - """初始化分类器""" + """Initialize classifier""" self._init_patterns() def _init_patterns(self): - """初始化检测模式""" + """Initialize detection patterns""" - # EIP-712 检测模式 + # EIP-712 detection patterns self.eip712_required_fields = {"types", "domain", "primaryType", "message"} self.eip712_domain_fields = {"name", "version", "chainId", "verifyingContract"} - # 交易数据检测模式 + # Transaction data detection patterns self.transaction_fields = { "required": {"to"}, "optional": {"from", "value", "data", "gas", "gasPrice", "gasLimit", "nonce", "maxFeePerGas", "maxPriorityFeePerGas"} } - # 十六进制模式 + # Hexadecimal patterns self.hex_patterns = { "address": re.compile(r'^0x[a-fA-F0-9]{40}$'), "hash": re.compile(r'^0x[a-fA-F0-9]{64}$'), @@ -50,7 +50,7 @@ def _init_patterns(self): "hex_data": re.compile(r'^0x[a-fA-F0-9]+$') } - # 危险关键词检测 + # Risk keyword detection self.risk_keywords = { "high": ["transfer", "approve", "withdraw", "claim", "execute"], "medium": ["sign", "auth", "verify", "permit", "delegate"], @@ -59,31 +59,31 @@ def _init_patterns(self): def classify(self, data: Union[str, Dict[str, Any]]) -> ClassificationResult: """ - 分类签名数据 + Classify signature data Args: - data: 输入的签名数据 + data: Input signature data Returns: - 分类结果 + Classification result """ - # 数据预处理 + # Data preprocessing processed_data, data_format = self._preprocess_data(data) - # 执行分类 + # Perform classification signature_type = self._detect_signature_type(processed_data, data_format) - # 获取元数据 + # Get metadata metadata = get_signature_metadata(signature_type) - # 计算置信度 + # Calculate confidence confidence = self._calculate_confidence(processed_data, signature_type, data_format) - # 检测警告和模式 + # Detect warnings and patterns warnings = self._detect_warnings(processed_data, signature_type) patterns = self._detect_patterns(processed_data, signature_type) - # 构建结果 + # Build result return ClassificationResult( signature_type=signature_type, category=metadata.category, @@ -102,16 +102,16 @@ def classify(self, data: Union[str, Dict[str, Any]]) -> ClassificationResult: ) def _preprocess_data(self, data: Union[str, Dict[str, Any]]) -> Tuple[Union[str, Dict[str, Any]], str]: - """预处理输入数据""" + """Preprocess input data""" if isinstance(data, dict): return data, "dict" if isinstance(data, str): - # 去除空白字符 + # Remove whitespace data = data.strip() - # 尝试解析JSON + # Try to parse JSON if data.startswith('{'): try: parsed = json.loads(data) @@ -125,7 +125,7 @@ def _preprocess_data(self, data: Union[str, Dict[str, Any]]) -> Tuple[Union[str, return str(data), "other" def _detect_signature_type(self, data: Union[str, Dict[str, Any]], data_format: str) -> SignatureType: - """检测签名类型""" + """Detect signature type""" if data_format in ["dict", "json_string"]: return self._classify_dict_data(data) @@ -133,61 +133,61 @@ def _detect_signature_type(self, data: Union[str, Dict[str, Any]], data_format: return self._classify_string_data(data) def _classify_dict_data(self, data: Dict[str, Any]) -> SignatureType: - """分类字典格式数据""" + """Classify dictionary format data""" - # 检查 EIP-712 结构 + # Check EIP-712 structure if self._is_eip712_structure(data): return SignatureType.ETH_SIGN_TYPED_DATA_V4 - # 检查交易结构 + # Check transaction structure if self._is_transaction_structure(data): return SignatureType.ETH_SEND_TRANSACTION - # 检查个人消息结构 + # Check personal message structure if self._is_personal_message_structure(data): return SignatureType.PERSONAL_SIGN return SignatureType.UNKNOWN def _classify_string_data(self, data: str) -> SignatureType: - """分类字符串格式数据""" + """Classify string format data""" if not data: return SignatureType.UNKNOWN - # 检查十六进制数据 + # Check hexadecimal data if data.startswith("0x"): return self._classify_hex_data(data) - # 检查纯文本消息 + # Check plain text message if self._is_readable_text(data): return SignatureType.PERSONAL_SIGN return SignatureType.UNKNOWN def _is_eip712_structure(self, data: Dict[str, Any]) -> bool: - """检查是否为EIP-712结构""" + """Check if it's an EIP-712 structure""" - # 检查必需字段 + # Check required fields if not self.eip712_required_fields.issubset(data.keys()): return False - # 验证类型字段 + # Validate types field types = data.get("types") if not isinstance(types, dict) or "EIP712Domain" not in types: return False - # 验证域字段 + # Validate domain field domain = data.get("domain") if not isinstance(domain, dict): return False - # 验证主类型 + # Validate primary type primary_type = data.get("primaryType") if not isinstance(primary_type, str) or primary_type not in types: return False - # 验证消息 + # Validate message message = data.get("message") if not isinstance(message, dict): return False @@ -195,13 +195,13 @@ def _is_eip712_structure(self, data: Dict[str, Any]) -> bool: return True def _is_transaction_structure(self, data: Dict[str, Any]) -> bool: - """检查是否为交易结构""" + """Check if it's a transaction structure""" - # 必须包含 'to' 字段,这是交易的基本要求 + # Must include 'to' field, which is a basic requirement for transactions if "to" not in data: return False - # 检查交易相关字段的数量 + # Check number of transaction-related fields transaction_field_count = 0 all_transaction_fields = self.transaction_fields["required"] | self.transaction_fields["optional"] @@ -209,17 +209,17 @@ def _is_transaction_structure(self, data: Dict[str, Any]) -> bool: if field in data: transaction_field_count += 1 - # 如果包含足够多的交易字段,认为是交易 + # If contains enough transaction fields, consider it a transaction return transaction_field_count >= 2 def _is_personal_message_structure(self, data: Dict[str, Any]) -> bool: - """检查是否为个人消息结构""" + """Check if it's a personal message structure""" - # 检查消息字段 + # Check message field if "message" in data and isinstance(data["message"], str): return True - # 检查其他可能的消息字段 + # Check other possible message fields message_fields = ["text", "content", "msg", "data"] for field in message_fields: if field in data and isinstance(data[field], str): @@ -228,24 +228,24 @@ def _is_personal_message_structure(self, data: Dict[str, Any]) -> bool: return False def _classify_hex_data(self, data: str) -> SignatureType: - """分类十六进制数据""" + """Classify hexadecimal data""" - # 检查地址格式 + # Check address format if self.hex_patterns["address"].match(data): return SignatureType.PERSONAL_SIGN - # 检查哈希格式 + # Check hash format if self.hex_patterns["hash"].match(data): return SignatureType.ETH_SIGN - # 检查签名格式 + # Check signature format if self.hex_patterns["signature"].match(data): return SignatureType.ETH_SIGN - # 其他十六进制数据 + # Other hexadecimal data if self.hex_patterns["hex_data"].match(data): - hex_length = len(data) - 2 # 减去 '0x' - if hex_length > 128: # 长数据可能是原始签名 + hex_length = len(data) - 2 # Subtract '0x' + if hex_length > 128: # Long data might be raw signature return SignatureType.ETH_SIGN else: return SignatureType.PERSONAL_SIGN @@ -253,26 +253,26 @@ def _classify_hex_data(self, data: str) -> SignatureType: return SignatureType.UNKNOWN def _is_readable_text(self, text: str) -> bool: - """检查是否为可读文本""" + """Check if it's readable text""" try: - # 检查UTF-8编码 + # Check UTF-8 encoding text.encode('utf-8') - # 检查是否包含过多控制字符 + # Check if contains too many control characters control_chars = sum(1 for c in text if ord(c) < 32 and c not in '\t\n\r') control_ratio = control_chars / len(text) if text else 0 - # 如果控制字符比例过高,认为不是可读文本 + # If control character ratio is too high, consider it not readable text return control_ratio < 0.1 except UnicodeEncodeError: return False def _calculate_confidence(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType, data_format: str) -> float: - """计算分类置信度""" + """Calculate classification confidence""" - confidence = 0.5 # 基础置信度 + confidence = 0.5 # Base confidence if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: if isinstance(data, dict) and self._is_eip712_structure(data): @@ -298,62 +298,62 @@ def _calculate_confidence(self, data: Union[str, Dict[str, Any]], signature_type return confidence def _detect_warnings(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> List[str]: - """检测警告信息""" + """Detect warning messages""" warnings = [] - # 高风险签名类型警告 + # High-risk signature type warnings if signature_type == SignatureType.ETH_SIGN: - warnings.append("⚠️ eth_sign 方法存在极高安全风险,已被多数钱包禁用") + warnings.append("⚠️ eth_sign method has extremely high security risks and has been disabled by most wallets") - # 检查数据中的风险关键词 + # Check risk keywords in data data_text = str(data).lower() for keyword in self.risk_keywords["phishing"]: if keyword in data_text: - warnings.append(f"⚠️ 检测到钓鱼相关关键词: '{keyword}'") + warnings.append(f"⚠️ Detected phishing-related keyword: '{keyword}'") - # EIP-712特定警告 + # EIP-712 specific warnings if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4 and isinstance(data, dict): - # 检查过期时间 + # Check expiration time message = data.get("message", {}) if isinstance(message, dict): - # 检查常见的时间字段 + # Check common time fields time_fields = ["endTime", "deadline", "expiry", "validUntil"] for field in time_fields: if field in message: - warnings.append(f"⚠️ 签名包含时效性限制,请注意 {field} 字段") + warnings.append(f"⚠️ Signature contains time limit, please note {field} field") return warnings def _detect_patterns(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> List[str]: - """检测数据模式""" + """Detect data patterns""" patterns = [] if isinstance(data, dict): - patterns.append(f"结构化数据,包含 {len(data)} 个字段") + patterns.append(f"Structured data, contains {len(data)} fields") if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: primary_type = data.get("primaryType") if primary_type: - patterns.append(f"EIP-712 主类型: {primary_type}") + patterns.append(f"EIP-712 primary type: {primary_type}") domain = data.get("domain", {}) if isinstance(domain, dict) and "name" in domain: - patterns.append(f"协议名称: {domain['name']}") + patterns.append(f"Protocol name: {domain['name']}") elif isinstance(data, str): if data.startswith("0x"): hex_length = len(data) - 2 - patterns.append(f"十六进制数据,长度: {hex_length} 字符") + patterns.append(f"Hexadecimal data, length: {hex_length} characters") else: - patterns.append(f"文本消息,长度: {len(data)} 字符") + patterns.append(f"Text message, length: {len(data)} characters") return patterns def get_supported_types(self) -> List[SignatureType]: - """获取支持的签名类型列表""" + """Get list of supported signature types""" return [ SignatureType.ETH_SEND_TRANSACTION, SignatureType.PERSONAL_SIGN, @@ -362,5 +362,5 @@ def get_supported_types(self) -> List[SignatureType]: ] def batch_classify(self, data_list: List[Union[str, Dict[str, Any]]]) -> List[ClassificationResult]: - """批量分类签名数据""" + """Batch classify signature data""" return [self.classify(data) for data in data_list] \ No newline at end of file diff --git a/signature_classification/signature_types.py b/signature_classification/signature_types.py index dda05ae..9ff34eb 100644 --- a/signature_classification/signature_types.py +++ b/signature_classification/signature_types.py @@ -1,5 +1,5 @@ """ -签名类型定义和分类枚举 +Signature type definitions and classification enumerations """ from enum import Enum @@ -8,88 +8,88 @@ class SignatureType(str, Enum): - """签名类型枚举 - 主流签名方法""" + """Signature type enumeration - mainstream signature methods""" - # 链上交易 - 最常见的签名类型 + # On-chain transaction - most common signature type ETH_SEND_TRANSACTION = "eth_sendTransaction" - # 链下文本授权 - 常被钓鱼攻击利用 + # Off-chain text authorization - often exploited by phishing attacks PERSONAL_SIGN = "personal_sign" - # EIP-712结构化链下授权 - 现代DApp常用 + # EIP-712 structured off-chain authorization - commonly used by modern DApps ETH_SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4" - # 原始签名 - 已被多数钱包禁用,但仍存在风险 + # Raw signature - disabled by most wallets, but still poses risks ETH_SIGN = "eth_sign" - # 未知类型 + # Unknown type UNKNOWN = "unknown" class SignatureCategory(str, Enum): - """签名分类 - 按用途分类""" + """Signature category - classified by purpose""" - # 资产转移类 + # Asset transfer category ASSET_TRANSFER = "asset_transfer" - # 授权许可类 + # Authorization category AUTHORIZATION = "authorization" - # 身份验证类 + # Authentication category AUTHENTICATION = "authentication" - # 交易执行类 + # Transaction execution category TRANSACTION_EXECUTION = "transaction_execution" - # 未分类 + # Uncategorized UNCATEGORIZED = "uncategorized" class SecurityLevel(str, Enum): - """安全级别 - 按风险程度分级""" + """Security level - classified by risk degree""" - # 高危险 - 可能导致资产损失 + # High risk - may cause asset loss HIGH_RISK = "high_risk" - # 中等风险 - 需要用户谨慎确认 + # Medium risk - requires user careful confirmation MEDIUM_RISK = "medium_risk" - # 低风险 - 相对安全的操作 + # Low risk - relatively safe operations LOW_RISK = "low_risk" - # 极低风险 - 几乎无风险 + # Minimal risk - almost no risk MINIMAL_RISK = "minimal_risk" @dataclass class SignatureMetadata: - """签名元数据""" + """Signature metadata""" signature_type: SignatureType category: SignatureCategory security_level: SecurityLevel description: str common_use_cases: List[str] risk_factors: List[str] - wallet_support: Dict[str, bool] # 钱包支持情况 + wallet_support: Dict[str, bool] # Wallet support status -# 签名类型映射配置 +# Signature type mapping configuration SIGNATURE_TYPE_CONFIG: Dict[SignatureType, SignatureMetadata] = { SignatureType.ETH_SEND_TRANSACTION: SignatureMetadata( signature_type=SignatureType.ETH_SEND_TRANSACTION, category=SignatureCategory.TRANSACTION_EXECUTION, security_level=SecurityLevel.HIGH_RISK, - description="链上交易签名,直接修改区块链状态", + description="On-chain transaction signature, directly modifies blockchain state", common_use_cases=[ - "代币转账", - "智能合约调用", - "NFT交易", - "DeFi操作" + "Token transfer", + "Smart contract call", + "NFT transaction", + "DeFi operations" ], risk_factors=[ - "直接消耗Gas费用", - "不可逆转的资产转移", - "可能触发复杂的合约逻辑" + "Directly consumes gas fees", + "Irreversible asset transfer", + "May trigger complex contract logic" ], wallet_support={ "MetaMask": True, @@ -103,17 +103,17 @@ class SignatureMetadata: signature_type=SignatureType.PERSONAL_SIGN, category=SignatureCategory.AUTHENTICATION, security_level=SecurityLevel.MEDIUM_RISK, - description="个人消息签名,常用于身份验证和授权", + description="Personal message signature, commonly used for authentication and authorization", common_use_cases=[ - "登录验证", - "消息确认", - "身份证明", - "免费授权" + "Login verification", + "Message confirmation", + "Identity proof", + "Free authorization" ], risk_factors=[ - "钓鱼网站利用频繁", - "用户难以理解消息内容", - "可能被误用于权限提升" + "Frequently exploited by phishing sites", + "Users find it difficult to understand message content", + "May be misused for privilege escalation" ], wallet_support={ "MetaMask": True, @@ -127,17 +127,17 @@ class SignatureMetadata: signature_type=SignatureType.ETH_SIGN_TYPED_DATA_V4, category=SignatureCategory.AUTHORIZATION, security_level=SecurityLevel.MEDIUM_RISK, - description="EIP-712结构化数据签名,提供更好的可读性和安全性", + description="EIP-712 structured data signature, provides better readability and security", common_use_cases=[ - "NFT市场订单", - "DeFi协议授权", - "多签钱包操作", - "跨链桥授权" + "NFT marketplace orders", + "DeFi protocol authorization", + "Multi-sig wallet operations", + "Cross-chain bridge authorization" ], risk_factors=[ - "复杂的数据结构难以理解", - "可能包含隐藏的授权条款", - "时间敏感的签名可能被抢跑" + "Complex data structures are difficult to understand", + "May contain hidden authorization terms", + "Time-sensitive signatures may be front-run" ], wallet_support={ "MetaMask": True, @@ -151,18 +151,18 @@ class SignatureMetadata: signature_type=SignatureType.ETH_SIGN, category=SignatureCategory.UNCATEGORIZED, security_level=SecurityLevel.HIGH_RISK, - description="原始签名方法,已被多数钱包禁用", + description="Raw signature method, disabled by most wallets", common_use_cases=[ - "旧版DApp兼容", - "底层签名操作" + "Legacy DApp compatibility", + "Low-level signature operations" ], risk_factors=[ - "极易被恶意利用", - "无法提供签名内容预览", - "可能签署任意数据" + "Highly vulnerable to malicious exploitation", + "Cannot provide signature content preview", + "May sign arbitrary data" ], wallet_support={ - "MetaMask": False, # 已禁用 + "MetaMask": False, # Disabled "Trust Wallet": False, "Coinbase Wallet": False, "WalletConnect": False @@ -172,13 +172,13 @@ class SignatureMetadata: def get_signature_metadata(signature_type: SignatureType) -> SignatureMetadata: - """获取签名类型的元数据""" + """Get signature type metadata""" return SIGNATURE_TYPE_CONFIG.get(signature_type, SignatureMetadata( signature_type=SignatureType.UNKNOWN, category=SignatureCategory.UNCATEGORIZED, security_level=SecurityLevel.HIGH_RISK, - description="未知签名类型", + description="Unknown signature type", common_use_cases=[], - risk_factors=["未知风险"], + risk_factors=["Unknown risks"], wallet_support={} )) \ No newline at end of file diff --git a/signature_classification/signature_validator.py b/signature_classification/signature_validator.py index bd093a8..5253776 100644 --- a/signature_classification/signature_validator.py +++ b/signature_classification/signature_validator.py @@ -1,5 +1,5 @@ """ -签名验证器 - 验证签名数据格式和有效性 +Signature Validator - Validates signature data format and validity """ import re @@ -11,7 +11,7 @@ @dataclass class ValidationResult: - """验证结果""" + """Validation result""" is_valid: bool errors: List[str] warnings: List[str] @@ -19,51 +19,51 @@ class ValidationResult: class SignatureValidator: - """签名验证器""" + """Signature validator""" def __init__(self): - """初始化验证器""" + """Initialize validator""" self._init_validation_rules() def _init_validation_rules(self): - """初始化验证规则""" + """Initialize validation rules""" - # 地址验证正则 + # Address validation regex self.address_pattern = re.compile(r'^0x[a-fA-F0-9]{40}$') - # 哈希验证正则 + # Hash validation regex self.hash_pattern = re.compile(r'^0x[a-fA-F0-9]{64}$') - # 十六进制数据验证 + # Hexadecimal data validation self.hex_pattern = re.compile(r'^0x[a-fA-F0-9]*$') - # EIP-712 必需字段 + # EIP-712 required fields self.eip712_required_fields = {"types", "domain", "primaryType", "message"} - # 交易必需字段 + # Transaction required fields self.transaction_required_fields = {"to"} self.transaction_optional_fields = {"from", "value", "data", "gas", "gasPrice", "nonce"} def validate(self, data: Union[str, Dict[str, Any]], signature_type: SignatureType) -> ValidationResult: """ - 验证签名数据 + Validate signature data Args: - data: 签名数据 - signature_type: 签名类型 + data: Signature data + signature_type: Signature type Returns: - 验证结果 + Validation result """ errors = [] warnings = [] metadata = {} - # 基础数据验证 + # Basic data validation base_errors = self._validate_base_data(data) errors.extend(base_errors) - # 根据签名类型进行专门验证 + # Type-specific validation based on signature type if signature_type == SignatureType.ETH_SIGN_TYPED_DATA_V4: type_errors, type_warnings, type_metadata = self._validate_eip712(data) elif signature_type == SignatureType.ETH_SEND_TRANSACTION: @@ -87,101 +87,101 @@ def validate(self, data: Union[str, Dict[str, Any]], signature_type: SignatureTy ) def _validate_base_data(self, data: Union[str, Dict[str, Any]]) -> List[str]: - """基础数据验证""" + """Basic data validation""" errors = [] if data is None: - errors.append("数据不能为空") + errors.append("Data cannot be empty") return errors if isinstance(data, str): if not data.strip(): - errors.append("字符串数据不能为空") + errors.append("String data cannot be empty") elif isinstance(data, dict): if not data: - errors.append("字典数据不能为空") + errors.append("Dictionary data cannot be empty") return errors def _validate_eip712(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: - """验证EIP-712数据""" + """Validate EIP-712 data""" errors = [] warnings = [] metadata = {} if not isinstance(data, dict): - errors.append("EIP-712数据必须是字典格式") + errors.append("EIP-712 data must be in dictionary format") return errors, warnings, metadata - # 检查必需字段 + # Check required fields missing_fields = self.eip712_required_fields - set(data.keys()) if missing_fields: - errors.append(f"缺少必需字段: {', '.join(missing_fields)}") + errors.append(f"Missing required fields: {', '.join(missing_fields)}") - # 验证types字段 + # Validate types field if "types" in data: types_errors = self._validate_eip712_types(data["types"]) errors.extend(types_errors) - # 验证domain字段 + # Validate domain field if "domain" in data: domain_errors, domain_metadata = self._validate_eip712_domain(data["domain"]) errors.extend(domain_errors) metadata.update(domain_metadata) - # 验证primaryType字段 + # Validate primaryType field if "primaryType" in data and "types" in data: primary_type = data["primaryType"] if not isinstance(primary_type, str): - errors.append("primaryType必须是字符串") + errors.append("primaryType must be a string") elif primary_type not in data["types"]: - errors.append(f"primaryType '{primary_type}' 不在types定义中") + errors.append(f"primaryType '{primary_type}' is not in types definition") - # 验证message字段 + # Validate message field if "message" in data: if not isinstance(data["message"], dict): - errors.append("message字段必须是字典") + errors.append("message field must be a dictionary") return errors, warnings, metadata def _validate_eip712_types(self, types: Any) -> List[str]: - """验证EIP-712 types字段""" + """Validate EIP-712 types field""" errors = [] if not isinstance(types, dict): - errors.append("types字段必须是字典") + errors.append("types field must be a dictionary") return errors - # 检查EIP712Domain类型 + # Check EIP712Domain type if "EIP712Domain" not in types: - errors.append("types中必须包含EIP712Domain定义") + errors.append("types must include EIP712Domain definition") - # 验证类型定义格式 + # Validate type definition format for type_name, type_def in types.items(): if not isinstance(type_def, list): - errors.append(f"类型定义 '{type_name}' 必须是数组") + errors.append(f"Type definition '{type_name}' must be an array") continue for field in type_def: if not isinstance(field, dict): - errors.append(f"类型 '{type_name}' 的字段定义必须是字典") + errors.append(f"Field definition in type '{type_name}' must be a dictionary") continue if "name" not in field or "type" not in field: - errors.append(f"类型 '{type_name}' 的字段必须包含name和type") + errors.append(f"Fields in type '{type_name}' must include name and type") return errors def _validate_eip712_domain(self, domain: Any) -> tuple[List[str], Dict[str, Any]]: - """验证EIP-712 domain字段""" + """Validate EIP-712 domain field""" errors = [] metadata = {} if not isinstance(domain, dict): - errors.append("domain字段必须是字典") + errors.append("domain field must be a dictionary") return errors, metadata - # 验证常见域字段 + # Validate common domain fields if "name" in domain: metadata["protocol_name"] = domain["name"] @@ -199,50 +199,50 @@ def _validate_eip712_domain(self, domain: Any) -> tuple[List[str], Dict[str, Any contract = domain["verifyingContract"] if isinstance(contract, str): if not self.address_pattern.match(contract): - errors.append("verifyingContract必须是有效的以太坊地址") + errors.append("verifyingContract must be a valid Ethereum address") else: metadata["contract_address"] = contract return errors, metadata def _validate_transaction(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: - """验证交易数据""" + """Validate transaction data""" errors = [] warnings = [] metadata = {} if not isinstance(data, dict): - errors.append("交易数据必须是字典格式") + errors.append("Transaction data must be in dictionary format") return errors, warnings, metadata - # 检查必需字段 + # Check required fields if "to" not in data: - errors.append("交易必须包含'to'字段") + errors.append("Transaction must include 'to' field") else: to_address = data["to"] if to_address is not None and not self.address_pattern.match(str(to_address)): - errors.append("'to'字段必须是有效的以太坊地址或null") + errors.append("'to' field must be a valid Ethereum address or null") - # 验证可选字段 + # Validate optional fields if "from" in data: from_address = data["from"] if not self.address_pattern.match(str(from_address)): - errors.append("'from'字段必须是有效的以太坊地址") + errors.append("'from' field must be a valid Ethereum address") if "value" in data: value = data["value"] if isinstance(value, str): if not (value.startswith("0x") and self.hex_pattern.match(value)): if not value.isdigit(): - errors.append("'value'字段必须是十六进制字符串或数字") + errors.append("'value' field must be a hexadecimal string or number") if "data" in data: tx_data = data["data"] if isinstance(tx_data, str) and tx_data != "0x": if not self.hex_pattern.match(tx_data): - errors.append("'data'字段必须是有效的十六进制数据") + errors.append("'data' field must be valid hexadecimal data") - # 验证Gas相关字段 + # Validate gas-related fields gas_fields = ["gas", "gasLimit", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas"] for field in gas_fields: if field in data: @@ -250,25 +250,25 @@ def _validate_transaction(self, data: Union[str, Dict[str, Any]]) -> tuple[List[ if isinstance(gas_value, str): if not (gas_value.startswith("0x") and self.hex_pattern.match(gas_value)): if not gas_value.isdigit(): - errors.append(f"'{field}'字段必须是十六进制字符串或数字") + errors.append(f"'{field}' field must be a hexadecimal string or number") return errors, warnings, metadata def _validate_personal_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: - """验证个人签名数据""" + """Validate personal sign data""" errors = [] warnings = [] metadata = {} if isinstance(data, str): - # 验证字符串消息 + # Validate string message if len(data) > 10000: # 10KB limit - warnings.append("消息长度过长,可能影响用户体验") + warnings.append("Message length is too long, may affect user experience") - # 检查是否包含十六进制数据 + # Check if contains hexadecimal data if data.startswith("0x"): if not self.hex_pattern.match(data): - errors.append("十六进制数据格式无效") + errors.append("Invalid hexadecimal data format") else: metadata["data_type"] = "hex" metadata["hex_length"] = len(data) - 2 @@ -277,28 +277,28 @@ def _validate_personal_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[Lis metadata["text_length"] = len(data) elif isinstance(data, dict): - # 验证字典格式的个人消息 + # Validate dictionary format personal message if "message" not in data: - warnings.append("字典格式的个人消息通常应包含'message'字段") + warnings.append("Dictionary format personal messages should usually include 'message' field") return errors, warnings, metadata def _validate_eth_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str], List[str], Dict[str, Any]]: - """验证eth_sign数据""" + """Validate eth_sign data""" errors = [] - warnings = ["eth_sign方法存在安全风险,建议避免使用"] + warnings = ["eth_sign method has security risks, recommend avoiding use"] metadata = {} if isinstance(data, str): if not data.startswith("0x"): - errors.append("eth_sign数据必须是十六进制格式") + errors.append("eth_sign data must be in hexadecimal format") elif not self.hex_pattern.match(data): - errors.append("十六进制数据格式无效") + errors.append("Invalid hexadecimal data format") else: hex_length = len(data) - 2 metadata["hex_length"] = hex_length - # 根据长度判断数据类型 + # Determine data type based on length if hex_length == 64: # 32 bytes hash metadata["data_type"] = "hash" elif hex_length == 130: # 65 bytes signature @@ -309,19 +309,19 @@ def _validate_eth_sign(self, data: Union[str, Dict[str, Any]]) -> tuple[List[str return errors, warnings, metadata def validate_address(self, address: str) -> bool: - """验证以太坊地址格式""" + """Validate Ethereum address format""" if not isinstance(address, str): return False return bool(self.address_pattern.match(address)) def validate_hash(self, hash_value: str) -> bool: - """验证哈希格式""" + """Validate hash format""" if not isinstance(hash_value, str): return False return bool(self.hash_pattern.match(hash_value)) def validate_hex_data(self, hex_data: str) -> bool: - """验证十六进制数据格式""" + """Validate hexadecimal data format""" if not isinstance(hex_data, str): return False return bool(self.hex_pattern.match(hex_data)) \ No newline at end of file diff --git a/signature_classification/tools/signature_tester.py b/signature_classification/tools/signature_tester.py index 2d25faa..747a156 100644 --- a/signature_classification/tools/signature_tester.py +++ b/signature_classification/tools/signature_tester.py @@ -1,16 +1,16 @@ #!/usr/bin/env python3 """ -以太坊签名分类器测试工具 +Ethereum Signature Classifier Test Tool -使用方法: - python signature_tester.py # 批量测试所有样本 - python signature_tester.py 2 # 测试第2个样本 - python signature_tester.py 1 # 测试第1个样本 +Usage: + python signature_tester.py # Batch test all samples + python signature_tester.py 2 # Test sample #2 + python signature_tester.py 1 # Test sample #1 -功能: -- 自动加载 test_samples.json 中的测试数据 -- 支持批量测试(默认)和单独测试(通过索引) -- 验证数据完整性和签名类型分类 +Features: +- Automatically load test data from test_samples.json +- Support batch testing (default) and individual testing (by index) +- Verify data integrity and signature type classification """ import json @@ -18,7 +18,7 @@ import os from typing import Dict, Any, Union, Optional -# 添加父目录到路径以导入模块 +# Add parent directory to path to import modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from signature_classification import ( @@ -29,10 +29,10 @@ class SignatureTester: - """签名测试器""" + """Signature tester""" def __init__(self): - """初始化测试器""" + """Initialize tester""" self.classifier = SignatureClassifier() self.validator = SignatureValidator() self.risk_analyzer = RiskAnalyzer() From 875b13731ccb10a94d0c5b42657142803f2d756b Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:43:20 +0800 Subject: [PATCH 7/8] Delete eip712_parser/examples/README.md --- eip712_parser/examples/README.md | 125 ------------------------------- 1 file changed, 125 deletions(-) delete mode 100644 eip712_parser/examples/README.md diff --git a/eip712_parser/examples/README.md b/eip712_parser/examples/README.md deleted file mode 100644 index ff765df..0000000 --- a/eip712_parser/examples/README.md +++ /dev/null @@ -1,125 +0,0 @@ -# EIP712 Parser Examples - -这是 `eip712_parser` 模块的示例文件夹,包含各种EIP712签名解析和分析的演示程序。 - -## 文件说明 - -### `basic_usage.py` -基本使用示例,展示如何解析Seaport NFT列表消息和执行安全检查。 - -**功能特性:** -- EIP712消息解析 -- NFT订单信息提取 -- 价格分析 -- 安全检查 - -**使用方法:** -```bash -python basic_usage.py -``` - -### `advanced_analysis.py` -高级分析示例,提供详细的EIP712签名分析和模块化参数拆解。 - -**功能特性:** -- 完整的EIP712结构分析 -- NFT和Permit消息详细解析 -- 安全风险评估 -- 余额变化分析 - -**使用方法:** -```bash -python advanced_analysis.py -``` - -### `signature_detection_demo.py` -签名识别演示,展示如何使用签名识别器和通用解析器。 - -**功能特性:** -- 多种签名类型识别 -- 批量签名检测 -- 通用解析器使用 -- 安全警告检测 - -**测试的签名类型:** -- EIP-712 结构化数据签名 -- eth_sendTransaction 交易签名 -- personal_sign 个人消息签名 -- eth_sign 原始签名(高风险) - -**使用方法:** -```bash -python signature_detection_demo.py -``` - -### `signature_classification_demo.py` -签名分类演示,展示模块化签名识别与分级系统。 - -**功能特性:** -- 签名类型分类 -- 风险级别评估 -- 数据格式验证 -- 批量处理功能 - -**使用方法:** -```bash -python signature_classification_demo.py -``` - -### `quick_start.py` -快速开始示例,简单演示签名分类器的基本功能。 - -**功能特性:** -- 基础签名分类 -- 风险评估 -- 安全建议 -- 适合初学者 - -**使用方法:** -```bash -python quick_start.py -``` - -## 示例覆盖范围 - -### 支持的协议 -- ✅ **Seaport** - NFT市场订单 -- ✅ **OpenSea** - NFT交易 -- ✅ **Permit/Permit2** - 代币授权 -- ✅ **Custom EIP712** - 自定义结构化数据 - -### 支持的签名类型 -- ✅ **eth_signTypedData_v4** - EIP712结构化签名 -- ✅ **eth_sendTransaction** - 以太坊交易 -- ✅ **personal_sign** - 个人消息签名 -- ✅ **eth_sign** - 原始签名(高风险) - -### 安全分析功能 -- ✅ 价格分析和风险评估 -- ✅ 余额变化检测 -- ✅ 敏感词检测 -- ✅ 钓鱼网站识别 -- ✅ 授权风险评估 - -## 运行要求 - -确保已安装项目依赖: -```bash -pip install -r ../../../requirements.txt -``` - -在项目根目录下运行示例: -```bash -cd eip712_parser/examples -python basic_usage.py -python advanced_analysis.py -python signature_detection_demo.py -python signature_classification_demo.py -python quick_start.py -``` - -## 注意事项 - -- 所有示例都包含了路径修复代码,可以直接在examples目录下运行 -- 示例数据仅用于演示,不包含真实的私钥或敏感信息 -- 建议按顺序学习:`quick_start.py` → `basic_usage.py` → `advanced_analysis.py` → 其他示例 \ No newline at end of file From 7175a78eb5c3f789d55bf0b625f261e067e580e5 Mon Sep 17 00:00:00 2001 From: qCanoe <104544736+qCanoe@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:43:35 +0800 Subject: [PATCH 8/8] Delete personal_sign_parser/README.md --- personal_sign_parser/README.md | 183 --------------------------------- 1 file changed, 183 deletions(-) delete mode 100644 personal_sign_parser/README.md diff --git a/personal_sign_parser/README.md b/personal_sign_parser/README.md deleted file mode 100644 index ab641f5..0000000 --- a/personal_sign_parser/README.md +++ /dev/null @@ -1,183 +0,0 @@ -# PersonalSign 解析器 - -PersonalSign 解析器是一个用于解析和分析 `personal_sign` 签名消息的 Python 模块,具备参数提取和模板识别功能。 - -## 功能特性 - -✨ **模板识别** -- 自动识别消息类型:登录、绑定、授权、验证 -- 基于关键词和模式匹配的智能分析 -- 支持置信度评估 - -🔍 **参数提取** -- 智能提取结构化参数(域名、随机数、时间戳等) -- 支持多种消息格式:JSON、键值对、查询字符串 -- 自动解码 Hex 编码消息 - -🛡️ **安全分析** -- 检测高风险操作和敏感关键词 -- 提供安全警告和风险级别评估 -- 识别可疑消息模式 - -🌐 **多语言支持** -- 支持中文、英文、日文、韩文 -- 自动语言检测 - -## 快速开始 - -### 基本使用 - -```python -from personal_sign_parser import PersonalSignParser - -# 创建解析器实例 -parser = PersonalSignParser() - -# 解析消息 -message = """Sign in to example.com -Nonce: abc123 -Timestamp: 1640995200""" - -result = parser.parse(message) - -# 查看结果 -print(f"模板类型: {result.template_info.template_type.value}") -print(f"置信度: {result.template_info.confidence:.1%}") -print(f"域名: {result.extracted_parameters.domain}") -print(f"随机数: {result.extracted_parameters.nonce}") -``` - -### 支持的消息类型 - -#### 1. 登录消息 -```python -# 文本格式 -message = """Sign in to example.com -Nonce: abc123 -Timestamp: 1640995200""" - -# JSON 格式 -message = '{"domain":"app.example.com","nonce":"xyz789","action":"login"}' -``` - -#### 2. 绑定消息 -```python -# 邮箱绑定 -message = """Bind email: user@example.com -Code: 123456""" - -# 手机绑定 -message = """绑定手机号码: +1234567890 -验证码: 456789""" -``` - -#### 3. 授权消息 -```python -message = """Authorize access to: user profile -Permissions: read, write -Resource: /api/user""" -``` - -#### 4. 验证消息 -```python -message = """Verify ownership of this wallet -Challenge: random_challenge_123 -Address: 0x1234567890123456789012345678901234567890""" -``` - -### 解析结果 - -解析器返回 `PersonalSignMessage` 对象,包含以下信息: - -```python -result = parser.parse(message) - -# 基本信息 -print(result.raw_message) # 原始消息 -print(result.message_length) # 消息长度 -print(result.language) # 语言 -print(result.is_hex) # 是否为Hex编码 - -# 模板信息 -print(result.template_info.template_type) # 模板类型 -print(result.template_info.confidence) # 置信度 -print(result.template_info.description) # 描述 -print(result.template_info.security_level) # 安全级别 - -# 提取的参数 -params = result.extracted_parameters -print(params.domain) # 域名 -print(params.nonce) # 随机数 -print(params.timestamp) # 时间戳 -print(params.address) # 地址 -print(params.session_id) # 会话ID -# ... 更多参数 - -# 安全分析 -print(result.risk_level) # 风险级别 -print(result.security_warnings) # 安全警告 - -# 消息特征 -print(result.contains_urls) # 是否包含URL -print(result.contains_addresses) # 是否包含地址 -print(result.contains_emails) # 是否包含邮箱 -``` - -## 模板类型 - -- `LOGIN`: 登录验证消息 -- `BINDING`: 账户绑定验证消息 -- `AUTHORIZATION`: 权限授权确认消息 -- `VERIFICATION`: 身份验证确认消息 -- `CUSTOM_MESSAGE`: 自定义消息 -- `UNKNOWN`: 未知类型消息 - -## 安全级别 - -- `low`: 低风险 -- `medium`: 中等风险 -- `high`: 高风险 - -## 运行演示 - -运行内置演示查看完整功能: - -```bash -cd personal_sign_parser/tests -python demo.py -``` - -## 测试 - -运行测试文件: - -```bash -cd personal_sign_parser/tests -python test_parser.py -``` - -## 项目结构 - -``` -personal_sign_parser/ -├── __init__.py # 模块初始化 -├── types.py # 类型定义 -├── parser.py # 主解析器 -├── parameter_extractor.py # 参数提取器 -├── template_detector.py # 模板识别器 -├── tests/ # 测试文件夹 -│ ├── __init__.py -│ ├── test_data.py # 测试数据 -│ ├── test_parser.py # 解析器测试 -│ └── demo.py # 功能演示 -└── README.md # 说明文档 -``` - -## 版本信息 - -- 版本: 0.1.0 -- Python 要求: 3.7+ - -## 许可证 - -MIT License \ No newline at end of file