Source Code
Overview
S Balance
S Value
$0.00Latest 25 from a total of 159 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Initialize Lendi... | 38179246 | 198 days ago | IN | 0 S | 0.02269047 | ||||
| Create Borrowabl... | 38179239 | 198 days ago | IN | 0 S | 0.20888466 | ||||
| Create Borrowabl... | 38179237 | 198 days ago | IN | 0 S | 0.20888279 | ||||
| Create Collatera... | 38179230 | 198 days ago | IN | 0 S | 0.19741408 | ||||
| Initialize Lendi... | 35973521 | 214 days ago | IN | 0 S | 0.02266973 | ||||
| Create Borrowabl... | 35973511 | 214 days ago | IN | 0 S | 0.20886393 | ||||
| Create Borrowabl... | 35973504 | 214 days ago | IN | 0 S | 0.20886206 | ||||
| Create Collatera... | 35973496 | 214 days ago | IN | 0 S | 0.19739335 | ||||
| Initialize Lendi... | 28002328 | 252 days ago | IN | 0 S | 0.02382928 | ||||
| Create Borrowabl... | 28002292 | 252 days ago | IN | 0 S | 0.21954799 | ||||
| Create Borrowabl... | 28002266 | 252 days ago | IN | 0 S | 0.21954601 | ||||
| Create Collatera... | 28002241 | 252 days ago | IN | 0 S | 0.21773892 | ||||
| Initialize Lendi... | 20401792 | 286 days ago | IN | 0 S | 0.02064237 | ||||
| Create Collatera... | 20401781 | 286 days ago | IN | 0 S | 0.17724435 | ||||
| Create Borrowabl... | 20401769 | 286 days ago | IN | 0 S | 0.18989552 | ||||
| Create Borrowabl... | 20401762 | 286 days ago | IN | 0 S | 0.19215303 | ||||
| Initialize Lendi... | 16246811 | 305 days ago | IN | 0 S | 0.02266973 | ||||
| Create Borrowabl... | 16246802 | 305 days ago | IN | 0 S | 0.20886393 | ||||
| Create Borrowabl... | 16246793 | 305 days ago | IN | 0 S | 0.20886206 | ||||
| Create Collatera... | 16246779 | 305 days ago | IN | 0 S | 0.19739335 | ||||
| Initialize Lendi... | 15560832 | 308 days ago | IN | 0 S | 0.02269047 | ||||
| Create Borrowabl... | 15560822 | 308 days ago | IN | 0 S | 0.20888466 | ||||
| Create Borrowabl... | 15560813 | 308 days ago | IN | 0 S | 0.20888279 | ||||
| Create Collatera... | 15560805 | 308 days ago | IN | 0 S | 0.19741408 | ||||
| Initialize Lendi... | 14674461 | 313 days ago | IN | 0 S | 0.02269047 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Factory
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 999999 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// File: contracts\interfaces\IFactory.sol
pragma solidity >=0.5.0;
interface IFactory {
event LendingPoolInitialized(address indexed uniswapV2Pair, address indexed token0, address indexed token1,
address collateral, address borrowable0, address borrowable1, uint lendingPoolId);
event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);
event NewAdmin(address oldAdmin, address newAdmin);
event NewReservesPendingAdmin(address oldReservesPendingAdmin, address newReservesPendingAdmin);
event NewReservesAdmin(address oldReservesAdmin, address newReservesAdmin);
event NewReservesManager(address oldReservesManager, address newReservesManager);
function admin() external view returns (address);
function pendingAdmin() external view returns (address);
function reservesAdmin() external view returns (address);
function reservesPendingAdmin() external view returns (address);
function reservesManager() external view returns (address);
function getLendingPool(address uniswapV2Pair) external view returns (
bool initialized,
uint24 lendingPoolId,
address collateral,
address borrowable0,
address borrowable1
);
function allLendingPools(uint) external view returns (address uniswapV2Pair);
function allLendingPoolsLength() external view returns (uint);
function bDeployer() external view returns (address);
function cDeployer() external view returns (address);
function createCollateral(address uniswapV2Pair) external returns (address collateral);
function createBorrowable0(address uniswapV2Pair) external returns (address borrowable0);
function createBorrowable1(address uniswapV2Pair) external returns (address borrowable1);
function initializeLendingPool(address uniswapV2Pair) external;
function _setPendingAdmin(address newPendingAdmin) external;
function _acceptAdmin() external;
function _setReservesPendingAdmin(address newPendingAdmin) external;
function _acceptReservesAdmin() external;
function _setReservesManager(address newReservesManager) external;
}
// File: contracts\interfaces\IBDeployer.sol
pragma solidity >=0.5.0;
interface IBDeployer {
function deployBorrowable(address uniswapV2Pair, uint8 index) external returns (address borrowable);
}
// File: contracts\interfaces\IBorrowable.sol
pragma solidity >=0.5.0;
interface IBorrowable {
/*** Impermax ERC20 ***/
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
/*** Pool Token ***/
event Mint(address indexed sender, address indexed minter, uint mintAmount, uint mintTokens);
event Redeem(address indexed sender, address indexed redeemer, uint redeemAmount, uint redeemTokens);
event Sync(uint totalBalance);
function underlying() external view returns (address);
function factory() external view returns (address);
function totalBalance() external view returns (uint);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function exchangeRate() external returns (uint);
function mint(address minter) external returns (uint mintTokens);
function redeem(address redeemer) external returns (uint redeemAmount);
function skim(address to) external;
function sync() external;
function _setFactory() external;
/*** Borrowable ***/
event BorrowApproval(address indexed owner, address indexed spender, uint value);
event Borrow(address indexed sender, address indexed borrower, address indexed receiver, uint borrowAmount, uint repayAmount, uint accountBorrowsPrior, uint accountBorrows, uint totalBorrows);
event Liquidate(address indexed sender, address indexed borrower, address indexed liquidator, uint seizeTokens, uint repayAmount, uint accountBorrowsPrior, uint accountBorrows, uint totalBorrows);
function BORROW_FEE() external pure returns (uint);
function collateral() external view returns (address);
function reserveFactor() external view returns (uint);
function exchangeRateLast() external view returns (uint);
function borrowIndex() external view returns (uint);
function totalBorrows() external view returns (uint);
function borrowAllowance(address owner, address spender) external view returns (uint);
function borrowBalance(address borrower) external view returns (uint);
function borrowTracker() external view returns (address);
function BORROW_PERMIT_TYPEHASH() external pure returns (bytes32);
function borrowApprove(address spender, uint256 value) external returns (bool);
function borrowPermit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
function borrow(address borrower, address receiver, uint borrowAmount, bytes calldata data) external;
function liquidate(address borrower, address liquidator) external returns (uint seizeTokens);
function trackBorrow(address borrower) external;
/*** Borrowable Interest Rate Model ***/
event AccrueInterest(uint interestAccumulated, uint borrowIndex, uint totalBorrows);
event CalculateKink(uint kinkRate);
event CalculateBorrowRate(uint borrowRate);
function KINK_BORROW_RATE_MAX() external pure returns (uint);
function KINK_BORROW_RATE_MIN() external pure returns (uint);
function KINK_MULTIPLIER() external pure returns (uint);
function borrowRate() external view returns (uint);
function kinkBorrowRate() external view returns (uint);
function kinkUtilizationRate() external view returns (uint);
function adjustSpeed() external view returns (uint);
function rateUpdateTimestamp() external view returns (uint32);
function accrualTimestamp() external view returns (uint32);
function accrueInterest() external;
/*** Borrowable Setter ***/
event NewReserveFactor(uint newReserveFactor);
event NewKinkUtilizationRate(uint newKinkUtilizationRate);
event NewAdjustSpeed(uint newAdjustSpeed);
event NewBorrowTracker(address newBorrowTracker);
function RESERVE_FACTOR_MAX() external pure returns (uint);
function KINK_UR_MIN() external pure returns (uint);
function KINK_UR_MAX() external pure returns (uint);
function ADJUST_SPEED_MIN() external pure returns (uint);
function ADJUST_SPEED_MAX() external pure returns (uint);
function _initialize (
string calldata _name,
string calldata _symbol,
address _underlying,
address _collateral
) external;
function _setReserveFactor(uint newReserveFactor) external;
function _setKinkUtilizationRate(uint newKinkUtilizationRate) external;
function _setAdjustSpeed(uint newAdjustSpeed) external;
function _setBorrowTracker(address newBorrowTracker) external;
}
// File: contracts\interfaces\ICDeployer.sol
pragma solidity >=0.5.0;
interface ICDeployer {
function deployCollateral(address uniswapV2Pair) external returns (address collateral);
}
// File: contracts\interfaces\ICollateral.sol
pragma solidity >=0.5.0;
interface ICollateral {
/*** Impermax ERC20 ***/
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
/*** Pool Token ***/
event Mint(address indexed sender, address indexed minter, uint mintAmount, uint mintTokens);
event Redeem(address indexed sender, address indexed redeemer, uint redeemAmount, uint redeemTokens);
event Sync(uint totalBalance);
function underlying() external view returns (address);
function factory() external view returns (address);
function totalBalance() external view returns (uint);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function exchangeRate() external returns (uint);
function mint(address minter) external returns (uint mintTokens);
function redeem(address redeemer) external returns (uint redeemAmount);
function skim(address to) external;
function sync() external;
function _setFactory() external;
/*** Collateral ***/
function borrowable0() external view returns (address);
function borrowable1() external view returns (address);
function safetyMarginSqrt() external view returns (uint);
function liquidationIncentive() external view returns (uint);
function liquidationFee() external view returns (uint);
function liquidationPenalty() external view returns (uint);
function getTwapPrice112x112() external returns(uint224 twapPrice112x112);
function getPrices() external returns (uint price0, uint price1);
function tokensUnlocked(address from, uint value) external returns (bool);
function accountLiquidityAmounts(address account, uint amount0, uint amount1) external returns (uint liquidity, uint shortfall);
function accountLiquidity(address account) external returns (uint liquidity, uint shortfall);
function canBorrow(address account, address borrowable, uint accountBorrows) external returns (bool);
function seize(address liquidator, address borrower, uint repayAmount) external returns (uint seizeTokens);
function flashRedeem(address redeemer, uint redeemAmount, bytes calldata data) external;
/*** Collateral Setter ***/
event NewSafetyMargin(uint newSafetyMarginSqrt);
event NewLiquidationIncentive(uint newLiquidationIncentive);
event NewLiquidationFee(uint newLiquidationFee);
function SAFETY_MARGIN_SQRT_MIN() external pure returns (uint);
function SAFETY_MARGIN_SQRT_MAX() external pure returns (uint);
function LIQUIDATION_INCENTIVE_MIN() external pure returns (uint);
function LIQUIDATION_INCENTIVE_MAX() external pure returns (uint);
function LIQUIDATION_FEE_MAX() external pure returns (uint);
function _initialize (
string calldata _name,
string calldata _symbol,
address _underlying,
address _borrowable0,
address _borrowable1
) external;
function _setSafetyMarginSqrt(uint newSafetyMarginSqrt) external;
function _setLiquidationIncentive(uint newLiquidationIncentive) external;
function _setLiquidationFee(uint newLiquidationFee) external;
}
// File: contracts\interfaces\IERC20.sol
pragma solidity >=0.5.0;
interface IERC20 {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
}
// File: contracts\interfaces\IUniswapV2Pair.sol
pragma solidity >=0.5.0;
interface IUniswapV2Pair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function stable() external view returns (bool);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint);
function factory() external view returns (address);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function observationLength() external view returns (uint);
function observations(uint) external view returns (
uint timestamp,
uint reserve0Cumulative,
uint reserve1Cumulative
);
function currentCumulativePrices() external view returns (
uint reserve0Cumulative,
uint reserve1Cumulative,
uint timestamp
);
}
// File: contracts\Factory.sol
pragma solidity =0.5.16;
contract Factory is IFactory {
address public admin;
address public pendingAdmin;
address public reservesAdmin;
address public reservesPendingAdmin;
address public reservesManager;
struct LendingPool {
bool initialized;
uint24 lendingPoolId;
address collateral;
address borrowable0;
address borrowable1;
}
mapping(address => LendingPool) public getLendingPool; // get by UniswapV2Pair
address[] public allLendingPools; // address of the UniswapV2Pair
function allLendingPoolsLength() external view returns (uint) {
return allLendingPools.length;
}
IBDeployer public bDeployer;
ICDeployer public cDeployer;
event LendingPoolInitialized(address indexed uniswapV2Pair, address indexed token0, address indexed token1,
address collateral, address borrowable0, address borrowable1, uint lendingPoolId);
event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);
event NewAdmin(address oldAdmin, address newAdmin);
event NewReservesPendingAdmin(address oldReservesPendingAdmin, address newReservesPendingAdmin);
event NewReservesAdmin(address oldReservesAdmin, address newReservesAdmin);
event NewReservesManager(address oldReservesManager, address newReservesManager);
constructor(address _admin, address _reservesAdmin, IBDeployer _bDeployer, ICDeployer _cDeployer) public {
admin = _admin;
reservesAdmin = _reservesAdmin;
bDeployer = _bDeployer;
cDeployer = _cDeployer;
emit NewAdmin(address(0), _admin);
emit NewReservesAdmin(address(0), _reservesAdmin);
}
function _getTokens(address uniswapV2Pair) private view returns (address token0, address token1) {
require(!IUniswapV2Pair(uniswapV2Pair).stable(), "Impermax: STABLE_PAIR");
token0 = IUniswapV2Pair(uniswapV2Pair).token0();
token1 = IUniswapV2Pair(uniswapV2Pair).token1();
}
function _createLendingPool(address uniswapV2Pair) private {
if (getLendingPool[uniswapV2Pair].lendingPoolId != 0) return;
allLendingPools.push(uniswapV2Pair);
getLendingPool[uniswapV2Pair] = LendingPool(false, uint24(allLendingPools.length), address(0), address(0), address(0));
}
function createCollateral(address uniswapV2Pair) external returns (address collateral) {
_getTokens(uniswapV2Pair);
require(getLendingPool[uniswapV2Pair].collateral == address(0), "Impermax: ALREADY_EXISTS");
collateral = cDeployer.deployCollateral(uniswapV2Pair);
ICollateral(collateral)._setFactory();
_createLendingPool(uniswapV2Pair);
getLendingPool[uniswapV2Pair].collateral = collateral;
}
function createBorrowable0(address uniswapV2Pair) external returns (address borrowable0) {
_getTokens(uniswapV2Pair);
require(getLendingPool[uniswapV2Pair].borrowable0 == address(0), "Impermax: ALREADY_EXISTS");
borrowable0 = bDeployer.deployBorrowable(uniswapV2Pair, 0);
IBorrowable(borrowable0)._setFactory();
_createLendingPool(uniswapV2Pair);
getLendingPool[uniswapV2Pair].borrowable0 = borrowable0;
}
function createBorrowable1(address uniswapV2Pair) external returns (address borrowable1) {
_getTokens(uniswapV2Pair);
require(getLendingPool[uniswapV2Pair].borrowable1 == address(0), "Impermax: ALREADY_EXISTS");
borrowable1 = bDeployer.deployBorrowable(uniswapV2Pair, 1);
IBorrowable(borrowable1)._setFactory();
_createLendingPool(uniswapV2Pair);
getLendingPool[uniswapV2Pair].borrowable1 = borrowable1;
}
function initializeLendingPool(address uniswapV2Pair) external {
(address token0, address token1) = _getTokens(uniswapV2Pair);
LendingPool memory lPool = getLendingPool[uniswapV2Pair];
require(!lPool.initialized, "Impermax: ALREADY_INITIALIZED");
require(lPool.collateral != address(0), "Impermax: COLLATERALIZABLE_NOT_CREATED");
require(lPool.borrowable0 != address(0), "Impermax: BORROWABLE0_NOT_CREATED");
require(lPool.borrowable1 != address(0), "Impermax: BORROWABLE1_NOT_CREATED");
ICollateral(lPool.collateral)._initialize("Impermax Collateral", "imxC", uniswapV2Pair, lPool.borrowable0, lPool.borrowable1);
IBorrowable(lPool.borrowable0)._initialize("Impermax Borrowable", "imxB", token0, lPool.collateral);
IBorrowable(lPool.borrowable1)._initialize("Impermax Borrowable", "imxB", token1, lPool.collateral);
getLendingPool[uniswapV2Pair].initialized = true;
emit LendingPoolInitialized(uniswapV2Pair, token0, token1, lPool.collateral, lPool.borrowable0, lPool.borrowable1, lPool.lendingPoolId);
}
function _setPendingAdmin(address newPendingAdmin) external {
require(msg.sender == admin, "Impermax: UNAUTHORIZED");
address oldPendingAdmin = pendingAdmin;
pendingAdmin = newPendingAdmin;
emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin);
}
function _acceptAdmin() external {
require(msg.sender == pendingAdmin, "Impermax: UNAUTHORIZED");
address oldAdmin = admin;
address oldPendingAdmin = pendingAdmin;
admin = pendingAdmin;
pendingAdmin = address(0);
emit NewAdmin(oldAdmin, admin);
emit NewPendingAdmin(oldPendingAdmin, address(0));
}
function _setReservesPendingAdmin(address newReservesPendingAdmin) external {
require(msg.sender == reservesAdmin, "Impermax: UNAUTHORIZED");
address oldReservesPendingAdmin = reservesPendingAdmin;
reservesPendingAdmin = newReservesPendingAdmin;
emit NewReservesPendingAdmin(oldReservesPendingAdmin, newReservesPendingAdmin);
}
function _acceptReservesAdmin() external {
require(msg.sender == reservesPendingAdmin, "Impermax: UNAUTHORIZED");
address oldReservesAdmin = reservesAdmin;
address oldReservesPendingAdmin = reservesPendingAdmin;
reservesAdmin = reservesPendingAdmin;
reservesPendingAdmin = address(0);
emit NewReservesAdmin(oldReservesAdmin, reservesAdmin);
emit NewReservesPendingAdmin(oldReservesPendingAdmin, address(0));
}
function _setReservesManager(address newReservesManager) external {
require(msg.sender == reservesAdmin, "Impermax: UNAUTHORIZED");
address oldReservesManager = reservesManager;
reservesManager = newReservesManager;
emit NewReservesManager(oldReservesManager, newReservesManager);
}
}{
"optimizer": {
"enabled": true,
"runs": 999999
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_reservesAdmin","type":"address"},{"internalType":"contract IBDeployer","name":"_bDeployer","type":"address"},{"internalType":"contract ICDeployer","name":"_cDeployer","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"uniswapV2Pair","type":"address"},{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"collateral","type":"address"},{"indexed":false,"internalType":"address","name":"borrowable0","type":"address"},{"indexed":false,"internalType":"address","name":"borrowable1","type":"address"},{"indexed":false,"internalType":"uint256","name":"lendingPoolId","type":"uint256"}],"name":"LendingPoolInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldReservesAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newReservesAdmin","type":"address"}],"name":"NewReservesAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldReservesManager","type":"address"},{"indexed":false,"internalType":"address","name":"newReservesManager","type":"address"}],"name":"NewReservesManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldReservesPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newReservesPendingAdmin","type":"address"}],"name":"NewReservesPendingAdmin","type":"event"},{"constant":false,"inputs":[],"name":"_acceptAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"_acceptReservesAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"_setPendingAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newReservesManager","type":"address"}],"name":"_setReservesManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newReservesPendingAdmin","type":"address"}],"name":"_setReservesPendingAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allLendingPools","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allLendingPoolsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bDeployer","outputs":[{"internalType":"contract IBDeployer","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cDeployer","outputs":[{"internalType":"contract ICDeployer","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"createBorrowable0","outputs":[{"internalType":"address","name":"borrowable0","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"createBorrowable1","outputs":[{"internalType":"address","name":"borrowable1","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"createCollateral","outputs":[{"internalType":"address","name":"collateral","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getLendingPool","outputs":[{"internalType":"bool","name":"initialized","type":"bool"},{"internalType":"uint24","name":"lendingPoolId","type":"uint24"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"borrowable0","type":"address"},{"internalType":"address","name":"borrowable1","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"initializeLendingPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reservesAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reservesManager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reservesPendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051611d84380380611d848339818101604052608081101561003357600080fd5b508051602080830151604080850151606090950151600080546001600160a01b03199081166001600160a01b038089169182178455600280548416828916179055600780548416828c161790556008805490931690851617909155835191825294810194909452815194959294929390927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc929181900390910190a160408051600081526001600160a01b038516602082015281517fa328ba21363a99cbf330243928bb26a15acf20bf43166ef838e67ff5d84d4ae7929181900390910190a150505050611c5e806101266000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80639e1348e3116100cd578063d407112711610081578063e9c714f211610066578063e9c714f21461039f578063eb5ab75f146103a7578063f851a440146103da57610151565b8063d40711271461037a578063db5a26901461039757610151565b8063b658ca75116100b2578063b658ca75146102e1578063b71d1a0c14610314578063cbed6d711461034757610151565b80639e1348e3146102a6578063b1ccc03e146102ae57610151565b806349a78838116101245780637a4660d5116101095780637a4660d51461028c578063822d73b214610294578063998c077d1461029c57610151565b806349a788381461023f578063714c02061461027257610151565b80630572bf5f1461015657806323c6145d146101d3578063267822471461022f578063345ef94114610237575b600080fd5b6101896004803603602081101561016c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166103e2565b60408051951515865262ffffff909416602086015273ffffffffffffffffffffffffffffffffffffffff928316858501529082166060850152166080830152519081900360a00190f35b610206600480360360208110156101e957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610436565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61020661066c565b610206610688565b6102066004803603602081101561025557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106a4565b61027a6108d8565b60408051918252519081900360200190f35b6102066108de565b6102066108fa565b6102a4610916565b005b610206610a81565b6102a4600480360360208110156102c457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a9d565b6102a4600480360360208110156102f757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610bab565b6102a46004803603602081101561032a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111d2565b6102066004803603602081101561035d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112e0565b6102066004803603602081101561039057600080fd5b5035611512565b610206611546565b6102a4611562565b6102a4600480360360208110156103bd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116cd565b6102066117db565b60056020526000908152604090208054600182015460029092015460ff82169262ffffff6101008404169273ffffffffffffffffffffffffffffffffffffffff640100000000909104811692918116911685565b6000610441826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902054640100000000900416156104df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600854604080517f7924fedd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691637924fedd9160248083019260209291908290030181600087803b15801561055457600080fd5b505af1158015610568573d6000803e3d6000fd5b505050506040513d602081101561057e57600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b1580156105eb57600080fd5b505af11580156105ff573d6000803e3d6000fd5b5050505061060c826119e8565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526005602052604090208054928216640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9093169290921790915590565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60006106af826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902060010154161561074857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600754604080517f54bcd7ad00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260006024830181905292519316926354bcd7ad92604480840193602093929083900390910190829087803b1580156107c657600080fd5b505af11580156107da573d6000803e3d6000fd5b505050506040513d60208110156107f057600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b5050505061087e826119e8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020526040902060010180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169282169290921790915590565b60065490565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16331461099c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b600280546003805473ffffffffffffffffffffffffffffffffffffffff8082167fffffffffffffffffffffffff000000000000000000000000000000000000000080861682179687905590921690925560408051938316808552949092166020840152815190927fa328ba21363a99cbf330243928bb26a15acf20bf43166ef838e67ff5d84d4ae792908290030190a16040805173ffffffffffffffffffffffffffffffffffffffff831681526000602082015281517f01d5e27ed5584d16c62ba1a14cfde0783f979d4797a3fc41342aff17d8ef5b41929181900390910190a15050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff163314610b2357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517f01d5e27ed5584d16c62ba1a14cfde0783f979d4797a3fc41342aff17d8ef5b41929181900390910190a15050565b600080610bb7836117f7565b91509150610bc3611b93565b5073ffffffffffffffffffffffffffffffffffffffff808416600090815260056020908152604091829020825160a081018452815460ff8116158015835262ffffff61010083041694830194909452640100000000900485169381019390935260018101548416606084015260020154909216608082015290610ca757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496d7065726d61783a20414c52454144595f494e495449414c495a4544000000604482015290519081900360640190fd5b604081015173ffffffffffffffffffffffffffffffffffffffff16610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611be36026913960400191505060405180910390fd5b606081015173ffffffffffffffffffffffffffffffffffffffff16610d87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611c096021913960400191505060405180910390fd5b608081015173ffffffffffffffffffffffffffffffffffffffff16610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611bc26021913960400191505060405180910390fd5b6040808201516060830151608084015183517fc548e3c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660448301529283166064820152908216608482015260a0600480830191909152601360a48301527f496d7065726d617820436f6c6c61746572616c0000000000000000000000000060c483015260e0602483015260e48201527f696d784300000000000000000000000000000000000000000000000000000000610104820152925191169163c548e3c59161012480830192600092919082900301818387803b158015610ef057600080fd5b505af1158015610f04573d6000803e3d6000fd5b505050606082015160408084015181517f6a030c1100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116604483015291821660648201526080600480830191909152601360848301527f496d7065726d617820426f72726f7761626c650000000000000000000000000060a483015260c0602483015260c48201527f696d78420000000000000000000000000000000000000000000000000000000060e4820152915192169250636a030c119161010480830192600092919082900301818387803b158015610ff357600080fd5b505af1158015611007573d6000803e3d6000fd5b5050505060808181015160408084015181517f6a030c1100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660448301529182166064820152600480820195909552601360848201527f496d7065726d617820426f72726f7761626c650000000000000000000000000060a482015260c0602482015260c48101949094527f696d78420000000000000000000000000000000000000000000000000000000060e48501529051911691636a030c119161010480830192600092919082900301818387803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff80861660008181526005602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055858201516060808801516080808a01518a8601518751958a168652928916958501959095529387168386015262ffffff169082015291518785169550938816937f4c3ab495dc8ebd1b2f3232d7632e54411bc7e4d111475e7fbbd5547d9a28c4959281900390910190a450505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461125857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b60006112eb826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902060020154161561138457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600754604080517f54bcd7ad00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260016024830152915191909216916354bcd7ad9160448083019260209291908290030181600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114b8826119e8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020526040902060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169282169290921790915590565b6006818154811061151f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146115e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b600080546001805473ffffffffffffffffffffffffffffffffffffffff8082167fffffffffffffffffffffffff000000000000000000000000000000000000000080861682179687905590921690925560408051938316808552949092166020840152815190927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a16040805173ffffffffffffffffffffffffffffffffffffffff831681526000602082015281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b60025473ffffffffffffffffffffffffffffffffffffffff16331461175357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517f324bacfad26225895fcf55780481bec4ce49013c92500fa1c25626ff43fbf661929181900390910190a15050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff166322be3de16040518163ffffffff1660e01b815260040160206040518083038186803b15801561184057600080fd5b505afa158015611854573d6000803e3d6000fd5b505050506040513d602081101561186a57600080fd5b5051156118d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496d7065726d61783a20535441424c455f504149520000000000000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561191e57600080fd5b505afa158015611932573d6000803e3d6000fd5b505050506040513d602081101561194857600080fd5b5051604080517fd21220a7000000000000000000000000000000000000000000000000000000008152905191935073ffffffffffffffffffffffffffffffffffffffff85169163d21220a791600480820192602092909190829003018186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d60208110156119de57600080fd5b5051919391925050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260056020526040902054610100900462ffffff1615611a2257611b90565b60068054600181810183557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f909101805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556040805160a0810182526000808252965462ffffff90811660208381019182528385018a8152606085018b8152608086018c8152998c5260059092529490992092518354915194518616640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff95909316610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff9115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009093169290921716179290921691909117815594519385018054948216948316949094179093559051600290930180549390921692169190911790555b50565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fe496d7065726d61783a20424f52524f5741424c45315f4e4f545f43524541544544496d7065726d61783a20434f4c4c41544552414c495a41424c455f4e4f545f43524541544544496d7065726d61783a20424f52524f5741424c45305f4e4f545f43524541544544a265627a7a723158204fa729635b7d80de709f1afa4fb190ca75b943b686e66107d242552787ac9e4564736f6c634300051000320000000000000000000000007226c7ca07056c655865216e04512e9b287829590000000000000000000000009fd93712400902bff6040efa72b28bf80152f0560000000000000000000000007a9212d34dd283e952f8f15f084832e9b48ee746000000000000000000000000eb81da0cac9d3efc4bf3270080936c6a5758926f
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101515760003560e01c80639e1348e3116100cd578063d407112711610081578063e9c714f211610066578063e9c714f21461039f578063eb5ab75f146103a7578063f851a440146103da57610151565b8063d40711271461037a578063db5a26901461039757610151565b8063b658ca75116100b2578063b658ca75146102e1578063b71d1a0c14610314578063cbed6d711461034757610151565b80639e1348e3146102a6578063b1ccc03e146102ae57610151565b806349a78838116101245780637a4660d5116101095780637a4660d51461028c578063822d73b214610294578063998c077d1461029c57610151565b806349a788381461023f578063714c02061461027257610151565b80630572bf5f1461015657806323c6145d146101d3578063267822471461022f578063345ef94114610237575b600080fd5b6101896004803603602081101561016c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166103e2565b60408051951515865262ffffff909416602086015273ffffffffffffffffffffffffffffffffffffffff928316858501529082166060850152166080830152519081900360a00190f35b610206600480360360208110156101e957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610436565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61020661066c565b610206610688565b6102066004803603602081101561025557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106a4565b61027a6108d8565b60408051918252519081900360200190f35b6102066108de565b6102066108fa565b6102a4610916565b005b610206610a81565b6102a4600480360360208110156102c457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a9d565b6102a4600480360360208110156102f757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610bab565b6102a46004803603602081101561032a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111d2565b6102066004803603602081101561035d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112e0565b6102066004803603602081101561039057600080fd5b5035611512565b610206611546565b6102a4611562565b6102a4600480360360208110156103bd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116cd565b6102066117db565b60056020526000908152604090208054600182015460029092015460ff82169262ffffff6101008404169273ffffffffffffffffffffffffffffffffffffffff640100000000909104811692918116911685565b6000610441826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902054640100000000900416156104df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600854604080517f7924fedd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691637924fedd9160248083019260209291908290030181600087803b15801561055457600080fd5b505af1158015610568573d6000803e3d6000fd5b505050506040513d602081101561057e57600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b1580156105eb57600080fd5b505af11580156105ff573d6000803e3d6000fd5b5050505061060c826119e8565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526005602052604090208054928216640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9093169290921790915590565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60006106af826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902060010154161561074857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600754604080517f54bcd7ad00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260006024830181905292519316926354bcd7ad92604480840193602093929083900390910190829087803b1580156107c657600080fd5b505af11580156107da573d6000803e3d6000fd5b505050506040513d60208110156107f057600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b5050505061087e826119e8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020526040902060010180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169282169290921790915590565b60065490565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16331461099c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b600280546003805473ffffffffffffffffffffffffffffffffffffffff8082167fffffffffffffffffffffffff000000000000000000000000000000000000000080861682179687905590921690925560408051938316808552949092166020840152815190927fa328ba21363a99cbf330243928bb26a15acf20bf43166ef838e67ff5d84d4ae792908290030190a16040805173ffffffffffffffffffffffffffffffffffffffff831681526000602082015281517f01d5e27ed5584d16c62ba1a14cfde0783f979d4797a3fc41342aff17d8ef5b41929181900390910190a15050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff163314610b2357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517f01d5e27ed5584d16c62ba1a14cfde0783f979d4797a3fc41342aff17d8ef5b41929181900390910190a15050565b600080610bb7836117f7565b91509150610bc3611b93565b5073ffffffffffffffffffffffffffffffffffffffff808416600090815260056020908152604091829020825160a081018452815460ff8116158015835262ffffff61010083041694830194909452640100000000900485169381019390935260018101548416606084015260020154909216608082015290610ca757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496d7065726d61783a20414c52454144595f494e495449414c495a4544000000604482015290519081900360640190fd5b604081015173ffffffffffffffffffffffffffffffffffffffff16610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611be36026913960400191505060405180910390fd5b606081015173ffffffffffffffffffffffffffffffffffffffff16610d87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611c096021913960400191505060405180910390fd5b608081015173ffffffffffffffffffffffffffffffffffffffff16610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611bc26021913960400191505060405180910390fd5b6040808201516060830151608084015183517fc548e3c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660448301529283166064820152908216608482015260a0600480830191909152601360a48301527f496d7065726d617820436f6c6c61746572616c0000000000000000000000000060c483015260e0602483015260e48201527f696d784300000000000000000000000000000000000000000000000000000000610104820152925191169163c548e3c59161012480830192600092919082900301818387803b158015610ef057600080fd5b505af1158015610f04573d6000803e3d6000fd5b505050606082015160408084015181517f6a030c1100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116604483015291821660648201526080600480830191909152601360848301527f496d7065726d617820426f72726f7761626c650000000000000000000000000060a483015260c0602483015260c48201527f696d78420000000000000000000000000000000000000000000000000000000060e4820152915192169250636a030c119161010480830192600092919082900301818387803b158015610ff357600080fd5b505af1158015611007573d6000803e3d6000fd5b5050505060808181015160408084015181517f6a030c1100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660448301529182166064820152600480820195909552601360848201527f496d7065726d617820426f72726f7761626c650000000000000000000000000060a482015260c0602482015260c48101949094527f696d78420000000000000000000000000000000000000000000000000000000060e48501529051911691636a030c119161010480830192600092919082900301818387803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff80861660008181526005602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055858201516060808801516080808a01518a8601518751958a168652928916958501959095529387168386015262ffffff169082015291518785169550938816937f4c3ab495dc8ebd1b2f3232d7632e54411bc7e4d111475e7fbbd5547d9a28c4959281900390910190a450505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461125857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b60006112eb826117f7565b505073ffffffffffffffffffffffffffffffffffffffff828116600090815260056020526040902060020154161561138457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496d7065726d61783a20414c52454144595f4558495354530000000000000000604482015290519081900360640190fd5b600754604080517f54bcd7ad00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260016024830152915191909216916354bcd7ad9160448083019260209291908290030181600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b5051604080517f4a5d316c000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff831691634a5d316c9160048082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114b8826119e8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020526040902060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169282169290921790915590565b6006818154811061151f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146115e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b600080546001805473ffffffffffffffffffffffffffffffffffffffff8082167fffffffffffffffffffffffff000000000000000000000000000000000000000080861682179687905590921690925560408051938316808552949092166020840152815190927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a16040805173ffffffffffffffffffffffffffffffffffffffff831681526000602082015281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b60025473ffffffffffffffffffffffffffffffffffffffff16331461175357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496d7065726d61783a20554e415554484f52495a454400000000000000000000604482015290519081900360640190fd5b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517f324bacfad26225895fcf55780481bec4ce49013c92500fa1c25626ff43fbf661929181900390910190a15050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff166322be3de16040518163ffffffff1660e01b815260040160206040518083038186803b15801561184057600080fd5b505afa158015611854573d6000803e3d6000fd5b505050506040513d602081101561186a57600080fd5b5051156118d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496d7065726d61783a20535441424c455f504149520000000000000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561191e57600080fd5b505afa158015611932573d6000803e3d6000fd5b505050506040513d602081101561194857600080fd5b5051604080517fd21220a7000000000000000000000000000000000000000000000000000000008152905191935073ffffffffffffffffffffffffffffffffffffffff85169163d21220a791600480820192602092909190829003018186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d60208110156119de57600080fd5b5051919391925050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260056020526040902054610100900462ffffff1615611a2257611b90565b60068054600181810183557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f909101805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556040805160a0810182526000808252965462ffffff90811660208381019182528385018a8152606085018b8152608086018c8152998c5260059092529490992092518354915194518616640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff95909316610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff9115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009093169290921716179290921691909117815594519385018054948216948316949094179093559051600290930180549390921692169190911790555b50565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fe496d7065726d61783a20424f52524f5741424c45315f4e4f545f43524541544544496d7065726d61783a20434f4c4c41544552414c495a41424c455f4e4f545f43524541544544496d7065726d61783a20424f52524f5741424c45305f4e4f545f43524541544544a265627a7a723158204fa729635b7d80de709f1afa4fb190ca75b943b686e66107d242552787ac9e4564736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007226c7ca07056c655865216e04512e9b287829590000000000000000000000009fd93712400902bff6040efa72b28bf80152f0560000000000000000000000007a9212d34dd283e952f8f15f084832e9b48ee746000000000000000000000000eb81da0cac9d3efc4bf3270080936c6a5758926f
-----Decoded View---------------
Arg [0] : _admin (address): 0x7226C7ca07056c655865216E04512E9B28782959
Arg [1] : _reservesAdmin (address): 0x9fd93712400902bff6040efa72B28Bf80152F056
Arg [2] : _bDeployer (address): 0x7A9212D34DD283e952f8f15f084832e9b48ee746
Arg [3] : _cDeployer (address): 0xEB81da0cAC9D3efc4bf3270080936C6a5758926f
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007226c7ca07056c655865216e04512e9b28782959
Arg [1] : 0000000000000000000000009fd93712400902bff6040efa72b28bf80152f056
Arg [2] : 0000000000000000000000007a9212d34dd283e952f8f15f084832e9b48ee746
Arg [3] : 000000000000000000000000eb81da0cac9d3efc4bf3270080936c6a5758926f
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in S
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.