@@ -129,7 +129,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
129129 );
130130 vm.prank (defaultProvider);
131131 pulse.registerProvider (DEFAULT_PROVIDER_FEE);
132- consumer = new MockPulseConsumer ();
132+ consumer = new MockPulseConsumer (address (proxy) );
133133 }
134134
135135 // Helper function to create price IDs array
@@ -208,11 +208,11 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
208208 returns (
209209 uint64 sequenceNumber ,
210210 bytes32 [] memory priceIds ,
211- uint256 publishTime
211+ uint64 publishTime
212212 )
213213 {
214214 priceIds = createPriceIds ();
215- publishTime = block .timestamp ;
215+ publishTime = SafeCast. toUint64 ( block .timestamp ) ;
216216 vm.deal (consumerAddress, 1 gwei);
217217
218218 uint128 totalFee = calculateTotalFee ();
@@ -233,7 +233,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
233233 vm.txGasPrice (30 gwei);
234234
235235 bytes32 [] memory priceIds = createPriceIds ();
236- uint256 publishTime = block .timestamp ;
236+ uint64 publishTime = SafeCast. toUint64 ( block .timestamp ) ;
237237
238238 // Fund the consumer contract with enough ETH for higher gas price
239239 vm.deal (address (consumer), 1 ether);
@@ -302,15 +302,15 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
302302 vm.expectRevert (InsufficientFee.selector );
303303 pulse.requestPriceUpdatesWithCallback {value: PYTH_FEE}( // Intentionally low fee
304304 defaultProvider,
305- block .timestamp ,
305+ SafeCast. toUint64 ( block .timestamp ) ,
306306 priceIds,
307307 CALLBACK_GAS_LIMIT
308308 );
309309 }
310310
311311 function testExecuteCallback () public {
312312 bytes32 [] memory priceIds = createPriceIds ();
313- uint256 publishTime = block .timestamp ;
313+ uint64 publishTime = SafeCast. toUint64 ( block .timestamp ) ;
314314
315315 // Fund the consumer contract
316316 vm.deal (address (consumer), 1 gwei);
@@ -342,7 +342,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
342342 expectedExpos[0 ] = MOCK_PRICE_FEED_EXPO;
343343 expectedExpos[1 ] = MOCK_PRICE_FEED_EXPO;
344344
345- uint256 [] memory expectedPublishTimes = new uint256 [](2 );
345+ uint64 [] memory expectedPublishTimes = new uint64 [](2 );
346346 expectedPublishTimes[0 ] = publishTime;
347347 expectedPublishTimes[1 ] = publishTime;
348348
@@ -390,7 +390,9 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
390390 }
391391
392392 function testExecuteCallbackFailure () public {
393- FailingPulseConsumer failingConsumer = new FailingPulseConsumer ();
393+ FailingPulseConsumer failingConsumer = new FailingPulseConsumer (
394+ address (proxy)
395+ );
394396
395397 (
396398 uint64 sequenceNumber ,
@@ -423,7 +425,9 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
423425 }
424426
425427 function testExecuteCallbackCustomErrorFailure () public {
426- CustomErrorPulseConsumer failingConsumer = new CustomErrorPulseConsumer ();
428+ CustomErrorPulseConsumer failingConsumer = new CustomErrorPulseConsumer (
429+ address (proxy)
430+ );
427431
428432 (
429433 uint64 sequenceNumber ,
@@ -484,7 +488,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
484488 function testExecuteCallbackWithFutureTimestamp () public {
485489 // Setup request with future timestamp
486490 bytes32 [] memory priceIds = createPriceIds ();
487- uint256 futureTime = block .timestamp + 10 ; // 10 seconds in future
491+ uint64 futureTime = SafeCast. toUint64 ( block .timestamp + 10 ) ; // 10 seconds in future
488492 vm.deal (address (consumer), 1 gwei);
489493
490494 uint128 totalFee = calculateTotalFee ();
@@ -524,7 +528,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
524528
525529 function testRevertOnTooFarFutureTimestamp () public {
526530 bytes32 [] memory priceIds = createPriceIds ();
527- uint256 farFutureTime = block .timestamp + 61 ; // Just over 1 minute
531+ uint64 farFutureTime = SafeCast. toUint64 ( block .timestamp + 61 ) ; // Just over 1 minute
528532 vm.deal (address (consumer), 1 gwei);
529533
530534 uint128 totalFee = calculateTotalFee ();
@@ -616,7 +620,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
616620 vm.prank (address (consumer));
617621 pulse.requestPriceUpdatesWithCallback {value: calculateTotalFee ()}(
618622 defaultProvider,
619- block .timestamp ,
623+ SafeCast. toUint64 ( block .timestamp ) ,
620624 priceIds,
621625 CALLBACK_GAS_LIMIT
622626 );
@@ -667,7 +671,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
667671 vm.prank (address (consumer));
668672 pulse.requestPriceUpdatesWithCallback {value: calculateTotalFee ()}(
669673 defaultProvider,
670- block .timestamp ,
674+ SafeCast. toUint64 ( block .timestamp ) ,
671675 priceIds,
672676 CALLBACK_GAS_LIMIT
673677 );
@@ -778,7 +782,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
778782 );
779783 pulse.requestPriceUpdatesWithCallback {value: totalFee}(
780784 defaultProvider,
781- block .timestamp ,
785+ SafeCast. toUint64 ( block .timestamp ) ,
782786 priceIds,
783787 CALLBACK_GAS_LIMIT
784788 );
@@ -843,7 +847,12 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
843847 vm.prank (address (consumer));
844848 uint64 sequenceNumber = pulse.requestPriceUpdatesWithCallback {
845849 value: totalFee
846- }(defaultProvider, block .timestamp , priceIds, CALLBACK_GAS_LIMIT);
850+ }(
851+ defaultProvider,
852+ SafeCast.toUint64 (block .timestamp ),
853+ priceIds,
854+ CALLBACK_GAS_LIMIT
855+ );
847856
848857 PulseState.Request memory req = pulse.getRequest (sequenceNumber);
849858 assertEq (req.provider, provider);
@@ -1020,7 +1029,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
10201029 }
10211030
10221031 function createTestRequests (bytes32 [] memory priceIds ) private {
1023- uint256 publishTime = block .timestamp ;
1032+ uint64 publishTime = SafeCast. toUint64 ( block .timestamp ) ;
10241033 for (uint i = 0 ; i < 5 ; i++ ) {
10251034 vm.deal (address (this ), 1 ether);
10261035 pulse.requestPriceUpdatesWithCallback {value: 1 ether }(
@@ -1038,7 +1047,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
10381047 ) private {
10391048 // Create mock price feeds and setup Pyth response
10401049 PythStructs.PriceFeed[] memory priceFeeds = createMockPriceFeeds (
1041- block .timestamp
1050+ SafeCast. toUint64 ( block .timestamp )
10421051 );
10431052 mockParsePriceFeedUpdates (priceFeeds);
10441053 updateData = createMockUpdateData (priceFeeds);
@@ -1161,7 +1170,7 @@ contract PulseTest is Test, PulseEvents, IPulseConsumer {
11611170 // Setup test data
11621171 bytes32 [] memory priceIds = new bytes32 [](1 );
11631172 priceIds[0 ] = bytes32 (uint256 (1 ));
1164- uint256 publishTime = block .timestamp ;
1173+ uint64 publishTime = SafeCast. toUint64 ( block .timestamp ) ;
11651174 uint256 callbackGasLimit = 1000000 ;
11661175
11671176 // Create mock price feeds and setup Pyth response
0 commit comments