Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 10 from a total of 10 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Add Solver | 21840007 | 365 days ago | IN | 0 ETH | 0.00005552 | ||||
| Add Solver | 21840006 | 365 days ago | IN | 0 ETH | 0.00005341 | ||||
| Add Solver | 21840005 | 365 days ago | IN | 0 ETH | 0.00005781 | ||||
| Add Solver | 21840004 | 365 days ago | IN | 0 ETH | 0.00005936 | ||||
| Add Solver | 21840003 | 365 days ago | IN | 0 ETH | 0.00006158 | ||||
| Add Solver | 21840002 | 365 days ago | IN | 0 ETH | 0.00005717 | ||||
| Add Maker | 21840001 | 365 days ago | IN | 0 ETH | 0.0000549 | ||||
| Add Maker | 21840000 | 365 days ago | IN | 0 ETH | 0.00006 | ||||
| Add Maker | 21839999 | 365 days ago | IN | 0 ETH | 0.00005678 | ||||
| Add Maker | 21839998 | 365 days ago | IN | 0 ETH | 0.00006154 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60a06040 | 21839986 | 365 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AllowListAuthentication
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 10000 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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);
}{
"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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.