0 txs
653 calls
constructor
No constructor.
functions
ONE
viewfunction ONE() view returns (int128)
events
Trade
event Trade(address indexed trader, address indexed origin, address indexed target, uint256 originAmount, uint256 targetAmount, int128 rawProtocolFee)
errors
No errors.
creation bytecode
0x612a71610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c806356fa0ba414610064578063931c544a1461008a578063c2ee3a08146100a9578063fb7455da146100c7578063fd17568b146100da575b5f5ffd5b610077610072366004612702565b6100f9565b6040519081526020015b60405180910390f35b818015610095575f5ffd5b506100776100a43660046127ef565b6101d4565b6100b4600160401b81565b604051600f9190910b8152602001610081565b6100776100d5366004612702565b610554565b8180156100e5575f5ffd5b506100776100f436600461281a565b61060a565b5f5f5f61010787878761097d565b91509150806020015160ff16826020015160ff1603610141578151815161013891906101339087610aba565b610b23565b925050506101cc565b5f5f5f5f5f6101648c876020015160ff16896020015160ff168c8a5f0151610b8f565b945094509450945094506101848c858584868a8d6020015160ff16610df6565b60018d01549095506101b3906101a890600160801b9004600f0b600160401b612870565b600f87900b90611087565b94506101c2875f015186610b23565b9750505050505050505b949350505050565b5f5f5f6101e985855f0151866020015161097d565b9150915083602001516001600160a01b0316845f01516001600160a01b0316036102545760405162461bcd60e51b81526020600482015260176024820152761cddd85c0bdcd85b594b5bdc9a59da5b8b5d185c99d95d604a1b60448201526064015b60405180910390fd5b806020015160ff16826020015160ff16036102945761028b825f0151610286835f0151876060015188604001516110a7565b611124565b9250505061054e565b5f5f5f5f5f6102c08a876020015160ff16896020015160ff16895f01518d606001518e60400151611180565b945094509450945094506102e08a858585858a8d6020015160ff16610df6565b94506103206040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b600f86810b825260808b01516001600160a01b031660c083015260018c01546103659161035a91600160801b9004900b600160401b612870565b600f88900b90611087565b600f0b6040820181905261037a90879061289d565b8160200190600f0b9081600f0b815250508060c001516001600160a01b031663a5a410316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ef91906128db565b8160800190600f0b9081600f0b815250508060c001516001600160a01b0316639611f3d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610440573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046491906128f4565b6001600160a01b031660a08201526080810151602082015161049b91620186a09161049591600f91820b910b611448565b906114fa565b600f0b60608201819052885160a08301516104b69290611571565b6104c7885f01518260400151611124565b985089602001516001600160a01b03168a5f01516001600160a01b0316336001600160a01b03167f887adc1b38cfb756ed025ea6acd9382fbd376ede6c34bc6fa738284b092754688c8e60400151866060015160405161053d939291909283526020830191909152600f0b604082015260600190565b60405180910390a450505050505050505b92915050565b5f5f5f61056287878761097d565b91509150806020015160ff16826020015160ff160361058e578051825161013891906101339087610aba565b5f5f5f5f5f6105b18c886020015160ff16886020015160ff168c8b5f01516115cf565b945094509450945094506105d18c858584868a8c6020015160ff16610df6565b60018d01549095506105f5906101a890600160801b9004600f0b600160401b61289d565b94506101c2865f015161013387600f0b6117a5565b5f5f5f61061f86865f0151876020015161097d565b9150915084602001516001600160a01b0316855f01516001600160a01b0316036106855760405162461bcd60e51b81526020600482015260176024820152761cddd85c0bdcd85b594b5bdc9a59da5b8b5d185c99d95d604a1b604482015260640161024b565b806020015160ff16826020015160ff16036106c6576106bd815f015186606001516106b7855f015189604001516117cf565b8761183d565b92505050610976565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525f5f5f5f5f6107258c896020015160ff16896020015160ff168b5f01518f604001516118d6565b9450945094509450945084865f0190600f0b9081600f0b815250506107568c858585858a8d6020015160ff16610df6565b60808c01516001600160a01b031660c088015260018d015490955061078d906101a890600160801b9004600f0b600160401b61289d565b600f0b604087018190526107a290869061289d565b8660200190600f0b9081600f0b815250508560c001516001600160a01b031663a5a410316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081791906128db565b8660800190600f0b9081600f0b815250508560c001516001600160a01b0316639611f3d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610868573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088c91906128f4565b6001600160a01b031660a0870152608086015160208701516108bd91620186a09161049591600f91820b910b611448565b600f0b60608701819052875160a08801516108d89290611571565b6108ef875f01518c6060015188604001518d61183d565b98508a602001516001600160a01b03168b5f01516001600160a01b0316336001600160a01b03167f887adc1b38cfb756ed025ea6acd9382fbd376ede6c34bc6fa738284b092754688e604001518d8b60600151604051610965939291909283526020830191909152600f0b604082015260600190565b60405180910390a450505050505050505b9392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526001600160a01b038085165f9081526005870160208181526040808420815180830183529054808716825260ff600160a01b918290048116838601528a88168752948452948290208251808401909352548087168352949094049092169082015281519192909116610a575760405162461bcd60e51b815260206004820152601a60248201527f43757276652f6f726967696e2d6e6f742d737570706f72746564000000000000604482015260640161024b565b80516001600160a01b0316610aae5760405162461bcd60e51b815260206004820152601a60248201527f43757276652f7461726765742d6e6f742d737570706f72746564000000000000604482015260640161024b565b90969095509350505050565b604051637af3606560e11b8152600481018290525f906001600160a01b0384169063f5e6c0ca90602401602060405180830381865afa158015610aff573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097691906128db565b604051636b677a8f60e01b8152600f82900b60048201525f906001600160a01b03841690636b677a8f90602401602060405180830381865afa158015610b6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610976919061290f565b60048501545f90819081906060908190838167ffffffffffffffff811115610bb957610bb9612747565b604051908082528060200260200182016040528015610be2578160200160208202803683370190505b5090505f8267ffffffffffffffff811115610bff57610bff612747565b604051908082528060200260200182016040528015610c28578160200160208202803683370190505b5090505f5b83811015610d8a578c8114610cbd57610c6d8e6004018281548110610c5457610c54612926565b5f918252602090912001546001600160a01b0316611b7e565b828281518110610c7f57610c7f612926565b6020026020010190600f0b9081600f0b815250838281518110610ca457610ca4612926565b6020026020010190600f0b9081600f0b81525050610d34565b5f610cc88b8d611be6565b909a509050610cda600f8b900b611c61565b995080838381518110610cef57610cef612926565b600f92830b6020918202929092010152610d0c9082900b8b611c75565b848381518110610d1e57610d1e612926565b6020026020010190600f0b9081600f0b81525050505b818181518110610d4657610d46612926565b602002602001015188610d599190612870565b9750828181518110610d6d57610d6d612926565b602002602001015187610d809190612870565b9650600101610c2d565b50610d99600f87900b89611ca7565b9550610dbe828c81518110610db057610db0612926565b602002602001015189611ca7565b828c81518110610dd057610dd0612926565b600f9290920b602092830291909101909101529093509150509550955095509550959050565b5f610e008361293a565b600289015460038a01805460408051602080840282018101909252828152949550600f9390930b935f9390929190830182828015610e7d57602002820191905f5260205f20905f905b825461010083900a9004600f0b81526020601f8301819004938401936001036010909301929092029101808411610e495790505b505050505090505f610e918a898d85611cd8565b90505f805b602081101561103357610eab8b8a8f87611cd8565b915085600f83810b9085900b12610eec57610ed4610ec9848661289d565b600f88900b90611cfd565b610ede908a612870565b610ee79061293a565b610f0a565b82610ef7858b612870565b610f01919061289d565b610f0a9061293a565b9650610f1c6509184e72a00082612972565b600f0b610f2f6509184e72a00089612972565b600f0b03610fbe5786610f428a8f612870565b610f4c9190612870565b9b50868b8981518110610f6157610f61612926565b6020026020010151610f739190612870565b8a8981518110610f8557610f85612926565b6020026020010190600f0b9081600f0b81525050610fa78e8e8e8e8e8a611d31565b610fb38d858e866120ba565b50505050505061107c565b86610fc98a8f612870565b610fd39190612870565b9b50611004878c8a81518110610feb57610feb612926565b6020026020010151600f0b611c7590919063ffffffff16565b8a898151811061101657611016612926565b6020026020010190600f0b9081600f0b8152505050600101610e96565b5060405162461bcd60e51b815260206004820152601d60248201527f43757276652f737761702d636f6e76657267656e63652d6661696c6564000000604482015260640161024b565b979650505050505050565b5f5f604083600f0b85600f0b61109d91906129ba565b901d949350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663f09a3fc360e01b1790525f906110fa8582612152565b80602001905181019061110d91906128db565b915061111b82600f0b611c61565b95945050505050565b60408051600f83900b6024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316624e387960e31b1790525f9061116d8482612152565b8060200190518101906101cc919061290f565b60048601545f90819081906060908190838167ffffffffffffffff8111156111aa576111aa612747565b6040519080825280602002602001820160405280156111d3578160200160208202803683370190505b5090505f8267ffffffffffffffff8111156111f0576111f0612747565b604051908082528060200260200182016040528015611219578160200160208202803683370190505b5090505f8e600401805480602002602001604051908101604052809291908181526020015f905b82821015611288575f84815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900460ff1681830152825260019092019101611240565b509293505f925050505b848110156113da578e8114611316576112c68282815181106112b6576112b6612926565b60200260200101515f0151611b7e565b8482815181106112d8576112d8612926565b6020026020010190600f0b9081600f0b8152508382815181106112fd576112fd612926565b6020026020010190600f0b9081600f0b81525050611384565b5f6113228e8e8e612222565b909b509050611335600f82900b8c611ca7565b85838151811061134757611347612926565b6020026020010190600f0b9081600f0b815250508084838151811061136e5761136e612926565b6020026020010190600f0b9081600f0b81525050505b83818151811061139657611396612926565b6020026020010151896113a99190612870565b98508281815181106113bd576113bd612926565b6020026020010151886113d09190612870565b9750600101611292565b506113e9600f88900b8a611ca7565b965061140e828e8151811061140057611400612926565b60200260200101518a611ca7565b828e8151811061142057611420612926565b600f9290920b6020928302919091019091015250909350915050965096509650965096915050565b5f6001607f1b600f84900b01611489576002600160c01b031982121580156114745750600160c01b8213155b61147c575f5ffd5b505f819003603f1b61054e565b5f600f84900b8113156114a057835f039350600190505b5f8312156114b0575f9290920391155b5f6114bb85856122a7565b905081156114de57600160ff1b8111156114d3575f5ffd5b5f03915061054e9050565b6001600160ff1b038111156114f1575f5ffd5b915061054e9050565b5f815f03611506575f5ffd5b5f8084121561151957835f039350600190505b5f831215611529575f9290920391155b5f611534858561230b565b90508115611555576001607f1b816001600160801b031611156114d3575f5ffd5b60016001607f1b03816001600160801b031611156114f1575f5ffd5b60408051600f84900b60248201526001600160a01b0383166044808301919091528251808303909101815260649091019091526020810180516001600160e01b03166322cead0360e11b1790526115c88482612152565b5050505050565b60048501545f90819081906060908190838167ffffffffffffffff8111156115f9576115f9612747565b604051908082528060200260200182016040528015611622578160200160208202803683370190505b5090505f8267ffffffffffffffff81111561163f5761163f612747565b604051908082528060200260200182016040528015611668578160200160208202803683370190505b5090505f5b83811015610d8a578c81146116e4576116948e6004018281548110610c5457610c54612926565b8282815181106116a6576116a6612926565b6020026020010190600f0b9081600f0b8152508382815181106116cb576116cb612926565b6020026020010190600f0b9081600f0b8152505061174f565b5f6116ef8b8d611be6565b809250819b5050508083838151811061170a5761170a612926565b600f92830b60209182029290920101526117279082900b8b611c75565b84838151811061173957611739612926565b6020026020010190600f0b9081600f0b81525050505b81818151811061176157611761612926565b6020026020010151886117749190612870565b975082818151811061178857611788612926565b60200260200101518761179b9190612870565b965060010161166d565b5f6001607f1b600f83900b016117b9575f5ffd5b5f82600f0b126117c9578161054e565b505f0390565b5f5f63fa00102a60e01b836040516024016117ec91815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061182a8482612152565b8060200190518101906101cc91906128db565b5f80630c374e5d60e11b85611855600f87900b6117a5565b6040516001600160a01b039092166024830152600f0b6044820152841515606482015260840160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506118b98682612152565b8060200190518101906118cc919061290f565b9695505050505050565b60048501545f90819081906060908190838167ffffffffffffffff81111561190057611900612747565b604051908082528060200260200182016040528015611929578160200160208202803683370190505b5090505f8267ffffffffffffffff81111561194657611946612747565b60405190808252806020026020018201604052801561196f578160200160208202803683370190505b5090505f8d600401805480602002602001604051908101604052809291908181526020015f905b828210156119de575f84815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900460ff1681830152825260019092019101611996565b509293505f925050505b84811015611b1f578d8114611a5c57611a0c8282815181106112b6576112b6612926565b848281518110611a1e57611a1e612926565b6020026020010190600f0b9081600f0b815250838281518110611a4357611a43612926565b6020026020010190600f0b9081600f0b81525050611ac9565b5f611a678d8d61246a565b909b509050611a7a600f82900b8c611ca7565b858381518110611a8c57611a8c612926565b6020026020010190600f0b9081600f0b8152505080848381518110611ab357611ab3612926565b6020026020010190600f0b9081600f0b81525050505b838181518110611adb57611adb612926565b602002602001015189611aee9190612870565b9850828181518110611b0257611b02612926565b602002602001015188611b159190612870565b97506001016119e8565b50611b2e600f88900b8a611ca7565b9650611b45828d8151811061140057611400612926565b828d81518110611b5757611b57612926565b600f9290920b60209283029190910190910152509093509150509550955095509550959050565b60405163ac969a7360e01b81523060048201525f906001600160a01b0383169063ac969a7390602401602060405180830381865afa158015611bc2573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054e91906128db565b604051630f4d965d60e11b8152306004820152602481018290525f9081906001600160a01b03851690631e9b2cba906044016040805180830381865afa158015611c32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5691906129e9565b909590945092505050565b5f6001607f1b600f83900b016117c9575f5ffd5b5f600f83810b9083900b0160016001607f1b03198112801590611c9f575060016001607f1b038113155b610976575f5ffd5b5f600f82810b9084900b0360016001607f1b03198112801590611c9f575060016001607f1b03811315610976575f5ffd5b815460018301545f91600160801b9004600f90810b91900b61107c87878484886124d9565b5f600f83810b9083900b0260401d60016001607f1b03198112801590611c9f575060016001607f1b03811315610976575f5ffd5b81518654600f0b5f5b828110156120af575f611d72858381518110611d5857611d58612926565b602002602001015189600f0b611cfd90919063ffffffff16565b905080600f0b868381518110611d8a57611d8a612926565b6020026020010151600f0b1315611f23575f611daa84600160401b612870565b90505f611dbb600f84900b83611cfd565b905080600f0b888581518110611dd357611dd3612926565b6020026020010151600f0b1315611f1c575f611e2183611e188a8881518110611dfe57611dfe612926565b60200260200101518f600f0b611cfd90919063ffffffff16565b600f0b90611cfd565b905080600f0b8a8681518110611e3957611e39612926565b6020026020010151600f0b1215611e875760405162461bcd60e51b815260206004820152601260248201527143757276652f75707065722d68616c742d3160701b604482015260640161024b565b808a8681518110611e9a57611e9a612926565b6020026020010151611eac919061289d565b600f0b828a8781518110611ec257611ec2612926565b6020026020010151611ed4919061289d565b600f0b1315611f1a5760405162461bcd60e51b815260206004820152601260248201527121bab93b3297bab83832b916b430b63a169960711b604482015260640161024b565b505b50506120a6565b5f611f3284600160401b61289d565b90505f611f43600f84900b83611cfd565b905080600f0b888581518110611f5b57611f5b612926565b6020026020010151600f0b12156120a3575f611f9c888681518110611f8257611f82612926565b60200260200101518d600f0b611cfd90919063ffffffff16565b9050611fac600f82900b84611cfd565b905080600f0b8a8681518110611fc457611fc4612926565b6020026020010151600f0b13156120105760405162461bcd60e51b815260206004820152601060248201526f10dd5c9d994bdb1bddd95c8b5a185b1d60821b604482015260640161024b565b89858151811061202257612022612926565b602002602001015181612035919061289d565b600f0b89868151811061204a5761204a612926565b60200260200101518361205d919061289d565b600f0b13156120a15760405162461bcd60e51b815260206004820152601060248201526f10dd5c9d994bdb1bddd95c8b5a185b1d60821b604482015260640161024b565b505b50505b50600101611d3a565b505050505050505050565b5f6120c5828461289d565b90505f6120d2858761289d565b90505f6120df828461289d565b905080600f0b5f12806120fd57506510c6f7a0b5ed19600f82900b12155b6121495760405162461bcd60e51b815260206004820152601e60248201527f43757276652f737761702d696e76617269616e742d76696f6c6174696f6e0000604482015260640161024b565b50505050505050565b60606001600160a01b0383163b6121b95760405162461bcd60e51b815260206004820152602560248201527f417373696d696c61746f72732f63616c6c65652d69732d6e6f742d612d636f6e6044820152641d1c9858dd60da1b606482015260840161024b565b5f5f846001600160a01b0316846040516121d39190612a11565b5f60405180830381855af49150503d805f811461220b576040519150601f19603f3d011682016040523d82523d5f602084013e612210565b606091505b509092509050816101cc573d60208201fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663523bf25760e01b1790525f9081906122778682612152565b80602001905181019061228a91906129e9565b909350915061229c600f84900b611c61565b925050935093915050565b5f815f036122b657505f61054e565b5f83600f0b12156122c5575f5ffd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b038111156122f3575f5ffd5b60401b8119811115612303575f5ffd5b019392505050565b5f815f03612317575f5ffd5b5f6001600160c01b0384116123415782604085901b816123395761233961295e565b049050612457565b60c084811c640100000000811061235a576020918201911c5b62010000811061236c576010918201911c5b610100811061237d576008918201911c5b6010811061238d576004918201911c5b6004811061239d576002918201911c5b600281106123ac576001820191505b60bf820360018603901c6001018260ff0387901b816123cd576123cd61295e565b0492506001600160801b038311156123e3575f5ffd5b608085901c83026001600160801b038616840260c088901c604089901b8281101561240f576001820391505b608084901b92900382811015612426576001820391505b829003608084901c821461243c5761243c612a27565b88818161244b5761244b61295e565b04870196505050505050505b6001600160801b03811115610976575f5ffd5b5f5f5f637f328ecc60e01b8460405160240161248891815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506124c68582612152565b806020019051810190610aae91906129e9565b83515f90815b81811015612553575f6125178583815181106124fd576124fd612926565b60200260200101518a600f0b611cfd90919063ffffffff16565b905061253e88838151811061252e5761252e612926565b602002602001015182898961255e565b6125489085612870565b9350506001016124df565b505095945050505050565b5f83600f0b85600f0b12156125ff575f61258a61257f85600160401b61289d565b600f87900b90611cfd565b905080600f0b86600f0b12156125f5575f6125a5878361289d565b90506125b5600f82900b85611cfd565b92506125c5600f84900b87612689565b92506001603e1b600f84900b13156125df576001603e1b92505b6125ed600f84900b82611cfd565b9250506125f9565b5f91505b506101cc565b5f61261161257f85600160401b612870565b905080600f0b86600f0b131561267c575f61262c828861289d565b905061263c600f82900b85611cfd565b925061264c600f84900b87612689565b92506001603e1b600f84900b1315612666576001603e1b92505b612674600f84900b82611cfd565b925050612680565b5f91505b50949350505050565b5f81600f0b5f03612698575f5ffd5b5f82600f0b604085600f0b901b816126b2576126b261295e565b05905060016001607f1b03198112801590611c9f575060016001607f1b03811315610976575f5ffd5b6001600160a01b03811681146126ef575f5ffd5b50565b80356126fd816126db565b919050565b5f5f5f5f60808587031215612715575f5ffd5b843593506020850135612727816126db565b92506040850135612737816126db565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b5f60a0828403121561276b575f5ffd5b60405160a0810181811067ffffffffffffffff8211171561279a57634e487b7160e01b5f52604160045260245ffd5b6040529050806127a9836126f2565b81526127b7602084016126f2565b6020820152604083810135908201526127d2606084016126f2565b60608201526127e3608084016126f2565b60808201525092915050565b5f5f60c08385031215612800575f5ffd5b82359150612811846020850161275b565b90509250929050565b5f5f5f60e0848603121561282c575f5ffd5b8335925061283d856020860161275b565b915060c08401358015158114612851575f5ffd5b809150509250925092565b634e487b7160e01b5f52601160045260245ffd5b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561054e5761054e61285c565b600f82810b9082900b0360016001607f1b0319811260016001607f1b038213171561054e5761054e61285c565b8051600f81900b81146126fd575f5ffd5b5f602082840312156128eb575f5ffd5b610976826128ca565b5f60208284031215612904575f5ffd5b8151610976816126db565b5f6020828403121561291f575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f81600f0b60016001607f1b031981036129565761295661285c565b5f0392915050565b634e487b7160e01b5f52601260045260245ffd5b5f81600f0b83600f0b8061299457634e487b7160e01b5f52601260045260245ffd5b60016001607f1b031982145f19821416156129b1576129b161285c565b90059392505050565b8082025f8212600160ff1b841416156129d5576129d561285c565b818105831482151761054e5761054e61285c565b5f5f604083850312156129fa575f5ffd5b612a03836128ca565b9150612811602084016128ca565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52600160045260245ffdfea2646970667358221220f2d18409daa66f34400281e53081e3d61360ce17ff6f77184c30ef009f499f5664736f6c634300081b0033