ETH Price: $2,055.29 (+5.83%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Solver218400072025-02-13 20:41:23365 days ago1739479283IN
0x7CD723CD...1e93AeBee
0 ETH0.000055521.09740962
Add Solver218400062025-02-13 20:41:11365 days ago1739479271IN
0x7CD723CD...1e93AeBee
0 ETH0.000053411.05576535
Add Solver218400052025-02-13 20:40:59365 days ago1739479259IN
0x7CD723CD...1e93AeBee
0 ETH0.000057811.1428367
Add Solver218400042025-02-13 20:40:47365 days ago1739479247IN
0x7CD723CD...1e93AeBee
0 ETH0.000059361.17347725
Add Solver218400032025-02-13 20:40:35365 days ago1739479235IN
0x7CD723CD...1e93AeBee
0 ETH0.000061581.21720086
Add Solver218400022025-02-13 20:40:23365 days ago1739479223IN
0x7CD723CD...1e93AeBee
0 ETH0.000057171.13005798
Add Maker218400012025-02-13 20:40:11365 days ago1739479211IN
0x7CD723CD...1e93AeBee
0 ETH0.00005491.08639468
Add Maker218400002025-02-13 20:39:59365 days ago1739479199IN
0x7CD723CD...1e93AeBee
0 ETH0.000061.18725819
Add Maker218399992025-02-13 20:39:47365 days ago1739479187IN
0x7CD723CD...1e93AeBee
0 ETH0.000056781.12348163
Add Maker218399982025-02-13 20:39:35365 days ago1739479175IN
0x7CD723CD...1e93AeBee
0 ETH0.000061541.2176603

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60a06040218399862025-02-13 20:36:59365 days ago1739479019  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AllowListAuthentication

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 10000 runs

Other Settings:
shanghai EvmVersion
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.23;

import {IAllowListAuthentication} from '../../interfaces/IAllowListAuthentication.sol';
import {IRepository} from '../../interfaces/IRepository.sol';

contract AllowListAuthentication is IAllowListAuthentication {
  /* ============ Immutables ============ */

  IRepository public immutable REPOSITORY;

  /* ============ State Variables ============ */

  address public override manager;

  mapping(address solverAddr => bool) private _solvers;
  mapping(address makerAddr => bool) private _makers;

  /* ============ Events ============ */

  event ManagerChanged(address newManager, address oldManager);

  event SolverAdded(address solver);
  event SolverRemoved(address solver);

  event MakerAdded(address maker);
  event MakerRemoved(address maker);

  /* ============ Errors ============ */

  error OnlyManager();
  error OnlyAclAdmin();

  /* ============ Modifiers ============ */

  modifier onlyManager() {
    if (!REPOSITORY.isManagerRole(msg.sender)) {
      revert OnlyManager();
    }
    _;
  }

  modifier onlyAclAdmin() {
    if (REPOSITORY.aclAdmin() != msg.sender) {
      revert OnlyAclAdmin();
    }
    _;
  }

  /* ============ Constructor ============ */

  constructor(
    address _repository
  ) {
    REPOSITORY = IRepository(_repository);
  }

  /* ============ External Functions ============ */

  function setManager(
    address manager_
  ) external override onlyAclAdmin {
    address oldManager = manager;
    manager = manager_;
    emit ManagerChanged(manager_, oldManager);
  }

  function addSolver(
    address _solver
  ) external override onlyManager {
    _solvers[_solver] = true;
    emit SolverAdded(_solver);
  }

  function removeSolver(
    address _solver
  ) external override onlyManager {
    _solvers[_solver] = false;
    emit SolverRemoved(_solver);
  }

  function addMaker(
    address _maker
  ) external override onlyManager {
    _makers[_maker] = true;
    emit MakerAdded(_maker);
  }

  function removeMaker(
    address _maker
  ) external override onlyManager {
    _makers[_maker] = false;
    emit MakerRemoved(_maker);
  }

  function isSolver(
    address _addr
  ) external view override returns (bool) {
    return _solvers[_addr];
  }

  function isMaker(
    address _addr
  ) external view override returns (bool) {
    return _makers[_addr];
  }
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

interface IAllowListAuthentication {
  function setManager(
    address manager_
  ) external;

  function addSolver(
    address _solver
  ) external;

  function removeSolver(
    address _solver
  ) external;

  function addMaker(
    address _maker
  ) external;

  function removeMaker(
    address _maker
  ) external;

  function isSolver(
    address _addr
  ) external view returns (bool);

  function isMaker(
    address _addr
  ) external view returns (bool);

  function manager() external view returns (address);
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

import {IACLManager} from './IACLManager.sol';

import {IPriceProvider} from './IPriceProvider.sol';
import {IInterestRateModel} from 'interfaces/IInterestRateModel.sol';

interface IRepository is IACLManager {
  enum PauseType {
    /// @dev not paused status
    NOT_PAUSED,
    /// @dev all actions are paused
    PAUSED,
    /// @dev only action with supply of an asset are paused
    SUPPLY_PAUSED,
    /// @dev only action with withdrawal of an asset are paused
    WITHDRAW_PAUSED
  }

  struct Fees {
    uint64 entryFee;
    uint64 protocolShareFee;
    uint64 protocolLiquidationFee;
  }

  struct AssetConfig {
    IInterestRateModel interestRateModel;
    uint256 maxSupplyLimit;
    uint64 maxLoanToValue;
    uint64 liquidationThreshold;
  }

  /**
   * @notice Deploys new lending pool and adds assets to it
   * @param assets array of assets to add
   * @param configs array of configs for assets
   * @return createdPool deployed lending pool address
   */
  function newLendingPool(
    address[] calldata assets,
    IInterestRateModel.Config[] calldata configs
  ) external returns (address createdPool);

  /**
   * @notice Adds new assets to a lending pool
   * @param _lendingPool address of a lending pool
   * @param _assets array of assets to add
   * @param _configs array of configs for assets
   */
  function newAssets(
    address _lendingPool,
    address[] calldata _assets,
    IInterestRateModel.Config[] calldata _configs
  ) external;

  /**
   * @notice Set factory contract for deploying new lending pools
   * @param _newLendingPoolsFactory address of a new lending pools factory
   */
  function setLendingPoolsFactory(
    address _newLendingPoolsFactory
  ) external;

  /**
   * @notice Set factory contract for deploying new collateral, locked collateral and debt tokens
   * @param _newTokensFactory address of a new tokens factory
   */
  function setTokensFactory(
    address _newTokensFactory
  ) external;

  /**
   * @notice Set default interest rate model
   * @param _defaultInterestRateModel address of a new default interest rate model
   */
  function setDefaultInterestRateModel(
    IInterestRateModel _defaultInterestRateModel
  ) external;

  /**
   * @notice Set default maximum loan-to-value
   * @param _defaultMaxLoanToValue new default loan-to-value
   */
  function setDefaultMaxLoanToValue(
    uint64 _defaultMaxLoanToValue
  ) external;

  /**
   * @notice Set default liquidation threshold
   * @param _defaultLiquidationThreshold new default liquidation threshold
   */
  function setDefaultLiquidationThreshold(
    uint64 _defaultLiquidationThreshold
  ) external;

  /**
   * @notice Set default maximum supply limit in quote token
   * @param _defaulMaxSupplyLimit new default maximum supply limit
   */
  function setDefaultMaxSupplyLimit(
    uint256 _defaulMaxSupplyLimit
  ) external;

  /**
   * @notice Set default interest rate model for an asset in a lending pool
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @param _interestRateModel address of a new interest rate model
   */
  function setInterestRateModel(address _lendingPool, address _asset, IInterestRateModel _interestRateModel) external;

  /**
   * @notice Set maximum loan-to-value for an asset in a lending pool
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @param _maxLoanToValue new loan-to-value
   */
  function setMaxLoanToValue(address _lendingPool, address _asset, uint64 _maxLoanToValue) external;

  /**
   * @notice Set liquidation threshold for an asset in a lending pool
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @param _liquidationThreshold new liquidation threshold
   */
  function setLiquidationThreshold(address _lendingPool, address _asset, uint64 _liquidationThreshold) external;

  /**
   * @notice Set maximum supply limit in quote token for an asset in a lending pool
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @param _maxSupplyLimit new maximum supply limit in quote token
   */
  function setMaxSupplyLimit(address _lendingPool, address _asset, uint256 _maxSupplyLimit) external;

  /**
   * @notice Set protocol fees
   * @param _fees new protocol fees
   */
  function setFees(
    Fees calldata _fees
  ) external;

  /**
   * @notice Set swap connector
   * @param _newSwapConnector new swap connector
   */
  function setSwapConnector(
    address _newSwapConnector
  ) external;

  /**
   * @notice Set liquorice settlement contract
   * @param _settlement new liquorice settlement contract
   */
  function setSettlement(
    address _settlement
  ) external;

  /**
   * @notice Set price provider
   * @param _priceProvider new price provider
   */
  function setPriceProvider(
    IPriceProvider _priceProvider
  ) external;

  /**
   * @notice Set global limit of maximum supplied assets in quote token
   * @param _globalLimit new global limit value
   */
  function setGlobalSupplyLimit(
    bool _globalLimit
  ) external;

  /**
   * @notice Set global pause for lending pools interactions
   * @param _globalPause new global pause value
   */
  function setGlobalPause(
    bool _globalPause
  ) external;

  /**
   * @notice Set pause for specific lending pool's asset interactions
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @param _pauseType type of pause
   */
  function setPause(address _lendingPool, address _asset, PauseType _pauseType) external;

  /**
   * @notice Get address of the Liquorice Settlement contract
   * @return address of LiquoriceSettlement contract
   */
  function settlement() external view returns (address);

  /**
   * @notice Get address of default role admin
   * @return address of default role admin
   */
  function aclAdmin() external view returns (address);

  /**
   * @notice Get global supply limit flag value
   * @return bool global supply limit flag value
   */
  function globalSupplyLimit() external view returns (bool);

  /**
   * @notice Get global pause flag value
   * @return bool global pause flag value
   */
  function globalPause() external view returns (bool);

  /**
   * @notice Get interest rate model for specific lending pool and asset
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @return model address of interest rate model
   */
  function getInterestRateModel(address _lendingPool, address _asset) external view returns (IInterestRateModel model);

  /**
   * @notice Get maximum loan-to-value for specific lending pool and asset
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @return uint256 maximum loan-to-value
   */
  function getMaximumLTV(address _lendingPool, address _asset) external view returns (uint256);

  /**
   * @notice Get liquidation threshold for specific lending pool and asset
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @return uint256 liquidation threshold
   */
  function getLiquidationThreshold(address _lendingPool, address _asset) external view returns (uint256);

  /**
   * @notice Get maximum supply limit in quote token for specific lending pool and asset
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @return uint256 maximum supply limit in quote token
   */
  function getMaxSupplyLimit(address _lendingPool, address _asset) external view returns (uint256);

  /**
   * @notice Get pause status for specific lending pool and asset
   * @param _lendingPool address of a lending pool
   * @param _asset address of an asset
   * @return PauseType type of pause set
   */
  function getPauseStatus(address _lendingPool, address _asset) external view returns (PauseType);

  /**
   * @notice Get fee for entering the lending pool
   * @return uint256 entry fee
   */
  function entryFee() external view returns (uint256);

  /**
   * @notice Check if contract address is existing lending pool
   * @return true if address is lending pool, otherwise faulse
   */
  function isLendingPool(
    address _lendingPool
  ) external view returns (bool);

  /**
   * @notice Get PriceProvider contract
   * @return IPriceProvider address
   */
  function priceProvider() external view returns (IPriceProvider);

  /**
   * @notice Get protocol share fee value
   * @return uint256 protocol share fee
   */
  function protocolShareFee() external view returns (uint256);

  /**
   * @notice Get protocol liquidation fee value
   * @return uint256 protocol liquidation fee
   */
  function protocolLiquidationFee() external view returns (uint256);

  /**
   * @notice Get swap connector contract address
   * @return address of swap connector contract
   */
  function swapConnector() external view returns (address);
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

interface IACLManager {
  function setRoleAdmin(bytes32 _role, bytes32 _adminRole) external;

  function addEmergency(
    address admin
  ) external;

  function addManager(
    address admin
  ) external;

  function addConsumer(
    address admin
  ) external;

  function removeConsumer(
    address admin
  ) external;

  function removeManager(
    address admin
  ) external;

  function removeEmergency(
    address admin
  ) external;

  function isEmergencyRole(
    address admin
  ) external view returns (bool);

  function isManagerRole(
    address admin
  ) external view returns (bool);

  function isConsumerRole(
    address admin
  ) external view returns (bool);
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

interface IPriceProvider {
  function getPrice(
    address _asset
  ) external view returns (uint256 price);

  function assetSupported(
    address _asset
  ) external view returns (bool);

  function QUOTE_TOKEN() external view returns (address);
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

/**
 * @title IInterestRateModel
 * @notice Interface for interest rate calculation and configuration
 */
interface IInterestRateModel {
  struct Config {
    int256 r0;
    int256 r1;
    int256 r2;
    uint256 ri;
    int256 uopt;
    uint256 rMax;
    uint256 rMin;
  }

  /**
   * @dev Set the current asset config.
   * @param _pool Address of the pool for which the config is set
   * @param _asset Address of the asset for which the config is set
   * @param _config Current config for this token
   */
  function setConfig(address _pool, address _asset, Config calldata _config) external;

  /**
   * @notice Gets and updates the current interest rate for an asset
   * @param _asset Address of the asset
   * @return rcur Current interest rate
   */
  function getInterestRateAndUpdate(
    address _asset
  ) external returns (uint256 rcur);

  /**
   * @notice Returns the current asset config. If no config is found, returns the default one.
   * @param _pool Address of the pool where the config is searched for
   * @param _asset Address of the asset
   * @return Current configuration parameters
   */
  function getConfig(address _pool, address _asset) external returns (Config memory);

  /**
   * @notice Gets the current interest rate for a pool's asset without updating state
   * @param _pool Address of the lending pool
   * @param _asset Address of the asset
   * @return rcur Current interest rate
   */
  function getCurrentInterestRate(address _pool, address _asset) external view returns (uint256 rcur);

  /**
   * @notice Returns the current APR for pool and asset
   * @param _pool Address of the lending pool
   * @param _asset Address of the asset
   * @return apr Current APR
   */
  function getCurrentAPR(address _pool, address _asset) external view returns (uint256 apr);

  /**
   * @dev Returns the current rate.
   * @param _c Current config for this token
   * @param _totalDeposits Total amount deposited for this asset
   * @param _totalBorrowAmount Total amount borrowed for this asset
   * @return Current interest rate
   */
  function calculateCurrentInterestRate(
    Config memory _c,
    uint256 _totalDeposits,
    uint256 _totalBorrowAmount
  ) external pure returns (uint256);

  /// @dev DP is 18 decimal points used for integer calculations
  // solhint-disable-next-line func-name-mixedcase
  function DP() external pure returns (uint256);

  /// @dev Number of seconds in a year
  // solhint-disable-next-line func-name-mixedcase
  function SECONDS_PER_YEAR() external pure returns (uint256);
}

Settings
{
  "remappings": [
    "ds-test/=node_modules/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "@chainlink/=lib/chainlink/contracts/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "contracts/=src/contracts/",
    "interfaces/=src/interfaces/",
    "chainlink/=lib/chainlink/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin-upgrades/=lib/openzeppelin-upgrades/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "shanghai",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_repository","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"OnlyAclAdmin","type":"error"},{"inputs":[],"name":"OnlyManager","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"maker","type":"address"}],"name":"MakerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"maker","type":"address"}],"name":"MakerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newManager","type":"address"},{"indexed":false,"internalType":"address","name":"oldManager","type":"address"}],"name":"ManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"solver","type":"address"}],"name":"SolverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"solver","type":"address"}],"name":"SolverRemoved","type":"event"},{"inputs":[],"name":"REPOSITORY","outputs":[{"internalType":"contract IRepository","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"addMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_solver","type":"address"}],"name":"addSolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isMaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isSolver","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"removeMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_solver","type":"address"}],"name":"removeSolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"manager_","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561000f575f80fd5b50604051610a47380380610a4783398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516109a06100a75f395f818161014e0152818161022201528181610386015281816104ce0152818161065701526107b701526109a05ff3fe608060405234801561000f575f80fd5b506004361061009f575f3560e01c80638fd57b9211610072578063d4ec1fc211610058578063d4ec1fc214610196578063e75600c3146101a9578063ec58f4b8146101e1575f80fd5b80638fd57b9214610170578063d0ebdbe714610183575f80fd5b806302cc250d146100a3578063481c6a75146100f05780635413f4df146101345780636f35d2d214610149575b5f80fd5b6100db6100b136600461090e565b73ffffffffffffffffffffffffffffffffffffffff165f9081526001602052604090205460ff1690565b60405190151581526020015b60405180910390f35b5f5461010f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e7565b61014761014236600461090e565b6101f4565b005b61010f7f000000000000000000000000000000000000000000000000000000000000000081565b61014761017e36600461090e565b610358565b61014761019136600461090e565b6104b5565b6101476101a436600461090e565b610629565b6100db6101b736600461090e565b73ffffffffffffffffffffffffffffffffffffffff165f9081526002602052604090205460ff1690565b6101476101ef36600461090e565b610789565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa15801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a09190610930565b6102d6576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527fc61be715a2ea14b6511e1f253e4b75edc1a54edbbbf304876a6f747d89d654c191015b60405180910390a150565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa1580156103e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104049190610930565b61043a576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527f640e18a2587e1d83e4fdabf70257d0a800ca4b2c1aaad1dfc485a4ad8bbbd6c6910161034d565b3373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d08fc1006040518163ffffffff1660e01b8152600401602060405180830381865afa158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061094f565b73ffffffffffffffffffffffffffffffffffffffff16146105a6576040517fd64e056400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff00000000000000000000000000000000000000008316811790935560408051938452911660208301819052917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350910160405180910390a15050565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa1580156106b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190610930565b61070b576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182527fcb1972a0883e5e091e6b140d7614baff88a9deb4fc063321d945fddf1ce2acec910161034d565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa158015610811573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108359190610930565b61086b576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526001602081815260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915590519182527f41f9d09dd5159251f8a8e482bbe097b7c01a5e6f70c5a0ddb494906464fc9dd7910161034d565b73ffffffffffffffffffffffffffffffffffffffff8116811461090b575f80fd5b50565b5f6020828403121561091e575f80fd5b8135610929816108ea565b9392505050565b5f60208284031215610940575f80fd5b81518015158114610929575f80fd5b5f6020828403121561095f575f80fd5b8151610929816108ea56fea2646970667358221220abf0e04e34c52e665c7dc8f770dc60ef171fe447a4ebcd1007f48a4bb9ce374c64736f6c634300081700330000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f8

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061009f575f3560e01c80638fd57b9211610072578063d4ec1fc211610058578063d4ec1fc214610196578063e75600c3146101a9578063ec58f4b8146101e1575f80fd5b80638fd57b9214610170578063d0ebdbe714610183575f80fd5b806302cc250d146100a3578063481c6a75146100f05780635413f4df146101345780636f35d2d214610149575b5f80fd5b6100db6100b136600461090e565b73ffffffffffffffffffffffffffffffffffffffff165f9081526001602052604090205460ff1690565b60405190151581526020015b60405180910390f35b5f5461010f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e7565b61014761014236600461090e565b6101f4565b005b61010f7f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f881565b61014761017e36600461090e565b610358565b61014761019136600461090e565b6104b5565b6101476101a436600461090e565b610629565b6100db6101b736600461090e565b73ffffffffffffffffffffffffffffffffffffffff165f9081526002602052604090205460ff1690565b6101476101ef36600461090e565b610789565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f873ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa15801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a09190610930565b6102d6576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527fc61be715a2ea14b6511e1f253e4b75edc1a54edbbbf304876a6f747d89d654c191015b60405180910390a150565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f873ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa1580156103e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104049190610930565b61043a576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527f640e18a2587e1d83e4fdabf70257d0a800ca4b2c1aaad1dfc485a4ad8bbbd6c6910161034d565b3373ffffffffffffffffffffffffffffffffffffffff167f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f873ffffffffffffffffffffffffffffffffffffffff1663d08fc1006040518163ffffffff1660e01b8152600401602060405180830381865afa158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061094f565b73ffffffffffffffffffffffffffffffffffffffff16146105a6576040517fd64e056400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff00000000000000000000000000000000000000008316811790935560408051938452911660208301819052917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350910160405180910390a15050565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f873ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa1580156106b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190610930565b61070b576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182527fcb1972a0883e5e091e6b140d7614baff88a9deb4fc063321d945fddf1ce2acec910161034d565b6040517f85e51c140000000000000000000000000000000000000000000000000000000081523360048201527f0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f873ffffffffffffffffffffffffffffffffffffffff16906385e51c1490602401602060405180830381865afa158015610811573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108359190610930565b61086b576040517fc0b2335a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f8181526001602081815260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915590519182527f41f9d09dd5159251f8a8e482bbe097b7c01a5e6f70c5a0ddb494906464fc9dd7910161034d565b73ffffffffffffffffffffffffffffffffffffffff8116811461090b575f80fd5b50565b5f6020828403121561091e575f80fd5b8135610929816108ea565b9392505050565b5f60208284031215610940575f80fd5b81518015158114610929575f80fd5b5f6020828403121561095f575f80fd5b8151610929816108ea56fea2646970667358221220abf0e04e34c52e665c7dc8f770dc60ef171fe447a4ebcd1007f48a4bb9ce374c64736f6c63430008170033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f8

-----Decoded View---------------
Arg [0] : _repository (address): 0x8c9dC23cbD4fDEE6688c5fb6ddfA543F7A5b75f8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c9dc23cbd4fdee6688c5fb6ddfa543f7a5b75f8


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.