Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions testdata/default/cheats/AccessList.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import "ds-test/test.sol";
import "cheats/Vm.sol";

contract AccessListIsolatedTest is DSTest {
Vm constant vm = Vm(HEVM_ADDRESS);
Vm constant VM = Vm(HEVM_ADDRESS);

function test_access_list() public {
Write anotherWrite = new Write();
Expand All @@ -19,7 +19,7 @@ contract AccessListIsolatedTest is DSTest {
Vm.AccessListItem[] memory accessList = new Vm.AccessListItem[](1);
bytes32[] memory readKeys = new bytes32[](0);
accessList[0] = Vm.AccessListItem(address(anotherWrite), readKeys);
vm.accessList(accessList);
VM.accessList(accessList);

uint256 initial1 = gasleft();
write.setNumber(2);
Expand All @@ -30,7 +30,7 @@ contract AccessListIsolatedTest is DSTest {
assertEq(initial2 - gasleft(), 29162);

// reset access list, should take same gas as before setting
vm.noAccessList();
VM.noAccessList();
uint256 initial4 = gasleft();
write.setNumber(4);
assertEq(initial4 - gasleft(), 26762);
Expand All @@ -39,7 +39,7 @@ contract AccessListIsolatedTest is DSTest {
write.setNumber(5);
assertEq(initial5 - gasleft(), 26762);

vm.accessList(accessList);
VM.accessList(accessList);
uint256 initial6 = gasleft();
write.setNumber(6);
assertEq(initial6 - gasleft(), 29162);
Expand Down
98 changes: 49 additions & 49 deletions testdata/default/cheats/AttachDelegation.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import "cheats/Vm.sol";
contract AttachDelegationTest is DSTest {
event ExecutedBy(uint256 id);

Vm constant vm = Vm(HEVM_ADDRESS);
Vm constant VM = Vm(HEVM_ADDRESS);
uint256 alice_pk = 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d;
address payable alice = payable(0x70997970C51812dc3A010C7d01b50e0d17dc79C8);
uint256 bob_pk = 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a;
Expand All @@ -24,13 +24,13 @@ contract AttachDelegationTest is DSTest {
}

function testCallSingleAttachDelegation() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk);
SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});
// executing as bob to make clear that we don't need to execute the tx as alice
vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation);

bytes memory code = address(alice).code;
require(code.length > 0, "no code written to alice");
Expand All @@ -40,13 +40,13 @@ contract AttachDelegationTest is DSTest {
}

function testCallSingleAttachCrossChainDelegation() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk, true);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk, true);
SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});
// executing as bob to make clear that we don't need to execute the tx as alice
vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation, true);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation, true);

bytes memory code = address(alice).code;
require(code.length > 0, "no code written to alice");
Expand All @@ -57,19 +57,19 @@ contract AttachDelegationTest is DSTest {

/// forge-config: default.allow_internal_expect_revert = true
function testCallSingleAttachDelegationWithNonce() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk, 11);
vm.broadcast(bob_pk);
vm._expectCheatcodeRevert("vm.attachDelegation: invalid nonce");
vm.attachDelegation(signedDelegation);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk, 11);
VM.broadcast(bob_pk);
VM._expectCheatcodeRevert("VM.attachDelegation: invalid nonce");
VM.attachDelegation(signedDelegation);

signedDelegation = vm.signDelegation(address(implementation), alice_pk, 0);
vm.attachDelegation(signedDelegation);
signedDelegation = VM.signDelegation(address(implementation), alice_pk, 0);
VM.attachDelegation(signedDelegation);
}

function testMultiCallAttachDelegation() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk);
vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation);

SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](2);
calls[0] =
Expand All @@ -87,9 +87,9 @@ contract AttachDelegationTest is DSTest {
}

function testMultiCallAttachCrossChainDelegation() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk, true);
vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation, true);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk, true);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation, true);

SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](2);
calls[0] =
Expand All @@ -107,25 +107,25 @@ contract AttachDelegationTest is DSTest {
}

function testSwitchAttachDelegation() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk);

SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});

vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation);

vm.expectEmit(true, true, true, true);
VM.expectEmit(true, true, true, true);
emit ExecutedBy(1);
SimpleDelegateContract(alice).execute(calls);

// switch to implementation2
Vm.SignedDelegation memory signedDelegation2 = vm.signDelegation(address(implementation2), alice_pk);
vm.broadcast(bob_pk);
vm.attachDelegation(signedDelegation2);
Vm.SignedDelegation memory signedDelegation2 = VM.signDelegation(address(implementation2), alice_pk);
VM.broadcast(bob_pk);
VM.attachDelegation(signedDelegation2);

vm.expectEmit(true, true, true, true);
VM.expectEmit(true, true, true, true);
emit ExecutedBy(2);
SimpleDelegateContract(alice).execute(calls);

Expand All @@ -135,40 +135,40 @@ contract AttachDelegationTest is DSTest {

/// forge-config: default.allow_internal_expect_revert = true
function testAttachDelegationRevertInvalidSignature() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk);
// change v from 1 to 0
signedDelegation.v = (signedDelegation.v + 1) % 2;
vm.attachDelegation(signedDelegation);
VM.attachDelegation(signedDelegation);

SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});

vm.broadcast(alice_pk);
VM.broadcast(alice_pk);
// empty revert because no bytecode was set to Alice's account
vm.expectRevert();
VM.expectRevert();
SimpleDelegateContract(alice).execute(calls);
}

function testAttachDelegationRevertsAfterNonceChange() public {
Vm.SignedDelegation memory signedDelegation = vm.signDelegation(address(implementation), alice_pk);
Vm.SignedDelegation memory signedDelegation = VM.signDelegation(address(implementation), alice_pk);

vm.broadcast(alice_pk);
VM.broadcast(alice_pk);
// send tx to increment alice's nonce
token.mint(1, bob);

vm._expectCheatcodeRevert("vm.attachDelegation: invalid nonce");
vm.attachDelegation(signedDelegation);
VM._expectCheatcodeRevert("VM.attachDelegation: invalid nonce");
VM.attachDelegation(signedDelegation);
}

function testCallSingleSignAndAttachDelegation() public {
SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});
vm.signAndAttachDelegation(address(implementation), alice_pk);
VM.signAndAttachDelegation(address(implementation), alice_pk);
bytes memory code = address(alice).code;
require(code.length > 0, "no code written to alice");
vm.broadcast(bob_pk);
VM.broadcast(bob_pk);
SimpleDelegateContract(alice).execute(calls);

assertEq(token.balanceOf(bob), 100);
Expand All @@ -178,26 +178,26 @@ contract AttachDelegationTest is DSTest {
SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](1);
bytes memory data = abi.encodeCall(ERC20.mint, (100, bob));
calls[0] = SimpleDelegateContract.Call({to: address(token), data: data, value: 0});
vm.signAndAttachDelegation(address(implementation), alice_pk, true);
VM.signAndAttachDelegation(address(implementation), alice_pk, true);
bytes memory code = address(alice).code;
require(code.length > 0, "no code written to alice");
vm.broadcast(bob_pk);
VM.broadcast(bob_pk);
SimpleDelegateContract(alice).execute(calls);

assertEq(token.balanceOf(bob), 100);
}

/// forge-config: default.allow_internal_expect_revert = true
function testCallSingleSignAndAttachDelegationWithNonce() public {
vm._expectCheatcodeRevert("vm.signAndAttachDelegation: invalid nonce");
vm.signAndAttachDelegation(address(implementation), alice_pk, 11);
VM._expectCheatcodeRevert("VM.signAndAttachDelegation: invalid nonce");
VM.signAndAttachDelegation(address(implementation), alice_pk, 11);

vm.signAndAttachDelegation(address(implementation), alice_pk, 0);
VM.signAndAttachDelegation(address(implementation), alice_pk, 0);
}

function testMultipleDelegationsOnTransaction() public {
vm.signAndAttachDelegation(address(implementation), alice_pk);
vm.signAndAttachDelegation(address(implementation2), bob_pk);
VM.signAndAttachDelegation(address(implementation), alice_pk);
VM.signAndAttachDelegation(address(implementation2), bob_pk);
SimpleDelegateContract.Call[] memory calls = new SimpleDelegateContract.Call[](2);
calls[0] = SimpleDelegateContract.Call({
to: address(token),
Expand All @@ -206,16 +206,16 @@ contract AttachDelegationTest is DSTest {
});
calls[1] =
SimpleDelegateContract.Call({to: address(token), data: abi.encodeCall(ERC20.mint, (50, alice)), value: 0});
vm.broadcast(bob_pk);
VM.broadcast(bob_pk);
SimpleDelegateContract(alice).execute(calls);

assertEq(token.balanceOf(address(this)), 50);
assertEq(token.balanceOf(alice), 50);

vm._expectCheatcodeRevert("vm.signAndAttachDelegation: invalid nonce");
vm.signAndAttachDelegation(address(implementation), alice_pk, 1);
vm.signAndAttachDelegation(address(implementation), alice_pk, 0);
vm.signAndAttachDelegation(address(implementation2), bob_pk, 2);
VM._expectCheatcodeRevert("VM.signAndAttachDelegation: invalid nonce");
VM.signAndAttachDelegation(address(implementation), alice_pk, 1);
VM.signAndAttachDelegation(address(implementation), alice_pk, 0);
VM.signAndAttachDelegation(address(implementation2), bob_pk, 2);
}
}

Expand Down
6 changes: 3 additions & 3 deletions testdata/default/cheats/Base64.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ import "cheats/Vm.sol";
import "../logs/console.sol";

contract Base64Test is DSTest {
Vm constant vm = Vm(HEVM_ADDRESS);
Vm constant VM = Vm(HEVM_ADDRESS);

function test_toBase64() public {
bytes memory input = hex"00112233445566778899aabbccddeeff";
string memory expected = "ABEiM0RVZneImaq7zN3u/w==";
string memory actual = vm.toBase64(input);
string memory actual = VM.toBase64(input);
assertEq(actual, expected);
}

function test_toBase64URL() public {
bytes memory input = hex"00112233445566778899aabbccddeeff";
string memory expected = "ABEiM0RVZneImaq7zN3u_w==";
string memory actual = vm.toBase64URL(input);
string memory actual = VM.toBase64URL(input);
assertEq(actual, expected);
}
}
Loading