Diese Seite ist eine Community-Übersetzung und dient nur zur Orientierung; maßgeblich ist die englische Originalversion.
Englisches Original ↗

Wrapped HYPE

Ein kanonischer System-Contract für Wrapped HYPE ist unter 0x555...5 bereitgestellt. Der Contract ist unveränderlich und entspricht bis auf Token-Name und -Symbol dem Quellcode von Wrapped ETH auf Ethereum.

Der Quellcode für WHYPE ist unten angegeben. Er basiert auf dem WETH-Contract auf dem Ethereum-Mainnet und anderen EVM-Chains.

pragma solidity >=0.4.22 <0.6;

contract WHYPE9 {
  string public name = "Wrapped HYPE";
  string public symbol = "WHYPE";
  uint8 public decimals = 18;

  event Approval(address indexed src, address indexed guy, uint wad);
  event Transfer(address indexed src, address indexed dst, uint wad);
  event Deposit(address indexed dst, uint wad);
  event Withdrawal(address indexed src, uint wad);

  mapping(address => uint) public balanceOf;
  mapping(address => mapping(address => uint)) public allowance;

  function() external payable {
    deposit();
  }

  function deposit() public payable {
    balanceOf[msg.sender] += msg.value;
    emit Deposit(msg.sender, msg.value);
  }

  function withdraw(uint wad) public {
    require(balanceOf[msg.sender] >= wad);
    balanceOf[msg.sender] -= wad;
    msg.sender.transfer(wad);
    emit Withdrawal(msg.sender, wad);
  }

  function totalSupply() public view returns (uint) {
    return address(this).balance;
  }

  function approve(address guy, uint wad) public returns (bool) {
    allowance[msg.sender][guy] = wad;
    emit Approval(msg.sender, guy, wad);
    return true;
  }

  function transfer(address dst, uint wad) public returns (bool) {
    return transferFrom(msg.sender, dst, wad);
  }

  function transferFrom(address src, address dst, uint wad) public returns (bool) {
    require(balanceOf[src] >= wad);

    if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
      require(allowance[src][msg.sender] >= wad);
      allowance[src][msg.sender] -= wad;
    }

    balanceOf[src] -= wad;
    balanceOf[dst] += wad;

    emit Transfer(src, dst, wad);

    return true;
  }
}
Offizielle Quelle: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm/wrapped-hype
Quellstand: · Mirror erstellt: · Community-Übersetzung; die englische Fassung ist maßgeblich
Inoffizielle Community-Übersetzung der Hyperliquid-Dokumentation. Inhalte © Hyperliquid; maßgeblich ist die englische Version. Quelle: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm/wrapped-hype