Address Contract Partially Verified
Address
0xFdedC6e02108B4cb53BbeAC4E041Dec94334C29e
Balance
0 ETH
Nonce
1
Code Size
17082 bytes
Creator
0x2D407dDb...d45C at tx 0x232491b0...6074e4
Indexed Transactions
0 (1 on-chain, 1.5% indexed)
Contract Bytecode
17082 bytes
0x60806040526004361061012a5760003560e01c8063756bb1cc116100ab578063c54e44eb1161006f578063c54e44eb14610383578063e0bab4c4146103ae578063e7c80f17146103d9578063f2fde38b14610402578063f60a15ed1461042b578063f688bcfb146104425761012a565b8063756bb1cc146102c057806389a30271146102eb5780638da5cb5b146103165780638f32d59b1461034157806399b71d5c1461036c5761012a565b8063365833e1116100f2578063365833e1146102015780633a3c3b871461022a57806346bfe1df14610255578063484f4ea91461027e578063715018a6146102a95761012a565b806304d841081461012c57806306bafb491461015757806317e5a9a41461018257806319d9e008146101ad5780632e8d6e18146101d8575b005b34801561013857600080fd5b5061014161046b565b60405161014e9190613db6565b60405180910390f35b34801561016357600080fd5b5061016c610491565b6040516101799190613db6565b60405180910390f35b34801561018e57600080fd5b506101976104b7565b6040516101a49190613db6565b60405180910390f35b3480156101b957600080fd5b506101c26104dd565b6040516101cf9190613db6565b60405180910390f35b3480156101e457600080fd5b506101ff60048036036101fa919081019061376a565b610503565b005b34801561020d57600080fd5b5061022860048036036102239190810190613793565b610606565b005b34801561023657600080fd5b5061023f610df9565b60405161024c9190613db6565b60405180910390f35b34801561026157600080fd5b5061027c60048036036102779190810190613793565b610e1f565b005b34801561028a57600080fd5b50610293611612565b6040516102a09190613db6565b60405180910390f35b3480156102b557600080fd5b506102be611638565b005b3480156102cc57600080fd5b506102d5611740565b6040516102e29190613db6565b60405180910390f35b3480156102f757600080fd5b50610300611766565b60405161030d9190613db6565b60405180910390f35b34801561032257600080fd5b5061032b61178c565b6040516103389190613db6565b60405180910390f35b34801561034d57600080fd5b506103566117b6565b6040516103639190613e9e565b60405180910390f35b34801561037857600080fd5b50610381611815565b005b34801561038f57600080fd5b50610398611cff565b6040516103a59190613db6565b60405180910390f35b3480156103ba57600080fd5b506103c3611d25565b6040516103d09190613db6565b60405180910390f35b3480156103e557600080fd5b5061040060048036036103fb9190810190613793565b611d4b565b005b34801561040e57600080fd5b5061042960048036036104249190810190613718565b61256c565b005b34801561043757600080fd5b506104406125bf565b005b34801561044e57600080fd5b5061046960048036036104649190810190613793565b6126cc565b005b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61050b6117b6565b61054a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054190613fdb565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105859190613dd1565b60206040518083038186803b15801561059d57600080fd5b505afa1580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d591908101906137bc565b905061060233828473ffffffffffffffffffffffffffffffffffffffff16612eed9092919063ffffffff16565b5050565b600160008082825401925050819055506000805490506000821161065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690613ffb565b60405180910390fd5b6106ae333084600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f8c909392919063ffffffff16565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b815260040161070991906140bb565b600060405180830381600087803b15801561072357600080fd5b505af1158015610737573d6000803e3d6000fd5b505050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107989190613dd1565b60206040518083038186803b1580156107b057600080fd5b505afa1580156107c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e891908101906137bc565b14610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081f90613f1b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663029b2f346040518060800160405280600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108cc9190613dd1565b60206040518083038186803b1580156108e457600080fd5b505afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091c91908101906137bc565b81526020016000815260200160008152602001600081525060006040518363ffffffff1660e01b8152600401610953929190613e75565b600060405180830381600087803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109e29190613dd1565b60206040518083038186803b1580156109fa57600080fd5b505afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3291908101906137bc565b14610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6990613f5b565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610acf9190613dd1565b60206040518083038186803b158015610ae757600080fd5b505afa158015610afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b1f91908101906137bc565b90506000610b4a6064610b3c60058761302e90919063ffffffff16565b61309e90919063ffffffff16565b90506000610b6182866130e890919063ffffffff16565b90506000610b78838761313290919063ffffffff16565b9050808411158015610b8a5750818410155b610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc09061401b565b60405180910390fd5b610cc033600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c289190613dd1565b60206040518083038186803b158015610c4057600080fd5b505afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c7891908101906137bc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eed9092919063ffffffff16565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d1d9190613dd1565b60206040518083038186803b158015610d3557600080fd5b505afa158015610d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d6d91908101906137bc565b14610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490613f9b565b60405180910390fd5b505050506000548114610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061405b565b60405180910390fd5b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600080828254019250508190555060008054905060008211610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90613ffb565b60405180910390fd5b610ec7333084600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f8c909392919063ffffffff16565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b8152600401610f2291906140bb565b600060405180830381600087803b158015610f3c57600080fd5b505af1158015610f50573d6000803e3d6000fd5b505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fb19190613dd1565b60206040518083038186803b158015610fc957600080fd5b505afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100191908101906137bc565b14611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103890613f1b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663029b2f346040518060800160405280600081526020016000815260200160008152602001600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110fa9190613dd1565b60206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114a91908101906137bc565b81525060006040518363ffffffff1660e01b815260040161116c929190613e75565b600060405180830381600087803b15801561118657600080fd5b505af115801561119a573d6000803e3d6000fd5b505050506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111fb9190613dd1565b60206040518083038186803b15801561121357600080fd5b505afa158015611227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061124b91908101906137bc565b1461128b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128290613f5b565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112e89190613dd1565b60206040518083038186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061133891908101906137bc565b90506000611363606461135560058761302e90919063ffffffff16565b61309e90919063ffffffff16565b9050600061137a82866130e890919063ffffffff16565b90506000611391838761313290919063ffffffff16565b90508084111580156113a35750818410155b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d99061401b565b60405180910390fd5b6114d933600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114419190613dd1565b60206040518083038186803b15801561145957600080fd5b505afa15801561146d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149191908101906137bc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eed9092919063ffffffff16565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115369190613dd1565b60206040518083038186803b15801561154e57600080fd5b505afa158015611562573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061158691908101906137bc565b146115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd90613f9b565b60405180910390fd5b50505050600054811461160e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116059061405b565b60405180910390fd5b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116406117b6565b61167f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167690613fdb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117f9613187565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6118a4600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611933600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b6119c2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611a51600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611ac1600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611bdf600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611c6e600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b611cfd600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661318f9092919063ffffffff16565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600080828254019250508190555060008054905060008211611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b90613ffb565b60405180910390fd5b611df3333084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f8c909392919063ffffffff16565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b8152600401611e4e91906140bb565b600060405180830381600087803b158015611e6857600080fd5b505af1158015611e7c573d6000803e3d6000fd5b505050506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611edd9190613dd1565b60206040518083038186803b158015611ef557600080fd5b505afa158015611f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f2d91908101906137bc565b14611f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6490613f1b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663029b2f3460405180608001604052806000815260200160008152602001600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161201f9190613dd1565b60206040518083038186803b15801561203757600080fd5b505afa15801561204b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206f91908101906137bc565b8152602001600081525060006040518363ffffffff1660e01b8152600401612098929190613e75565b600060405180830381600087803b1580156120b257600080fd5b505af11580156120c6573d6000803e3d6000fd5b505050506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121279190613dd1565b60206040518083038186803b15801561213f57600080fd5b505afa158015612153573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061217791908101906137bc565b146121b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ae90613f5b565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016122149190613dd1565b60206040518083038186803b15801561222c57600080fd5b505afa158015612240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061226491908101906137bc565b9050600061228f606461228160058761302e90919063ffffffff16565b61309e90919063ffffffff16565b905060006122bd64e8d4a510006122af84886130e890919063ffffffff16565b61302e90919063ffffffff16565b905060006122eb64e8d4a510006122dd858961313290919063ffffffff16565b61302e90919063ffffffff16565b90508084111580156122fd5750818410155b61233c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123339061401b565b60405180910390fd5b61243333600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161239b9190613dd1565b60206040518083038186803b1580156123b357600080fd5b505afa1580156123c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123eb91908101906137bc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eed9092919063ffffffff16565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124909190613dd1565b60206040518083038186803b1580156124a857600080fd5b505afa1580156124bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124e091908101906137bc565b14612520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251790613f9b565b60405180910390fd5b505050506000548114612568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255f9061405b565b60405180910390fd5b5050565b6125746117b6565b6125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125aa90613fdb565b60405180910390fd5b6125bc81613306565b50565b6125c76117b6565b612606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fd90613fdb565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405161264390613da1565b60006040518083038185875af1925050503d8060008114612680576040519150601f19603f3d011682016040523d82523d6000602084013e612685565b606091505b50509050806126c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c090613f7b565b60405180910390fd5b50565b6001600080828254019250508190555060008054905060008211612725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271c90613ffb565b60405180910390fd5b612774333084600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f8c909392919063ffffffff16565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b81526004016127cf91906140bb565b600060405180830381600087803b1580156127e957600080fd5b505af11580156127fd573d6000803e3d6000fd5b505050506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161285e9190613dd1565b60206040518083038186803b15801561287657600080fd5b505afa15801561288a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ae91908101906137bc565b146128ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e590613f1b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663029b2f34604051806080016040528060008152602001600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016129999190613dd1565b60206040518083038186803b1580156129b157600080fd5b505afa1580156129c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129e991908101906137bc565b815260200160008152602001600081525060006040518363ffffffff1660e01b8152600401612a19929190613e75565b600060405180830381600087803b158015612a3357600080fd5b505af1158015612a47573d6000803e3d6000fd5b505050506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612aa89190613dd1565b60206040518083038186803b158015612ac057600080fd5b505afa158015612ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612af891908101906137bc565b14612b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2f90613f5b565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612b959190613dd1565b60206040518083038186803b158015612bad57600080fd5b505afa158015612bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612be591908101906137bc565b90506000612c106064612c0260058761302e90919063ffffffff16565b61309e90919063ffffffff16565b90506000612c3e64e8d4a51000612c3084886130e890919063ffffffff16565b61302e90919063ffffffff16565b90506000612c6c64e8d4a51000612c5e858961313290919063ffffffff16565b61302e90919063ffffffff16565b9050808411158015612c7e5750818410155b612cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb49061401b565b60405180910390fd5b612db433600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612d1c9190613dd1565b60206040518083038186803b158015612d3457600080fd5b505afa158015612d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6c91908101906137bc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eed9092919063ffffffff16565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612e119190613dd1565b60206040518083038186803b158015612e2957600080fd5b505afa158015612e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e6191908101906137bc565b14612ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e9890613f9b565b60405180910390fd5b505050506000548114612ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee09061405b565b60405180910390fd5b5050565b612f87838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401612f25929190613e4c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613436565b505050565b613028848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401612fc693929190613e15565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613436565b50505050565b6000808314156130415760009050613098565b600082840290508284828161305257fe5b0414613093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308a90613fbb565b60405180910390fd5b809150505b92915050565b60006130e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135a8565b905092915050565b600061312a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613609565b905092915050565b60008082840190508381101561317d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161317490613efb565b60405180910390fd5b8091505092915050565b600033905090565b6000811480613228575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016131d6929190613dec565b60206040518083038186803b1580156131ee57600080fd5b505afa158015613202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061322691908101906137bc565b145b613267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325e9061407b565b60405180910390fd5b613301838473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3905060e01b848460405160240161329f929190613e4c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613436565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336d90613edb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6134558273ffffffffffffffffffffffffffffffffffffffff16613664565b613494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161348b9061409b565b60405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516134bd9190613d8a565b6000604051808303816000865af19150503d80600081146134fa576040519150601f19603f3d011682016040523d82523d6000602084013e6134ff565b606091505b509150915081613544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161353b90613f3b565b60405180910390fd5b6000815111156135a257808060200190516135629190810190613741565b6135a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135989061403b565b60405180910390fd5b5b50505050565b600080831182906135ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e69190613eb9565b60405180910390fd5b5060008385816135fb57fe5b049050809150509392505050565b6000838311158290613651576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136489190613eb9565b60405180910390fd5b5060008385039050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156136a65750808214155b92505050919050565b6000813590506136be8161421b565b92915050565b6000815190506136d381614232565b92915050565b6000813590506136e881614249565b92915050565b6000813590506136fd81614260565b92915050565b60008151905061371281614260565b92915050565b60006020828403121561372a57600080fd5b6000613738848285016136af565b91505092915050565b60006020828403121561375357600080fd5b6000613761848285016136c4565b91505092915050565b60006020828403121561377c57600080fd5b600061378a848285016136d9565b91505092915050565b6000602082840312156137a557600080fd5b60006137b3848285016136ee565b91505092915050565b6000602082840312156137ce57600080fd5b60006137dc84828501613703565b91505092915050565b60006137f18383613d6c565b60208301905092915050565b6138068161418f565b82525050565b61381581614135565b82525050565b613824816140e0565b61382e818461410e565b9250613839826140d6565b8060005b8381101561386a57815161385187826137e5565b965061385c83614101565b92505060018101905061383d565b505050505050565b61387b81614147565b82525050565b600061388c826140eb565b6138968185614119565b93506138a68185602086016141d7565b80840191505092915050565b6138bb816141a1565b82525050565b60006138cc826140f6565b6138d68185614124565b93506138e68185602086016141d7565b6138ef8161420a565b840191505092915050565b6000613907602683614124565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061396d601b83614124565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006139ad600f83614124565b91507f746f6b656e2072656d61696e64657200000000000000000000000000000000006000830152602082019050919050565b60006139ed602083614124565b91507f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646000830152602082019050919050565b6000613a2d601083614124565b91507f79546f6b656e2072656d61696e646572000000000000000000000000000000006000830152602082019050919050565b6000613a6d601683614124565b91507f7472616e73666572206f6620455448206661696c6564000000000000000000006000830152602082019050919050565b6000613aad600f83614124565b91507f43555256452072656d61696e64657200000000000000000000000000000000006000830152602082019050919050565b6000613aed602183614124565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b53602083614124565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000613b93600083614119565b9150600082019050919050565b6000613bad601e83614124565b91507f6465706f736974206d7573742062652067726561746572207468616e203000006000830152602082019050919050565b6000613bed601883614124565b91507f736c6970706167652067726561746572207468616e20352500000000000000006000830152602082019050919050565b6000613c2d602a83614124565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b6000613c93601f83614124565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000613cd3603683614124565b91507f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008301527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006020830152604082019050919050565b6000613d39601f83614124565b91507f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e7472616374006000830152602082019050919050565b613d7581614185565b82525050565b613d8481614185565b82525050565b6000613d968284613881565b915081905092915050565b6000613dac82613b86565b9150819050919050565b6000602082019050613dcb600083018461380c565b92915050565b6000602082019050613de660008301846137fd565b92915050565b6000604082019050613e01600083018561380c565b613e0e602083018461380c565b9392505050565b6000606082019050613e2a600083018661380c565b613e37602083018561380c565b613e446040830184613d7b565b949350505050565b6000604082019050613e61600083018561380c565b613e6e6020830184613d7b565b9392505050565b600060a082019050613e8a600083018561381b565b613e9760808301846138b2565b9392505050565b6000602082019050613eb36000830184613872565b92915050565b60006020820190508181036000830152613ed381846138c1565b905092915050565b60006020820190508181036000830152613ef4816138fa565b9050919050565b60006020820190508181036000830152613f1481613960565b9050919050565b60006020820190508181036000830152613f34816139a0565b9050919050565b60006020820190508181036000830152613f54816139e0565b9050919050565b60006020820190508181036000830152613f7481613a20565b9050919050565b60006020820190508181036000830152613f9481613a60565b9050919050565b60006020820190508181036000830152613fb481613aa0565b9050919050565b60006020820190508181036000830152613fd481613ae0565b9050919050565b60006020820190508181036000830152613ff481613b46565b9050919050565b6000602082019050818103600083015261401481613ba0565b9050919050565b6000602082019050818103600083015261403481613be0565b9050919050565b6000602082019050818103600083015261405481613c20565b9050919050565b6000602082019050818103600083015261407481613c86565b9050919050565b6000602082019050818103600083015261409481613cc6565b9050919050565b600060208201905081810360008301526140b481613d2c565b9050919050565b60006020820190506140d06000830184613d7b565b92915050565b6000819050919050565b600060049050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b600061414082614165565b9050919050565b60008115159050919050565b600061415e82614135565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061419a826141b3565b9050919050565b60006141ac82614185565b9050919050565b60006141be826141c5565b9050919050565b60006141d082614165565b9050919050565b60005b838110156141f55780820151818401526020810190506141da565b83811115614204576000848401525b50505050565b6000601f19601f8301169050919050565b61422481614135565b811461422f57600080fd5b50565b61423b81614147565b811461424657600080fd5b50565b61425281614153565b811461425d57600080fd5b50565b61426981614185565b811461427457600080fd5b5056fea365627a7a723158203818ba33fb2d668eb79be133c62265accd45301f6d99b7d60f5ff33f5d839e786c6578706572696d656e74616cf564736f6c634300050c0040
Verified Source Code Partial Match
Compiler: v0.5.12+commit.7709ece9
EVM: petersburg
Optimization: No
yCurveZapInV4.sol 330 lines
pragma solidity ^0.5.0;
pragma experimental ABIEncoderV2;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Context {
constructor () internal { }
// solhint-disable-previous-line no-empty-blocks
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
function _msgData() internal view returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
contract ReentrancyGuard {
uint256 private _guardCounter;
constructor () internal {
_guardCounter = 1;
}
modifier nonReentrant() {
_guardCounter += 1;
uint256 localCounter = _guardCounter;
_;
require(localCounter == _guardCounter, "ReentrancyGuard: reentrant call");
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () internal {
_owner = _msgSender();
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(isOwner(), "Ownable: caller is not the owner");
_;
}
function isOwner() public view returns (bool) {
return _msgSender() == _owner;
}
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != 0x0 && codehash != accountHash);
}
function toPayable(address account) internal pure returns (address payable) {
return address(uint160(account));
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-call-value
(bool success, ) = recipient.call.value(amount)("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
library SafeERC20 {
using SafeMath for uint256;
using Address for address;
function safeTransfer(IERC20 token, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint256 value) internal {
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function callOptionalReturn(IERC20 token, bytes memory data) private {
require(address(token).isContract(), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
interface yERC20 {
function deposit(uint256 _amount) external;
}
// Solidity Interface
interface ICurveFi {
function add_liquidity(
uint256[4] calldata amounts,
uint256 min_mint_amount
) external;
function remove_liquidity_imbalance(
uint256[4] calldata amounts,
uint256 max_burn_amount
) external;
}
contract yCurveZapInV4 is ReentrancyGuard, Ownable {
using SafeERC20 for IERC20;
using Address for address;
using SafeMath for uint256;
address public DAI;
address public yDAI;
address public USDC;
address public yUSDC;
address public USDT;
address public yUSDT;
address public BUSD;
address public yBUSD;
address public SWAP;
address public CURVE;
constructor () public {
DAI = address(0x6B175474E89094C44Da98b954EedeAC495271d0F);
yDAI = address(0xC2cB1040220768554cf699b0d863A3cd4324ce32);
USDC = address(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48);
yUSDC = address(0x26EA744E5B887E5205727f55dFBE8685e3b21951);
USDT = address(0xdAC17F958D2ee523a2206206994597C13D831ec7);
yUSDT = address(0xE6354ed5bC4b393a5Aad09f21c46E101e692d447);
BUSD = address(0x4Fabb145d64652a948d72533023f6E7A623C7C53);
yBUSD = address(0x04bC0Ab673d88aE9dbC9DA2380cB6B79C4BCa9aE);
SWAP = address(0x79a8C46DeA5aDa233ABaFFD40F3A0A2B1e5A4F27);
CURVE = address(0x3B3Ac5386837Dc563660FB6a0937DFAa5924333B);
approveToken();
}
function() external payable {
}
function approveToken() public {
IERC20(DAI).safeApprove(yDAI, uint(-1));
IERC20(yDAI).safeApprove(SWAP, uint(-1));
IERC20(USDC).safeApprove(yUSDC, uint(-1));
IERC20(yUSDC).safeApprove(SWAP, uint(-1));
IERC20(USDT).safeApprove(yUSDT, uint(0));
IERC20(USDT).safeApprove(yUSDT, uint(-1));
IERC20(yUSDT).safeApprove(SWAP, uint(-1));
IERC20(BUSD).safeApprove(yBUSD, uint(-1));
IERC20(yBUSD).safeApprove(SWAP, uint(-1));
}
function depositDAI(uint256 _amount)
external
nonReentrant
{
require(_amount > 0, "deposit must be greater than 0");
IERC20(DAI).safeTransferFrom(msg.sender, address(this), _amount);
yERC20(yDAI).deposit(_amount);
require(IERC20(DAI).balanceOf(address(this)) == 0, "token remainder");
ICurveFi(SWAP).add_liquidity([IERC20(yDAI).balanceOf(address(this)),0,0,0],0);
require(IERC20(yDAI).balanceOf(address(this)) == 0, "yToken remainder");
uint256 received = IERC20(CURVE).balanceOf(address(this));
uint256 fivePercent = _amount.mul(5).div(100);
uint256 min = _amount.sub(fivePercent);
uint256 max = _amount.add(fivePercent);
require(received <= max && received >= min, "slippage greater than 5%");
IERC20(CURVE).safeTransfer(msg.sender, IERC20(CURVE).balanceOf(address(this)));
require(IERC20(CURVE).balanceOf(address(this)) == 0, "CURVE remainder");
}
function depositUSDC(uint256 _amount)
external
nonReentrant
{
require(_amount > 0, "deposit must be greater than 0");
IERC20(USDC).safeTransferFrom(msg.sender, address(this), _amount);
yERC20(yUSDC).deposit(_amount);
require(IERC20(USDC).balanceOf(address(this)) == 0, "token remainder");
ICurveFi(SWAP).add_liquidity([0,IERC20(yUSDC).balanceOf(address(this)),0,0],0);
require(IERC20(yUSDC).balanceOf(address(this)) == 0, "yToken remainder");
uint256 received = IERC20(CURVE).balanceOf(address(this));
uint256 fivePercent = _amount.mul(5).div(100);
uint256 min = (_amount.sub(fivePercent)).mul(1e12);
uint256 max = (_amount.add(fivePercent)).mul(1e12);
require(received <= max && received >= min, "slippage greater than 5%");
IERC20(CURVE).safeTransfer(msg.sender, IERC20(CURVE).balanceOf(address(this)));
require(IERC20(CURVE).balanceOf(address(this)) == 0, "CURVE remainder");
}
function depositUSDT(uint256 _amount)
external
nonReentrant
{
require(_amount > 0, "deposit must be greater than 0");
IERC20(USDT).safeTransferFrom(msg.sender, address(this), _amount);
yERC20(yUSDT).deposit(_amount);
require(IERC20(USDT).balanceOf(address(this)) == 0, "token remainder");
ICurveFi(SWAP).add_liquidity([0,0,IERC20(yUSDT).balanceOf(address(this)),0],0);
require(IERC20(yUSDT).balanceOf(address(this)) == 0, "yToken remainder");
uint256 received = IERC20(CURVE).balanceOf(address(this));
uint256 fivePercent = _amount.mul(5).div(100);
uint256 min = (_amount.sub(fivePercent)).mul(1e12);
uint256 max = (_amount.add(fivePercent)).mul(1e12);
require(received <= max && received >= min, "slippage greater than 5%");
IERC20(CURVE).safeTransfer(msg.sender, IERC20(CURVE).balanceOf(address(this)));
require(IERC20(CURVE).balanceOf(address(this)) == 0, "CURVE remainder");
}
function depositBUSD(uint256 _amount)
external
nonReentrant
{
require(_amount > 0, "deposit must be greater than 0");
IERC20(BUSD).safeTransferFrom(msg.sender, address(this), _amount);
yERC20(yBUSD).deposit(_amount);
require(IERC20(BUSD).balanceOf(address(this)) == 0, "token remainder");
ICurveFi(SWAP).add_liquidity([0,0,0,IERC20(yBUSD).balanceOf(address(this))],0);
require(IERC20(yBUSD).balanceOf(address(this)) == 0, "yToken remainder");
uint256 received = IERC20(CURVE).balanceOf(address(this));
uint256 fivePercent = _amount.mul(5).div(100);
uint256 min = _amount.sub(fivePercent);
uint256 max = _amount.add(fivePercent);
require(received <= max && received >= min, "slippage greater than 5%");
IERC20(CURVE).safeTransfer(msg.sender, IERC20(CURVE).balanceOf(address(this)));
require(IERC20(CURVE).balanceOf(address(this)) == 0, "CURVE remainder");
}
// incase of half-way error
function inCaseTokenGetsStuck(IERC20 _TokenAddress) onlyOwner public {
uint qty = _TokenAddress.balanceOf(address(this));
_TokenAddress.safeTransfer(msg.sender, qty);
}
// incase of half-way error
function inCaseETHGetsStuck() onlyOwner public{
(bool result, ) = msg.sender.call.value(address(this).balance)("");
require(result, "transfer of ETH failed");
}
}
Read Contract
BUSD 0x484f4ea9 → address
CURVE 0x3a3c3b87 → address
DAI 0xe0bab4c4 → address
SWAP 0x04d84108 → address
USDC 0x89a30271 → address
USDT 0xc54e44eb → address
isOwner 0x8f32d59b → bool
owner 0x8da5cb5b → address
yBUSD 0x06bafb49 → address
yDAI 0x756bb1cc → address
yUSDC 0x19d9e008 → address
yUSDT 0x17e5a9a4 → address
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
approveToken 0x99b71d5c
No parameters
depositBUSD 0x46bfe1df
uint256 _amount
depositDAI 0x365833e1
uint256 _amount
depositUSDC 0xf688bcfb
uint256 _amount
depositUSDT 0xe7c80f17
uint256 _amount
inCaseETHGetsStuck 0xf60a15ed
No parameters
inCaseTokenGetsStuck 0x2e8d6e18
address _TokenAddress
renounceOwnership 0x715018a6
No parameters
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
This address has 1 on-chain transactions, but only 1.5% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →