Skip to content

Commit 63e2d29

Browse files
committed
feat(lazer) Add FeedId Getter method
1 parent a4d6355 commit 63e2d29

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

lazer/contracts/evm/src/PythLazerLib.sol

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,4 +782,11 @@ library PythLazerLib {
782782
);
783783
return feed._marketSession;
784784
}
785+
786+
/// @notice Get feed ID
787+
function getFeedId(
788+
PythLazerStructs.Feed memory feed
789+
) public pure returns (uint32) {
790+
return feed.feedId;
791+
}
785792
}

lazer/contracts/evm/test/PythLazer.t.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ contract PythLazerTest is Test {
209209
// Verify feed data
210210
PythLazerStructs.Feed memory feed = update.feeds[0];
211211
assertEq(feed.feedId, 1);
212+
assertEq(PythLazerLib.getFeedId(feed), 1);
212213
assertEq(feed._price, 100000000);
213214
assertEq(feed._bestBidPrice, 99000000);
214215
assertEq(feed._bestAskPrice, 101000000);
@@ -255,6 +256,7 @@ contract PythLazerTest is Test {
255256
PythLazerStructs.Feed memory feed = update.feeds[0];
256257

257258
assertEq(feed.feedId, 10);
259+
assertEq(PythLazerLib.getFeedId(feed), 10);
258260
assertEq(feed._price, 50000000);
259261
assertEq(feed._exponent, -6);
260262

@@ -316,6 +318,7 @@ contract PythLazerTest is Test {
316318

317319
// Verify Feed 1
318320
assertEq(update.feeds[0].feedId, 1);
321+
assertEq(PythLazerLib.getFeedId(update.feeds[0]), 1);
319322
assertEq(update.feeds[0]._price, 50000000000);
320323
assertTrue(PythLazerLib.hasConfidence(update.feeds[0]));
321324
// Requested checks for Feed 1 (props: price, publisherCount, exponent, confidence, bestBid)
@@ -334,6 +337,7 @@ contract PythLazerTest is Test {
334337

335338
// Verify Feed 2
336339
assertEq(update.feeds[1].feedId, 2);
340+
assertEq(PythLazerLib.getFeedId(update.feeds[1]), 2);
337341
assertEq(update.feeds[1]._price, 3000000000);
338342
assertFalse(PythLazerLib.hasConfidence(update.feeds[1]));
339343
// Requested checks for Feed 2 (props: price, exponent)
@@ -352,6 +356,7 @@ contract PythLazerTest is Test {
352356

353357
// Verify Feed 3
354358
assertEq(update.feeds[2].feedId, 3);
359+
assertEq(PythLazerLib.getFeedId(update.feeds[2]), 3);
355360
assertEq(update.feeds[2]._price, 100000000);
356361
assertEq(update.feeds[2]._publisherCount, 7);
357362
// Requested checks for Feed 3 (props: price, exponent, publisherCount)

lazer/contracts/evm/test/PythLazerApi.t.sol

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ contract PythLazerApiTest is Test {
106106

107107
// Validate Feed 3 (Regular Price Feed) - Compare against API reference
108108
assertEq(feed3.feedId, 3, "Feed 3: feedId mismatch");
109+
assertEq(
110+
PythLazerLib.getFeedId(feed3),
111+
3,
112+
"Feed 3: getFeedId mismatch"
113+
);
109114

110115
// Requested checks for Feed 3 (should be requested for price/exponent/confidence/publisherCount/bid/ask; not requested for funding*)
111116
assertTrue(
@@ -263,6 +268,11 @@ contract PythLazerApiTest is Test {
263268

264269
// Validate Feed 112 (Funding Rate Feed) - Compare against API reference
265270
assertEq(feed112.feedId, 112, "Feed 112: feedId mismatch");
271+
assertEq(
272+
PythLazerLib.getFeedId(feed112),
273+
112,
274+
"Feed 112: getFeedId mismatch"
275+
);
266276

267277
// Requested checks for Feed 112 (should be requested for price/exponent/publisherCount/funding*; not requested for bid/ask/confidence)
268278
assertTrue(

0 commit comments

Comments
 (0)