시스템 모듈
Stable의 핵심 프로토콜 동작은 x/bank, x/distribution, x/staking과 같은 SDK 모듈에 있습니다. 고정 주소 사전 컴파일은 애플리케이션 컨트랙트에서 프로토콜 로직을 복제하지 않고 솔리디티 호출을 기본 SDK 핸들러로 라우팅합니다.
세 가지 모듈
| 모듈 | 사전 컴파일 주소 | 목적 |
|---|---|---|
| 뱅크 | 0x0000…1003 (STABLE) | 토큰 전송, 잔액 회계, 허용 관리, 승인된 컨트랙트에 대한 발행/소각. |
| 분배 | 0x0000…0801 | 스테이킹 보상 청구, 보상 조회, 인출 주소 관리. |
| 스테이킹 | 0x0000…0800 | 위임, 위임 해제, 재위임, 검증자 조회. |
| 시스템 트랜잭션 | 0x0000…9999 | 보장된 블록 공간 레인 쿼리 및 프로토콜에서 발행된 EVM 이벤트. |
위의 각 페이지에서는 모듈의 기능, 사용 시기, ABI를 찾는 방법에 대해 설명합니다.
솔리디티 대신 사전 컴파일을 사용하는 이유
두 가지 이유:
- 가스 효율성. 사전 컴파일은 프로토콜의 기본 실행 경로에서 실행됩니다. 동등한 솔리디티 컨트랙트는 훨씬 더 높은 가스 비용으로 동일한 로직을 재구현합니다.
- 단일 정보원. 스테이킹, 분배 및 토큰 공급은 프로토콜 수준 상태입니다. 사전 컴파일을 통해 이를 노출하면 SDK와 다를 수 있는 중복 솔리디티 구현을 유지 관리할 필요가 없습니다.
권한 부여
일부 사전 컴파일 메서드(mint, burn, 프로토콜 수준 스테이킹 작업)에는 호출자 권한 부여가 필요합니다. x/precompile 모듈은 온체인 화이트리스트를 유지하며, 등록되지 않은 컨트랙트의 호출은 되돌려집니다. 이렇게 하면 읽기/전송 메서드의 일반적인 EVM 사용을 차단하지 않고 권한 있는 작업을 거버넌스 게이트 방식으로 유지할 수 있습니다.

