0 txs
8 calls
constructor
constructor(address _WETH)
functions
getPrice
viewfunction getPrice(uint16 feedId, uint256 maxAge, bool strict) view returns (uint256)
getPriceFeed
viewfunction getPriceFeed(uint16) view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
WETH
viewfunction WETH() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addPriceFeed
nonpayablefunction addPriceFeed(address feed)
clearToken
nonpayablefunction clearToken(address token, address to, uint256 minAmt)
initialize
nonpayablefunction initialize()
refundETH
payablefunction refundETH() payable
removePriceFeed
nonpayablefunction removePriceFeed(uint16 feedId)
renounceOwnership
nonpayablefunction renounceOwnership()
sendTokensCallback
nonpayablefunction sendTokensCallback(address[] tokens, uint256[] amounts, address payee, bytes data)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unwrapWETH
payablefunction unwrapWETH(uint256 minAmt, address to) payable
updatePriceFeed
nonpayablefunction updatePriceFeed(uint16 feedId, address newFeed)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AddPriceFeed
event AddPriceFeed(uint256 indexed feedId, address feed)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RemovePriceFeed
event RemovePriceFeed(uint256 indexed feedId, address feed)
UpdatePriceFeed
event UpdatePriceFeed(uint256 indexed feedId, address oldFeed, address newFeed)
Upgraded
event Upgraded(address indexed implementation)
errors
NotEnoughTokens
error NotEnoughTokens()
NotEnoughWETH
error NotEnoughWETH()
NotGammaPool
error NotGammaPool()
NotWETH
error NotWETH()
ST_Fail
error ST_Fail()
STE_Fail
error STE_Fail()
STF_Fail
error STF_Fail()
creation bytecode
0x60c0604052306080523480156200001557600080fd5b5060405162002007380380620020078339810160408190526200003891620000d0565b6001600160a01b03811660a052620000503362000057565b5062000102565b600180546001600160a01b0319169055620000728162000075565b50565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600060208284031215620000e357600080fd5b81516001600160a01b0381168114620000fb57600080fd5b9392505050565b60805160a051611e996200016e60003960008181610127015281816102f801528181610e8401528181610f36015281816114ab015281816114f1015261156801526000818161073501528181610775015281816109010152818161094101526109d40152611e996000f3fe6080604052600436106101175760003560e01c806379ba5097116100a0578063ccbe764a11610064578063ccbe764a1461031a578063cf79b5121461033a578063e16d9ce514610370578063e30c397814610383578063f2fde38b146103a157600080fd5b806379ba5097146102645780637d7bcc96146102795780638129fc1c146102995780638da5cb5b146102ae578063ad5c4648146102e657600080fd5b80634952e674116100e75780634952e674146101d45780634f1ef286146101f457806352d1902d146102075780636464a1eb1461022f578063715018a61461024f57600080fd5b80624ab9721461016c5780630bb6842d1461018c57806312210e8a146101ac5780633659cfe6146101b457600080fd5b3661016757336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461016557604051635724f38560e01b815260040160405180910390fd5b005b600080fd5b34801561017857600080fd5b506101656101873660046118c3565b6103c1565b34801561019857600080fd5b506101656101a73660046118f8565b610599565b610165610719565b3480156101c057600080fd5b506101656101cf3660046118f8565b61072b565b3480156101e057600080fd5b506101656101ef366004611913565b61080a565b610165610202366004611977565b6108f7565b34801561021357600080fd5b5061021c6109c7565b6040519081526020015b60405180910390f35b34801561023b57600080fd5b5061016561024a366004611a69565b610a7a565b34801561025b57600080fd5b50610165610af5565b34801561027057600080fd5b50610165610b07565b34801561028557600080fd5b5061021c610294366004611b52565b610b7e565b3480156102a557600080fd5b50610165610c57565b3480156102ba57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610226565b3480156102f257600080fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b34801561032657600080fd5b50610165610335366004611b94565b610dc7565b34801561034657600080fd5b506102ce610355366004611913565b6002602052600090815260409020546001600160a01b031681565b61016561037e366004611bd0565b610e6c565b34801561038f57600080fd5b506001546001600160a01b03166102ce565b3480156103ad57600080fd5b506101656103bc3660046118f8565b610fa9565b6103c9611021565b60008261ffff16116103f65760405162461bcd60e51b81526004016103ed90611bf3565b60405180910390fd5b6001600160a01b03811661041c5760405162461bcd60e51b81526004016103ed90611c14565b806001600160a01b0316634a6434996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190611c3a565b61ffff168261ffff16146104c15760405162461bcd60e51b815260206004820152600a60248201526915d493d391d7d191515160b21b60448201526064016103ed565b61ffff82166000908152600260205260409020546001600160a01b0316806105275760405162461bcd60e51b815260206004820152601960248201527814149250d157d191515117d113d154d7d393d517d1561254d5603a1b60448201526064016103ed565b61ffff831660008181526002602090815260409182902080546001600160a01b0319166001600160a01b0387811691821790925583519186168252918101919091527f96628b143f4d4511dc78891fcfd931b0932575ad8ce2cea976c3380b2e6d729e910160405180910390a2505050565b6105a1611021565b6001600160a01b0381166105c75760405162461bcd60e51b81526004016103ed90611c14565b6000816001600160a01b0316634a6434996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190611c3a565b905060008161ffff16116106515760405162461bcd60e51b81526004016103ed90611bf3565b61ffff81166000908152600260205260409020546001600160a01b0316156106b15760405162461bcd60e51b8152602060048201526013602482015272464545445f49445f554e415641494c41424c4560681b60448201526064016103ed565b61ffff811660008181526002602090815260409182902080546001600160a01b0319166001600160a01b03871690811790915591519182527f5f12ef298361e6558344b4b737b74107389dc156fd8444a50a4f23220c2f018a91015b60405180910390a25050565b4715610729576107293347611082565b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107735760405162461bcd60e51b81526004016103ed90611c57565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107bc600080516020611e1d833981519152546001600160a01b031690565b6001600160a01b0316146107e25760405162461bcd60e51b81526004016103ed90611ca3565b6107eb816110f6565b60408051600080825260208201909252610807918391906110fe565b50565b610812611021565b60008161ffff16116108365760405162461bcd60e51b81526004016103ed90611bf3565b61ffff81166000908152600260205260409020546001600160a01b03168061089c5760405162461bcd60e51b815260206004820152601960248201527814149250d157d191515117d113d154d7d393d517d1561254d5603a1b60448201526064016103ed565b61ffff821660008181526002602090815260409182902080546001600160a01b031916905590516001600160a01b03841681527f12be579726fb5b0ac184c7bdc3c87a610a964551306d91f8fb6f85085458bdfa910161070d565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361093f5760405162461bcd60e51b81526004016103ed90611c57565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610988600080516020611e1d833981519152546001600160a01b031690565b6001600160a01b0316146109ae5760405162461bcd60e51b81526004016103ed90611ca3565b6109b7826110f6565b6109c3828260016110fe565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a675760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ed565b50600080516020611e1d83398151915290565b6000610a8882840184611cef565b90503315610aa9576040516368e0934d60e01b815260040160405180910390fd5b610aeb88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050845191508790508989611269565b5050505050505050565b610afd611021565b61072960006112e5565b60015433906001600160a01b03168114610b755760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ed565b610807816112e5565b6000808461ffff1611610ba35760405162461bcd60e51b81526004016103ed90611bf3565b61ffff84166000908152600260205260409020546001600160a01b031680610bdd5760405162461bcd60e51b81526004016103ed90611c14565b604051632b82db0d60e11b81526004810185905283151560248201526001600160a01b03821690635705b61a90604401602060405180830381865afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190611d5d565b95945050505050565b600054610100900460ff1615808015610c775750600054600160ff909116105b80610c915750303b158015610c91575060005460ff166001145b610cf45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103ed565b6000805460ff191660011790558015610d17576000805461ff0019166101001790555b6000546201000090046001600160a01b031615610d765760405162461bcd60e51b815260206004820152601c60248201527f50524943455f41474752454741544f525f494e495449414c495a45440000000060448201526064016103ed565b610d7f336112e5565b8015610807576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e329190611d5d565b905081811015610e55576040516308aeed0f60e21b815260040160405180910390fd5b8015610e6657610e668484836112fe565b50505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610ed3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef79190611d5d565b905082811015610f1a5760405163d666767760e01b815260040160405180910390fd5b8015610fa457604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610f8257600080fd5b505af1158015610f96573d6000803e3d6000fd5b50505050610fa48282611082565b505050565b610fb1611021565b600180546001600160a01b0383166001600160a01b03199091168117909155610fe96000546001600160a01b03620100009091041690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000546001600160a01b03620100009091041633146107295760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ed565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146110cf576040519150601f19603f3d011682016040523d82523d6000602084013e6110d4565b606091505b5050905080610fa4576040516325e5592160e21b815260040160405180910390fd5b610807611021565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561113157610fa4836113e8565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561118b575060408051601f3d908101601f1916820190925261118891810190611d5d565b60015b6111ee5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ed565b600080516020611e1d833981519152811461125d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ed565b50610fa4838383611484565b845160005b818110156112dc57600084848381811061128a5761128a611d76565b9050602002013511156112d4576112d48782815181106112ac576112ac611d76565b602002602001015187878787868181106112c8576112c8611d76565b905060200201356114a9565b60010161126e565b50505050505050565b600180546001600160a01b0319169055610807816115ba565b6040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516113589190611db0565b6000604051808303816000865af19150503d8060008114611395576040519150601f19603f3d011682016040523d82523d6000602084013e61139a565b606091505b50915091508180156113c45750805115806113c45750808060200190518101906113c49190611dcc565b6113e15760405163847ea61d60e01b815260040160405180910390fd5b5050505050565b6001600160a01b0381163b6114555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ed565b600080516020611e1d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61148d83611615565b60008251118061149a5750805b15610fa457610e668383611655565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161480156114ea5750804710155b15611593577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561154a57600080fd5b505af115801561155e573d6000803e3d6000fd5b505050505061158e7f000000000000000000000000000000000000000000000000000000000000000083836112fe565b610e66565b306001600160a01b038416036115ae5761158e8483836112fe565b610e6684848484611681565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61161e816113e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061167a8383604051806060016040528060278152602001611e3d60279139611774565b9392505050565b6040516001600160a01b038481166024830152838116604483015260648201839052600091829187169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b179052516116e39190611db0565b6000604051808303816000865af19150503d8060008114611720576040519150601f19603f3d011682016040523d82523d6000602084013e611725565b606091505b509150915081801561174f57508051158061174f57508080602001905181019061174f9190611dcc565b61176c5760405163e5c4a34160e01b815260040160405180910390fd5b505050505050565b6060600080856001600160a01b0316856040516117919190611db0565b600060405180830381855af49150503d80600081146117cc576040519150601f19603f3d011682016040523d82523d6000602084013e6117d1565b606091505b50915091506117e2868383876117ec565b9695505050505050565b6060831561185b578251600003611854576001600160a01b0385163b6118545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ed565b5081611865565b611865838361186d565b949350505050565b81511561187d5781518083602001fd5b8060405162461bcd60e51b81526004016103ed9190611de9565b61ffff8116811461080757600080fd5b80356001600160a01b03811681146118be57600080fd5b919050565b600080604083850312156118d657600080fd5b82356118e181611897565b91506118ef602084016118a7565b90509250929050565b60006020828403121561190a57600080fd5b61167a826118a7565b60006020828403121561192557600080fd5b813561167a81611897565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196f5761196f611930565b604052919050565b6000806040838503121561198a57600080fd5b611993836118a7565b915060208084013567ffffffffffffffff808211156119b157600080fd5b818601915086601f8301126119c557600080fd5b8135818111156119d7576119d7611930565b6119e9601f8201601f19168501611946565b915080825287848285010111156119ff57600080fd5b80848401858401376000848284010152508093505050509250929050565b60008083601f840112611a2f57600080fd5b50813567ffffffffffffffff811115611a4757600080fd5b6020830191508360208260051b8501011115611a6257600080fd5b9250929050565b60008060008060008060006080888a031215611a8457600080fd5b873567ffffffffffffffff80821115611a9c57600080fd5b611aa88b838c01611a1d565b909950975060208a0135915080821115611ac157600080fd5b611acd8b838c01611a1d565b9097509550859150611ae160408b016118a7565b945060608a0135915080821115611af757600080fd5b818a0191508a601f830112611b0b57600080fd5b813581811115611b1a57600080fd5b8b6020828501011115611b2c57600080fd5b60208301945080935050505092959891949750929550565b801515811461080757600080fd5b600080600060608486031215611b6757600080fd5b8335611b7281611897565b9250602084013591506040840135611b8981611b44565b809150509250925092565b600080600060608486031215611ba957600080fd5b611bb2846118a7565b9250611bc0602085016118a7565b9150604084013590509250925092565b60008060408385031215611be357600080fd5b823591506118ef602084016118a7565b60208082526007908201526616915493d7d25160ca1b604082015260600190565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b600060208284031215611c4c57600080fd5b815161167a81611897565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060608284031215611d0157600080fd5b6040516060810181811067ffffffffffffffff82111715611d2457611d24611930565b604052611d30836118a7565b8152611d3e602084016118a7565b60208201526040830135611d5181611897565b60408201529392505050565b600060208284031215611d6f57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60005b83811015611da7578181015183820152602001611d8f565b50506000910152565b60008251611dc2818460208701611d8c565b9190910192915050565b600060208284031215611dde57600080fd5b815161167a81611b44565b6020815260008251806020840152611e08816040850160208701611d8c565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201b1745dc33eb0e193c2e9628b0b2198eaf49546b1d05e5f0a65b21214f81441864736f6c6343000815003300000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1