Skip to content

Commit

Permalink
Update constant variables in Deployer.t.sol
Browse files Browse the repository at this point in the history
  • Loading branch information
austinborn committed May 2, 2024
1 parent 8cf21c5 commit 92af973
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 92 deletions.
30 changes: 15 additions & 15 deletions contracts/gas-snapshots/operatorforwarder.gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
FactoryTest:test_DeployNewForwarderAndTransferOwnership_Success() (gas: 1064232)
FactoryTest:test_DeployNewForwarder_Success() (gas: 1050356)
FactoryTest:test_DeployNewOperatorAndForwarder_Success() (gas: 4071429)
FactoryTest:test_DeployNewOperator_Success() (gas: 3022611)
ForwarderTest:test_Forward_Success(uint256) (runs: 256, μ: 235165, ~: 236254)
ForwarderTest:test_MultiForward_Success(uint256,uint256) (runs: 256, μ: 266877, ~: 268121)
ForwarderTest:test_OwnerForward_Success() (gas: 32343)
ForwarderTest:test_SetAuthorizedSenders_Success() (gas: 168079)
ForwarderTest:test_TransferOwnershipWithMessage_Success() (gas: 38909)
OperatorTest:test_CancelOracleRequest_Success() (gas: 278388)
OperatorTest:test_FulfillOracleRequest_Success() (gas: 332668)
OperatorTest:test_NotAuthorizedSender_Revert() (gas: 250404)
OperatorTest:test_OracleRequest_Success() (gas: 251892)
OperatorTest:test_SendRequestAndCancelRequest_Success(uint96) (runs: 256, μ: 387102, ~: 387107)
OperatorTest:test_SendRequest_Success(uint96) (runs: 256, μ: 303593, ~: 303601)
FactoryTest:test_DeployNewForwarderAndTransferOwnership_Success() (gas: 1059722)
FactoryTest:test_DeployNewForwarder_Success() (gas: 1048209)
FactoryTest:test_DeployNewOperatorAndForwarder_Success() (gas: 4069305)
FactoryTest:test_DeployNewOperator_Success() (gas: 3020464)
ForwarderTest:test_Forward_Success(uint256) (runs: 256, μ: 226200, ~: 227289)
ForwarderTest:test_MultiForward_Success(uint256,uint256) (runs: 256, μ: 257876, ~: 259120)
ForwarderTest:test_OwnerForward_Success() (gas: 30118)
ForwarderTest:test_SetAuthorizedSenders_Success() (gas: 160524)
ForwarderTest:test_TransferOwnershipWithMessage_Success() (gas: 35123)
OperatorTest:test_CancelOracleRequest_Success() (gas: 274436)
OperatorTest:test_FulfillOracleRequest_Success() (gas: 330603)
OperatorTest:test_NotAuthorizedSender_Revert() (gas: 246716)
OperatorTest:test_OracleRequest_Success() (gas: 250019)
OperatorTest:test_SendRequestAndCancelRequest_Success(uint96) (runs: 256, μ: 387120, ~: 387124)
OperatorTest:test_SendRequest_Success(uint96) (runs: 256, μ: 303611, ~: 303620)
16 changes: 8 additions & 8 deletions contracts/src/v0.8/operatorforwarder/test/Factory.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ contract FactoryTest is Deployer {
function setUp() public {
_setUp();

vm.startPrank(s_alice);
vm.startPrank(ALICE);
}

function test_DeployNewOperator_Success() public {
Expand All @@ -18,7 +18,7 @@ contract FactoryTest is Deployer {
// Assert that the new operator was indeed created by the factory.
assertTrue(s_factory.created(newOperator));
// Ensure that Alice is the owner of the newly deployed operator.
require(Operator(newOperator).owner() == s_alice);
require(Operator(newOperator).owner() == ALICE);
}

function test_DeployNewOperatorAndForwarder_Success() public {
Expand All @@ -29,7 +29,7 @@ contract FactoryTest is Deployer {
assertTrue(s_factory.created(newOperator));
assertTrue(s_factory.created(newForwarder));
// Ensure that Alice is the owner of the newly deployed operator.
require(Operator(newOperator).owner() == s_alice);
require(Operator(newOperator).owner() == ALICE);

//Operator to accept ownership
vm.startPrank(newOperator);
Expand All @@ -45,25 +45,25 @@ contract FactoryTest is Deployer {
// Assert that the new forwarder was indeed created by the factory.
assertTrue(s_factory.created(newForwarder));
// Ensure that Alice is the owner of the newly deployed forwarder.
require(AuthorizedForwarder(newForwarder).owner() == s_alice);
require(AuthorizedForwarder(newForwarder).owner() == ALICE);
}

function test_DeployNewForwarderAndTransferOwnership_Success() public {
// Deploy a new forwarder with a proposal to transfer its ownership to Bob.
address newForwarder = s_factory.deployNewForwarderAndTransferOwnership(s_bob, new bytes(0));
address newForwarder = s_factory.deployNewForwarderAndTransferOwnership(BOB, new bytes(0));
// Assert that the new forwarder was indeed created by the factory.
assertTrue(s_factory.created(newForwarder));
// Ensure that Alice is still the current owner of the newly deployed forwarder.
require(AuthorizedForwarder(newForwarder).owner() == s_alice);
require(AuthorizedForwarder(newForwarder).owner() == ALICE);

// Only proposed owner can call acceptOwnership()
vm.expectRevert("Must be proposed owner");
AuthorizedForwarder(newForwarder).acceptOwnership();

vm.startPrank(s_bob);
vm.startPrank(BOB);
// Let Bob accept the ownership.
AuthorizedForwarder(newForwarder).acceptOwnership();
// Ensure that Bob is now the owner of the forwarder after the transfer.
require(AuthorizedForwarder(newForwarder).owner() == s_bob);
require(AuthorizedForwarder(newForwarder).owner() == BOB);
}
}
82 changes: 41 additions & 41 deletions contracts/src/v0.8/operatorforwarder/test/Forwarder.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ contract ForwarderTest is Deployer {
function setUp() public {
_setUp();

vm.prank(s_alice);
vm.prank(ALICE);
s_forwarder = AuthorizedForwarder(s_factory.deployNewForwarder());
}

Expand All @@ -21,51 +21,51 @@ contract ForwarderTest is Deployer {
vm.expectRevert("Cannot set authorized senders");
s_forwarder.setAuthorizedSenders(senders);

vm.prank(s_alice);
vm.prank(ALICE);
// Expect a revert because the sender list is empty
vm.expectRevert("Must have at least 1 sender");
s_forwarder.setAuthorizedSenders(senders);

// Create a list with two identical sender addresses
senders = new address[](2);
senders[0] = s_sender1;
senders[1] = s_sender1;
senders[0] = SENDER_1;
senders[1] = SENDER_1;

vm.prank(s_alice);
vm.prank(ALICE);
// Expect a revert because the sender list has duplicates
vm.expectRevert("Must not have duplicate senders");
s_forwarder.setAuthorizedSenders(senders);

// Set the second sender to a different address
senders[1] = s_sender2;
senders[1] = SENDER_2;

vm.prank(s_alice);
vm.prank(ALICE);
// Update the authorized senders list
s_forwarder.setAuthorizedSenders(senders);

// Check if both s_sender1 and s_sender2 are now authorized
assertTrue(s_forwarder.isAuthorizedSender(s_sender1));
assertTrue(s_forwarder.isAuthorizedSender(s_sender2));
// Check if both SENDER_1 and SENDER_2 are now authorized
assertTrue(s_forwarder.isAuthorizedSender(SENDER_1));
assertTrue(s_forwarder.isAuthorizedSender(SENDER_2));

// Fetch the authorized senders and verify they match the set addresses
address[] memory returnedSenders = s_forwarder.getAuthorizedSenders();
require(returnedSenders[0] == senders[0]);
require(returnedSenders[1] == senders[1]);

// Create a new list with only s_sender3
// Create a new list with only SENDER_3
senders = new address[](1);
senders[0] = s_sender3;
senders[0] = SENDER_3;

// Prank 'alice' and update the authorized senders to just s_sender3
vm.prank(s_alice);
// Prank 'alice' and update the authorized senders to just SENDER_3
vm.prank(ALICE);
s_forwarder.setAuthorizedSenders(senders);

// Ensure s_sender1 and s_sender2 are no longer authorized
assertFalse(s_forwarder.isAuthorizedSender(s_sender1));
assertFalse(s_forwarder.isAuthorizedSender(s_sender2));
// Ensure SENDER_1 and SENDER_2 are no longer authorized
assertFalse(s_forwarder.isAuthorizedSender(SENDER_1));
assertFalse(s_forwarder.isAuthorizedSender(SENDER_2));

// Check that s_sender3 is now the only authorized sender
assertTrue(s_forwarder.isAuthorizedSender(s_sender3));
// Check that SENDER_3 is now the only authorized sender
assertTrue(s_forwarder.isAuthorizedSender(SENDER_3));
returnedSenders = s_forwarder.getAuthorizedSenders();
require(returnedSenders[0] == senders[0]);
}
Expand All @@ -76,23 +76,23 @@ contract ForwarderTest is Deployer {
vm.expectRevert("Not authorized sender");
s_forwarder.forward(address(0), new bytes(0));

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Cannot forward to Link token");
s_forwarder.forward(address(s_link), new bytes(0));

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Must forward to a contract");
s_forwarder.forward(address(0), new bytes(0));

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Forwarded call reverted without reason");
s_forwarder.forward(address(s_mockReceiver), new bytes(0));

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("test revert message");
s_forwarder.forward(address(s_mockReceiver), abi.encodeWithSignature("revertMessage()"));

vm.prank(s_sender1);
vm.prank(SENDER_1);
s_forwarder.forward(address(s_mockReceiver), abi.encodeWithSignature("receiveData(uint256)", _value));

require(s_mockReceiver.getValue() == _value);
Expand All @@ -110,33 +110,33 @@ contract ForwarderTest is Deployer {
tos = new address[](2);
datas = new bytes[](1);

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Arrays must have the same length");
s_forwarder.multiForward(tos, datas);

datas = new bytes[](2);

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Must forward to a contract");
s_forwarder.multiForward(tos, datas);

tos[0] = address(s_mockReceiver);
tos[1] = address(s_link);

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Forwarded call reverted without reason");
s_forwarder.multiForward(tos, datas);

datas[0] = abi.encodeWithSignature("receiveData(uint256)", _value1);
datas[1] = abi.encodeWithSignature("receiveData(uint256)", _value2);

vm.prank(s_sender1);
vm.prank(SENDER_1);
vm.expectRevert("Cannot forward to Link token");
s_forwarder.multiForward(tos, datas);

tos[1] = address(s_mockReceiver);

vm.prank(s_sender1);
vm.prank(SENDER_1);
s_forwarder.multiForward(tos, datas);

require(s_mockReceiver.getValue() == _value2);
Expand All @@ -146,38 +146,38 @@ contract ForwarderTest is Deployer {
vm.expectRevert("Only callable by owner");
s_forwarder.ownerForward(address(0), new bytes(0));

vm.prank(s_alice);
vm.prank(ALICE);
vm.expectRevert("Forwarded call reverted without reason");
s_forwarder.ownerForward(address(s_link), new bytes(0));

vm.prank(s_alice);
vm.prank(ALICE);
s_forwarder.ownerForward(address(s_link), abi.encodeWithSignature("balanceOf(address)", address(0)));
}

function test_TransferOwnershipWithMessage_Success() public {
vm.prank(s_bob);
vm.prank(BOB);
vm.expectRevert("Only callable by owner");
s_forwarder.transferOwnershipWithMessage(s_bob, new bytes(0));
s_forwarder.transferOwnershipWithMessage(BOB, new bytes(0));

vm.prank(s_alice);
s_forwarder.transferOwnershipWithMessage(s_bob, new bytes(0));
vm.prank(ALICE);
s_forwarder.transferOwnershipWithMessage(BOB, new bytes(0));

vm.expectRevert("Must be proposed owner");
s_forwarder.acceptOwnership();

vm.prank(s_bob);
vm.prank(BOB);
s_forwarder.acceptOwnership();

require(s_forwarder.owner() == s_bob);
require(s_forwarder.owner() == BOB);
}

function _addSenders() internal {
address[] memory senders = new address[](3);
senders[0] = s_sender1;
senders[1] = s_sender2;
senders[2] = s_sender3;
senders[0] = SENDER_1;
senders[1] = SENDER_2;
senders[2] = SENDER_3;

vm.prank(s_alice);
vm.prank(ALICE);
s_forwarder.setAuthorizedSenders(senders);
}
}
Loading

0 comments on commit 92af973

Please sign in to comment.