ETH Price: $2,234.66 (+2.22%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x61012060195551322024-03-31 16:43:23740 days ago1711903403  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Similar Match: 0x6950F419...e4165CD5c
Constructor

Contract Name

CreditManagerV3_USDT

Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled
Yes with 1000 runs
Other Settings
london EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_addressProvider","type":"address"},{"internalType":"address","name":"_pool","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ActiveCreditAccountNotSetException","type":"error"},{"inputs":[],"name":"ActiveCreditAccountOverridenException","type":"error"},{"inputs":[],"name":"AllowanceFailedException","type":"error"},{"inputs":[],"name":"CallerNotAdapterException","type":"error"},{"inputs":[],"name":"CallerNotConfiguratorException","type":"error"},{"inputs":[],"name":"CallerNotCreditFacadeException","type":"error"},{"inputs":[],"name":"CloseAccountWithNonZeroDebtException","type":"error"},{"inputs":[],"name":"CreditAccountDoesNotExistException","type":"error"},{"inputs":[],"name":"DebtToZeroWithActiveQuotasException","type":"error"},{"inputs":[],"name":"DebtUpdatedTwiceInOneBlockException","type":"error"},{"inputs":[],"name":"IncorrectParameterException","type":"error"},{"inputs":[],"name":"InsufficientRemainingFundsException","type":"error"},{"inputs":[],"name":"NotEnoughCollateralException","type":"error"},{"inputs":[],"name":"SafeTransferFromFailed","type":"error"},{"inputs":[],"name":"TargetContractNotAllowedException","type":"error"},{"inputs":[],"name":"TokenAlreadyAddedException","type":"error"},{"inputs":[],"name":"TokenNotAllowedException","type":"error"},{"inputs":[],"name":"TooManyEnabledTokensException","type":"error"},{"inputs":[],"name":"TooManyTokensException","type":"error"},{"inputs":[],"name":"UpdateQuotaOnZeroDebtAccountException","type":"error"},{"inputs":[],"name":"ZeroAddressException","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newConfigurator","type":"address"}],"name":"SetCreditConfigurator","type":"event"},{"inputs":[],"name":"accountFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"adapterToContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addCollateral","outputs":[{"internalType":"uint256","name":"tokensToEnable","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"addToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addressProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveCreditAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"enum CollateralCalcTask","name":"task","type":"uint8"}],"name":"calcDebtAndCollateral","outputs":[{"components":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"cumulativeIndexNow","type":"uint256"},{"internalType":"uint256","name":"cumulativeIndexLastUpdate","type":"uint256"},{"internalType":"uint128","name":"cumulativeQuotaInterest","type":"uint128"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"accruedFees","type":"uint256"},{"internalType":"uint256","name":"totalDebtUSD","type":"uint256"},{"internalType":"uint256","name":"totalValue","type":"uint256"},{"internalType":"uint256","name":"totalValueUSD","type":"uint256"},{"internalType":"uint256","name":"twvUSD","type":"uint256"},{"internalType":"uint256","name":"enabledTokensMask","type":"uint256"},{"internalType":"uint256","name":"quotedTokensMask","type":"uint256"},{"internalType":"address[]","name":"quotedTokens","type":"address[]"},{"internalType":"address","name":"_poolQuotaKeeper","type":"address"}],"internalType":"struct CollateralDebtData","name":"cdd","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"name":"closeCreditAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenMask","type":"uint256"}],"name":"collateralTokenByMask","outputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collateralTokensCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contractToAdapter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"creditAccountInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"cumulativeIndexLastUpdate","type":"uint256"},{"internalType":"uint128","name":"cumulativeQuotaInterest","type":"uint128"},{"internalType":"uint128","name":"quotaFees","type":"uint128"},{"internalType":"uint256","name":"enabledTokensMask","type":"uint256"},{"internalType":"uint16","name":"flags","type":"uint16"},{"internalType":"uint64","name":"lastDebtUpdate","type":"uint64"},{"internalType":"address","name":"borrower","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"creditAccounts","outputs":[{"internalType":"address[]","name":"result","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creditAccounts","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creditAccountsLen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creditConfigurator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creditFacade","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"name":"enabledTokensMaskOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"name":"externalCall","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fees","outputs":[{"internalType":"uint16","name":"_feeInterest","type":"uint16"},{"internalType":"uint16","name":"_feeLiquidation","type":"uint16"},{"internalType":"uint16","name":"_liquidationDiscount","type":"uint16"},{"internalType":"uint16","name":"_feeLiquidationExpired","type":"uint16"},{"internalType":"uint16","name":"_liquidationDiscountExpired","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"name":"flagsOf","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"uint256","name":"enabledTokensMask","type":"uint256"},{"internalType":"uint256[]","name":"collateralHints","type":"uint256[]"},{"internalType":"uint16","name":"minHealthFactor","type":"uint16"},{"internalType":"bool","name":"useSafePrices","type":"bool"}],"name":"fullCollateralCheck","outputs":[{"internalType":"uint256","name":"enabledTokensMaskAfter","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getActiveCreditAccountOrRevert","outputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"name":"getBorrowerOrRevert","outputs":[{"internalType":"address","name":"borrower","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenMask","type":"uint256"}],"name":"getTokenByMask","outputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenMaskOrRevert","outputs":[{"internalType":"uint256","name":"tokenMask","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"uint16","name":"minHealthFactor","type":"uint16"}],"name":"isLiquidatable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"components":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"cumulativeIndexNow","type":"uint256"},{"internalType":"uint256","name":"cumulativeIndexLastUpdate","type":"uint256"},{"internalType":"uint128","name":"cumulativeQuotaInterest","type":"uint128"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"accruedFees","type":"uint256"},{"internalType":"uint256","name":"totalDebtUSD","type":"uint256"},{"internalType":"uint256","name":"totalValue","type":"uint256"},{"internalType":"uint256","name":"totalValueUSD","type":"uint256"},{"internalType":"uint256","name":"twvUSD","type":"uint256"},{"internalType":"uint256","name":"enabledTokensMask","type":"uint256"},{"internalType":"uint256","name":"quotedTokensMask","type":"uint256"},{"internalType":"address[]","name":"quotedTokens","type":"address[]"},{"internalType":"address","name":"_poolQuotaKeeper","type":"address"}],"internalType":"struct CollateralDebtData","name":"collateralDebtData","type":"tuple"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bool","name":"isExpired","type":"bool"}],"name":"liquidateCreditAccount","outputs":[{"internalType":"uint256","name":"remainingFunds","type":"uint256"},{"internalType":"uint256","name":"loss","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"liquidationThresholds","outputs":[{"internalType":"uint16","name":"lt","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"ltParams","outputs":[{"internalType":"uint16","name":"ltInitial","type":"uint16"},{"internalType":"uint16","name":"ltFinal","type":"uint16"},{"internalType":"uint40","name":"timestampRampStart","type":"uint40"},{"internalType":"uint24","name":"rampDuration","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"enabledTokensMask","type":"uint256"},{"internalType":"enum ManageDebtAction","name":"action","type":"uint8"}],"name":"manageDebt","outputs":[{"internalType":"uint256","name":"newDebt","type":"uint256"},{"internalType":"uint256","name":"tokensToEnable","type":"uint256"},{"internalType":"uint256","name":"tokensToDisable","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxEnabledTokens","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"}],"name":"openCreditAccount","outputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolQuotaKeeper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quotedTokensMask","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"components":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"address","name":"token","type":"address"}],"internalType":"struct RevocationPair[]","name":"revocations","type":"tuple[]"}],"name":"revokeAdapterAllowances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"}],"name":"setActiveCreditAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint16","name":"ltInitial","type":"uint16"},{"internalType":"uint16","name":"ltFinal","type":"uint16"},{"internalType":"uint40","name":"timestampRampStart","type":"uint40"},{"internalType":"uint24","name":"rampDuration","type":"uint24"}],"name":"setCollateralTokenData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adapter","type":"address"},{"internalType":"address","name":"targetContract","type":"address"}],"name":"setContractAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creditConfigurator","type":"address"}],"name":"setCreditConfigurator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creditFacade","type":"address"}],"name":"setCreditFacade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_feeInterest","type":"uint16"},{"internalType":"uint16","name":"_feeLiquidation","type":"uint16"},{"internalType":"uint16","name":"_liquidationDiscount","type":"uint16"},{"internalType":"uint16","name":"_feeLiquidationExpired","type":"uint16"},{"internalType":"uint16","name":"_liquidationDiscountExpired","type":"uint16"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"uint16","name":"flag","type":"uint16"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFlagFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_maxEnabledTokens","type":"uint8"}],"name":"setMaxEnabledTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_priceOracle","type":"address"}],"name":"setPriceOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_quotedTokensMask","type":"uint256"}],"name":"setQuotedMask","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"quotaChange","type":"int96"},{"internalType":"uint96","name":"minQuota","type":"uint96"},{"internalType":"uint96","name":"maxQuota","type":"uint96"}],"name":"updateQuota","outputs":[{"internalType":"uint256","name":"tokensToEnable","type":"uint256"},{"internalType":"uint256","name":"tokensToDisable","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creditAccount","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"withdrawCollateral","outputs":[{"internalType":"uint256","name":"tokensToDisable","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061036d5760003560e01c8063741f3e3c116101d3578063d5c2f48611610104578063f206d32a116100a2578063f9f0ca661161007c578063f9f0ca661461099f578063fa30b30f146109cb578063fdd57645146109de578063ff68754314610a0757600080fd5b8063f206d32a14610966578063f30ba49914610979578063f9aa028a1461098c57600080fd5b8063e0f83824116100de578063e0f838241461092f578063e2f1490f14610938578063eb23d33e1461094b578063f13d0fc61461095e57600080fd5b8063d5c2f486146108f6578063dc2b21c114610909578063e09357a41461091c57600080fd5b806386dfa53611610171578063be8da14b1161014b578063be8da14b146108b5578063c53afb1e146108bd578063c544cf7d146108d0578063d48bfca7146108e357600080fd5b806386dfa536146108215780639af1d35a14610834578063acb0e845146108a257600080fd5b806380213c74116101ad57806380213c74146107a8578063830aa745146107bb5780638340e24d146107ce578063845104de146107f157600080fd5b8063741f3e3c146107675780637687f6701461076f578063783274381461078257600080fd5b806334878f54116102ad57806352c5fe111161024b5780635a6f45de116102255780635a6f45de146106de578063604ca15f146106f1578063687cd9c1146107195780636f307dc31461074057600080fd5b806352c5fe111461068d578063530e784f146106c257806354fd4d50146106d557600080fd5b8063432017e811610287578063432017e81461062557806343fe7bbe14610653578063458936f5146106665780634fc0e3a81461067a57600080fd5b806334878f541461051f5780633c5bc3b2146105275780633d7e5dc41461060457600080fd5b80632954018c1161031a5780632f232138116102f45780632f232138146104975780632f7a1881146104aa5780633031b01a146104c25780633201de4c146104d557600080fd5b80632954018c1461042a5780632c521c06146104515780632c9db6f11461047757600080fd5b806312ef080d1161034b57806312ef080d146103c357806316f0115b146103d85780632630c12f1461041757600080fd5b806306fdde031461037257806309c5eabe146103905780630d334ca6146103a3575b600080fd5b61037a610a30565b604051610387919061438f565b60405180910390f35b61037a61039e3660046143e4565b610abe565b6103b66103b1366004614446565b610b0e565b60405161038791906144c7565b6103d66103d13660046145a3565b610c46565b005b6103ff7f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e81565b6040516001600160a01b039091168152602001610387565b6002546103ff906001600160a01b031681565b6103ff7f0000000000000000000000009ea7b04da02a5373317d745c1571c84aad03321d81565b60025461046590600160a01b900460ff1681565b60405160ff9091168152602001610387565b61048a6104853660046145f4565b610c82565b6040516103879190614616565b6103d66104a536600461463b565b610d5d565b6000546103ff9061010090046001600160a01b031681565b6103d66104d03660046146ba565b610e82565b6104e86104e3366004614742565b610f6b565b6040805161ffff958616815294909316602085015264ffffffffff9091169183019190915262ffffff166060820152608001610387565b6103ff610fff565b6105a6610535366004614742565b60096020526000908152604090208054600182015460028301546003840154600490940154929391926001600160801b0380831693600160801b90930416919061ffff81169062010000810467ffffffffffffffff16906a010000000000000000000090046001600160a01b031688565b6040805198895260208901979097526001600160801b0395861696880196909652939092166060860152608085015261ffff1660a084015267ffffffffffffffff1660c08301526001600160a01b031660e082015261010001610387565b610617610612366004614778565b61104f565b604051908152602001610387565b61063861063336600461482a565b611143565b60408051938452602084019290925290820152606001610387565b6103ff610661366004614742565b6114ff565b60025461046590600160a81b900460ff1681565b6103ff610688366004614878565b61161f565b6106a061069b366004614878565b611633565b604080516001600160a01b03909316835261ffff909116602083015201610387565b6103d66106d0366004614742565b61164a565b61061761012d81565b6106176106ec366004614891565b611681565b6107046106ff3660046148f3565b6116f6565b60408051928352602083019190915201610387565b6103ff7f000000000000000000000000444cd42baeddeb707eed823f7177b9abcc779c0481565b6103ff7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b61048a61191b565b6103d661077d366004614742565b61192c565b610795610790366004614742565b611a76565b60405161ffff9091168152602001610387565b6103d66107b636600461495d565b611a97565b6106176107c93660046145a3565b611b8f565b6107e16107dc36600461498b565b611be3565b6040519015158152602001610387565b6107956107ff366004614742565b6001600160a01b031660009081526009602052604090206004015461ffff1690565b6103d661082f366004614878565b611c5d565b61086d60025460035461ffff600160c01b8304811693600160d01b8404821693600160e01b8104831693600160f01b9091048316921690565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a001610387565b6103d66108b0366004614742565b611c6e565b6103ff611cb5565b6103ff6108cb366004614742565b611d39565b6103d66108de3660046149c0565b611da1565b6103d66108f1366004614742565b611e2e565b610617610904366004614742565b611e42565b6103d6610917366004614a09565b611ec0565b6103d661092a366004614742565b611f03565b61061760045481565b610704610946366004614a2c565b611fd0565b61037a610959366004614a9c565b6122ba565b6106176122fc565b6103d6610974366004614b01565b612308565b6103d6610987366004614742565b6123e5565b6001546103ff906001600160a01b031681565b6106176109ad366004614742565b6001600160a01b031660009081526009602052604090206003015490565b6103d66109d9366004614b66565b612444565b6103ff6109ec366004614742565b6008602052600090815260409020546001600160a01b031681565b6103ff610a15366004614742565b6007602052600090815260409020546001600160a01b031681565b600c8054610a3d90614b92565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6990614b92565b8015610ab65780601f10610a8b57610100808354040283529160200191610ab6565b820191906000526020600020905b815481529060010190602001808311610a9957829003601f168201915b505050505081565b6060610ac861247b565b6000805460ff19166002178155610add6124f1565b90506000610ae9610fff565b9050610af781838787612541565b925050506000805460ff1916600117905592915050565b610b92604051806101c0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160006001600160a01b031681525090565b6002826004811115610ba657610ba6614bcc565b03610bdd576040517f47fbaa9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006004836004811115610bf357610bf3614bcc565b03610c0057506003915060015b610c0984611d39565b506060610c3d85610c32876001600160a01b031660009081526009602052604090206003015490565b8361271088876125bb565b95945050505050565b610c4e61247b565b6000805460ff19166002179055610c63612a31565b610c6f84848484612a7a565b50506000805460ff191660011790555050565b60606000610c90600a612a9f565b9050600081610c9f8587614bf8565b11610caa5783610cc3565b818511610cc057610cbb8583614c0b565b610cc3565b60005b90508067ffffffffffffffff811115610cde57610cde614c1e565b604051908082528060200260200182016040528015610d07578160200160208202803683370190505b50925060005b81811015610d5457610d22600a878301612aa9565b848281518110610d3457610d34614c34565b6001600160a01b0390921660209283029190910190910152600101610d0d565b50505092915050565b610d65612abc565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0316856001600160a01b031603610dbd576002805461ffff60b01b1916600160b01b61ffff871602179055610e7b565b6000610dc886611e42565b600090815260056020526040902080547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b61ffff8881169190910261ffff60b01b191691909117600160b01b918716919091021777ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b64ffffffffff8616027cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1617600160e81b62ffffff851602179055505b5050505050565b610e8a61247b565b6000805460ff19166002179055610e9f612a31565b8060005b81811015610f57576000848483818110610ebf57610ebf614c34565b610ed59260206040909202019081019150614742565b90506000858584818110610eeb57610eeb614c34565b9050604002016020016020810190610f039190614742565b90506001600160a01b0382161580610f2257506001600160a01b038116155b15610f4057604051635919af9760e11b815260040160405180910390fd5b610f4d8782846000612a7a565b5050600101610ea3565b50506000805460ff19166001179055505050565b6000806000806000610f7c86611e42565b600090815260056020908152604091829020825160a08101845290546001600160a01b0381168252600160a01b810461ffff908116938301849052600160b01b820416938201849052600160c01b810464ffffffffff1660608301819052600160e81b90910462ffffff1660809092018290529199929850909650945092505050565b6003546201000090046001600160a01b0316600019810161104c576040517f5cd6b24400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b90565b600061105961247b565b6000805460ff1916600217905561106e612a31565b60006110b488888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a9250600291508990506125bb565b905061271061ffff168461ffff168260c001516110d19190614c4a565b6110db9190614c77565b8161012001511015611119576040517f532e7bb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806101400151915061112b8883612b00565b506000805460ff191660011790559695505050505050565b600080600061115061247b565b6000805460ff19166002179055611165612a31565b6001600160a01b03871660009081526009602052604090206004810154436201000090910467ffffffffffffffff16036111b2576040516345a1354d60e11b815260040160405180910390fd5b866000036111c957549250600091508190506114e5565b606060006111ff8a8984612710858c60018111156111e9576111e9614bcc565b146111f55760016111f8565b60005b60006125bb565b905060008088600181111561121657611216614bcc565b0361124b576112338a836000015184602001518560400151612b71565b90975090506112428a8c612bfd565b600195506114b0565b600061125e61125984612c9c565b612cbf565b9050808b1061126b57809a505b6112c06001600160a01b038d167f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec77f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e8e612cca565b600080828d036112f5575050602083015160a08401516002870180546001600160801b03169055600099509092508890611367565b61133c6113018e612d53565b86516020880151604089015160608a015160028d8101549054600160801b9091046001600160801b031690600160c01b900461ffff16612d5e565b60028c0180546001600160801b03928316600160801b029216919091179055929c5090955090925090505b610180850151511561141857896000036113ad576040517f51bb745d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846101a001516001600160a01b0316630db1b8ca8f8761018001516040518363ffffffff1660e01b81526004016113e5929190614c8b565b600060405180830381600087803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b505050505b845161143190611429908c90614c0b565b826000612fdc565b61143c826001614cad565b8760020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060016114a28f7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b031661308290919063ffffffff16565b116114ac57600197505b5050505b86845560048401805469ffffffffffffffff00001916620100004367ffffffffffffffff160217905560019093019290925550505b6000805460ff191660011790559196909550909350915050565b60008161150b816130dc565b61151361247b565b6000805460ff19166002179055611528612a31565b6040517f21d1845600000000000000000000000000000000000000000000000000000000815260006004820181905260248201527f000000000000000000000000444cd42baeddeb707eed823f7177b9abcc779c046001600160a01b0316906321d18456906044016020604051808303816000875af11580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190614ccd565b6001600160a01b0381166000908152600960205260409020605085901b60048201556001600282015590925061160a600a84613103565b50506000805460ff1916600117905550919050565b600061162c826000613118565b5092915050565b600080611641836001613118565b91509150915091565b611652612abc565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061168b61247b565b6000805460ff191660021790556116a0612a31565b60006116ab85611e42565b90506116c26001600160a01b038716868587612cca565b60016116d76001600160a01b03871688613082565b116116e0578091505b506000805460ff19166001179055949350505050565b60008061170161247b565b6000805460ff19166002179055611716612a31565b6001600160a01b03871660009081526009602052604081208054909103611769576040517f2032806600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600080611777611cb5565b6040517f604ca15f0000000000000000000000000000000000000000000000000000000081526001600160a01b038e811660048301528d81166024830152600b8d900b60448301526bffffffffffffffffffffffff808d1660648401528b166084830152919091169063604ca15f9060a4016080604051808303816000875af1158015611808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182c9190614cff565b9350935093509350811561184a576118438b611e42565b965061185c565b801561185c576118598b611e42565b95505b60028501805485919060009061187c9084906001600160801b0316614cad565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826001600160801b03166000146118fc57828560020160108282829054906101000a90046001600160801b03166118d79190614cad565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b50506000805460ff191660011790555092989197509095505050505050565b6060611927600a6131e0565b905090565b61193461247b565b6000805460ff19166002179055611949612a31565b6001600160a01b038116600090815260096020526040902080541561199a576040517f3216f22100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600482810182905560038301919091556040517f89b77b3e0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000444cd42baeddeb707eed823f7177b9abcc779c0416916389b77b3e91611a1e918691016001600160a01b0391909116815260200190565b600060405180830381600087803b158015611a3857600080fd5b505af1158015611a4c573d6000803e3d6000fd5b50505050611a6482600a6131ed90919063ffffffff16565b50506000805460ff1916600117905550565b600080611a8283611e42565b9050611a8f816001613118565b949350505050565b611a9f612abc565b6001600160a01b038116301480611abe57506001600160a01b03821630145b15611af5576040517ffc1a554300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03821615611b40576001600160a01b038281166000908152600760205260409020805473ffffffffffffffffffffffffffffffffffffffff19169183169190911790555b6001600160a01b03811615611b8b576001600160a01b038181166000908152600860205260409020805473ffffffffffffffffffffffffffffffffffffffff19169184169190911790555b5050565b6000611b9961247b565b6000805460ff19166002179055611bae612a31565b611bb783611e42565b9050611bce6001600160a01b038416868685613202565b6000805460ff19166001179055949350505050565b6000611bee83611d39565b5060606000611c2485611c19876001600160a01b031660009081526009602052604090206003015490565b8487600260006125bb565b905061271061ffff168461ffff168260c00151611c419190614c4a565b611c4b9190614c77565b81610120015110925050505b92915050565b611c65612abc565b60011916600455565b611c76612abc565b600080546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b60007f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e6001600160a01b031663be8da14b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119279190614ccd565b6001600160a01b038082166000908152600960205260409020600401546a010000000000000000000090041680611d9c576040517f309d150100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b611da961247b565b6000805460ff19166002179055611dbe612a31565b8015611dfa576001600160a01b0383166000908152600960205260409020600401805461ffff8481169082161761ffff19909116179055611a64565b6001600160a01b0383166000908152600960205260409020600401805461ffff841982161661ffff19909116179055611a64565b611e36612abc565b611e3f8161329c565b50565b60007f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0316826001600160a01b031603611e8557506001919050565b506001600160a01b03811660009081526006602052604081205490819003611d9c5760405163700ca0af60e01b815260040160405180910390fd5b611ec8612abc565b6002805460ff909216600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b611f0b61247b565b6000805460ff19166002179055611f20612a31565b6003546201000090046001600160a01b0316600114801590611f4c57506001600160a01b038116600114155b15611f83576040517f44a8a06500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff9092169190911790556000805460ff19166001179055565b600080611fdb61247b565b6000805460ff19166002179055611ff0612a31565b60008060006120578661201057600254600160d01b900461ffff1661201f565b600254600160f01b900461ffff165b8761203757600254600160e01b900461ffff1661203f565b60035461ffff165b612cbf612d5361204e8d614e42565b939291906133f5565b96509194509250905061206e610180890189614f24565b1590506120fa576120876101c089016101a08a01614742565b6001600160a01b031663fcde5ddc8a6120a46101808c018c614f24565b600089116040518563ffffffff1660e01b81526004016120c79493929190614f6e565b600060405180830381600087803b1580156120e157600080fd5b505af11580156120f5573d6000803e3d6000fd5b505050505b8215612155576121556001600160a01b038a167f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec77f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e86612cca565b61216188358286612fdc565b60006121728a8a61014001356134c9565b9096509050828610156121b1576040517f67016e2d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121bf848803836135d5565b90508015612202576121fc6001600160a01b038c167f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b84612cca565b80870396505b506001600160a01b038a1660009081526009602052604090206004810154436201000090910467ffffffffffffffff1603612250576040516345a1354d60e11b815260040160405180910390fd5b6000815560048101805469ffffffffffffffff00001916620100004367ffffffffffffffff160217905561228e6101408b01356101608c0135191690565b6003820155600160029091018190556000805460ff191690911790555093989297509195505050505050565b60606122c461247b565b6000805460ff191660021790556122d9612a31565b6122e585858585612541565b90506000805460ff19166001179055949350505050565b6000611927600a612a9f565b612310612abc565b600280547fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b61ffff978816027fffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffff1617600160d01b95871695909502949094177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b938616939093027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217600160f01b91851691909102179091556003805461ffff191691909216179055565b6123ed612abc565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fd87efcee33ed285df83ed2ffd66f67c15e0ecf17eb1f1705adae3ae2f1778da090600090a250565b61244c61247b565b6000805460ff191660021781556124616124f1565b9050600061246d610fff565b9050610c6f81858486612a7a565b60005460ff16600119016124ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b565b336000908152600760205260409020546001600160a01b03168061104c576040517f5535a8f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051631cff79cd60e01b81526060906001600160a01b03861690631cff79cd9061257490879087908790600401614fd6565b6000604051808303816000875af1158015612593573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c3d9190810190615015565b61263f604051806101c0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160006001600160a01b031681525090565b6001600160a01b038088166000908152600960209081526040918290208054855260018101548584015282517ffaaba9e2000000000000000000000000000000000000000000000000000000008152925190937f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e169263faaba9e29260048083019391928290030181865afa1580156126dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270091906150a9565b6020830152600084600481111561271957612719614bcc565b036127245750612a27565b6101408201879052612734611cb5565b6001600160a01b03166101a08301819052606090612757908a908a908a906135eb565b6101608701526001600160801b039182166060870152610180860192909252600284015491925061278b91600191166150c2565b8360600181815161279c9190614cad565b6001600160801b03169052508251604084015160208501516127bf929190613842565b60808401819052600254612710916127e291600160c01b900461ffff1690614c4a565b6127ec9190614c77565b600283015461280b9190600160801b90046001600160801b0316614bf8565b60a084015260608301516080840180516001600160801b0390921691612832908390614bf8565b90525060025460608401516127109161285791600160c01b90910461ffff16906150e2565b6128619190615105565b6001600160801b03168360a00181815161287b9190614bf8565b905250600185600481111561289257612892614bcc565b0361289e575050612a27565b6002546001600160a01b031660006128b861125986612c9c565b905080156128f5576128eb82827f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7613874565b60c0860152612917565b600287600481111561290957612909614bcc565b036129175750505050612a27565b506000600287600481111561292e5761292e614bcc565b1461293b5760001961295d565b60c0850151612710906129539061ffff8b1690614c4a565b61295d9190614c77565b905060006129ab8c7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7848d886131188d6129995761387461299d565b6139035b8d969594939291908b6139d8565b610120890191909152610100880191909152905080198b1661014087015260028860048111156129dd576129dd614bcc565b036129ec575050505050612a27565b612a1c838761010001517f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7613aa0565b60e087015250505050505b9695505050505050565b60005461010090046001600160a01b031633146124ef576040517f0c1d6a3f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a8383611e42565b50612a996001600160a01b038516848484613af2565b50505050565b6000611c57825490565b6000612ab58383613b22565b9392505050565b6001546001600160a01b031633146124ef576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254600160a01b900460ff16612b1a6001198316613b4c565b1115612b52576040517f30b5495c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03909116600090815260096020526040902060030155565b60008084600003612b86575084905082612bf4565b612b908686614bf8565b9150612ba086633b9aca00614c4a565b8386612bb087633b9aca00614c4a565b612bba9190614c4a565b612bc49190614c77565b612bce9190614bf8565b633b9aca00612bdd8487614c4a565b612be79190614c4a565b612bf19190614c77565b90505b94509492505050565b6040517fbf28068b000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0382811660248301527f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e169063bf28068b90604401600060405180830381600087803b158015612c8057600080fd5b505af1158015612c94573d6000803e3d6000fd5b505050505050565b60a08101516080820151825160009291612cb591614bf8565b611c579190614bf8565b6000611c5782613b66565b6040517fd1660f990000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015283811660248301526044820183905285169063d1660f9990606401600060405180830381600087803b158015612d3557600080fd5b505af1158015612d49573d6000803e3d6000fd5b5050505050505050565b6000611c5782613b96565b6000808080808b6001600160801b03881615612da657876001600160801b0316811115612d9d576001600160801b038816935060009150839003612da6565b92505081860360005b6001600160801b03891615801590612dbd57508015155b15612e9a576000612710612dd561ffff8a168c6150e2565b612ddf9190615105565b6001600160801b03169050808a6001600160801b0316612dff9190614bf8565b8210612e3957612e18816001600160801b038c16614bf8565b612e229083614c0b565b9150612e2e8186614bf8565b945060009350612e94565b6000612e478961271061512b565b61ffff16612e5761271085614c4a565b612e619190614c77565b9050612e6d8184614c0b565b612e779087614bf8565b955060009250612e90816001600160801b038d16614c0b565b9450505b50612e9e565b8892505b8015612fbc576000612eb18d8c8e613842565b90506000612710612ec661ffff8b1684614c4a565b612ed09190614c77565b9050612edc8183614bf8565b8310612f0c57612eec8183614bf8565b612ef69084614c0b565b9250612f028187614bf8565b95508c9650612fb5565b6000612f1a8a61271061512b565b61ffff16612f2a61271086614c4a565b612f349190614c77565b9050612f408185614c0b565b612f4a9088614bf8565b9650600093508e8d612f6083633b9aca00614c4a565b612f6a9190614c4a565b612f749190614c77565b612f828f633b9aca00614c4a565b612f8c9190614c0b565b8d8f633b9aca00612f9d9190614c4a565b612fa79190614c4a565b612fb19190614c77565b9750505b5050612fc0565b8994505b612fca818d614c0b565b95505097509750975097509792505050565b6040517fca9505e40000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604481018290527f00000000000000000000000005a811275fe9b4de503b3311f51edf6a856d936e6001600160a01b03169063ca9505e490606401600060405180830381600087803b15801561306557600080fd5b505af1158015613079573d6000803e3d6000fd5b50505050505050565b7f70a08231000000000000000000000000000000000000000000000000000000006000818152600483905290602082602481875afa600051925060203d10811517156130d4576040513d6000823e3d81fd5b505092915050565b6001600160a01b038116611e3f57604051635919af9760e11b815260040160405180910390fd5b6000612ab5836001600160a01b038416613bc6565b60008060018403613161577f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79150821561315c5750600254600160b01b900461ffff165b6131d9565b600084815260056020526040902080546001600160a01b03811693508361319b5760405163700ca0af60e01b815260040160405180910390fd5b84156131d65761ffff60a082901c81169060b083901c1664ffffffffff60c084901c1660e884901c6131cf84848484613c15565b9650505050505b50505b9250929050565b60606000612ab583613c6c565b6000612ab5836001600160a01b038416613cc8565b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af19150508015613260573d801561325657600160005114601f3d1116915061325e565b6000873b1191505b505b80612c94576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b191690565b6001600160a01b038116600090815260066020526040902054156132ec576040517f2e5a5c7700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff600160a81b909104811610613332576040517f7e050c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280546001600160a01b039092166000818152600660209081526040808320600160ff600160a81b98899004811682901b928390559185526005909352922080547fffffff0000000000ffffffff0000000000000000000000000000000000000000169093177cffffffffff0000000000000000000000000000000000000000000000001790925582548481048216909201169092027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b60008060008061340489612c9c565b9350600089608001518a6000015161341c9190614bf8565b60e08b0151909150600061271061343761ffff8c1684614c4a565b6134419190614c77565b905061271061345461ffff8d1684614c4a565b61345e9190614c77565b6134689088614bf8565b96506000613479888b63ffffffff16565b90508082111561348d57808203965061349f565b508061349c8163ffffffff8b16565b97505b8388106134b05783880395506134b6565b87840394505b8097505050505095509550955095915050565b6000806134ff6001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec71685613082565b91508190506001198316600081900361351857506131d9565b6002546001600160a01b031660005b821561358d57600061353884615146565b8416938418939050600061354b8261161f565b905060006135626001600160a01b0383168b613082565b9050600181111561358557613578858284613874565b6135829085614bf8565b93505b505050613527565b80156135cb576135be82827f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7613aa0565b6135c89086614bf8565b94505b5050509250929050565b60008183106135e45781612ab5565b5090919050565b600454606090600090829086811680840361360a575060009250613837565b60008061361683613b4c565b90508067ffffffffffffffff81111561363157613631614c1e565b60405190808252806020026020018201604052801561365a578160200160208202803683370190505b5096508067ffffffffffffffff81111561367657613676614c1e565b60405190808252806020026020018201604052801561369f578160200160208202803683370190505b5089519095506000908c5b8515613830576000828410156136f0578c5160018501948e9181106136d1576136d1614c34565b602002602001015190508087166000036136eb57506136aa565b6136f9565b86600003871690505b600080613707836001613118565b915091506000808f6001600160a01b031663f3ef181387866040518363ffffffff1660e01b81526004016137519291906001600160a01b0392831681529116602082015260400190565b6040805180830381865afa15801561376d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613791919061517e565b91506bffffffffffffffffffffffff169150838f8b815181106137b6576137b6614c34565b6001600160a01b03909216602092830291909101909101526bffffffffffffffffffffffff8216606084901b6dffff00000000000000000000000016178d8b8151811061380557613805614c34565b60209081029190910101529c8d019c6001909901986138248b86191690565b9a5050505050506136aa565b5050505050505b945094509450949050565b60008360000361385457506000612ab5565b83836138608483614c4a565b61386a9190614c77565b611a8f9190614c0b565b6040517ff9a65030000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0382811660248301526000919085169063f9a65030906044015b602060405180830381865afa1580156138df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f91906150a9565b60007f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0316826001600160a01b0316146139cd576040517f553552fe000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03838116602483015285169063553552fe90604401602060405180830381865afa1580156139a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139c891906150a9565b611a8f565b611a8f848484613874565b60008060008b610180015151600014613a3b576000613a08856b033b2e3c9fd0803ce80000008d8963ffffffff16565b9050613a1e8d6101800151898e848e8b8b613dbb565b9094509250898310613a34575060009050613a91565b828a039950505b6000613a5a8d61016001518e610140015161329790919063ffffffff16565b9050600080613a6e8e8d8d8b8d888d613ea8565b95509092509050613a7f8287614bf8565b9550613a8b8186614bf8565b94505050505b99509950999650505050505050565b6040517f7afb0104000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03828116602483015260009190851690637afb0104906044016138c2565b613b00848484846000613f76565b612a9957613b1384848460006001613f76565b50610e7b848484846001613f76565b6000826000018281548110613b3957613b39614c34565b9060005260206000200154905092915050565b60005b8115611d9c57600019820190911690600101613b4f565b600080613b716140c8565b905080600003613b82575090919050565b612ab581613b8e61414c565b8591906141ac565b600080613ba16140c8565b905080600003613bb2575090919050565b612ab581613bbe61414c565b8591906141f9565b6000818152600183016020526040812054613c0d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611c57565b506000611c57565b600080613c2762ffffff8416856151ad565b90508364ffffffffff164211613c405785915050611a8f565b8064ffffffffff16421015613c6357613c5b8686868461422b565b915050611a8f565b84915050611a8f565b606081600001805480602002602001604051908101604052809291908181526020018280548015613cbc57602002820191906000526020600020905b815481526020019060010190808311613ca8575b50505050509050919050565b60008181526001830160205260408120548015613db1576000613cec600183614c0b565b8554909150600090613d0090600190614c0b565b9050818114613d65576000866000018281548110613d2057613d20614c34565b9060005260206000200154905080876000018481548110613d4357613d43614c34565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613d7657613d766151cb565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611c57565b6000915050611c57565b86516000908190815b81811015613e995760008b8281518110613de057613de0614c34565b60200260200101519050600080613e238d8581518110613e0257613e02614c34565b60200260200101516bffffffffffffffffffffffff81169160609190911c90565b909250905060006b033b2e3c9fd0803ce8000000613e418d85614c4a565b613e4b9190614c77565b9050600080613e5e8f8d8d898888614292565b509092509050613e6e828b614bf8565b9950613e7a818a614bf8565b98505050505050878410613e9057505050613e9c565b50600101613dc4565b50505b97509795505050505050565b8451600090819081908a825b8715613f6657600083821015613efb578b8281518110613ed657613ed6614c34565b60200260200101519050816001019150808916600003613ef65750613eb4565b613f09565b613f0489615146565b891690505b6000806000613f1b868f8f878f614301565b94509092509050613f2c828b614bf8565b9950613f38818a614bf8565b985050508015613f55578d8710613f50575050613f66565b613f5a565b948117945b50199790971696613eb4565b5050509750975097945050505050565b604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529151631cff79cd60e01b8152600092881691631cff79cd916140119189916004016151e1565b6000604051808303816000875af192505050801561405157506040513d6000823e601f3d908101601f1916820160405261404e9190810190615015565b60015b1561408457805115806140735750808060200190518101906140739190615203565b15614082576001915050610c3d565b505b81156140bc576040517f2f10a7f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600095945050505050565b60007f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b031663dd644f726040518163ffffffff1660e01b8152600401602060405180830381865afa158015614128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192791906150a9565b60007f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec76001600160a01b031663353907146040518163ffffffff1660e01b8152600401602060405180830381865afa158015614128573d6000803e3d6000fd5b6000806141bb84612710614c0b565b6141c58587614c4a565b6141cf9190614c77565b90506141db83826135d5565b9050841981116141ed57808501610c3d565b60001995945050505050565b6000806127106142098587614c4a565b6142139190614c77565b905061421f83826135d5565b9050610c3d8186614c0b565b60006142378383615220565b64ffffffffff168364ffffffffff16426142519190614c0b565b61425f9061ffff8716614c4a565b6142704264ffffffffff8616614c0b565b61427e9061ffff8916614c4a565b6142889190614bf8565b610c3d9190614c77565b60008080806142aa6001600160a01b0388168b613082565b905060018111156142f4576142c78860018303898c63ffffffff16565b93506142ed6127106142dd61ffff891687614c4a565b6142e79190614c77565b866135d5565b9250600191505b5096509650969350505050565b60008060008060006143188760018a63ffffffff16565b9150915061432c8a8a888585600019614292565b919c909b50909950975050505050505050565b60005b8381101561435a578181015183820152602001614342565b50506000910152565b6000815180845261437b81602086016020860161433f565b601f01601f19169290920160200192915050565b602081526000612ab56020830184614363565b60008083601f8401126143b457600080fd5b50813567ffffffffffffffff8111156143cc57600080fd5b6020830191508360208285010111156131d957600080fd5b600080602083850312156143f757600080fd5b823567ffffffffffffffff81111561440e57600080fd5b61441a858286016143a2565b90969095509350505050565b6001600160a01b0381168114611e3f57600080fd5b8035611d9c81614426565b6000806040838503121561445957600080fd5b823561446481614426565b915060208301356005811061447857600080fd5b809150509250929050565b600081518084526020808501945080840160005b838110156144bc5781516001600160a01b031687529582019590820190600101614497565b509495945050505050565b602081528151602082015260208201516040820152604082015160608201526000606083015161450260808401826001600160801b03169052565b50608083015160a083015260a083015160c083015260c083015160e083015260e08301516101008181850152808501519150506101208181850152808501519150506101408181850152808501519150506101608181850152808501519150506101808181850152808501519150506101c06101a0818186015261458a6101e0860184614483565b9501516001600160a01b03169301929092525090919050565b600080600080608085870312156145b957600080fd5b84356145c481614426565b935060208501356145d481614426565b925060408501356145e481614426565b9396929550929360600135925050565b6000806040838503121561460757600080fd5b50508035926020909101359150565b602081526000612ab56020830184614483565b803561ffff81168114611d9c57600080fd5b600080600080600060a0868803121561465357600080fd5b853561465e81614426565b945061466c60208701614629565b935061467a60408701614629565b9250606086013564ffffffffff8116811461469457600080fd5b9150608086013562ffffff811681146146ac57600080fd5b809150509295509295909350565b6000806000604084860312156146cf57600080fd5b83356146da81614426565b9250602084013567ffffffffffffffff808211156146f757600080fd5b818601915086601f83011261470b57600080fd5b81358181111561471a57600080fd5b8760208260061b850101111561472f57600080fd5b6020830194508093505050509250925092565b60006020828403121561475457600080fd5b8135612ab581614426565b8015158114611e3f57600080fd5b8035611d9c8161475f565b60008060008060008060a0878903121561479157600080fd5b863561479c81614426565b955060208701359450604087013567ffffffffffffffff808211156147c057600080fd5b818901915089601f8301126147d457600080fd5b8135818111156147e357600080fd5b8a60208260051b85010111156147f857600080fd5b60208301965080955050505061481060608801614629565b915061481e6080880161476d565b90509295509295509295565b6000806000806080858703121561484057600080fd5b843561484b81614426565b9350602085013592506040850135915060608501356002811061486d57600080fd5b939692955090935050565b60006020828403121561488a57600080fd5b5035919050565b600080600080608085870312156148a757600080fd5b84356148b281614426565b935060208501356148c281614426565b925060408501359150606085013561486d81614426565b6bffffffffffffffffffffffff81168114611e3f57600080fd5b600080600080600060a0868803121561490b57600080fd5b853561491681614426565b9450602086013561492681614426565b93506040860135600b81900b811461493d57600080fd5b9250606086013561494d816148d9565b915060808601356146ac816148d9565b6000806040838503121561497057600080fd5b823561497b81614426565b9150602083013561447881614426565b6000806040838503121561499e57600080fd5b82356149a981614426565b91506149b760208401614629565b90509250929050565b6000806000606084860312156149d557600080fd5b83356149e081614426565b92506149ee60208501614629565b915060408401356149fe8161475f565b809150509250925092565b600060208284031215614a1b57600080fd5b813560ff81168114612ab557600080fd5b60008060008060808587031215614a4257600080fd5b8435614a4d81614426565b9350602085013567ffffffffffffffff811115614a6957600080fd5b85016101c08188031215614a7c57600080fd5b92506040850135614a8c81614426565b9150606085013561486d8161475f565b60008060008060608587031215614ab257600080fd5b8435614abd81614426565b93506020850135614acd81614426565b9250604085013567ffffffffffffffff811115614ae957600080fd5b614af5878288016143a2565b95989497509550505050565b600080600080600060a08688031215614b1957600080fd5b614b2286614629565b9450614b3060208701614629565b9350614b3e60408701614629565b9250614b4c60608701614629565b9150614b5a60808701614629565b90509295509295909350565b60008060408385031215614b7957600080fd5b8235614b8481614426565b946020939093013593505050565b600181811c90821680614ba657607f821691505b602082108103614bc657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115611c5757611c57614be2565b81810381811115611c5757611c57614be2565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417611c5757611c57614be2565b634e487b7160e01b600052601260045260246000fd5b600082614c8657614c86614c61565b500490565b6001600160a01b0383168152604060208201526000611a8f6040830184614483565b6001600160801b0381811683821601908082111561162c5761162c614be2565b600060208284031215614cdf57600080fd5b8151612ab581614426565b6001600160801b0381168114611e3f57600080fd5b60008060008060808587031215614d1557600080fd5b8451614d2081614cea565b6020860151909450614d3181614cea565b6040860151909350614d428161475f565b606086015190925061486d8161475f565b6040516101c0810167ffffffffffffffff81118282101715614d7757614d77614c1e565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614da657614da6614c1e565b604052919050565b8035611d9c81614cea565b600082601f830112614dca57600080fd5b8135602067ffffffffffffffff821115614de657614de6614c1e565b8160051b614df5828201614d7d565b9283528481018201928281019087851115614e0f57600080fd5b83870192505b84831015614e37578235614e2881614426565b82529183019190830190614e15565b979650505050505050565b60006101c08236031215614e5557600080fd5b614e5d614d53565b823581526020830135602082015260408301356040820152614e8160608401614dae565b60608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152506101208084013581830152506101408084013581830152506101608084013581830152506101808084013567ffffffffffffffff811115614efa57600080fd5b614f0636828701614db9565b8284015250506101a0614f1a81850161443b565b9082015292915050565b6000808335601e19843603018112614f3b57600080fd5b83018035915067ffffffffffffffff821115614f5657600080fd5b6020019150600581901b36038213156131d957600080fd5b6001600160a01b03858116825260606020808401829052908301859052600091869160808501845b88811015614fbd578435614fa981614426565b841682529382019390820190600101614f96565b5080945050505050821515604083015295945050505050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60006020828403121561502757600080fd5b815167ffffffffffffffff8082111561503f57600080fd5b818401915084601f83011261505357600080fd5b81518181111561506557615065614c1e565b615078601f8201601f1916602001614d7d565b915080825285602082850101111561508f57600080fd5b6150a081602084016020860161433f565b50949350505050565b6000602082840312156150bb57600080fd5b5051919050565b6001600160801b0382811682821603908082111561162c5761162c614be2565b6001600160801b038181168382160280821691908281146130d4576130d4614be2565b60006001600160801b038084168061511f5761511f614c61565b92169190910492915050565b61ffff81811683821601908082111561162c5761162c614be2565b60007f8000000000000000000000000000000000000000000000000000000000000000820361517757615177614be2565b5060000390565b6000806040838503121561519157600080fd5b825161519c816148d9565b602084015190925061447881614cea565b64ffffffffff81811683821601908082111561162c5761162c614be2565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b0383168152604060208201526000611a8f6040830184614363565b60006020828403121561521557600080fd5b8151612ab58161475f565b64ffffffffff82811682821603908082111561162c5761162c614be256fea26469706673582212202db7e6254a8241b4a50e910ee73e30b69ed2765972708e9cedf6f75991e62ea764736f6c63430008110033
🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.