36 txs
36 calls
constructor
constructor(address _cfa, uint64 _minLower, uint64 _minUpper)
functions
approvedStrategies
viewfunction approvedStrategies(address) view returns (bool)
cfaV1
viewfunction cfaV1() view returns (address)
checkWrap
viewfunction checkWrap(address user, address superToken, address liquidityToken) view returns (uint256)
checkWrapByIndex
viewfunction checkWrapByIndex(bytes32 index) view returns (uint256 amount)
getWrapSchedule
viewfunction getWrapSchedule(address user, address superToken, address liquidityToken) view returns (tuple)
getWrapScheduleByIndex
viewfunction getWrapScheduleByIndex(bytes32 index) view returns (tuple)
getWrapScheduleIndex
purefunction getWrapScheduleIndex(address user, address superToken, address liquidityToken) pure returns (bytes32)
minLower
viewfunction minLower() view returns (uint64)
minUpper
viewfunction minUpper() view returns (uint64)
owner
viewfunction owner() view returns (address)
addApprovedStrategy
nonpayablefunction addApprovedStrategy(address strategy)
createWrapSchedule
nonpayablefunction createWrapSchedule(address superToken, address strategy, address liquidityToken, uint64 expiry, uint64 lowerLimit, uint64 upperLimit)
deleteWrapSchedule
nonpayablefunction deleteWrapSchedule(address user, address superToken, address liquidityToken)
deleteWrapScheduleByIndex
nonpayablefunction deleteWrapScheduleByIndex(bytes32 index)
executeWrap
nonpayablefunction executeWrap(address user, address superToken, address liquidityToken)
executeWrapByIndex
nonpayablefunction executeWrapByIndex(bytes32 index)
removeApprovedStrategy
nonpayablefunction removeApprovedStrategy(address strategy)
renounceOwnership
nonpayablefunction renounceOwnership()
setLimits
nonpayablefunction setLimits(uint64 lowerLimit, uint64 upperLimit)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AddedApprovedStrategy
event AddedApprovedStrategy(address indexed strategy)
LimitsChanged
event LimitsChanged(uint64 lowerLimit, uint64 upperLimit)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RemovedApprovedStrategy
event RemovedApprovedStrategy(address indexed strategy)
WrapExecuted
event WrapExecuted(bytes32 indexed id, uint256 wrapAmount)
WrapScheduleCreated
event WrapScheduleCreated(bytes32 indexed id, address indexed user, address indexed superToken, address strategy, address liquidityToken, uint256 expiry, uint256 lowerLimit, uint256 upperLimit)
WrapScheduleDeleted
event WrapScheduleDeleted(bytes32 indexed id, address indexed user, address indexed superToken, address strategy, address liquidityToken)
errors
InsufficientLimits
error InsufficientLimits(uint64 limitGiven, uint64 minLimit)
InvalidExpirationTime
error InvalidExpirationTime(uint64 expirationTimeGiven, uint256 timeNow)
InvalidStrategy
error InvalidStrategy(address strategy)
UnauthorizedCaller
error UnauthorizedCaller(address caller, address expectedCaller)
UnsupportedSuperToken
error UnsupportedSuperToken(address superToken)
WrapNotRequired
error WrapNotRequired(bytes32 index)
WrongLimits
error WrongLimits(uint64 lowerLimit, uint64 upperLimit)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200170e3803806200170e83398101604081905262000034916200016d565b6200003f3362000100565b6001600160a01b038316620000675760405163d92e233d60e01b815260040160405180910390fd5b806001600160401b0316826001600160401b031610620000b15760405163e527798560e01b81526001600160401b0380841660048301528216602482015260440160405180910390fd5b6001600160a01b039290921660805260008054600160a01b600160e01b031916600160a01b6001600160401b0393841602179055600180546001600160401b03191691909216179055620001c4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160401b03811681146200016857600080fd5b919050565b6000806000606084860312156200018357600080fd5b83516001600160a01b03811681146200019b57600080fd5b9250620001ab6020850162000150565b9150620001bb6040850162000150565b90509250925092565b608051611527620001e760003960008181610416015261065201526115276000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638bc6a941116100ad578063ba93ca2b11610071578063ba93ca2b146103b8578063c613aec0146103cb578063cb85958e146103fe578063d3112b2e14610411578063f2fde38b1461043857600080fd5b80638bc6a941146103405780638da5cb5b14610353578063a4d3518014610378578063a7052e6b1461038b578063aa964919146103a557600080fd5b80635626f9e6116100f45780635626f9e6146102d457806359b830be146102e75780635e0d69d414610312578063715018a6146103255780637c430ae01461032d57600080fd5b806322d1d3e3146101315780632638ca9214610146578063301f85c11461016c5780633f34c514146102ae5780634e0e623d146102c1575b600080fd5b61014461013f3660046112fd565b61044b565b005b610159610154366004611340565b61045e565b6040519081526020015b60405180910390f35b61023a61017a366004611340565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915250600090815260036020818152604092839020835160e08101855281546001600160a01b039081168252600183015481169382019390935260028201548316948101949094529182015490811660608401526001600160401b03600160a01b9091048116608084015260049091015480821660a0840152600160401b90041660c082015290565b604051610163919081516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151909116908201526080808301516001600160401b039081169183019190915260a08381015182169083015260c092830151169181019190915260e00190565b6101446102bc366004611370565b610848565b6101446102cf3660046113a3565b61091b565b6101446102e23660046113c5565b6109c2565b6001546102fa906001600160401b031681565b6040516001600160401b039091168152602001610163565b6101596103203660046112fd565b610dc8565b610144610e13565b61014461033b366004611340565b610e27565b61014461034e3660046113a3565b610fb9565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610163565b6101446103863660046112fd565b61102b565b6000546102fa90600160a01b90046001600160401b031681565b61023a6103b33660046112fd565b611039565b6101596103c63660046112fd565b611088565b6103ee6103d93660046113a3565b60026020526000908152604090205460ff1681565b6040519015158152602001610163565b61014461040c366004611340565b611098565b6103607f000000000000000000000000000000000000000000000000000000000000000081565b6101446104463660046113a3565b6111c1565b61045961040c848484610dc8565b505050565b600081815260036020526040812080546001600160a01b031615806104985750600381015442600160a01b9091046001600160401b031611155b8061051e5750600381015481546002830154604051636eb1769f60e11b81526001600160a01b039283166004820152908216602482015291169063dd62ed3e90604401602060405180830381865afa1580156104f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051c9190611439565b155b806105975750600381015481546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190611439565b155b80610613575060028101546001820154604051630fc888cb60e41b81526001600160a01b03918216600482015291169063fc888cb090602401602060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106119190611452565b155b156106215750600092915050565b6001810154815460405163e8e7e2d160e01b81526001600160a01b03928316600482015290821660248201526000917f0000000000000000000000000000000000000000000000000000000000000000169063e8e7e2d190604401602060405180830381865afa158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611474565b9050600081600b0b121561083e57600182015482546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107419190611439565b90506000610751836000196114ad565b6000805460048701546bffffffffffffffffffffffff93909316935090916001600160401b03600160a01b909204821691161061079b5760048501546001600160401b03166107af565b600054600160a01b90046001600160401b03165b60015460048701549192506000916001600160401b03918216600160401b909104909116106107f2576004860154600160401b90046001600160401b03166107ff565b6001546001600160401b03165b90506108146001600160401b038316846114d4565b84116108395761082d6001600160401b038216846114d4565b98975050505050505050565b505050505b5060009392505050565b610850611237565b806001600160401b0316826001600160401b03161061089a5760405163e527798560e01b81526001600160401b038084166004830152821660248201526044015b60405180910390fd5b6000805467ffffffffffffffff60a01b1916600160a01b6001600160401b03858116918202929092179092556001805467ffffffffffffffff191691841691821790556040805192835260208301919091527fcdbc762ccbd384cdee07c2d0ac57883fa6bb2cd308895ed4417a0526c6baea0c910160405180910390a15050565b610923611237565b6001600160a01b03811661095557604051633ae252cd60e21b81526001600160a01b0382166004820152602401610891565b6001600160a01b03811660009081526002602052604090205460ff166109bf576001600160a01b038116600081815260026020526040808220805460ff19166001179055517f3edff2b723512b7e98f0fb394d84a670f3a40eb2f2c51e9c00c58a3f04e1e4dd9190a25b50565b42836001600160401b0316116109fc5760405163a81e80eb60e01b81526001600160401b0384166004820152426024820152604401610891565b6000546001600160401b03600160a01b90910481169083161015610a525760005460405163367e59f960e01b81526001600160401b038481166004830152600160a01b9092049091166024820152604401610891565b6001546001600160401b039081169082161015610a995760015460405163367e59f960e01b81526001600160401b0380841660048301529091166024820152604401610891565b6000610aa6338887610dc8565b6000818152600360205260409020549091506001600160a01b03163314610cec576001600160a01b0387161580610ae457506001600160a01b038616155b80610af657506001600160a01b038516155b15610b145760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03861660009081526002602052604090205460ff16610b5857604051633ae252cd60e21b81526001600160a01b0387166004820152602401610891565b604051630fc888cb60e41b81526001600160a01b03888116600483015287169063fc888cb090602401602060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611452565b610bea57604051631d5f93fb60e01b81526001600160a01b0388166004820152602401610891565b6040805160e0810182523381526001600160a01b0389811660208084019182528a83168486019081528a8416606086019081526001600160401b03808c16608088019081528b821660a089019081528b831660c08a0190815260008c81526003978890529a909a20985189549089166001600160a01b0319918216178a55965160018a018054918a16918916919091179055935160028901805491891691909716179095559051928601805494518216600160a01b026001600160e01b0319909516939095169290921792909217909255516004909201805493518216600160401b026001600160801b03199094169290911691909117919091179055610d54565b600081815260036020819052604090912090810180546001600160401b03808816600160a01b0267ffffffffffffffff60a01b199092169190911790915560049091018054848316600160401b026001600160801b0319909116928616929092179190911790555b604080516001600160a01b03888116825287811660208301526001600160401b0387811683850152868116606084015285166080830152915191891691339184917f90d3f846038b7ed6357b961c2e2a5725f038437f435d19b64f5a5134811099759181900360a00190a450505050505050565b604080516001600160a01b0380861660208301528085169282019290925290821660608201526000906080016040516020818303038152906040528051906020012090509392505050565b610e1b611237565b610e256000611291565b565b6000610e328261045e565b905080600003610e585760405163c0a343d560e01b815260048101839052602401610891565b60008281526003602052604090819020600181015460028201549251630fc888cb60e41b81526001600160a01b039182166004820181905292939190911690819063fc888cb090602401602060405180830381865afa158015610ebf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee39190611452565b610f0b57604051631d5f93fb60e01b81526001600160a01b0383166004820152602401610891565b8254604051630c46aac760e31b81526001600160a01b03918216600482015283821660248201526044810186905290821690636235563890606401600060405180830381600087803b158015610f6057600080fd5b505af1158015610f74573d6000803e3d6000fd5b50505050847fa8d5485cc067b66247132342c7a9e838a67fbed672bb5235bee5d43821b1f27485604051610faa91815260200190565b60405180910390a25050505050565b610fc1611237565b6001600160a01b03811660009081526002602052604090205460ff16156109bf576001600160a01b038116600081815260026020526040808220805460ff19169055517fcccfdaf06e384e4afcea4acf18f915e4cf10ccbebf3bd41dbdbf360388fa61389190a250565b61045961033b848484610dc8565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915261108061017a858585610dc8565b949350505050565b6000611080610154858585610dc8565b600081815260036020526040902080546001600160a01b03163381148015906110d65750600382015442600160a01b9091046001600160401b031610155b156111055760405163536dd9ef60e01b81523360048201526001600160a01b0382166024820152604401610891565b6001820154825460028401546003850154604080516001600160a01b039384168152918316602083015293821693919092169186917feb8e67097728e68d4db8629f19414744572c12ef5e35e9a8c9078955322e0d3f910160405180910390a45050600090815260036020819052604090912080546001600160a01b0319908116825560018201805482169055600282018054909116905590810180546001600160e01b031916905560040180546001600160801b0319169055565b6111c9611237565b6001600160a01b03811661122e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610891565b6109bf81611291565b6000546001600160a01b03163314610e255760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610891565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146112f857600080fd5b919050565b60008060006060848603121561131257600080fd5b61131b846112e1565b9250611329602085016112e1565b9150611337604085016112e1565b90509250925092565b60006020828403121561135257600080fd5b5035919050565b80356001600160401b03811681146112f857600080fd5b6000806040838503121561138357600080fd5b61138c83611359565b915061139a60208401611359565b90509250929050565b6000602082840312156113b557600080fd5b6113be826112e1565b9392505050565b60008060008060008060c087890312156113de57600080fd5b6113e7876112e1565b95506113f5602088016112e1565b9450611403604088016112e1565b935061141160608801611359565b925061141f60808801611359565b915061142d60a08801611359565b90509295509295509295565b60006020828403121561144b57600080fd5b5051919050565b60006020828403121561146457600080fd5b815180151581146113be57600080fd5b60006020828403121561148657600080fd5b815180600b0b81146113be57600080fd5b634e487b7160e01b600052601160045260246000fd5b600082600b0b82600b0b0280600b0b91508082146114cd576114cd611497565b5092915050565b80820281158282048414176114eb576114eb611497565b9291505056fea2646970667358221220b876957cb6c380ccfb74cae4dc7a47882b5041233ecaa00d66a31601526cf07664736f6c634300081100330000000000000000000000006eee6060f715257b970700bc2656de21dedf074c000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000093a80