diff --git a/code/knlWallet.sol b/code/knlWallet.sol index 9848123..bb5b646 100644 --- a/code/knlWallet.sol +++ b/code/knlWallet.sol @@ -34,11 +34,11 @@ contract knlWallet { modifier isOwner() { for (uint256 i = 0; i < owners.length; i++) { if (owners[i] == msg.sender) { - _; - return; + _; + return; } } - revert("need to be owner"); + revert("need to be owner"); } receive() external payable { } @@ -90,7 +90,9 @@ contract knlWallet { } function executeTransaction(uint256 transactionId) public isOwner { - require(isConfirmed(transactionId), "transaction has not been confirmed"); + require( + isConfirmed(transactionId), "transaction has not been confirmed" + ); Transaction storage _tx = transactions[transactionId]; if (_tx.tokenAddress == address(0)) { diff --git a/code/test/KNL_wallet.t.sol b/code/test/KNL_wallet.t.sol index 528f95f..47c49ce 100644 --- a/code/test/KNL_wallet.t.sol +++ b/code/test/KNL_wallet.t.sol @@ -8,50 +8,54 @@ import "../Kanel42_token.sol"; contract KNLwalletTest is Test { Kanel42_token public token; - knlWallet public wallet; + knlWallet public wallet; address owner1 = address(1); address owner2 = address(2); address owner3 = address(3); address owner4 = address(4); - address to = address(5); + address to = address(5); function setUp() public { - address[] memory owners = new address[](4); - owners[0] = owner1; - owners[1] = owner2; - owners[2] = owner3; - owners[3] = owner4; + address[] memory owners = new address[](4); + owners[0] = owner1; + owners[1] = owner2; + owners[2] = owner3; + owners[3] = owner4; wallet = new knlWallet(owners, 3); token = new Kanel42_token(); - console.log(wallet.owners(0)); - token.mint(10 * (10 ** token.decimals())); - vm.prank(owner3); - token.mint(4 * (10 ** token.decimals())); - token.transfer(address(wallet), 4 * (10 ** token.decimals())); + vm.prank(owner3); + token.mint(4 * (10 ** token.decimals())); + token.transfer(address(wallet), 4 * (10 ** token.decimals())); } - function testAdd() public { - vm.prank(owner1); - wallet.addTransaction(payable(to), 1, address(token)); - } + function testAdd() public { + vm.prank(owner1); + wallet.addTransaction(payable(to), 1, address(token)); + } - function testConfirm() public { - vm.prank(owner1); - wallet.submitTransaction(payable(to), 1, address(token)); + function testConfirm() public { + uint256 initialbalance = token.balanceOf(address(wallet)); + uint256 initialbalanceTo = token.balanceOf(to); + vm.prank(owner1); + wallet.submitTransaction( + payable(to), 1 * (10 ** 6), address(token) + ); - uint tr = wallet.transactionCount() - 1; + uint256 tr = wallet.transactionCount() - 1; - vm.prank(owner2); - wallet.confirmTransaction(tr); + vm.prank(owner2); + wallet.confirmTransaction(tr); - vm.prank(owner3); - wallet.confirmTransaction(tr); + vm.prank(owner3); + wallet.confirmTransaction(tr); - vm.prank(owner4); - wallet.confirmTransaction(tr); - } + uint256 finalBalance = token.balanceOf(address(wallet)); + + assertEq(token.balanceOf(to) - initialbalanceTo, 10 ** token.decimals()); + assertEq(initialbalance - finalBalance, 1 * (10 ** token.decimals())); + } }