0 txs
0 calls
constructor
constructor(address rs, address ds)
functions
assetStore
viewfunction assetStore() view returns (address)
BPS_DIVIDER
viewfunction BPS_DIVIDER() view returns (uint256)
CONTRACT
viewfunction CONTRACT() view returns (bytes32)
DS
viewfunction DS() view returns (address)
fundStore
viewfunction fundStore() view returns (address)
getDepositTaxBps
viewfunction getDepositTaxBps(address asset, uint256 amount) view returns (uint256)
getGlobalUPL
viewfunction getGlobalUPL(address asset) view returns (int256)
getWithdrawalTaxBps
viewfunction getWithdrawalTaxBps(address asset, uint256 amount) view returns (uint256)
gov
viewfunction gov() view returns (address)
poolStore
viewfunction poolStore() view returns (address)
roleStore
viewfunction roleStore() view returns (address)
UNIT
viewfunction UNIT() view returns (uint256)
creditTraderLoss
nonpayablefunction creditTraderLoss(address user, address asset, string market, uint256 amount)
debitTraderProfit
nonpayablefunction debitTraderProfit(address user, address asset, string market, uint256 amount)
deposit
payablefunction deposit(address asset, uint256 amount) payable
link
nonpayablefunction link()
setGlobalUPLs
nonpayablefunction setGlobalUPLs(address[] assets, int256[] upls)
setGov
nonpayablefunction setGov(address _gov)
setWhitelistedKeeper
nonpayablefunction setWhitelistedKeeper(address keeper, bool isActive)
withdraw
nonpayablefunction withdraw(address asset, uint256 amount)
events
PoolDeposit
event PoolDeposit(address indexed user, address indexed asset, uint256 amount, uint256 feeAmount, uint256 clpAmount, uint256 poolBalance)
PoolPayIn
event PoolPayIn(address indexed user, address indexed asset, string market, uint256 amount, uint256 bufferToPoolAmount, uint256 poolBalance, uint256 bufferBalance)
PoolPayOut
event PoolPayOut(address indexed user, address indexed asset, string market, uint256 amount, uint256 poolBalance, uint256 bufferBalance)
PoolWithdrawal
event PoolWithdrawal(address indexed user, address indexed asset, uint256 amount, uint256 feeAmount, uint256 clpAmount, uint256 poolBalance)
SetGov
event SetGov(address prevGov, address nextGov)
errors
No errors.
creation bytecode
0x6080346100c757601f61200838819003918201601f19168301916001600160401b038311848410176100cc5780849260409485528339810103126100c75780516001600160a01b038082169290918390036100c75760200151918183168093036100c7577f53351836099c03ffc3b1727d8abd4b0222afa87d4ed76ae3102d51369ef7f785604060005460018060a01b0319943386831617600055825191168152336020820152a18160015416176001556002541617600255604051611f2590816100e38239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c908163077d17f8146115515750806312d43a511461152a5780631c4695f41461139f57806325e9768f146113665780634242bac01461133d57806347e7ef2414610f625780634a4a7b0414610f395780634d2ccfd814610e5a578063597a0e3614610e315780635b2f4a1a14610d2c57806360465d1114610d035780637c4283bc14610ce65780638d86a79d14610c895780638e373abf14610c6157806394851ca314610c315780639d8e217714610c0e578063b931db6d14610637578063cfad57a2146105b2578063f3fef3a3146101285763fc833ac6146100fd57600080fd5b346101255780600319360112610125576020604051600080516020611ed08339815191528152f35b80fd5b503461012557604036600319011261012557610142611576565b6024908135612710610155818311611e32565b60018060a01b039283600354169460405192634f129c5360e01b84528386841697886004830152818460209788935afa80156105a75761019c918a9161057a575b50611e68565b8560055416926040519663f8b2cb4f60e01b918289528960048a015286898681895afa98891561056f578b99610540575b5060405163ee39b63760e01b8152600481018b905293878587818a5afa948515610535578c95610506575b50891515806104fd575b156104d057604051636805d6ad60e01b81526001600160a01b03831660048201523360248201528c92919089816044818c5afa9081156104c5578491610494575b50808b1161048a575b50899a61028a61028361028f9361027b61026a8f9e9f9d9e8861186c565b610275838210611e9d565b8d6119fb565b04809b6119ee565b978d6119fb565b611a0e565b97803b1561044f57604051630963ccad60e11b815290839082908183816102bb8f338a60048501611a18565b03925af190811561046b578391610476575b50508260055416803b1561044f57826040518092631c83b8df60e21b82528183816102fc8c89600484016119d3565b03925af190811561046b578391610453575b5050826004541694853b1561044f576103429583928360405180998195829463078d3b7960e01b8452339060048501611a18565b03925af1938415610442578894610425575b505060055416926040518094819382528a60048301525afa93841561041a5787946103c3575b5050604080519485526020850191909152830152606082015233907fae04f501857d63b8ca31ec171decfe6513ab9113a08210fc4acc3403190e0df99080608081015b0390a380f35b90809450813d8311610413575b6103da81836115fd565b8101031261040e576103bd7fae04f501857d63b8ca31ec171decfe6513ab9113a08210fc4acc3403190e0df993519361037a565b600080fd5b503d6103d0565b6040513d89823e3d90fd5b610431919294506115d3565b61043e5785918938610354565b8880fd5b50604051903d90823e3d90fd5b8280fd5b61045c906115d3565b61046757813861030e565b5080fd5b6040513d85823e3d90fd5b61047f906115d3565b6104675781386102cd565b995061028361024c565b8094508a8092503d83116104be575b6104ad81836115fd565b8101031261040e578c925138610243565b503d6104a3565b6040513d86823e3d90fd5b60405162461bcd60e51b8152600481018990526006818801526521656d70747960d01b6044820152606490fd5b50841515610202565b9094508781813d831161052e575b61051e81836115fd565b8101031261040e575193386101f8565b503d610514565b6040513d8e823e3d90fd5b9098508681813d8311610568575b61055881836115fd565b8101031261040e575197386101cd565b503d61054e565b6040513d8d823e3d90fd5b61059a9150863d88116105a0575b61059281836115fd565b81019061197e565b38610196565b503d610588565b6040513d8b823e3d90fd5b5034610125576020366003190112610125577f53351836099c03ffc3b1727d8abd4b0222afa87d4ed76ae3102d51369ef7f7856105ed611576565b82546001600160a01b03808216919061060733841461161f565b83166001600160a01b031991909116178455604080516001600160a01b039283168152919092166020820152a180f35b503461012557608036600319011261012557610651611576565b9061065a61158c565b916044359267ffffffffffffffff8085116109855736602386011215610985578460040135908111610bfa576040519461069e601f8301601f1916602001876115fd565b818652366024838301011161099457818592602460209301838901378601015260015460405163ac4ab3fb60e01b8152336004820152600080516020611ed0833981519152602482015290602090829060449082906001600160a01b03165afa9081156104c55790610717918591610bdb575b50611996565b6005546001600160a01b0316803b156109855783604051809263de900ab960e01b825281838161074d60643589600484016119d3565b03925af180156104c557908491610bc7575b5050600554604051631d683d8f60e11b81526001600160a01b0383811660048301529091169190602081602481865afa908115610989578591610b95575b508492816109985750506005546001600160a01b0316803b156109945784604051809263473cc2af60e01b82528183816107db4289600484016119d3565b03925af1801561098957908591610971575b50505b60055460405163f8b2cb4f60e01b81526001600160a01b03838116600483015290929116602083602481845afa92831561093157869361093c575b50604051634021fe0f60e01b81526001600160a01b038316600482015290602090829060249082905afa9081156109315786916108ff575b506040519260a084528751948560a0860152875b8681106108e957509260c09285949285938a868a7fa23af116f782ad07f8010bd150b57bb7084c718271e5aa4bdab61a8be2986b059a010152606435602086015260408501526060840152608083015260018060a01b03169560018060a01b031694601f80199101168101030190a380f35b80602080928c01015160c0828901015201610877565b90506020813d602011610929575b8161091a602093836115fd565b8101031261040e575138610863565b3d915061090d565b6040513d88823e3d90fd5b9092506020813d602011610969575b81610958602093836115fd565b8101031261040e575191602061082b565b3d915061094b565b61097a906115d3565b6109855783386107ed565b8380fd5b6040513d87823e3d90fd5b8480fd5b604051634021fe0f60e01b81526001600160a01b0384166004820152935090602084602481855afa938415610931578694610b61575b506040516359bca66760e01b815290602082600481865afa91821561041a578792610b2b575b509061028a610a06610a0c93426119ee565b866119fb565b92808411610b23575b50803b1561099457846040518092631c25e23360e11b8252818381610a3e8989600484016119d3565b03925af1801561098957908591610b0f575b50506005546001600160a01b0316803b1561099457846040518092637a8b01ef60e11b8252818381610a868989600484016119d3565b03925af1801561098957908591610afb575b50506005546001600160a01b0316803b156109945784604051809263473cc2af60e01b8252818381610ace4289600484016119d3565b03925af1801561098957908591610ae7575b50506107f0565b610af0906115d3565b610985578338610ae0565b610b04906115d3565b610985578338610a98565b610b18906115d3565b610985578338610a50565b925038610a15565b91506020823d602011610b59575b81610b46602093836115fd565b8101031261040e5790519061028a6109f4565b3d9150610b39565b9093506020813d602011610b8d575b81610b7d602093836115fd565b8101031261040e575192386109ce565b3d9150610b70565b90506020813d602011610bbf575b81610bb0602093836115fd565b8101031261040e57513861079d565b3d9150610ba3565b610bd0906115d3565b61044f57823861075f565b610bf4915060203d6020116105a05761059281836115fd565b38610711565b634e487b7160e01b84526041600452602484fd5b50346101255780600319360112610125576020604051670de0b6b3a76400008152f35b5034610125576040366003190112610125576020610c59610c50611576565b6024359061186c565b604051908152f35b5034610125576040366003190112610125576020610c59610c80611576565b60243590611724565b503461012557604036600319011261012557610ca3611576565b6024359081151580920361044f5782546001600160a01b039190610cca908316331461161f565b1682526006602052604082209060ff8019835416911617905580f35b503461012557806003193601126101255760206040516127108152f35b50346101255780600319360112610125576005546040516001600160a01b039091168152602090f35b50346101255760403660031901126101255767ffffffffffffffff60043581811161044f57610d5f9036906004016115a2565b90602492833590811161099457610d7a9036906004016115a2565b90923386526020916006835260ff60408820541615610dfd57865b828110610da0578780f35b610dab818388611670565b35610db7828588611670565b356001600160a01b03811690819003610df95789526007855260408920556000198114610de657600101610d95565b634e487b7160e01b885260116004528688fd5b8980fd5b60405162461bcd60e51b815260048101849052600d818801526c085d5b985d5d1a1bdc9a5e9959609a1b6044820152606490fd5b50346101255780600319360112610125576003546040516001600160a01b039091168152602090f35b503461012557608036600319011261012557610e74611576565b610e7c61158c565b906044359067ffffffffffffffff9081831161099457366023840112156109945782600401359182116109945736602483850101116109945760015460405163ac4ab3fb60e01b8152336004820152600080516020611ed083398151915260248201529490602090869060449082906001600160a01b03165afa94851561093157610f1e95610f11918891610f215750611996565b6024606435940191611a3a565b80f35b610bf4915060203d81116105a05761059281836115fd565b50346101255780600319360112610125576001546040516001600160a01b039091168152602090f35b50604036600319011261012557610f77611576565b60243590610f86821515611e32565b600354604051634f129c5360e01b81526001600160a01b03838116600483018190529460209390929084908290602490829086165afa801561041a57610fd29188916113265750611e68565b806005541660405192848460248163f8b2cb4f60e01b958682528b60048301525afa93841561131b5788946112ec575b508661129557503494878360045416803b156104675781604051809263e4652f4960e01b8252818b8161103a82338b60048501611a18565b03925af1801561122a57611281575b50505b6110568682611724565b61106e61271091611068838210611e9d565b886119fb565b04928861107b85896119ee565b82600554169660405163ee39b63760e01b81528b600482015289816024818c5afa9081156104c5578491611250575b5081158015611248575b15611235575050955b803b1561046757816040518092637ecad97360e11b82528183816110e68d338c60048501611a18565b03925af1801561122a57611216575b508160055416803b15610467578882916111269583604051809881958294631c25e23360e11b8452600484016119d3565b03925af19283156104425787936111f9575b5050600554169160246040518094819382528a60048301525afa93841561041a5787946111a7575b5050604080519485526020850191909152830152606082015233907fe86ca4e4cf6c4f168e7f6b59c7eeccff1c602e4a3a8e157200ac7ea3fb33792a9080608081016103bd565b90809450813d83116111f2575b6111be81836115fd565b8101031261040e576103bd7fe86ca4e4cf6c4f168e7f6b59c7eeccff1c602e4a3a8e157200ac7ea3fb33792a935193611160565b503d6111b4565b611205919293506115d3565b6112125784908838611138565b8780fd5b61121f906115d3565b61043e5788386110f5565b6040513d84823e3d90fd5b61028a90611242936119fb565b956110bd565b5080156110b4565b8094508a8092503d831161127a575b61126981836115fd565b8101031261040e578b9251386110aa565b503d61125f565b61128a906115d3565b611212578738611049565b948260045416803b1561043e5788604051809263e4652f4960e01b82528183816112c48d338a60048501611a18565b03925af180156105a7576112d9575b5061104c565b6112e5909891986115d3565b96386112d3565b9093508481813d8311611314575b61130481836115fd565b8101031261121257519238611002565b503d6112fa565b6040513d8a823e3d90fd5b61059a9150853d87116105a05761059281836115fd565b50346101255780600319360112610125576002546040516001600160a01b039091168152602090f35b5034610125576020366003190112610125576020906040906001600160a01b0361138e611576565b168152600783522054604051908152f35b503461012557806003193601126101255780546001600160a01b03906113c8908216331461161f565b60025460405163bf40fac160e01b808252602060048301819052600a602484015269417373657453746f726560b01b60448401529193928316908285606481855afa94851561093157869561150b575b508360018060a01b0319951685600354161760035560405190808252836004830152600960248301526846756e6453746f726560b81b60448301528382606481865afa91821561041a578492869189916114ee575b501686600454161760045560646040518094819382528460048301526009602483015268506f6f6c53746f726560b81b60448301525afa9182156109895785926114c1575b50501690600554161760055580f35b6114e09250803d106114e7575b6114d881836115fd565b810190611651565b38806114b2565b503d6114ce565b6115059150843d86116114e7576114d881836115fd565b3861146d565b611523919550833d85116114e7576114d881836115fd565b9338611418565b5034610125578060031936011261012557546040516001600160a01b039091168152602090f35b9050346104675781600319360112610467576004546001600160a01b03168152602090f35b600435906001600160a01b038216820361040e57565b602435906001600160a01b038216820361040e57565b9181601f8401121561040e5782359167ffffffffffffffff831161040e576020808501948460051b01011161040e57565b67ffffffffffffffff81116115e757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176115e757604052565b1561162657565b606460405162461bcd60e51b815260206004820152600460248201526310b3b7bb60e11b6044820152fd5b9081602091031261040e57516001600160a01b038116810361040e5790565b91908110156116805760051b0190565b634e487b7160e01b600052603260045260246000fd5b818103929160001380158285131691841216176116af57565b634e487b7160e01b600052601160045260246000fd5b9061271091808302928305036116af57565b919091600083820193841291129080158216911516176116af57565b811561170e57600160ff1b81146000198314166116af570590565b634e487b7160e01b600052601260045260246000fd5b6005546040805163f8b2cb4f60e01b81526001600160a01b039384166004820181905260009591949193602092168286602481845afa958615611862578796611833575b5090828493926024955195868092634021fe0f60e01b82528560048301525afa9384156118295787946117f6575b5080875260078252866117ac8585832054611696565b126117bb575b50505050505090565b926117df928760076117da946117e598976117eb9b5252205490611696565b6116c5565b926116d7565b906116f3565b3880808080806117b2565b9093508181813d8311611822575b61180e81836115fd565b8101031261181e57519238611796565b8680fd5b503d611804565b83513d89823e3d90fd5b9095508281813d831161185b575b61184b81836115fd565b8101031261181e57519482611768565b503d611841565b84513d89823e3d90fd5b6005546040805163f8b2cb4f60e01b81526001600160a01b039384166004820181905260009591949193602092168286602481845afa95861561186257879661194f575b5090828493926024955195868092634021fe0f60e01b82528560048301525afa938415611829578794611920575b5080875260078252866118f48585832054611696565b136119025750505050505090565b926117df928760076117da946117e598976117eb9b52522054611696565b9093508181813d8311611948575b61193881836115fd565b8101031261181e575192386118de565b503d61192e565b9095508281813d8311611977575b61196781836115fd565b8101031261181e575194826118b0565b503d61195d565b9081602091031261040e5751801515810361040e5790565b1561199d57565b60405162461bcd60e51b815260206004820152600e60248201526d21636f6e74726163742d726f6c6560901b6044820152606490fd5b6001600160a01b039091168152602081019190915260400190565b919082039182116116af57565b818102929181159184041417156116af57565b811561170e570490565b6001600160a01b03918216815291166020820152604081019190915260600190565b94939092916000958215611e295760018060a01b039081600554166040908151634021fe0f60e01b808252858a16996004928b848201528d6020958683602481845afa928315611e1f578293611df0575b50803b1561046757611ab482918d8a51948580948193637a8b01ef60e11b83528a8d84016119d3565b03925af18015611de457611dc7575b5090818e96959493928b11611ca9575b5087835416803b1561181e578a87918983611b03958a519687958694859363078d3b7960e01b85528c8501611a18565b03925af18015611c9f57908691611c8b575b50508660055416845163f8b2cb4f60e01b81528c848201528481602481855afa968715611c8057908d9796959493929196611c48575b508392916024918651988994859384528301525afa938415611c3e579b899a9b9c819a999a95611bd8575b509882917f3092724f7adc895c13332959eb9d68277692c0f667f5c166c06996dfd6f21e2d9a60a0999897969594519a8b9960808b528160808c01528b8b0137888d018a015287015285015260608401521694601f01601f19168101030190a3565b82809a50819998979650919493923d8311611c37575b611bf881836115fd565b8101031261040e577f3092724f7adc895c13332959eb9d68277692c0f667f5c166c06996dfd6f21e2d988a9860a0985195969798509192939099611b76565b503d611bee565b82513d8e823e3d90fd5b96509450908286813d8111611c79575b611c6281836115fd565b8101031261040e5794518b95909490919083611b4b565b503d611c58565b8651903d90823e3d90fd5b611c94906115d3565b610994578438611b15565b85513d88823e3d90fd5b611cb9919293949596508a6119ee565b8d8860055416908d88519063f8b2cb4f60e01b8252878201528781602481865afa918215611dbc5791611d8f575b50821015611d5c5790818f9796959493923b15611212578651631c83b8df60e21b81529188918391829084908290611d2290898c84016119d3565b03925af18015611d5257908791611d3a575b50611ad3565b611d43906115d3565b611d4e578538611d34565b8580fd5b86513d89823e3d90fd5b865162461bcd60e51b8152808601879052600d60248201526c21706f6f6c2d62616c616e636560981b6044820152606490fd5b90508681813d8311611db5575b611da681836115fd565b8101031261040e575138611ce7565b503d611d9c565b8951903d90823e3d90fd5b611dd8909e9196959493929e6115d3565b9c909192939438611ac3565b8f8851903d90823e3d90fd5b9092508681813d8311611e18575b611e0881836115fd565b8101031261046757519138611a8b565b503d611dfe565b88513d84823e3d90fd5b50505050509050565b15611e3957565b60405162461bcd60e51b815260206004820152600760248201526608585b5bdd5b9d60ca1b6044820152606490fd5b15611e6f57565b60405162461bcd60e51b815260206004820152600660248201526508585cdcd95d60d21b6044820152606490fd5b15611ea457565b606460405162461bcd60e51b8152602060048201526004602482015263042e8c2f60e31b6044820152fdfea66b7a3e6b19d24ccb6f717fc232a1bb0278a7f83f8e2211835fc4ed0fe69f19a26469706673582212206a72e45e8edc80e899a0187955bbdc744e7d76c6c12713555636feb46f56cc5564736f6c63430008110033000000000000000000000000e5da4704a582fe799dcd1dff31dc2ed2e0bdc961000000000000000000000000a64694e51b22a081ea1e4051ef4ea1b715b47026