@@ -41,6 +41,7 @@ import {
4141} from 'viem' ;
4242
4343import type { CoreCaveatConfiguration } from './caveatBuilder/coreCaveatBuilder' ;
44+ import { CaveatType } from './constants' ;
4445import type { Caveat , SmartAccountsEnvironment } from './types' ;
4546
4647export const CAVEAT_ABI_TYPE_COMPONENTS = [
@@ -108,116 +109,137 @@ export const decodeCaveat = ({
108109 case caveatEnforcers . AllowedCalldataEnforcer ?. toLowerCase ( ) :
109110 return { type : 'allowedCalldata' , ...decodeAllowedCalldataTerms ( terms ) } ;
110111 case caveatEnforcers . AllowedMethodsEnforcer ?. toLowerCase ( ) :
111- return { type : 'allowedMethods' , ...decodeAllowedMethodsTerms ( terms ) } ;
112+ return {
113+ type : CaveatType . AllowedMethods ,
114+ ...decodeAllowedMethodsTerms ( terms ) ,
115+ } ;
112116 case caveatEnforcers . ApprovalRevocationEnforcer ?. toLowerCase ( ) :
113117 return {
114- type : 'approvalRevocation' ,
118+ type : CaveatType . ApprovalRevocation ,
115119 ...decodeApprovalRevocationTerms ( terms ) ,
116120 } ;
117121 case caveatEnforcers . AllowedTargetsEnforcer ?. toLowerCase ( ) :
118- return { type : 'allowedTargets' , ...decodeAllowedTargetsTerms ( terms ) } ;
122+ return {
123+ type : CaveatType . AllowedTargets ,
124+ ...decodeAllowedTargetsTerms ( terms ) ,
125+ } ;
119126 case caveatEnforcers . ArgsEqualityCheckEnforcer ?. toLowerCase ( ) :
120127 return {
121- type : 'argsEqualityCheck' ,
128+ type : CaveatType . ArgsEqualityCheck ,
122129 ...decodeArgsEqualityCheckTerms ( terms ) ,
123130 } ;
124131 case caveatEnforcers . BlockNumberEnforcer ?. toLowerCase ( ) :
125- return { type : 'blockNumber' , ...decodeBlockNumberTerms ( terms ) } ;
132+ return { type : CaveatType . BlockNumber , ...decodeBlockNumberTerms ( terms ) } ;
126133 case caveatEnforcers . DeployedEnforcer ?. toLowerCase ( ) :
127- return { type : 'deployed' , ...decodeDeployedTerms ( terms ) } ;
134+ return { type : CaveatType . Deployed , ...decodeDeployedTerms ( terms ) } ;
128135 case caveatEnforcers . ERC20BalanceChangeEnforcer ?. toLowerCase ( ) :
129136 return {
130- type : 'erc20BalanceChange' ,
137+ type : CaveatType . Erc20BalanceChange ,
131138 ...decodeERC20BalanceChangeTerms ( terms ) ,
132139 } ;
133140 case caveatEnforcers . ERC20TransferAmountEnforcer ?. toLowerCase ( ) :
134141 return {
135- type : 'erc20TransferAmount' ,
142+ type : CaveatType . Erc20TransferAmount ,
136143 ...decodeERC20TransferAmountTerms ( terms ) ,
137144 } ;
138145 case caveatEnforcers . ERC20StreamingEnforcer ?. toLowerCase ( ) :
139- return { type : 'erc20Streaming' , ...decodeERC20StreamingTerms ( terms ) } ;
146+ return {
147+ type : CaveatType . Erc20Streaming ,
148+ ...decodeERC20StreamingTerms ( terms ) ,
149+ } ;
140150 case caveatEnforcers . ERC721BalanceChangeEnforcer ?. toLowerCase ( ) :
141151 return {
142- type : 'erc721BalanceChange' ,
152+ type : CaveatType . Erc721BalanceChange ,
143153 ...decodeERC721BalanceChangeTerms ( terms ) ,
144154 } ;
145155 case caveatEnforcers . ERC721TransferEnforcer ?. toLowerCase ( ) :
146- return { type : 'erc721Transfer' , ...decodeERC721TransferTerms ( terms ) } ;
156+ return {
157+ type : CaveatType . Erc721Transfer ,
158+ ...decodeERC721TransferTerms ( terms ) ,
159+ } ;
147160 case caveatEnforcers . ERC1155BalanceChangeEnforcer ?. toLowerCase ( ) :
148161 return {
149- type : 'erc1155BalanceChange' ,
162+ type : CaveatType . Erc1155BalanceChange ,
150163 ...decodeERC1155BalanceChangeTerms ( terms ) ,
151164 } ;
152165 case caveatEnforcers . IdEnforcer ?. toLowerCase ( ) :
153- return { type : 'id' , ...decodeIdTerms ( terms ) } ;
166+ return { type : CaveatType . Id , ...decodeIdTerms ( terms ) } ;
154167 case caveatEnforcers . LimitedCallsEnforcer ?. toLowerCase ( ) :
155- return { type : 'limitedCalls' , ...decodeLimitedCallsTerms ( terms ) } ;
168+ return {
169+ type : CaveatType . LimitedCalls ,
170+ ...decodeLimitedCallsTerms ( terms ) ,
171+ } ;
156172 case caveatEnforcers . NonceEnforcer ?. toLowerCase ( ) :
157- return { type : 'nonce' , ...decodeNonceTerms ( terms ) } ;
173+ return { type : CaveatType . Nonce , ...decodeNonceTerms ( terms ) } ;
158174 case caveatEnforcers . TimestampEnforcer ?. toLowerCase ( ) :
159- return { type : 'timestamp' , ...decodeTimestampTerms ( terms ) } ;
175+ return { type : CaveatType . Timestamp , ...decodeTimestampTerms ( terms ) } ;
160176 case caveatEnforcers . ValueLteEnforcer ?. toLowerCase ( ) :
161- return { type : 'valueLte' , ...decodeValueLteTerms ( terms ) } ;
177+ return { type : CaveatType . ValueLte , ...decodeValueLteTerms ( terms ) } ;
162178 case caveatEnforcers . NativeTokenTransferAmountEnforcer ?. toLowerCase ( ) :
163179 return {
164- type : 'nativeTokenTransferAmount' ,
180+ type : CaveatType . NativeTokenTransferAmount ,
165181 ...decodeNativeTokenTransferAmountTerms ( terms ) ,
166182 } ;
167183 case caveatEnforcers . NativeBalanceChangeEnforcer ?. toLowerCase ( ) :
168184 return {
169- type : 'nativeBalanceChange' ,
185+ type : CaveatType . NativeBalanceChange ,
170186 ...decodeNativeBalanceChangeTerms ( terms ) ,
171187 } ;
172188 case caveatEnforcers . NativeTokenStreamingEnforcer ?. toLowerCase ( ) :
173189 return {
174- type : 'nativeTokenStreaming' ,
190+ type : CaveatType . NativeTokenStreaming ,
175191 ...decodeNativeTokenStreamingTerms ( terms ) ,
176192 } ;
177193 case caveatEnforcers . NativeTokenPaymentEnforcer ?. toLowerCase ( ) :
178194 return {
179- type : 'nativeTokenPayment' ,
195+ type : CaveatType . NativeTokenPayment ,
180196 ...decodeNativeTokenPaymentTerms ( terms ) ,
181197 } ;
182198 case caveatEnforcers . RedeemerEnforcer ?. toLowerCase ( ) :
183- return { type : 'redeemer' , ...decodeRedeemerTerms ( terms ) } ;
199+ return { type : CaveatType . Redeemer , ...decodeRedeemerTerms ( terms ) } ;
184200 case caveatEnforcers . SpecificActionERC20TransferBatchEnforcer ?. toLowerCase ( ) :
185201 return {
186- type : 'specificActionERC20TransferBatch' ,
202+ type : CaveatType . SpecificActionERC20TransferBatch ,
187203 ...decodeSpecificActionERC20TransferBatchTerms ( terms ) ,
188204 } ;
189205 case caveatEnforcers . ERC20PeriodTransferEnforcer ?. toLowerCase ( ) :
190206 return {
191- type : 'erc20PeriodTransfer' ,
207+ type : CaveatType . Erc20PeriodTransfer ,
192208 ...decodeERC20TokenPeriodTransferTerms ( terms ) ,
193209 } ;
194210 case caveatEnforcers . NativeTokenPeriodTransferEnforcer ?. toLowerCase ( ) :
195211 return {
196- type : 'nativeTokenPeriodTransfer' ,
212+ type : CaveatType . NativeTokenPeriodTransfer ,
197213 ...decodeNativeTokenPeriodTransferTerms ( terms ) ,
198214 } ;
199215 case caveatEnforcers . ExactCalldataBatchEnforcer ?. toLowerCase ( ) :
200216 return {
201- type : 'exactCalldataBatch' ,
217+ type : CaveatType . ExactCalldataBatch ,
202218 ...decodeExactCalldataBatchTerms ( terms ) ,
203219 } ;
204220 case caveatEnforcers . ExactCalldataEnforcer ?. toLowerCase ( ) :
205- return { type : 'exactCalldata' , ...decodeExactCalldataTerms ( terms ) } ;
221+ return {
222+ type : CaveatType . ExactCalldata ,
223+ ...decodeExactCalldataTerms ( terms ) ,
224+ } ;
206225 case caveatEnforcers . ExactExecutionEnforcer ?. toLowerCase ( ) :
207- return { type : 'exactExecution' , ...decodeExactExecutionTerms ( terms ) } ;
226+ return {
227+ type : CaveatType . ExactExecution ,
228+ ...decodeExactExecutionTerms ( terms ) ,
229+ } ;
208230 case caveatEnforcers . ExactExecutionBatchEnforcer ?. toLowerCase ( ) :
209231 return {
210- type : 'exactExecutionBatch' ,
232+ type : CaveatType . ExactExecutionBatch ,
211233 ...decodeExactExecutionBatchTerms ( terms ) ,
212234 } ;
213235 case caveatEnforcers . MultiTokenPeriodEnforcer ?. toLowerCase ( ) :
214236 return {
215- type : 'multiTokenPeriod' ,
237+ type : CaveatType . MultiTokenPeriod ,
216238 ...decodeMultiTokenPeriodTerms ( terms ) ,
217239 } ;
218240 case caveatEnforcers . OwnershipTransferEnforcer ?. toLowerCase ( ) :
219241 return {
220- type : 'ownershipTransfer' ,
242+ type : CaveatType . OwnershipTransfer ,
221243 ...decodeOwnershipTransferTerms ( terms ) ,
222244 } ;
223245 default :
0 commit comments