Skip to content

Commit 6f8dcb5

Browse files
committed
tests
1 parent 8135c62 commit 6f8dcb5

File tree

4 files changed

+19
-21
lines changed

4 files changed

+19
-21
lines changed

.gitmodules

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,4 @@
77
[submodule "protocol-units/dispute/lib/murky"]
88
path = protocol-units/dispute/lib/murky
99
url = https://github.com/dmfxyz/murky
10-
[submodule "protocol-units/dispute/lib/murkys"]
11-
path = protocol-units/dispute/lib/murkys
12-
url = https://github.com/dmfxyz/murky
10+

protocol-units/dispute/foundry.toml

+1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ src = "src"
33
out = "out"
44
libs = ["lib"]
55
ffi = true
6+
gas_limit = 10000000
67

78
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

protocol-units/dispute/src/RStarM.sol

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ pragma solidity ^0.8.13;
44
import {Output, OutputLib, Receipt, ReceiptClaim, ReceiptClaimLib, IRiscZeroVerifier, SystemExitCode, ExitCode} from "./IRiscZeroVerifier.sol";
55
import {Groth16Verifier} from "./groth16/Groth16Verifier.sol";
66
import {SafeCast} from "openzeppelin-contracts/contracts/utils/math/SafeCast.sol";
7+
import "forge-std/console2.sol";
78

89
/// @notice A Groth16 seal over the claimed receipt claim.
910
struct Seal {
@@ -100,14 +101,17 @@ contract RStarM is IRiscZeroVerifier, Groth16Verifier {
100101
//verifier = IRiscZeroVerifier(_verifier);
101102
}
102103

103-
104104
function registerValidator() external payable {
105105
require(msg.value >= MIN_STAKE, "Insufficient stake");
106106
require(!validators[msg.sender].isRegistered, "Validator already registered");
107107
validators[msg.sender] = Validator(true, msg.value);
108108
emit ValidatorRegistered(msg.sender, msg.value);
109109
}
110110

111+
function getValidator(address validator) external view returns (bool, uint256) {
112+
return (validators[validator].isRegistered, validators[validator].stake);
113+
}
114+
111115
function deregisterValidator() external {
112116
Validator storage validator = validators[msg.sender];
113117
require(validator.isRegistered, "Validator not registered");

protocol-units/dispute/test/RStarM.t.sol

+12-17
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {Test} from "forge-std/Test.sol";
55
import {console2} from "forge-std/console2.sol";
66

77
import "ds-test/test.sol";
8+
import "forge-std/console2.sol";
89
import "../src/RStarM.sol";
910
import "forge-std/Vm.sol";
1011
import {
@@ -43,28 +44,22 @@ contract RStartM is DSTest {
4344
);
4445

4546
function setUp() public {
46-
rStarM = new RStarM(1, 15, 1, ControlID.CONTROL_ID_0, ControlID.CONTROL_ID_1);
47-
rStarM.registerValidator();
47+
rStarM = new RStarM(1, 15, 2, ControlID.CONTROL_ID_0, ControlID.CONTROL_ID_1);
48+
vm.deal(address(this), rStarM.MIN_STAKE());
4849
}
4950

5051
function testRegisterValidator() public {
51-
vm.deal(validator, rStarM.MIN_STAKE());
52-
vm.prank(validator);
53-
rStarM.registerValidator();
52+
uint256 initialBalance = 100 ether;
53+
vm.deal(signer1, initialBalance);
54+
uint256 minStake = rStarM.MIN_STAKE();
5455

55-
(bool isRegistered, uint256 stake) = rStarM.validators(validator);
56-
assertTrue(isRegistered, "Validator should be registered");
57-
assertEq(stake, rStarM.MIN_STAKE(), "Validator stake should match the minimum stake");
58-
}
59-
60-
// function testAddSigner() public {
61-
// assertTrue(rStarM.isSigner(signer1), "signer1 should be a signer after addition");
62-
// }
56+
vm.prank(signer1);
57+
rStarM.registerValidator{value: minStake}();
6358

64-
// function testRemoveSigner() public {
65-
// rStarM.removeSigner(signer1);
66-
// assertTrue(!rStarM.isSigner(signer1), "signer1 should not be a signer after removal");
67-
// }
59+
(bool isRegistered, uint256 stake) = rStarM.getValidator(signer1);
60+
assertTrue(isRegistered, "Validator should be registered");
61+
assertEq(stake, minStake, "Validator stake should match the provided stake");
62+
}
6863

6964
function testVerifyKnownGoodReceipt() external view {
7065
require(rStarM.verify_integrity(TEST_RECEIPT), "verification failed");

0 commit comments

Comments
 (0)