3 txs
25 calls
constructor
constructor(address admin, address _poolManager)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getBalance
viewfunction getBalance(address token) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
POOL_MANAGER_ROLE
viewfunction POOL_MANAGER_ROLE() 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)
requestBonus
nonpayablefunction requestBonus(address _token, address _recipient, uint256 _bonus)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
withdrawFund
nonpayablefunction withdrawFund(address _token, uint256 amount, address _recipient)
events
RequestBonus
event RequestBonus(address indexed token, address indexed receiver, uint256 bonus)
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)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ErrorCallerNotPoolManager
error ErrorCallerNotPoolManager()
ErrorRatioTooLarge
error ErrorRatioTooLarge()
ErrorRebalancePoolAlreadyAdded
error ErrorRebalancePoolAlreadyAdded()
ErrorRebalancePoolNotAdded
error ErrorRebalancePoolNotAdded()
FailedInnerCall
error FailedInnerCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561000f575f80fd5b50604051610b40380380610b4083398101604081905261002e9161012f565b6100587f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff8261006b565b506100635f8361006b565b505050610160565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661010b575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556100c33390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161010e565b505f5b92915050565b80516001600160a01b038116811461012a575f80fd5b919050565b5f8060408385031215610140575f80fd5b61014983610114565b915061015760208401610114565b90509250929050565b6109d38061016d5f395ff3fe60806040526004361061009d575f3560e01c8063565659ea11610062578063565659ea1461017757806356d735681461019657806391d14854146101c9578063a217fddf146101e8578063d547741f146101fb578063f8b2cb4f1461021a575f80fd5b806301ffc9a7146100a857806316985511146100dc578063248a9ca3146100fd5780632f2ff15d1461013957806336568abe14610158575f80fd5b366100a457005b5f80fd5b3480156100b3575f80fd5b506100c76100c2366004610847565b610239565b60405190151581526020015b60405180910390f35b3480156100e7575f80fd5b506100fb6100f6366004610884565b61026f565b005b348015610108575f80fd5b5061012b6101173660046108bd565b5f9081526020819052604090206001015490565b6040519081526020016100d3565b348015610144575f80fd5b506100fb6101533660046108d4565b61028a565b348015610163575f80fd5b506100fb6101723660046108d4565b6102ae565b348015610182575f80fd5b506100fb6101913660046108fe565b6102e6565b3480156101a1575f80fd5b5061012b7f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff81565b3480156101d4575f80fd5b506100c76101e33660046108d4565b61038e565b3480156101f3575f80fd5b5061012b5f81565b348015610206575f80fd5b506100fb6102153660046108d4565b6103b6565b348015610225575f80fd5b5061012b610234366004610938565b6103da565b5f6001600160e01b03198216637965db0b60e01b148061026957506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610279816103e4565b6102848483856103f1565b50505050565b5f828152602081905260409020600101546102a4816103e4565b610284838361041d565b6001600160a01b03811633146102d75760405163334bd91960e11b815260040160405180910390fd5b6102e182826104ac565b505050565b7f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff610310816103e4565b5f61031a85610515565b905080831115610328578092505b8215610387576103398585856103f1565b836001600160a01b0316856001600160a01b03167f8398f215c164c129645f50e1a6ab763177ace545af90ad35d2c7d8573256acb68560405161037e91815260200190565b60405180910390a35b5050505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f828152602081905260409020600101546103d0816103e4565b61028483836104ac565b5f61026982610515565b6103ee8133610596565b50565b6001600160a01b038316610409576102e182826105d8565b6102e16001600160a01b038416838361066b565b5f610428838361038e565b6104a5575f838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561045d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610269565b505f610269565b5f6104b7838361038e565b156104a5575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610269565b5f6001600160a01b03821661052b575047919050565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa15801561056d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102699190610951565b919050565b6105a0828261038e565b6105d45760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044015b60405180910390fd5b5050565b804710156105fb5760405163cd78605960e01b81523060048201526024016105cb565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610644576040519150601f19603f3d011682016040523d82523d5f602084013e610649565b606091505b50509050806102e157604051630a12f52160e11b815260040160405180910390fd5b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092019092526020810180516001600160e01b031663a9059cbb60e01b1790526102e1918591905f906106c890841683610715565b905080515f141580156106ec5750808060200190518101906106ea9190610968565b155b156102e157604051635274afe760e01b81526001600160a01b03841660048201526024016105cb565b606061072283835f610729565b9392505050565b60608147101561074e5760405163cd78605960e01b81523060048201526024016105cb565b5f80856001600160a01b031684866040516107699190610987565b5f6040518083038185875af1925050503d805f81146107a3576040519150601f19603f3d011682016040523d82523d5f602084013e6107a8565b606091505b50915091506107b88683836107c2565b9695505050505050565b6060826107d7576107d28261081e565b610722565b81511580156107ee57506001600160a01b0384163b155b1561081757604051639996b31560e01b81526001600160a01b03851660048201526024016105cb565b5080610722565b80511561082e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215610857575f80fd5b81356001600160e01b031981168114610722575f80fd5b80356001600160a01b0381168114610591575f80fd5b5f805f60608486031215610896575f80fd5b61089f8461086e565b9250602084013591506108b46040850161086e565b90509250925092565b5f602082840312156108cd575f80fd5b5035919050565b5f80604083850312156108e5575f80fd5b823591506108f56020840161086e565b90509250929050565b5f805f60608486031215610910575f80fd5b6109198461086e565b92506109276020850161086e565b929592945050506040919091013590565b5f60208284031215610948575f80fd5b6107228261086e565b5f60208284031215610961575f80fd5b5051919050565b5f60208284031215610978575f80fd5b81518015158114610722575f80fd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220d8c0b4490bb57ed69db68905bfbae9b1a66a543eea61e710880b782b82b52cc264736f6c634300081a0033000000000000000000000000a1d0027ca4c0cb79f9403d06a29470abc7b0a468000000000000000000000000250893ca4ba5d05626c785e8da758026928fcd24