ETH Price: $3,422.21 (+3.82%)

Contract

0x64957c8d880D033d243F2741CC7b59F44bb89e9F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Register212354982024-11-21 10:26:112 days ago1732184771IN
0x64957c8d...44bb89e9F
0 ETH0.0005314811.98441575
Register212271122024-11-20 6:18:353 days ago1732083515IN
0x64957c8d...44bb89e9F
0 ETH0.000391828.83523392
Register212271032024-11-20 6:16:473 days ago1732083407IN
0x64957c8d...44bb89e9F
0 ETH0.001369549.60560034
Register212228062024-11-19 15:54:473 days ago1732031687IN
0x64957c8d...44bb89e9F
0 ETH0.0007141719.86683745
Register212228022024-11-19 15:53:593 days ago1732031639IN
0x64957c8d...44bb89e9F
0 ETH0.0031362521.99675509
Register212214152024-11-19 11:15:354 days ago1732014935IN
0x64957c8d...44bb89e9F
0 ETH0.0018528812.99556231
Register212050432024-11-17 4:28:596 days ago1731817739IN
0x64957c8d...44bb89e9F
0 ETH0.0014257810
Register211926632024-11-15 11:00:478 days ago1731668447IN
0x64957c8d...44bb89e9F
0 ETH0.0004580812.74287345
Register211926622024-11-15 11:00:358 days ago1731668435IN
0x64957c8d...44bb89e9F
0 ETH0.0017489312.26650362
Register211859872024-11-14 12:39:119 days ago1731587951IN
0x64957c8d...44bb89e9F
0 ETH0.0034619524.28113749
Register211856252024-11-14 11:25:479 days ago1731583547IN
0x64957c8d...44bb89e9F
0 ETH0.0045281131.75888176
Register211855862024-11-14 11:17:599 days ago1731583079IN
0x64957c8d...44bb89e9F
0 ETH0.0015211334.3
Register211855732024-11-14 11:15:239 days ago1731582923IN
0x64957c8d...44bb89e9F
0 ETH0.004881534.23743927
Register211653722024-11-11 15:35:2311 days ago1731339323IN
0x64957c8d...44bb89e9F
0 ETH0.0059128437.02980256
0x60806040211474302024-11-09 3:32:5914 days ago1731123179IN
 Create: DelegationWall
0 ETH0.003437557.64483699

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DelegationWall

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 10000 runs

Other Settings:
shanghai EvmVersion
File 1 of 1 : DelegationWall.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.8.25;

/// @title DelegationWall - Release 1, Build 1
/// @author Aragon Association - 2024
/// @notice A smart contract where any wallet can announce itself as a delegate by providing an IPFS Id
contract DelegationWall {
  struct Candidate {
    bytes contentUrl;
  }

  /// @dev Stores the data registered by the delegate candidates
  mapping(address => Candidate) public candidates;

  /// @dev Keeps track of the addresses that have been already registered, used to enumerate.
  address[] public candidateAddresses;

  /// @notice Emitted when a wallet registers as a candidate
  event CandidateRegistered(address indexed candidate, bytes contentUrl);

  /// @notice Raised when a delegate registers with an empty contentUrl
  error EmptyContent();

  /// @notice Registers the given data as a new delegation candidate
  function register(bytes memory _contentUrl) public {
    if (_contentUrl.length == 0) revert EmptyContent();

    if (candidates[msg.sender].contentUrl.length == 0) {
      candidateAddresses.push(msg.sender);
    }

    candidates[msg.sender].contentUrl = _contentUrl;

    emit CandidateRegistered(msg.sender, _contentUrl);
  }

  /// @notice Returns the list of candidate addresses registered
  /// @dev Use this function to get all addresses in a single call. You can still call candidateAddresses[idx] to resolve them one by one.
  function getCandidateAddresses() public view returns (address[] memory) {
    return candidateAddresses;
  }

  /// @notice Returns the number of candidate entries available
  function candidateCount() public view returns (uint256) {
    return candidateAddresses.length;
  }
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "forge-std/=node_modules/forge-std/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "shanghai",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"name":"EmptyContent","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"candidate","type":"address"},{"indexed":false,"internalType":"bytes","name":"contentUrl","type":"bytes"}],"name":"CandidateRegistered","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"candidateAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"candidateCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"candidates","outputs":[{"internalType":"bytes","name":"contentUrl","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCandidateAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_contentUrl","type":"bytes"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f80fd5b5061072f8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610064575f3560e01c80638ab66a901161004d5780638ab66a901461009b578063a9a981a3146100bb578063d55d73c5146100cc575f80fd5b80638155f7361461006857806382fbdc9c14610086575b5f80fd5b610070610104565b60405161007d919061035f565b60405180910390f35b6100996100943660046103e5565b610171565b005b6100ae6100a93660046104ae565b61028f565b60405161007d91906104e8565b60015460405190815260200161007d565b6100df6100da366004610552565b61032a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161007d565b6060600180548060200260200160405190810160405280929190818152602001828054801561016757602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161013c575b5050505050905090565b80515f036101ab576040517f68b3703600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b335f90815260208190526040902080546101c490610569565b90505f03610225576001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b335f90815260208190526040902061023d8282610606565b503373ffffffffffffffffffffffffffffffffffffffff167fac432ffec471edca7e4cf19357a00ca27e0175c6d276b7d6cd51cfe46a2216be8260405161028491906104e8565b60405180910390a250565b5f602081905290815260409020805481906102a990610569565b80601f01602080910402602001604051908101604052809291908181526020018280546102d590610569565b80156103205780601f106102f757610100808354040283529160200191610320565b820191905f5260205f20905b81548152906001019060200180831161030357829003601f168201915b5050505050905081565b60018181548110610339575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b602080825282518282018190525f9190848201906040850190845b818110156103ac57835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161037a565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f602082840312156103f5575f80fd5b813567ffffffffffffffff8082111561040c575f80fd5b818401915084601f83011261041f575f80fd5b813581811115610431576104316103b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610477576104776103b8565b8160405282815287602084870101111561048f575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f602082840312156104be575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146104e1575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610514578581018301518582016040015282016104f8565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b5f60208284031215610562575f80fd5b5035919050565b600181811c9082168061057d57607f821691505b6020821081036105b4577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561060157805f5260205f20601f840160051c810160208510156105df5750805b601f840160051c820191505b818110156105fe575f81556001016105eb565b50505b505050565b815167ffffffffffffffff811115610620576106206103b8565b6106348161062e8454610569565b846105ba565b602080601f831160018114610686575f84156106505750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561071a565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106d2578886015182559484019460019091019084016106b3565b508582101561070e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea164736f6c6343000819000a

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610064575f3560e01c80638ab66a901161004d5780638ab66a901461009b578063a9a981a3146100bb578063d55d73c5146100cc575f80fd5b80638155f7361461006857806382fbdc9c14610086575b5f80fd5b610070610104565b60405161007d919061035f565b60405180910390f35b6100996100943660046103e5565b610171565b005b6100ae6100a93660046104ae565b61028f565b60405161007d91906104e8565b60015460405190815260200161007d565b6100df6100da366004610552565b61032a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161007d565b6060600180548060200260200160405190810160405280929190818152602001828054801561016757602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161013c575b5050505050905090565b80515f036101ab576040517f68b3703600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b335f90815260208190526040902080546101c490610569565b90505f03610225576001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b335f90815260208190526040902061023d8282610606565b503373ffffffffffffffffffffffffffffffffffffffff167fac432ffec471edca7e4cf19357a00ca27e0175c6d276b7d6cd51cfe46a2216be8260405161028491906104e8565b60405180910390a250565b5f602081905290815260409020805481906102a990610569565b80601f01602080910402602001604051908101604052809291908181526020018280546102d590610569565b80156103205780601f106102f757610100808354040283529160200191610320565b820191905f5260205f20905b81548152906001019060200180831161030357829003601f168201915b5050505050905081565b60018181548110610339575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b602080825282518282018190525f9190848201906040850190845b818110156103ac57835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161037a565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f602082840312156103f5575f80fd5b813567ffffffffffffffff8082111561040c575f80fd5b818401915084601f83011261041f575f80fd5b813581811115610431576104316103b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610477576104776103b8565b8160405282815287602084870101111561048f575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f602082840312156104be575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146104e1575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610514578581018301518582016040015282016104f8565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b5f60208284031215610562575f80fd5b5035919050565b600181811c9082168061057d57607f821691505b6020821081036105b4577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561060157805f5260205f20601f840160051c810160208510156105df5750805b601f840160051c820191505b818110156105fe575f81556001016105eb565b50505b505050565b815167ffffffffffffffff811115610620576106206103b8565b6106348161062e8454610569565b846105ba565b602080601f831160018114610686575f84156106505750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561071a565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106d2578886015182559484019460019091019084016106b3565b508582101561070e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea164736f6c6343000819000a

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
[ Download: CSV Export  ]

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.