diff --git a/packages/contracts/contracts/LenderCommitmentForwarder/extensions/LenderCommitmentGroup/LenderCommitmentGroup_Pool_V2.sol b/packages/contracts/contracts/LenderCommitmentForwarder/extensions/LenderCommitmentGroup/LenderCommitmentGroup_Pool_V2.sol index 5f28993cd..154c6fb8b 100644 --- a/packages/contracts/contracts/LenderCommitmentForwarder/extensions/LenderCommitmentGroup/LenderCommitmentGroup_Pool_V2.sol +++ b/packages/contracts/contracts/LenderCommitmentForwarder/extensions/LenderCommitmentGroup/LenderCommitmentGroup_Pool_V2.sol @@ -1301,6 +1301,7 @@ contract LenderCommitmentGroup_Pool_V2 is // Similar to addPrincipalToCommitmentGroup but following ERC4626 standard require(assets > 0 ); + require( msg.sender == receiver); bool poolWasActivated = poolIsActivated(); @@ -1351,6 +1352,8 @@ contract LenderCommitmentGroup_Pool_V2 is assets = previewMint(shares); require(assets > 0); + require( msg.sender == receiver ); + bool poolWasActivated = poolIsActivated(); diff --git a/packages/contracts/tests/SmartCommitmentForwarder/LenderCommitmentGroup_Pool_V2_Test.sol b/packages/contracts/tests/SmartCommitmentForwarder/LenderCommitmentGroup_Pool_V2_Test.sol index 778f83796..09fc19fed 100644 --- a/packages/contracts/tests/SmartCommitmentForwarder/LenderCommitmentGroup_Pool_V2_Test.sol +++ b/packages/contracts/tests/SmartCommitmentForwarder/LenderCommitmentGroup_Pool_V2_Test.sol @@ -364,6 +364,93 @@ contract LenderCommitmentGroup_Pool_V2_Test is Testable { } + + function test_erc4626_deposit_requires_msg_sender_receiver() public { + initialize_group_contract(); + lenderCommitmentGroupSmartV2.set_mockSharesExchangeRate(1e36); + + lenderCommitmentGroupSmartV2.set_mockPoolIsActivated(true); + + vm.prank(address(lender)); + principalToken.approve(address(lenderCommitmentGroupSmartV2), 1000000); + + + + uint256 originalTime = block.timestamp; + vm.warp( originalTime + 5000000); + + + + + address recipient = address(liquidator); + + + vm.expectRevert(); + + vm.prank(address(lender)); + uint256 sharesAmount = lenderCommitmentGroupSmartV2.deposit(1000000, address(recipient)); + + + + + + + + } + + + // ERC4626 Vault Tests + /* function test_erc4626_deposit_resets_shares_delay() public { + initialize_group_contract(); + lenderCommitmentGroupSmartV2.set_mockSharesExchangeRate(1e36); + + lenderCommitmentGroupSmartV2.set_mockPoolIsActivated(true); + + vm.prank(address(lender)); + principalToken.approve(address(lenderCommitmentGroupSmartV2), 1000000); + + + + uint256 originalTime = block.timestamp; + vm.warp( originalTime + 5000000); + + + + + address recipient = address(liquidator); + + vm.prank(address(lender)); + uint256 sharesAmount = lenderCommitmentGroupSmartV2.deposit(1000000, address(recipient)); + + uint256 expectedSharesAmount = 1000000; + assertEq( + sharesAmount, + expectedSharesAmount, + "Received an unexpected amount of shares" + ); + + + + + uint256 sharesLastTransferredAt = lenderCommitmentGroupSmartV2 + .getSharesLastTransferredAt(address(recipient)); + + assertEq( + originalTime + 5000000, + sharesLastTransferredAt, + "Received an unexpected amount of shares" + ); + + }*/ + + + + + + + + + function test_erc4626_accounting() public { initialize_group_contract(); diff --git a/packages/subgraph-pool-v2/README.md b/packages/subgraph-pool-v2/README.md index 0dc4bf711..1abb29e4e 100644 --- a/packages/subgraph-pool-v2/README.md +++ b/packages/subgraph-pool-v2/README.md @@ -74,13 +74,15 @@ graph deploy tellerv2-poolsv2-mainnet \ deploy to goldsky +npm run codegen && npm run build + npm run generate katana npm run generate hyperevm -goldsky subgraph deploy teller-pools-v2-hyperevm/0.4.21.2 +goldsky subgraph deploy teller-pools-v2-hyperevm/0.4.21.10 -goldsky subgraph deploy teller-pools-v2-katana/0.4.21.9 +goldsky subgraph deploy teller-pools-v2-katana/0.4.21.10 ```