0 txs
0 calls
constructor
constructor(address _gradientRegistry)
functions
activeDEXes
viewfunction activeDEXes(uint256) view returns (address)
dexes
viewfunction dexes(address) view returns (address router, address factory, bool isActive, uint256 priority)
dexIndex
viewfunction dexIndex(address) view returns (uint256)
getActiveDEXes
viewfunction getActiveDEXes() view returns (address[])
getDEXConfig
viewfunction getDEXConfig(address dex) view returns (tuple)
gradientRegistry
viewfunction gradientRegistry() view returns (address)
MAX_DEADLINE
viewfunction MAX_DEADLINE() view returns (uint256)
maxDEXs
viewfunction maxDEXs() view returns (uint256)
minLiquidityThreshold
viewfunction minLiquidityThreshold() view returns (uint256)
owner
viewfunction owner() view returns (address)
addDEX
nonpayablefunction addDEX(address dex, address router, uint256 priority)
emergencyWithdrawETH
nonpayablefunction emergencyWithdrawETH(address recipient, uint256 amount)
emergencyWithdrawMultipleTokens
nonpayablefunction emergencyWithdrawMultipleTokens(address[] tokens, address recipient)
emergencyWithdrawToken
nonpayablefunction emergencyWithdrawToken(address token, address recipient, uint256 amount)
executeTrade
payablefunction executeTrade(address token, uint256 amount, uint256 minAmountOut, bool isBuy) payable returns (uint256 amountOut)
removeDEX
nonpayablefunction removeDEX(address dex)
renounceOwnership
nonpayablefunction renounceOwnership()
setMinLiquidityThreshold
nonpayablefunction setMinLiquidityThreshold(uint256 newThreshold)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
DEXAdded
event DEXAdded(address indexed dex, address router, address factory)
DEXRemoved
event DEXRemoved(address indexed dex)
EmergencyWithdrawETH
event EmergencyWithdrawETH(address indexed recipient, uint256 amount)
EmergencyWithdrawToken
event EmergencyWithdrawToken(address indexed token, address indexed recipient, uint256 amount)
MinLiquidityThresholdUpdated
event MinLiquidityThresholdUpdated(uint256 oldThreshold, uint256 newThreshold)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TradeExecuted
event TradeExecuted(address indexed token, address indexed dex, uint256 amountIn, uint256 amountOut, bool isBuy)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a0346100e857601f611fe438819003918201601f19168301916001600160401b038311848410176100ed578084926020946040528339810103126100e857516001600160a01b03811681036100e857600160005533156100d25760018054336001600160a01b0319821681179092556040519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360058055678ac7230489e80000600655608052611ee0908161010482396080518181816108e1015261094a0152f35b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c908162800b1f1461189c57508063187bc85c146114c557806321bf766214611409578063277327a51461128c5780634f54d1ce146112535780634fc657511461120f5780636f0e530f146111f2578063715018a614611195578063815a1a0d14610910578063830562bc146108cb57806387d11e61146106b15780638c8f3f82146105135780638da5cb5b146104ea578063a7ca71ca1461047b578063af2c1ca51461045d578063b5e69fe8146103c7578063d79e85671461026c578063e050bee5146101815763f2fde38b0361000f573461017e57602036600319011261017e5761010f6118b8565b610117611b51565b6001600160a01b0316801561016a57600180546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b503461017e57602036600319011261017e5760043561019e611b51565b801561022857683635c9adc5dea0000081116101ee5760407f4c9c64aa20b7602b4c92bb9602dda2cbcb5412afe6e30903f767f8dd3aa407da91600654908060065582519182526020820152a180f35b60405162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b6044820152606490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5468726573686f6c64206d7573742062652067726561746572207468616e20306044820152fd5b503461017e57604036600319011261017e576004356001600160a01b038116908190036103c35760243561029e611b51565b6102a9821515611a50565b471561038957806103845750475b47811161033f578280808084865af16102ce611b11565b50156103025760207f20f907b58305c7b76035bc03b26f32b1c4f6560f96be6f3bb54c5c848a2d4ddd91604051908152a280f35b60405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606490fd5b6102b7565b60405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b6044820152606490fd5b5080fd5b503461017e578060031936011261017e5760405180916020600354928381520191600382527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b81811061043e5761043a85610426818703826119a8565b604051918291602083526020830190611939565b0390f35b82546001600160a01b031684526020909301926001928301920161040f565b503461017e578060031936011261017e576020600654604051908152f35b503461017e57602036600319011261017e576080906040906001600160a01b036104a36118b8565b16815260026020522060018060a01b038154169060ff600260018301549201549160405193845260018060a01b038116602085015260a01c16151560408301526060820152f35b503461017e578060031936011261017e576001546040516001600160a01b039091168152602090f35b503461017e57602036600319011261017e5761052d6118b8565b610535611b51565b6001600160a01b03168082526002602052604082206001015460a01c60ff161561067c5760035460001981019081116106685761057190611908565b60018060a01b0391549060031b1c1681835260046020526105bd816105996040862054611908565b81546001600160a01b0393841660039290921b91821b9390911b1916919091179055565b8183526004602052604083205490835260046020526040832055600354801561065457600019016105ed81611908565b81546001600160a01b03600392831b1b19169091555580825260046020908152604080842084905582845260029091528220600101805460ff60a01b191690557f1921ba6698157d491d41801286e9e17aee1c25965119e55403ba396b104b95db8280a280f35b634e487b7160e01b83526031600452602483fd5b634e487b7160e01b83526011600452602483fd5b60405162461bcd60e51b815260206004820152600d60248201526c111156081b9bdd08199bdd5b99609a1b6044820152606490fd5b503461017e57604036600319011261017e5760043567ffffffffffffffff81116103c357366023820112156103c35780600401359067ffffffffffffffff82116108c7573660248360051b830101116108c757602435926001600160a01b038416918285036103c357610722611b51565b61072d831515611a50565b831561088c576014841161083b57815b84811015610837576024600582901b830101356001600160a01b03811691908290036108335761076e821515611a0c565b6040516370a0823160e01b815230600482015291602083602481845afa9283156108285790869186946107ed575b50836001946107af575b5050500161073d565b6020816107de7fda0612d7ca9ff90ca7143a6021ba8938994f8d045b2834ae585fd07b27ea697c938d86611b7a565b604051908152a38438806107a6565b915091925060203d8111610821575b61080681836119a8565b6020826000928101031261017e57505191908590600161079c565b503d6107fc565b6040513d87823e3d90fd5b8380fd5b8280f35b60405162461bcd60e51b815260206004820152602360248201527f546f6f206d616e7920746f6b656e7320746f207769746864726177206174206f6044820152626e636560e81b6064820152608490fd5b60405162461bcd60e51b8152602060048201526013602482015272139bc81d1bdad95b9cc81cdc1958da599a5959606a1b6044820152606490fd5b8280fd5b503461017e578060031936011261017e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50608036600319011261017e576109256118b8565b602435916044359160643590811515808303610833576040516360c58eaf60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290602081600481875afa908115610bfe578691611176575b506001600160a01b0316330361111f57600285541461111057600285556001600160a01b0381169283156110db57871561109657861561105a57602060249160405192838092630736b32b60e31b82528860048301525afa908115610bfe57869161103b575b506110035783610faa575b6001600160a01b0390610a129085908990611bbd565b16928315610f6d5783855260026020526040808620805491516001600160a01b0390921692610a426060846119a8565b6002835260403660208501378015610f03576040516315ab88c960e31b8152602081600481885afa908115610ef8578991610ec9575b50610a8284611aa8565b6001600160a01b03909116905285610a9984611ab5565b525b15610c7957506040516370a0823160e01b815233600482015291602083602481885afa928315610c6e578793610c3a575b5061012c420191824211610c2657813b15610c22578791610b13918b8b6040519687958694859363b6f9de9560e01b85526004850152608060248501526084840190611939565b90336044840152606483015203925af18015610bfe57908691610c09575b50506040516370a0823160e01b8152336004820152602081602481875afa908115610bfe578691610bba575b50602097600196959493610ba0610b977fa5f8a4ef50801e7d44113fd9c467aec2fa7583dc5344619557ae4fcd77bd043f956060956119e9565b998a1015611ac5565b604051918252888a8301526040820152a355604051908152f35b905060209594939295813d602011610bf6575b81610bda602093836119a8565b81010312610bf15751939492939192916020610b5d565b600080fd5b3d9150610bcd565b6040513d88823e3d90fd5b81610c13916119a8565b610c1e578438610b31565b8480fd5b8780fd5b634e487b7160e01b88526011600452602488fd5b9092506020813d602011610c66575b81610c56602093836119a8565b81010312610bf157519138610acc565b3d9150610c49565b6040513d89823e3d90fd5b9195949392954792610cbb6040516323b872dd60e01b60208201523360248201523060448201528b606482015260648152610cb56084826119a8565b86611c14565b5460405163095ea7b360e01b81526001600160a01b039091166004820181905260248201889052906020816044818b8a5af18015610ebe57610d33926020928d92610ea3575b5060405163095ea7b360e01b81526001600160a01b039091166004820152602481019190915291829081906044820190565b03818a895af18015610c6e57610e74575b5061012c4201804211610e6057813b15610e5c5791869189838c610d91966040519788968795869463791ac94760e01b86526004860152602485015260a0604485015260a4840190611939565b90306064840152608483015203925af1801561082857610e42575b50610dba610dc391476119e9565b95861015611ac5565b8280808088335af1610dd3611b11565b5015610e07577fa5f8a4ef50801e7d44113fd9c467aec2fa7583dc5344619557ae4fcd77bd043f6060602097600196610ba0565b60405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b84610e54610dc39396610dba936119a8565b949150610dac565b8680fd5b634e487b7160e01b87526011600452602487fd5b610e959060203d602011610e9c575b610e8d81836119a8565b810190611a90565b5038610d44565b503d610e83565b610eb990843d8611610e9c57610e8d81836119a8565b610d01565b6040513d8a823e3d90fd5b610eeb915060203d602011610ef1575b610ee381836119a8565b8101906119ca565b38610a78565b503d610ed9565b6040513d8b823e3d90fd5b85610f0d84611aa8565b526040516315ab88c960e31b8152602081600481885afa908115610ef8578991610f4e575b50610f3c84611ab5565b6001600160a01b039091169052610a9b565b610f67915060203d602011610ef157610ee381836119a8565b38610f32565b60405162461bcd60e51b8152602060048201526015602482015274139bc81cdd5a5d18589b194811115608199bdd5b99605a1b6044820152606490fd5b863410156109fc5760405162461bcd60e51b815260206004820152602360248201527f496e73756666696369656e74204554482073656e7420666f7220627579206f726044820152623232b960e91b6064820152608490fd5b60405162461bcd60e51b815260206004820152601060248201526f151bdad95b881a5cc8189b1bd8dad95960821b6044820152606490fd5b611054915060203d602011610e9c57610e8d81836119a8565b386109f1565b60405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a59081b5a5b905b5bdd5b9d13dd5d60621b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606490fd5b633ee5aeb560e01b8552600485fd5b60405162461bcd60e51b815260206004820152602960248201527f46616c6c6261636b4578656375746f723a204f6e6c79206f72646572626f6f6b6044820152680818d85b8818d85b1b60ba1b6064820152608490fd5b61118f915060203d602011610ef157610ee381836119a8565b3861098b565b503461017e578060031936011261017e576111ae611b51565b600180546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461017e578060031936011261017e57602060405161012c8152f35b503461017e57602036600319011261017e576004359060035482101561017e57602061123a83611908565b905460405160039290921b1c6001600160a01b03168152f35b503461017e57602036600319011261017e576020906040906001600160a01b0361127b6118b8565b168152600483522054604051908152f35b503461017e5761129b366118ce565b90916112a5611b51565b6001600160a01b0316906112ba821515611a0c565b6001600160a01b038316926112d0841515611a50565b6040516370a0823160e01b815230600482015291602083602481875afa928315610bfe5786936113d1575b508215611394578061138e5750815b8211611349578161133f7fda0612d7ca9ff90ca7143a6021ba8938994f8d045b2834ae585fd07b27ea697c9360209386611b7a565b604051908152a380f35b60405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e63650000000000006044820152606490fd5b9161130a565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b9092506020813d602011611401575b816113ed602093836119a8565b810103126113fd575191386112fb565b8580fd5b3d91506113e0565b503461017e57602036600319011261017e5760406080916114286118b8565b816060845161143681611976565b8281528260208201528286820152015260018060a01b0316815260026020522060405161146281611976565b60018060a01b038254169182825260018101549060606002602085019260018060a01b038516845260ff604087019560a01c16151585520154930192835260405193845260018060a01b0390511660208401525115156040830152516060820152f35b503461017e576114d4366118ce565b6114e093929193611b51565b6003546005541115611864576001600160a01b038216918215611831576001600160a01b03851680156117fb57838552600260205260ff600160408720015460a01c166117c15760405163c45a015560e01b815292602084600481855afa938415610bfe57869461179d575b506002906040519261155d84611976565b83526001600160a01b03858116602080860191825260016040808801828152606089019687528b8d52928790528b20965187549085166001600160a01b031990911617875591519186018054915160ff60a01b90151560a01b16929093166001600160a81b031990911617179055519101556003546801000000000000000081101561178957906105998260016115f79401600355611908565b6003546000198101908111611775578284526004602052604084205592906001905b6003548210156117345761162c82611908565b60018060a01b0391549060031b1c16948585526002602052600260408620015493835b80158015806116f9575b156116cc576000198201918083116116b85761167483611908565b905460039190911b1c6001600160a01b03166116938161059984611908565b8952600460205260408920551561164f57634e487b7160e01b87526011600452602487fd5b634e487b7160e01b89526011600452602489fd5b50909660019395509391936116e48161059984611908565b86526004602052604086205501909391611619565b5060001982018281116116b85761170f90611908565b60018060a01b0391549060031b1c168852600260205286600260408a20015411611659565b604080516001600160a01b038581168252871660208201528592917f2161d26dd2e031506bee289a523abc3337bfa101a08626541f6978f76048eac791a280f35b634e487b7160e01b84526011600452602484fd5b634e487b7160e01b85526041600452602485fd5b60029194506117ba9060203d602011610ef157610ee381836119a8565b939061154c565b60405162461bcd60e51b815260206004820152601260248201527144455820616c72656164792065786973747360701b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103937baba32b960911b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840888ab60ab1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f13585e081111561cc81c995858da195960821b6044820152606490fd5b9050346103c357816003193601126103c3576020906005548152f35b600435906001600160a01b0382168203610bf157565b6060906003190112610bf1576004356001600160a01b0381168103610bf157906024356001600160a01b0381168103610bf1579060443590565b60035481101561192357600360005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b906020808351928381520192019060005b8181106119575750505090565b82516001600160a01b031684526020938401939092019160010161194a565b6080810190811067ffffffffffffffff82111761199257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761199257604052565b90816020910312610bf157516001600160a01b0381168103610bf15790565b919082039182116119f657565b634e487b7160e01b600052601160045260246000fd5b15611a1357565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b15611a5757565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606490fd5b90816020910312610bf157518015158103610bf15790565b8051156119235760200190565b8051600110156119235760400190565b15611acc57565b60405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74206f757470757420616d6f756e740000000000006044820152606490fd5b3d15611b4c573d9067ffffffffffffffff82116119925760405191611b40601f8201601f1916602001846119a8565b82523d6000602084013e565b606090565b6001546001600160a01b03163303611b6557565b63118cdaa760e01b6000523360045260246000fd5b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152611bbb91611bb66064836119a8565b611c14565b565b90600092600354935b848110611bd7575050505050600090565b611be081611908565b905460039190911b1c6001600160a01b0316611bfe83858784611c8f565b611c0b5750600101611bc6565b94505050505090565b906000602091828151910182855af115611c6f576000513d611c6657506001600160a01b0381163b155b611c455750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415611c3e565b6040513d6000823e3d90fd5b51906001600160701b0382168203610bf157565b6001600160a01b03166000908152600260205260409020600181015460a081901c60ff1615611e605790546040516315ab88c960e31b81529190602090839060049082906001600160a01b03165afa918215611c6f57600092611e89575b5060405163e6a4390560e01b81526001600160a01b0384811660048301528381166024830152909160209183916044918391165afa908115611c6f57600091611e6a575b506001600160a01b0316918215611e6057606060049360405194858092630240bc6b60e21b82525afa908115611c6f576000928392611e00575b6001600160a01b0390811691161092506001600160701b03918315611df95780935b15611df257505b16926006548410611de95715611dc15750600b810290808204600b14901517156119f657600a9004111590565b9150600b810290808204600b14901517156119f657600a6001600160701b0391049116101590565b50505050600090565b9050611d94565b8193611d8d565b929091506060843d606011611e58575b81611e1d606093836119a8565b8101031261017e57611e2e84611c7b565b906040611e3d60208701611c7b565b95015163ffffffff81160361017e5750928392909190611d6b565b3d9150611e10565b5050505050600090565b611e83915060203d602011610ef157610ee381836119a8565b38611d31565b611ea391925060203d602011610ef157610ee381836119a8565b9038611ced56fea2646970667358221220675a5d71e923278f18dde9ab2eda15790267ef310dd5537cc76c19641e7ee12e64736f6c634300081a003300000000000000000000000043cdaad3a967cc8e8583c6897c3a4d220ca29ddb