testnet
GitHub EN

PERIODIC_VOLUME_POLICY

component compliance

슬라이딩 윈도우 (24h, 30d 등)에 걸친 denom별 누적 트랜잭션 금액 한도.

설정된 시간 윈도우에 걸쳐 발신자별 denom별 누적 트랜잭션 금액을 추적하고, 누적 합계가 한도를 넘기는 트랜잭션을 거절합니다. 각 트랜잭션을 독립적으로 검사하는 VOLUME_POLICY와 구별됩니다. 일/월 전송 상한 및 Travel Rule 호환 임계값에 사용.

파라미터 스키마

``json
{
"<denom>": {
"limit": "int",
"period": "24h | 7d | 30d | <duration string>"
}
}
`

<denom>은 체인 단위 denom (예: aokrw). limit은 denom의 최소 단위로 표현된 누적 상한. period는 Go duration 스타일 문자열 (24h, 30d, 168h 등). 윈도우는 슬라이딩 — 임의 블록에서 정책은 period`초 전을 돌아보며 발신자의 해당 denom 발신 트랜잭션을 합산합니다.

평가

전송되는 각 토큰:

1. usedSoFar = 지난 period 동안 발신자가 이 denom으로 보낸 트랜잭션 합계.
2. usedSoFar + amount > limit이면 → 거절 (PeriodicVolumeAboveLimit).
3. 아니면 입장 허용. 새 트랜잭션 금액은 윈도우에서 만료될 때까지 향후 평가에 카운트됩니다.

회계는 발신자별이지 수신자별이 아닙니다. 다양한 수신자에게 보내도 카운터가 리셋되지 않습니다.

거절 시 ReasonCode

PeriodicVolumeAboveLimit — 지갑 UX는 "일/월 한도 도달; <다음 윈도우 경계>에 초기화" 표시.

전형적 사용

  • Travel Rule 임계값 (예: 미인증 사용자에게 limit: 1,000,000 OKRW per 24h — 대부분 관할권에서 이 이상은 추가 보고 필요).
  • 사기 방지 / 속도 한도 (예: 핫 지갑을 30d 당 10 M OKRW로 상한해 침해를 더 빨리 포착).
  • EAS_POLICY와 결합: EAS 조건부 변형 OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY는 인증 vs 미인증 사용자에게 다른 한도를 적용할 수 있어 더 일반적인 프로덕션 설정.
소스: maroo
ESC
검색어를 입력하세요