OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY

component compliance

발신자가 미인증일 때만 적용되는 기간 누적 OKRW 전송 상한입니다. Travel-Rule 계층 프리미티브로 사용됩니다.

PERIODIC_VOLUME_POLICY의 리셋 주기 누적 추적을 EAS attestation 조건과 결합하여, 미인증 발신자에게는 엄격한 일/월 OKRW 상한을 부여하고 인증 발신자는 이 템플릿의 회계에서 완전히 면제됩니다. Travel Rule 스타일 임계값을 구현하는 표준 프리미티브입니다.

Solidity struct + ABI

IPcl.sol에서:
struct OkrwEasPeriodicVolumeLimitPolicy {
    address easContract;          // EAS 배포
    address indexContract;        // EAS Indexer
    bytes32 schemaUid;            // 발신자를 상한에서 면제시키는 스키마
    uint256 maxAmount;            // 미인증 발신자에 대한 주기당 누적 상한
    uint64  resetPeriodSeconds;   // 주기 길이, 예: 24h은 86400
}
ABI 튜플 약칭: (address easContract, address indexContract, bytes32 schemaUid, uint256 maxAmount, uint64 resetPeriodSeconds).

PolicySet.policy용 인코딩:
OkrwEasPeriodicVolumeLimitPolicy memory p = OkrwEasPeriodicVolumeLimitPolicy({
    easContract:        0x1000000000000000000000000000000000000007,
    indexContract:      0x1000000000000000000000000000000000000008,
    schemaUid:          0xabcd...,
    maxAmount:          1_000_000 ether,   // 주기당 1,000,000 OKRW
    resetPeriodSeconds: 86_400             // 24h
});
bytes memory policyBytes = abi.encode(p);
// PolicySet.templateId = "OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY"

정책 평가 방식

각 OKRW 전송에 대해 다음을 수행합니다.

1. 발신자가 schemaUid 하의 유효 attestation을 보유하는지 확인합니다(EAS_POLICY와 동일합니다).
2. 인증된 경우 입장이 허용됩니다(이 템플릿이 누적 상한을 부과하지 않습니다).
3. 미인증인 경우 (스코프, 발신자)에 대한 PeriodicVolume 누적자를 로드합니다.
- block.timestamp >= resetAt이면 amount = 0으로 리셋하고 resetAt을 진행합니다.
- amount + value > maxAmount이면 ExceededPeriodicVolume로 거절됩니다.
- 그 외에는 입장이 허용되고 valueamount에 누적합니다.

인증과 미인증 누적자는 독립적으로 관리됩니다. 미인증 누적자는 globalOkrwEasPeriodicVolume(user) 또는 contractOkrwEasPeriodicVolume(contract, user, selector)로 조회할 수 있으며, 지갑 UI에 잔여 quota를 표시할 때 유용합니다.

거절 시 발생하는 ReasonCode

ExceededPeriodicVolume(uint256 maxLimit, uint256 value, uint256 resetAt) — 지갑 UX: "미인증 계정의 일/월 한도 도달; KYC 완료해 상한 해제, 또는 <resetAt>까지 대기". resetAt은 unix timestamp.

주요 활용 사례

  • Travel Rule 준수: 미인증 사용자를 24h당 1,000,000 OKRW로 상한 적용합니다(일부 관할권의 규제 보고 임계값). KYC를 완료하고 스키마 attestation을 받으면 이 템플릿은 더 이상 상한을 부과하지 않습니다.
  • 사기 방지 계층화: DENYLIST_POLICY, OKRW_EAS_TRANSFER_LIMIT_POLICY와 페어링하여 침해된 미인증 계정의 피해를 제한합니다.
  • 가장 일반적인 프로덕션 배포 중 하나로, 대개 마루 네트워크에 처음 등록되는 템플릿에 속합니다.
소스: maroo
ESC
검색어를 입력하세요