feat(compliance): Manifest 기반 범용 Element 파라미터 지원 - #98
Closed
0xMuang wants to merge 2 commits into
Closed
Conversation
Collaborator
Author
종료 결정현재 PR은 방향 자체는 유지하지만, 변경 범위가 너무 넓고 아래 안전성 문제가 한 PR에 섞여 있어 병합하지 않고 종료합니다.
원격 브랜치 후속 작업은 다음 두 PR로 분리합니다.
정책 방향은 “모든 설정을 Manifest로 이동”이 아니라, 자산별로 달라지고 정책 판정 의미에 영향을 주는 값만 Manifest가 소유하는 것으로 제한합니다. |
Collaborator
Author
|
위 분리 계획에 따라 이 PR은 병합하지 않고 닫습니다. 원격 브랜치는 삭제하지 않습니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
작업 배경
기존 BUIDL-like 데모는
5,000,000 ether최소금액을 BUIDL 전용 Element와 Recipe 코드에 직접 포함하고 있었습니다. 이 구조에서는 같은 최소금액 규칙을 다른 자산에 재사용하기 어렵고, 금액을 변경하려면 새 컨트랙트 버전을 배포해야 합니다.이번 PR은 규칙 로직은 범용 Element가 담당하고, 자산별 값은 Manifest가 소유하도록 분리합니다. 관련 설계 논의는 #90, #97을 참고했습니다.
ADR-010(#90) 대비 적용 범위
이 PR은 ADR-010의 모든 질문과 제안을 확정하거나 구현하지 않습니다. BUIDL-like 최소금액이라는 한 개의 자산별 값을 Manifest compiled plan으로 이관하는 한정된 범위입니다.
bytes), Q4의 parameter commitment 부분Jurisdiction.allowedJurisdiction등 다른 자산별 Element 설정 이관check인터페이스에elementId추가따라서 #90/#97의 나머지 거버넌스·운영 질문은 별도 최종 ADR에서 닫아야 합니다.
주요 변경
1. Manifest 기반 Element 파라미터
ElementParameter { elementId, value }타입 추가2. 기존 Element 호환성 유지
abi.encode(ComplianceContext)전달abi.encode(ComplianceContext, bytes)전달IComplianceElementABI는 변경하지 않음3. 범용 최소 거래금액 규칙
MIN-TRADE-v1Element 추가abi.encode(uint256 minimumAmount)형태로 금액을 주입4. BUIDL-like 데모 재구성
기존 BUIDL 전용 하위 컴포넌트 대신 다음 독립 Recipe를 조합합니다.
기존 데모 동작을 보존하기 위해
5,000,000 ether를 Manifest parameter로 사용합니다. 이 값은 실제 BlackRock/Securitize BUIDL 정책이라고 주장하지 않으며, 현재는 데모의 양방향 거래 최소금액으로만 취급합니다.기존
BuidlMinimumInvestment와BuidlLikeFundRecipe는 배포·소스 호환성을 위해 남겨두지만 신규 데모 배포에서는 사용하지 않습니다.5. 온보딩 도구 반영
검증 결과
forge test --offline: 878/878 통과git diff --check: 통과현재 리뷰 상태 — 병합 전 수정 필요
독립 코드·아키텍처 리뷰 결과 현재 상태는 REQUEST CHANGES입니다.
BuidlLikeFundRecipe의recipeId=3을 새 최소금액 Recipe가 재사용하는 identity 충돌 수정위 사항을 수정하고 회귀 테스트를 추가한 뒤 재검토해야 합니다.