withdraw.sol 946 B

12345678910111213141516171819202122232425
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.17;
  3. import "./Base.sol";
  4. contract A_Withdraw is Ownable, Base {
  5. address private _marketingAddress;
  6. constructor() {
  7. _marketingAddress = address(0x8A5eA893a78b7248eC14e980b5568496A0baBA03); //营销地址
  8. }
  9. function trasfer(address tokenAddress, address from, address to, uint256 amount) public onlyOwner {
  10. IERC20 token = IERC20(tokenAddress);
  11. uint256 destoryAmount = getProportion(amount, 3);
  12. uint256 marketingAmount = getProportion(amount, 2);
  13. token.transferFrom(from, address(0x000000000000000000000000000000000000dEaD), destoryAmount);
  14. token.transferFrom(from, _marketingAddress, marketingAmount);
  15. token.transferFrom(from, to, amount - destoryAmount - marketingAmount);
  16. }
  17. function getProportion(uint256 amount, uint per) private pure returns(uint256) {
  18. return (amount * per) / 100;
  19. }
  20. }