OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY
발신자가 미인증일 때만 적용되는 기간 누적 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. 발신자가
2. 인증된 경우 입장이 허용됩니다(이 템플릿이 누적 상한을 부과하지 않습니다).
3. 미인증인 경우 (스코프, 발신자)에 대한
-
-
- 그 외에는 입장이 허용되고
인증과 미인증 누적자는 독립적으로 관리됩니다. 미인증 누적자는
1. 발신자가
schemaUid 하의 유효 attestation을 보유하는지 확인합니다(EAS_POLICY와 동일합니다).2. 인증된 경우 입장이 허용됩니다(이 템플릿이 누적 상한을 부과하지 않습니다).
3. 미인증인 경우 (스코프, 발신자)에 대한
PeriodicVolume 누적자를 로드합니다.-
block.timestamp >= resetAt이면 amount = 0으로 리셋하고 resetAt을 진행합니다.-
amount + value > maxAmount이면 ExceededPeriodicVolume로 거절됩니다.- 그 외에는 입장이 허용되고
value를 amount에 누적합니다.인증과 미인증 누적자는 독립적으로 관리됩니다. 미인증 누적자는
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와 페어링하여 침해된 미인증 계정의 피해를 제한합니다. - 가장 일반적인 프로덕션 배포 중 하나로, 대개 마루 네트워크에 처음 등록되는 템플릿에 속합니다.