[ { "inputs": [ { "internalType": "address", "name": "ethPriceSourceAddress", "type": "address" }, { "internalType": "uint256", "name": "minimumCollateralPercentage", "type": "uint256" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "_mai", "type": "address" }, { "internalType": "address", "name": "_collateral", "type": "address" }, { "internalType": "string", "name": "baseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "promoter", "type": "uint256" } ], "name": "AddedFrontEnd", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BorrowToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "riskyVault", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVault", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "riskyVaultBuyer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountPaidtoBuy", "type": "uint256" } ], "name": "BoughtRiskyDebtVault", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BurnedToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "creator", "type": "address" } ], "name": "CreateVault", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "DepositCollateral", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "DestroyVault", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "buyer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "debtRepaid", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "collateralLiquidated", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "closingFee", "type": "uint256" } ], "name": "LiquidateVault", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "closingFee", "type": "uint256" } ], "name": "PayBackToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "promoter", "type": "uint256" } ], "name": "RemovedFrontEnd", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "UpdatedAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "UpdatedClosingFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_debtRatio", "type": "uint256" } ], "name": "UpdatedDebtRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_ethPriceSourceAddress", "type": "address" } ], "name": "UpdatedEthPriceSource", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_adminFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_refFee", "type": "uint256" } ], "name": "UpdatedFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "promoter", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "UpdatedFrontEnd", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_gainRatio", "type": "uint256" } ], "name": "UpdatedGainRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "interestRate", "type": "uint256" } ], "name": "UpdatedInterestRate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMaxDebt", "type": "uint256" } ], "name": "UpdatedMaxDebt", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMinCollateralRatio", "type": "uint256" } ], "name": "UpdatedMinCollateralRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMinDebt", "type": "uint256" } ], "name": "UpdatedMinDebt", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "UpdatedOpeningFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "oracle", "type": "string" } ], "name": "UpdatedOracleName", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newRef", "type": "address" } ], "name": "UpdatedRef", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "pool", "type": "address" } ], "name": "UpdatedStabilityPool", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "uri", "type": "string" } ], "name": "UpdatedTokenURI", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "WithdrawCollateral", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "earned", "type": "uint256" } ], "name": "WithdrawInterest", "type": "event" }, { "inputs": [], "name": "_minimumCollateralPercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "accumulatedVaultDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_promoter", "type": "uint256" } ], "name": "addFrontEnd", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "adm", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "adminFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "_front", "type": "uint256" } ], "name": "borrowToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountToken", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "buyRiskDebtVault", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "promoFee", "type": "uint256" } ], "name": "calculateFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "ethPriceSourceAddress", "type": "address" } ], "name": "changeEthPriceSource", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "checkCollateralPercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "checkCost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "checkExtract", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "checkLiquidation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "checkRiskyVault", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "closingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "collateral", "outputs": [ { "internalType": "contract ERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "createVault", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "debtRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimalDifferenceRaisedToTen", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "depositCollateral", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "destroyVault", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "ethPriceSource", "outputs": [ { "internalType": "contract IPriceSource", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "exists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gainRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getClosingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDebtCeiling", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getEthPriceSource", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pay", "type": "address" } ], "name": "getPaid", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getPaid", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTokenPriceSource", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalValueLocked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "iR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_collateral", "type": "uint256" }, { "internalType": "uint256", "name": "debt", "type": "uint256" } ], "name": "isValidCollateral", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "lastInterest", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "_front", "type": "uint256" } ], "name": "liquidateVault", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mai", "outputs": [ { "internalType": "contract ERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maiDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "maticDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "_front", "type": "uint256" } ], "name": "payBackToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint256", "name": "_front", "type": "uint256" } ], "name": "paybackTokenAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "priceSourceDecimals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "promoter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ref", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_promoter", "type": "uint256" } ], "name": "removeFrontEnd", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adm", "type": "address" } ], "name": "setAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_closingFee", "type": "uint256" } ], "name": "setClosingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_debtRatio", "type": "uint256" } ], "name": "setDebtRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_admin", "type": "uint256" }, { "internalType": "uint256", "name": "_ref", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_gainRatio", "type": "uint256" } ], "name": "setGainRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_iR", "type": "uint256" } ], "name": "setInterestRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxDebt", "type": "uint256" } ], "name": "setMaxDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minimumCollateralPercentage", "type": "uint256" } ], "name": "setMinCollateralRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minDebt", "type": "uint256" } ], "name": "setMinDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_openingFee", "type": "uint256" } ], "name": "setOpeningFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_ref", "type": "address" } ], "name": "setRef", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "name": "setRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "name": "setStabilityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setTokenURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stabilityPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenPeg", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBorrowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_promoter", "type": "uint256" }, { "internalType": "uint256", "name": "cashback", "type": "uint256" } ], "name": "updateFrontEnd", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_oracle", "type": "string" } ], "name": "updateOracleName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "updateVaultDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "vaultCollateral", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "vaultCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" } ], "name": "vaultDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultID", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawCollateral", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawInterest", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526026805460ff60a01b1916600760a01b1790553480156200002457600080fd5b506040516200678b3803806200678b833981016040819052620000479162000c66565b868686868686868484828282600160008190555081600190805190602001906200007392919062000ad6565b5080516200008990600290602084019062000ad6565b50508151620000a19150600b90602084019062000ad6565b505050506001600160a01b038716620000b957600080fd5b85620000c457600080fd5b6032600f556000601055600c80546001600160a01b03808a166001600160a01b03199283161790925560238054821690556969e10de76676d08000006012556002601a5561044c601b55600d889055601c80548584169083168117909155601d8054938716939092169290921790556008601f556040805163313ce56760e01b8152905163313ce567916004818101926020929091908290030181865afa15801562000174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019a919062000d3a565b601d60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000214919062000d3a565b62000220919062000d7c565b6200022d90600a62000ea1565b601e55505060248054336001600160a01b03199182168117909255602580549091169091179055506200027093506200026a925062000294915050565b62000298565b6200027a620002ea565b5062000287600062000358565b5050505050505062000f50565b3390565b602780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600e54600090620002fd81600162000eb2565b600e8190558111156200030f57600080fd5b6200031b338262000485565b604080518281523360208201527f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c7804910160405180910390a1919050565b6200036262000626565b6000818152600360205260409020546001600160a01b0316620003d65760405162461bcd60e51b815260206004820152602160248201527f61646446726f6e74456e643a205661756c7420646f6573206e6f7420657869736044820152601d60fa1b60648201526084015b60405180910390fd5b60008181526017602052604090205415620004345760405162461bcd60e51b815260206004820152601a60248201527f61646446726f6e74456e643a20616c72656164792061646465640000000000006044820152606401620003cd565b600081815260176020526040908190206127109055517f9d7c7013bbd38c45562efb3f7031f740c1f8b8886dbbf421142755ed68339f4c906200047a9083815260200190565b60405180910390a150565b6001600160a01b038216620004dd5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401620003cd565b6000818152600360205260409020546001600160a01b031615620005445760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401620003cd565b6200055460008383600162000684565b6000818152600360205260409020546001600160a01b031615620005bb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401620003cd565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6027546001600160a01b03163314620006825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003cd565b565b6200069d84848484620006a360201b62003e511760201c565b50505050565b620006bc848484846200080760201b62003f8a1760201c565b6001811115620007355760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401620003cd565b816001600160a01b03851662000794576200078e81600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b620007ba565b836001600160a01b0316856001600160a01b031614620007ba57620007ba858262000896565b6001600160a01b038416620007da57620007d48162000943565b62000800565b846001600160a01b0316846001600160a01b0316146200080057620008008482620009fd565b5050505050565b60018111156200069d576001600160a01b0384161562000851576001600160a01b038416600090815260046020526040812080548392906200084b90849062000ecd565b90915550505b6001600160a01b038316156200069d576001600160a01b038316600090815260046020526040812080548392906200088b90849062000eb2565b909155505050505050565b60006001620008b08462000a4e60201b620021171760201c565b620008bc919062000ecd565b60008381526008602052604090205490915080821462000910576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b600954600090620009579060019062000ecd565b6000838152600a60205260408120546009805493945090928490811062000982576200098262000ee7565b906000526020600020015490508060098381548110620009a657620009a662000ee7565b6000918252602080832090910192909255828152600a90915260408082208490558582528120556009805480620009e157620009e162000efd565b6001900381819060005260206000200160009055905550505050565b600062000a158362000a4e60201b620021171760201c565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b60006001600160a01b03821662000aba5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401620003cd565b506001600160a01b031660009081526004602052604090205490565b82805462000ae49062000f13565b90600052602060002090601f01602090048101928262000b08576000855562000b53565b82601f1062000b2357805160ff191683800117855562000b53565b8280016001018555821562000b53579182015b8281111562000b5357825182559160200191906001019062000b36565b5062000b6192915062000b65565b5090565b5b8082111562000b61576000815560010162000b66565b80516001600160a01b038116811462000b9457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011262000bc157600080fd5b81516001600160401b038082111562000bde5762000bde62000b99565b604051601f8301601f19908116603f0116810190828211818310171562000c095762000c0962000b99565b8160405283815260209250868385880101111562000c2657600080fd5b600091505b8382101562000c4a578582018301518183018401529082019062000c2b565b8382111562000c5c5760008385830101525b9695505050505050565b600080600080600080600060e0888a03121562000c8257600080fd5b62000c8d8862000b7c565b602089015160408a015191985096506001600160401b038082111562000cb257600080fd5b62000cc08b838c0162000baf565b965060608a015191508082111562000cd757600080fd5b62000ce58b838c0162000baf565b955062000cf560808b0162000b7c565b945062000d0560a08b0162000b7c565b935060c08a015191508082111562000d1c57600080fd5b5062000d2b8a828b0162000baf565b91505092959891949750929550565b60006020828403121562000d4d57600080fd5b815160ff8116811462000d5f57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000d995762000d9962000d66565b90039392505050565b600181815b8085111562000de357816000190482111562000dc75762000dc762000d66565b8085161562000dd557918102915b93841c939080029062000da7565b509250929050565b60008262000dfc5750600162000e9b565b8162000e0b5750600062000e9b565b816001811462000e24576002811462000e2f5762000e4f565b600191505062000e9b565b60ff84111562000e435762000e4362000d66565b50506001821b62000e9b565b5060208310610133831016604e8410600b841016171562000e74575081810a62000e9b565b62000e80838362000da2565b806000190482111562000e975762000e9762000d66565b0290505b92915050565b600062000d5f60ff84168362000deb565b6000821982111562000ec85762000ec862000d66565b500190565b60008282101562000ee25762000ee262000d66565b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600181811c9082168062000f2857607f821691505b6020821081141562000f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b61582b8062000f606000396000f3fe608060405234801561001057600080fd5b506004361061052f5760003560e01c80638da5cb5b116102af578063cc02ce2211610172578063e0df5b6f116100d9578063ece1373211610092578063ece1373214610b90578063f17336d714610ba3578063f1c91fa614610bac578063f2fde38b14610bb5578063f887ea4014610bc8578063ffc73da714610bdb57600080fd5b8063e0df5b6f14610b14578063e5f4dc9214610b27578063e985e9c514610b30578063eac989f814610b6c578063eb6a887d14610b74578063ec2e0ab314610b8757600080fd5b8063d0064c001161012b578063d0064c0014610a92578063d310f49b14610a9b578063d4a9b2c514610aae578063d73464cc14610ace578063d8dfeb4514610aee578063df98784614610b0157600080fd5b8063cc02ce2214610a46578063cd44db1b14610a59578063cdfedd6314610a63578063cea55f5714610a6e578063cf41d6f814610a77578063cf5f0f3c14610a7f57600080fd5b8063a57ff50311610216578063b3229a63116101cf578063b3229a63146109de578063b86f6aef146109f1578063b88d4fde14610a04578063c0d7865514610a17578063c71abb3214610a2a578063c87b56dd14610a3357600080fd5b8063a57ff50314610989578063a5e9883714610992578063a7c6a1001461099a578063a9c904b5146109a3578063b165ff0b146109b6578063b26025aa146109d657600080fd5b806397a41b8e1161026857806397a41b8e1461091f57806397ff37b91461093257806398c3f2db1461095257806398d721e01461095a578063a0be06f91461096d578063a22cb4651461097657600080fd5b80638da5cb5b146108c55780639035e4cb146108d657806393ee476a146108e957806394cd4ba7146108fc578063952cc86a1461090457806395d89b411461091757600080fd5b806342f371c6116103f75780636352211e1161035e57806370a082311161031757806370a0823114610868578063715018a61461087b578063728bbbb514610883578063767a7b051461088c57806385e290a31461089f57806386375994146108b257600080fd5b80636352211e146107f657806363b8817c146108095780636526941b1461081c578063687e8c171461082f5780636bc855cc14610842578063704b6c021461085557600080fd5b806356572ac0116103b057806356572ac01461078f578063570b2b84146107a25780635d12928b146107b55780635f84f302146107bd5780635ff09ac2146107d05780636234dc21146107e357600080fd5b806342f371c6146107145780634c19386c146107275780634f558e79146107305780634f6ccce7146107435780635357b9891461075657806354fd4d501461076957600080fd5b806321a78f681161049b5780633128ef27116104545780633128ef27146106a257806338536275146106b55780633db99177146106c857806340803854146106db57806342842e0e146106ee57806342966c681461070157600080fd5b806321a78f681461063757806323b872dd1461064a578063241a545a1461065d5780632df87573146106665780632f745c5914610686578063311f392a1461069957600080fd5b8063081812fc116104ed578063081812fc146105cc578063095ea7b3146105df5780630b78f9c0146105f257806311b4a8321461060557806318160ddd146106265780631c883e7b1461062e57600080fd5b806263750c1461053457806301ffc9a71461053e578063048c661d1461056657806304d7aef21461059157806306fdde03146105a457806307960532146105b9575b600080fd5b61053c610bee565b005b61055161054c366004614eef565b610e12565b60405190151581526020015b60405180910390f35b602354610579906001600160a01b031681565b6040516001600160a01b03909116815260200161055d565b602454610579906001600160a01b031681565b6105ac610e23565b60405161055d9190614f6b565b61053c6105c7366004614f9a565b610eb5565b6105796105da366004614fb5565b610f76565b61053c6105ed366004614fce565b610f9d565b61053c610600366004614ff8565b6110b3565b610618610613366004614fb5565b61115d565b60405190815260200161055d565b600954610618565b610618600f5481565b602554610579906001600160a01b031681565b61053c61065836600461501a565b61120f565b61061860135481565b610618610674366004614fb5565b60156020526000908152604090205481565b610618610694366004614fce565b611240565b610618601b5481565b61053c6106b0366004615056565b6112d6565b61053c6106c3366004614fb5565b6115f7565b61053c6106d6366004614fb5565b611634565b61053c6106e9366004614fb5565b6116d1565b61053c6106fc36600461501a565b6117d9565b61053c61070f366004614fb5565b6117f4565b600c54610579906001600160a01b031681565b61061860205481565b61055161073e366004614fb5565b6119b2565b610618610751366004614fb5565b6119bd565b610618610764366004615056565b611a50565b60265461077d90600160a01b900460ff1681565b60405160ff909116815260200161055d565b61061861079d366004614fb5565b611aff565b601d54610579906001600160a01b031681565b610618611bf0565b61053c6107cb366004614fb5565b611c59565b61053c6107de366004614fb5565b611c96565b61053c6107f1366004614fb5565b611e0c565b610579610804366004614fb5565b611e49565b61053c610817366004614f9a565b611ea9565b61053c61082a366004614fb5565b611f53565b61055161083d366004614ff8565b611f90565b61053c610850366004614f9a565b611fbf565b61053c610863366004614f9a565b61206b565b610618610876366004614f9a565b612117565b61053c61219d565b61061860105481565b61053c61089a366004614ff8565b6121af565b61053c6108ad366004614fb5565b612391565b61053c6108c0366004614fb5565b6124f7565b6027546001600160a01b0316610579565b6106186108e4366004614fb5565b612594565b6106186108f7366004614fb5565b61290b565b610618612972565b61053c610912366004614ff8565b6129e4565b6105ac612ec8565b61053c61092d366004615056565b612ed7565b610618610940366004614fb5565b60166020526000908152604090205481565b61061861329e565b61053c610968366004614f9a565b6132e8565b61061860185481565b61053c610984366004615090565b6133a0565b610618601e5481565b600f54610618565b610618600e5481565b61053c6109b1366004615153565b6133ab565b6106186109c4366004614f9a565b60216020526000908152604090205481565b6106186133f6565b6105516109ec366004614fb5565b613482565b6105516109ff366004614fb5565b61353c565b61053c610a1236600461519c565b6135df565b61053c610a25366004614f9a565b613617565b610618601f5481565b6105ac610a41366004614fb5565b613641565b61053c610a54366004614ff8565b6136e7565b6305f5e100610618565b6106186305f5e10081565b610618601a5481565b61053c61385c565b61053c610a8d366004615056565b6138f8565b61061860125481565b610618610aa9366004614fb5565b613a46565b610618610abc366004614fb5565b60146020526000908152604090205481565b610618610adc366004614fb5565b60176020526000908152604090205481565b601c54610579906001600160a01b031681565b610618610b0f366004614fb5565b613a52565b61053c610b22366004615218565b613ae4565b610618600d5481565b610551610b3e36600461528a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6105ac613b29565b61053c610b82366004614fb5565b613bb7565b61061860195481565b61053c610b9e366004614ff8565b613c3a565b61061860115481565b61061860225481565b61053c610bc3366004614f9a565b613d35565b602654610579906001600160a01b031681565b61053c610be9366004614fb5565b613dab565b6025546001600160a01b0316331480610c1157506024546001600160a01b031633145b80610c35575033610c2a6027546001600160a01b031690565b6001600160a01b0316145b610c865760405162461bcd60e51b815260206004820152601f60248201527f4e6565647320746f2062652063616c6c6564206279206f70657261746f72730060448201526064015b60405180910390fd5b610c8e614012565b6000612710601854602254610ca391906152d3565b610cad91906152f2565b601d546025546022549293506001600160a01b039182169263a9059cbb9290911690610cda908590615314565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d49919061532b565b50601d546024805460405163a9059cbb60e01b81526001600160a01b0391821660048201529182018490529091169063a9059cbb906044016020604051808303816000875af1158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc4919061532b565b507fc73fb14682b9d51008c1faff296cc9b351c0597de5e25b4ffa158f47f8254e4c602254604051610df891815260200190565b60405180910390a1506000602255610e106001600055565b565b6000610e1d8261406c565b92915050565b606060018054610e3290615348565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5e90615348565b8015610eab5780601f10610e8057610100808354040283529160200191610eab565b820191906000526020600020905b815481529060010190602001808311610e8e57829003601f168201915b5050505050905090565b610ebd614091565b6001600160a01b038116610f215760405162461bcd60e51b815260206004820152602560248201527f4574687072696365736f757263652063616e6e6f74206265207a65726f206164604482015264647265737360d81b6064820152608401610c7d565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527fc525e5fed1508c998d3f14bf52f933df1dd16dbf48e2944c426be721e268b755906020015b60405180910390a150565b6000610f81826140eb565b506000908152600560205260409020546001600160a01b031690565b6000610fa882611e49565b9050806001600160a01b0316836001600160a01b031614156110165760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610c7d565b336001600160a01b038216148061103257506110328133610b3e565b6110a45760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610c7d565b6110ae838361413b565b505050565b6110bb614091565b6127106110c8828461537d565b146111155760405162461bcd60e51b815260206004820152601a60248201527f736574466565733a206d75737420657175616c2031303030302e0000000000006044820152606401610c7d565b6018829055601981905560408051838152602081018390527f4d32f38862d5eb71edfefb7955873bd55920dc98159b6f53f8be62fbf0bebb4b91015b60405180910390a15050565b60008061116983613a46565b6000848152601460205260409020549091501580611185575080155b8061119657506111948361353c565b155b156111a45750600092915050565b6000838152601460205260408120546111bd90836141a9565b915050806111cf575060009392505050565b601f546111dd90600a615479565b6111e790826152f2565b90506000601a54826111f991906152f2565b905060115481116112075750805b949350505050565b6112193382614232565b6112355760405162461bcd60e51b8152600401610c7d90615485565b6110ae8383836142b0565b600061124b83612117565b82106112ad5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610c7d565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b806112e081614421565b6112fc5760405162461bcd60e51b8152600401610c7d906154d2565b60008181526017602052604090205461271010801590611329575060008181526017602052604090205415155b6113455760405162461bcd60e51b8152600401610c7d90615509565b8361134f81614421565b61136b5760405162461bcd60e51b8152600401610c7d90615536565b6026546001600160a01b0316158061138d57506026546001600160a01b031633145b6113a95760405162461bcd60e51b8152600401610c7d90615564565b601d546040516370a0823160e01b815233600482015285916001600160a01b0316906370a0823190602401602060405180830381865afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611415919061558d565b101561145b5760405162461bcd60e51b8152602060048201526015602482015274546f6b656e2062616c616e636520746f6f206c6f7760581b6044820152606401610c7d565b60006114668661290b565b9050848110156114c85760405162461bcd60e51b815260206004820152602760248201527f5661756c742064656274206c657373207468616e20616d6f756e7420746f20706044820152666179206261636b60c81b6064820152608401610c7d565b6011546114d58683615314565b1015806114e157508085145b6114fd5760405162461bcd60e51b8152600401610c7d906155a6565b600f54600085815260176020526040812054909161151c918890611a50565b90506115288683615314565b60008881526015602090815260408083209390935560149052205461154e908290615314565b60008881526014602052604080822092909255868152205461157190829061537d565b60008681526014602090815260409091209190915554611592908790615314565b602055601d546115ad906001600160a01b031633308961443e565b60408051888152602081018890529081018290527f31f96762af4051f367185773cc2f55bfb112a6c114b3407ded1f321a9eb199ac9060600160405180910390a150505050505050565b6115ff614091565b600d8190556040518181527fc0880963f3abc486dbb8b8f04ba4ce47c5b5cd3c59b6b7655f6011da0bf3365090602001610f6b565b61163c614091565b6101f481111561169c5760405162461bcd60e51b815260206004820152602560248201527f736574436c6f73696e674665653a2063616e6e6f74206265206d6f7265207468604482015264616e20352560d81b6064820152608401610c7d565b600f8190556040518181527fc1b83121984ef8e824a0babc08fc162077c0716a4dc307121f306e6dfb13806c90602001610f6b565b6116d9614091565b6116e281614421565b6117385760405162461bcd60e51b815260206004820152602160248201527f61646446726f6e74456e643a205661756c7420646f6573206e6f7420657869736044820152601d60fa1b6064820152608401610c7d565b600081815260176020526040902054156117945760405162461bcd60e51b815260206004820152601a60248201527f61646446726f6e74456e643a20616c72656164792061646465640000000000006044820152606401610c7d565b600081815260176020526040908190206127109055517f9d7c7013bbd38c45562efb3f7031f740c1f8b8886dbbf421142755ed68339f4c90610f6b9083815260200190565b6110ae838383604051806020016040528060008152506135df565b6024546001600160a01b0316331461184e5760405162461bcd60e51b815260206004820152601b60248201527f4e6565647320746f2062652063616c6c65642062792061646d696e00000000006044820152606401610c7d565b601d546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ba919061558d565b81106119085760405162461bcd60e51b815260206004820152601860248201527f6275726e3a2042616c616e6365206e6f7420656e6f75676800000000000000006044820152606401610c7d565b601d5460255460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af115801561195d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611981919061532b565b506040518181527fb1f67ade07cda330ac167f4fcc4c01b94fdfc04d401cf85e487f0a5b8b98e75f90602001610f6b565b6000610e1d82614421565b60006119c860095490565b8210611a2b5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610c7d565b60098281548110611a3e57611a3e6155e7565b90600052602060002001549050919050565b6000808215611aae5761271080611a6561329e565b611a6f91906152d3565b611a7991906152d3565b836305f5e100611a8988886152d3565b611a9391906152d3565b611a9d91906152d3565b611aa791906152f2565b9050611ae9565b612710611ab961329e565b611ac391906152d3565b6305f5e100611ad287876152d3565b611adc91906152d3565b611ae691906152f2565b90505b601e54611af690826152f2565b95945050505050565b6000818152601460205260408120541580611b205750611b1e8261353c565b155b15611b2d57506000919050565b6000611b3883613a46565b60008481526014602052604081205491925090611b5590836141a9565b9150506000601a5482611b6891906152f2565b905080611b7a57506000949350505050565b601154601f54611b8b90600a615479565b611b9590836152f2565b11611bd457601e54611ba561329e565b6103e8601b5485611bb691906152d3565b611bc091906152f2565b611bca91906152f2565b611af691906152f2565b601e54611bdf61329e565b6103e8601b5484611bb691906152d3565b600e54600090611c0181600161537d565b600e819055811115611c1257600080fd5b611c1c33826144a9565b604080518281523360208201527f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c7804910160405180910390a1919050565b611c61614091565b60138190556040518181527f323264e3ca065ee856fe1b11204d8896a783bccf148380ac5d7362eb5c4c36a890602001610f6b565b80611ca081614421565b611cbc5760405162461bcd60e51b8152600401610c7d906154d2565b60008181526017602052604090205461271010801590611ce9575060008181526017602052604090205415155b611d055760405162461bcd60e51b8152600401610c7d90615509565b611d0d614091565b611d1682614421565b611d6e5760405162461bcd60e51b8152602060048201526024808201527f72656d6f766546726f6e74456e643a205661756c7420646f6573206e6f7420656044820152631e1a5cdd60e21b6064820152608401610c7d565b600082815260176020526040902054611dc95760405162461bcd60e51b815260206004820152601f60248201527f72656d6f766546726f6e74456e643a206e6f7420612066726f6e7420656e64006044820152606401610c7d565b60008281526017602052604080822091909155517f9b9f950fb3755096dbbe8b1519e73f7c6d1a0507f514fced444919530c00d719906111519084815260200190565b611e14614091565b60118190556040518181527f4533506fbaba6b18743358b6e6fb9392e8cb21757487b68d232a01b140bbec0190602001610f6b565b6000818152600360205260408120546001600160a01b031680610e1d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610c7d565b611eb1614012565b6001600160a01b038116600090815260216020526040902054611f165760405162461bcd60e51b815260206004820152601c60248201527f446f6e2774206861766520616e797468696e6720666f7220796f752e000000006044820152606401610c7d565b6001600160a01b0380821660009081526021602052604081208054919055601c549091611f4591168383614624565b50611f506001600055565b50565b611f5b614091565b60128190556040518181527f1dd8f42ee4750a70f6662d1383372472422592497256d506437e35b3fa914d9b90602001610f6b565b6000806000611f9f85856141a9565b90925090506000611fb082846152f2565b600d5411159695505050505050565b611fc7614091565b6001600160a01b03811661201d5760405162461bcd60e51b815260206004820181905260248201527f5265666572656e636520416464726573732063616e6e6f74206265207a65726f6044820152606401610c7d565b602580546001600160a01b0319166001600160a01b0383169081179091556040519081527f8ed6553fa1e634b0152cd3539c572bee8c662e446820646d73a0e1b47776af9390602001610f6b565b612073614091565b6001600160a01b0381166120c95760405162461bcd60e51b815260206004820152601c60248201527f41646d696e20416464726573732063616e6e6f74206265207a65726f000000006044820152606401610c7d565b602480546001600160a01b0319166001600160a01b0383169081179091556040519081527ffce52dd00c7849a7f2602c1f189745238d6a2db16fabf54376ce24cc2fa3d57f90602001610f6b565b60006001600160a01b0382166121815760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610c7d565b506001600160a01b031660009081526004602052604090205490565b6121a5614091565b610e106000614654565b816121b981614421565b6121d55760405162461bcd60e51b8152600401610c7d90615536565b336121df82611e49565b6001600160a01b0316146122055760405162461bcd60e51b8152600401610c7d906155fd565b61220d614012565b6000838152601460205260409020548211156122795760405162461bcd60e51b815260206004820152602560248201527f5661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c616044820152641d195c985b60da1b6064820152608401610c7d565b600083815260146020526040812054612293908490615314565b905060006122a08561290b565b90508015612324576122b28282611f90565b6123245760405162461bcd60e51b815260206004820152603e60248201527f5769746864726177616c20776f756c6420707574207661756c742062656c6f7760448201527f206d696e696d756d20636f6c6c61746572616c2070657263656e7461676500006064820152608401610c7d565b6000858152601460205260409020829055601c5461234c906001600160a01b03163386614624565b60408051868152602081018690527f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb9910160405180910390a150506110ae6001600055565b8061239b81614421565b6123b75760405162461bcd60e51b8152600401610c7d90615536565b336123c182611e49565b6001600160a01b0316146123e75760405162461bcd60e51b8152600401610c7d906155fd565b6123ef614012565b6123f882613a46565b156124455760405162461bcd60e51b815260206004820152601a60248201527f5661756c7420686173206f75747374616e64696e6720646562740000000000006044820152606401610c7d565b600082815260146020526040902054156124875761248761246583611e49565b600084815260146020526040902054601c546001600160a01b03169190614624565b612490826146a6565b600082815260146020908152604080832083905560158252808320839055601682528083209290925590518381527f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465910160405180910390a16124f36001600055565b5050565b6124ff614091565b6101f481111561255f5760405162461bcd60e51b815260206004820152602560248201527f7365744f70656e696e674665653a2063616e6e6f74206265206d6f7265207468604482015264616e20352560d81b6064820152608401610c7d565b60108190556040518181527fc4ced91ca77dc4287a54d9bd9b15c69b3aba262e30eba7c93301c48606019c9490602001610f6b565b6000816125a081614421565b6125bc5760405162461bcd60e51b8152600401610c7d90615536565b6023546001600160a01b031615806125de57506023546001600160a01b031633145b61262a5760405162461bcd60e51b815260206004820181905260248201527f627579207269736b792069732064697361626c656420666f72207075626c69636044820152606401610c7d565b60006126358461290b565b9050806126765760405162461bcd60e51b815260206004820152600f60248201526e05661756c742064656274206973203608c1b6044820152606401610c7d565b600084815260146020526040812054819061269190846141a9565b909250905060006126a282846152f2565b601b549091506126b382600a6152d3565b11156127185760405162461bcd60e51b815260206004820152602e60248201527f5661756c74206973206e6f742062656c6f77207269736b7920636f6c6c61746560448201526d72616c2070657263656e7461676560901b6064820152608401610c7d565b6000601f54600a6127299190615479565b600d5461273691906152d3565b61274090856152f2565b601f5461274e90600a615479565b61275890856152f2565b6127629190615314565b601d546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156127af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d3919061558d565b101561282f5760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f756768206d616920746f2062757920746865207269736b79206044820152641d985d5b1d60da1b6064820152608401610c7d565b601d54612847906001600160a01b031633308461443e565b806020546128559190615314565b6020556000612862611bf0565b60008a8152601460205260408082205483835291205590506128848287615314565b600082815260156020818152604080842094909455601681528383204290558c8352601481528383208390559081528282209190915581518b815290810183905233818301526060810184905290517fa4cf7276e26bb566de2c7540759e85736eb743807343fd27e6e679b20e8814419181900360800190a1965050505050505b50919050565b600080600061291984614749565b915091508160225461292b919061537d565b60225560205461293c90839061537d565b602055601354156129595760008481526016602052604090204290555b6000938452601560205260409093208390555090919050565b601d546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156129bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129df919061558d565b905090565b806129ee81614421565b612a0a5760405162461bcd60e51b8152600401610c7d906154d2565b60008181526017602052604090205461271010801590612a37575060008181526017602052604090205415155b612a535760405162461bcd60e51b8152600401610c7d90615509565b82612a5d81614421565b612a795760405162461bcd60e51b8152600401610c7d90615536565b6023546001600160a01b03161580612a9b57506023546001600160a01b031633145b612af25760405162461bcd60e51b815260206004820152602260248201527f6c69717569646174696f6e2069732064697361626c656420666f72207075626c604482015261696360f01b6064820152608401610c7d565b6000612afd8561290b565b600086815260146020526040812054919250908190612b1c90846141a9565b915091508260001415612b635760405162461bcd60e51b815260206004820152600f60248201526e05661756c742064656274206973203608c1b6044820152606401610c7d565b6000612b6f82846152f2565b9050600d548110612bdb5760405162461bcd60e51b815260206004820152603060248201527f5661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c6160448201526f746572616c2070657263656e7461676560801b6064820152608401610c7d565b601b54612be982600a6152d3565b11612c365760405162461bcd60e51b815260206004820152601d60248201527f5661756c74206973206e6f742061626f7665206761696e20726174696f0000006044820152606401610c7d565b601f54612c4490600a615479565b612c4e90836152f2565b91506000601a5483612c6091906152f2565b90506011548111612c6e5750815b601d546040516370a0823160e01b815233600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015612cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cda919061558d565b1015612d425760405162461bcd60e51b815260206004820152603160248201527f546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666604482015270081bdd5d1cdd185b991a5b99c81919589d607a1b6064820152608401610c7d565b80602054612d509190615314565b6020556000612d5e8a611aff565b9050612d6a8287615314565b60008b815260156020908152604080832093909355600f548c83526017909152918120549091612d9b918590611a50565b60008c815260146020526040902054909150612db8908290615314565b60008c815260146020526040808220929092558b81522054612ddb90829061537d565b60008b815260146020526040808220929092558c81522054612dfe908390615314565b60008c815260146020908152604080832093909355338252602190522054612e2790839061537d565b33600081815260216020526040902091909155601d54612e54916001600160a01b0390911690308661443e565b7f4d151d3a98b83151d51917640c221f8c8e3c054422ea1b48dcbbd57e3f4210d58b612e7f8d611e49565b604080519283526001600160a01b0390911660208301523390820152606081018590526080810184905260a0810183905260c00160405180910390a15050505050505050505050565b606060028054610e3290615348565b80612ee181614421565b612efd5760405162461bcd60e51b8152600401610c7d906154d2565b60008181526017602052604090205461271010801590612f2a575060008181526017602052604090205415155b612f465760405162461bcd60e51b8152600401610c7d90615509565b83612f5081614421565b612f6c5760405162461bcd60e51b8152600401610c7d90615536565b33612f7682611e49565b6001600160a01b031614612f9c5760405162461bcd60e51b8152600401610c7d906155fd565b612fa4614012565b60008411612ff45760405162461bcd60e51b815260206004820152601b60248201527f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e7400000000006044820152606401610c7d565b612ffc612972565b8411156130635760405162461bcd60e51b815260206004820152602f60248201527f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220617660448201526e30b4b630b136329039bab838363c9760891b6064820152608401610c7d565b60008461306f8761290b565b613079919061537d565b90506012548111156130d85760405162461bcd60e51b815260206004820152602260248201527f626f72726f77546f6b656e3a206d6178206c6f616e2063617020726561636865604482015261321760f11b6064820152608401610c7d565b6130e186613a46565b81116130ec57600080fd5b6000868152601460205260409020546131059082611f90565b6131775760405162461bcd60e51b815260206004820152603a60248201527f426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e60448201527f696d756d20636f6c6c61746572616c2070657263656e746167650000000000006064820152608401610c7d565b6011548561318488613a46565b61318e919061537d565b10156131ac5760405162461bcd60e51b8152600401610c7d906155a6565b600086815260156020908152604080832084905560105487845260179092528220546131da91908490611a50565b6000888152601460205260409020549091506131f7908290615314565b60008881526014602052604080822092909255868152205461321a90829061537d565b600086815260146020526040902055601d54613240906001600160a01b03163388614624565b8560205461324e919061537d565b6020908155604080518981529182018890527f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca910160405180910390a150506132976001600055565b5050505050565b600c54604080516350d25bcd60e01b815290516000926001600160a01b0316916350d25bcd9160048083019260209291908290030181865afa1580156129bb573d6000803e3d6000fd5b6132f0614091565b6001600160a01b0381166133525760405162461bcd60e51b8152602060048201526024808201527f53746162696c697479506f6f6c2063616e6e6f74206265207a65726f206164646044820152637265737360e01b6064820152608401610c7d565b602380546001600160a01b0319166001600160a01b0383169081179091556040519081527f0644c4f539d7f787d2287c12d9425e80aefc8bdae99c70af4ca66fb0742577e890602001610f6b565b6124f33383836147ee565b6133b3614091565b80516133c6906028906020840190614dcc565b507f0d82453dd4ad18b5ce3db08c34a39340ad2bf15046a7d0e86aa075483eb121d881604051610f6b9190614f6b565b601c546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561343f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613463919061558d565b601e5461346e61329e565b61347891906152d3565b6129df91906152d3565b60008161348e81614421565b6134aa5760405162461bcd60e51b8152600401610c7d90615536565b60006134b584613a46565b60008581526014602052604090205490915015806134d1575080155b156134e0576000925050612905565b60008481526014602052604081205481906134fb90846141a9565b9092509050600061350c82846152f2565b601b5490915061351d82600a6152d3565b1161352f576001955050505050612905565b6000955050505050612905565b60008161354881614421565b6135645760405162461bcd60e51b8152600401610c7d90615536565b600061356f84613a46565b600085815260146020526040902054909150158061358b575080155b1561359a576000925050612905565b60008481526014602052604081205481906135b590846141a9565b909250905060006135c682846152f2565b9050600d5481101561352f576001955050505050612905565b6135e93383614232565b6136055760405162461bcd60e51b8152600401610c7d90615485565b613611848484846148bd565b50505050565b61361f614091565b602680546001600160a01b0319166001600160a01b0392909216919091179055565b606061364c82614421565b61365557600080fd5b600b805461366290615348565b80601f016020809104026020016040519081016040528092919081815260200182805461368e90615348565b80156136db5780601f106136b0576101008083540402835291602001916136db565b820191906000526020600020905b8154815290600101906020018083116136be57829003601f168201915b50505050509050919050565b816136f181614421565b61370d5760405162461bcd60e51b8152600401610c7d906154d2565b6000818152601760205260409020546127101080159061373a575060008181526017602052604090205415155b6137565760405162461bcd60e51b8152600401610c7d90615509565b8261376081614421565b61377c5760405162461bcd60e51b8152600401610c7d90615536565b3361378682611e49565b6001600160a01b0316146137ac5760405162461bcd60e51b8152600401610c7d906155fd565b6000831180156137be57506127108311155b61380a5760405162461bcd60e51b815260206004820152601b60248201527f75706461746546726f6e74456e643a2063616e6e6f74206265203000000000006044820152606401610c7d565b60008481526017602090815260409182902085905581518681529081018590527fbfdd5aecf44aa804bf11f070a41765d280dab82adbfd1c55e1e85b7d5b7920b491015b60405180910390a150505050565b613864614012565b336000908152602160205260409020546138c05760405162461bcd60e51b815260206004820152601c60248201527f446f6e2774206861766520616e797468696e6720666f7220796f752e000000006044820152606401610c7d565b3360008181526021602052604081208054919055601c5490916138ed916001600160a01b03169083614624565b50610e106001600055565b8061390281614421565b61391e5760405162461bcd60e51b8152600401610c7d906154d2565b6000818152601760205260409020546127101080159061394b575060008181526017602052604090205415155b6139675760405162461bcd60e51b8152600401610c7d90615509565b8361397181614421565b61398d5760405162461bcd60e51b8152600401610c7d90615536565b6026546001600160a01b031615806139af57506026546001600160a01b031633145b6139cb5760405162461bcd60e51b8152600401610c7d90615564565b42841015613a265760405162461bcd60e51b815260206004820152602260248201527f7061796261636b546f6b656e416c6c3a20646561646c696e6520657870697265604482015261321760f11b6064820152608401610c7d565b6000613a318661290b565b9050613a3e8682866112d6565b505050505050565b60008061120783614749565b600081613a5e81614421565b613a7a5760405162461bcd60e51b8152600401610c7d90615536565b6000613a8584613a46565b6000858152601460205260409020549091501580613aa1575080155b15613ab0576000925050612905565b6000848152601460205260408120548190613acb90846141a9565b9092509050613ada81836152f2565b9695505050505050565b613aec614091565b613af8600b8383614e50565b507ffda45751019c07e08a3ebf7d73a4aea1a6c36bee12d87089096012911a756ab5600b6040516111519190615634565b600b8054613b3690615348565b80601f0160208091040260200160405190810160405280929190818152602001828054613b6290615348565b8015613baf5780601f10613b8457610100808354040283529160200191613baf565b820191906000526020600020905b815481529060010190602001808311613b9257829003601f168201915b505050505081565b613bbf614091565b80613c055760405162461bcd60e51b815260206004820152601660248201527504465627420526174696f2063616e6e6f7420626520360541b6044820152606401610c7d565b601a8190556040518181527f199e93b2fae27b389e2d09761871573f60121b8521be96b8f28c83bf94846ac290602001610f6b565b81613c4481614421565b613c605760405162461bcd60e51b8152600401610c7d90615536565b6026546001600160a01b03161580613c8257506026546001600160a01b031633145b613c9e5760405162461bcd60e51b8152600401610c7d90615564565b600083815260146020526040812054613cb890849061537d565b600085815260146020526040902054909150811015613cd657600080fd5b6000848152601460205260409020819055601c54613cff906001600160a01b031633308661443e565b60408051858152602081018590527f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d910161384e565b613d3d614091565b6001600160a01b038116613da25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c7d565b611f5081614654565b613db3614091565b6103e8811015613e1c5760405162461bcd60e51b815260206004820152602e60248201527f6761696e526174696f2063616e6e6f74206265206c657373207468616e206f7260448201526d020657175616c20746f20313030360941b6064820152608401610c7d565b601b8190556040518181527fb6d384ad48d9c5c042c81fa0f88d8061ef87b38475101d6aa5f9ae5a8274a64e90602001610f6b565b613e5d84848484613f8a565b6001811115613ecc5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610c7d565b816001600160a01b038516613f2857613f2381600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b613f4b565b836001600160a01b0316856001600160a01b031614613f4b57613f4b85826148f0565b6001600160a01b038416613f6757613f628161498d565b613297565b846001600160a01b0316846001600160a01b031614613297576132978482614a3c565b6001811115613611576001600160a01b03841615613fd0576001600160a01b03841660009081526004602052604081208054839290613fca908490615314565b90915550505b6001600160a01b03831615613611576001600160a01b0383166000908152600460205260408120805483929061400790849061537d565b909155505050505050565b600260005414156140655760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c7d565b6002600055565b60006001600160e01b0319821663780e9d6360e01b1480610e1d5750610e1d82614a80565b6027546001600160a01b03163314610e105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c7d565b6140f481614421565b611f505760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610c7d565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061417082611e49565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806141b461329e565b6141bd57600080fd5b6000601e546141ca61329e565b6141d490876152d3565b6141de91906152d3565b9050848110156141ed57600080fd5b60006141fd6305f5e100866152d3565b90508481101561420c57600080fd5b60006142198360646152d3565b905082811161422757600080fd5b969095509350505050565b60008061423e83611e49565b9050806001600160a01b0316846001600160a01b0316148061428557506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b806112075750836001600160a01b031661429e84610f76565b6001600160a01b031614949350505050565b826001600160a01b03166142c382611e49565b6001600160a01b0316146142e95760405162461bcd60e51b8152600401610c7d906156dc565b6001600160a01b03821661434b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610c7d565b6143588383836001614ad0565b826001600160a01b031661436b82611e49565b6001600160a01b0316146143915760405162461bcd60e51b8152600401610c7d906156dc565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000908152600360205260409020546001600160a01b0316151590565b6040516001600160a01b03808516602483015283166044820152606481018290526136119085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614adc565b6001600160a01b0382166144ff5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610c7d565b61450881614421565b156145555760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610c7d565b614563600083836001614ad0565b61456c81614421565b156145b95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610c7d565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040516001600160a01b0383166024820152604481018290526110ae90849063a9059cbb60e01b90606401614472565b602780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006146b182611e49565b90506146c1816000846001614ad0565b6146ca82611e49565b600083815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526004845282852080546000190190558785526003909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60008181526015602090815260408083205460169092528220548291429183901580159061477957506000601354115b156147e4576000868152601660205260408120546147979085615314565b905060006127106301e1855883866013546147b291906152d3565b6147bc91906152d3565b6147c691906152f2565b6147d091906152f2565b92508290506147df848261537d565b935050505b9590945092505050565b816001600160a01b0316836001600160a01b031614156148505760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610c7d565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6148c88484846142b0565b6148d484848484614bae565b6136115760405162461bcd60e51b8152600401610c7d90615721565b600060016148fd84612117565b6149079190615314565b60008381526008602052604090205490915080821461495a576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b60095460009061499f90600190615314565b6000838152600a6020526040812054600980549394509092849081106149c7576149c76155e7565b9060005260206000200154905080600983815481106149e8576149e86155e7565b6000918252602080832090910192909255828152600a90915260408082208490558582528120556009805480614a2057614a20615773565b6001900381819060005260206000200160009055905550505050565b6000614a4783612117565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b60006001600160e01b031982166380ac58cd60e01b1480614ab157506001600160e01b03198216635b5e139f60e01b145b80610e1d57506301ffc9a760e01b6001600160e01b0319831614610e1d565b61361184848484613e51565b6000614b31826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614cac9092919063ffffffff16565b8051909150156110ae5780806020019051810190614b4f919061532b565b6110ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610c7d565b60006001600160a01b0384163b15614ca157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614bf2903390899088908890600401615789565b6020604051808303816000875af1925050508015614c2d575060408051601f3d908101601f19168201909252614c2a918101906157bc565b60015b614c87573d808015614c5b576040519150601f19603f3d011682016040523d82523d6000602084013e614c60565b606091505b508051614c7f5760405162461bcd60e51b8152600401610c7d90615721565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611207565b506001949350505050565b6060611207848460008585600080866001600160a01b03168587604051614cd391906157d9565b60006040518083038185875af1925050503d8060008114614d10576040519150601f19603f3d011682016040523d82523d6000602084013e614d15565b606091505b5091509150614d2687838387614d31565b979650505050505050565b60608315614d9d578251614d96576001600160a01b0385163b614d965760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c7d565b5081611207565b6112078383815115614db25781518083602001fd5b8060405162461bcd60e51b8152600401610c7d9190614f6b565b828054614dd890615348565b90600052602060002090601f016020900481019282614dfa5760008555614e40565b82601f10614e1357805160ff1916838001178555614e40565b82800160010185558215614e40579182015b82811115614e40578251825591602001919060010190614e25565b50614e4c929150614ec4565b5090565b828054614e5c90615348565b90600052602060002090601f016020900481019282614e7e5760008555614e40565b82601f10614e975782800160ff19823516178555614e40565b82800160010185558215614e40579182015b82811115614e40578235825591602001919060010190614ea9565b5b80821115614e4c5760008155600101614ec5565b6001600160e01b031981168114611f5057600080fd5b600060208284031215614f0157600080fd5b8135614f0c81614ed9565b9392505050565b60005b83811015614f2e578181015183820152602001614f16565b838111156136115750506000910152565b60008151808452614f57816020860160208601614f13565b601f01601f19169290920160200192915050565b602081526000614f0c6020830184614f3f565b80356001600160a01b0381168114614f9557600080fd5b919050565b600060208284031215614fac57600080fd5b614f0c82614f7e565b600060208284031215614fc757600080fd5b5035919050565b60008060408385031215614fe157600080fd5b614fea83614f7e565b946020939093013593505050565b6000806040838503121561500b57600080fd5b50508035926020909101359150565b60008060006060848603121561502f57600080fd5b61503884614f7e565b925061504660208501614f7e565b9150604084013590509250925092565b60008060006060848603121561506b57600080fd5b505081359360208301359350604090920135919050565b8015158114611f5057600080fd5b600080604083850312156150a357600080fd5b6150ac83614f7e565b915060208301356150bc81615082565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156150f8576150f86150c7565b604051601f8501601f19908116603f01168101908282118183101715615120576151206150c7565b8160405280935085815286868601111561513957600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561516557600080fd5b813567ffffffffffffffff81111561517c57600080fd5b8201601f8101841361518d57600080fd5b611207848235602084016150dd565b600080600080608085870312156151b257600080fd5b6151bb85614f7e565b93506151c960208601614f7e565b925060408501359150606085013567ffffffffffffffff8111156151ec57600080fd5b8501601f810187136151fd57600080fd5b61520c878235602084016150dd565b91505092959194509250565b6000806020838503121561522b57600080fd5b823567ffffffffffffffff8082111561524357600080fd5b818501915085601f83011261525757600080fd5b81358181111561526657600080fd5b86602082850101111561527857600080fd5b60209290920196919550909350505050565b6000806040838503121561529d57600080fd5b6152a683614f7e565b91506152b460208401614f7e565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156152ed576152ed6152bd565b500290565b60008261530f57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015615326576153266152bd565b500390565b60006020828403121561533d57600080fd5b8151614f0c81615082565b600181811c9082168061535c57607f821691505b6020821081141561290557634e487b7160e01b600052602260045260246000fd5b60008219821115615390576153906152bd565b500190565b600181815b808511156153d05781600019048211156153b6576153b66152bd565b808516156153c357918102915b93841c939080029061539a565b509250929050565b6000826153e757506001610e1d565b816153f457506000610e1d565b816001811461540a576002811461541457615430565b6001915050610e1d565b60ff841115615425576154256152bd565b50506001821b610e1d565b5060208310610133831016604e8410600b8410161715615453575081810a610e1d565b61545d8383615395565b8060001904821115615471576154716152bd565b029392505050565b6000614f0c83836153d8565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252601e908201527f66726f6e7420656e64207661756c7420646f6573206e6f742065786973740000604082015260600190565b602080825260139082015272119c9bdb9d08195b99081b9bdd081859191959606a1b604082015260600190565b60208082526014908201527315985d5b1d08191bd95cc81b9bdd08195e1a5cdd60621b604082015260600190565b6020808252600f908201526e36bab9ba103ab9b2903937baba32b960891b604082015260600190565b60006020828403121561559f57600080fd5b5051919050565b60208082526021908201527f5661756c7420646562742063616e277420626520756e646572206d696e4465626040820152601d60fa1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526019908201527f5661756c74206973206e6f74206f776e656420627920796f7500000000000000604082015260600190565b600060208083526000845481600182811c91508083168061565657607f831692505b85831081141561567457634e487b7160e01b85526022600452602485fd5b87860183815260200181801561569157600181146156a2576156cd565b60ff198616825287820196506156cd565b60008b81526020902060005b868110156156c7578154848201529085019089016156ae565b83019750505b50949998505050505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613ada90830184614f3f565b6000602082840312156157ce57600080fd5b8151614f0c81614ed9565b600082516157eb818460208701614f13565b919091019291505056fea26469706673582212209cd2fad0217ea9c2d9e87e38e582ad46b394b173ccecfa37a23400b5e0359e6b64736f6c634300080b0033000000000000000000000000b0b2fbeacdc6fea615a3c0ab32948a241dba7ccc000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000dfa46478f9e5ea86d57387849598dbfb2e964b02000000000000000000000000926b92b15385981416a5e0dcb4f8b31733d598cf00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000019777374455448204f7074696d69736d204d4149205661756c74000000000000000000000000000000000000000000000000000000000000000000000000000008575354454f4d56540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d567a7257716475413758533578547552367758516a544362473270424d393133694d54354e51504566376d520000000000000000000000
0x000000000000000000000000b0b2fbeacdc6fea615a3c0ab32948a241dba7ccc000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000dfa46478f9e5ea86d57387849598dbfb2e964b02000000000000000000000000926b92b15385981416a5e0dcb4f8b31733d598cf00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000019777374455448204f7074696d69736d204d4149205661756c74000000000000000000000000000000000000000000000000000000000000000000000000000008575354454f4d56540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d567a7257716475413758533578547552367758516a544362473270424d393133694d54354e51504566376d520000000000000000000000
----Decoded View------------Arg [0] : ethPriceSourceAddress (address): 0xB0B2fBEaCdC6fEa615A3C0aB32948a241Dba7cCcArg [1] : minimumCollateralPercentage (uint256): 130Arg [2] : name (string): wstETH Optimism MAI VaultArg [3] : symbol (string): WSTEOMVTArg [4] : _mai (address): 0xdFA46478F9e5EA86d57387849598dbFB2e964b02Arg [5] : _collateral (address): 0x926B92B15385981416a5E0Dcb4f8b31733d598CfArg [6] : baseURI (string): ipfs://QmVzrWqduA7XS5xTuR6wXQjTCbG2pBM913iMT5NQPEf7mR
----Encoded View------------Arg [0] : 0x000000000000000000000000b0b2fbeacdc6fea615a3c0ab32948a241dba7cccArg [1] : 0x0000000000000000000000000000000000000000000000000000000000000082Arg [2] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019777374455448204f7074696d69736d204d4149205661756c7400000000000000Arg [3] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008575354454f4d5654000000000000000000000000000000000000000000000000Arg [4] : 0x000000000000000000000000dfa46478f9e5ea86d57387849598dbfb2e964b02Arg [5] : 0x000000000000000000000000926b92b15385981416a5e0dcb4f8b31733d598cfArg [6] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d567a7257716475413758533578547552367758516a544362473270424d393133694d54354e51504566376d520000000000000000000000