Tech/EIPs/#7751
ERC 7751카테고리 · ERC유형 · 표준 트랙상태 · 최종

Wrapping of bubbled up reverts

EIP-7751은 스마트 컨트랙트에서 버블업되는(bubbled up) revert를 표준화된 방식으로 래핑하는 메커니즘을 정의합니다. 중첩된 호출에서 발생한 revert의 원인을 명확하게 추적하고 전달할 수 있게 합니다.

현재 문제

현재 컨트랙트 호출 중 내부 호출에서 revert가 발생하면, 이 오류는 단순히 버블업되거나 상위 컨트랙트에서 재작성됩니다. 이로 인해 원래의 오류 컨텍스트가 손실되어 디버깅이 어렵습니다. 사용자와 개발자는 실패의 실제 원인을 파악하기 어렵습니다.

래핑 메커니즘

원본 revert 데이터를 포함하는 표준 WrappedError 오류 타입을 정의합니다. 각 호출 수준에서 래핑이 추가되어 전체 호출 스택에서의 오류 경로를 재구성할 수 있습니다. 표준 래퍼 구조는 ABI 인코딩을 사용하여 도구 호환성을 보장합니다.

개발자 경험 향상

revert 래핑 표준은 디버깅 도구가 중첩된 오류를 자동으로 파싱하고 시각화하는 것을 가능하게 합니다. 트랜잭션 시뮬레이터와 블록 탐색기는 이 표준을 활용하여 더 명확한 오류 메시지를 제공할 수 있습니다. 오류 처리 코드의 표준화로 스마트 컨트랙트 개발 품질이 향상됩니다.

채택 및 하위 호환성

기존 컨트랙트와의 하위 호환성을 유지하며, 새로운 컨트랙트만 래핑 패턴을 구현하면 됩니다. 주요 스마트 컨트랙트 라이브러리와 프레임워크에서 채택을 권장하여 생태계 전반의 일관성을 높입니다.

보안 함의

오류 정보의 표준화는 보안 분석 도구가 revert 패턴을 더 효과적으로 분석하게 합니다. 민감한 내부 정보가 오류 메시지를 통해 노출되지 않도록 하는 가이드라인도 포함됩니다.

공식 ERC 문서open_in_new