Skip to content

Commit 1ceed17

Browse files
committed
Add fee but still failing
1 parent 08f56e0 commit 1ceed17

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

lazer/evm/lib/pyth-crosschain

Submodule pyth-crosschain updated 342 files

lazer/evm/src/ExampleReceiver.sol

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ contract ExampleReceiver {
1414
pythLazer = PythLazer(pythLazerAddress);
1515
}
1616

17-
function updatePrice(bytes calldata update) public {
18-
(bytes memory payload,) = pythLazer.verifyUpdate(update);
17+
function updatePrice(bytes calldata update) payable public {
18+
(bytes memory payload,) = pythLazer.verifyUpdate{value: pythLazer.verification_fee()}(update);
19+
if (msg.value > pythLazer.verification_fee()) {
20+
payable(msg.sender).transfer(msg.value - pythLazer.verification_fee());
21+
}
22+
1923
(uint64 _timestamp, PythLazerLib.Channel channel, uint8 feedsLen, uint16 pos) =
2024
PythLazerLib.parsePayloadHeader(payload);
2125
console.log("timestamp %d", _timestamp);

lazer/evm/test/ExampleReceiver.t.sol

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,24 @@ contract ExampleReceiverTest is Test {
1212
address trustedSigner = 0xEfEf56cD66896f6799A90A4e4d512C330c094e44;
1313
console.log("trustedSigner %s", trustedSigner);
1414

15+
address lazer = makeAddr("lazer");
1516
PythLazer pythLazer = new PythLazer();
16-
pythLazer.initialize(address(0x1));
17-
vm.prank(address(0x1));
17+
pythLazer.initialize(lazer);
18+
vm.prank(lazer);
1819
pythLazer.updateTrustedSigner(trustedSigner, 3000000000000000);
1920

21+
address consumer = makeAddr("consumer");
2022
ExampleReceiver receiver = new ExampleReceiver(address(pythLazer));
21-
2223
bytes memory update =
2324
hex"2a22999a577d3cc0202197939d736bc0dcf71b9dde7b9470e4d16fa8e2120c0787a1c0d744d0c39cc372af4d1ecf2d09e84160ca905f3f597d20e2eec144a446a0459ad600001c93c7d3750006240af373971c01010000000201000000000005f5e100";
2425
console.logBytes(update);
2526

26-
receiver.updatePrice(update);
27+
vm.deal(consumer, 1 ether);
28+
vm.prank(consumer);
29+
receiver.updatePrice{value: pythLazer.verification_fee()}(update);
2730
assertEq(receiver.price(), 100000000);
2831
assertEq(receiver.timestamp(), 1728479312975644);
32+
assertEq(address(pythLazer).balance, pythLazer.verification_fee());
33+
assertEq(consumer.balance, 1 ether - pythLazer.verification_fee());
2934
}
3035
}

0 commit comments

Comments
 (0)