1
1
import { concatHex } from "viem"
2
2
import { PolicyFlags } from "../constants.js"
3
- import { RATE_LIMIT_POLICY_CONTRACT , RATE_LIMIT_POLICY_WITH_RESET_CONTRACT } from "../constants.js"
3
+ import {
4
+ RATE_LIMIT_POLICY_CONTRACT ,
5
+ RATE_LIMIT_POLICY_WITH_RESET_CONTRACT
6
+ } from "../constants.js"
4
7
import type { Policy , PolicyParams } from "../types.js"
5
8
6
9
export type RateLimitPolicyParams = PolicyParams & {
@@ -18,27 +21,31 @@ export function toRateLimitPolicy({
18
21
} : RateLimitPolicyParams ) : Policy {
19
22
return {
20
23
getPolicyData : ( ) => {
21
- if ( policyAddress === RATE_LIMIT_POLICY_CONTRACT ) {
22
- const intervalHex = interval . toString ( 16 ) . padStart ( 12 , "0" )
23
- const countHex = count . toString ( 16 ) . padStart ( 12 , "0" )
24
- const startAtHex = startAt . toString ( 16 ) . padStart ( 12 , "0" )
24
+ if ( policyAddress === RATE_LIMIT_POLICY_CONTRACT ) {
25
+ const intervalHex = interval . toString ( 16 ) . padStart ( 12 , "0" )
26
+ const countHex = count . toString ( 16 ) . padStart ( 12 , "0" )
27
+ const startAtHex = startAt . toString ( 16 ) . padStart ( 12 , "0" )
25
28
26
- const data = intervalHex + countHex + startAtHex
29
+ const data = intervalHex + countHex + startAtHex
27
30
28
- return `0x${ data } `
29
- } else if ( policyAddress === RATE_LIMIT_POLICY_WITH_RESET_CONTRACT ) {
30
- if ( startAt !== 0 && startAt !== undefined ) {
31
- throw new Error ( "RATE_LIMIT_POLICY_WITH_RESET_CONTRACT does not support startAt" )
32
- }
33
- const intervalHex = interval . toString ( 16 ) . padStart ( 12 , "0" )
34
- const countHex = count . toString ( 16 ) . padStart ( 12 , "0" )
31
+ return `0x${ data } `
32
+ } else if (
33
+ policyAddress === RATE_LIMIT_POLICY_WITH_RESET_CONTRACT
34
+ ) {
35
+ if ( startAt !== 0 && startAt !== undefined ) {
36
+ throw new Error (
37
+ "RATE_LIMIT_POLICY_WITH_RESET_CONTRACT does not support startAt"
38
+ )
39
+ }
40
+ const intervalHex = interval . toString ( 16 ) . padStart ( 12 , "0" )
41
+ const countHex = count . toString ( 16 ) . padStart ( 12 , "0" )
35
42
36
- const data = intervalHex + countHex
43
+ const data = intervalHex + countHex
37
44
38
- return `0x${ data } `
39
- } else {
40
- throw new Error ( "Invalid policy address" )
41
- }
45
+ return `0x${ data } `
46
+ } else {
47
+ throw new Error ( "Invalid policy address" )
48
+ }
42
49
} ,
43
50
getPolicyInfoInBytes : ( ) => {
44
51
return concatHex ( [ policyFlag , policyAddress ] )
0 commit comments