아래 버튼을 클릭하면 오픈소스 컨트랙트 저장소를 확인할 수 있습니다.Documentation Index
Fetch the complete documentation index at: https://daehan-base.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
구조체
SpendPermission
지출 권한의 전체 파라미터를 정의합니다.
| 필드 | 타입 | 설명 |
|---|---|---|
account | address | 이 지출 권한이 유효한 스마트 계정입니다. |
spender | address | account의 토큰을 지출할 수 있는 주체입니다. |
token | address | 토큰 주소입니다. ERC-7528 네이티브 토큰 주소 또는 ERC-20 컨트랙트 주소를 사용합니다. |
allowance | uint160 | 각 period 동안 지출할 수 있는 최대 한도입니다. |
period | uint48 | 사용된 allowance를 주기적으로 초기화하는 시간 길이입니다. 단위는 초입니다. |
start | uint48 | 이 지출 권한이 유효해지는 시작 시각입니다. Unix 초 단위를 사용합니다. |
end | uint48 | 이 지출 권한이 유효한 종료 시각입니다. Unix 초 단위를 사용합니다. |
salt | uint256 | 나머지 데이터가 같더라도 서로 다른 지출 권한을 구분하기 위한 임의 salt 값입니다. |
extraData | bytes | 권한에 포함할 임의 데이터입니다. |
PeriodSpend
현재 활성 기간 동안 누적된 지출량을 설명합니다.
| 필드 | 타입 | 설명 |
|---|---|---|
start | uint48 | 기간 시작 시각입니다. Unix 초 단위를 사용합니다. |
end | uint48 | 기간 종료 시각입니다. Unix 초 단위를 사용합니다. |
spend | uint160 | 해당 기간 동안 누적된 지출 금액입니다. |
컨트랙트 함수
approve
account에서 직접 호출해 지출 권한을 승인합니다. SpendPermission에 지정된 account만 호출할 수 있습니다.
approveWithSignature
account 소유자의 서명으로 지출 권한을 승인합니다. 필요 시 자동 계정 생성을 지원하는 ERC-6492 서명과 호환됩니다.
spend
지출 권한을 사용해 account에서 spender로 토큰을 전송합니다. 권한에 지정된 spender만 호출할 수 있습니다.
revoke
지출 권한을 영구적으로 비활성화합니다. 권한에 지정된 account만 호출할 수 있습니다.
revokeAsSpender
지출 권한을 영구적으로 비활성화합니다. 권한에 지정된 spender만 호출할 수 있습니다.
getHash
EIP-712에 따라 서명용 SpendPermission 구조체 해시를 생성합니다.
isApproved
현재 시간이 권한의 유효 기간 안에 있는지와 무관하게, 해당 지출 권한이 승인되었는지 확인합니다.
isRevoked
현재 시간이 권한의 유효 기간 안에 있는지와 무관하게, 해당 지출 권한이 철회되었는지 확인합니다.
isValid
현재 시간이 권한의 유효 기간 안에 있는지와 무관하게, 해당 지출 권한이 승인되었고 철회되지 않았는지 확인합니다.
getLastUpdatedPeriod
지출 권한의 마지막으로 갱신된 기간에 대한 start, end, 누적 spend 값을 조회합니다.
getCurrentPeriod
현재 기간에 대한 start, end, 누적 spend 값을 조회합니다. 현재 시간이 권한의 유효 기간 밖이면 revert되지만, 지출 권한이 승인되었는지 또는 철회되었는지는 검사하지 않습니다.