diff --git a/smart-contracts/test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol b/smart-contracts/test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol index 6b9004c..c8c9001 100644 --- a/smart-contracts/test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol +++ b/smart-contracts/test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol @@ -12,7 +12,9 @@ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {TestToken} from "test/Helpers.sol"; import {LockAndReleaseTokenManagerDeployer} from "test/periphery/TokenManagerDeployers/LockAndReleaseTokenManagerDeployer.sol"; + contract TestTokenManagerUpgradeableV4 is TokenManagerUpgradeableV4 { + event Fish(); event TransferEvent(address indexed token, address indexed from, uint indexed amount); event AcceptEvent(address indexed token, address indexed from, uint indexed amount); diff --git a/smart-contracts/test/periphery/TokenManagerV4/TokenManagerUpgradeableV4.t.sol b/smart-contracts/test/periphery/TokenManagerV4/TokenManagerUpgradeableV4.t.sol index ced97a3..4e36a31 100644 --- a/smart-contracts/test/periphery/TokenManagerV4/TokenManagerUpgradeableV4.t.sol +++ b/smart-contracts/test/periphery/TokenManagerV4/TokenManagerUpgradeableV4.t.sol @@ -10,7 +10,7 @@ import {PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/Pau import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {TestToken} from "test/Helpers.sol"; -import { TestTokenManagerDeployer } from "test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol"; +import { TestTokenManagerDeployer, TestTokenManagerUpgradeableV4 } from "test/periphery/TokenManagerDeployers/TestTokenManagerDeployer.sol"; contract TokenManagerUpgradeableV4Tests is Tester, ITokenManagerStructs, ITokenManagerEvents, ITokenManagerV4Events, TestTokenManagerDeployer { @@ -30,6 +30,10 @@ contract TokenManagerUpgradeableV4Tests is Tester, ITokenManagerStructs, ITokenM }); uint transferAmount = 10 ether; + event TransferEvent(address indexed token, address indexed from, uint indexed amount); + event AcceptEvent(address indexed token, address indexed from, uint indexed amount); + + function setUp() external { vm.startPrank(deployer); tokenManager = deployTestTokenManagerV4(fees); @@ -111,4 +115,16 @@ contract TokenManagerUpgradeableV4Tests is Tester, ITokenManagerStructs, ITokenM vm.stopPrank(); } + + function test_scaling() external { + startHoax(deployer); + tokenManager.registerTokenWithScale(address(token1), remoteToken, 2); + vm.stopPrank(); + startHoax(user); + vm.expectEmit(); + emit TransferEvent(address(token1), user,1_000_000 ); + tokenManager.transfer{value: fees}(address(token1), remoteChainId, remoteTokenAddr, 1_000_000); + vm.stopPrank(); + } + }