S Price: $0.406168 (-1.39%)

Contract

0x2705176750a81d6b1C64c5081d55aA1B54681917

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x68329217...01b161300
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
HypeRegistry

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion, BSL 1.1 license
File 1 of 1 : HypeRegistry.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.6.0 <0.8.0;

contract HypeRegistry {
    
    address public owner;
    address[] public registry;
    mapping(address=>uint256) public registryMap;
    int256 public counter;
    
    event HypeAdded(address hype, uint256 index);
    event HypeRemoved(address hype, uint256 index);
    
    constructor() {
        owner = msg.sender;    
    }
    
    function add(address hype) external {
        require(msg.sender == owner,"only owner");
        require(registryMap[hype]==0, "exists");
        registry.push(hype);
        registryMap[hype] = registry.length;
        counter++;
        emit HypeAdded(hype, registry.length-1);
    }
    
    function addMany(address[] memory hypes) external {
        require(msg.sender == owner,"only owner");
        for(uint256 i=0; i<hypes.length; i++) {
            if(registryMap[hypes[i]]!=0) continue;
            registry.push(hypes[i]);
            registryMap[hypes[i]] = registry.length;
            counter++;
            emit HypeAdded(hypes[i], registry.length-1);
        }
    }

    function remove(address hype) external {
        require(msg.sender == owner,"only owner");
        require(registryMap[hype]!=0, "not exists");
        emit HypeRemoved(hype, registryMap[hype]-1);
        registryMap[hype] = 0;
        counter--;
    }
    
    function hypeByIndex(uint256 index) external view returns (address, uint256){
        return (registry[index], registryMap[registry[index]]);
    }
    
    function transferOwnership(address newOwner) external {
        require(msg.sender == owner, "only owner");
        owner = newOwner;
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 800
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"hype","type":"address"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"}],"name":"HypeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"hype","type":"address"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"}],"name":"HypeRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"hype","type":"address"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"hypes","type":"address[]"}],"name":"addMany","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"hypeByIndex","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"registryMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"hype","type":"address"}],"name":"remove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638da5cb5b11610076578063b37d97b51161005b578063b37d97b514610191578063f1b4063714610234578063f2fde38b1461025a576100a3565b80638da5cb5b14610149578063ab0cd78a14610151576100a3565b80630a3b0a4f146100a857806329092d0e146100d05780635893253c146100f657806361bc221a1461012f575b600080fd5b6100ce600480360360208110156100be57600080fd5b50356001600160a01b0316610280565b005b6100ce600480360360208110156100e657600080fd5b50356001600160a01b03166103ee565b6101136004803603602081101561010c57600080fd5b503561051e565b604080516001600160a01b039092168252519081900360200190f35b610137610548565b60408051918252519081900360200190f35b61011361054e565b61016e6004803603602081101561016757600080fd5b503561055d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6100ce600480360360208110156101a757600080fd5b8101906020810181356401000000008111156101c257600080fd5b8201836020820111156101d457600080fd5b803590602001918460208302840111640100000000831117156101f657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105cb945050505050565b6101376004803603602081101561024a57600080fd5b50356001600160a01b0316610771565b6100ce6004803603602081101561027057600080fd5b50356001600160a01b0316610783565b6000546001600160a01b031633146102cc576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205415610337576040805162461bcd60e51b815260206004820152600660248201527f6578697374730000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03841690811790915581546000828152600260209081526040918290208390556003805490950190945580519283526000199091019282019290925281517ffd73610dd51217377ee8fbb2a8afed164757d1aefb01f51caaf9d0b9be54613c929181900390910190a150565b6000546001600160a01b0316331461043a576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b0381166000908152600260205260409020546104a4576040805162461bcd60e51b815260206004820152600a60248201527f6e6f742065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260026020908152604091829020548251938452600019019083015280517fc12dfa67fe859719af9494510072bf7178d159a6ca10a9441c2f4f8f7bbd8a719281900390910190a16001600160a01b031660009081526002602052604081205560038054600019019055565b6001818154811061052e57600080fd5b6000918252602090912001546001600160a01b0316905081565b60035481565b6000546001600160a01b031681565b6000806001838154811061056d57fe5b9060005260206000200160009054906101000a90046001600160a01b0316600260006001868154811061059c57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020549092509050915091565b6000546001600160a01b03163314610617576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b60005b815181101561076d576002600083838151811061063357fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461066857610765565b600182828151811061067657fe5b602090810291909101810151825460018082018555600094855292842001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905554835190916002918590859081106106d257fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205560038054600101905581517ffd73610dd51217377ee8fbb2a8afed164757d1aefb01f51caaf9d0b9be54613c9083908390811061072f57fe5b6020026020010151600180805490500360405180836001600160a01b031681526020018281526020019250505060405180910390a15b60010161061a565b5050565b60026020526000908152604090205481565b6000546001600160a01b031633146107cf576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905556fea164736f6c6343000706000a

Deployed Bytecode Sourcemap

69:1592:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;411:285;;;;;;;;;;;;;;;;-1:-1:-1;411:285:0;-1:-1:-1;;;;;411:285:0;;:::i;:::-;;1099:253;;;;;;;;;;;;;;;;-1:-1:-1;1099:253:0;-1:-1:-1;;;;;1099:253:0;;:::i;128:25::-;;;;;;;;;;;;;;;;-1:-1:-1;128:25:0;;:::i;:::-;;;;-1:-1:-1;;;;;128:25:0;;;;;;;;;;;;;;209:21;;;:::i;:::-;;;;;;;;;;;;;;;;102:20;;;:::i;1362:147::-;;;;;;;;;;;;;;;;-1:-1:-1;1362:147:0;;:::i;:::-;;;;-1:-1:-1;;;;;1362:147:0;;;;;;;;;;;;;;;;;;;;;706:387;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;706:387:0;;-1:-1:-1;706:387:0;;-1:-1:-1;;;;;706:387:0:i;159:44::-;;;;;;;;;;;;;;;;-1:-1:-1;159:44:0;-1:-1:-1;;;;;159:44:0;;:::i;1519:139::-;;;;;;;;;;;;;;;;-1:-1:-1;1519:139:0;-1:-1:-1;;;;;1519:139:0;;:::i;411:285::-;479:5;;-1:-1:-1;;;;;479:5:0;465:10;:19;457:41;;;;;-1:-1:-1;;;457:41:0;;;;;;;;;;;;-1:-1:-1;;;457:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;516:17:0;;;;;;:11;:17;;;;;;:20;508:39;;;;;-1:-1:-1;;;508:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;557:8;:19;;;;;;;;;;;-1:-1:-1;;557:19:0;-1:-1:-1;;;;;557:19:0;;;;;;;;606:15;;-1:-1:-1;586:17:0;;;:11;557:19;586:17;;;;;;;;:35;;;631:7;:9;;;;;;;;655:34;;;;;-1:-1:-1;;671:17:0;;;655:34;;;;;;;;;;;;;;;;;;;;411:285;:::o;1099:253::-;1170:5;;-1:-1:-1;;;;;1170:5:0;1156:10;:19;1148:41;;;;;-1:-1:-1;;;1148:41:0;;;;;;;;;;;;-1:-1:-1;;;1148:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;1207:17:0;;;;;;:11;:17;;;;;;1199:43;;;;;-1:-1:-1;;;1199:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1275:17:0;;;;;;:11;:17;;;;;;;;;;1257:38;;;;;-1:-1:-1;;1275:19:0;1257:38;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1305:17:0;1325:1;1305:17;;;:11;:17;;;;;:21;1336:7;:9;;-1:-1:-1;;1336:9:0;;;1099:253::o;128:25::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;128:25:0;;-1:-1:-1;128:25:0;:::o;209:21::-;;;;:::o;102:20::-;;;-1:-1:-1;;;;;102:20:0;;:::o;1362:147::-;1421:7;1430;1456:8;1465:5;1456:15;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1456:15:0;1473:11;:28;1485:8;1494:5;1485:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1485:15:0;1473:28;;;;;;;;;;;;;1448:54;;-1:-1:-1;1473:28:0;-1:-1:-1;1362:147:0;;;:::o;706:387::-;788:5;;-1:-1:-1;;;;;788:5:0;774:10;:19;766:41;;;;;-1:-1:-1;;;766:41:0;;;;;;;;;;;;-1:-1:-1;;;766:41:0;;;;;;;;;;;;;;;821:9;817:270;836:5;:12;834:1;:14;817:270;;;872:11;:21;884:5;890:1;884:8;;;;;;;;;;;;;;-1:-1:-1;;;;;872:21:0;-1:-1:-1;;;;;872:21:0;;;;;;;;;;;;;895:1;872:24;869:37;;898:8;;869:37;920:8;934:5;940:1;934:8;;;;;;;;;;;;;;;;;;;920:23;;;;;;;;-1:-1:-1;920:23:0;;;;;;;;;-1:-1:-1;;920:23:0;-1:-1:-1;;;;;920:23:0;;;;;;;;;981:15;969:8;;981:15;;957:11;;969:8;;975:1;;969:8;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;957:21:0;;;;;;;;;;;-1:-1:-1;957:21:0;:39;1010:7;:9;;;;;;1048:8;;1038:38;;1048:5;;1054:1;;1048:8;;;;;;;;;;;;1074:1;1058:8;:15;;;;:17;1038:38;;;;-1:-1:-1;;;;;1038:38:0;;;;;;;;;;;;;;;;;;;;;817:270;850:3;;817:270;;;;706:387;:::o;159:44::-;;;;;;;;;;;;;:::o;1519:139::-;1605:5;;-1:-1:-1;;;;;1605:5:0;1591:10;:19;1583:42;;;;;-1:-1:-1;;;1583:42:0;;;;;;;;;;;;-1:-1:-1;;;1583:42:0;;;;;;;;;;;;;;;1635:5;:16;;-1:-1:-1;;1635:16:0;-1:-1:-1;;;;;1635:16:0;;;;;;;;;;1519:139::o

Swarm Source

none

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.