ETH Price: $3,390.45 (+4.14%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

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

Contract Source Code Verified (Exact Match)

Contract Name:
DecentralistsMinimalDescriptor

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion
File 1 of 3 : DecentralistsMinimalDescriptor.sol
// SPDX-License-Identifier: MIT

/**
                                                                                               
                                       THE DECENTRALISTS                                       
                                                                                               
                                ·.::::iiiiiiiiiiiiiiiiiii::::.·                                
                           .:::iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii::.·                          
                       .::iiiiiiiii:::::..···      ··..:::::iiiiiiiiii::·                      
                   .::iiiiiii:::.·                            .:::iiiiiii::.                   
                .:iiiiiii::                                         .:iiiiiii:.                
             ·:iiiiii::·                                                ::iiiiii:·             
            :iiiiii:·                 ·.::::::::::::::..                   :iiiiii:·           
          :iiiii::               .:::iiiii:::::::::::iiiii:::.               .:iiiii:·         
        :iiiii:·            ·::iii:::·                   .:::iii::·             :iiiii:·       
      ·iiiii:·            ::iii:·                             .::ii::            ·:iiiii:      
     :iiiii:           ·:ii::·                                   ·:iii:·           .iiiii:     
    :iiiii·          ·:ii:.                                         ·:ii:           ·:iiii:    
   :iiii:          ·:ii:              ·.:::::::i:::::::.·             ·:ii:           :iiiii   
  :iiii:          ·iii:            .::iiiiiiiiiiiiiiiiii:::·            .ii:           .iiii:  
 ·iiiii          ·iii            .:ii:::::::iiiiiiiiiiiiiii::.           ·:i:·          :iiii: 
 :iiii:         ·:i:·          .:iii:      .:iiiiiiiiiiiiiiiii:.           iii           iiiii 
:iiii:          :ii           :iiiii:·     ::iiiiiiiiiiiiiiiiiii:          ·ii:          :iiii:
iiiii·         ·ii:          ::iiiiii::::::iiiiiiiiiiiiiiiiiiiiii.          :ii.         ·iiiii
iiiii          :ii           :iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:·         .ii:          :iiii
iiiii          :ii          .iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.          ii:          :iiii
iiiii          :ii          .iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:.          ii:          :iiii
iiiii          :ii           :iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:·         .ii:          :iiii
iiiii·         ·ii:          ::iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:.          :ii.         ·iiiii
:iiii:          :ii           .:iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:          ·ii:          :iiii:
 :iiii:         ·:i:·          ·::iiiiiiiiiiiiiiiiiiiiiiiiiiii:·           ii:           iiiii 
 ·iiiii           iii·           ·::iiiiiiiiiiiiiiiiiiiiiii::.           .ii:·          :iiii: 
  :iiii:           iii:            ·:::iiiiiiiiiiiiiiiii:::·            :ii:           .iiii:  
   :iiii:           :ii:·              .::::::::::::::..              .:ii:           :iiii:   
    :iiiii·           :iii:                                         .:ii:           ·:iiii:    
     :iiiii:            :iii:·                                   .:iii:·           .iiiii:     
      ·iiiii:·            .:iii:.·                            ::iii::            ·:iiiii:      
        :iiiii:·             .:iiii::.·                 ·:::iiii:.              :iiiii:·       
          :iiiii::               ·:::iiiiiii:::::::iiiiiii:::·               .:iiiii:·         
            :iiiiii:·                   ..:::::::::::..·                   :iiiiii:·           
             ·:iiiiii::·                                                ::iiiiii:·             
                .:iiiiiii::                                         .:iiiiiii:.                
                   .::iiiiiii:::.·                            .:::iiiiiii::.                   
                       .::iiiiiiiii:::::..···      ··..:::::iiiiiiiiii::·                      
                           .:::iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii::.·                          
                                ·.::::iiiiiiiiiiiiiiiiiii::::.·                                


A Decentralist is represented by a set of eight traits:
  0 - Base
    [0] Human Male Black       [8] Vampire Male       [10] Metahuman Male       [12] Ape Male
    [1] Human Female Black     [9] Vampire Female     [11] Metahuman Female
    [2] Human Male Dark
    [3] Human Female Dark
    [4] Human Male Pale
    [5] Human Female Pale
    [6] Human Male White
    [7] Human Female White
  1 - Necklace
    [0] None        [2] Golden
    [1] Diamond     [3] Silver
  2 - Facial Male
    [0] None             [10] Long Gray           [20] Sideburns Blonde
    [1] Chivo Black      [11] Long Red            [21] Sideburns Brown
    [2] Chivo Blonde     [12] Long White          [22] Sideburns Gray
    [3] Chivo Brown      [13] Regular Black       [23] Sideburns Red
    [4] Chivo Gray       [14] Regular Blonde      [24] Sideburns White
    [5] Chivo Red        [15] Regular Brown
    [6] Chivo White      [16] Regular Gray
    [7] Long Black       [17] Regular Red
    [8] Long Blonde      [18] Regular White
    [9] Long Brown       [19] Sideburns Black
  2 - Facial Female
    [0]  None
  3 - Earring
    [0]  None      [2]  Diamond     [4]  Silver
    [1]  Cross     [3]  Golden
  4 - Head Male
    [0] None                [10] CapFront Red     [20] Punky Brown      [30] Short White
    [1] Afro                [11] Hat Black        [21] Punky Gray       [31] Trapper
    [2] CapUp Green         [12] Long Black       [22] Punky Purple     [32] Wool Blue
    [3] CapUp Red           [13] Long Blonde      [23] Punky Red        [33] Wool Green
    [4] Kangaroo Black      [14] Long Brown       [24] Punky White      [34] Wool Red
    [5] CapBack Blue        [15] Long Gray        [25] Short Black
    [6] CapBack Orange      [16] Long Red         [26] Short Blonde
    [7] Conspiracist        [17] Long White       [27] Short Brown
    [8] Cop                 [18] Punky Black      [28] Short Gray
    [9] CapFront Purple     [19] Punky Blonde     [29] Short Red
  4 - Head Female
    [0] None                [10] CapFront Red     [20] Punky Brown      [30] Short White           [40] Trapper
    [1] Afro                [11] Hat Black        [21] Punky Gray       [31] Straight Black        [41] Wool Blue
    [2] CapUp Green         [12] Long Black       [22] Punky Purple     [32] Straight Blonde       [42] Wool Green
    [3] CapUp Red           [13] Long Blonde      [23] Punky Red        [33] Straight Brown        [43] Wool Red
    [4] Kangaroo Black      [14] Long Brown       [24] Punky White      [34] Straight Gray
    [5] CapBack Blue        [15] Long Gray        [25] Short Black      [35] Straight Orange
    [6] CapBack Orange      [16] Long Red         [26] Short Blonde     [36] Straight Platinum
    [7] Conspiracist        [17] Long White       [27] Short Brown      [37] Straight Purple
    [8] Cop                 [18] Punky Black      [28] Short Gray       [38] Straight Red
    [9] CapFront Purple     [19] Punky Blonde     [29] Short Red        [39] Straight White
  5 - Glasses
    [0] None       [2] Nerd      [4] Pilot     [6] VR
    [1] Beetle     [3] Patch     [5] Surf
  6 - Lipstick Male
    [0] None
  6 - Lipstick Female
    [0] None      [2] Orange     [4] Purple
    [1] Green     [3] Pink       [5] Red
  7 - Smoking
    [0] None      [2] Cigarette
    [1] Cigar     [3] E-Cigarette

 */

pragma solidity 0.8.10;

import {Base64} from '../utils/Base64.sol';
import {IDescriptor} from './IDescriptor.sol';

contract DecentralistsMinimalDescriptor is IDescriptor {
  /**
   * @notice Returns the Uniform Resource Identifier (URI) given a set of traits
   * @param traits set of traits
   * @return token uri
   */
  function tokenURI(uint256[8] calldata traits) external pure override returns (string memory) {
    return _buildTokenURI(_buildAttributes(traits), _buildSvg(traits));
  }

  /**
   * @notice Returns a base64 SVG given a set of traits
   * @param traits set of traits
   * @return SVG in base64 format
   */
  function _buildSvg(uint256[8] calldata traits) internal pure returns (string memory) {
    string memory firstPart = string(
      abi.encodePacked(
        '<svg xmlns="http://www.w3.org/2000/svg" width="350" height="350" viewBox="0 0 350 350"><g fill="none" fill-rule="evenodd"><rect width="350" height="350" fill="#12223B"/><text fill="#EDBF5F" font-family="RobotoMono-Bold, Roboto Mono" font-size="14" font-weight="bold" letter-spacing=".085"><tspan x="40" y="173">base: ',
        toString(traits[0]),
        '</tspan><tspan x="40" y="192">necklace: ',
        toString(traits[1]),
        '</tspan><tspan x="40" y="211">facial: ',
        toString(traits[2]),
        '</tspan><tspan x="40" y="230">earring: ',
        toString(traits[3])
      )
    );
    string memory secondPart = string(
      abi.encodePacked(
        '</tspan><tspan x="40" y="249">head: ',
        toString(traits[4]),
        '</tspan><tspan x="40" y="268">glasses: ',
        toString(traits[5]),
        '</tspan><tspan x="40" y="287">lipstick: ',
        toString(traits[6]),
        '</tspan><tspan x="40" y="306">smoking: ',
        toString(traits[7]),
        '</tspan></text><g transform="translate(260 40)"><circle cx="25" cy="25" r="23.795" stroke="#FFF" stroke-width="2.41"/><circle cx="24.934" cy="24.934" r="16.284" stroke="#FFF" stroke-width="1.205"/><circle cx="24.934" cy="24.934" r="9.894" fill="#EDBF5F"/><circle cx="21.154" cy="19.872" r="1.923" fill="#FFF"/></g></g></svg>'
      )
    );
    return Base64.encode(abi.encodePacked(firstPart, secondPart));
  }

  /**
   * @notice Returns a stringify json of attributes given a set of traits
   * @param traits array of traits
   * @return stringify json of attributes
   */
  function _buildAttributes(uint256[8] calldata traits) internal pure returns (string memory) {
    string memory firstPart = string(
      abi.encodePacked(
        '"attributes":[{"trait_type":"Tier","value":"',
        traits[0] < 8 ? 'Standard' : 'Premium',
        '"},{"trait_type":"Sex","value":"',
        traits[0] % 2 == 0 ? 'Male' : 'Female',
        '"},{"trait_type":"Base","value":"',
        toString(traits[0]),
        '"},{"trait_type":"Necklace","value":"',
        toString(traits[1]),
        '"},{"trait_type":"Facial","value":"',
        toString(traits[2])
      )
    );
    string memory secondPart = string(
      abi.encodePacked(
        '"},{"trait_type":"Earring","value":"',
        toString(traits[3]),
        '"},{"trait_type":"Head","value":"',
        toString(traits[4]),
        '"},{"trait_type":"Glasses","value":"',
        toString(traits[5]),
        '"},{"trait_type":"Lipstick","value":"',
        toString(traits[6]),
        '"},{"trait_type":"Smoking","value":"',
        toString(traits[7]),
        '"}]'
      )
    );

    return string(abi.encodePacked(firstPart, secondPart));
  }

  /**
   * @notice Returns the token uri
   * @param traits string array of traits
   * @param imageSVG SVG
   * @return token uri in base64
   */
  function _buildTokenURI(string memory traits, string memory imageSVG)
    internal
    pure
    returns (string memory)
  {
    return
      string(
        abi.encodePacked(
          'data:application/json;base64,',
          Base64.encode(
            bytes(
              abi.encodePacked(
                '{"name":"Decentralists","description":"Decentralists is the collection for those who believe in the revolutionary power of crypto technology. Each one represents a customizable and unique combination stored 100% in the Ethereum blockchain.",',
                traits,
                ',"background_color":"12223B","image":"',
                'data:image/svg+xml;base64,',
                imageSVG,
                '"}'
              )
            )
          )
        )
      );
  }

  /**
   * @dev Convert a uint256 to string
   * @param value uint256 to convert
   * @return converted string
   */
  function toString(uint256 value) internal pure returns (string memory) {
    // Inspired by OraclizeAPI's implementation - MIT license
    // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

    if (value == 0) {
      return '0';
    }
    uint256 temp = value;
    uint256 digits;
    while (temp != 0) {
      digits++;
      temp /= 10;
    }
    bytes memory buffer = new bytes(digits);
    while (value != 0) {
      digits -= 1;
      buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
      value /= 10;
    }
    return string(buffer);
  }
}

File 2 of 3 : Base64.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

/// @title Base64
/// @author Brecht Devos - <[email protected]>
/// @notice Provides a function for encoding some bytes in base64
library Base64 {
  string internal constant TABLE =
    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

  function encode(bytes memory data) internal pure returns (string memory) {
    if (data.length == 0) return '';

    // load the table into memory
    string memory table = TABLE;

    // multiply by 4/3 rounded up
    uint256 encodedLen = 4 * ((data.length + 2) / 3);

    // add some extra buffer at the end required for the writing
    string memory result = new string(encodedLen + 32);

    assembly {
      // set the actual output length
      mstore(result, encodedLen)

      // prepare the lookup table
      let tablePtr := add(table, 1)

      // input ptr
      let dataPtr := data
      let endPtr := add(dataPtr, mload(data))

      // result ptr, jump over length
      let resultPtr := add(result, 32)

      // run over the input, 3 bytes at a time
      for {

      } lt(dataPtr, endPtr) {

      } {
        dataPtr := add(dataPtr, 3)

        // read 3 bytes
        let input := mload(dataPtr)

        // write 4 characters
        mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr(18, input), 0x3F)))))
        resultPtr := add(resultPtr, 1)
        mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr(12, input), 0x3F)))))
        resultPtr := add(resultPtr, 1)
        mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr(6, input), 0x3F)))))
        resultPtr := add(resultPtr, 1)
        mstore(resultPtr, shl(248, mload(add(tablePtr, and(input, 0x3F)))))
        resultPtr := add(resultPtr, 1)
      }

      // padding with '='
      switch mod(mload(data), 3)
      case 1 {
        mstore(sub(resultPtr, 2), shl(240, 0x3d3d))
      }
      case 2 {
        mstore(sub(resultPtr, 1), shl(248, 0x3d))
      }
    }

    return result;
  }
}

File 3 of 3 : IDescriptor.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

interface IDescriptor {
  function tokenURI(uint256[8] calldata) external view returns (string memory);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256[8]","name":"traits","type":"uint256[8]"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b50611465806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806334f4d1a914610030575b600080fd5b61004361003e366004610659565b610059565b60405161005091906106b4565b60405180910390f35b60606100756100678361007b565b61007084610253565b61032b565b92915050565b6060600060088335106100c3576040518060400160405280600781526020017f5072656d69756d000000000000000000000000000000000000000000000000008152506100fa565b6040518060400160405280600881526020017f5374616e646172640000000000000000000000000000000000000000000000008152505b61010660028535610713565b15610146576040518060400160405280600681526020017f46656d616c65000000000000000000000000000000000000000000000000000081525061017d565b6040518060400160405280600481526020017f4d616c65000000000000000000000000000000000000000000000000000000008152505b61018e8560005b602002013561036a565b610199866001610184565b6101a4876002610184565b6040516020016101b8959493929190610743565b60408051601f19818403018152919052905060006101d7846003610184565b6101e2856004610184565b6101ed866005610184565b6101f8876006610184565b610203886007610184565b604051602001610217959493929190610907565b6040516020818303038152906040529050818160405160200161023b929190610af6565b60405160208183030381529060405292505050919050565b606060006102618382610184565b61026c846001610184565b610277856002610184565b610282866003610184565b6040516020016102959493929190610b25565b60408051601f19818403018152919052905060006102b4846004610184565b6102bf856005610184565b6102ca866006610184565b6102d5876007610184565b6040516020016102e89493929190610dcb565b6040516020818303038152906040529050610323828260405160200161030f929190610af6565b60405160208183030381529060405261049c565b949350505050565b6060610343838360405160200161030f929190611105565b6040516020016103539190611301565b604051602081830303815290604052905092915050565b6060816103aa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156103d457806103be8161135c565b91506103cd9050600a83611377565b91506103ae565b60008167ffffffffffffffff8111156103ef576103ef61138b565b6040519080825280601f01601f191660200182016040528015610419576020820181803683370190505b5090505b84156103235761042e6001836113a1565b915061043b600a86610713565b6104469060306113b8565b60f81b81838151811061045b5761045b6106e7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610495600a86611377565b945061041d565b60608151600014156104bc57505060408051602081019091526000815290565b60006040518060600160405280604081526020016113f060409139905060006003845160026104eb91906113b8565b6104f59190611377565b6105009060046113d0565b9050600061050f8260206113b8565b67ffffffffffffffff8111156105275761052761138b565b6040519080825280601f01601f191660200182016040528015610551576020820181803683370190505b509050818152600183018586518101602084015b818310156105bf5760039283018051603f601282901c811687015160f890811b8552600c83901c8216880151811b6001860152600683901c8216880151811b60028601529116860151901b93820193909352600401610565565b6003895106600181146105d957600281146106235761064b565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe83015261064b565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b509398975050505050505050565b600061010080838503121561066d57600080fd5b83818401111561067c57600080fd5b509092915050565b60005b8381101561069f578181015183820152602001610687565b838111156106ae576000848401525b50505050565b60208152600082518060208401526106d3816040850160208701610684565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082610722576107226106fd565b500690565b60008151610739818560208601610684565b9290920192915050565b7f2261747472696275746573223a5b7b2274726169745f74797065223a2254696581527f72222c2276616c7565223a2200000000000000000000000000000000000000006020820152600086516107a181602c850160208b01610684565b7f227d2c7b2274726169745f74797065223a22536578222c2276616c7565223a22602c9184019182015286516107de81604c840160208b01610684565b7f227d2c7b2274726169745f74797065223a2242617365222c2276616c7565223a604c92909101918201527f2200000000000000000000000000000000000000000000000000000000000000606c820152855161084281606d840160208a01610684565b7f227d2c7b2274726169745f74797065223a224e65636b6c616365222c2276616c606d92909101918201527f7565223a22000000000000000000000000000000000000000000000000000000608d8201526108fb6108f56108a66092840188610727565b7f227d2c7b2274726169745f74797065223a2246616369616c222c2276616c756581527f223a220000000000000000000000000000000000000000000000000000000000602082015260230190565b85610727565b98975050505050505050565b7f227d2c7b2274726169745f74797065223a2245617272696e67222c2276616c75815260007f65223a22000000000000000000000000000000000000000000000000000000008060208401528751610966816024860160208c01610684565b7f227d2c7b2274726169745f74797065223a2248656164222c2276616c7565223a6024918501918201527f2200000000000000000000000000000000000000000000000000000000000000604482015287516109c9816045840160208c01610684565b8082019150507f227d2c7b2274726169745f74797065223a22476c6173736573222c2276616c75604582015281606582015286519150610a10826069830160208a01610684565b8181019150507f227d2c7b2274726169745f74797065223a224c6970737469636b222c2276616c60698201527f7565223a2200000000000000000000000000000000000000000000000000000060898201526108fb610acd610ac7610a78608e850189610727565b7f227d2c7b2274726169745f74797065223a22536d6f6b696e67222c2276616c7581527f65223a2200000000000000000000000000000000000000000000000000000000602082015260240190565b86610727565b7f227d5d0000000000000000000000000000000000000000000000000000000000815260030190565b60008351610b08818460208801610684565b835190830190610b1c818360208801610684565b01949350505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2233353022206865696768743d223335302260208201527f2076696577426f783d223020302033353020333530223e3c672066696c6c3d2260408201527f6e6f6e65222066696c6c2d72756c653d226576656e6f6464223e3c726563742060608201527f77696474683d2233353022206865696768743d22333530222066696c6c3d222360808201527f313232323342222f3e3c746578742066696c6c3d22234544424635462220666f60a08201527f6e742d66616d696c793d22526f626f746f4d6f6e6f2d426f6c642c20526f626f60c08201527f746f204d6f6e6f2220666f6e742d73697a653d2231342220666f6e742d77656960e08201527f6768743d22626f6c6422206c65747465722d73706163696e673d222e303835226101008201527f3e3c747370616e20783d2234302220793d22313733223e626173653a200000006101208201526000610dc1610dbb610d6c610d66610d17610d11610cc261013d89018d610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22313932223e6e6581527f636b6c6163653a20000000000000000000000000000000000000000000000000602082015260280190565b8a610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323131223e666181527f6369616c3a200000000000000000000000000000000000000000000000000000602082015260260190565b87610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323330223e656181527f7272696e673a2000000000000000000000000000000000000000000000000000602082015260270190565b84610727565b9695505050505050565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323439223e686581527f61643a2000000000000000000000000000000000000000000000000000000000602082015260008551610e29816024850160208a01610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323638223e676c6024918401918201527f61737365733a200000000000000000000000000000000000000000000000000060448201528551610e8c81604b840160208a01610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323837223e6c69604b92909101918201527f70737469636b3a20000000000000000000000000000000000000000000000000606b8201528451610ef0816073840160208901610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22333036223e736d607392909101918201527f6f6b696e673a200000000000000000000000000000000000000000000000000060938201526110fa610f51609a830186610727565b7f3c2f747370616e3e3c2f746578743e3c67207472616e73666f726d3d2274726181527f6e736c6174652832363020343029223e3c636972636c652063783d223235222060208201527f63793d2232352220723d2232332e37393522207374726f6b653d22234646462260408201527f207374726f6b652d77696474683d22322e3431222f3e3c636972636c6520637860608201527f3d2232342e393334222063793d2232342e3933342220723d2231362e3238342260808201527f207374726f6b653d222346464622207374726f6b652d77696474683d22312e3260a08201527f3035222f3e3c636972636c652063783d2232342e393334222063793d2232342e60c08201527f3933342220723d22392e383934222066696c6c3d2223454442463546222f3e3c60e08201527f636972636c652063783d2232312e313534222063793d2231392e3837322220726101008201527f3d22312e393233222066696c6c3d2223464646222f3e3c2f673e3c2f673e3c2f6101208201527f7376673e000000000000000000000000000000000000000000000000000000006101408201526101440190565b979650505050505050565b7f7b226e616d65223a22446563656e7472616c69737473222c226465736372697081527f74696f6e223a22446563656e7472616c697374732069732074686520636f6c6c60208201527f656374696f6e20666f722074686f73652077686f2062656c6965766520696e2060408201527f746865207265766f6c7574696f6e61727920706f776572206f6620637279707460608201527f6f20746563686e6f6c6f67792e2045616368206f6e6520726570726573656e7460808201527f73206120637573746f6d697a61626c6520616e6420756e6971756520636f6d6260a08201527f696e6174696f6e2073746f726564203130302520696e2074686520457468657260c08201527f65756d20626c6f636b636861696e2e222c00000000000000000000000000000060e0820152600083516112478160f1850160208801610684565b7f2c226261636b67726f756e645f636f6c6f72223a22313232323342222c22696d60f1918401918201527f616765223a2200000000000000000000000000000000000000000000000000006101118201526112f86112cf610ac761011784017f646174613a696d6167652f7376672b786d6c3b6261736536342c0000000000008152601a0190565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b95945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161133981601d850160208701610684565b91909101601d0192915050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561137057611370611346565b5060010190565b600082611386576113866106fd565b500490565b634e487b7160e01b600052604160045260246000fd5b6000828210156113b3576113b3611346565b500390565b600082198211156113cb576113cb611346565b500190565b60008160001904831182151516156113ea576113ea611346565b50029056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220410134a07088bc2654f9a5aa8b6713c730327237ad278c4811c45fcefc28b4e264736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806334f4d1a914610030575b600080fd5b61004361003e366004610659565b610059565b60405161005091906106b4565b60405180910390f35b60606100756100678361007b565b61007084610253565b61032b565b92915050565b6060600060088335106100c3576040518060400160405280600781526020017f5072656d69756d000000000000000000000000000000000000000000000000008152506100fa565b6040518060400160405280600881526020017f5374616e646172640000000000000000000000000000000000000000000000008152505b61010660028535610713565b15610146576040518060400160405280600681526020017f46656d616c65000000000000000000000000000000000000000000000000000081525061017d565b6040518060400160405280600481526020017f4d616c65000000000000000000000000000000000000000000000000000000008152505b61018e8560005b602002013561036a565b610199866001610184565b6101a4876002610184565b6040516020016101b8959493929190610743565b60408051601f19818403018152919052905060006101d7846003610184565b6101e2856004610184565b6101ed866005610184565b6101f8876006610184565b610203886007610184565b604051602001610217959493929190610907565b6040516020818303038152906040529050818160405160200161023b929190610af6565b60405160208183030381529060405292505050919050565b606060006102618382610184565b61026c846001610184565b610277856002610184565b610282866003610184565b6040516020016102959493929190610b25565b60408051601f19818403018152919052905060006102b4846004610184565b6102bf856005610184565b6102ca866006610184565b6102d5876007610184565b6040516020016102e89493929190610dcb565b6040516020818303038152906040529050610323828260405160200161030f929190610af6565b60405160208183030381529060405261049c565b949350505050565b6060610343838360405160200161030f929190611105565b6040516020016103539190611301565b604051602081830303815290604052905092915050565b6060816103aa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156103d457806103be8161135c565b91506103cd9050600a83611377565b91506103ae565b60008167ffffffffffffffff8111156103ef576103ef61138b565b6040519080825280601f01601f191660200182016040528015610419576020820181803683370190505b5090505b84156103235761042e6001836113a1565b915061043b600a86610713565b6104469060306113b8565b60f81b81838151811061045b5761045b6106e7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610495600a86611377565b945061041d565b60608151600014156104bc57505060408051602081019091526000815290565b60006040518060600160405280604081526020016113f060409139905060006003845160026104eb91906113b8565b6104f59190611377565b6105009060046113d0565b9050600061050f8260206113b8565b67ffffffffffffffff8111156105275761052761138b565b6040519080825280601f01601f191660200182016040528015610551576020820181803683370190505b509050818152600183018586518101602084015b818310156105bf5760039283018051603f601282901c811687015160f890811b8552600c83901c8216880151811b6001860152600683901c8216880151811b60028601529116860151901b93820193909352600401610565565b6003895106600181146105d957600281146106235761064b565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe83015261064b565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b509398975050505050505050565b600061010080838503121561066d57600080fd5b83818401111561067c57600080fd5b509092915050565b60005b8381101561069f578181015183820152602001610687565b838111156106ae576000848401525b50505050565b60208152600082518060208401526106d3816040850160208701610684565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082610722576107226106fd565b500690565b60008151610739818560208601610684565b9290920192915050565b7f2261747472696275746573223a5b7b2274726169745f74797065223a2254696581527f72222c2276616c7565223a2200000000000000000000000000000000000000006020820152600086516107a181602c850160208b01610684565b7f227d2c7b2274726169745f74797065223a22536578222c2276616c7565223a22602c9184019182015286516107de81604c840160208b01610684565b7f227d2c7b2274726169745f74797065223a2242617365222c2276616c7565223a604c92909101918201527f2200000000000000000000000000000000000000000000000000000000000000606c820152855161084281606d840160208a01610684565b7f227d2c7b2274726169745f74797065223a224e65636b6c616365222c2276616c606d92909101918201527f7565223a22000000000000000000000000000000000000000000000000000000608d8201526108fb6108f56108a66092840188610727565b7f227d2c7b2274726169745f74797065223a2246616369616c222c2276616c756581527f223a220000000000000000000000000000000000000000000000000000000000602082015260230190565b85610727565b98975050505050505050565b7f227d2c7b2274726169745f74797065223a2245617272696e67222c2276616c75815260007f65223a22000000000000000000000000000000000000000000000000000000008060208401528751610966816024860160208c01610684565b7f227d2c7b2274726169745f74797065223a2248656164222c2276616c7565223a6024918501918201527f2200000000000000000000000000000000000000000000000000000000000000604482015287516109c9816045840160208c01610684565b8082019150507f227d2c7b2274726169745f74797065223a22476c6173736573222c2276616c75604582015281606582015286519150610a10826069830160208a01610684565b8181019150507f227d2c7b2274726169745f74797065223a224c6970737469636b222c2276616c60698201527f7565223a2200000000000000000000000000000000000000000000000000000060898201526108fb610acd610ac7610a78608e850189610727565b7f227d2c7b2274726169745f74797065223a22536d6f6b696e67222c2276616c7581527f65223a2200000000000000000000000000000000000000000000000000000000602082015260240190565b86610727565b7f227d5d0000000000000000000000000000000000000000000000000000000000815260030190565b60008351610b08818460208801610684565b835190830190610b1c818360208801610684565b01949350505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2233353022206865696768743d223335302260208201527f2076696577426f783d223020302033353020333530223e3c672066696c6c3d2260408201527f6e6f6e65222066696c6c2d72756c653d226576656e6f6464223e3c726563742060608201527f77696474683d2233353022206865696768743d22333530222066696c6c3d222360808201527f313232323342222f3e3c746578742066696c6c3d22234544424635462220666f60a08201527f6e742d66616d696c793d22526f626f746f4d6f6e6f2d426f6c642c20526f626f60c08201527f746f204d6f6e6f2220666f6e742d73697a653d2231342220666f6e742d77656960e08201527f6768743d22626f6c6422206c65747465722d73706163696e673d222e303835226101008201527f3e3c747370616e20783d2234302220793d22313733223e626173653a200000006101208201526000610dc1610dbb610d6c610d66610d17610d11610cc261013d89018d610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22313932223e6e6581527f636b6c6163653a20000000000000000000000000000000000000000000000000602082015260280190565b8a610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323131223e666181527f6369616c3a200000000000000000000000000000000000000000000000000000602082015260260190565b87610727565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323330223e656181527f7272696e673a2000000000000000000000000000000000000000000000000000602082015260270190565b84610727565b9695505050505050565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323439223e686581527f61643a2000000000000000000000000000000000000000000000000000000000602082015260008551610e29816024850160208a01610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323638223e676c6024918401918201527f61737365733a200000000000000000000000000000000000000000000000000060448201528551610e8c81604b840160208a01610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22323837223e6c69604b92909101918201527f70737469636b3a20000000000000000000000000000000000000000000000000606b8201528451610ef0816073840160208901610684565b7f3c2f747370616e3e3c747370616e20783d2234302220793d22333036223e736d607392909101918201527f6f6b696e673a200000000000000000000000000000000000000000000000000060938201526110fa610f51609a830186610727565b7f3c2f747370616e3e3c2f746578743e3c67207472616e73666f726d3d2274726181527f6e736c6174652832363020343029223e3c636972636c652063783d223235222060208201527f63793d2232352220723d2232332e37393522207374726f6b653d22234646462260408201527f207374726f6b652d77696474683d22322e3431222f3e3c636972636c6520637860608201527f3d2232342e393334222063793d2232342e3933342220723d2231362e3238342260808201527f207374726f6b653d222346464622207374726f6b652d77696474683d22312e3260a08201527f3035222f3e3c636972636c652063783d2232342e393334222063793d2232342e60c08201527f3933342220723d22392e383934222066696c6c3d2223454442463546222f3e3c60e08201527f636972636c652063783d2232312e313534222063793d2231392e3837322220726101008201527f3d22312e393233222066696c6c3d2223464646222f3e3c2f673e3c2f673e3c2f6101208201527f7376673e000000000000000000000000000000000000000000000000000000006101408201526101440190565b979650505050505050565b7f7b226e616d65223a22446563656e7472616c69737473222c226465736372697081527f74696f6e223a22446563656e7472616c697374732069732074686520636f6c6c60208201527f656374696f6e20666f722074686f73652077686f2062656c6965766520696e2060408201527f746865207265766f6c7574696f6e61727920706f776572206f6620637279707460608201527f6f20746563686e6f6c6f67792e2045616368206f6e6520726570726573656e7460808201527f73206120637573746f6d697a61626c6520616e6420756e6971756520636f6d6260a08201527f696e6174696f6e2073746f726564203130302520696e2074686520457468657260c08201527f65756d20626c6f636b636861696e2e222c00000000000000000000000000000060e0820152600083516112478160f1850160208801610684565b7f2c226261636b67726f756e645f636f6c6f72223a22313232323342222c22696d60f1918401918201527f616765223a2200000000000000000000000000000000000000000000000000006101118201526112f86112cf610ac761011784017f646174613a696d6167652f7376672b786d6c3b6261736536342c0000000000008152601a0190565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b95945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161133981601d850160208701610684565b91909101601d0192915050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561137057611370611346565b5060010190565b600082611386576113866106fd565b500490565b634e487b7160e01b600052604160045260246000fd5b6000828210156113b3576113b3611346565b500390565b600082198211156113cb576113cb611346565b500190565b60008160001904831182151516156113ea576113ea611346565b50029056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220410134a07088bc2654f9a5aa8b6713c730327237ad278c4811c45fcefc28b4e264736f6c634300080a0033

Block Transaction Difficulty 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
Loading...
Loading

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.