Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 38135786 | 274 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract ERC20","name":"asset_","type":"address"},{"internalType":"contract VerifiedAuditor","name":"auditor_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Disagreement","type":"error"},{"inputs":[],"name":"InsufficientProtocolLiquidity","type":"error"},{"inputs":[],"name":"MarketFrozen","type":"error"},{"inputs":[],"name":"MaturityOverflow","type":"error"},{"inputs":[],"name":"MaxSupplyExceeded","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"NotAllowed","type":"error"},{"inputs":[],"name":"NotAuditor","type":"error"},{"inputs":[],"name":"NotPausingRole","type":"error"},{"inputs":[],"name":"SelfLiquidation","type":"error"},{"inputs":[{"internalType":"uint8","name":"state","type":"uint8"},{"internalType":"uint8","name":"requiredState","type":"uint8"}],"name":"UnmatchedPoolState","type":"error"},{"inputs":[{"internalType":"uint8","name":"state","type":"uint8"},{"internalType":"uint8","name":"requiredState","type":"uint8"},{"internalType":"uint8","name":"alternativeState","type":"uint8"}],"name":"UnmatchedPoolStates","type":"error"},{"inputs":[],"name":"ZeroBorrow","type":"error"},{"inputs":[],"name":"ZeroDeposit","type":"error"},{"inputs":[],"name":"ZeroRepay","type":"error"},{"inputs":[],"name":"ZeroWithdraw","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AccumulatorAccrual","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"backupFeeRate","type":"uint256"}],"name":"BackupFeeRateSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Borrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maturity","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"BorrowAtMaturity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dampSpeedUp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dampSpeedDown","type":"uint256"}],"name":"DampSpeedSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maturity","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"DepositAtMaturity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"earningsAccumulatorSmoothFactor","type":"uint256"}],"name":"EarningsAccumulatorSmoothFactorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"maturity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unassignedEarnings","type":"uint256"}],"name":"FixedEarningsUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"utilization","type":"uint256"}],"name":"FloatingDebtUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isFrozen","type":"bool"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract InterestRateModel","name":"interestRateModel","type":"address"}],"name":"InterestRateModelSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lendersAssets","type":"uint256"},{"indexed":true,"internalType":"contract Market","name":"seizeMarket","type":"address"},{"indexed":false,"internalType":"uint256","name":"seizedAssets","type":"uint256"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"floatingDepositShares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"floatingAssets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"floatingBorrowShares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"floatingDebt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"earningsAccumulator","type":"uint256"}],"name":"MarketUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxFuturePools","type":"uint256"}],"name":"MaxFuturePoolsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxSupply","type":"uint256"}],"name":"MaxSupplySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"penaltyRate","type":"uint256"}],"name":"PenaltyRateSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Repay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maturity","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"positionAssets","type":"uint256"}],"name":"RepayAtMaturity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reserveFactor","type":"uint256"}],"name":"ReserveFactorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract RewardsController","name":"rewardsController","type":"address"}],"name":"RewardsControllerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"Seize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"SpreadBadDebt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"treasury","type":"address"},{"indexed":false,"internalType":"uint256","name":"treasuryFeeRate","type":"uint256"}],"name":"TreasurySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maturity","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"positionAssets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"WithdrawAtMaturity","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"accountSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accounts","outputs":[{"internalType":"uint256","name":"fixedDeposits","type":"uint256"},{"internalType":"uint256","name":"fixedBorrows","type":"uint256"},{"internalType":"uint256","name":"floatingBorrowShares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"auditor","outputs":[{"internalType":"contract Auditor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"backupFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"borrower","type":"address"}],"name":"borrow","outputs":[{"internalType":"uint256","name":"borrowShares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"maxAssets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"borrower","type":"address"}],"name":"borrowAtMaturity","outputs":[{"internalType":"uint256","name":"assetsOwed","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"borrower","type":"address"}],"name":"clearBadDebt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dampSpeedDown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dampSpeedUp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"minAssetsRequired","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"depositAtMaturity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earningsAccumulator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earningsAccumulatorSmoothFactor","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extension","outputs":[{"internalType":"contract MarketExtension","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"fixedBorrowPositions","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"fixedConsolidated","outputs":[{"internalType":"uint256","name":"deposits","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"fixedDepositPositions","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fixedOps","outputs":[{"internalType":"uint256","name":"deposits","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"}],"name":"fixedPoolBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"}],"name":"fixedPoolBorrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fixedPools","outputs":[{"internalType":"uint256","name":"borrowed","type":"uint256"},{"internalType":"uint256","name":"supplied","type":"uint256"},{"internalType":"uint256","name":"unassignedEarnings","type":"uint256"},{"internalType":"uint256","name":"lastAccrual","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"floatingAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"floatingAssetsAverage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"floatingBackupBorrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"floatingDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"assetSymbol","type":"string"},{"internalType":"uint8","name":"maxFuturePools_","type":"uint8"},{"internalType":"uint256","name":"maxSupply_","type":"uint256"},{"internalType":"uint128","name":"earningsAccumulatorSmoothFactor_","type":"uint128"},{"internalType":"contract InterestRateModel","name":"interestRateModel_","type":"address"},{"internalType":"uint256","name":"penaltyRate_","type":"uint256"},{"internalType":"uint256","name":"backupFeeRate_","type":"uint256"},{"internalType":"uint128","name":"reserveFactor_","type":"uint128"},{"internalType":"uint256","name":"dampSpeedUp_","type":"uint256"},{"internalType":"uint256","name":"dampSpeedDown_","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSupply_","type":"uint256"}],"name":"initialize2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"interestRateModel","outputs":[{"internalType":"contract InterestRateModel","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastAccumulatorAccrual","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastAverageUpdate","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastFloatingDebtUpdate","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"maxAssets","type":"uint256"},{"internalType":"contract Market","name":"seizeMarket","type":"address"}],"name":"liquidate","outputs":[{"internalType":"uint256","name":"repaidAssets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lockedAssets","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFuturePools","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"penaltyRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewBorrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"borrower","type":"address"}],"name":"previewDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"previewFloatingAssetsAverage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRefund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewRepay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"borrowShares","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"name":"refund","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"actualShares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"name":"repay","outputs":[{"internalType":"uint256","name":"actualRepay","type":"uint256"},{"internalType":"uint256","name":"borrowShares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"maxAssets","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"name":"repayAtMaturity","outputs":[{"internalType":"uint256","name":"actualRepayAssets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reserveFactor","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsController","outputs":[{"internalType":"contract RewardsController","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"liquidator","type":"address"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"seize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"backupFeeRate_","type":"uint256"}],"name":"setBackupFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"up","type":"uint256"},{"internalType":"uint256","name":"down","type":"uint256"}],"name":"setDampSpeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"earningsAccumulatorSmoothFactor_","type":"uint128"}],"name":"setEarningsAccumulatorSmoothFactor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isFrozen_","type":"bool"}],"name":"setFrozen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract InterestRateModel","name":"interestRateModel_","type":"address"}],"name":"setInterestRateModel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"futurePools","type":"uint8"}],"name":"setMaxFuturePools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSupply_","type":"uint256"}],"name":"setMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"penaltyRate_","type":"uint256"}],"name":"setPenaltyRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"reserveFactor_","type":"uint128"}],"name":"setReserveFactor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract RewardsController","name":"","type":"address"}],"name":"setRewardsController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"uint256","name":"treasuryFeeRate_","type":"uint256"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","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":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFloatingBorrowAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFloatingBorrowShares","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":"to","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"uint256","name":"positionAssets","type":"uint256"},{"internalType":"uint256","name":"minAssetsRequired","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdrawAtMaturity","outputs":[{"internalType":"uint256","name":"assetsDiscounted","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061055d575f3560e01c80636f8b44b0116102d1578063b2a02ff111610182578063d547741f116100e0578063e94b3c211161009a578063e94b3c2114610db4578063eee8c9e014610dbd578063ef8b30f714610dc5578063f3fdb15a14610dd8578063f435f5a714610deb578063fb0fc4c314610dfe578063fea45d9414610e15575f80fd5b8063d547741f14610d2a578063d5abeb0114610d3d578063d6b7494f14610d46578063d905777e14610d4f578063dd62ed3e14610d77578063e00b262514610da1575f80fd5b8063c63d75b61161013c578063c63d75b614610890578063c6e6f59214610c7c578063ccfd8b1114610c8f578063ce96cb7714610cc0578063d2681a0b14610cd3578063d505accf14610d04578063d516418414610d17575f80fd5b8063b2a02ff114610c0c578063b3d7f6b914610c1f578063b460af9414610c32578063ba08765214610c45578063bee36bb314610c58578063bf722ca214610c69575f80fd5b8063910a8f1a1161022f578063a16a8850116101e9578063a16a885014610b9b578063a1bab44714610bb0578063a1e8f02b14610bc3578063a217fddf14610bcc578063a9059cbb14610bd3578063acb7081514610be6578063afefdf7f14610bf9575f80fd5b8063910a8f1a14610b2157806391d1485414610b47578063926bb63314610b5a57806394bf804d14610b6d57806395d89b4114610b80578063a05a091a14610b88575f80fd5b80638298c0a61161028b5780638298c0a614610aca5780638456cb5914610add5780638a1baa4614610ae55780638bcd401614610aee5780638c3cba5a14610b015780638d0e5f0214610b0a578063904876bd14610b13575f80fd5b80636f8b44b014610a4057806370a0823114610a5357806378007e2314610a725780637ad226dc14610a855780637e932d3214610a985780637ecebe0014610aab575f80fd5b80632f6c493c1161042b5780634322b714116103895780635cc2ef83116103435780635cc2ef83146109765780635e5c06e21461098957806361d027b3146109d257806366601032146109e55780636bb65f53146109ee5780636e553f6514610a015780636eb9ffeb14610a14575f80fd5b80634322b714146108b757806347dffde0146108de5780634914c008146108f15780634cdad506146109045780634e7c5059146109175780635c975abb1461096b575f80fd5b806338d52e0f116103e557806338d52e0f1461081e5780633aa18d6f146108455780633c6f317f1461084e5780633ec045a6146108615780633f4ba83a14610888578063402d267d1461089057806342da42bf146108a4575f80fd5b80632f6c493c146107a2578063313ce567146107b557806333eeb147146107dc57806334f7d1f2146107f05780633644e5151461080357806336568abe1461080b575f80fd5b80631721c5aa116104d8578063248a9ca311610492578063248a9ca3146106eb57806325fc07a91461070d57806328acf2cf1461072c5780632c5dcc771461073f5780632d5537b0146107525780632e0af008146107865780632f2ff15d1461078f575f80fd5b80631721c5aa1461068157806318160ddd146106a05780631a5b9e62146106a95780631a90f186146106bc5780631d43b30b146106c557806323b872dd146106d8575f80fd5b8063014a296f1461056157806301e1d1141461058e57806301ffc9a7146105a4578063022d8af5146105c75780630539fa8c146105dc57806306fdde03146105e557806307a2d13a146105fa578063095ea7b31461060d5780630a28a477146106205780630ab69be8146106335780630e52dbec1461065a5780630f2b75aa14610679575b5f80fd5b61057461056f36600461556e565b610e28565b604080519283526020830191909152015b60405180910390f35b610596610e5d565b604051908152602001610585565b6105b76105b2366004615589565b610f09565b6040519015158152602001610585565b6105da6105d53660046155cb565b610f3f565b005b61059660d85481565b6105ed610fc6565b60405161058591906155e4565b610596610608366004615619565b611052565b6105b761061b366004615630565b61107e565b61059661062e366004615619565b6110e9565b610574610641366004615619565b5f90815260d16020526040902080546001909101549091565b60da546106679060ff1681565b60405160ff9091168152602001610585565b610596611108565b61059661068f36600461556e565b60e86020525f908152604090205481565b61059660cb5481565b6105966106b736600461565a565b6111ad565b61059660d45481565b6105966106d336600461556e565b611666565b6105b76106e63660046156ac565b611766565b6105966106f9366004615619565b5f9081526065602052604090206001015490565b61059661071b366004615619565b5f90815260d1602052604090205490565b6105da61073a3660046156fa565b611783565b6105da61074d366004615630565b6117cf565b6107797f0000000000000000000000008d30d7a11f4f24f19d75b1fc87dbae6ba5fb588e81565b6040516105859190615713565b61059660dd5481565b6105da61079d366004615727565b611840565b6105da6107b036600461556e565b611869565b6106677f000000000000000000000000000000000000000000000000000000000000000681565b60e3546105b790600160a01b900460ff1681565b6105966107fe366004615755565b611909565b610596611931565b6105da610819366004615727565b61198b565b6107797f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291381565b61059660d95481565b61059661085c366004615755565b6119ad565b6107797f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c81565b6105da6119cc565b61059661089e36600461556e565b505f1990565b6105da6108b2366004615619565b6119fe565b60dc546108d190600160801b90046001600160801b031681565b6040516105859190615793565b6105966108ec366004615619565b611a3d565b6105966108ff3660046157a7565b611a5b565b610596610912366004615619565b611a70565b61094b610925366004615619565b60d16020525f908152604090208054600182015460028301546003909301549192909184565b604080519485526020850193909352918301526060820152608001610585565b60975460ff166105b7565b6105da6109843660046157e6565b611a7a565b6109b761099736600461556e565b60d26020525f908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610585565b60e154610779906001600160a01b031681565b61059660e25481565b60e354610779906001600160a01b031681565b610596610a0f366004615727565b611ad4565b60da54610a2b90600160281b900463ffffffff1681565b60405163ffffffff9091168152602001610585565b6105da610a4e366004615619565b611af1565b610596610a6136600461556e565b60cc6020525f908152604090205481565b610596610a80366004615619565b611b30565b610574610a93366004615727565b611b47565b6105da610aa6366004615813565b611b71565b610596610ab936600461556e565b60ce6020525f908152604090205481565b6105da610ad8366004615619565b611bee565b6105da611bf6565b61059660d55481565b6105da610afc36600461556e565b611c08565b61059660d35481565b61059660df5481565b60e55460e654610574919082565b610574610b2f36600461556e565b60e46020525f90815260409020805460019091015482565b6105b7610b55366004615727565b611c88565b6105da610b6836600461556e565b611cb2565b610596610b7b366004615727565b611ffe565b6105ed61201b565b610596610b9636600461565a565b612028565b60da54610a2b90610100900463ffffffff1681565b6105da610bbe366004615619565b612049565b61059660d75481565b6105965f81565b6105b7610be1366004615630565b612088565b610574610bf4366004615727565b61209c565b6105da610c07366004615839565b6120ba565b6105da610c1a3660046156ac565b6120d0565b610596610c2d366004615619565b6120e4565b610596610c4036600461591b565b6120fa565b610596610c5336600461591b565b61218d565b6105da610c6636600461556e565b50565b610596610c77366004615619565b61221d565b610596610c8a366004615619565b61223c565b610574610c9d366004615727565b60cf60209081525f92835260408084209091529082529020805460019091015482565b610596610cce36600461556e565b612253565b610574610ce1366004615727565b60d060209081525f92835260408084209091529082529020805460019091015482565b6105da610d1236600461594f565b612274565b610596610d2536600461591b565b612439565b6105da610d38366004615727565b612647565b61059660e75481565b61059660d65481565b610596610d5d36600461556e565b6001600160a01b03165f90815260cc602052604090205490565b610596610d853660046159b9565b60cd60209081525f928352604080842090915290825290205481565b6105da610daf3660046155cb565b61266b565b61059660de5481565b6105966126bf565b610596610dd3366004615619565b6127a0565b60db54610779906001600160a01b031681565b6105da610df936600461556e565b6127aa565b60da54610a2b90600160481b900463ffffffff1681565b60dc546108d1906001600160801b031681565b6001600160a01b0381165f90815260cc60205260408120548190610e4b90611052565b610e5484611666565b91509150915091565b60da545f9081906224ea004281810690039160ff16028101815b818111610ecf575f81815260d160205260409020600381015480831115610ec357824210610ea9578160020154610ebe565b6002820154610ebe904283900383860361297b565b860195505b50506224ea0001610e77565b50610ef260e254670de0b6b3a76400000360d454610eeb6126bf565b0390612999565b610efa6129ad565b8460dd54010101935050505090565b5f6001600160e01b03198216637965db0b60e01b1480610f3957506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610f4981612a23565b610f51612a2d565b60dd5f828254610f619190615a0d565b90915550610f6f9050612aa6565b60dc80546001600160801b0319166001600160801b0384161790556040517f5499a947330efc8c6d458d51fd04d56d7e44dc1469558b2300e359963cef317e90610fba908490615793565b60405180910390a15050565b60c98054610fd390615a20565b80601f0160208091040260200160405190810160405280929190818152602001828054610fff90615a20565b801561104a5780601f106110215761010080835404028352916020019161104a565b820191905f5260205f20905b81548152906001019060200180831161102d57829003601f168201915b505050505081565b60cb545f90801561107557611070611068610e5d565b84908361297b565b611077565b825b9392505050565b335f81815260cd602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906110d89086815260200190565b60405180910390a350600192915050565b60cb545f9080156110755761107081611100610e5d565b859190612b0c565b60dd5460de545f9190828183106111215760d854611125565b60d9545b60da549091505f906111609061114890600160481b900463ffffffff1642615a58565b6111529084615a6b565b61115b90615a82565b612b39565b61117290670de0b6b3a7640000615a9c565b905061117e8185612999565b61119a61119383670de0b6b3a7640000615a58565b8590612999565b6111a49190615a0d565b94505050505090565b5f6111b6612cac565b6111be612cbb565b845f036111de5760405163774257f760e01b815260040160405180910390fd5b60da546111f290879060ff1660035f612ce6565b5f86815260d16020526040902061120f61120a612e79565b612f89565b6112198188612fc6565b60dd5f8282546112299190615a0d565b909155506112349050565b5f61123f8288613044565b905080156112c3575f8160d3546112569190615a0d565b60dc549091506112949061128290600160801b90046001600160801b0316670de0b6b3a7640000615abb565b60dd54906001600160801b0316612999565b60d4546112a19083615a0d565b11156112bf57604051622d41ad60e31b815260040160405180910390fd5b60d3555b505f806112ce611108565b60d45460db5460da546001870154875494955092935f936001600160a01b039093169263d9d9048d928f9260ff909116916113099189613080565b61131388886130ad565b611320898960d3546130c5565b6040518663ffffffff1660e01b8152600401611340959493929190615ada565b602060405180830381865afa15801561135b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137f9190615b00565b90506113a461139d611391428e615a58565b83906301e1338061297b565b8b906130e1565b935050505080876113b59190615a0d565b9250858311156113d857604051632c1b6b4160e21b815260040160405180910390fd5b6113e284846130f5565b5f88815260d0602090815260408083206001600160a01b038816845290915281208054909103611439576001600160a01b0385165f90815260d2602052604090206001810154611432908b61316b565b6001909101555b5f8061147c61144785613254565b60408051608081018252885481526001890154602082015260028901549181019190915260038801546060820152908c613280565b91509150815f146114a05781856002015f82825461149a9190615a0d565b90915550505b6114a9816132cc565b60405180604001604052808b855f01546114c39190615a0d565b81526020018585600101546114d89190615a0d565b90525f8c815260d0602090815260408083206001600160a01b038c1684528252808320845181559382015160019485015560e4909152812090910180548c9550909350909150611529908490615a0d565b909155505060e680548891905f90611542908490615a0d565b92505081905550836001600160a01b0316856001600160a01b0316897f66866b472f27d55d69496091bbd651907b2fb1041b3eeaca6e565ae5b5af4013338b8660405161159193929190615b17565b60405180910390a46115a1612aa6565b6115aa886132f8565b604051637b9d893160e01b81526001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c1690637b9d8931906115f89030908890600401615b38565b5f604051808303815f87803b15801561160f575f80fd5b505af1158015611621573d5f803e3d5ffd5b5061165b9250506001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029131690508689613346565b505095945050505050565b6001600160a01b0381165f90815260d260209081526040822060d6546001820154919290919081901c9063ffffffff165b811561173b576001821615611720575f81815260d0602090815260408083206001600160a01b038a1684529091528120600181015481549192916116db9190615a0d565b90506116e78188615a0d565b96508242111561171d57611710856116ff8542615a58565b6117099190615a6b565b8290612999565b61171a9088615a0d565b96505b50505b60019190911c906117346224ea0082615a0d565b9050611697565b6002840154801561175c5761174f81611a3d565b6117599087615a0d565b95505b5050505050919050565b5f61177083613397565b61177b8484846134a0565b949350505050565b5f61178d81612a23565b60da805460ff191660ff84169081179091556040519081527f23c0170203096819aed8a13739fe91ce445ec92a7e2aa228081b5e45ee582c8090602001610fba565b5f6117d981612a23565b6117e461120a612e79565b60e180546001600160a01b0319166001600160a01b03851690811790915560e28390556040518381527fd471a80a3a5fd21dfce2b1b7c88bbea4684ab90254a4e47345ac344d56678872906020015b60405180910390a2505050565b5f8281526065602052604090206001015461185a81612a23565b61186483836134bc565b505050565b611871613541565b6001600160a01b0381165f90815260e8602052604081205490819003611895575050565b6001600160a01b0382165f90815260e8602052604081208190556118b8826127a0565b90506118c4838261358a565b6118ce8282613594565b826001600160a01b03167f0f0bc5b519ddefdd8e5f9e6423433aa2b869738de2ae34d58ebc796fc749fa0d8360405161183391815260200190565b5f61191333613397565b61191c82613397565b61192885858585613622565b95945050505050565b5f7f00000000000000000000000000000000000000000000000000000000000021054614611966576119616138d5565b905090565b507f8afe45dd6e9a80fdc361b89af8800d680cf9d6a7405961eb5aeb381be64a200b90565b6001600160a01b038116331461199f575f80fd5b6119a9828261396e565b5050565b5f6119b733613397565b6119c082613397565b611928858585856139d4565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6119f681612a23565b610c66613a3f565b5f611a0881612a23565b60d78290556040518281527f08b437f29bc93f50025290193a680338033c3fccb93cf0ef95788eba3f003e2690602001610fba565b60df545f90801561107557611070611a536126bf565b849083612b0c565b5f611a6533613397565b61177b848484613a81565b5f610f3982611052565b5f611a8481612a23565b611a8c613f5d565b60d883905560d982905560408051848152602081018490527fd09fee08a2915f9ac9a77197b21a3e275d34ec9542f569eb15b95ce8f7fe2808910160405180910390a1505050565b5f611ade33613397565b611ae782613397565b6110778383613f88565b5f611afb81612a23565b60e78290556040518281527facc639f1ff310faf48650d02a82bd24c924e45a5050fc931245096ac57c309d990602001610fba565b60df545f90801561107557611070816111006126bf565b5f80611b5233613397565b611b5b83613397565b611b65848461402e565b915091505b9250929050565b5f611b7b81612a23565b60e35460ff600160a01b909104161515821515146119a95760e38054831515600160a01b0260ff60a01b1990911617905560405133907f713eb400302cebac61f82eb8de5051d38458517ffac43ae45f4a9fd5d09ee69890611be290851515815260200190565b60405180910390a25050565b6119a9614084565b611bfe614111565b611c0661418d565b565b5f611c1281612a23565b60db546001600160a01b031615611c2e57611c2e61120a612e79565b60db80546001600160a01b0319166001600160a01b038416179055611c51612aa6565b6040516001600160a01b038316907f7902cd1307c545e3f5782172612372bf997a93698917ced12b2f83d86e347d0c905f90a25050565b5f9182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b336001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c1614611cfb576040516317568c8f60e21b815260040160405180910390fd5b611d03612a2d565b60dd5f828254611d139190615a0d565b90915550506001600160a01b0381165f90815260d260209081526040822060d55460018201549193909290919081901c9063ffffffff165b8115611f55576001821615611f3a575f81815260d0602090815260408083206001600160a01b038a168452909152812060018101548154919291611d8f9190615a0d565b9050808610611f3757611da28187615a58565b9550611dae8186615a0d565b82545f85815260d16020526040812092975091611dca916141ca565b90508015611e63578060d35f828254611de39190615a58565b909155505082545f90611e1290611dfa90846141f7565b5f87815260d16020526040902060020154908461297b565b90508060d15f8781526020019081526020015f206002015f828254611e379190615a58565b925050819055508060d55f828254611e4f9190615a0d565b90915550611e5f90508189615a0d565b9750505b82546001600160a01b038a165f90815260e4602052604081206001018054839290611e8f908490615a58565b909155505060e680548291905f90611ea8908490615a58565b90915550505f85815260d0602090815260408083206001600160a01b038e1684529091528120818155600190810191909155890154611ee7908661420c565b60018a015560408051848152602081018590526001600160a01b038c1691339188917ff17fce321dd9fb005136a80c0bfb3789e455b7a70be9eb8922f1ad20a80d1a33910160405180910390a450505b50505b60019190911c90611f4e6224ea0082615a0d565b9050611d4b565b600285015415801590611f725750611f6c8461221d565b93508315155b15611f93575f611f8285886142cb565b509050611f8f8185615a0d565b9350505b8215611fee578260d55f828254611faa9190615a58565b90915550506040518381526001600160a01b038716907fde0e3a281fa92ee953a13c5bd96dcaf07b10c6b9f42c65d0e3752c855caa6e7c9060200160405180910390a25b611ff6612aa6565b505050505050565b5f61200833613397565b61201182613397565b61107783836143b9565b60ca8054610fd390615a20565b5f61203282613397565b61203f8686868686614454565b9695505050505050565b5f61205381612a23565b60d68290556040518281527fdb0ebfb2503f7c16b45577ebbf6c7d6b99b6e8aaf6652b156e36d5d6654a3a5e90602001610fba565b5f61209283613397565b6110778383614517565b5f806120a733613397565b6120b083613397565b611b658484614533565b6120c2614084565b505050505050505050505050565b6120d8612cac565b6118643384848461454f565b60cb545f90801561107557611070611a53610e5d565b60405163a3883db560e01b81525f906001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c169063a3883db59061214c90309086908990600401615b52565b5f6040518083038186803b158015612162575f80fd5b505afa158015612174573d5f803e3d5ffd5b505050506121838484846146ca565b9050611077612aa6565b5f7f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c6001600160a01b031663a3883db530846121c888611a70565b6040518463ffffffff1660e01b81526004016121e693929190615b52565b5f6040518083038186803b1580156121fc575f80fd5b505afa15801561220e573d5f803e3d5ffd5b505050506121838484846147c1565b60df545f90801561107557611070816122346126bf565b85919061297b565b60cb545f9080156110755761107081612234610e5d565b6001600160a01b0381165f90815260cc6020526040812054610f3990611052565b42841015612280575f80fd5b5f600161228b611931565b6001600160a01b038a81165f81815260ce602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612393573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906123c95750876001600160a01b0316816001600160a01b0316145b6123d1575f80fd5b6001600160a01b039081165f90815260cd602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f612442612cac565b61244a612cbb565b835f0361246a5760405163774257f760e01b815260040160405180910390fd5b61247482856130f5565b61247f61120a612e79565b61248884611b30565b90505f8460d4546124999190615a0d565b60d481905560dc549091506124ca9061128290600160801b90046001600160801b0316670de0b6b3a7640000615abb565b8160d3546124d89190615a0d565b11156124f657604051622d41ad60e31b815260040160405180910390fd5b8160df5f8282546125079190615a0d565b90915550506001600160a01b0383165f90815260d2602052604081206002018054849290612536908490615a0d565b909155505060408051868152602081018490526001600160a01b03808616929087169133917f96558a334f4759f0e7c423d68c84721860bd8fbf94ddc4e55158ecb125ad04b5910160405180910390a461258e612aa6565b604051637b9d893160e01b81526001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c1690637b9d8931906125dc9030908790600401615b38565b5f604051808303815f87803b1580156125f3575f80fd5b505af1158015612605573d5f803e3d5ffd5b5061263f9250506001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029131690508587613346565b509392505050565b5f8281526065602052604090206001015461266181612a23565b611864838361396e565b5f61267581612a23565b60dc80546001600160801b03808516600160801b0291161790556040517fc197c4ec4c97f824717acfad017c2a16643adc8874798a0899da42c6b5ebf9bf90610fba908490615793565b60d45460dd5460da545f929190839061278c90612785906126ed90600160281b900463ffffffff1642615a58565b60db546301e13380906001600160a01b0316637c21fb1d61270e888a6130ad565b61271b898b60d3546130c5565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa15801561275a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061277e9190615b00565b919061297b565b8490612999565b90506127988184615a0d565b935050505090565b5f610f398261223c565b6127b2613541565b6001600160a01b0381165f90815260cc6020526040812054906127d482611052565b90506127e081836148c3565b6127ea838361493c565b6001600160a01b0383165f90815260d260209081526040909120549081901c9063ffffffff165b81156128bd5760018216156128a2575f81815260cf602090815260408083206001600160a01b038916845282528083208151808301909252805480835260019091015492820183905290929161286691615a0d565b9050801561289f575f8061287c85845f8c6149b6565b505091509150612890818587868d87614c55565b61289a8288615a0d565b965050505b50505b60019190911c906128b66224ea0082615a0d565b9050612811565b6001600160a01b0385165f90815260e86020526040812080548592906128e4908490615a0d565b90915550506040518381526001600160a01b0386169033907f9e2db63c5a9dc5d08222447d76570029e4f2f3074c8aa4f1c511fa658506c7109060200160405180910390a3846001600160a01b03167f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd600088460405161296491815260200190565b60405180910390a2612974612aa6565b5050505050565b828202811515841585830485141716612992575f80fd5b0492915050565b5f6110778383670de0b6b3a764000061297b565b60da545f9081906129c990610100900463ffffffff1642615a58565b9050805f036129d9575f91505090565b60da54612a1d908290612a09906129f7906224ea009060ff16615a6b565b60dc546001600160801b031690612999565b612a139084615a0d565b60d554919061297b565b91505090565b610c668133614dc8565b5f612a366129ad565b90508060d55f828254612a499190615a58565b909155505060da805464ffffffff0019166101004263ffffffff811691909102919091179091556040519081527fe24d78f24f27ad7740c08c83f439e4c144df201bfd8f5c4c93e3e0898248b1bb9060200160405180910390a190565b60cb5460dd5460df5460d45460d5546040805142815260208101969096528501939093526060840191909152608083015260a08201527f7a71b92e3ef471c5ad18359e076f3df1c563d92e9ea1e33aa4761dbbc9b7ae409060c0015b60405180910390a1565b828202811515841585830485141716612b23575f80fd5b6001826001830304018115150290509392505050565b5f680248ce36a70cb26b3e198213612b5257505f919050565b680755bf798b4a1bf1e58212612b66575f80fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60975460ff1615611c06575f80fd5b60e354600160a01b900460ff1615611c065760405163b2ce2a9360e01b815260040160405180910390fd5b5f612cf46224ea0086615b76565b15612d0157506001612d54565b428511612d1057506002612d54565b612d2060ff85166224ea00615a6b565b612d2d6224ea0042615b76565b612d379042615a58565b612d419190615a0d565b851115612d5057506004612d54565b5060035b826004811115612d6657612d66615b89565b816004811115612d7857612d78615b89565b14158015612da85750816004811115612d9357612d93615b89565b816004811115612da557612da5615b89565b14155b15612974575f826004811115612dc057612dc0615b89565b03612e1457806004811115612dd757612dd7615b89565b836004811115612de957612de9615b89565b604051631a71301d60e11b815260ff9283166004820152911660248201526044015b60405180910390fd5b806004811115612e2657612e26615b89565b836004811115612e3857612e38615b89565b836004811115612e4a57612e4a615b89565b604051637f2cef9960e01b815260ff938416600482015291831660248301529091166044820152606401612e0b565b60d45460dd545f919082612e8d82846130ad565b60da549091505f90612edf9061119390612eb490600160281b900463ffffffff1642615a58565b60db5460d3546301e13380916001600160a01b031690637c21fb1d90889061271b908b908d906130c5565b9050612eeb8185615a0d565b9350612f0260e2548261299990919063ffffffff16565b945084612f0f8285615a0d565b612f199190615a58565b60dd5560d484905560da805468ffffffff00000000001916600160281b4263ffffffff8116919091029190911790915560408051918252602082018490527f582b129106eba35020853cdae92ceb413a0227befcce433b67b23a630219b35f910160405180910390a15050505090565b8015610c665760e154612fad906001600160a01b0316612fa8836127a0565b61358a565b8060dd5f828254612fbe9190615a0d565b909155505050565b60038201545f904283111561301a576002840154426003860181905561300390612ff1908490615a58565b612ffb8487615a58565b83919061297b565b925061300f8382615a58565b60028601555061303d565b828103613029575f915061303d565b600384018390556002840180545f90915591505b5092915050565b81545f90816130538483615a0d565b905061306c613066838760010154614e0e565b826141f7565b6130769082615a58565b9455509192915050565b5f811580159061308f57508383115b613099575f61177b565b61177b826130a78686615a58565b90614e1c565b5f825f036130bb575f611077565b6110778284614e1c565b5f835f036130d3575f61177b565b61177b846130a78486615a0d565b5f6110778383670de0b6b3a7640000612b0c565b336001600160a01b038316146119a9576001600160a01b0382165f90815260cd602090815260408083203384529091529020545f19811461186457613139826110e9565b6131439082615a58565b6001600160a01b0384165f90815260cd60209081526040808320338452909152902055505050565b5f825f036131805750600160201b8117610f39565b63ffffffff8316808310156131fd575f6224ea0061319e8584615a58565b6131a89190615b9d565b90506131b681610100615a58565b85901c156131d75760405163293cc41f60e21b815260040160405180910390fd5b6131e2816020615a0d565b602086901c901b9450848417600160201b1792505050610f39565b5f6224ea0061320c8386615a58565b6132169190615b9d565b905060df81111561323a5760405163293cc41f60e21b815260040160405180910390fd5b613245816020615a0d565b6001901b851792505050610f39565b5f8061326b60e2548461299990919063ffffffff16565b905061327681612f89565b6110778184615a58565b5f8082156132b4576132af61329d61329787614e30565b856141f7565b6132a79085615a58565b85908561297b565b6132b6565b5f5b90506132c28185615a58565b9150935093915050565b805f036132d65750565b60e254156132e757610c6681612f89565b8060d55f828254612fbe9190615a0d565b5f81815260d160209081526040918290206002015482514281529182015282917fa2e6044136bec58e0605f40ac11a7bf87f1a8bdf3e2588b11b2cfae5acd9109f910160405180910390a250565b5f60405163a9059cbb60e01b5f526001600160a01b0384166004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f606052806040525080613391575f80fd5b50505050565b7f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c6001600160a01b031663c22a4a856040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134179190615bb0565b6001600160a01b031663babcc539826040518263ffffffff1660e01b81526004016134429190615713565b602060405180830381865afa15801561345d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134819190615bcb565b610c66578060405163fa5cd00f60e01b8152600401612e0b9190615713565b5f6134a9614084565b80602001905181019061177b9190615bcb565b6134c68282611c88565b6119a9575f8281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556134fd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b336001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c1614611c06576040516317568c8f60e21b815260040160405180910390fd5b6119a98282614e4e565b61359c612cac565b6135a4612cbb565b60e75460cb546135b49083615a0d565b11156135d357604051638a164f6360e01b815260040160405180910390fd5b6135db613f5d565b5f6135e4612e79565b90505f6135ef612a2d565b90506135fb8482615a0d565b60dd5f82825461360b9190615a0d565b9091555061361a905082612f89565b613391612aa6565b5f61362b612cac565b613633612cbb565b835f03613653576040516356316e8760e01b815260040160405180910390fd5b60da5461366790869060ff1660035f612ce6565b5f85815260d1602052604081209061367f8288612fc6565b905061368c61120a612e79565b8060dd5f82825461369d9190615a0d565b909155506136a89050565b60d754604080516080810182528454815260018501546020820152600285015491810191909152600384015460608201525f9182916136e8918a90614eb0565b90925090506136f78289615a0d565b94508685101561371a57604051632c1b6b4160e21b815260040160405180910390fd5b6137248489614f01565b60d35f8282546137349190615a58565b9091555061374490508183615a0d565b846002015f8282546137569190615a58565b925050819055508060d55f82825461376e9190615a0d565b90915550505f89815260cf602090815260408083206001600160a01b038a168452909152812080549091036137c3576001600160a01b0387165f90815260d26020526040902080546137c0908c61316b565b90555b6001600160a01b0387165f90815260e46020526040812080548b92906137ea908490615a0d565b909155505060e580548a91905f90613803908490615a0d565b90915550508054899082905f9061381b908490615a0d565b9250508190555082816001015f8282546138359190615a0d565b9091555050604080518a8152602081018590526001600160a01b0389169133918d917fd9900507c64720c1a5e11858a42769b599616268b832495aa6afe8b9dc566e76910160405180910390a461388a612aa6565b6138938a6132f8565b6138c86001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029131633308c614f27565b5050505050949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60c96040516139069190615be6565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6139788282611c88565b156119a9575f8281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f6139dd612cac565b60da546139f290869060ff1660036002612ce6565b613a00858585856001614f7f565b9050613a0a612aa6565b61177b6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291316333084614f27565b613a476152ea565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051612b029190615713565b5f613a8a612cac565b6001600160a01b0384163303613ab3576040516344511af160e01b815260040160405180910390fd5b613abb612a2d565b60dd5f828254613acb9190615a0d565b909155505060405163042dcf6b60e31b81526001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c169063216e7b5890613b22903090869089908990600401615c82565b602060405180830381865afa158015613b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b619190615b00565b9250825f03613b835760405163685e923560e01b815260040160405180910390fd5b6001600160a01b0384165f90815260d2602090815260409091206001810154909181901c9063ffffffff165b8115801590613bbd57508515155b15613cca576001821615613caf575f81421015613bf457613be18288898b5f614f7f565b9050613bed8188615a58565b9650613ca1565b5f82815260d0602090815260408083206001600160a01b038c168452909152812060018101548154613c269190615a0d565b9150505f613c4d60d6548542613c3c9190615a58565b613c469190615a6b565b8390612999565b613c579083615a0d565b9050888111613c665788613c71565b613c7189838361297b565b9250825f03613c82575f9850613c9e565b613c8f84848b8d5f614f7f565b9250613c9b838a615a58565b98505b50505b613cab8186615a0d565b9450505b60019190911c90613cc36224ea0082615a0d565b9050613baf565b50508315801590613cde5750600281015415155b15613d13575f613ced8561221d565b90508015613d11575f613d0082886142cb565b509050613d0d8185615a0d565b9350505b505b5f807f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c6001600160a01b0316636e1b003130878a886040518563ffffffff1660e01b8152600401613d679493929190615c82565b6040805180830381865afa158015613d81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613da59190615cac565b915091508160d55f828254613dba9190615a0d565b90915550613e0190503330613dcf8588615a0d565b6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291316929190614f27565b306001600160a01b03861603613e2257613e1d3033898461454f565b613e87565b60405163b2a02ff160e01b81526001600160a01b0386169063b2a02ff190613e529033908b908690600401615b52565b5f604051808303815f87803b158015613e69575f80fd5b505af1158015613e7b573d5f803e3d5ffd5b50505050613e87612aa6565b60408051858152602081018490529081018290526001600160a01b03808716919089169033907f67bb48f97d82192848c24158abf58ec614777328e19655e0a219652b773fd1db9060600160405180910390a46040516311fd52e160e01b81526001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c16906311fd52e190613f26908a90600401615713565b5f604051808303815f87803b158015613f3d575f80fd5b505af1158015613f4f573d5f803e3d5ffd5b505050505050509392505050565b613f65611108565b60de5560da805463ffffffff60481b1916600160481b4263ffffffff1602179055565b5f613f92836127a0565b9050805f03613f9f575f80fd5b613fd46001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291316333086614f27565b613fde828261358a565b60408051848152602081018390526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a3610f398382613594565b5f80614038612cac565b61404284846142cb565b909250905061404f612aa6565b611b6a6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291316333085614f27565b60605f807f0000000000000000000000008d30d7a11f4f24f19d75b1fc87dbae6ba5fb588e6001600160a01b03165f366040516140c2929190615cce565b5f60405180830381855af49150503d805f81146140fa576040519150601f19603f3d011682016040523d82523d5f602084013e6140ff565b606091505b509150915081610f3957805181602001fd5b61413b7f5358bcfd81d1ef3da152b1755e1c3c6739686fa7e83dbcad0071568cc4b73a6333611c88565b15801561416f575061416d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611c88565b155b15611c0657604051631d006fdb60e31b815260040160405180910390fd5b614195612cac565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613a743390565b815460018301545f91906141de8483615a58565b85556119286141ed83836141f7565b6132979084615a58565b5f8183106142055781611077565b5090919050565b5f82158061421f575081600160201b1783145b1561422b57505f610f39565b63ffffffff831680830361429957602184901c60015b6001821615801561425157508115155b1561426257600191821c9101614241565b602061426e8282615a0d565b9690961c90951b94856142846224ea0083615a6b565b61428e9087615a0d565b179350505050610f39565b6224ea006142a78285615a58565b6142b19190615b9d565b6142bc906020615a0d565b6001901b198416915050610f39565b5f806142d861120a612e79565b6001600160a01b0383165f90815260d26020526040902060028101546142fe86826141f7565b925061430983611a3d565b9350835f0361432b5760405163685e923560e01b815260040160405180910390fd5b8360d45f82825461433c9190615a58565b9091555061434c90508382615a58565b82600201819055508260df5f8282546143659190615a58565b909155505060408051858152602081018590526001600160a01b0387169133917fe4a1ae657f49cb1fb1c7d3a94ae6093565c4c8c0e03de488f79c377c3c3a24e0910160405180910390a350509250929050565b5f6143c3836120e4565b90506143fa6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291316333084614f27565b614404828461358a565b60408051828152602081018590526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a3610f398184613594565b5f61445d612cac565b5f614466615542565b614472888888876149b6565b99509194509250905061448584846130f5565b61449382828a8a8888614c55565b836001600160a01b0316856001600160a01b0316897fe57dbac0e7c42ad5f3b0fadb9c065565377cf771054fca70d35c96e01f9ec53c338b886040516144db93929190615b17565b60405180910390a461165b6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913168685613346565b5f614520614084565b8060200190518101906110779190615bcb565b5f8061453d612cac565b6140426145498561221d565b846142cb565b805f0361456f5760405163b8cb621960e01b815260040160405180910390fd5b60405163070b773960e51b81526001600160a01b037f0000000000000000000000000aeb0bcb919858c0a4dcec3eed879985034a597c169063e16ee720906145bd9087903090600401615b38565b5f6040518083038186803b1580156145d3575f80fd5b505afa1580156145e5573d5f803e3d5ffd5b505050505f6145f3826110e9565b90506145ff82826148c3565b614609838261493c565b60408051838152602081018390526001600160a01b03808616929087169133915f80516020615d81833981519152910160405180910390a4826001600160a01b0316846001600160a01b03167f9e2db63c5a9dc5d08222447d76570029e4f2f3074c8aa4f1c511fa658506c7108460405161468691815260200190565b60405180910390a3614696612aa6565b6129746001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913168584613346565b5f6146d4846110e9565b9050336001600160a01b03831614614741576001600160a01b0382165f90815260cd602090815260408083203384529091529020545f19811461473f5761471b8282615a58565b6001600160a01b0384165f90815260cd602090815260408083203384529091529020555b505b61474b84826148c3565b614755828261493c565b60408051858152602081018390526001600160a01b03808516929086169133915f80516020615d81833981519152910160405180910390a46110776001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913168486613346565b5f336001600160a01b0383161461482d576001600160a01b0382165f90815260cd602090815260408083203384529091529020545f19811461482b576148078582615a58565b6001600160a01b0384165f90815260cd602090815260408083203384529091529020555b505b61483684611a70565b9050805f03614843575f80fd5b61484d81856148c3565b614857828561493c565b60408051828152602081018690526001600160a01b03808516929086169133915f80516020615d81833981519152910160405180910390a46110776001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913168483613346565b6148cb612cac565b6148d3613f5d565b6148de61120a612e79565b5f6148e7612a2d565b90505f838260dd546148f99190615a0d565b6149039190615a58565b90508060d45460d3546149169190615a0d565b111561493457604051622d41ad60e31b815260040160405180910390fd5b60dd55505050565b6001600160a01b0382165f90815260cc602052604081208054839290614963908490615a58565b909155505060cb805482900390556040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b5f806149c0615542565b5f865f036149e15760405163b8cb621960e01b815260040160405180910390fd5b60da546149f690899060ff1660036002612ce6565b5f88815260d1602052604090209250614a1061120a612e79565b614a1a8389612fc6565b60dd5f828254614a2a9190615a0d565b90915550614a359050565b5f88815260cf602090815260408083206001600160a01b038916845282529182902082518084019093528054808452600190910154918301829052919350614a7c91615a0d565b8711614a885786614a99565b60208201518251614a999190615a0d565b90505f614ad5614acd836040518060400160405280875f0151815260200187602001518152506152f890919063ffffffff16565b518590615333565b60d354614ae29190615a0d565b905060dd5460d45482614af59190615a0d565b1115614b1357604051622d41ad60e31b815260040160405180910390fd5b60d35542881115614c25575f614b27611108565b90505f60d45490505f60d35490505f60db5f9054906101000a90046001600160a01b03166001600160a01b031663d9d9048d8d60da5f9054906101000a900460ff16614b7b8b600101548c5f01548a613080565b614b8589896130ad565b614b908a8a8a6130c5565b6040518663ffffffff1660e01b8152600401614bb0959493929190615ada565b602060405180830381865afa158015614bcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614bef9190615b00565b9050614c1a614c01611391428f615a58565b614c1390670de0b6b3a7640000615a0d565b8690615377565b975050505050614c29565b8093505b85841015614c4a57604051632c1b6b4160e21b815260040160405180910390fd5b945094509450949050565b5f80614ca1614c6c614c678588615a58565b613254565b604080516080810182528b54815260018c0154602082015260028c01549181019190915260038b015460608201529085613280565b9150915081886002015f828254614cb89190615a0d565b90915550614cc79050816132cc565b86515f614cd4898861538b565b51614cdf9083615a58565b6001600160a01b0387165f90815260e46020526040812080549293508392909190614d0b908490615a58565b909155505060e580548291905f90614d24908490615a58565b9091555050505060208701518751175f03614d7d575f86815260cf602090815260408083206001600160a01b0388168452825280832083815560010183905560d290915290208054614d76908861420c565b9055614dad565b5f86815260cf602090815260408083206001600160a01b0388168452825290912088518155908801516001909101555b614db5612aa6565b614dbe866132f8565b5050505050505050565b614dd28282611c88565b6119a957614ddf816153de565b614dea8360206153f0565b604051602001614dfb929190615cf4565b6040516020818303038152906040525f80fd5b5f8183116142055781611077565b5f61107783670de0b6b3a764000084612b0c565b805160208201515f9190614e4482826141f7565b61177b9083615a58565b8060cb5f828254614e5f9190615a0d565b90915550506001600160a01b0382165f81815260cc60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016149aa565b5f805f614ebc86614e30565b90508015614ef857614edd614ed186836141f7565b6040880151908361297b565b9250614ee98385612999565b9150614ef58284615a58565b92505b50935093915050565b815460018301545f9190614f158482615a0d565b60018601556119286141ed83836141f7565b5f6040516323b872dd60e01b5f526001600160a01b0385166004526001600160a01b0384166024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f606052806040525080612974575f80fd5b5f845f03614fa05760405163685e923560e01b815260040160405180910390fd5b5f86815260d16020526040812090614fb88289612fc6565b9050614fc561120a612e79565b8060dd5f828254614fd69190615a0d565b90915550505f88815260d0602090815260408083206001600160a01b038916845282528083208151808301909252805480835260019091015492820183905290929161502c918b9161502791615a0d565b6141f7565b6040805180820190915283518152602080850151908201529091505f9061505390836152f8565b5190508a42101561511e5760d754604080516080810182528754815260018801546020820152600288015491810191909152600387015460608201525f91829161509e918590614eb0565b90925090506150ad8183615a0d565b876002015f8282546150bf9190615a58565b909155505088156150f2578060d55f8282546150db9190615a0d565b909155506150eb90508285615a58565b9750615117565b6150fc8183615a0d565b60d55f82825461510c9190615a0d565b925050819055508397505b505061515b565b60d65461512f90613c3c8d42615a58565b6151399083615a0d565b95506151458287615a58565b60d55f8282546151559190615a0d565b90915550505b8886111561517c57604051632c1b6b4160e21b815260040160405180910390fd5b61518685826141ca565b60d35f8282546151969190615a58565b909155505082516151a7848461538b565b516151b29082615a58565b6001600160a01b038a165f90815260e460205260408120600101805492945084929091906151e1908490615a58565b909155505060e680548391905f906151fa908490615a58565b909155505060208401518451175f0361525a575f8c815260d0602090815260408083206001600160a01b038d1684528252808320838155600190810184905560d29092529091209081015461524f908e61420c565b60019091015561528a565b5f8c815260d0602090815260408083206001600160a01b038d168452825290912085518155908501516001909101555b60408051888152602081018590526001600160a01b038b169133918f917ff17fce321dd9fb005136a80c0bfb3789e455b7a70be9eb8922f1ad20a80d1a33910160405180910390a46152db8c6132f8565b50505050505095945050505050565b60975460ff16611c06575f80fd5b615300615542565b825160208401515f91615317916122349082615a0d565b80855290506153268184615a58565b6020850152509192915050565b815460018301545f9190826153488583615a58565b905061535481846141f7565b61535e83856141f7565b6153689190615a58565b60019096015550929392505050565b5f61107783670de0b6b3a76400008461297b565b615393615542565b602083015183515f916153a591615a0d565b90505f6153b28483615a58565b85519091506153c39082908461297b565b8086526153d09082615a58565b602086015250929392505050565b6060610f396001600160a01b03831660145b60605f6153fe836002615a6b565b615409906002615a0d565b67ffffffffffffffff81111561542157615421615d43565b6040519080825280601f01601f19166020018201604052801561544b576020820181803683370190505b509050600360fc1b815f8151811061546557615465615d57565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061549357615493615d57565b60200101906001600160f81b03191690815f1a9053505f6154b5846002615a6b565b6154c0906001615a0d565b90505b6001811115615537576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106154f4576154f4615d57565b1a60f81b82828151811061550a5761550a615d57565b60200101906001600160f81b03191690815f1a90535060049490941c9361553081615d6b565b90506154c3565b508315611077575f80fd5b60405180604001604052805f81526020015f81525090565b6001600160a01b0381168114610c66575f80fd5b5f6020828403121561557e575f80fd5b81356110778161555a565b5f60208284031215615599575f80fd5b81356001600160e01b031981168114611077575f80fd5b80356001600160801b03811681146155c6575f80fd5b919050565b5f602082840312156155db575f80fd5b611077826155b0565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215615629575f80fd5b5035919050565b5f8060408385031215615641575f80fd5b823561564c8161555a565b946020939093013593505050565b5f805f805f60a0868803121561566e575f80fd5b853594506020860135935060408601359250606086013561568e8161555a565b9150608086013561569e8161555a565b809150509295509295909350565b5f805f606084860312156156be575f80fd5b83356156c98161555a565b925060208401356156d98161555a565b929592945050506040919091013590565b803560ff811681146155c6575f80fd5b5f6020828403121561570a575f80fd5b611077826156ea565b6001600160a01b0391909116815260200190565b5f8060408385031215615738575f80fd5b82359150602083013561574a8161555a565b809150509250929050565b5f805f8060808587031215615768575f80fd5b84359350602085013592506040850135915060608501356157888161555a565b939692955090935050565b6001600160801b0391909116815260200190565b5f805f606084860312156157b9575f80fd5b83356157c48161555a565b92506020840135915060408401356157db8161555a565b809150509250925092565b5f80604083850312156157f7575f80fd5b50508035926020909101359150565b8015158114610c66575f80fd5b5f60208284031215615823575f80fd5b813561107781615806565b80356155c68161555a565b5f805f805f805f805f805f6101408c8e031215615854575f80fd5b8b3567ffffffffffffffff81111561586a575f80fd5b8c01601f81018e1361587a575f80fd5b803567ffffffffffffffff811115615890575f80fd5b8e60208284010111156158a1575f80fd5b60209182019c509a506158b5908d016156ea565b985060408c013597506158ca60608d016155b0565b96506158d860808d0161582e565b955060a08c0135945060c08c013593506158f460e08d016155b0565b9a9d999c50979a969995989497509295919493610100830135935061012090920135919050565b5f805f6060848603121561592d575f80fd5b83359250602084013561593f8161555a565b915060408401356157db8161555a565b5f805f805f805f60e0888a031215615965575f80fd5b87356159708161555a565b965060208801356159808161555a565b9550604088013594506060880135935061599c608089016156ea565b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156159ca575f80fd5b82356159d58161555a565b9150602083013561574a8161555a565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610f3957610f396159f9565b600181811c90821680615a3457607f821691505b602082108103615a5257634e487b7160e01b5f52602260045260245ffd5b50919050565b81810381811115610f3957610f396159f9565b8082028115828204841417610f3957610f396159f9565b5f600160ff1b8201615a9657615a966159f9565b505f0390565b8181035f83128015838313168383128216171561303d5761303d6159f9565b6001600160801b038281168282160390811115610f3957610f396159f9565b94855260ff93909316602085015260408401919091526060830152608082015260a00190565b5f60208284031215615b10575f80fd5b5051919050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f82615b8457615b846159e5565b500690565b634e487b7160e01b5f52602160045260245ffd5b5f82615bab57615bab6159e5565b500490565b5f60208284031215615bc0575f80fd5b81516110778161555a565b5f60208284031215615bdb575f80fd5b815161107781615806565b5f8083545f8160011c90506001821680615c0157607f821691505b602082108103615c1f57634e487b7160e01b5f52602260045260245ffd5b808015615c335760018114615c4857615c76565b60ff1984168752821515830287019450615c76565b5f888152602090205f5b84811015615c6e57815489820152600190910190602001615c52565b505082870194505b50929695505050505050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b5f8060408385031215615cbd575f80fd5b505080516020909101519092909150565b818382375f9101908152919050565b5f81518060208401855e5f93019283525090919050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81525f615d1f6017830185615cdd565b7001034b99036b4b9b9b4b733903937b6329607d1b81526119286011820185615cdd565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f81615d7957615d796159f9565b505f19019056fefbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8dba2646970667358221220ddb46d3c5709b3089b90c544359756a91e9ebc04255c1d42eacdadfc7b7118e064736f6c634300081a0033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.