0 txs
1 call
constructor
constructor(address _aavePoolAddr, address _usdcAddr, address _ausdcAddr)
functions
aavePoolAddr
viewfunction aavePoolAddr() view returns (address)
aprTiers
viewfunction aprTiers(uint256) view returns (uint256)
ausdcAddr
viewfunction ausdcAddr() view returns (address)
getAPR
viewfunction getAPR(uint256 tier) view returns (uint256)
getBalance
viewfunction getBalance() view returns (uint256)
getSupplierBalance
viewfunction getSupplierBalance(address _supplier, bool _onlyGained) view returns (uint256)
getSupplierDeposits
viewfunction getSupplierDeposits(address supplier) view returns (tuple[])
owner
viewfunction owner() view returns (address)
usdcAddr
viewfunction usdcAddr() view returns (address)
kontigoWithdraw
nonpayablefunction kontigoWithdraw(uint256 _amount) returns (bool)
kontigoWithdrawSpecific
nonpayablefunction kontigoWithdrawSpecific(address _supplier) returns (bool)
setAPRTier
nonpayablefunction setAPRTier(uint256 tier, uint256 apr)
supplyMany
nonpayablefunction supplyMany(uint256[] _amounts, uint256[] _aprTiers, address[] _owners) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw() returns (bool)
events
APRTierUpdated
event APRTierUpdated(uint256 tier, uint256 apr)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Supplied
event Supplied(address indexed supplier, uint256 amount, uint256 tier)
Withdrawn
event Withdrawn(address indexed supplier, uint256 amount)
errors
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60806040523480156200001157600080fd5b50604051620027db380380620027db833981810160405281019062000037919062000211565b600160008190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050506200026d565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001d982620001ac565b9050919050565b620001eb81620001cc565b8114620001f757600080fd5b50565b6000815190506200020b81620001e0565b92915050565b6000806000606084860312156200022d576200022c620001a7565b5b60006200023d86828701620001fa565b93505060206200025086828701620001fa565b92505060406200026386828701620001fa565b9150509250925092565b61255e806200027d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370c7bcc611610097578063d18422d811610066578063d18422d8146102b0578063e8ebd4f2146102cc578063f2fde38b146102fc578063f58a505c14610318576100f5565b806370c7bcc6146102145780638da5cb5b14610244578063903e4fc314610262578063c3887c9314610280576100f5565b806330b6d3cc116100d357806330b6d3cc14610178578063370f5561146101a85780633ccfd60b146101c6578063611f2188146101e4576100f5565b806312065fe0146100fa5780631433d37d146101185780631fc0381214610148575b600080fd5b610102610336565b60405161010f9190611718565b60405180910390f35b610132600480360381019061012d91906117a5565b6103d9565b60405161013f91906118e5565b60405180910390f35b610162600480360381019061015d9190611933565b6104a2565b60405161016f9190611718565b60405180910390f35b610192600480360381019061018d91906117a5565b610514565b60405161019f919061197b565b60405180910390f35b6101b06107ad565b6040516101bd91906119a5565b60405180910390f35b6101ce6107d3565b6040516101db919061197b565b60405180910390f35b6101fe60048036038101906101f99190611933565b6109e5565b60405161020b9190611718565b60405180910390f35b61022e600480360381019061022991906119ec565b6109fd565b60405161023b9190611718565b60405180910390f35b61024c610b87565b60405161025991906119a5565b60405180910390f35b61026a610bb1565b60405161027791906119a5565b60405180910390f35b61029a60048036038101906102959190611933565b610bd7565b6040516102a7919061197b565b60405180910390f35b6102ca60048036038101906102c59190611a2c565b610dd4565b005b6102e660048036038101906102e19190611c88565b610efc565b6040516102f3919061197b565b60405180910390f35b610316600480360381019061031191906117a5565b6113e7565b005b6103206115a6565b60405161032d91906119a5565b60405180910390f35b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161039391906119a5565b602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190611d44565b905090565b6060600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480602002602001604051908101604052809291908181526020016000905b8282101561049757838290600052602060002090600402016040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250508152602001906001019061043d565b505050509050919050565b6000806005600084815260200190815260200160002054036104f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f090611dce565b60405180910390fd5b60056000838152602001908152602001600020549050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059d90611e3a565b60405180910390fd5b6105ae6115cc565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905011610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d90611ea6565b60405180910390fd5b60006106438360016109fd565b905060008111610688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067f90611f12565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166369328dec600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683866040518463ffffffff1660e01b815260040161070993929190611f32565b6020604051808303816000875af1158015610728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074c9190611d44565b50600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600061079b91906116a4565b60019150506107a8611612565b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107dd6115cc565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905011610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90611fb5565b60405180910390fd5b60006108723360016109fd565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166369328dec600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683336040518463ffffffff1660e01b81526004016108f593929190611f32565b6020604051808303816000875af1158015610914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109389190611d44565b50600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600061098791906116a4565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516109cd9190611718565b60405180910390a260019150506109e2611612565b90565b60056020528060005260406000206000915090505481565b6000806000905060005b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050811015610b7c576000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018281548110610aaa57610aa9611fd5565b5b906000526020600020906004020190506000816001015442610acc9190612033565b905060006201518082610adf9190612096565b9050826003015481101580610af2575086155b15610b595760006127106301e13380610b0b91906120c7565b8385600201548660000154610b2091906120c7565b610b2a91906120c7565b610b349190612096565b9050808460000154610b469190612109565b86610b519190612109565b955050610b6c565b826000015485610b699190612109565b94505b5050508080600101915050610a07565b508091505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090611e3a565b60405180910390fd5b610c716115cc565b60008211610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612189565b60405180910390fd5b610cbc610336565b821115610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906121f5565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166369328dec600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684336040518463ffffffff1660e01b8152600401610d7f93929190611f32565b6020604051808303816000875af1158015610d9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc29190611d44565b5060019050610dcf611612565b919050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b90611e3a565b60405180910390fd5b60008211610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e90612261565b60405180910390fd5b8060056000848152602001908152602001600020819055507f65568ebdeebeb558bb72ab2158c51ebf22cbb983d0e9390e7848c0b3650ccfa88282604051610ef0929190612281565b60405180910390a15050565b6000610f066115cc565b8251845114610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f41906122f6565b60405180910390fd5b8151845114610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f85906122f6565b60405180910390fd5b60005b84518110156113d3576000858281518110610faf57610fae611fd5565b5b602002602001015190506000858381518110610fce57610fcd611fd5565b5b602002602001015190506000858481518110610fed57610fec611fd5565b5b602002602001015190506000831161103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190612189565b60405180910390fd5b6001821015801561104c575060048211155b61108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612362565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8230866040518463ffffffff1660e01b81526004016110ea93929190612382565b6020604051808303816000875af1158015611109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d91906123ce565b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b81526004016111ad9291906123fb565b6020604051808303816000875af11580156111cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f091906123ce565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663617ba037600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16853060006040518563ffffffff1660e01b81526004016112759493929190612477565b600060405180830381600087803b15801561128f57600080fd5b505af11580156112a3573d6000803e3d6000fd5b5050505060006112b2836104a2565b9050600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001604051806080016040528086815260200142815260200183815260200161131c8661161c565b81525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015550508173ffffffffffffffffffffffffffffffffffffffff167f5c2c0d2616a06b35bb159b4d7e227972b59bb33f8d5229ca0e5e438259bfd5d385836040516113ba929190612281565b60405180910390a2505050508080600101915050610f91565b50600190506113e0611612565b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e90611e3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dd90612508565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260005403611608576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600081905550565b6001600081905550565b60006001820361162f57605a905061169f565b600282036116405760b4905061169f565b600382036116525761010e905061169f565b600482036116645761012c905061169f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612261565b60405180910390fd5b919050565b50805460008255600402906000526020600020908101906116c591906116c8565b50565b5b808211156116fb57600080820160009055600182016000905560028201600090556003820160009055506004016116c9565b5090565b6000819050919050565b611712816116ff565b82525050565b600060208201905061172d6000830184611709565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061177282611747565b9050919050565b61178281611767565b811461178d57600080fd5b50565b60008135905061179f81611779565b92915050565b6000602082840312156117bb576117ba61173d565b5b60006117c984828501611790565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611807816116ff565b82525050565b60808201600082015161182360008501826117fe565b50602082015161183660208501826117fe565b50604082015161184960408501826117fe565b50606082015161185c60608501826117fe565b50505050565b600061186e838361180d565b60808301905092915050565b6000602082019050919050565b6000611892826117d2565b61189c81856117dd565b93506118a7836117ee565b8060005b838110156118d85781516118bf8882611862565b97506118ca8361187a565b9250506001810190506118ab565b5085935050505092915050565b600060208201905081810360008301526118ff8184611887565b905092915050565b611910816116ff565b811461191b57600080fd5b50565b60008135905061192d81611907565b92915050565b6000602082840312156119495761194861173d565b5b60006119578482850161191e565b91505092915050565b60008115159050919050565b61197581611960565b82525050565b6000602082019050611990600083018461196c565b92915050565b61199f81611767565b82525050565b60006020820190506119ba6000830184611996565b92915050565b6119c981611960565b81146119d457600080fd5b50565b6000813590506119e6816119c0565b92915050565b60008060408385031215611a0357611a0261173d565b5b6000611a1185828601611790565b9250506020611a22858286016119d7565b9150509250929050565b60008060408385031215611a4357611a4261173d565b5b6000611a518582860161191e565b9250506020611a628582860161191e565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aba82611a71565b810181811067ffffffffffffffff82111715611ad957611ad8611a82565b5b80604052505050565b6000611aec611733565b9050611af88282611ab1565b919050565b600067ffffffffffffffff821115611b1857611b17611a82565b5b602082029050602081019050919050565b600080fd5b6000611b41611b3c84611afd565b611ae2565b90508083825260208201905060208402830185811115611b6457611b63611b29565b5b835b81811015611b8d5780611b79888261191e565b845260208401935050602081019050611b66565b5050509392505050565b600082601f830112611bac57611bab611a6c565b5b8135611bbc848260208601611b2e565b91505092915050565b600067ffffffffffffffff821115611be057611bdf611a82565b5b602082029050602081019050919050565b6000611c04611bff84611bc5565b611ae2565b90508083825260208201905060208402830185811115611c2757611c26611b29565b5b835b81811015611c505780611c3c8882611790565b845260208401935050602081019050611c29565b5050509392505050565b600082601f830112611c6f57611c6e611a6c565b5b8135611c7f848260208601611bf1565b91505092915050565b600080600060608486031215611ca157611ca061173d565b5b600084013567ffffffffffffffff811115611cbf57611cbe611742565b5b611ccb86828701611b97565b935050602084013567ffffffffffffffff811115611cec57611ceb611742565b5b611cf886828701611b97565b925050604084013567ffffffffffffffff811115611d1957611d18611742565b5b611d2586828701611c5a565b9150509250925092565b600081519050611d3e81611907565b92915050565b600060208284031215611d5a57611d5961173d565b5b6000611d6884828501611d2f565b91505092915050565b600082825260208201905092915050565b7f415052206e6f742073657420666f722074686973207469657200000000000000600082015250565b6000611db8601983611d71565b9150611dc382611d82565b602082019050919050565b60006020820190508181036000830152611de781611dab565b9050919050565b7f4e4f54204f574e45520000000000000000000000000000000000000000000000600082015250565b6000611e24600983611d71565b9150611e2f82611dee565b602082019050919050565b60006020820190508181036000830152611e5381611e17565b9050919050565b7f4e6f206465706f73697473000000000000000000000000000000000000000000600082015250565b6000611e90600b83611d71565b9150611e9b82611e5a565b602082019050919050565b60006020820190508181036000830152611ebf81611e83565b9050919050565b7f4e6f2062616c616e636500000000000000000000000000000000000000000000600082015250565b6000611efc600a83611d71565b9150611f0782611ec6565b602082019050919050565b60006020820190508181036000830152611f2b81611eef565b9050919050565b6000606082019050611f476000830186611996565b611f546020830185611709565b611f616040830184611996565b949350505050565b7f4e6f206465706f73697420666f756e6400000000000000000000000000000000600082015250565b6000611f9f601083611d71565b9150611faa82611f69565b602082019050919050565b60006020820190508181036000830152611fce81611f92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061203e826116ff565b9150612049836116ff565b925082820390508181111561206157612060612004565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006120a1826116ff565b91506120ac836116ff565b9250826120bc576120bb612067565b5b828204905092915050565b60006120d2826116ff565b91506120dd836116ff565b92508282026120eb816116ff565b9150828204841483151761210257612101612004565b5b5092915050565b6000612114826116ff565b915061211f836116ff565b925082820190508082111561213757612136612004565b5b92915050565b7f496e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b6000612173600e83611d71565b915061217e8261213d565b602082019050919050565b600060208201905081810360008301526121a281612166565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006121df601483611d71565b91506121ea826121a9565b602082019050919050565b6000602082019050818103600083015261220e816121d2565b9050919050565b7f496e76616c696420746965720000000000000000000000000000000000000000600082015250565b600061224b600c83611d71565b915061225682612215565b602082019050919050565b6000602082019050818103600083015261227a8161223e565b9050919050565b60006040820190506122966000830185611709565b6122a36020830184611709565b9392505050565b7f4c656e677468206d69736d617463680000000000000000000000000000000000600082015250565b60006122e0600f83611d71565b91506122eb826122aa565b602082019050919050565b6000602082019050818103600083015261230f816122d3565b9050919050565b7f496e76616c696420415052207469657200000000000000000000000000000000600082015250565b600061234c601083611d71565b915061235782612316565b602082019050919050565b6000602082019050818103600083015261237b8161233f565b9050919050565b60006060820190506123976000830186611996565b6123a46020830185611996565b6123b16040830184611709565b949350505050565b6000815190506123c8816119c0565b92915050565b6000602082840312156123e4576123e361173d565b5b60006123f2848285016123b9565b91505092915050565b60006040820190506124106000830185611996565b61241d6020830184611709565b9392505050565b6000819050919050565b600061ffff82169050919050565b6000819050919050565b600061246161245c61245784612424565b61243c565b61242e565b9050919050565b61247181612446565b82525050565b600060808201905061248c6000830187611996565b6124996020830186611709565b6124a66040830185611996565b6124b36060830184612468565b95945050505050565b7f5a45524f20414444524553530000000000000000000000000000000000000000600082015250565b60006124f2600c83611d71565b91506124fd826124bc565b602082019050919050565b60006020820190508181036000830152612521816124e5565b905091905056fea26469706673582212207094cb69c95d50b6fe85444093ef24bb71a4cf42d4a943c5dc9df1fd8c3a015964736f6c63430008180033000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab