Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 19 from a total of 19 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Propose Owner | 19514604 | 102 days ago | IN | 0 ETH | 0.00153583 | ||||
Set Loans Periph... | 19514488 | 102 days ago | IN | 0 ETH | 0.0016498 | ||||
Claim Ownership | 19514453 | 102 days ago | IN | 0 ETH | 0.00102649 | ||||
Propose Owner | 17538778 | 379 days ago | IN | 0 ETH | 0.00100808 | ||||
Set Loans Periph... | 17538649 | 379 days ago | IN | 0 ETH | 0.00074241 | ||||
Claim Ownership | 17538524 | 379 days ago | IN | 0 ETH | 0.00079838 | ||||
Propose Owner | 17538147 | 379 days ago | IN | 0 ETH | 0.00165972 | ||||
Set Loans Periph... | 17537950 | 379 days ago | IN | 0 ETH | 0.00115357 | ||||
Set Loans Periph... | 17374645 | 402 days ago | IN | 0 ETH | 0.00209665 | ||||
Set Loans Periph... | 17239787 | 421 days ago | IN | 0 ETH | 0.00374824 | ||||
Set Loans Periph... | 16836004 | 478 days ago | IN | 0 ETH | 0.0014111 | ||||
Set Loans Periph... | 16694506 | 498 days ago | IN | 0 ETH | 0.00154178 | ||||
Set Loans Periph... | 16422854 | 536 days ago | IN | 0 ETH | 0.00100915 | ||||
Set Loans Periph... | 16422840 | 536 days ago | IN | 0 ETH | 0.0009501 | ||||
Set Loans Periph... | 16422128 | 536 days ago | IN | 0 ETH | 0.00141257 | ||||
Set Loans Periph... | 16124456 | 577 days ago | IN | 0 ETH | 0.0008847 | ||||
Set Loans Periph... | 16121399 | 578 days ago | IN | 0 ETH | 0.00047343 | ||||
Set Loans Periph... | 15888650 | 610 days ago | IN | 0 ETH | 0.00214672 | ||||
0x34613509 | 15888637 | 610 days ago | IN | Create: Vyper_contract | 0 ETH | 0.10496741 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.6
Contract Source Code (Vyper language format)
# @version ^0.3.6 # Interfaces interface ILoansPeripheral: def lendingPoolPeripheralContract() -> address: view interface ILendingPoolPeripheral: def erc20TokenContract() -> address: view # Structs struct Collateral: contractAddress: address tokenId: uint256 amount: uint256 struct Loan: id: uint256 amount: uint256 interest: uint256 # parts per 10000, e.g. 2.5% is represented by 250 parts per 10000 maturity: uint256 startTime: uint256 collaterals: DynArray[Collateral, 100] paidPrincipal: uint256 paidInterestAmount: uint256 started: bool invalidated: bool paid: bool defaulted: bool canceled: bool struct TopStats: highestSingleCollateralLoan: Loan highestCollateralBundleLoan: Loan highestRepayment: Loan highestDefaultedLoan: Loan # Events event OwnerProposed: ownerIndexed: indexed(address) proposedOwnerIndexed: indexed(address) owner: address proposedOwner: address erc20TokenContract: address event OwnershipTransferred: ownerIndexed: indexed(address) proposedOwnerIndexed: indexed(address) owner: address proposedOwner: address erc20TokenContract: address event LoansPeripheralAddressSet: erc20TokenContractIndexed: indexed(address) currentValue: address newValue: address erc20TokenContract: address # Global variables owner: public(address) proposedOwner: public(address) loansPeripheral: public(address) loans: HashMap[address, DynArray[Loan, 2**16]] borrowedAmount: public(HashMap[address, uint256]) ongoingLoans: public(HashMap[address, uint256]) # key: bytes32 == _abi_encoded(token_address, token_id) -> map(borrower_address, loan_id) collateralsInLoans: public(HashMap[bytes32, HashMap[address, uint256]]) # given a collateral and a borrower, what is the loan id collateralsInLoansUsed: public(HashMap[bytes32, HashMap[address, HashMap[uint256, bool]]]) # given a collateral, a borrower and a loan id, is the collateral still used in that loan id collateralKeys: DynArray[bytes32, 2**20] # array of collaterals expressed by their keys collateralsUsed: public(HashMap[bytes32, bool]) # given a collateral, is it being used in a loan collateralsData: public(HashMap[bytes32, Collateral]) # given a collateral key, what is its data collateralsIdsByAddress: HashMap[address, DynArray[uint256, 2**20]] # given a collateral address, what are the token ids that were already in a loan collectionsBorrowedAmount: public(HashMap[address, uint256]) # Stats topStats: TopStats ##### INTERNAL METHODS ##### @view @internal def _isLoanCreated(_borrower: address, _loanId: uint256) -> bool: return _loanId < len(self.loans[_borrower]) @view @internal def _isLoanStarted(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].started return False @view @internal def _isLoanInvalidated(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].invalidated return False @pure @internal def _computeCollateralKey(_collateralAddress: address, _collateralId: uint256) -> bytes32: return keccak256(_abi_encode(_collateralAddress, convert(_collateralId, bytes32))) @internal def _addCollateralToLoan(_borrower: address, _collateral: Collateral, _loanId: uint256): key: bytes32 = self._computeCollateralKey(_collateral.contractAddress, _collateral.tokenId) self.collateralsInLoans[key][_borrower] = _loanId self.collateralsInLoansUsed[key][_borrower][_loanId] = True @internal def _removeCollateralFromLoan(_borrower: address, _collateral: Collateral, _loanId: uint256): key: bytes32 = self._computeCollateralKey(_collateral.contractAddress, _collateral.tokenId) self.collateralsInLoansUsed[key][_borrower][_loanId] = False @internal def _updateCollaterals(_collateral: Collateral, _toRemove: bool): key: bytes32 = self._computeCollateralKey(_collateral.contractAddress, _collateral.tokenId) if key not in self.collateralKeys and not _toRemove: self.collateralKeys.append(key) self.collateralsUsed[key] = True self.collateralsData[key] = _collateral elif key in self.collateralKeys: self.collateralsUsed[key] = not _toRemove if _collateral.tokenId not in self.collateralsIdsByAddress[_collateral.contractAddress] and not _toRemove: self.collateralsIdsByAddress[_collateral.contractAddress].append(_collateral.tokenId) @internal def _addLoan(_borrower: address, _loan: Loan) -> bool: if _loan.id == len(self.loans[_borrower]): self.loans[_borrower].append(_loan) self.ongoingLoans[_borrower] += 1 return True return False ##### EXTERNAL METHODS ##### @external def __init__(): self.owner = msg.sender @external def proposeOwner(_address: address): assert msg.sender == self.owner, "msg.sender is not the owner" assert _address != empty(address), "_address it the zero address" assert self.owner != _address, "proposed owner addr is the owner" assert self.proposedOwner != _address, "proposed owner addr is the same" self.proposedOwner = _address log OwnerProposed( self.owner, _address, self.owner, _address, ILendingPoolPeripheral( ILoansPeripheral(self.loansPeripheral).lendingPoolPeripheralContract() ).erc20TokenContract() ) @external def claimOwnership(): assert msg.sender == self.proposedOwner, "msg.sender is not the proposed" log OwnershipTransferred( self.owner, self.proposedOwner, self.owner, self.proposedOwner, ILendingPoolPeripheral( ILoansPeripheral(self.loansPeripheral).lendingPoolPeripheralContract() ).erc20TokenContract() ) self.owner = self.proposedOwner self.proposedOwner = empty(address) @external def setLoansPeripheral(_address: address): assert msg.sender == self.owner, "msg.sender is not the owner" assert _address != empty(address), "_address is the zero address" assert _address != self.loansPeripheral, "new loans addr is the same" log LoansPeripheralAddressSet( ILendingPoolPeripheral( ILoansPeripheral(_address).lendingPoolPeripheralContract() ).erc20TokenContract(), self.loansPeripheral, _address, ILendingPoolPeripheral( ILoansPeripheral(_address).lendingPoolPeripheralContract() ).erc20TokenContract() ) self.loansPeripheral = _address @view @external def isLoanCreated(_borrower: address, _loanId: uint256) -> bool: return self._isLoanCreated(_borrower, _loanId) @view @external def isLoanStarted(_borrower: address, _loanId: uint256) -> bool: return self._isLoanStarted(_borrower, _loanId) @view @external def getLoanAmount(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].amount return 0 @view @external def getLoanMaturity(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].maturity return 0 @view @external def getLoanInterest(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].interest return 0 @view @external def getLoanCollaterals(_borrower: address, _loanId: uint256) -> DynArray[Collateral, 100]: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].collaterals return empty(DynArray[Collateral, 100]) @view @external def getLoanStartTime(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].startTime return max_value(uint256) @view @external def getLoanPaidPrincipal(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].paidPrincipal return 0 @view @external def getLoanPaidInterestAmount(_borrower: address, _loanId: uint256) -> uint256: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].paidInterestAmount return 0 @view @external def getLoanStarted(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].started return False @view @external def getLoanInvalidated(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].invalidated return False @view @external def getLoanPaid(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].paid return False @view @external def getLoanDefaulted(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].defaulted return False @view @external def getLoanCanceled(_borrower: address, _loanId: uint256) -> bool: if _loanId < len(self.loans[_borrower]): return self.loans[_borrower][_loanId].canceled return False @view @external def getPendingLoan(_borrower: address, _loanId: uint256) -> Loan: if self._isLoanCreated(_borrower, _loanId) and not self._isLoanStarted(_borrower, _loanId) and not self._isLoanInvalidated(_borrower, _loanId): return self.loans[_borrower][_loanId] return empty(Loan) @view @external def getLoan(_borrower: address, _loanId: uint256) -> Loan: if self._isLoanStarted(_borrower, _loanId) or self._isLoanInvalidated(_borrower, _loanId): return self.loans[_borrower][_loanId] return empty(Loan) @view @external def getHighestSingleCollateralLoan() -> Loan: return self.topStats.highestSingleCollateralLoan @view @external def getHighestCollateralBundleLoan() -> Loan: return self.topStats.highestCollateralBundleLoan @view @external def getHighestRepayment() -> Loan: return self.topStats.highestRepayment @view @external def getHighestDefaultedLoan() -> Loan: return self.topStats.highestDefaultedLoan @view @external def collateralKeysArray() -> DynArray[bytes32, 2**20]: return self.collateralKeys @view @external def getCollateralsIdsByAddress(_address: address) -> DynArray[uint256, 2**20]: return self.collateralsIdsByAddress[_address] @external def addCollateralToLoan(_borrower: address, _collateral: Collateral, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" assert self._isLoanCreated(_borrower, _loanId), "loan not found" self._addCollateralToLoan(_borrower, _collateral, _loanId) @external def removeCollateralFromLoan(_borrower: address, _collateral: Collateral, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" assert self._isLoanCreated(_borrower, _loanId), "loan not found" self._removeCollateralFromLoan(_borrower, _collateral, _loanId) @external def updateCollaterals(_collateral: Collateral, _toRemove: bool): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self._updateCollaterals(_collateral, _toRemove) @external def addLoan( _borrower: address, _amount: uint256, _interest: uint256, _maturity: uint256, _collaterals: DynArray[Collateral, 100] ) -> uint256: assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" newLoan: Loan = Loan( { id: len(self.loans[_borrower]), amount: _amount, interest: _interest, maturity: _maturity, startTime: 0, collaterals: _collaterals, paidPrincipal: 0, paidInterestAmount: 0, started: False, invalidated: False, paid: False, defaulted: False, canceled: False, } ) result: bool = self._addLoan(_borrower, newLoan) if not result: raise "adding loan for borrower failed" return newLoan.id @external def updateLoanStarted(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].startTime = block.timestamp self.loans[_borrower][_loanId].started = True self.borrowedAmount[_borrower] += self.loans[_borrower][_loanId].amount for collateral in self.loans[_borrower][_loanId].collaterals: self.collectionsBorrowedAmount[collateral.contractAddress] += collateral.amount @external def updateInvalidLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].invalidated = True self.ongoingLoans[_borrower] -= 1 @external def updateLoanPaidAmount(_borrower: address, _loanId: uint256, _paidPrincipal: uint256, _paidInterestAmount: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].paidPrincipal += _paidPrincipal self.loans[_borrower][_loanId].paidInterestAmount += _paidInterestAmount @external def updatePaidLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].paid = True self.borrowedAmount[_borrower] -= self.loans[_borrower][_loanId].amount self.ongoingLoans[_borrower] -= 1 for collateral in self.loans[_borrower][_loanId].collaterals: self.collectionsBorrowedAmount[collateral.contractAddress] -= collateral.amount @external def updateDefaultedLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].defaulted = True self.borrowedAmount[_borrower] -= self.loans[_borrower][_loanId].amount self.ongoingLoans[_borrower] -= 1 for collateral in self.loans[_borrower][_loanId].collaterals: self.collectionsBorrowedAmount[collateral.contractAddress] -= collateral.amount @external def updateCanceledLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" self.loans[_borrower][_loanId].canceled = True self.ongoingLoans[_borrower] -= 1 @external def updateHighestSingleCollateralLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" if len(self.loans[_borrower][_loanId].collaterals) == 1 and self.topStats.highestSingleCollateralLoan.amount < self.loans[_borrower][_loanId].amount: self.topStats.highestSingleCollateralLoan = self.loans[_borrower][_loanId] @external def updateHighestCollateralBundleLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" if len(self.loans[_borrower][_loanId].collaterals) > 1 and self.topStats.highestCollateralBundleLoan.amount < self.loans[_borrower][_loanId].amount: self.topStats.highestCollateralBundleLoan = self.loans[_borrower][_loanId] @external def updateHighestRepayment(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" if self.topStats.highestRepayment.amount < self.loans[_borrower][_loanId].amount: self.topStats.highestRepayment = self.loans[_borrower][_loanId] @external def updateHighestDefaultedLoan(_borrower: address, _loanId: uint256): assert msg.sender == self.loansPeripheral, "msg.sender is not the loans addr" if self.topStats.highestDefaultedLoan.amount < self.loans[_borrower][_loanId].amount: self.topStats.highestDefaultedLoan = self.loans[_borrower][_loanId]
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"OwnerProposed","inputs":[{"name":"ownerIndexed","type":"address","indexed":true},{"name":"proposedOwnerIndexed","type":"address","indexed":true},{"name":"owner","type":"address","indexed":false},{"name":"proposedOwner","type":"address","indexed":false},{"name":"erc20TokenContract","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"OwnershipTransferred","inputs":[{"name":"ownerIndexed","type":"address","indexed":true},{"name":"proposedOwnerIndexed","type":"address","indexed":true},{"name":"owner","type":"address","indexed":false},{"name":"proposedOwner","type":"address","indexed":false},{"name":"erc20TokenContract","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"LoansPeripheralAddressSet","inputs":[{"name":"erc20TokenContractIndexed","type":"address","indexed":true},{"name":"currentValue","type":"address","indexed":false},{"name":"newValue","type":"address","indexed":false},{"name":"erc20TokenContract","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"proposeOwner","inputs":[{"name":"_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"claimOwnership","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setLoansPeripheral","inputs":[{"name":"_address","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"isLoanCreated","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"isLoanStarted","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLoanAmount","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanMaturity","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanInterest","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanCollaterals","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"getLoanStartTime","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanPaidPrincipal","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanPaidInterestAmount","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getLoanStarted","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLoanInvalidated","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLoanPaid","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLoanDefaulted","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLoanCanceled","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getPendingLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"getLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"getHighestSingleCollateralLoan","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"getHighestCollateralBundleLoan","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"getHighestRepayment","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"getHighestDefaultedLoan","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"interest","type":"uint256"},{"name":"maturity","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"paidPrincipal","type":"uint256"},{"name":"paidInterestAmount","type":"uint256"},{"name":"started","type":"bool"},{"name":"invalidated","type":"bool"},{"name":"paid","type":"bool"},{"name":"defaulted","type":"bool"},{"name":"canceled","type":"bool"}]}]},{"stateMutability":"view","type":"function","name":"collateralKeysArray","inputs":[],"outputs":[{"name":"","type":"bytes32[]"}]},{"stateMutability":"view","type":"function","name":"getCollateralsIdsByAddress","inputs":[{"name":"_address","type":"address"}],"outputs":[{"name":"","type":"uint256[]"}]},{"stateMutability":"nonpayable","type":"function","name":"addCollateralToLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_collateral","type":"tuple","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"removeCollateralFromLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_collateral","type":"tuple","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateCollaterals","inputs":[{"name":"_collateral","type":"tuple","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]},{"name":"_toRemove","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"addLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_interest","type":"uint256"},{"name":"_maturity","type":"uint256"},{"name":"_collaterals","type":"tuple[]","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"updateLoanStarted","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateInvalidLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateLoanPaidAmount","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"},{"name":"_paidPrincipal","type":"uint256"},{"name":"_paidInterestAmount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updatePaidLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateDefaultedLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateCanceledLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateHighestSingleCollateralLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateHighestCollateralBundleLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateHighestRepayment","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"updateHighestDefaultedLoan","inputs":[{"name":"_borrower","type":"address"},{"name":"_loanId","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"proposedOwner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"loansPeripheral","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"borrowedAmount","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"ongoingLoans","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"collateralsInLoans","inputs":[{"name":"arg0","type":"bytes32"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"collateralsInLoansUsed","inputs":[{"name":"arg0","type":"bytes32"},{"name":"arg1","type":"address"},{"name":"arg2","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"collateralsUsed","inputs":[{"name":"arg0","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"collateralsData","inputs":[{"name":"arg0","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"collectionsBorrowedAmount","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
3461350957336000556134ee61001a610000396134ee610000f36003361161000c57612fe7565b60003560e01c346134dc5763b5ed298a811861029957602436186134dc576004358060a01c6134dc5760405260005433181561009f57601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405161010357601c6060527f5f6164647265737320697420746865207a65726f20616464726573730000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516000541861016b5760206060527f70726f706f736564206f776e6572206164647220697320746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600154186101d357601f6060527f70726f706f736564206f776e65722061646472206973207468652073616d650060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516001556040516000547fb4c8aadbed5e1d6c2b41b85b2a233853a33c3f9284159abad98bf7d24d5a6f74600054610120526040516101405260025463bbb6bbc6606052602060606004607c845afa610233573d600060003e3d6000fd5b60203d106134dc576060518060a01c6134dc5760a05260a090505163856e848860c052602060c0600460dc845afa610270573d600060003e3d6000fd5b60203d106134dc5760c0518060a01c6134dc5761010052610100905051610160526060610120a3005b634e71e0c881186103dc57600436186134dc5760015433181561031357601e6040527f6d73672e73656e646572206973206e6f74207468652070726f706f736564000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6001546000547fd5b903f8ba0e47f8a7bfe27b5098230bd3900b46d8b430e37480be7096ca7f6d600054610100526001546101205260025463bbb6bbc6604052602060406004605c845afa61036d573d600060003e3d6000fd5b60203d106134dc576040518060a01c6134dc57608052608090505163856e848860a052602060a0600460bc845afa6103aa573d600060003e3d6000fd5b60203d106134dc5760a0518060a01c6134dc5760e05260e0905051610140526060610100a36001546000556000600155005b6345b5e171811861067957602436186134dc576004358060a01c6134dc5760405260005433181561046457601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516104c857601c6060527f5f6164647265737320697320746865207a65726f20616464726573730000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6002546040511861053057601a6060527f6e6577206c6f616e732061646472206973207468652073616d6500000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405163bbb6bbc6606052602060606004607c845afa610555573d600060003e3d6000fd5b60203d106134dc576060518060a01c6134dc5760a05260a090505163856e848860c052602060c0600460dc845afa610592573d600060003e3d6000fd5b60203d106134dc5760c0518060a01c6134dc57610100526101009050517f0524dd63c4e156d7c3f5cc18e87c0474a724ea2d75c277bab3dc95390ba5e4d16002546101e0526040516102005260405163bbb6bbc6610120526020610120600461013c845afa610606573d600060003e3d6000fd5b60203d106134dc57610120518060a01c6134dc576101605261016090505163856e8488610180526020610180600461019c845afa610649573d600060003e3d6000fd5b60203d106134dc57610180518060a01c6134dc576101c0526101c09050516102205260606101e0a2604051600255005b63fdfda91281186106b657604436186134dc576004358060a01c6134dc5760805260206080516040526024356060526106b260a0612fed565b60a0f35b63c2224e0b81186106f357604436186134dc576004358060a01c6134dc5760805260206080516040526024356060526106ef60a0613007565b60a0f35b63a692d785811861077457604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610768576003604051602052600052604060002061013960243582548110156134dc5702600182010190506001810190505460605260206060610772565b6000606052602060605bf35b6368443d3b81186107f557604436186134dc576004358060a01c6134dc57604052600360405160205260005260406000205460243510156107e9576003604051602052600052604060002061013960243582548110156134dc57026001820101905060038101905054606052602060606107f3565b6000606052602060605bf35b63eb526774811861087657604436186134dc576004358060a01c6134dc576040526003604051602052600052604060002054602435101561086a576003604051602052600052604060002061013960243582548110156134dc5702600182010190506002810190505460605260206060610874565b6000606052602060605bf35b63426eda5281186109a857604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610956576020806060526003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050816060016000825480835260608102600082606481116134dc57801561093d57905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118610906575b50508201602001915050905090508101905060606109a6565b60208060605280606001600060008252600060006000606481116134dc57801561099457905b6060366060830260208801013760010181811861097c575b50508101602001905090508101905060605bf35b63b0d9dcb38118610a4857604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610a1d576003604051602052600052604060002061013960243582548110156134dc5702600182010190506004810190505460605260206060610a46565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff606052602060605bf35b6334434d228118610aca57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610abe576003604051602052600052604060002061013960243582548110156134dc570260018201019050610132810190505460605260206060610ac8565b6000606052602060605bf35b631462534d8118610b4c57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610b40576003604051602052600052604060002061013960243582548110156134dc570260018201019050610133810190505460605260206060610b4a565b6000606052602060605bf35b63250bf8f48118610bce57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610bc2576003604051602052600052604060002061013960243582548110156134dc570260018201019050610134810190505460605260206060610bcc565b6000606052602060605bf35b63593b58cd8118610c5057604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610c44576003604051602052600052604060002061013960243582548110156134dc570260018201019050610135810190505460605260206060610c4e565b6000606052602060605bf35b637c73ec148118610cd257604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610cc6576003604051602052600052604060002061013960243582548110156134dc570260018201019050610136810190505460605260206060610cd0565b6000606052602060605bf35b63b50486478118610d5457604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610d48576003604051602052600052604060002061013960243582548110156134dc570260018201019050610137810190505460605260206060610d52565b6000606052602060605bf35b632209ed1c8118610dd657604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610dca576003604051602052600052604060002061013960243582548110156134dc570260018201019050610138810190505460605260206060610dd4565b6000606052602060605bf35b6372d251fc811861105157604436186134dc576004358060a01c6134dc57608052608051604052602435606052610e0d60a0612fed565b60a051610e1b576000610e5a565b608051604052602435606052610e3160c0613007565b60c051610e5757608051604052602435606052610e4e60e0613060565b60e05115610e5a565b60005b15610f9757602080610100526003608051602052600052604060002061013960243582548110156134dc57026001820101905081610100016101a082548252600183015460208301526002830154604083015260038301546060830152600483015460808301528060a0830152600583018183016000825480835260608102600082606481116134dc578015610f2357905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118610eec575b50508201602001915050905090508101905061013283015460c083015261013383015460e0830152610134830154610100830152610135830154610120830152610136830154610140830152610137830154610160830152610138830154610180830152905090508101905061010061104f565b60208060a0528060a0016101a060008252600060208301526000604083015260006060830152600060808301528060a0830152808201600060008252600060006000606481116134dc57801561100157905b60603660608302602088010137600101818118610fe9575b505081016020019050905081019050600060c0830152600060e08301526000610100830152600061012083015260006101408301526000610160830152600061018083015290508101905060a05bf35b63a1c5158681186112a457604436186134dc576004358060a01c6134dc5760805260805160405260243560605261108860a0613007565b60a0516110ad576080516040526024356060526110a560c0613060565b60c0516110b0565b60015b156111ea5760208060e0526003608051602052600052604060002061013960243582548110156134dc5702600182010190508160e0016101a082548252600183015460208301526002830154604083015260038301546060830152600483015460808301528060a0830152600583018183016000825480835260608102600082606481116134dc57801561117757905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118611140575b50508201602001915050905090508101905061013283015460c083015261013383015460e0830152610134830154610100830152610135830154610120830152610136830154610140830152610137830154610160830152610138830154610180830152905090508101905060e06112a2565b60208060a0528060a0016101a060008252600060208301526000604083015260006060830152600060808301528060a0830152808201600060008252600060006000606481116134dc57801561125457905b6060366060830260208801013760010181811861123c575b505081016020019050905081019050600060c0830152600060e08301526000610100830152600061012083015260006101408301526000610160830152600061018083015290508101905060a05bf35b63ae66b88081186113b957600436186134dc57602080604052806040016101a06210000d5482526210000e5460208301526210000f54604083015262100010546060830152621000115460808301528060a08301528082016000621000125480835260608102600082606481116134dc57801561135457905b606081026020870101600382026210001301805482526001810154602083015260028101546040830152505060010181811861131d575b505082016020019150509050810190506210013f5460c0830152621001405460e0830152621001415461010083015262100142546101208301526210014354610140830152621001445461016083015262100145546101808301529050810190506040f35b633a5cfa4a81186114ce57600436186134dc57602080604052806040016101a0621001465482526210014754602083015262100148546040830152621001495460608301526210014a5460808301528060a083015280820160006210014b5480835260608102600082606481116134dc57801561146957905b606081026020870101600382026210014c018054825260018101546020830152600281015460408301525050600101818118611432575b50508201602001915050905081019050621002785460c0830152621002795460e08301526210027a546101008301526210027b546101208301526210027c546101408301526210027d546101608301526210027e546101808301529050810190506040f35b63234c909581186115e357600436186134dc57602080604052806040016101a06210027f548252621002805460208301526210028154604083015262100282546060830152621002835460808301528060a08301528082016000621002845480835260608102600082606481116134dc57801561157e57905b6060810260208701016003820262100285018054825260018101546020830152600281015460408301525050600101818118611547575b50508201602001915050905081019050621003b15460c0830152621003b25460e0830152621003b354610100830152621003b454610120830152621003b554610140830152621003b654610160830152621003b7546101808301529050810190506040f35b631e9cb2fc81186116f857600436186134dc57602080604052806040016101a0621003b8548252621003b9546020830152621003ba546040830152621003bb546060830152621003bc5460808301528060a08301528082016000621003bd5480835260608102600082606481116134dc57801561169357905b60608102602087010160038202621003be01805482526001810154602083015260028101546040830152505060010181811861165c575b50508201602001915050905081019050621004ea5460c0830152621004eb5460e0830152621004ec54610100830152621004ed54610120830152621004ee54610140830152621004ef54610160830152621004f0546101808301529050810190506040f35b630ea88fe8811861176457600436186134dc576020806040528060400160006008548083528060051b6000826210000081116134dc57801561175057905b80600901548160051b602088010152600101818118611736575b505082016020019150509050810190506040f35b63b4e449db81186117f357602436186134dc576004358060a01c6134dc576040526020806060526210000b604051602052600052604060002081606001600082548083528060051b6000826210000081116134dc5780156117dd57905b806001880101548160051b6020880101526001018181186117c1575b5050820160200191505090509050810190506060f35b63c4836b9781186119525760a436186134dc576004358060a01c6134dc576101c0526024358060a01c6134dc576101e052604060446102003760025433181561189c576020610240527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102605261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b6101c0516040526084356060526118b4610240612fed565b6102405161192257600e610260527f6c6f616e206e6f7420666f756e640000000000000000000000000000000000006102805261026050610260518061028001601f826000031636823750506308c379a061022052602061024052601f19601f61026051011660440161023cfd5b6101c05160e0526101e0516101005261020051610120526102205161014052608435610160526119506130da565b005b631af860558118611ab15760a436186134dc576004358060a01c6134dc576101c0526024358060a01c6134dc576101e05260406044610200376002543318156119fb576020610240527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102605261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b6101c051604052608435606052611a13610240612fed565b61024051611a8157600e610260527f6c6f616e206e6f7420666f756e640000000000000000000000000000000000006102805261026050610260518061028001601f826000031636823750506308c379a061022052602061024052601f19601f61026051011660440161023cfd5b6101c05160e0526101e051610100526102005161012052610220516101405260843561016052611aaf61315b565b005b63f7230a758118611b8357608436186134dc576004358060a01c6134dc576101a052604060246101c0376064358060011c6134dc5761020052600254331815611b5a576020610220527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6101a05160e0526101c051610100526101e051610120526102005161014052611b816131b5565b005b6326b7f5968118611dcd5760c436106134dc576004358060a01c6134dc576127805260843560040160648135116134dc578035806127a052600081606481116134dc578015611c0c57905b606081026127c00160608202602086010180358060a01c6134dc57825260208101356020830152604081013560408301525050600101818118611bce575b50505050600254331815611c80576020614d40527f6d73672e73656e646572206973206e6f7420746865206c6f616e732061646472614d6052614d4050614d405180614d6001601f826000031636823750506308c379a0614d00526020614d2052601f19601f614d40510116604401614d1cfd5b600361278051602052600052604060002054614d405260606024614d60376000614dc0526127a05180614de0526060810280614e00826127c060045afa50505060e0366173803761278051604052614d4051606052614d6051608052614d805160a052614da05160c052614dc05160e052614de0518061010052606081028061012082614e0060045afa505050617380516126a0526173a0516126c0526173c0516126e0526173e05161270052617400516127205261742051612740526174405161276052611d506174806133aa565b617480516174605261746051611dc657601f617480527f616464696e67206c6f616e20666f7220626f72726f776572206661696c6564006174a0526174805061748051806174a001601f826000031636823750506308c379a061744052602061746052601f19601f61748051011660440161745cfd5b6020614d40f35b634700e8bd8118611fcb57604436186134dc576004358060a01c6134dc57604052600254331815611e555760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b426003604051602052600052604060002061013960243582548110156134dc5702600182010190506004810190505560016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013481019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082018281106134dc579050905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc578015611fc757905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082018281106134dc5790509050815550600101818118611f46575b5050005b63fb3319c481186120a857604436186134dc576004358060a01c6134dc576040526002543318156120535760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc5702600182010190506101358101905055600560405160205260005260406000208054600181038181116134dc579050815550005b63291a7e4c81186121ba57608436186134dc576004358060a01c6134dc576040526002543318156121305760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc5702600182010190506101328101905080546044358082018281106134dc57905090508155506003604051602052600052604060002061013960243582548110156134dc5702600182010190506101338101905080546064358082018281106134dc5790509050815550005b63a07bda7f81186123ab57604436186134dc576004358060a01c6134dc576040526002543318156122425760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013681019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082038281116134dc5790509050815550600560405160205260005260406000208054600181038181116134dc57905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc5780156123a757905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082038281116134dc5790509050815550600101818118612326575b5050005b63cf2e4f76811861259c57604436186134dc576004358060a01c6134dc576040526002543318156124335760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013781019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082038281116134dc5790509050815550600560405160205260005260406000208054600181038181116134dc57905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc57801561259857905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082038281116134dc5790509050815550600101818118612517575b5050005b6398bd8de2811861267957604436186134dc576004358060a01c6134dc576040526002543318156126245760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc5702600182010190506101388101905055600560405160205260005260406000208054600181038181116134dc579050815550005b63e10cc41a811861286857604436186134dc576004358060a01c6134dc576040526002543318156127015760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050541861276f576003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050546210000e5410612772565b60005b15612866576003604051602052600052604060002061013960243582548110156134dc57026001820101905080546210000d5560018101546210000e5560028101546210000f5560038101546210001055600481015462100011556005810180548062100012556001820160608202600081601f0160051c61012c81116134dc57801561281157905b80840154816210001301556001018181186127fb575b5050505050506101328101546210013f55610133810154621001405561013481015462100141556101358101546210014255610136810154621001435561013781015462100144556101388101546210014555505b005b63c9876fbb8118612a5857604436186134dc576004358060a01c6134dc576040526002543318156128f05760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60026003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054101561292d576000612962565b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050546210014754105b15612a56576003604051602052600052604060002061013960243582548110156134dc5702600182010190508054621001465560018101546210014755600281015462100148556003810154621001495560048101546210014a55600581018054806210014b556001820160608202600081601f0160051c61012c81116134dc578015612a0157905b80840154816210014c01556001018181186129eb575b505050505050610132810154621002785561013381015462100279556101348101546210027a556101358101546210027b556101368101546210027c556101378101546210027d556101388101546210027e55505b005b6361e8726d8118612c0a57604436186134dc576004358060a01c6134dc57604052600254331815612ae05760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc5702600182010190506001810190505462100280541015612c08576003604051602052600052604060002061013960243582548110156134dc57026001820101905080546210027f55600181015462100280556002810154621002815560038101546210028255600481015462100283556005810180548062100284556001820160608202600081601f0160051c61012c81116134dc578015612bb357905b8084015481621002850155600101818118612b9d575b505050505050610132810154621003b155610133810154621003b255610134810154621003b355610135810154621003b455610136810154621003b555610137810154621003b655610138810154621003b755505b005b63b50c85ca8118612dbc57604436186134dc576004358060a01c6134dc57604052600254331815612c925760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc57026001820101905060018101905054621003b9541015612dba576003604051602052600052604060002061013960243582548110156134dc5702600182010190508054621003b8556001810154621003b9556002810154621003ba556003810154621003bb556004810154621003bc5560058101805480621003bd556001820160608202600081601f0160051c61012c81116134dc578015612d6557905b8084015481621003be0155600101818118612d4f575b505050505050610132810154621004ea55610133810154621004eb55610134810154621004ec55610135810154621004ed55610136810154621004ee55610137810154621004ef55610138810154621004f055505b005b638da5cb5b8118612ddb57600436186134dc5760005460405260206040f35b63d153b60c8118612dfa57600436186134dc5760015460405260206040f35b6383eabbee8118612e1957600436186134dc5760025460405260206040f35b63948adb8f8118612e5457602436186134dc576004358060a01c6134dc57604052600460405160205260005260406000205460605260206060f35b63600898c68118612e8f57602436186134dc576004358060a01c6134dc57604052600560405160205260005260406000205460605260206060f35b63f35743c18118612edb57604436186134dc576024358060a01c6134dc576040526006600435602052600052604060002080604051602052600052604060002090505460605260206060f35b637330811c8118612f3857606436186134dc576024358060a01c6134dc5760405260076004356020526000526040600020806040516020526000526040600020905080604435602052600052604060002090505460605260206060f35b63fc6306198118612f6757602436186134dc576210000960043560205260005260406000205460405260206040f35b639319be4f8118612fa857602436186134dc576210000a60043560205260005260406000208054604052600181015460605260028101546080525060606040f35b6382ba67db8118612fe557602436186134dc576004358060a01c6134dc576040526210000c60405160205260005260406000205460605260206060f35b505b60006000fd5b600360405160205260005260406000205460605110815250565b60036040516020526000526040600020546060511015613058576003604051602052600052604060002061013960605182548110156134dc570260018201019050610134810190505481525061305e565b60008152505b565b600360405160205260005260406000205460605110156130b1576003604051602052600052604060002061013960605182548110156134dc57026001820101905061013581019050548152506130b7565b60008152505b565b60405160a05260605160c05260406080526080805160208201209050815250565b61010051604052610120516060526130f36101a06130b9565b6101a051610180526101605160066101805160205260005260406000208060e0516020526000526040600020905055600160076101805160205260005260406000208060e0516020526000526040600020905080610160516020526000526040600020905055565b61010051604052610120516060526131746101a06130b9565b6101a05161018052600060076101805160205260005260406000208060e0516020526000526040600020905080610160516020526000526040600020905055565b60e051604052610100516060526131cd6101806130b9565b61018051610160526101605160016101805260006008546210000081116134dc57801561321757905b8060090154831861320c57600061018052613217565b6001018181186131f6575b505061018051905061322a576000613230565b61014051155b6132a1576101605160006101805260006008546210000081116134dc57801561327657905b8060090154831861326b57600161018052613276565b600101818118613255575b5050610180519050156133015761014051156210000961016051602052600052604060002055613301565b600854620fffff81116134dc576001810160085561016051816009015550600162100009610160516020526000526040600020556210000a61016051602052600052604060002060e0518155610100516001820155610120516002820155505b610100516210000b60e0516020526000526040600020600161018052600081546210000081116134dc57801561335657905b80600184010154841861334b57600061018052613356565b600101818118613333575b5050610180519050905061336b576000613371565b61014051155b156133a8576210000b60e05160205260005260406000208054620fffff81116134dc57600181018255610100518160018401015550505b565b6003604051602052600052604060002054606051186134d45760036040516020526000526040600020805461ffff81116134dc57600181018255610139810260018301016060518155608051600182015560a051600282015560c051600382015560e0516004820155610100518060058301556060810260016005840101600082601f0160051c61012c81116134dc57801561345a57905b8060051b610120015181840155600101818118613442575b50505050506126a0516101328201556126c0516101338201556126e05161013482015561270051610135820155612720516101368201556127405161013782015561276051610138820155505050600560405160205260005260406000208054600181018181106134dc57905081555060018152506134da565b60008152505b565b600080fda165767970657283000306000b005b600080fd
Deployed Bytecode
0x6003361161000c57612fe7565b60003560e01c346134dc5763b5ed298a811861029957602436186134dc576004358060a01c6134dc5760405260005433181561009f57601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405161010357601c6060527f5f6164647265737320697420746865207a65726f20616464726573730000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516000541861016b5760206060527f70726f706f736564206f776e6572206164647220697320746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600154186101d357601f6060527f70726f706f736564206f776e65722061646472206973207468652073616d650060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516001556040516000547fb4c8aadbed5e1d6c2b41b85b2a233853a33c3f9284159abad98bf7d24d5a6f74600054610120526040516101405260025463bbb6bbc6606052602060606004607c845afa610233573d600060003e3d6000fd5b60203d106134dc576060518060a01c6134dc5760a05260a090505163856e848860c052602060c0600460dc845afa610270573d600060003e3d6000fd5b60203d106134dc5760c0518060a01c6134dc5761010052610100905051610160526060610120a3005b634e71e0c881186103dc57600436186134dc5760015433181561031357601e6040527f6d73672e73656e646572206973206e6f74207468652070726f706f736564000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6001546000547fd5b903f8ba0e47f8a7bfe27b5098230bd3900b46d8b430e37480be7096ca7f6d600054610100526001546101205260025463bbb6bbc6604052602060406004605c845afa61036d573d600060003e3d6000fd5b60203d106134dc576040518060a01c6134dc57608052608090505163856e848860a052602060a0600460bc845afa6103aa573d600060003e3d6000fd5b60203d106134dc5760a0518060a01c6134dc5760e05260e0905051610140526060610100a36001546000556000600155005b6345b5e171811861067957602436186134dc576004358060a01c6134dc5760405260005433181561046457601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516104c857601c6060527f5f6164647265737320697320746865207a65726f20616464726573730000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6002546040511861053057601a6060527f6e6577206c6f616e732061646472206973207468652073616d6500000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405163bbb6bbc6606052602060606004607c845afa610555573d600060003e3d6000fd5b60203d106134dc576060518060a01c6134dc5760a05260a090505163856e848860c052602060c0600460dc845afa610592573d600060003e3d6000fd5b60203d106134dc5760c0518060a01c6134dc57610100526101009050517f0524dd63c4e156d7c3f5cc18e87c0474a724ea2d75c277bab3dc95390ba5e4d16002546101e0526040516102005260405163bbb6bbc6610120526020610120600461013c845afa610606573d600060003e3d6000fd5b60203d106134dc57610120518060a01c6134dc576101605261016090505163856e8488610180526020610180600461019c845afa610649573d600060003e3d6000fd5b60203d106134dc57610180518060a01c6134dc576101c0526101c09050516102205260606101e0a2604051600255005b63fdfda91281186106b657604436186134dc576004358060a01c6134dc5760805260206080516040526024356060526106b260a0612fed565b60a0f35b63c2224e0b81186106f357604436186134dc576004358060a01c6134dc5760805260206080516040526024356060526106ef60a0613007565b60a0f35b63a692d785811861077457604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610768576003604051602052600052604060002061013960243582548110156134dc5702600182010190506001810190505460605260206060610772565b6000606052602060605bf35b6368443d3b81186107f557604436186134dc576004358060a01c6134dc57604052600360405160205260005260406000205460243510156107e9576003604051602052600052604060002061013960243582548110156134dc57026001820101905060038101905054606052602060606107f3565b6000606052602060605bf35b63eb526774811861087657604436186134dc576004358060a01c6134dc576040526003604051602052600052604060002054602435101561086a576003604051602052600052604060002061013960243582548110156134dc5702600182010190506002810190505460605260206060610874565b6000606052602060605bf35b63426eda5281186109a857604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610956576020806060526003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050816060016000825480835260608102600082606481116134dc57801561093d57905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118610906575b50508201602001915050905090508101905060606109a6565b60208060605280606001600060008252600060006000606481116134dc57801561099457905b6060366060830260208801013760010181811861097c575b50508101602001905090508101905060605bf35b63b0d9dcb38118610a4857604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610a1d576003604051602052600052604060002061013960243582548110156134dc5702600182010190506004810190505460605260206060610a46565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff606052602060605bf35b6334434d228118610aca57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610abe576003604051602052600052604060002061013960243582548110156134dc570260018201019050610132810190505460605260206060610ac8565b6000606052602060605bf35b631462534d8118610b4c57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610b40576003604051602052600052604060002061013960243582548110156134dc570260018201019050610133810190505460605260206060610b4a565b6000606052602060605bf35b63250bf8f48118610bce57604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610bc2576003604051602052600052604060002061013960243582548110156134dc570260018201019050610134810190505460605260206060610bcc565b6000606052602060605bf35b63593b58cd8118610c5057604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610c44576003604051602052600052604060002061013960243582548110156134dc570260018201019050610135810190505460605260206060610c4e565b6000606052602060605bf35b637c73ec148118610cd257604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610cc6576003604051602052600052604060002061013960243582548110156134dc570260018201019050610136810190505460605260206060610cd0565b6000606052602060605bf35b63b50486478118610d5457604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610d48576003604051602052600052604060002061013960243582548110156134dc570260018201019050610137810190505460605260206060610d52565b6000606052602060605bf35b632209ed1c8118610dd657604436186134dc576004358060a01c6134dc5760405260036040516020526000526040600020546024351015610dca576003604051602052600052604060002061013960243582548110156134dc570260018201019050610138810190505460605260206060610dd4565b6000606052602060605bf35b6372d251fc811861105157604436186134dc576004358060a01c6134dc57608052608051604052602435606052610e0d60a0612fed565b60a051610e1b576000610e5a565b608051604052602435606052610e3160c0613007565b60c051610e5757608051604052602435606052610e4e60e0613060565b60e05115610e5a565b60005b15610f9757602080610100526003608051602052600052604060002061013960243582548110156134dc57026001820101905081610100016101a082548252600183015460208301526002830154604083015260038301546060830152600483015460808301528060a0830152600583018183016000825480835260608102600082606481116134dc578015610f2357905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118610eec575b50508201602001915050905090508101905061013283015460c083015261013383015460e0830152610134830154610100830152610135830154610120830152610136830154610140830152610137830154610160830152610138830154610180830152905090508101905061010061104f565b60208060a0528060a0016101a060008252600060208301526000604083015260006060830152600060808301528060a0830152808201600060008252600060006000606481116134dc57801561100157905b60603660608302602088010137600101818118610fe9575b505081016020019050905081019050600060c0830152600060e08301526000610100830152600061012083015260006101408301526000610160830152600061018083015290508101905060a05bf35b63a1c5158681186112a457604436186134dc576004358060a01c6134dc5760805260805160405260243560605261108860a0613007565b60a0516110ad576080516040526024356060526110a560c0613060565b60c0516110b0565b60015b156111ea5760208060e0526003608051602052600052604060002061013960243582548110156134dc5702600182010190508160e0016101a082548252600183015460208301526002830154604083015260038301546060830152600483015460808301528060a0830152600583018183016000825480835260608102600082606481116134dc57801561117757905b6060810260208701016003820260018901018054825260018101546020830152600281015460408301525050600101818118611140575b50508201602001915050905090508101905061013283015460c083015261013383015460e0830152610134830154610100830152610135830154610120830152610136830154610140830152610137830154610160830152610138830154610180830152905090508101905060e06112a2565b60208060a0528060a0016101a060008252600060208301526000604083015260006060830152600060808301528060a0830152808201600060008252600060006000606481116134dc57801561125457905b6060366060830260208801013760010181811861123c575b505081016020019050905081019050600060c0830152600060e08301526000610100830152600061012083015260006101408301526000610160830152600061018083015290508101905060a05bf35b63ae66b88081186113b957600436186134dc57602080604052806040016101a06210000d5482526210000e5460208301526210000f54604083015262100010546060830152621000115460808301528060a08301528082016000621000125480835260608102600082606481116134dc57801561135457905b606081026020870101600382026210001301805482526001810154602083015260028101546040830152505060010181811861131d575b505082016020019150509050810190506210013f5460c0830152621001405460e0830152621001415461010083015262100142546101208301526210014354610140830152621001445461016083015262100145546101808301529050810190506040f35b633a5cfa4a81186114ce57600436186134dc57602080604052806040016101a0621001465482526210014754602083015262100148546040830152621001495460608301526210014a5460808301528060a083015280820160006210014b5480835260608102600082606481116134dc57801561146957905b606081026020870101600382026210014c018054825260018101546020830152600281015460408301525050600101818118611432575b50508201602001915050905081019050621002785460c0830152621002795460e08301526210027a546101008301526210027b546101208301526210027c546101408301526210027d546101608301526210027e546101808301529050810190506040f35b63234c909581186115e357600436186134dc57602080604052806040016101a06210027f548252621002805460208301526210028154604083015262100282546060830152621002835460808301528060a08301528082016000621002845480835260608102600082606481116134dc57801561157e57905b6060810260208701016003820262100285018054825260018101546020830152600281015460408301525050600101818118611547575b50508201602001915050905081019050621003b15460c0830152621003b25460e0830152621003b354610100830152621003b454610120830152621003b554610140830152621003b654610160830152621003b7546101808301529050810190506040f35b631e9cb2fc81186116f857600436186134dc57602080604052806040016101a0621003b8548252621003b9546020830152621003ba546040830152621003bb546060830152621003bc5460808301528060a08301528082016000621003bd5480835260608102600082606481116134dc57801561169357905b60608102602087010160038202621003be01805482526001810154602083015260028101546040830152505060010181811861165c575b50508201602001915050905081019050621004ea5460c0830152621004eb5460e0830152621004ec54610100830152621004ed54610120830152621004ee54610140830152621004ef54610160830152621004f0546101808301529050810190506040f35b630ea88fe8811861176457600436186134dc576020806040528060400160006008548083528060051b6000826210000081116134dc57801561175057905b80600901548160051b602088010152600101818118611736575b505082016020019150509050810190506040f35b63b4e449db81186117f357602436186134dc576004358060a01c6134dc576040526020806060526210000b604051602052600052604060002081606001600082548083528060051b6000826210000081116134dc5780156117dd57905b806001880101548160051b6020880101526001018181186117c1575b5050820160200191505090509050810190506060f35b63c4836b9781186119525760a436186134dc576004358060a01c6134dc576101c0526024358060a01c6134dc576101e052604060446102003760025433181561189c576020610240527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102605261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b6101c0516040526084356060526118b4610240612fed565b6102405161192257600e610260527f6c6f616e206e6f7420666f756e640000000000000000000000000000000000006102805261026050610260518061028001601f826000031636823750506308c379a061022052602061024052601f19601f61026051011660440161023cfd5b6101c05160e0526101e0516101005261020051610120526102205161014052608435610160526119506130da565b005b631af860558118611ab15760a436186134dc576004358060a01c6134dc576101c0526024358060a01c6134dc576101e05260406044610200376002543318156119fb576020610240527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102605261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b6101c051604052608435606052611a13610240612fed565b61024051611a8157600e610260527f6c6f616e206e6f7420666f756e640000000000000000000000000000000000006102805261026050610260518061028001601f826000031636823750506308c379a061022052602061024052601f19601f61026051011660440161023cfd5b6101c05160e0526101e051610100526102005161012052610220516101405260843561016052611aaf61315b565b005b63f7230a758118611b8357608436186134dc576004358060a01c6134dc576101a052604060246101c0376064358060011c6134dc5761020052600254331815611b5a576020610220527f6d73672e73656e646572206973206e6f7420746865206c6f616e7320616464726102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6101a05160e0526101c051610100526101e051610120526102005161014052611b816131b5565b005b6326b7f5968118611dcd5760c436106134dc576004358060a01c6134dc576127805260843560040160648135116134dc578035806127a052600081606481116134dc578015611c0c57905b606081026127c00160608202602086010180358060a01c6134dc57825260208101356020830152604081013560408301525050600101818118611bce575b50505050600254331815611c80576020614d40527f6d73672e73656e646572206973206e6f7420746865206c6f616e732061646472614d6052614d4050614d405180614d6001601f826000031636823750506308c379a0614d00526020614d2052601f19601f614d40510116604401614d1cfd5b600361278051602052600052604060002054614d405260606024614d60376000614dc0526127a05180614de0526060810280614e00826127c060045afa50505060e0366173803761278051604052614d4051606052614d6051608052614d805160a052614da05160c052614dc05160e052614de0518061010052606081028061012082614e0060045afa505050617380516126a0526173a0516126c0526173c0516126e0526173e05161270052617400516127205261742051612740526174405161276052611d506174806133aa565b617480516174605261746051611dc657601f617480527f616464696e67206c6f616e20666f7220626f72726f776572206661696c6564006174a0526174805061748051806174a001601f826000031636823750506308c379a061744052602061746052601f19601f61748051011660440161745cfd5b6020614d40f35b634700e8bd8118611fcb57604436186134dc576004358060a01c6134dc57604052600254331815611e555760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b426003604051602052600052604060002061013960243582548110156134dc5702600182010190506004810190505560016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013481019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082018281106134dc579050905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc578015611fc757905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082018281106134dc5790509050815550600101818118611f46575b5050005b63fb3319c481186120a857604436186134dc576004358060a01c6134dc576040526002543318156120535760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc5702600182010190506101358101905055600560405160205260005260406000208054600181038181116134dc579050815550005b63291a7e4c81186121ba57608436186134dc576004358060a01c6134dc576040526002543318156121305760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc5702600182010190506101328101905080546044358082018281106134dc57905090508155506003604051602052600052604060002061013960243582548110156134dc5702600182010190506101338101905080546064358082018281106134dc5790509050815550005b63a07bda7f81186123ab57604436186134dc576004358060a01c6134dc576040526002543318156122425760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013681019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082038281116134dc5790509050815550600560405160205260005260406000208054600181038181116134dc57905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc5780156123a757905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082038281116134dc5790509050815550600101818118612326575b5050005b63cf2e4f76811861259c57604436186134dc576004358060a01c6134dc576040526002543318156124335760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc57026001820101905061013781019050556004604051602052600052604060002080546003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050548082038281116134dc5790509050815550600560405160205260005260406000208054600181038181116134dc57905081555060006003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054606481116134dc57801561259857905b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050600382026001820101905080546060526001810154608052600281015460a052506210000c6060516020526000526040600020805460a0518082038281116134dc5790509050815550600101818118612517575b5050005b6398bd8de2811861267957604436186134dc576004358060a01c6134dc576040526002543318156126245760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc5702600182010190506101388101905055600560405160205260005260406000208054600181038181116134dc579050815550005b63e10cc41a811861286857604436186134dc576004358060a01c6134dc576040526002543318156127015760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60016003604051602052600052604060002061013960243582548110156134dc570260018201019050600581019050541861276f576003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050546210000e5410612772565b60005b15612866576003604051602052600052604060002061013960243582548110156134dc57026001820101905080546210000d5560018101546210000e5560028101546210000f5560038101546210001055600481015462100011556005810180548062100012556001820160608202600081601f0160051c61012c81116134dc57801561281157905b80840154816210001301556001018181186127fb575b5050505050506101328101546210013f55610133810154621001405561013481015462100141556101358101546210014255610136810154621001435561013781015462100144556101388101546210014555505b005b63c9876fbb8118612a5857604436186134dc576004358060a01c6134dc576040526002543318156128f05760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60026003604051602052600052604060002061013960243582548110156134dc57026001820101905060058101905054101561292d576000612962565b6003604051602052600052604060002061013960243582548110156134dc570260018201019050600181019050546210014754105b15612a56576003604051602052600052604060002061013960243582548110156134dc5702600182010190508054621001465560018101546210014755600281015462100148556003810154621001495560048101546210014a55600581018054806210014b556001820160608202600081601f0160051c61012c81116134dc578015612a0157905b80840154816210014c01556001018181186129eb575b505050505050610132810154621002785561013381015462100279556101348101546210027a556101358101546210027b556101368101546210027c556101378101546210027d556101388101546210027e55505b005b6361e8726d8118612c0a57604436186134dc576004358060a01c6134dc57604052600254331815612ae05760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc5702600182010190506001810190505462100280541015612c08576003604051602052600052604060002061013960243582548110156134dc57026001820101905080546210027f55600181015462100280556002810154621002815560038101546210028255600481015462100283556005810180548062100284556001820160608202600081601f0160051c61012c81116134dc578015612bb357905b8084015481621002850155600101818118612b9d575b505050505050610132810154621003b155610133810154621003b255610134810154621003b355610135810154621003b455610136810154621003b555610137810154621003b655610138810154621003b755505b005b63b50c85ca8118612dbc57604436186134dc576004358060a01c6134dc57604052600254331815612c925760206060527f6d73672e73656e646572206973206e6f7420746865206c6f616e73206164647260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003604051602052600052604060002061013960243582548110156134dc57026001820101905060018101905054621003b9541015612dba576003604051602052600052604060002061013960243582548110156134dc5702600182010190508054621003b8556001810154621003b9556002810154621003ba556003810154621003bb556004810154621003bc5560058101805480621003bd556001820160608202600081601f0160051c61012c81116134dc578015612d6557905b8084015481621003be0155600101818118612d4f575b505050505050610132810154621004ea55610133810154621004eb55610134810154621004ec55610135810154621004ed55610136810154621004ee55610137810154621004ef55610138810154621004f055505b005b638da5cb5b8118612ddb57600436186134dc5760005460405260206040f35b63d153b60c8118612dfa57600436186134dc5760015460405260206040f35b6383eabbee8118612e1957600436186134dc5760025460405260206040f35b63948adb8f8118612e5457602436186134dc576004358060a01c6134dc57604052600460405160205260005260406000205460605260206060f35b63600898c68118612e8f57602436186134dc576004358060a01c6134dc57604052600560405160205260005260406000205460605260206060f35b63f35743c18118612edb57604436186134dc576024358060a01c6134dc576040526006600435602052600052604060002080604051602052600052604060002090505460605260206060f35b637330811c8118612f3857606436186134dc576024358060a01c6134dc5760405260076004356020526000526040600020806040516020526000526040600020905080604435602052600052604060002090505460605260206060f35b63fc6306198118612f6757602436186134dc576210000960043560205260005260406000205460405260206040f35b639319be4f8118612fa857602436186134dc576210000a60043560205260005260406000208054604052600181015460605260028101546080525060606040f35b6382ba67db8118612fe557602436186134dc576004358060a01c6134dc576040526210000c60405160205260005260406000205460605260206060f35b505b60006000fd5b600360405160205260005260406000205460605110815250565b60036040516020526000526040600020546060511015613058576003604051602052600052604060002061013960605182548110156134dc570260018201019050610134810190505481525061305e565b60008152505b565b600360405160205260005260406000205460605110156130b1576003604051602052600052604060002061013960605182548110156134dc57026001820101905061013581019050548152506130b7565b60008152505b565b60405160a05260605160c05260406080526080805160208201209050815250565b61010051604052610120516060526130f36101a06130b9565b6101a051610180526101605160066101805160205260005260406000208060e0516020526000526040600020905055600160076101805160205260005260406000208060e0516020526000526040600020905080610160516020526000526040600020905055565b61010051604052610120516060526131746101a06130b9565b6101a05161018052600060076101805160205260005260406000208060e0516020526000526040600020905080610160516020526000526040600020905055565b60e051604052610100516060526131cd6101806130b9565b61018051610160526101605160016101805260006008546210000081116134dc57801561321757905b8060090154831861320c57600061018052613217565b6001018181186131f6575b505061018051905061322a576000613230565b61014051155b6132a1576101605160006101805260006008546210000081116134dc57801561327657905b8060090154831861326b57600161018052613276565b600101818118613255575b5050610180519050156133015761014051156210000961016051602052600052604060002055613301565b600854620fffff81116134dc576001810160085561016051816009015550600162100009610160516020526000526040600020556210000a61016051602052600052604060002060e0518155610100516001820155610120516002820155505b610100516210000b60e0516020526000526040600020600161018052600081546210000081116134dc57801561335657905b80600184010154841861334b57600061018052613356565b600101818118613333575b5050610180519050905061336b576000613371565b61014051155b156133a8576210000b60e05160205260005260406000208054620fffff81116134dc57600181018255610100518160018401015550505b565b6003604051602052600052604060002054606051186134d45760036040516020526000526040600020805461ffff81116134dc57600181018255610139810260018301016060518155608051600182015560a051600282015560c051600382015560e0516004820155610100518060058301556060810260016005840101600082601f0160051c61012c81116134dc57801561345a57905b8060051b610120015181840155600101818118613442575b50505050506126a0516101328201556126c0516101338201556126e05161013482015561270051610135820155612720516101368201556127405161013782015561276051610138820155505050600560405160205260005260406000208054600181018181106134dc57905081555060018152506134da565b60008152505b565b600080fda165767970657283000306000b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.