0 txs
107 calls
constructor
constructor(address pool_, address router_, address admin_)
functions
ADMIN_DELEGATE_ROLE
viewfunction ADMIN_DELEGATE_ROLE() view returns (bytes32)
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getRoleMembers
viewfunction getRoleMembers(bytes32 role) view returns (address[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isAdmin
viewfunction isAdmin(address _sender) view returns (bool)
isDelegateAdmin
viewfunction isDelegateAdmin(address _sender) view returns (bool)
isOperator
viewfunction isOperator(address _sender) view returns (bool)
isSigner
viewfunction isSigner(address _sender) view returns (bool)
OPERATOR
viewfunction OPERATOR() view returns (bytes32)
pool
viewfunction pool() view returns (address)
router
viewfunction router() view returns (address)
SIGNER
viewfunction SIGNER() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setPool
nonpayablefunction setPool(address _pool)
setRouterV3
nonpayablefunction setRouterV3(address _routerV3)
swapToken
nonpayablefunction swapToken(address tokenIn, address tokenOut, uint256 amountIn, uint256 amountOutMin, address receiver, bool isV3, bytes externalCallData) returns (uint256 amountOut)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
InvalidAdminRole
error InvalidAdminRole()
InvalidAtLeastOperatorRole
error InvalidAtLeastOperatorRole()
InvalidDelegateRole
error InvalidDelegateRole()
InvalidSignerRole
error InvalidSignerRole()
InvalidSwapAmount
error InvalidSwapAmount(uint256 amount)
NoLiquidityInV2OrV3
error NoLiquidityInV2OrV3()
SwapError
error SwapError()
creation bytecode
0x608060405234801561000f575f80fd5b506040516113fe3803806113fe83398101604081905261002e916102eb565b600280546001600160a01b038086166001600160a01b03199283161790925560038054928516929091169190911790556100678161006f565b50505061032b565b6100865f805160206113de83398151915282610155565b5061009e5f805160206113be83398151915282610155565b506100b65f8051602061139e83398151915282610155565b506100ce5f8051602061137e83398151915282610155565b506100e65f805160206113be8339815191528061018b565b61010a5f8051602061139e8339815191525f805160206113be83398151915261018b565b61012e5f805160206113de8339815191525f8051602061139e83398151915261018b565b6101525f8051602061137e8339815191525f8051602061139e83398151915261018b565b50565b5f8061016184846101d5565b90508015610182575f848152600160205260409020610180908461027c565b505b90505b92915050565b5f82815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff16610275575f838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561022d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610185565b505f610185565b5f610182836001600160a01b0384165f81815260018301602052604081205461027557508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610185565b80516001600160a01b03811681146102e6575f80fd5b919050565b5f805f606084860312156102fd575f80fd5b610306846102d0565b9250610314602085016102d0565b9150610322604085016102d0565b90509250925092565b611046806103385f395ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c806375b238fc116100bf578063a217fddf11610079578063a217fddf1461032b578063a3246ad314610332578063ca15c87314610352578063d547741f14610365578063f887ea4014610378578063f93d55521461038b575f80fd5b806375b238fc146102915780637df73e27146102b85780639010d07c146102cb57806391d14854146102de578063983d2737146102f1578063a16a95f314610318575f80fd5b806324d7806c1161011057806324d7806c1461020b5780632f2ff15d1461021e57806336568abe146102315780634437152a14610244578063582abd12146102575780636d70f7ae1461027e575f80fd5b806301ffc9a71461014c57806305e4477d146101745780630952ff541461018957806316f0115b146101be578063248a9ca3146101e9575b5f80fd5b61015f61015a366004610cc7565b61039e565b60405190151581526020015b60405180910390f35b610187610182366004610d09565b6103c8565b005b6101b07fc171260023d22a25a00a2789664c9334017843b831138c8ef03cc8897e5873d781565b60405190815260200161016b565b6002546101d1906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b6101b06101f7366004610d22565b5f9081526020819052604090206001015490565b61015f610219366004610d09565b61040e565b61018761022c366004610d39565b610439565b61018761023f366004610d39565b610463565b610187610252366004610d09565b61049b565b6101b07f6c8d7f768a6bb4aafe85e8a2f5a9680355239c7e14646ed62b044e39de15451281565b61015f61028c366004610d09565b6104e3565b6101b07ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d881565b61015f6102c6366004610d09565b61050e565b6101d16102d9366004610d63565b610539565b61015f6102ec366004610d39565b610557565b6101b07f46a52cf33029de9f84853745a87af28464c80bf0346df1b32e205fc73319f62281565b61015f610326366004610d09565b61057f565b6101b05f81565b610345610340366004610d22565b6105aa565b60405161016b9190610d83565b6101b0610360366004610d22565b6105c3565b610187610373366004610d39565b6105d9565b6003546101d1906001600160a01b031681565b6101b0610399366004610def565b6105fd565b5f6001600160e01b03198216635a05180f60e01b14806103c257506103c282610623565b92915050565b6103d13361057f565b6103ee5760405163dade674960e01b815260040160405180910390fd5b50600380546001600160a01b031981166001600160a01b03909116179055565b5f6103c27ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d883610557565b5f8281526020819052604090206001015461045381610657565b61045d8383610664565b50505050565b6001600160a01b038116331461048c5760405163334bd91960e11b815260040160405180910390fd5b6104968282610697565b505050565b6104a43361057f565b6104c15760405163dade674960e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6103c27f46a52cf33029de9f84853745a87af28464c80bf0346df1b32e205fc73319f62283610557565b5f6103c27f6c8d7f768a6bb4aafe85e8a2f5a9680355239c7e14646ed62b044e39de15451283610557565b5f82815260016020526040812061055090836106c2565b9392505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f6103c27fc171260023d22a25a00a2789664c9334017843b831138c8ef03cc8897e5873d783610557565b5f8181526001602052604090206060906103c2906106cd565b5f8181526001602052604081206103c2906106d9565b5f828152602081905260409020600101546105f381610657565b61045d8383610697565b5f61060a883330896106e2565b61061788888888886107ec565b98975050505050505050565b5f6001600160e01b03198216637965db0b60e01b14806103c257506301ffc9a760e01b6001600160e01b03198316146103c2565b61066181336109bc565b50565b5f8061067084846109f9565b90508015610550575f84815260016020526040902061068f9084610a88565b509392505050565b5f806106a38484610a9c565b90508015610550575f84815260016020526040902061068f9084610b05565b5f6105508383610b19565b60605f61055083610b3f565b5f6103c2825490565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916107459190610ef7565b5f604051808303815f865af19150503d805f811461077e576040519150601f19603f3d011682016040523d82523d5f602084013e610783565b606091505b50915091508180156107ad5750805115806107ad5750808060200190518101906107ad9190610f0d565b6107e45760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064015b60405180910390fd5b505050505050565b60035460405163095ea7b360e01b81526001600160a01b039182166004820152602481018590525f9187169063095ea7b3906044016020604051808303815f875af115801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190610f0d565b5060025460035460408051610100810182526001600160a01b038a81168252898116602080840191909152835163ddca3f4360e01b815284519683169695909216945f94840192879263ddca3f43926004808401938290030181865afa1580156108cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f19190610f28565b62ffffff16815233602082015260400161090c426005610f5e565b81526020018881526020018781526020015f6001600160a01b03168152509050816001600160a01b031663414bf389826040518263ffffffff1660e01b81526004016109589190610f71565b6020604051808303815f875af1925050508015610992575060408051601f3d908101601f1916820190925261098f91810190610fe7565b60015b6109af57604051633e1f5ce560e11b815260040160405180910390fd5b9998505050505050505050565b6109c68282610557565b6109f55760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016107db565b5050565b5f610a048383610557565b610a81575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610a393390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103c2565b505f6103c2565b5f610550836001600160a01b038416610b98565b5f610aa78383610557565b15610a81575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103c2565b5f610550836001600160a01b038416610bdd565b5f825f018281548110610b2e57610b2e610ffe565b905f5260205f200154905092915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015610b8c57602002820191905f5260205f20905b815481526020019060010190808311610b78575b50505050509050919050565b5f818152600183016020526040812054610a8157508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556103c2565b5f8181526001830160205260408120548015610cb7575f610bff600183611012565b85549091505f90610c1290600190611012565b9050808214610c71575f865f018281548110610c3057610c30610ffe565b905f5260205f200154905080875f018481548110610c5057610c50610ffe565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080610c8257610c82611025565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506103c2565b5f9150506103c2565b5092915050565b5f60208284031215610cd7575f80fd5b81356001600160e01b031981168114610550575f80fd5b80356001600160a01b0381168114610d04575f80fd5b919050565b5f60208284031215610d19575f80fd5b61055082610cee565b5f60208284031215610d32575f80fd5b5035919050565b5f8060408385031215610d4a575f80fd5b82359150610d5a60208401610cee565b90509250929050565b5f8060408385031215610d74575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015610dc35783516001600160a01b0316835260209384019390920191600101610d9c565b509095945050505050565b8015158114610661575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f805f805f60e0888a031215610e05575f80fd5b610e0e88610cee565b9650610e1c60208901610cee565b95506040880135945060608801359350610e3860808901610cee565b925060a0880135610e4881610dce565b915060c088013567ffffffffffffffff811115610e63575f80fd5b8801601f81018a13610e73575f80fd5b803567ffffffffffffffff811115610e8d57610e8d610ddb565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610ebc57610ebc610ddb565b6040528181528282016020018c1015610ed3575f80fd5b816020840160208301375f6020838301015280935050505092959891949750929550565b5f82518060208501845e5f920191825250919050565b5f60208284031215610f1d575f80fd5b815161055081610dce565b5f60208284031215610f38575f80fd5b815162ffffff81168114610550575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103c2576103c2610f4a565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015191821690830152610100820190506080830151608083015260a083015160a083015260c083015160c083015260e0830151610cc060e08401826001600160a01b03169052565b5f60208284031215610ff7575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b818103818111156103c2576103c2610f4a565b634e487b7160e01b5f52603160045260245ffdfea164736f6c634300081a000a6c8d7f768a6bb4aafe85e8a2f5a9680355239c7e14646ed62b044e39de154512c171260023d22a25a00a2789664c9334017843b831138c8ef03cc8897e5873d7f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d846a52cf33029de9f84853745a87af28464c80bf0346df1b32e205fc73319f62200000000000000000000000092b7807bf19b7dddf89b706143896d05228f31210000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb140000000000000000000000000d3e7faacf6e3ead3121afc8f9c6f8f4245c1627