0 txs
0 calls
constructor
constructor(address _owner, address _zeroXAllowanceHolder)
functions
hasRole
viewfunction hasRole(bytes32 role_, address address_) view returns (bool)
NATIVE_TOKEN_ADDRESS
viewfunction NATIVE_TOKEN_ADDRESS() view returns (address)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
zeroXAllowanceHolder
viewfunction zeroXAllowanceHolder() view returns (address)
claimOwner
nonpayablefunction claimOwner()
grantRole
nonpayablefunction grantRole(bytes32 role_, address grantee_)
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
performAction
payablefunction performAction(address fromToken, address toToken, uint256 amount, address receiverAddress, bytes swapExtraData, address feeTaker, uint56 feeBps) payable returns (uint256)
rescue
nonpayablefunction rescue(address token, address to, uint256 amount)
revokeRole
nonpayablefunction revokeRole(bytes32 role_, address revokee_)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed grantee)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed revokee)
errors
InvalidTokenAddress
error InvalidTokenAddress()
NoPermit
error NoPermit(bytes32 role)
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
PartialSwapsNotAllowed
error PartialSwapsNotAllowed()
SwapFailed
error SwapFailed()
TransferFailed
error TransferFailed()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a060405234801561001057600080fd5b50604051610e79380380610e7983398101604081905261002f916100bd565b818061003a8161004e565b50506001600160a01b0316608052506100f0565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b03811681146100b857600080fd5b919050565b600080604083850312156100d057600080fd5b6100d9836100a1565b91506100e7602084016100a1565b90509250929050565b608051610d596101206000396000818161016201528181610272015281816102e9015261038f0152610d596000f3fe60806040526004361061009a5760003560e01c80633dc79d1b116100615780633dc79d1b146101505780635b94db27146101845780638da5cb5b146101a457806391d14854146101c2578063d547741f146101f2578063df2ebdbb1461021257005b806313d7d764146100a357806320f99c0a146100c957806320ff430b146100fb5780632f2ff15d1461011b5780633bd1adec1461013b57005b366100a157005b005b6100b66100b1366004610b46565b61023a565b6040519081526020015b60405180910390f35b3480156100d557600080fd5b506001546001600160a01b03165b6040516001600160a01b0390911681526020016100c0565b34801561010757600080fd5b506100a1610116366004610c15565b61049e565b34801561012757600080fd5b506100a1610136366004610c51565b610527565b34801561014757600080fd5b506100a1610560565b34801561015c57600080fd5b506100e37f000000000000000000000000000000000000000000000000000000000000000081565b34801561019057600080fd5b506100a161019f366004610c7d565b610596565b3480156101b057600080fd5b506000546001600160a01b03166100e3565b3480156101ce57600080fd5b506101e26101dd366004610c51565b61060b565b60405190151581526020016100c0565b3480156101fe57600080fd5b506100a161020d366004610c51565b61063b565b34801561021e57600080fd5b506100e373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60006001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146102975761026c338a308a610670565b610297897f0000000000000000000000000000000000000000000000000000000000000000896106b0565b6102a389888585610700565b965060006102b18930610773565b905060006102bf8b30610773565b90506001600160a01b038b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461038b5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168888604051610321929190610c98565b6000604051808303816000865af19150503d806000811461035e576040519150601f19603f3d011682016040523d82523d6000602084013e610363565b606091505b50509050806103855760405163081ceff360e41b815260040160405180910390fd5b5061042e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168a89896040516103c8929190610c98565b60006040518083038185875af1925050503d8060008114610405576040519150601f19603f3d011682016040523d82523d6000602084013e61040a565b606091505b505090508061042c5760405163081ceff360e41b815260040160405180910390fd5b505b600061043a8c30610773565b90506104468a83610cbe565b81111561046657604051637b36c47960e01b815260040160405180910390fd5b60006104728c30610773565b905060006104808583610cbe565b905061048d8d8c83610815565b9d9c50505050505050505050505050565b3360009081527f4933f7bec34ee32db93e9f5cd7e0519781b395282211f4f6857489046ea38f7660205260409020547fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f292539060ff166105165760405163962f633360e01b81526004810182905260240160405180910390fd5b610521848484610854565b50505050565b6000546001600160a01b0316331461055257604051635fc483c560e01b815260040160405180910390fd5b61055c82826108d5565b5050565b6001546001600160a01b0316331461058b57604051637c91ccdd60e01b815260040160405180910390fd5b61059433610930565b565b6000546001600160a01b031633146105c157604051635fc483c560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b60008281526002602090815260408083206001600160a01b038516845290915281205460ff165b90505b92915050565b6000546001600160a01b0316331461066657604051635fc483c560e01b815260040160405180910390fd5b61055c8282610983565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016106a45761069f82826109db565b610521565b61052183858484610a54565b816014528060345263095ea7b360601b60005260206000604460106000875af180600160005114166106f557803d853b1517106106f557633e3f8f736000526004601cfd5b506000603452505050565b60006001600160a01b03831615801590610723575060008266ffffffffffffff16115b1561076a576000662386f26fc1000061074566ffffffffffffff851687610cd1565b61074f9190610ce8565b905061075c868583610815565b6107668186610cbe565b9450505b50919392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016107ab57506001600160a01b03811631610635565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190610d0a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016108495761084482826109db565b505050565b610844838383610ab2565b6001600160a01b03821661087b5760405163d92e233d60e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016108aa576108448282610af7565b826001600160a01b03163b60000361084957604051630f58058360e11b815260040160405180910390fd5b60008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b60008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114610a2d576040519150601f19603f3d011682016040523d82523d6000602084013e610a32565b606091505b5050905080610844576040516312171d8360e31b815260040160405180910390fd5b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af18060016000511416610aa357803d873b151710610aa357637939f4246000526004601cfd5b50600060605260405250505050565b816014528060345263a9059cbb60601b60005260206000604460106000875af180600160005114166106f557803d853b1517106106f5576390b8ec186000526004601cfd5b60003860003884865af161055c5763b12d13eb6000526004601cfd5b80356001600160a01b0381168114610b2a57600080fd5b919050565b803566ffffffffffffff81168114610b2a57600080fd5b60008060008060008060008060e0898b031215610b6257600080fd5b610b6b89610b13565b9750610b7960208a01610b13565b965060408901359550610b8e60608a01610b13565b9450608089013567ffffffffffffffff80821115610bab57600080fd5b818b0191508b601f830112610bbf57600080fd5b813581811115610bce57600080fd5b8c6020828501011115610be057600080fd5b602083019650809550505050610bf860a08a01610b13565b9150610c0660c08a01610b2f565b90509295985092959890939650565b600080600060608486031215610c2a57600080fd5b610c3384610b13565b9250610c4160208501610b13565b9150604084013590509250925092565b60008060408385031215610c6457600080fd5b82359150610c7460208401610b13565b90509250929050565b600060208284031215610c8f57600080fd5b61063282610b13565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063557610635610ca8565b808202811582820484141761063557610635610ca8565b600082610d0557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610d1c57600080fd5b505191905056fea26469706673582212201a62e1377af9cb0a0c3e3fc2f22dd208c94340eae8c796532f2a6f74cff92eaf64736f6c634300081300330000000000000000000000000e1b5ab67af1c99f8c7ebc71f41f75d4d6211e530000000000000000000000000000000000001ff3684f28c67538d4d072c22734