@@ -78,7 +78,7 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
7878 address addressResolver_ ,
7979 uint256 defaultLimit_ ,
8080 uint256 expiryTime_ ,
81- uint32 evmxChainSlug_
81+ uint32 evmxSlug_
8282 ) public reinitializer (1 ) {
8383 _setAddressResolver (addressResolver_);
8484 _initializeOwner (owner_);
@@ -90,7 +90,7 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
9090 // limit per second
9191 defaultRatePerSecond = defaultLimit / (24 * 60 * 60 );
9292
93- evmxChainSlug = evmxChainSlug_ ;
93+ evmxSlug = evmxSlug_ ;
9494 }
9595
9696 // ================== Timeout functions ==================
@@ -108,7 +108,7 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
108108 // from auction manager
109109 _consumeLimit (appGateway_, SCHEDULE, 1 );
110110 uint256 executeAt = block .timestamp + delayInSeconds_;
111- bytes32 timeoutId = _encodeId (evmxChainSlug , address (this ));
111+ bytes32 timeoutId = _encodeId (evmxSlug , address (this ));
112112 timeoutRequests[timeoutId] = TimeoutRequest (
113113 timeoutId,
114114 msg .sender ,
@@ -130,8 +130,8 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
130130 bytes calldata signature_
131131 ) external {
132132 _isWatcherSignatureValid (
133+ abi.encode (this .resolveTimeout.selector , timeoutId_),
133134 signatureNonce_,
134- keccak256 (abi.encode (address (this ), evmxChainSlug, signatureNonce_, timeoutId_)),
135135 signature_
136136 );
137137
@@ -253,7 +253,7 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
253253 // from payload delivery
254254 _consumeLimit (appGateway_, QUERY, 1 );
255255 // Generate unique payload ID from query counter
256- payloadId = _encodeId (evmxChainSlug , address (this ));
256+ payloadId = _encodeId (evmxSlug , address (this ));
257257
258258 // Create async request with minimal information for queries
259259 // Note: addresses set to 0 as they're not needed for queries
@@ -282,15 +282,13 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
282282 /// @dev keccak256(abi.encode(switchboard, digest))
283283 function finalized (
284284 bytes32 payloadId_ ,
285- uint256 signatureNonce_ ,
286285 bytes calldata proof_ ,
286+ uint256 signatureNonce_ ,
287287 bytes calldata signature_
288288 ) external {
289289 _isWatcherSignatureValid (
290+ abi.encode (this .finalized.selector , payloadId_, proof_),
290291 signatureNonce_,
291- keccak256 (
292- abi.encode (address (this ), evmxChainSlug, signatureNonce_, payloadId_, proof_)
293- ),
294292 signature_
295293 );
296294
@@ -302,13 +300,13 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
302300 /// @param resolvedPromises_ Array of resolved promises and their return data
303301 /// @dev Only callable by the contract owner
304302 function resolvePromises (
305- uint256 signatureNonce_ ,
306303 ResolvedPromises[] calldata resolvedPromises_ ,
304+ uint256 signatureNonce_ ,
307305 bytes calldata signature_
308306 ) external {
309307 _isWatcherSignatureValid (
308+ abi.encode (this .resolvePromises.selector , resolvedPromises_),
310309 signatureNonce_,
311- keccak256 (abi.encode (address (this ), evmxChainSlug, signatureNonce_, resolvedPromises_)),
312310 signature_
313311 );
314312
@@ -345,16 +343,8 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
345343 bytes calldata signature_
346344 ) external {
347345 _isWatcherSignatureValid (
346+ abi.encode (this .markRevert.selector , isRevertingOnchain_, payloadId_),
348347 signatureNonce_,
349- keccak256 (
350- abi.encode (
351- address (this ),
352- evmxChainSlug,
353- signatureNonce_,
354- payloadId_,
355- isRevertingOnchain_
356- )
357- ),
358348 signature_
359349 );
360350
@@ -406,8 +396,8 @@ contract WatcherPrecompile is WatcherPrecompileConfig {
406396 bytes calldata signature_
407397 ) external {
408398 _isWatcherSignatureValid (
399+ abi.encode (this .callAppGateways.selector , params_),
409400 signatureNonce_,
410- keccak256 (abi.encode (address (this ), evmxChainSlug, signatureNonce_, params_)),
411401 signature_
412402 );
413403
0 commit comments