1000000 weiin your smart contract, you are transferring the lowest denomination of ACA or KAR. Transfer of
1 etherwill result transfer of 1 ACA or KAR. Additionally, in order to avoid unexpected transfer amounts, any transfer with value that cannot be exactly represented with 12 decimals will fail. This means any transfer of value that is not a multiple of
10^6 weiwill be reverted. If you rely on such calls for transferring the native currency in your smart contract, your calls might potentially fail.
transfer()calls and making sure you are transferring the expected amounts. The contracts needs to gracefully handle transfer amounts that are either result of user input or arithmetic operations, because the value may not be a valid transferable amount.