0 txs
0 calls
constructor
No constructor.
functions
validateAdl
viewfunction validateAdl(DataStore dataStore, Oracle oracle, address market, bool isLong) view
events
No events.
errors
AdlNotEnabled
error AdlNotEnabled()
DisabledMarket
error DisabledMarket(address market)
EmptyMarket
error EmptyMarket()
InvalidSizeDeltaForAdl
error InvalidSizeDeltaForAdl(uint256 sizeDeltaUsd, uint256 positionSizeInUsd)
OracleTimestampsAreSmallerThanRequired
error OracleTimestampsAreSmallerThanRequired(uint256 minOracleTimestamp, uint256 expectedTimestamp)
creation bytecode
0x612daa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806377cd745a14610050578063ba1fd27214610072578063dbadc9b914610085575b600080fd5b81801561005c57600080fd5b5061007061006b366004611caf565b6100b7565b005b610070610080366004611d20565b610272565b81801561009157600080fd5b506100a56100a0366004611df9565b61035d565b60405190815260200160405180910390f35b60006100c48684846107f4565b905080846001600160a01b031663716042456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101299190611ec5565b10156101ba57836001600160a01b031663716042456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561016d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101919190611ec5565b604051637d677abf60e01b81526004810191909152602481018290526044015b60405180910390fd5b60006101c68785610878565b905060006101d48683610938565b905060008060006102378b86868a60405160200161021c9060208082526016908201527513505617d4139317d19050d513d497d193d497d0511360521b604082015260600190565b60405160208183030381529060405280519060200120610aae565b9250925092506102498b898986610b02565b506102568b898942610b90565b506102658a8989858588610c15565b5050505050505050505050565b600061027f858484610d95565b90508061029f57604051633285dc5760e01b815260040160405180910390fd5b60006102ac8685856107f4565b905080856001600160a01b031663716042456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103119190611ec5565b101561035557846001600160a01b031663716042456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561016d573d6000803e3d6000fd5b505050505050565b6000806103c48360400151846060015185608001518660a00151604080516001600160a01b039586166020808301919091529486168183015292909416606083015215156080808301919091528351808303909101815260a0909101909252815191012090565b835160405163fdfc26f360e01b81529192506000917362de729c2529998d28f59cf75a8300630d2f18bc9163fdfc26f39161040491908690600401611ede565b6101a060405180830381865af4158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190611f54565b905061045481602001515190565b8460c00151111561048c5760c084015160208201515160405163720bb46160e01b8152600481019290925260248201526044016101b1565b600060405180610100016040528086604001516001600160a01b0316815260200186604001516001600160a01b0316815260200186604001516001600160a01b031681526020016104ea876000015188604001518960600151610e0f565b6001600160a01b0316815260200160006001600160a01b0316815260200186606001516001600160a01b0316815260200161052784516040015190565b6001600160a01b031681526020016000604051908082528060200260200182016040528015610560578160200160208202803683370190505b5090526040805161016081019091529091506000908060048152602001600181526020018760c00151815260200160008152602001600081526020016105a885604001515190565b6105b4576000196105b7565b60005b81526020016000815260200187600001516001600160a01b031663bd02d0f56040516020016106109060208082526016908201527513505617d0d05313109050d2d7d1d054d7d31253525560521b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161064491815260200190565b602060405180830381865afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106859190611ec5565b8152602001600081526020018760e00151815260200160008152509050600060405180608001604052806106bb86604001515190565b1515815260200160011515815260200160001515815260200160001515815250905060006040518060600160405280858152602001848152602001838152509050600061070b8960000151610e89565b8951604051630c154e0d60e31b815291925073421e51d2e417a883cf7511ef60109e28b99e75af916360aa7068916107499185908790600401612264565b60006040518083038186803b15801561076157600080fd5b505af4158015610775573d6000803e3d6000fd5b50505060208a01516040516321f5dc7d60e01b81527385e9b3910e291325fd870fa13422d83f1ebccfc992506321f5dc7d916107b79185908790600401612264565b60006040518083038186803b1580156107cf57600080fd5b505af41580156107e3573d6000803e3d6000fd5b50929b9a5050505050505050505050565b6000836001600160a01b031663bd02d0f561080f8585610eab565b6040518263ffffffff1660e01b815260040161082d91815260200190565b602060405180830381865afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e9190611ec5565b90505b9392505050565b60408051608081018252600080825260208201819052918101829052606081019190915260405163a8d8fff560e01b81526001600160a01b0380851660048301528316602482015260009073846d1b8c17adfa67fffefe83b7dbebfd598f91069063a8d8fff590604401608060405180830381865af41580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610923919061228b565b905061092f8482610f32565b90505b92915050565b610940611b36565b6040518060600160405280846001600160a01b0316635dcf719485602001516040518263ffffffff1660e01b815260040161097b919061231d565b6040805180830381865afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb9190612331565b8152602001846001600160a01b0316635dcf719485604001516040518263ffffffff1660e01b81526004016109f0919061231d565b6040805180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a309190612331565b8152602001846001600160a01b0316635dcf719485606001516040518263ffffffff1660e01b8152600401610a65919061231d565b6040805180830381865afa158015610a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa59190612331565b90529392505050565b600080600080610ac2898989896001611000565b90506000610ad68a878b600001518a611050565b905060008083138015610af0575081610aee846110a7565b115b9b929a50909850909650505050505050565b6000846001600160a01b031663abfdcced610b1d86866110fd565b6040516001600160e01b031960e084901b168152600481019190915284151560248201526044016020604051808303816000875af1158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b87919061238d565b95945050505050565b6000846001600160a01b031663e2a4853a610bab8686610eab565b846040518363ffffffff1660e01b8152600401610bd2929190918252602082015260400190565b6020604051808303816000875af1158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611ec5565b610c1d611b68565b6040810151610c2d906001611131565b604080518082018252600f81526e3837362a37a837b7b62330b1ba37b960891b602082015290820151610c639160009087611196565b6020810151610c73906001611131565b610cb360006040518060400160405280600c81526020016b36b0bc2837362330b1ba37b960a11b815250858460200151611196909392919063ffffffff16565b6060810151610cc3906002611131565b60408051808201909152600681526569734c6f6e6760d01b60208201526060820151610cf291600090886111e9565b60408051808201909152600f81526e1cda1bdd5b19115b98589b1950591b608a1b60208201526060820151610d2a91600190856111e9565b866001600160a01b03166324de01e4610d49886001600160a01b031690565b836040518363ffffffff1660e01b8152600401610d67929190612b89565b600060405180830381600087803b158015610d8157600080fd5b505af1158015610265573d6000803e3d6000fd5b6000836001600160a01b0316637ae1cfca610db085856110fd565b6040518263ffffffff1660e01b8152600401610dce91815260200190565b602060405180830381865afa158015610deb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061238d565b6000836001600160a01b03166321f8a721610e2a858561123e565b6040518263ffffffff1660e01b8152600401610e4891815260200190565b602060405180830381865afa158015610e65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e9190612c86565b600080610e95836112b8565b90506000610ea3848361136e565b949350505050565b6000604051602001610ede906020808252600d908201526c1310551154d517d0511317d055609a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b0385169082015282151560608201526080015b60405160208183030381529060405280519060200120905092915050565b80516001600160a01b0316610f5a576040516302fde0d760e11b815260040160405180910390fd5b6000826001600160a01b0316637ae1cfca610f788460000151611383565b6040518263ffffffff1660e01b8152600401610f9691815260200190565b602060405180830381865afa158015610fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd7919061238d565b90508015610ffb5781516040516309f8c93760e01b81526101b1919060040161231d565b505050565b600080611011878787878715611405565b905080600003611025576000915050610b87565b600061103888888860000151888861148b565b9050611044818361151c565b98975050505050505050565b6000846001600160a01b031663bd02d0f561106c86868661155b565b6040518263ffffffff1660e01b815260040161108a91815260200190565b602060405180830381865afa158015610bf1573d6000803e3d6000fd5b6000808212156110f95760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016101b1565b5090565b6000604051602001610ede906020808252600e908201526d1254d7d0511317d153905093115160921b604082015260600190565b806001600160401b0381111561114957611149611d7c565b60405190808252806020026020018201604052801561118f57816020015b6040805180820190915260608152600060208201528152602001906001900390816111675790505b5090915250565b81846000015184815181106111ad576111ad612ca3565b60200260200101516000018190525080846000015184815181106111d3576111d3612ca3565b6020026020010151602001818152505050505050565b818460000151848151811061120057611200612ca3565b602002602001015160000181905250808460000151848151811061122657611226612ca3565b60209081029190910181015191151591015250505050565b600060405160200161127b9060208082526017908201527614d055915117d0d05313109050d2d7d0d3d395149050d5604a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b038086169183019190915283166060820152608001610f14565b6000816001600160a01b031663340dbab36040516020016112f2906020808252600590820152644e4f4e434560d81b604082015260600190565b60408051601f198184030181529082905280516020909101206001600160e01b031960e084901b1682526004820152600160248201526044016020604051808303816000875af115801561134a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611ec5565b60008282604051602001610f14929190611ede565b60006040516020016113bb906020808252601290820152711254d7d3505492d15517d11254d05093115160721b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b6000808361141757856060015161141d565b85604001515b9050600061142c8888846115ea565b90506000841561145a578561144957866040015160200151611453565b8660200151602001515b9050611474565b8561146a57604087015151611471565b6020870151515b90505b61147e8183612ccf565b9998505050505050505050565b6000806114a161149c888887611688565b6116e6565b905060006114b0888887611750565b90508115806114bd575080155b156114cd57600092505050610b87565b60006114da878787611797565b905060006114eb61149c8385612ccf565b9050600087611503576114fe8286612ce6565b61150d565b61150d8583612ce6565b9b9a5050505050505050505050565b60008061153161152b856117d0565b846117e3565b90506000841361155257611544816116e6565b61154d90612d0d565b610ea3565b610ea3816116e6565b600060405160200161158f906020808252600e908201526d26a0ac2fa827262fa320a1aa27a960911b604082015260600190565b60408051601f1981840301815282825280516020918201209083015281018590526001600160a01b0384166060820152821515608082015260a0015b6040516020818303038152906040528051906020012090509392505050565b6000806115ff846040015185606001516117f1565b905080856001600160a01b031663bd02d0f561161f876000015187611820565b6040518263ffffffff1660e01b815260040161163d91815260200190565b602060405180830381865afa15801561165a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167e9190611ec5565b610b879190612d3f565b60008061169d846040015185606001516117f1565b905060006116b686866000015187604001518786611851565b905060006116cf87876000015188606001518887611851565b90506116db8183612d61565b979650505050505050565b60006001600160ff1b038211156110f95760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016101b1565b600080611765846040015185606001516117f1565b9050600061177e868660000151876040015187866118e1565b905060006116cf878760000151886060015188876118e1565b600082156117b857816117ab5783516117b1565b83602001515b9050610871565b816117c757836020015161086e565b50509051919050565b6000808212156110f95781600003610932565b600061092f838360006118fe565b6000816001600160a01b0316836001600160a01b031614611813576001611816565b60025b60ff169392505050565b600060405160200161127b906020808252600b908201526a1413d3d317d05353d5539560aa1b604082015260600190565b600081866001600160a01b031663bd02d0f561186e888888611946565b6040518263ffffffff1660e01b815260040161188c91815260200190565b602060405180830381865afa1580156118a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cd9190611ec5565b6118d79190612d3f565b9695505050505050565b600081866001600160a01b031663bd02d0f561186e8888886119be565b60008360000361191057506000610871565b811561192f576117b18468327cb2734119d3b7a9601e1b8560016119fb565b61086e8468327cb2734119d3b7a9601e1b85611a4c565b6000604051602001611979906020808252600d908201526c13d4115397d2539511549154d5609a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b038087169183019190915284166060820152821515608082015260a0016115cb565b6000604051602001611979906020808252601790820152764f50454e5f494e5445524553545f494e5f544f4b454e5360481b604082015260600190565b600080611a09868686611a4c565b90506001836002811115611a1f57611a1f612055565b148015611a3c575060008480611a3757611a37612d29565b868809115b15610b87576118d7600182612d61565b6000808060001985870985870292508281108382030391505080600003611a8657838281611a7c57611a7c612d29565b0492505050610871565b808411611acd5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016101b1565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518060600160405280611b49611c54565b8152602001611b56611c54565b8152602001611b63611c54565b905290565b604080516101208101909152606060e0820181815261010083019190915281908152602001611baa604051806040016040528060608152602001606081525090565b8152602001611bcc604051806040016040528060608152602001606081525090565b8152602001611bee604051806040016040528060608152602001606081525090565b8152602001611c10604051806040016040528060608152602001606081525090565b8152602001611c32604051806040016040528060608152602001606081525090565b8152602001611b63604051806040016040528060608152602001606081525090565b604051806040016040528060008152602001600081525090565b6001600160a01b0381168114611c8357600080fd5b50565b8035611c9181611c6e565b919050565b8015158114611c8357600080fd5b8035611c9181611c96565b600080600080600060a08688031215611cc757600080fd5b8535611cd281611c6e565b94506020860135611ce281611c6e565b93506040860135611cf281611c6e565b92506060860135611d0281611c6e565b91506080860135611d1281611c96565b809150509295509295909350565b60008060008060808587031215611d3657600080fd5b8435611d4181611c6e565b93506020850135611d5181611c6e565b92506040850135611d6181611c6e565b91506060850135611d7181611c96565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dc257634e487b7160e01b600052604160045260246000fd5b60405290565b60405161012081016001600160401b0381118282101715611dc257634e487b7160e01b600052604160045260246000fd5b6000610100808385031215611e0d57600080fd5b604051908101906001600160401b0382118183101715611e3d57634e487b7160e01b600052604160045260246000fd5b8160405283359150611e4e82611c6e565b818152611e5d60208501611c86565b6020820152611e6e60408501611c86565b6040820152611e7f60608501611c86565b6060820152611e9060808501611c86565b6080820152611ea160a08501611ca4565b60a082015260c084013560c082015260e084013560e0820152809250505092915050565b600060208284031215611ed757600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215611f0957600080fd5b604051602081016001600160401b0381118282101715611f3957634e487b7160e01b600052604160045260246000fd5b80604052508091508251611f4c81611c96565b905292915050565b60008183036101a0811215611f6857600080fd5b611f70611d92565b6060821215611f7e57600080fd5b611f86611d92565b8451611f9181611c6e565b81526020850151611fa181611c6e565b60208201526040850151611fb481611c6e565b60408201528152610120605f198301811315611fcf57600080fd5b611fd7611dc8565b9250606085015183526080850151602084015260a0850151604084015260c0850151606084015260e085015160808401526101008086015160a08501528186015160c085015261014086015160e0850152610160860151818501525050816020820152612048856101808601611ef7565b6040820152949350505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03169052565b600081518084526020808501945080840160005b838110156120b15781516001600160a01b03168752958201959082019060010161208c565b509495945050505050565b600981106120cc576120cc612055565b9052565b600381106120cc576120cc612055565b6120eb8282516120bc565b60208101516120fd60208401826120d0565b5060408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152505050565b805161020080845281516001600160a01b039081169185019190915260208201511661022084015260408101516000916121a061024086018361206b565b606081015191506121b561026086018361206b565b608081015191506121ca61028086018361206b565b60a081015191506121df6102a086018361206b565b60c081015191506121f46102c086018361206b565b60e001516101006102e08601529050612211610300850182612078565b9050602083015161222560208601826120e0565b5060408381015180511515610180870152602081015115156101a08701529081015115156101c0860152606081015115156101e0860152509392505050565b60018060a01b0384168152826020820152606060408201526000610b876060830184612162565b60006080828403121561229d57600080fd5b604051608081016001600160401b03811182821017156122cd57634e487b7160e01b600052604160045260246000fd5b60405282516122db81611c6e565b815260208301516122eb81611c6e565b602082015260408301516122fe81611c6e565b6040820152606083015161231181611c6e565b60608201529392505050565b6001600160a01b0391909116815260200190565b60006040828403121561234357600080fd5b604080519081016001600160401b038111828210171561237357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561239f57600080fd5b815161092f81611c96565b6000815180845260005b818110156123d0576020818501810151868301820152016123b4565b506000602082860101526020601f19601f83011685010191505092915050565b600081518084526020808501808196508360051b810191508286016000805b8681101561248b578385038a52825160408151818852612431828901826123aa565b92890151888403898b01528051808552908a01938693508a0191505b808310156124765783516001600160a01b0316825292890192600192909201919089019061244d565b509b88019b965050509185019160010161240f565b509298975050505050505050565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b8281101561251057898603605f19018452845180518888526124ea898901826123aa565b918401516001600160a01b031697840197909752955093810193928101926001016124c6565b50808801519550888503818a015250505050610b8781836123f0565b600081518084526020808501808196508360051b810191508286016000805b8681101561248b578385038a5282516040815181885261256d828901826123aa565b92890151888403898b01528051808552908a01938693508a0191505b808310156125a95783518252928901926001929092019190890190612589565b509b88019b965050509185019160010161254b565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b8281101561262c57898603605f190184528451805188885261260f898901826123aa565b9184015197840197909752955093810193928101926001016125eb565b50808801519550888503818a015250505050610b87818361252c565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b8281101561262c57898603605f1901845284518051888852612699898901826123aa565b918401519784019790975295509381019392810192600101612675565b600081518084526020808501808196508360051b810191508286016000805b8681101561248b578385038a528251604081518188526126f7828901826123aa565b92890151888403898b01528051808552908a01938693508a0191505b8083101561273557835115158252928901926001929092019190890190612713565b509b88019b96505050918501916001016126d5565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b828110156127ba57898603605f190184528451805188885261279b898901826123aa565b9184015115159784019790975295509381019392810192600101612777565b50808801519550888503818a015250505050610b8781836126b6565b600081518084526020808501808196508360051b810191508286016000805b8681101561248b578385038a52825160408151818852612817828901826123aa565b92890151888403898b01528051808552908a01938693508a0191505b808310156128535783518252928901926001929092019190890190612833565b509b88019b96505050918501916001016127f5565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b828110156128d657898603605f19018452845180518888526128b9898901826123aa565b918401519784019790975295509381019392810192600101612895565b50808801519550888503818a015250505050610b8781836127d6565b600081518084526020808501808196506005915083821b81018387016000805b8781101561299d578484038b52825160408151818752612934828801826123aa565b928a0151878403888c01528051808552908b019392508a83019150808a1b83018b01865b8281101561298657601f198583030184526129748287516123aa565b958d0195938d01939150600101612958565b509e8b019e97505050938801935050600101612912565b50919998505050505050505050565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b82811015612a2957898603605f19018452845180518888526129fd898901826123aa565b9184015188830389860152919050612a1581836123aa565b9750505093810193928101926001016129d9565b50808801519550888503818a015250505050610b8781836128f2565b600081518084526020808501808196506005915083821b81018387016000805b8781101561299d578484038b52825160408151818752612a87828801826123aa565b928a0151878403888c01528051808552908b019392508a83019150808a1b83018b01865b82811015612ad957601f19858303018452612ac78287516123aa565b958d0195938d01939150600101612aab565b509e8b019e97505050938801935050600101612a65565b60006040808401835182865281815180845260608801915060608160051b89010193506020808401935060005b82811015612b6d57898603605f1901845284518051888852612b41898901826123aa565b9184015188830389860152919050612b5981836123aa565b975050509381019392810192600101612b1d565b50808801519550888503818a015250505050610b878183612a45565b60608152600f60608201526e10591b14dd185d19555c19185d1959608a1b608082015282602082015260a060408201526000825160e060a0840152612bd2610180840182612499565b90506020840151609f19808584030160c0860152612bf083836125be565b925060408601519150808584030160e0860152612c0d8383612648565b9250606086015191508085840301610100860152612c2b838361274a565b9250608086015191508085840301610120860152612c498383612868565b925060a086015191508085840301610140860152612c6783836129ac565b925060c086015191508085840301610160860152506118d78282612af0565b600060208284031215612c9857600080fd5b815161092f81611c6e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761093257610932612cb9565b8181036000831280158383131683831282161715612d0657612d06612cb9565b5092915050565b6000600160ff1b8201612d2257612d22612cb9565b5060000390565b634e487b7160e01b600052601260045260246000fd5b600082612d5c57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561093257610932612cb956fea26469706673582212201fd86b190b39ba67a0bc8ca5acf35d73e229164ae1a38ad4b2c094620f8fe9db64736f6c63430008120033