extend signature verification test with new governance functions
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
parent
7446a7e7f8
commit
ec29d7e18d
@ -135,6 +135,17 @@ contract MockGovernance is Test {
|
||||
require(msg.sender == GATEKEEPER);
|
||||
auditCalled = true;
|
||||
}
|
||||
|
||||
function setRouterRegistryIndex(uint256 index) external view {
|
||||
require(msg.sender == GATEKEEPER);
|
||||
assertEq(index, 420);
|
||||
}
|
||||
|
||||
function approve(address spender, uint256 value) external view {
|
||||
require(msg.sender == GATEKEEPER);
|
||||
assertEq(spender, DUMMY_ADDRESS);
|
||||
assertEq(value, 1337);
|
||||
}
|
||||
}
|
||||
|
||||
contract MockStaking is Test {
|
||||
@ -321,12 +332,13 @@ contract GatekeeperTest is Test {
|
||||
0x2174c7270034b6b1d40e360b054431f41b558ad0389a3848cdba3b42388552a8
|
||||
);
|
||||
|
||||
// DKG #3 <==> Context ExodusContext { session: 1337, network_id: 420 }
|
||||
// DKG 3 <==> Context ExodusContext { session: 1337, network_id: 420 }
|
||||
// Inside 31337 we have session: 21
|
||||
vm.expectRevert();
|
||||
gatekeeper.verify(
|
||||
hex"e252851000000000000000000000000000000000000000000000000000000000000005396f1587daa198f9a5ed8d301298890d467e51eca3ce978eaba24c034c8797a33d123456789abcdef0123456789abcdef020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000013000000000000053900000000000000000000000000000000",
|
||||
0x14d0c7c4f3f517055efa54f15699d25badc113d98e548982bead74f974ba89c7,
|
||||
0x53c634179b8cc1880148010d9ced4cd1b1239b7cee60d661f8f16104d74db3e3
|
||||
hex"e252851000000000000000000000000000000000000000000000000000000000000005396f1587daa198f9a5ed8d301298890d467e51eca3ce978eaba24c034c8797a33d123456789abcdef0123456789abcdef020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000015000000000000053900000000000000000000000000000000",
|
||||
0x3c0c6332912e12589b929f96c2c1207bc4b9b2a1971e22e07af3210de3ea9a15,
|
||||
0xb6da2c83a19ea161aeec31431e0de139bbab2757f9f492a60aebb2977c156ef8
|
||||
);
|
||||
|
||||
// DKG #2 <==> Context ExodusContext { session: 11, network_id: 31337 }
|
||||
@ -342,17 +354,17 @@ contract GatekeeperTest is Test {
|
||||
|
||||
prevPublicKey = publicKey;
|
||||
|
||||
// DKG #3 <==> Context ExodusContext { session: 1337, network_id: 420 }
|
||||
// Inside 31337 we have session: 19
|
||||
// DKG 3 <==> Context ExodusContext { session: 1337, network_id: 420 }
|
||||
// Inside 31337 we have session: 21
|
||||
gatekeeper.verify(
|
||||
hex"e252851000000000000000000000000000000000000000000000000000000000000005396f1587daa198f9a5ed8d301298890d467e51eca3ce978eaba24c034c8797a33d123456789abcdef0123456789abcdef020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000013000000000000053900000000000000000000000000000000",
|
||||
0x14d0c7c4f3f517055efa54f15699d25badc113d98e548982bead74f974ba89c7,
|
||||
0x53c634179b8cc1880148010d9ced4cd1b1239b7cee60d661f8f16104d74db3e3
|
||||
hex"e252851000000000000000000000000000000000000000000000000000000000000005396f1587daa198f9a5ed8d301298890d467e51eca3ce978eaba24c034c8797a33d123456789abcdef0123456789abcdef020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000015000000000000053900000000000000000000000000000000",
|
||||
0x3c0c6332912e12589b929f96c2c1207bc4b9b2a1971e22e07af3210de3ea9a15,
|
||||
0xb6da2c83a19ea161aeec31431e0de139bbab2757f9f492a60aebb2977c156ef8
|
||||
);
|
||||
|
||||
(publicKey, session) = gatekeeper.latestPublicKeyInfo();
|
||||
assertTrue(publicKey != prevPublicKey);
|
||||
assertEq(session, 19);
|
||||
assertEq(session, 21);
|
||||
|
||||
prevPublicKey = publicKey;
|
||||
|
||||
@ -512,11 +524,27 @@ contract GatekeeperTest is Test {
|
||||
0xe249616ba71082c4b7ea43dc9118afb3eaffdf8b5263ec87f30cc612e65d9d2b
|
||||
);
|
||||
|
||||
// Governance: ExodusRequestType::EvmGovernance { target: 0x0101010101010101010101010101010101010101, action: GovernanceAction::SetRouterRegistryIndex { index: 420 } }
|
||||
// DKG 3 <==> Context ExodusContext { session: 19, network_id: 31337 }
|
||||
gatekeeper.verify(
|
||||
hex"3137142600000000000000000000000000000000000000000000000000000000000000130000000000007a6901010101010101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024cecef62300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000",
|
||||
0x8bbbb7113e8709a3fa8b9a96b9cf202f37e9880dacf7a9fd49c854671cc98eba,
|
||||
0x807509e45b13479f629500149c0e79a807e491de574780e5feeed3a4dc6dabf8
|
||||
);
|
||||
|
||||
// Governance: ExodusRequestType::EvmGovernance { target: 0x0101010101010101010101010101010101010101, action: GovernanceAction::Approve { spender: 0x0101010101010101010101010101010101010101, value: 1337 } }
|
||||
// DKG 3 <==> Context ExodusContext { session: 20, network_id: 31337 }
|
||||
gatekeeper.verify(
|
||||
hex"3137142600000000000000000000000000000000000000000000000000000000000000140000000000007a6901010101010101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000000101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000053900000000000000000000000000000000000000000000000000000000",
|
||||
0x66941b0b0f6c997d751faeba9f8365752bd777ccabe4a86e0f1dd2a3f51bcaf8,
|
||||
0xe3dcafc0cf0f838314be40bdb35eb122cabe0df0e70db393478dd322c29a68c8
|
||||
);
|
||||
|
||||
address storageHistory = gatekeeper.storageHistory();
|
||||
for (uint256 exodusSession; exodusSession < 19; exodusSession++) {
|
||||
for (uint256 exodusSession; exodusSession < 22; exodusSession++) {
|
||||
assert(IStorageHistory(storageHistory).isTransactionExecuted(exodusSession));
|
||||
}
|
||||
|
||||
assert(!IStorageHistory(storageHistory).isTransactionExecuted(20));
|
||||
assert(!IStorageHistory(storageHistory).isTransactionExecuted(22));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user