More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vault
Compiler Version
v0.4.23+commit.124ca40d
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-21 */ // File: contracts/interfaces/IERC20Token.sol pragma solidity ^0.4.23; /* ERC20 Standard Token interface */ contract IERC20Token { // these functions aren't abstract since the compiler emits automatically generated getter functions as external function name() public view returns (string) {} function symbol() public view returns (string) {} function decimals() public view returns (uint8) {} function totalSupply() public view returns (uint256) {} function balanceOf(address _owner) public view returns (uint256) { _owner; } function allowance(address _owner, address _spender) public view returns (uint256) { _owner; _spender; } function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); } // File: contracts/interfaces/IContractRegistry.sol pragma solidity ^0.4.23; /* Contract Registry interface */ contract IContractRegistry { function addressOf(bytes32 _contractName) public view returns (address); } // File: contracts/interfaces/IVault.sol pragma solidity ^0.4.23; contract IVault { function registry() public view returns (IContractRegistry); function auctions(address _borrower) public view returns (address) { _borrower; } function vaultExists(address _vault) public view returns (bool) { _vault; } function totalBorrowed(address _vault) public view returns (uint256) { _vault; } function rawBalanceOf(address _vault) public view returns (uint256) { _vault; } function rawDebt(address _vault) public view returns (uint256) { _vault; } function rawTotalBalance() public view returns (uint256); function rawTotalDebt() public view returns (uint256); function collateralBorrowedRatio() public view returns (uint256); function amountMinted() public view returns (uint256); function debtScalePrevious() public view returns (uint256); function debtScaleTimestamp() public view returns (uint256); function debtScaleRate() public view returns (int256); function balScalePrevious() public view returns (uint256); function balScaleTimestamp() public view returns (uint256); function balScaleRate() public view returns (int256); function liquidationRatio() public view returns (uint32); function maxBorrowLTV() public view returns (uint32); function borrowingEnabled() public view returns (bool); function biddingTime() public view returns (uint); function setType(bool _type) public; function create(address _vault) public; function setCollateralBorrowedRatio(uint _newRatio) public; function setAmountMinted(uint _amountMinted) public; function setLiquidationRatio(uint32 _liquidationRatio) public; function setMaxBorrowLTV(uint32 _maxBorrowLTV) public; function setDebtScalingRate(int256 _debtScalingRate) public; function setBalanceScalingRate(int256 _balanceScalingRate) public; function setBiddingTime(uint _biddingTime) public; function setRawTotalDebt(uint _rawTotalDebt) public; function setRawTotalBalance(uint _rawTotalBalance) public; function setRawBalanceOf(address _borrower, uint _rawBalance) public; function setRawDebt(address _borrower, uint _rawDebt) public; function setTotalBorrowed(address _borrower, uint _totalBorrowed) public; function debtScalingFactor() public view returns (uint256); function balanceScalingFactor() public view returns (uint256); function debtRawToActual(uint256 _raw) public view returns (uint256); function debtActualToRaw(uint256 _actual) public view returns (uint256); function balanceRawToActual(uint256 _raw) public view returns (uint256); function balanceActualToRaw(uint256 _actual) public view returns (uint256); function getVaults(address _vault, uint256 _balanceOf) public view returns(address[]); function transferERC20Token(IERC20Token _token, address _to, uint256 _amount) public; function oracleValue() public view returns(uint256); function emitBorrow(address _borrower, uint256 _amount) public; function emitRepay(address _borrower, uint256 _amount) public; function emitDeposit(address _borrower, uint256 _amount) public; function emitWithdraw(address _borrower, address _to, uint256 _amount) public; function emitLiquidate(address _borrower) public; function emitAuctionStarted(address _borrower) public; function emitAuctionEnded(address _borrower, address _highestBidder, uint256 _highestBid) public; function setAuctionAddress(address _borrower, address _auction) public; } // File: contracts/interfaces/IPegSettings.sol pragma solidity ^0.4.23; contract IPegSettings { function authorized(address _address) public view returns (bool) { _address; } function authorize(address _address, bool _auth) public; function transferERC20Token(IERC20Token _token, address _to, uint256 _amount) public; } // File: contracts/interfaces/IPegOracle.sol pragma solidity ^0.4.23; contract IPegOracle { function getValue() public view returns (uint256); } // File: contracts/library/SafeMath.sol pragma solidity ^0.4.23; library SafeMath { function plus(uint256 _a, uint256 _b) internal pure returns (uint256) { uint256 c = _a + _b; assert(c >= _a); return c; } function plus(int256 _a, int256 _b) internal pure returns (int256) { int256 c = _a + _b; assert((_b >= 0 && c >= _a) || (_b < 0 && c < _a)); return c; } function minus(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_a >= _b); return _a - _b; } function minus(int256 _a, int256 _b) internal pure returns (int256) { int256 c = _a - _b; assert((_b >= 0 && c <= _a) || (_b < 0 && c > _a)); return c; } function times(uint256 _a, uint256 _b) internal pure returns (uint256) { if (_a == 0) { return 0; } uint256 c = _a * _b; assert(c / _a == _b); return c; } function times(int256 _a, int256 _b) internal pure returns (int256) { if (_a == 0) { return 0; } int256 c = _a * _b; assert(c / _a == _b); return c; } function toInt256(uint256 _a) internal pure returns (int256) { assert(_a <= 2 ** 255); return int256(_a); } function toUint256(int256 _a) internal pure returns (uint256) { assert(_a >= 0); return uint256(_a); } function div(uint256 _a, uint256 _b) internal pure returns (uint256) { return _a / _b; } function div(int256 _a, int256 _b) internal pure returns (int256) { return _a / _b; } } // File: contracts/interfaces/IOwned.sol pragma solidity ^0.4.23; /* Owned contract interface */ contract IOwned { // this function isn't abstract since the compiler emits automatically generated getter functions as external function owner() public view returns (address) {} function transferOwnership(address _newOwner) public; function acceptOwnership() public; function setOwner(address _newOwner) public; } // File: contracts/interfaces/ISmartToken.sol pragma solidity ^0.4.23; /* Smart Token interface */ contract ISmartToken is IOwned, IERC20Token { function disableTransfers(bool _disable) public; function issue(address _to, uint256 _amount) public; function destroy(address _from, uint256 _amount) public; } // File: contracts/interfaces/IPegLogic.sol pragma solidity ^0.4.23; contract IPegLogic { function adjustCollateralBorrowingRate() public; function isInsolvent(IVault _vault, address _borrower) public view returns (bool); function actualDebt(IVault _vault, address _address) public view returns(uint256); function excessCollateral(IVault _vault, address _borrower) public view returns (int256); function availableCredit(IVault _vault, address _borrower) public view returns (int256); function getCollateralToken(IVault _vault) public view returns(IERC20Token); function getDebtToken(IVault _vault) public view returns(ISmartToken); } // File: contracts/interfaces/IAuctionActions.sol pragma solidity ^0.4.23; contract IAuctionActions { function startAuction(IVault _vault, address _borrower) public; function endAuction(IVault _vault, address _borrower) public; } // File: contracts/ContractIds.sol pragma solidity ^0.4.23; contract ContractIds { bytes32 public constant STABLE_TOKEN = "StableToken"; bytes32 public constant COLLATERAL_TOKEN = "CollateralToken"; bytes32 public constant PEGUSD_TOKEN = "PEGUSD"; bytes32 public constant VAULT_A = "VaultA"; bytes32 public constant VAULT_B = "VaultB"; bytes32 public constant PEG_LOGIC = "PegLogic"; bytes32 public constant PEG_LOGIC_ACTIONS = "LogicActions"; bytes32 public constant AUCTION_ACTIONS = "AuctionActions"; bytes32 public constant PEG_SETTINGS = "PegSettings"; bytes32 public constant ORACLE = "Oracle"; bytes32 public constant FEE_RECIPIENT = "StabilityFeeRecipient"; } // File: contracts/Helpers.sol pragma solidity ^0.4.23; contract Helpers is ContractIds { IContractRegistry public registry; constructor(IContractRegistry _registry) public { registry = _registry; } modifier authOnly() { require(settings().authorized(msg.sender)); _; } modifier validate(IVault _vault, address _borrower) { require(address(_vault) == registry.addressOf(ContractIds.VAULT_A) || address(_vault) == registry.addressOf(ContractIds.VAULT_B)); _vault.create(_borrower); _; } function stableToken() internal returns(ISmartToken) { return ISmartToken(registry.addressOf(ContractIds.STABLE_TOKEN)); } function collateralToken() internal returns(ISmartToken) { return ISmartToken(registry.addressOf(ContractIds.COLLATERAL_TOKEN)); } function PEGUSD() internal returns(IERC20Token) { return IERC20Token(registry.addressOf(ContractIds.PEGUSD_TOKEN)); } function vaultA() internal returns(IVault) { return IVault(registry.addressOf(ContractIds.VAULT_A)); } function vaultB() internal returns(IVault) { return IVault(registry.addressOf(ContractIds.VAULT_B)); } function oracle() internal returns(IPegOracle) { return IPegOracle(registry.addressOf(ContractIds.ORACLE)); } function settings() internal returns(IPegSettings) { return IPegSettings(registry.addressOf(ContractIds.PEG_SETTINGS)); } function pegLogic() internal returns(IPegLogic) { return IPegLogic(registry.addressOf(ContractIds.PEG_LOGIC)); } function auctionActions() internal returns(IAuctionActions) { return IAuctionActions(registry.addressOf(ContractIds.AUCTION_ACTIONS)); } function transferERC20Token(IERC20Token _token, address _to, uint256 _amount) public authOnly { _token.transfer(_to, _amount); } } // File: contracts/interfaces/ILogicActions.sol pragma solidity ^0.4.23; contract ILogicActions { function deposit(IVault _vault, uint256 _amount) public; function withdraw(IVault _vault, address _to, uint256 _amount) public; function borrow(IVault _vault, uint256 _amount) public; function repay(IVault _vault, address _borrower, uint256 _amount) public; function repayAuction(IVault _vault, address _borrower, uint256 _amount) public; function repayAll(IVault _vault, address _borrower) public; } // File: contracts/Auction.sol pragma solidity ^0.4.23; contract Auction is ContractIds { address public borrower; IVault public vault; IContractRegistry public registry; uint public auctionEndTime; uint public auctionStartTime; address public highestBidder; uint256 public highestBid; uint256 public lowestBidRelay; uint256 public amountToPay; bool ended; event HighestBidIncreased(address indexed _bidder, uint256 _amount, uint256 _amountRelay); constructor(IContractRegistry _registry, IVault _vault, address _borrower) public { registry = _registry; borrower = _borrower; vault = _vault; } modifier authOnly() { require(IPegSettings(registry.addressOf(ContractIds.PEG_SETTINGS)).authorized(msg.sender), "Unauthorized"); _; } function validateBid(uint256 _amount, uint256 _amountRelay) internal { if(auctionEndTime > 0) require(now <= auctionEndTime, "Auction has already ended"); else { auctionStartTime = now; auctionEndTime = now + vault.biddingTime(); } require(_amount == 0 || _amountRelay == 0, "Can't refund collateral and mint relay tokens"); if(highestBidder != address(0)) require(_amount > highestBid || _amountRelay < lowestBidRelay, "There already is a higher bid"); require(vault.balanceActualToRaw(_amount) <= vault.rawBalanceOf(address(this)), "Can't refund more than 100%"); } function bid(uint256 _amount, uint256 _amountRelay) public { validateBid(_amount, _amountRelay); if(_amountRelay > 0) auctionEndTime = auctionStartTime + 172800; // extends to 48 hours auction IPegLogic pegLogic = IPegLogic(registry.addressOf(ContractIds.PEG_LOGIC)); if(amountToPay == 0) amountToPay = pegLogic.actualDebt(vault, address(this)); IERC20Token token = pegLogic.getDebtToken(vault); token.transferFrom(msg.sender, address(this), amountToPay); if (highestBidder != address(0)) { require(token.transfer(highestBidder, amountToPay), "Error transferring token to last highest bidder."); } else { ILogicActions logicActions = ILogicActions(registry.addressOf(ContractIds.PEG_LOGIC_ACTIONS)); if (address(vault) == registry.addressOf(ContractIds.VAULT_B)) token.approve(address(logicActions), amountToPay); logicActions.repayAuction(vault, borrower, amountToPay); } highestBidder = msg.sender; highestBid = _amount; lowestBidRelay = _amountRelay; emit HighestBidIncreased(msg.sender, _amount, _amountRelay); } function auctionEnd() public authOnly { require(auctionEndTime > 0, "Bidding has not started yet"); require(now >= auctionEndTime, "Auction end time is in the future"); require(!ended, "Auction already ended"); ended = true; } function hasEnded() public view returns (bool) { return auctionEndTime > 0 && now >= auctionEndTime; } function transferERC20Token(IERC20Token _token, address _to, uint256 _amount) public authOnly { _token.transfer(_to, _amount); } } // File: contracts/Vault.sol pragma solidity ^0.4.23; contract Vault is Helpers { using SafeMath for uint256; using SafeMath for int256; IContractRegistry public registry; address[] public vaults; mapping (address => address) public auctions; mapping (address => bool) public vaultExists; mapping (address => uint256) public totalBorrowed; mapping (address => uint256) public rawBalanceOf; mapping (address => uint256) public rawDebt; uint256 public rawTotalBalance; uint256 public rawTotalDebt; uint256 public collateralBorrowedRatio; uint256 public amountMinted; uint256 public debtScalePrevious = 1e18; uint256 public debtScaleTimestamp = now; int256 public debtScaleRate; uint256 public balScalePrevious = 1e18; uint256 public balScaleTimestamp = now; int256 public balScaleRate; uint32 public liquidationRatio = 850000; uint32 public maxBorrowLTV = 500000; bool public borrowingEnabled = true; uint public biddingTime = 10800; // 3 hours event AmountMinted(uint256 _old, uint256 _new); event Create(address indexed _borrower); event DebtScalingRateUpdate(int _old, int _new); event BalanceScalingRateUpdate(int _old, int _new); event CollateralBorrowedRatio(uint _old, uint _new); event LiquidationRatioUpdate(int _old, int _new); event MaxBorrowUpdate(uint32 _old, uint32 _new); event Deposit(address indexed _borrower, uint256 _amount); event Liquidate(address indexed _borrower); event Borrow(address indexed _borrower, uint256 _amount); event Repay(address indexed _borrower, uint256 _amount); event Withdraw(address indexed _borrower, address indexed _to, uint256 _amount); event AuctionStarted(address indexed _borrower); event AuctionEnded(address indexed _borrower, address indexed _highestBidder, uint256 _highestBid); constructor(IContractRegistry _registry) public Helpers(_registry) { registry = _registry; } function setBorrowingEnabled(bool _enabled) public authOnly { borrowingEnabled = _enabled; } function create(address _borrower) public authOnly { if(vaultExists[_borrower] == false) { vaults.push(_borrower); vaultExists[_borrower] = true; emit Create(_borrower); } } function setCollateralBorrowedRatio(uint _newRatio) public authOnly { emit CollateralBorrowedRatio(collateralBorrowedRatio, _newRatio); collateralBorrowedRatio = _newRatio; } function setAmountMinted(uint _amountMinted) public authOnly { emit AmountMinted(amountMinted, _amountMinted); amountMinted = _amountMinted; } function setLiquidationRatio(uint32 _liquidationRatio) public authOnly { emit LiquidationRatioUpdate(liquidationRatio, _liquidationRatio); liquidationRatio = _liquidationRatio; } function setMaxBorrowLTV(uint32 _maxBorrowLTV) public authOnly { emit MaxBorrowUpdate(maxBorrowLTV, _maxBorrowLTV); maxBorrowLTV = _maxBorrowLTV; } function setDebtScalingRate(int256 _debtScalingRate) public authOnly { emit DebtScalingRateUpdate(debtScaleRate, _debtScalingRate); debtScalePrevious = debtScalingFactor(); debtScaleTimestamp = now; debtScaleRate = _debtScalingRate; } function setBalanceScalingRate(int256 _balanceScalingRate) public authOnly { emit BalanceScalingRateUpdate(balScaleRate, _balanceScalingRate); balScalePrevious = balanceScalingFactor(); balScaleTimestamp = now; balScaleRate = _balanceScalingRate; } function setBiddingTime(uint _biddingTime) public authOnly { biddingTime = _biddingTime; } function setRawTotalBalance(uint _rawTotalBalance) public authOnly { rawTotalBalance = _rawTotalBalance; } function setRawTotalDebt(uint _rawTotalDebt) public authOnly { rawTotalDebt = _rawTotalDebt; } function setRawBalanceOf(address _borrower, uint _rawBalance) public authOnly { rawBalanceOf[_borrower] = _rawBalance; } function setRawDebt(address _borrower, uint _rawDebt) public authOnly { rawDebt[_borrower] = _rawDebt; } function setTotalBorrowed(address _borrower, uint _totalBorrowed) public authOnly { totalBorrowed[_borrower] = _totalBorrowed; } function debtScalingFactor() public view returns (uint) { return uint(int(debtScalePrevious).plus(debtScaleRate.times(int(now.minus(debtScaleTimestamp))))); } function balanceScalingFactor() public view returns (uint) { return uint(int(balScalePrevious).plus(balScaleRate.times(int(now.minus(balScaleTimestamp))))); } function debtRawToActual(uint256 _raw) public view returns(uint256) { return _raw.times(1e18) / debtScalingFactor(); } function debtActualToRaw(uint256 _actual) public view returns(uint256) { return _actual.times(debtScalingFactor()) / 1e18; } function balanceRawToActual(uint256 _raw) public view returns(uint256) { return _raw.times(1e18) / balanceScalingFactor(); } function balanceActualToRaw(uint256 _actual) public view returns(uint256) { return _actual.times(balanceScalingFactor()) / 1e18; } function getVaults() public view returns (address[]) { return vaults; } function transferERC20Token(IERC20Token _token, address _to, uint256 _amount) public authOnly { _token.transfer(_to, _amount); } function oracleValue() public view returns(uint) { if (address(this) == address(vaultA())) { return oracle().getValue(); } else { return 1e12 / oracle().getValue(); } } function emitRepay(address _borrower, uint256 _amount) public authOnly { emit Repay(_borrower, _amount); } function emitDeposit(address _borrower, uint256 _amount) public authOnly { emit Deposit(_borrower, _amount); } function emitWithdraw(address _borrower, address _to, uint256 _amount) public authOnly { emit Withdraw(_borrower, _to, _amount); } function emitBorrow(address _borrower, uint256 _amount) public authOnly { emit Borrow(_borrower, _amount); } function emitLiquidate(address _borrower) public authOnly { emit Liquidate(_borrower); } function emitAuctionStarted(address _borrower) public authOnly { emit AuctionStarted(_borrower); } function emitAuctionEnded(address _borrower, address _highestBidder, uint256 _highestBid) public authOnly { emit AuctionEnded(_borrower, _highestBidder, _highestBid); } function setAuctionAddress(address _borrower, address _auction) public authOnly { auctions[_borrower] = _auction; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_rawTotalBalance","type":"uint256"}],"name":"setRawTotalBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_actual","type":"uint256"}],"name":"debtActualToRaw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_highestBidder","type":"address"},{"name":"_highestBid","type":"uint256"}],"name":"emitAuctionEnded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"debtScalePrevious","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VAULT_B","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rawBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PEG_LOGIC_ACTIONS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_amount","type":"uint256"}],"name":"emitRepay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"vaultExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationRatio","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceScalingFactor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"auctions","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtScaleTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collateralBorrowedRatio","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_totalBorrowed","type":"uint256"}],"name":"setTotalBorrowed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_amount","type":"uint256"}],"name":"emitDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"oracleValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balScaleRate","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ORACLE","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rawTotalDebt","type":"uint256"}],"name":"setRawTotalDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_amount","type":"uint256"}],"name":"emitBorrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_raw","type":"uint256"}],"name":"debtRawToActual","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_biddingTime","type":"uint256"}],"name":"setBiddingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_rawBalance","type":"uint256"}],"name":"setRawBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"debtScaleRate","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getVaults","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"}],"name":"emitAuctionStarted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VAULT_A","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STABLE_TOKEN","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"}],"name":"emitLiquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"vaults","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferERC20Token","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"AUCTION_ACTIONS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtScalingFactor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"borrowingEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rawDebt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_auction","type":"address"}],"name":"setAuctionAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PEG_SETTINGS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountMinted","type":"uint256"}],"name":"setAmountMinted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_debtScalingRate","type":"int256"}],"name":"setDebtScalingRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"balScaleTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balScalePrevious","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxBorrowLTV","type":"uint32"}],"name":"setMaxBorrowLTV","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_balanceScalingRate","type":"int256"}],"name":"setBalanceScalingRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"biddingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newRatio","type":"uint256"}],"name":"setCollateralBorrowedRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rawTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PEG_LOGIC","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalBorrowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_actual","type":"uint256"}],"name":"balanceActualToRaw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_liquidationRatio","type":"uint32"}],"name":"setLiquidationRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rawTotalDebt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_RECIPIENT","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_rawDebt","type":"uint256"}],"name":"setRawDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_enabled","type":"bool"}],"name":"setBorrowingEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_borrower","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"emitWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxBorrowLTV","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COLLATERAL_TOKEN","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_raw","type":"uint256"}],"name":"balanceRawToActual","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PEGUSD_TOKEN","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"uint256"},{"indexed":false,"name":"_new","type":"uint256"}],"name":"AmountMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"}],"name":"Create","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"int256"},{"indexed":false,"name":"_new","type":"int256"}],"name":"DebtScalingRateUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"int256"},{"indexed":false,"name":"_new","type":"int256"}],"name":"BalanceScalingRateUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"uint256"},{"indexed":false,"name":"_new","type":"uint256"}],"name":"CollateralBorrowedRatio","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"int256"},{"indexed":false,"name":"_new","type":"int256"}],"name":"LiquidationRatioUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_old","type":"uint32"},{"indexed":false,"name":"_new","type":"uint32"}],"name":"MaxBorrowUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Borrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Repay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"}],"name":"AuctionStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_borrower","type":"address"},{"indexed":true,"name":"_highestBidder","type":"address"},{"indexed":false,"name":"_highestBid","type":"uint256"}],"name":"AuctionEnded","type":"event"}]
Contract Creation Code
6080604052670de0b6b3a7640000600c81905542600d819055600f919091556010556012805468010000000000000000620cf85063ffffffff199092169190911767ffffffff0000000019166607a1200000000017604060020a60ff021916179055612a3060135534801561007357600080fd5b50604051602080612607833981016040525160008054600160a060020a03909216600160a060020a0319928316811790915560018054909216179055612549806100be6000396000f3006080604052600436106102d15763ffffffff60e060020a60003504166302b03fde81146102d657806304dfdbab146102f0578063055649f51461031a5780630c3267de14610344578063109b221c1461035957806312064c341461036e578063153ea0f41461038f57806316c0b5e2146103a457806316d37595146103c85780631775765f146103fd5780631bd76a9c1461042b5780631d59410a146104405780631f4826411461047d578063217c3540146104925780632303c1aa146104a757806328ba84ca146104cb5780632efd4dce146104ef57806333a695791461050457806338013f02146105195780633a2e67781461052e5780633ac88dc2146105465780633cc43ed61461056a5780634110cb8114610582578063430b35971461059a578063437c0361146105be57806344d00f82146105d357806349ab86de1461063857806367c0037c146106595780637754f8871461066e5780637af284d5146106835780637b103999146106985780638b84c477146106ad5780638c64ea4a146106ce57806392940bf9146106e657806394200c4a1461071057806397bda041146107255780639ed933181461073a578063a35d13001461075b578063a6e5639714610770578063a9dda4df14610791578063b366802c146107b8578063b39da809146107cd578063b41c7a51146107e5578063b4d3d63e146107fd578063b89df1eb14610812578063bb795ffe14610827578063c96c904814610845578063d074a38d1461085d578063d524b54814610872578063d82245701461088a578063df99e9e71461089f578063e2e1ca2b146108b4578063eb78fe77146108d5578063eb9fbe6c146108ed578063ebcb7c6d1461090b578063ebd0905414610920578063efdabdc614610935578063f1514a1a14610959578063f1f7013314610973578063f53645991461099d578063f5f1f1a7146109b2578063f79f24eb146109c7578063f8c45d23146109df575b600080fd5b3480156102e257600080fd5b506102ee6004356109f4565b005b3480156102fc57600080fd5b50610308600435610a92565b60408051918252519081900360200190f35b34801561032657600080fd5b506102ee600160a060020a0360043581169060243516604435610ac5565b34801561035057600080fd5b50610308610bae565b34801561036557600080fd5b50610308610bb4565b34801561037a57600080fd5b50610308600160a060020a0360043516610bd8565b34801561039b57600080fd5b50610308610bea565b3480156103b057600080fd5b506102ee600160a060020a0360043516602435610c0e565b3480156103d457600080fd5b506103e9600160a060020a0360043516610cea565b604080519115158252519081900360200190f35b34801561040957600080fd5b50610412610cff565b6040805163ffffffff9092168252519081900360200190f35b34801561043757600080fd5b50610308610d0b565b34801561044c57600080fd5b50610461600160a060020a0360043516610d4c565b60408051600160a060020a039092168252519081900360200190f35b34801561048957600080fd5b50610308610d67565b34801561049e57600080fd5b50610308610d6d565b3480156104b357600080fd5b506102ee600160a060020a0360043516602435610d73565b3480156104d757600080fd5b506102ee600160a060020a0360043516602435610e28565b3480156104fb57600080fd5b50610308610f04565b34801561051057600080fd5b50610308611027565b34801561052557600080fd5b5061030861102d565b34801561053a57600080fd5b506102ee600435611051565b34801561055257600080fd5b506102ee600160a060020a03600435166024356110ef565b34801561057657600080fd5b506103086004356111cb565b34801561058e57600080fd5b506102ee6004356111ed565b3480156105a657600080fd5b506102ee600160a060020a036004351660243561128b565b3480156105ca57600080fd5b50610308611340565b3480156105df57600080fd5b506105e8611346565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561062457818101518382015260200161060c565b505050509050019250505060405180910390f35b34801561064457600080fd5b506102ee600160a060020a03600435166113a8565b34801561066557600080fd5b50610308611478565b34801561067a57600080fd5b5061030861149c565b34801561068f57600080fd5b506103086114c0565b3480156106a457600080fd5b506104616114c6565b3480156106b957600080fd5b506102ee600160a060020a03600435166114d5565b3480156106da57600080fd5b506104616004356115a5565b3480156106f257600080fd5b506102ee600160a060020a03600435811690602435166044356115cd565b34801561071c57600080fd5b506103086116fa565b34801561073157600080fd5b5061030861171e565b34801561074657600080fd5b506102ee600160a060020a0360043516611759565b34801561076757600080fd5b506103e96118b1565b34801561077c57600080fd5b50610308600160a060020a03600435166118c6565b34801561079d57600080fd5b506102ee600160a060020a03600435811690602435166118d8565b3480156107c457600080fd5b506103086119ac565b3480156107d957600080fd5b506102ee6004356119d0565b3480156107f157600080fd5b506102ee600435611aab565b34801561080957600080fd5b50610308611b95565b34801561081e57600080fd5b50610308611b9b565b34801561083357600080fd5b506102ee63ffffffff60043516611ba1565b34801561085157600080fd5b506102ee600435611caf565b34801561086957600080fd5b50610308611d99565b34801561087e57600080fd5b506102ee600435611d9f565b34801561089657600080fd5b50610308611e7a565b3480156108ab57600080fd5b50610308611e80565b3480156108c057600080fd5b50610308600160a060020a0360043516611ea4565b3480156108e157600080fd5b50610308600435611eb6565b3480156108f957600080fd5b506102ee63ffffffff60043516611ecc565b34801561091757600080fd5b50610308611fc6565b34801561092c57600080fd5b50610308611fcc565b34801561094157600080fd5b506102ee600160a060020a0360043516602435611ff0565b34801561096557600080fd5b506102ee60043515156120a5565b34801561097f57600080fd5b506102ee600160a060020a0360043581169060243516604435612166565b3480156109a957600080fd5b5061041261224f565b3480156109be57600080fd5b50610308612263565b3480156109d357600080fd5b50610308600435612287565b3480156109eb57600080fd5b50610308612291565b6109fc6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50511515610a8d57600080fd5b600855565b6000670de0b6b3a7640000610ab5610aa861171e565b849063ffffffff61236c16565b811515610abe57fe5b0492915050565b610acd6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b50511515610b5e57600080fd5b81600160a060020a031683600160a060020a03167f8d08286bc520f0199dd11872725cfed598c29e3b91002b37ccf3e0d701e7cf9e836040518082815260200191505060405180910390a3505050565b600c5481565b7f5661756c7442000000000000000000000000000000000000000000000000000081565b60066020526000908152604090205481565b7f4c6f676963416374696f6e73000000000000000000000000000000000000000081565b610c166122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610c7057600080fd5b505af1158015610c84573d6000803e3d6000fd5b505050506040513d6020811015610c9a57600080fd5b50511515610ca757600080fd5b604080518281529051600160a060020a038416917f5c16de4f8b59bd9caf0f49a545f25819a895ed223294290b408242e72a594231919081900360200190a25050565b60046020526000908152604090205460ff1681565b60125463ffffffff1681565b6000610d46610d37610d28601054426123a290919063ffffffff16565b6011549063ffffffff6123b416565b600f549063ffffffff6123df16565b90505b90565b600360205260009081526040902054600160a060020a031681565b600d5481565b600a5481565b610d7b6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610dd557600080fd5b505af1158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b50511515610e0c57600080fd5b600160a060020a03909116600090815260056020526040902055565b610e306122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610e8a57600080fd5b505af1158015610e9e573d6000803e3d6000fd5b505050506040513d6020811015610eb457600080fd5b50511515610ec157600080fd5b604080518281529051600160a060020a038416917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25050565b6000610f0e612411565b600160a060020a031630600160a060020a03161415610f9f57610f2f612497565b600160a060020a031663209652556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b505050506040513d6020811015610f9657600080fd5b50519050610d49565b610fa7612497565b600160a060020a031663209652556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505164e8d4a5100081151561101f57fe5b049050610d49565b60115481565b7f4f7261636c65000000000000000000000000000000000000000000000000000081565b6110596122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b505115156110ea57600080fd5b600955565b6110f76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b5051151561118857600080fd5b604080518281529051600160a060020a038416917fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750919081900360200190a25050565b60006111d561171e565b610ab583670de0b6b3a764000063ffffffff61236c16565b6111f56122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b505050506040513d602081101561127957600080fd5b5051151561128657600080fd5b601355565b6112936122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156112ed57600080fd5b505af1158015611301573d6000803e3d6000fd5b505050506040513d602081101561131757600080fd5b5051151561132457600080fd5b600160a060020a03909116600090815260066020526040902055565b600e5481565b6060600280548060200260200160405190810160405280929190818152602001828054801561139e57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611380575b5050505050905090565b6113b06122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b505050506040513d602081101561143457600080fd5b5051151561144157600080fd5b604051600160a060020a038216907f5036af25bdace72875a429f12adf7d81782590b0da3dc10d149541bfc28863d090600090a250565b7f5661756c7441000000000000000000000000000000000000000000000000000081565b7f537461626c65546f6b656e00000000000000000000000000000000000000000081565b600b5481565b600154600160a060020a031681565b6114dd6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b505050506040513d602081101561156157600080fd5b5051151561156e57600080fd5b604051600160a060020a038216907ffe9ab305f21f5b394ea34792dddc6438e3cfbc8ab12a5647094046074ff1309d90600090a250565b60028054829081106115b357fe5b600091825260209091200154600160a060020a0316905081565b6115d56122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b505050506040513d602081101561165957600080fd5b5051151561166657600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156116c957600080fd5b505af11580156116dd573d6000803e3d6000fd5b505050506040513d60208110156116f357600080fd5b5050505050565b7f41756374696f6e416374696f6e7300000000000000000000000000000000000081565b6000610d4661174a61173b600d54426123a290919063ffffffff16565b600e549063ffffffff6123b416565b600c549063ffffffff6123df16565b6117616122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b505115156117f257600080fd5b600160a060020a03811660009081526004602052604090205460ff1615156118ae576002805460018082019092557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038416908117909155600081815260046020526040808220805460ff1916909417909355915190917fe3758539c1bd6726422843471b2886c2d2cefd3b4aead6778386283e20a32a8091a25b50565b60125468010000000000000000900460ff1681565b60076020526000908152604090205481565b6118e06122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561193a57600080fd5b505af115801561194e573d6000803e3d6000fd5b505050506040513d602081101561196457600080fd5b5051151561197157600080fd5b600160a060020a039182166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b7f50656753657474696e677300000000000000000000000000000000000000000081565b6119d86122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611a3257600080fd5b505af1158015611a46573d6000803e3d6000fd5b505050506040513d6020811015611a5c57600080fd5b50511515611a6957600080fd5b600b54604080519182526020820183905280517f6c591898d1d5be533fc5f7cef91c09379d8eb73c1ef64a40a338f9fe826365569281900390910190a1600b55565b611ab36122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611b0d57600080fd5b505af1158015611b21573d6000803e3d6000fd5b505050506040513d6020811015611b3757600080fd5b50511515611b4457600080fd5b600e54604080519182526020820183905280517fb587264ce3a541ccf94ae3e6ecfc9cf2d6c38fdb4f31473900250a492a32f7549281900390910190a1611b8961171e565b600c5542600d55600e55565b60105481565b600f5481565b611ba96122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050506040513d6020811015611c2d57600080fd5b50511515611c3a57600080fd5b6012546040805163ffffffff64010000000090930483168152918316602083015280517fdbbfd34007be77748889e33c1abc5294e5482d614d162e71feb8fd5015aa39309281900390910190a16012805463ffffffff9092166401000000000267ffffffff0000000019909216919091179055565b611cb76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611d1157600080fd5b505af1158015611d25573d6000803e3d6000fd5b505050506040513d6020811015611d3b57600080fd5b50511515611d4857600080fd5b601154604080519182526020820183905280517f474574115a971b3fcbd8af2b2ef44f735060a10b29fbbdc0e95a789391573ed49281900390910190a1611d8d610d0b565b600f5542601055601155565b60135481565b611da76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611e0157600080fd5b505af1158015611e15573d6000803e3d6000fd5b505050506040513d6020811015611e2b57600080fd5b50511515611e3857600080fd5b600a54604080519182526020820183905280517fe33f3bdc5d651f9041ca87a1438a73de19dc96786c74f666db40cadca0aff7be9281900390910190a1600a55565b60085481565b7f5065674c6f67696300000000000000000000000000000000000000000000000081565b60056020526000908152604090205481565b6000670de0b6b3a7640000610ab5610aa8610d0b565b611ed46122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611f2e57600080fd5b505af1158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50511515611f6557600080fd5b6012546040805163ffffffff9283168152918316602083015280517f380f16643d348a2a430349f56adf72b55756fe3e4450e42ab7b74264f6c94c9e9281900390910190a16012805463ffffffff191663ffffffff92909216919091179055565b60095481565b7f53746162696c697479466565526563697069656e74000000000000000000000081565b611ff86122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561205257600080fd5b505af1158015612066573d6000803e3d6000fd5b505050506040513d602081101561207c57600080fd5b5051151561208957600080fd5b600160a060020a03909116600090815260076020526040902055565b6120ad6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561210757600080fd5b505af115801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b5051151561213e57600080fd5b60128054911515680100000000000000000268ff000000000000000019909216919091179055565b61216e6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156121c857600080fd5b505af11580156121dc573d6000803e3d6000fd5b505050506040513d60208110156121f257600080fd5b505115156121ff57600080fd5b81600160a060020a031683600160a060020a03167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040518082815260200191505060405180910390a3505050565b601254640100000000900463ffffffff1681565b7f436f6c6c61746572616c546f6b656e000000000000000000000000000000000081565b60006111d5610d0b565b7f504547555344000000000000000000000000000000000000000000000000000081565b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f50656753657474696e677300000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd5b505af115801561234f573d6000803e3d6000fd5b505050506040513d602081101561236557600080fd5b5051905090565b60008083151561237f576000915061239b565b5082820282848281151561238f57fe5b041461239757fe5b8091505b5092915050565b6000818310156123ae57fe5b50900390565b6000808315156123c7576000915061239b565b508282028284828115156123d757fe5b051461239757fe5b60008282018183128015906123f45750838112155b80612409575060008312801561240957508381125b151561239757fe5b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f5661756c7441000000000000000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd5b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f4f7261636c65000000000000000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd00a165627a7a7230582039e95dbe24e6513fc299fa98abc71cd8a4bbcfc1f76fc052d69c9b8b50e413410029000000000000000000000000e68ebda2488c213cf4ba25a7a7da179f96ce0baf
Deployed Bytecode
0x6080604052600436106102d15763ffffffff60e060020a60003504166302b03fde81146102d657806304dfdbab146102f0578063055649f51461031a5780630c3267de14610344578063109b221c1461035957806312064c341461036e578063153ea0f41461038f57806316c0b5e2146103a457806316d37595146103c85780631775765f146103fd5780631bd76a9c1461042b5780631d59410a146104405780631f4826411461047d578063217c3540146104925780632303c1aa146104a757806328ba84ca146104cb5780632efd4dce146104ef57806333a695791461050457806338013f02146105195780633a2e67781461052e5780633ac88dc2146105465780633cc43ed61461056a5780634110cb8114610582578063430b35971461059a578063437c0361146105be57806344d00f82146105d357806349ab86de1461063857806367c0037c146106595780637754f8871461066e5780637af284d5146106835780637b103999146106985780638b84c477146106ad5780638c64ea4a146106ce57806392940bf9146106e657806394200c4a1461071057806397bda041146107255780639ed933181461073a578063a35d13001461075b578063a6e5639714610770578063a9dda4df14610791578063b366802c146107b8578063b39da809146107cd578063b41c7a51146107e5578063b4d3d63e146107fd578063b89df1eb14610812578063bb795ffe14610827578063c96c904814610845578063d074a38d1461085d578063d524b54814610872578063d82245701461088a578063df99e9e71461089f578063e2e1ca2b146108b4578063eb78fe77146108d5578063eb9fbe6c146108ed578063ebcb7c6d1461090b578063ebd0905414610920578063efdabdc614610935578063f1514a1a14610959578063f1f7013314610973578063f53645991461099d578063f5f1f1a7146109b2578063f79f24eb146109c7578063f8c45d23146109df575b600080fd5b3480156102e257600080fd5b506102ee6004356109f4565b005b3480156102fc57600080fd5b50610308600435610a92565b60408051918252519081900360200190f35b34801561032657600080fd5b506102ee600160a060020a0360043581169060243516604435610ac5565b34801561035057600080fd5b50610308610bae565b34801561036557600080fd5b50610308610bb4565b34801561037a57600080fd5b50610308600160a060020a0360043516610bd8565b34801561039b57600080fd5b50610308610bea565b3480156103b057600080fd5b506102ee600160a060020a0360043516602435610c0e565b3480156103d457600080fd5b506103e9600160a060020a0360043516610cea565b604080519115158252519081900360200190f35b34801561040957600080fd5b50610412610cff565b6040805163ffffffff9092168252519081900360200190f35b34801561043757600080fd5b50610308610d0b565b34801561044c57600080fd5b50610461600160a060020a0360043516610d4c565b60408051600160a060020a039092168252519081900360200190f35b34801561048957600080fd5b50610308610d67565b34801561049e57600080fd5b50610308610d6d565b3480156104b357600080fd5b506102ee600160a060020a0360043516602435610d73565b3480156104d757600080fd5b506102ee600160a060020a0360043516602435610e28565b3480156104fb57600080fd5b50610308610f04565b34801561051057600080fd5b50610308611027565b34801561052557600080fd5b5061030861102d565b34801561053a57600080fd5b506102ee600435611051565b34801561055257600080fd5b506102ee600160a060020a03600435166024356110ef565b34801561057657600080fd5b506103086004356111cb565b34801561058e57600080fd5b506102ee6004356111ed565b3480156105a657600080fd5b506102ee600160a060020a036004351660243561128b565b3480156105ca57600080fd5b50610308611340565b3480156105df57600080fd5b506105e8611346565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561062457818101518382015260200161060c565b505050509050019250505060405180910390f35b34801561064457600080fd5b506102ee600160a060020a03600435166113a8565b34801561066557600080fd5b50610308611478565b34801561067a57600080fd5b5061030861149c565b34801561068f57600080fd5b506103086114c0565b3480156106a457600080fd5b506104616114c6565b3480156106b957600080fd5b506102ee600160a060020a03600435166114d5565b3480156106da57600080fd5b506104616004356115a5565b3480156106f257600080fd5b506102ee600160a060020a03600435811690602435166044356115cd565b34801561071c57600080fd5b506103086116fa565b34801561073157600080fd5b5061030861171e565b34801561074657600080fd5b506102ee600160a060020a0360043516611759565b34801561076757600080fd5b506103e96118b1565b34801561077c57600080fd5b50610308600160a060020a03600435166118c6565b34801561079d57600080fd5b506102ee600160a060020a03600435811690602435166118d8565b3480156107c457600080fd5b506103086119ac565b3480156107d957600080fd5b506102ee6004356119d0565b3480156107f157600080fd5b506102ee600435611aab565b34801561080957600080fd5b50610308611b95565b34801561081e57600080fd5b50610308611b9b565b34801561083357600080fd5b506102ee63ffffffff60043516611ba1565b34801561085157600080fd5b506102ee600435611caf565b34801561086957600080fd5b50610308611d99565b34801561087e57600080fd5b506102ee600435611d9f565b34801561089657600080fd5b50610308611e7a565b3480156108ab57600080fd5b50610308611e80565b3480156108c057600080fd5b50610308600160a060020a0360043516611ea4565b3480156108e157600080fd5b50610308600435611eb6565b3480156108f957600080fd5b506102ee63ffffffff60043516611ecc565b34801561091757600080fd5b50610308611fc6565b34801561092c57600080fd5b50610308611fcc565b34801561094157600080fd5b506102ee600160a060020a0360043516602435611ff0565b34801561096557600080fd5b506102ee60043515156120a5565b34801561097f57600080fd5b506102ee600160a060020a0360043581169060243516604435612166565b3480156109a957600080fd5b5061041261224f565b3480156109be57600080fd5b50610308612263565b3480156109d357600080fd5b50610308600435612287565b3480156109eb57600080fd5b50610308612291565b6109fc6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50511515610a8d57600080fd5b600855565b6000670de0b6b3a7640000610ab5610aa861171e565b849063ffffffff61236c16565b811515610abe57fe5b0492915050565b610acd6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b50511515610b5e57600080fd5b81600160a060020a031683600160a060020a03167f8d08286bc520f0199dd11872725cfed598c29e3b91002b37ccf3e0d701e7cf9e836040518082815260200191505060405180910390a3505050565b600c5481565b7f5661756c7442000000000000000000000000000000000000000000000000000081565b60066020526000908152604090205481565b7f4c6f676963416374696f6e73000000000000000000000000000000000000000081565b610c166122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610c7057600080fd5b505af1158015610c84573d6000803e3d6000fd5b505050506040513d6020811015610c9a57600080fd5b50511515610ca757600080fd5b604080518281529051600160a060020a038416917f5c16de4f8b59bd9caf0f49a545f25819a895ed223294290b408242e72a594231919081900360200190a25050565b60046020526000908152604090205460ff1681565b60125463ffffffff1681565b6000610d46610d37610d28601054426123a290919063ffffffff16565b6011549063ffffffff6123b416565b600f549063ffffffff6123df16565b90505b90565b600360205260009081526040902054600160a060020a031681565b600d5481565b600a5481565b610d7b6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610dd557600080fd5b505af1158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b50511515610e0c57600080fd5b600160a060020a03909116600090815260056020526040902055565b610e306122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610e8a57600080fd5b505af1158015610e9e573d6000803e3d6000fd5b505050506040513d6020811015610eb457600080fd5b50511515610ec157600080fd5b604080518281529051600160a060020a038416917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25050565b6000610f0e612411565b600160a060020a031630600160a060020a03161415610f9f57610f2f612497565b600160a060020a031663209652556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b505050506040513d6020811015610f9657600080fd5b50519050610d49565b610fa7612497565b600160a060020a031663209652556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505164e8d4a5100081151561101f57fe5b049050610d49565b60115481565b7f4f7261636c65000000000000000000000000000000000000000000000000000081565b6110596122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b505115156110ea57600080fd5b600955565b6110f76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b5051151561118857600080fd5b604080518281529051600160a060020a038416917fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750919081900360200190a25050565b60006111d561171e565b610ab583670de0b6b3a764000063ffffffff61236c16565b6111f56122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b505050506040513d602081101561127957600080fd5b5051151561128657600080fd5b601355565b6112936122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156112ed57600080fd5b505af1158015611301573d6000803e3d6000fd5b505050506040513d602081101561131757600080fd5b5051151561132457600080fd5b600160a060020a03909116600090815260066020526040902055565b600e5481565b6060600280548060200260200160405190810160405280929190818152602001828054801561139e57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611380575b5050505050905090565b6113b06122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b505050506040513d602081101561143457600080fd5b5051151561144157600080fd5b604051600160a060020a038216907f5036af25bdace72875a429f12adf7d81782590b0da3dc10d149541bfc28863d090600090a250565b7f5661756c7441000000000000000000000000000000000000000000000000000081565b7f537461626c65546f6b656e00000000000000000000000000000000000000000081565b600b5481565b600154600160a060020a031681565b6114dd6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b505050506040513d602081101561156157600080fd5b5051151561156e57600080fd5b604051600160a060020a038216907ffe9ab305f21f5b394ea34792dddc6438e3cfbc8ab12a5647094046074ff1309d90600090a250565b60028054829081106115b357fe5b600091825260209091200154600160a060020a0316905081565b6115d56122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b505050506040513d602081101561165957600080fd5b5051151561166657600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156116c957600080fd5b505af11580156116dd573d6000803e3d6000fd5b505050506040513d60208110156116f357600080fd5b5050505050565b7f41756374696f6e416374696f6e7300000000000000000000000000000000000081565b6000610d4661174a61173b600d54426123a290919063ffffffff16565b600e549063ffffffff6123b416565b600c549063ffffffff6123df16565b6117616122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b505115156117f257600080fd5b600160a060020a03811660009081526004602052604090205460ff1615156118ae576002805460018082019092557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038416908117909155600081815260046020526040808220805460ff1916909417909355915190917fe3758539c1bd6726422843471b2886c2d2cefd3b4aead6778386283e20a32a8091a25b50565b60125468010000000000000000900460ff1681565b60076020526000908152604090205481565b6118e06122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561193a57600080fd5b505af115801561194e573d6000803e3d6000fd5b505050506040513d602081101561196457600080fd5b5051151561197157600080fd5b600160a060020a039182166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b7f50656753657474696e677300000000000000000000000000000000000000000081565b6119d86122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611a3257600080fd5b505af1158015611a46573d6000803e3d6000fd5b505050506040513d6020811015611a5c57600080fd5b50511515611a6957600080fd5b600b54604080519182526020820183905280517f6c591898d1d5be533fc5f7cef91c09379d8eb73c1ef64a40a338f9fe826365569281900390910190a1600b55565b611ab36122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611b0d57600080fd5b505af1158015611b21573d6000803e3d6000fd5b505050506040513d6020811015611b3757600080fd5b50511515611b4457600080fd5b600e54604080519182526020820183905280517fb587264ce3a541ccf94ae3e6ecfc9cf2d6c38fdb4f31473900250a492a32f7549281900390910190a1611b8961171e565b600c5542600d55600e55565b60105481565b600f5481565b611ba96122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050506040513d6020811015611c2d57600080fd5b50511515611c3a57600080fd5b6012546040805163ffffffff64010000000090930483168152918316602083015280517fdbbfd34007be77748889e33c1abc5294e5482d614d162e71feb8fd5015aa39309281900390910190a16012805463ffffffff9092166401000000000267ffffffff0000000019909216919091179055565b611cb76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611d1157600080fd5b505af1158015611d25573d6000803e3d6000fd5b505050506040513d6020811015611d3b57600080fd5b50511515611d4857600080fd5b601154604080519182526020820183905280517f474574115a971b3fcbd8af2b2ef44f735060a10b29fbbdc0e95a789391573ed49281900390910190a1611d8d610d0b565b600f5542601055601155565b60135481565b611da76122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611e0157600080fd5b505af1158015611e15573d6000803e3d6000fd5b505050506040513d6020811015611e2b57600080fd5b50511515611e3857600080fd5b600a54604080519182526020820183905280517fe33f3bdc5d651f9041ca87a1438a73de19dc96786c74f666db40cadca0aff7be9281900390910190a1600a55565b60085481565b7f5065674c6f67696300000000000000000000000000000000000000000000000081565b60056020526000908152604090205481565b6000670de0b6b3a7640000610ab5610aa8610d0b565b611ed46122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015611f2e57600080fd5b505af1158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50511515611f6557600080fd5b6012546040805163ffffffff9283168152918316602083015280517f380f16643d348a2a430349f56adf72b55756fe3e4450e42ab7b74264f6c94c9e9281900390910190a16012805463ffffffff191663ffffffff92909216919091179055565b60095481565b7f53746162696c697479466565526563697069656e74000000000000000000000081565b611ff86122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561205257600080fd5b505af1158015612066573d6000803e3d6000fd5b505050506040513d602081101561207c57600080fd5b5051151561208957600080fd5b600160a060020a03909116600090815260076020526040902055565b6120ad6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561210757600080fd5b505af115801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b5051151561213e57600080fd5b60128054911515680100000000000000000268ff000000000000000019909216919091179055565b61216e6122b5565b600160a060020a031663b9181611336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156121c857600080fd5b505af11580156121dc573d6000803e3d6000fd5b505050506040513d60208110156121f257600080fd5b505115156121ff57600080fd5b81600160a060020a031683600160a060020a03167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040518082815260200191505060405180910390a3505050565b601254640100000000900463ffffffff1681565b7f436f6c6c61746572616c546f6b656e000000000000000000000000000000000081565b60006111d5610d0b565b7f504547555344000000000000000000000000000000000000000000000000000081565b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f50656753657474696e677300000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd5b505af115801561234f573d6000803e3d6000fd5b505050506040513d602081101561236557600080fd5b5051905090565b60008083151561237f576000915061239b565b5082820282848281151561238f57fe5b041461239757fe5b8091505b5092915050565b6000818310156123ae57fe5b50900390565b6000808315156123c7576000915061239b565b508282028284828115156123d757fe5b051461239757fe5b60008282018183128015906123f45750838112155b80612409575060008312801561240957508381125b151561239757fe5b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f5661756c7441000000000000000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd5b60008054604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f4f7261636c65000000000000000000000000000000000000000000000000000060048201529051600160a060020a039092169163bb34534c9160248082019260209290919082900301818787803b15801561233b57600080fd00a165627a7a7230582039e95dbe24e6513fc299fa98abc71cd8a4bbcfc1f76fc052d69c9b8b50e413410029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e68ebda2488c213cf4ba25a7a7da179f96ce0baf
-----Decoded View---------------
Arg [0] : _registry (address): 0xe68EbDA2488c213cF4ba25a7A7da179f96CE0Baf
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e68ebda2488c213cf4ba25a7a7da179f96ce0baf
Deployed Bytecode Sourcemap
15508:7001:0:-;;;;;;;;;-1:-1:-1;;;15508:7001:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19326:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19326:120:0;;;;;;;20488:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20488:138:0;;;;;;;;;;;;;;;;;;;;;22181:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22181:182:0;-1:-1:-1;;;;;22181:182:0;;;;;;;;;;;;16095:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16095:39:0;;;;9115:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9115:42:0;;;;15838:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15838:48:0;-1:-1:-1;;;;;15838:48:0;;;;;9219:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9219:58:0;;;;21409:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21409:120:0;-1:-1:-1;;;;;21409:120:0;;;;;;;15731:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15731:44:0;-1:-1:-1;;;;;15731:44:0;;;;;;;;;;;;;;;;;;;;;;;16348:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16348:39:0;;;;;;;;;;;;;;;;;;;;;;;20168:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20168:172:0;;;;15680:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15680:44:0;-1:-1:-1;;;;;15680:44:0;;;;;;;;;-1:-1:-1;;;;;15680:44:0;;;;;;;;;;;;;;16141:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16141:39:0;;;;16014:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16014:38:0;;;;19838:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19838:142:0;-1:-1:-1;;;;;19838:142:0;;;;;;;21537:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21537:124:0;-1:-1:-1;;;;;21537:124:0;;;;;;;21175:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21175:226:0;;;;16313:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16313:26:0;;;;9410:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9410:41:0;;;;19454:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19454:108:0;;;;;21821:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21821:122:0;-1:-1:-1;;;;;21821:122:0;;;;;;;20348:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20348:132:0;;;;;19214:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19214:104:0;;;;;19570:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19570:134:0;-1:-1:-1;;;;;19570:134:0;;;;;;;16187:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16187:27:0;;;;20932:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20932:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;20932:85:0;;;;;;;;;;;;;;;;;22061:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22061:112:0;-1:-1:-1;;;;;22061:112:0;;;;;9066:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9066:42:0;;;;8882:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8882:52:0;;;;16059:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16059:27:0;;;;15608:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15608:33:0;;;;21951:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21951:102:0;-1:-1:-1;;;;;21951:102:0;;;;;15650:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15650:23:0;;;;;21025:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21025:142:0;-1:-1:-1;;;;;21025:142:0;;;;;;;;;;;;9284:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9284:58:0;;;;19988:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19988:172:0;;;;17626:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17626:235:0;-1:-1:-1;;;;;17626:235:0;;;;;16438:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16438:35:0;;;;15893:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15893:43:0;-1:-1:-1;;;;;15893:43:0;;;;;22375:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22375:129:0;-1:-1:-1;;;;;22375:129:0;;;;;;;;;;9351:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9351:52:0;;;;18074:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18074:165:0;;;;;18634:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18634:275:0;;;;;16268:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16268:38:0;;;;16223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16223:38:0;;;;18456:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18456:170:0;;;;;;;18917:289;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18917:289:0;;;;;16482:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16482:31:0;;;;17869:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17869:197:0;;;;;15943:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15943:30:0;;;;9166:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9166:46:0;;;;15782:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15782:49:0;-1:-1:-1;;;;;15782:49:0;;;;;20780:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20780:144:0;;;;;18247:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18247:201:0;;;;;;;15980:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15980:27:0;;;;9458:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9458:63:0;;;;19712:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19712:118:0;-1:-1:-1;;;;;19712:118:0;;;;;;;17512:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17512:106:0;;;;;;;21669:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21669:144:0;-1:-1:-1;;;;;21669:144:0;;;;;;;;;;;;16394:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16394:35:0;;;;8941:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8941:60:0;;;;20634:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20634:138:0;;;;;9010:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9010:47:0;;;;19326:120;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;19404:15;:34;19326:120::o;20488:138::-;20550:7;20614:4;20577:34;20591:19;:17;:19::i;:::-;20577:7;;:34;:13;:34;:::i;:::-;:41;;;;;;;;;20488:138;-1:-1:-1;;20488:138:0:o;22181:182::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;22327:14;-1:-1:-1;;;;;22303:52:0;22316:9;-1:-1:-1;;;;;22303:52:0;;22343:11;22303:52;;;;;;;;;;;;;;;;;;22181:182;;;:::o;16095:39::-;;;;:::o;9115:42::-;;;:::o;15838:48::-;;;;;;;;;;;;;:::o;9219:58::-;;;:::o;21409:120::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;21496:25;;;;;;;;-1:-1:-1;;;;;21496:25:0;;;;;;;;;;;;;21409:120;;:::o;15731:44::-;;;;;;;;;;;;;;;:::o;16348:39::-;;;;;;:::o;20168:172::-;20221:4;20250:81;20277:53;20300:28;20310:17;;20300:3;:9;;:28;;;;:::i;:::-;20277:12;;;:53;:18;:53;:::i;:::-;20254:16;;;20250:81;:26;:81;:::i;:::-;20238:94;;20168:172;;:::o;15680:44::-;;;;;;;;;;;;-1:-1:-1;;;;;15680:44:0;;:::o;16141:39::-;;;;:::o;16014:38::-;;;;:::o;19838:142::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;-1:-1:-1;;;;;19931:24:0;;;;;;;:13;:24;;;;;:41;19838:142::o;21537:124::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;21626:27;;;;;;;;-1:-1:-1;;;;;21626:27:0;;;;;;;;;;;;;21537:124;;:::o;21175:226::-;21218:4;21264:8;:6;:8::i;:::-;-1:-1:-1;;;;;21239:34:0;21247:4;-1:-1:-1;;;;;21239:34:0;;21235:159;;;21297:8;:6;:8::i;:::-;-1:-1:-1;;;;;21297:17:0;;:19;;;;;-1:-1:-1;;;21297:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21297:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21297:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21297:19:0;;-1:-1:-1;21290:26:0;;21235:159;21363:8;:6;:8::i;:::-;-1:-1:-1;;;;;21363:17:0;;:19;;;;;-1:-1:-1;;;21363:19:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21363:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21363:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21363:19:0;21356:4;:26;;;;;;;;21349:33;;;;16313:26;;;;:::o;9410:41::-;;;:::o;19454:108::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;19526:12;:28;19454:108::o;21821:122::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;21909:26;;;;;;;;-1:-1:-1;;;;;21909:26:0;;;;;;;;;;;;;21821:122;;:::o;20348:132::-;20407:7;20453:19;:17;:19::i;:::-;20434:16;:4;20445;20434:16;:10;:16;:::i;19214:104::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;19284:11;:26;19214:104::o;19570:134::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;-1:-1:-1;;;;;19659:23:0;;;;;;;:12;:23;;;;;:37;19570:134::o;16187:27::-;;;;:::o;20932:85::-;20974:9;21003:6;20996:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20996:13:0;;;;;;;;;;;;;;;;;;;;;;;20932:85;:::o;22061:112::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;22140:25;;-1:-1:-1;;;;;22140:25:0;;;;;;;;22061:112;:::o;9066:42::-;;;:::o;8882:52::-;;;:::o;16059:27::-;;;;:::o;15608:33::-;;;-1:-1:-1;;;;;15608:33:0;;:::o;21951:102::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;22025:20;;-1:-1:-1;;;;;22025:20:0;;;;;;;;21951:102;:::o;15650:23::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15650:23:0;;-1:-1:-1;15650:23:0;:::o;21025:142::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;21130:6;-1:-1:-1;;;;;21130:15:0;;21146:3;21151:7;21130:29;;;;;-1:-1:-1;;;21130:29:0;;;;;;;-1:-1:-1;;;;;21130:29:0;-1:-1:-1;;;;;21130:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21130:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21130:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;21025:142:0:o;9284:58::-;;;:::o;19988:172::-;20038:4;20067:84;20095:55;20119:29;20129:18;;20119:3;:9;;:29;;;;:::i;:::-;20095:13;;;:55;:19;:55;:::i;:::-;20071:17;;;20067:84;:27;:84;:::i;17626:235::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;-1:-1:-1;;;;;17691:22:0;;;;;;:11;:22;;;;;;;;:31;;17688:166;;17739:6;27:10:-1;;39:1;23:18;;;45:23;;;17739:22:0;;;;-1:-1:-1;;17739:22:0;-1:-1:-1;;;;;17739:22:0;;;;;;;;-1:-1:-1;17776:22:0;;;:11;17739:22;17776;;;;;:29;;-1:-1:-1;;17776:29:0;;;;;;;17825:17;;17739:22;;17825:17;;;17688:166;17626:235;:::o;16438:35::-;;;;;;;;;:::o;15893:43::-;;;;;;;;;;;;;:::o;22375:129::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;-1:-1:-1;;;;;22466:19:0;;;;;;;:8;:19;;;;;:30;;-1:-1:-1;;22466:30:0;;;;;;;;22375:129::o;9351:52::-;;;:::o;18074:165::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;18164:12;;18151:41;;;;;;;;;;;;;;;;;;;;;;;;18203:12;:28;18074:165::o;18634:275::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;18741:13;;18719:54;;;;;;;;;;;;;;;;;;;;;;;;18804:19;:17;:19::i;:::-;18784:17;:39;18855:3;18834:18;:24;18869:13;:32;18634:275::o;16268:38::-;;;;:::o;16223:::-;;;;:::o;18456:170::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;18551:12;;18535:44;;;18551:12;;;;;;;18535:44;;;;;;;;;;;;;;;;;;;;;18590:12;:28;;;;;;;;-1:-1:-1;;18590:28:0;;;;;;;;;18456:170::o;18917:289::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;19033:12;;19008:59;;;;;;;;;;;;;;;;;;;;;;;;19097:22;:20;:22::i;:::-;19078:16;:41;19150:3;19130:17;:23;19164:12;:34;18917:289::o;16482:31::-;;;;:::o;17869:197::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;17977:23;;17953:59;;;;;;;;;;;;;;;;;;;;;;;;18023:23;:35;17869:197::o;15943:30::-;;;;:::o;9166:46::-;;;:::o;15782:49::-;;;;;;;;;;;;;:::o;20780:144::-;20845:7;20912:4;20872:37;20886:22;:20;:22::i;18247:201::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;18357:16;;18334:59;;;18357:16;;;;18334:59;;;;;;;;;;;;;;;;;;;;;18404:16;:36;;-1:-1:-1;;18404:36:0;;;;;;;;;;;;18247:201::o;15980:27::-;;;;:::o;9458:63::-;;;:::o;19712:118::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;-1:-1:-1;;;;;19793:18:0;;;;;;;:7;:18;;;;;:29;19712:118::o;17512:106::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;17583:16;:27;;;;;;;-1:-1:-1;;17583:27:0;;;;;;;;;17512:106::o;21669:144::-;9826:10;:8;:10::i;:::-;-1:-1:-1;;;;;9826:21:0;;9848:10;9826:33;;;;;-1:-1:-1;;;9826:33:0;;;;;;;-1:-1:-1;;;;;9826:33:0;-1:-1:-1;;;;;9826:33:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9826:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9826:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9826:33:0;9818:42;;;;;;;;21792:3;-1:-1:-1;;;;;21772:33:0;21781:9;-1:-1:-1;;;;;21772:33:0;;21797:7;21772:33;;;;;;;;;;;;;;;;;;21669:144;;;:::o;16394:35::-;;;;;;;;;:::o;8941:60::-;;;:::o;20634:138::-;20696:7;20742:22;:20;:22::i;9010:47::-;;;:::o;10957:135::-;10994:12;11039:8;;:44;;;;;;11058:24;11039:44;;;;;;-1:-1:-1;;;;;11039:8:0;;;;:18;;:44;;;;;;;;;;;;;;;10994:12;11039:8;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;11039:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11039:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11039:44:0;;-1:-1:-1;10957:135:0;:::o;6113:217::-;6175:7;;6199;;6195:48;;;6230:1;6223:8;;;;6195:48;-1:-1:-1;6265:7:0;;;6270:2;6265;:7;6290:6;;;;;;;;:12;6283:20;;;;6321:1;6314:8;;6113:217;;;;;;:::o;5781:131::-;5843:7;5870:8;;;;5863:16;;;;-1:-1:-1;5897:7:0;;;5781:131::o;6338:213::-;6398:6;;6421:7;;6417:48;;;6452:1;6445:8;;;;6417:48;-1:-1:-1;6486:7:0;;;6491:2;6486;:7;6511:6;;;;;;;;:12;6504:20;;;5589:184;5648:6;5678:7;;;5704;;;;;;:18;;;5720:2;5715:1;:7;;5704:18;5703:42;;;;5733:1;5728:2;:6;:16;;;;;5742:2;5738:1;:6;5728:16;5696:50;;;;;10578:116;10613:6;10646:8;;:39;;;;;;10665:19;10646:39;;;;;;-1:-1:-1;;;;;10646:8:0;;;;:18;;:39;;;;;;;;;;;;;;;10613:6;10646:8;:39;;;5:2:-1;;;;30:1;27;20:12;10826:123:0;10861:10;10902:8;;:38;;;;;;10921:18;10902:38;;;;;;-1:-1:-1;;;;;10902:8:0;;;;:18;;:38;;;;;;;;;;;;;;;10861:10;10902:8;:38;;;5:2:-1;;;;30:1;27;20:12
Swarm Source
bzzr://39e95dbe24e6513fc299fa98abc71cd8a4bbcfc1f76fc052d69c9b8b50e41341
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.659633 | 0.6406 | $0.4225 |
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.