Skip to content

Commit 5ab2ddc

Browse files
committed
Fix KeyBroadcastContract.t.sol
The used version differs from the one in gnosh, so we run the test from shop.
1 parent 81e74e9 commit 5ab2ddc

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

test/KeyBroadcastContract.t.sol

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,58 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.20;
2+
pragma solidity ^0.8.22;
33

44
import "forge-std/Test.sol";
55
import "../src/common/KeyBroadcastContract.sol";
66
import "../src/common/KeyperSetManager.sol";
77
import "../src/common/KeyperSet.sol";
88

9+
contract MockPublisher is EonKeyPublisher {
10+
function eonKeyConfirmed(bytes memory) pure external returns (bool) {
11+
return true;
12+
}
13+
}
14+
915
contract KeyBroadcastTest is Test {
1016
KeyBroadcastContract public keyBroadcastContract;
1117
KeyperSetManager public keyperSetManager;
1218
KeyperSet public keyperSet0;
1319
KeyperSet public keyperSet1;
20+
address public dao;
21+
address public sequencer;
1422
address public broadcaster0;
1523
address public broadcaster1;
16-
address public deployer;
24+
MockPublisher public publisher0;
25+
MockPublisher public publisher1;
1726

1827
event EonKeyBroadcast(uint64 eon, bytes key);
1928

2029
function setUp() public {
21-
30+
address initializer = address(69);
31+
dao = address(42);
32+
sequencer = address(420);
2233
broadcaster0 = address(1);
2334
broadcaster1 = address(2);
24-
deployer = address(3);
35+
publisher0 = new MockPublisher();
36+
publisher1 = new MockPublisher();
2537

26-
keyperSetManager = new KeyperSetManager(deployer);
38+
keyperSetManager = new KeyperSetManager(initializer);
39+
vm.prank(initializer);
40+
keyperSetManager.initialize(dao, sequencer);
2741
keyBroadcastContract = new KeyBroadcastContract(
2842
address(keyperSetManager)
2943
);
3044
keyperSet0 = new KeyperSet();
31-
keyperSet0.setPublisher(broadcaster0);
45+
keyperSet0.setPublisher(address(publisher0));
3246
keyperSet0.setFinalized();
47+
48+
vm.prank(dao);
3349
keyperSetManager.addKeyperSet(100, address(keyperSet0));
3450

3551
keyperSet1 = new KeyperSet();
36-
keyperSet1.setPublisher(broadcaster1);
52+
keyperSet1.setPublisher(address(publisher1));
3753
keyperSet1.setFinalized();
54+
55+
vm.prank(dao);
3856
keyperSetManager.addKeyperSet(200, address(keyperSet1));
3957
}
4058

@@ -54,25 +72,25 @@ contract KeyBroadcastTest is Test {
5472

5573
function testBroadcastEonKeyDuplicate() public {
5674
bytes memory key = bytes("foo bar");
57-
vm.prank(broadcaster1);
75+
vm.prank(address(publisher1));
5876
keyBroadcastContract.broadcastEonKey(1, key);
5977

78+
vm.prank(address(publisher1));
6079
vm.expectRevert(AlreadyHaveKey.selector);
61-
vm.prank(broadcaster1);
6280
keyBroadcastContract.broadcastEonKey(1, key);
6381
}
6482

6583
function testBroadcastEonKeyEmitsEvent() public {
6684
vm.expectEmit(address(keyBroadcastContract));
6785
bytes memory key = bytes("foo bar");
6886
emit EonKeyBroadcast(1, key);
69-
vm.prank(broadcaster1);
87+
vm.prank(address(publisher1));
7088
keyBroadcastContract.broadcastEonKey(1, key);
7189
}
7290

7391
function testGetEonKey() public {
7492
assertEq(keyBroadcastContract.getEonKey(1), bytes(""));
75-
vm.prank(broadcaster1);
93+
vm.prank(address(publisher1));
7694
keyBroadcastContract.broadcastEonKey(1, bytes("foo bar"));
7795
assertEq(keyBroadcastContract.getEonKey(1), bytes("foo bar"));
7896
}

0 commit comments

Comments
 (0)