账户
0x8b...c7ad
0x8b...C7aD

0x8b...C7aD

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.6.12+commit.27d51765
语言
Solidity
合同源代码
文件 1 的 1:Whitelister.sol
// File: contracts/Whitelister.sol

// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

interface SupportsWhitelisting {
  function addToWhiteList(address account) external;
}

contract Whitelister {

  SupportsWhitelisting private target_contract;
  address private backend;
  
  constructor (address _target, address _backend) public {
    target_contract = SupportsWhitelisting(_target);
    backend = _backend;
  }

  function ecrecover1(bytes32 msgHash, bytes32 r, bytes32 s, uint8 v) public pure returns (address ret) {
    ret = ecrecover(msgHash, v, r, s);
  }
  
  function submit(bytes32 r, bytes32 s, uint8 v) external {
    bytes32 assertion = keccak256(abi.encodePacked(msg.sender));
    require(ecrecover(assertion, v, r, s) == backend);
    target_contract.addToWhiteList(msg.sender);
  }
}
设置
{
  "compilationTarget": {
    "browser/Whitelister.sol": "Whitelister"
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_backend","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"msgHash","type":"bytes32"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"name":"ecrecover1","outputs":[{"internalType":"address","name":"ret","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"name":"submit","outputs":[],"stateMutability":"nonpayable","type":"function"}]