Address Balances
Address Balances는 Sui 주소에 연결된 대체 가능 자산을 위한 canonical balance system을 도입한다. 이는 UTXO 스타일 Coin<T> 모델을 직접 주소 소유 잔액으로 대체하여 트랜잭션 구성을 단순화하고 코인 선택 복잡성을 제거한다.
전체 사양은 SIP-58: Sui Address Balances를 참조한다.
이전에는 Sui의 잔액을 주소가 소유한 모든 Coin<T> 객체의 값을 합산해 계산했다. Address Balances를 사용하면 각 주소가 통화 타입 T마다 하나의 주소 소유 잔액을 추가로 가질 수 있다. 총 잔액은 모든 Coin<T> 객체의 합계에 해당 코인 타입의 주소 잔액 값을 더한 값이다.
Coin<T>와 Address Balances는 공존한다. 기존 코인은 계속 동작하며 transfer::public_transfer로 여전히 전송할 수 있다. 그러나 Address Balances는 중요한 운영상 이점을 제공한다:
- 코인 선택 로직이 필요 없다.
- 예치액이 단일 canonical balance로 자동 병합된다.
- 객체 상태를 쿼리하지 않고 stateless 트랜잭션 구성이 가능하다.
- SUI 주소 잔액에서 직접 가스를 지불할 수 있다.