29 txs
27 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
cancelTx
viewfunction cancelTx() view
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addAdmin
nonpayablefunction addAdmin(address newAdmin)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
notifyERC20Received
nonpayablefunction notifyERC20Received(address token, uint256 amount)
removeAdmin
nonpayablefunction removeAdmin(address admin)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
sweepERC20
nonpayablefunction sweepERC20(address token, address to)
sweepETH
nonpayablefunction sweepETH(address to)
transferEther
payablefunction transferEther(address to, uint256 _amount) payable
transferToken
payablefunction transferToken(address token, address to, uint256 _amount) payable
events
AdminAdded
event AdminAdded(address indexed newAdmin)
ERC20Received
event ERC20Received(address indexed token, address indexed from, uint256 amount)
ERC20Sent
event ERC20Sent(address indexed token, address indexed recipient, uint256 amount)
ETHReceived
event ETHReceived(address indexed sender, uint256 amount)
ETHSent
event ETHSent(address indexed recipient, uint256 amount)
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)
SweptERC20
event SweptERC20(address indexed token, address indexed to, uint256 amount)
SweptETH
event SweptETH(address indexed to, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561000f575f5ffd5b50600180819055505f33905061002d5f5f1b8261006560201b60201c565b5061005e7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758261006560201b60201c565b50506101c4565b5f610076838361015a60201b60201c565b6101505760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100ed6101bd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610154565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b611bb0806101d15f395ff3fe6080604052600436106100f6575f3560e01c80637048027511610089578063d547741f11610058578063d547741f146103af578063e22162bb146103d7578063f0cd5c17146103ff578063f5537ede146104155761014b565b806370480275146102f757806375b238fc1461031f57806391d1485414610349578063a217fddf146103855761014b565b8063248a9ca3116100c5578063248a9ca3146102435780632f2ff15d1461027f57806336568abe146102a7578063582515c7146102cf5761014b565b806301ffc9a71461019b57806305b1137b146101d75780631163b2b0146101f35780631785f53c1461021b5761014b565b3661014b573373ffffffffffffffffffffffffffffffffffffffff167fbfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972a346040516101419190611381565b60405180910390a2005b3373ffffffffffffffffffffffffffffffffffffffff167fbfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972a346040516101919190611381565b60405180910390a2005b3480156101a6575f5ffd5b506101c160048036038101906101bc91906113f3565b610431565b6040516101ce9190611438565b60405180910390f35b6101f160048036038101906101ec91906114d5565b6104aa565b005b3480156101fe575f5ffd5b5061021960048036038101906102149190611513565b6106dd565b005b348015610226575f5ffd5b50610241600480360381019061023c9190611579565b61083b565b005b34801561024e575f5ffd5b50610269600480360381019061026491906115d7565b610875565b6040516102769190611611565b60405180910390f35b34801561028a575f5ffd5b506102a560048036038101906102a0919061162a565b610891565b005b3480156102b2575f5ffd5b506102cd60048036038101906102c8919061162a565b6108b3565b005b3480156102da575f5ffd5b506102f560048036038101906102f09190611668565b61092e565b005b348015610302575f5ffd5b5061031d60048036038101906103189190611579565b610a9d565b005b34801561032a575f5ffd5b50610333610b1a565b6040516103409190611611565b60405180910390f35b348015610354575f5ffd5b5061036f600480360381019061036a919061162a565b610b3e565b60405161037c9190611438565b60405180910390f35b348015610390575f5ffd5b50610399610ba1565b6040516103a69190611611565b60405180910390f35b3480156103ba575f5ffd5b506103d560048036038101906103d0919061162a565b610ba7565b005b3480156103e2575f5ffd5b506103fd60048036038101906103f891906116a6565b610bc9565b005b34801561040a575f5ffd5b50610413610c5d565b005b61042f600480360381019061042a91906116e4565b610cca565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104a357506104a282610e54565b5b9050919050565b6104d47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610b3e565b610513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050a9061178e565b60405180910390fd5b61051b610ebd565b5f610526825f610f0c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058d906117f6565b60405180910390fd5b804710156105d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d09061185e565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff16826040516105fe906118a9565b5f6040518083038185875af1925050503d805f8114610638576040519150601f19603f3d011682016040523d82523d5f602084013e61063d565b606091505b5050905080610681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067890611907565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167f07e522f923c81306583f6ac561a0b016b750def4b9fba3fc2198249b036905e5836040516106c79190611381565b60405180910390a250506106d9611008565b5050565b5f5f1b6106e981611011565b6106f1610ebd565b5f4790505f8111610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e9061196f565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff168260405161075c906118a9565b5f6040518083038185875af1925050503d805f8114610796576040519150601f19603f3d011682016040523d82523d5f602084013e61079b565b606091505b50509050806107df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d6906119d7565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167f4abde9448551dd0f804bf92de5a15dd629946b90dda555c79914e5d12537755b836040516108259190611381565b60405180910390a25050610837611008565b5050565b5f5f1b61084781611011565b6108717fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583610ba7565b5050565b5f5f5f8381526020019081526020015f20600101549050919050565b61089a82610875565b6108a381611011565b6108ad8383611025565b50505050565b6108bb61110e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461091f576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109298282611115565b505050565b5f5f1b61093a81611011565b610942610ebd565b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161097c9190611a04565b602060405180830381865afa158015610997573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bb9190611a31565b90505f81116109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690611aa6565b60405180910390fd5b610a2a83828673ffffffffffffffffffffffffffffffffffffffff166111fe9092919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167ff50329e84914819cd1df30a3b32ea86d7b37a7f0dd963d60aec1c7207f9f693283604051610a879190611381565b60405180910390a350610a98611008565b505050565b5f5f1b610aa981611011565b610ad37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583610891565b8173ffffffffffffffffffffffffffffffffffffffff167f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33960405160405180910390a25050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f5f1b81565b610bb082610875565b610bb981611011565b610bc38383611115565b50505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610bf381611011565b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f12ca2fe53ea3195be662b13326c0b58c013414d9d62c4f1c8f9e9471e7a574ed84604051610c509190611381565b60405180910390a3505050565b610c877fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610b3e565b610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd9061178e565b60405180910390fd5b5f5ffd5b610cf47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610b3e565b610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a9061178e565b60405180910390fd5b610d3b610ebd565b5f610d468285610f0c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad906117f6565b60405180910390fd5b610de183828673ffffffffffffffffffffffffffffffffffffffff166111fe9092919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f66da13e293e415f961254bcbfc4a8ae83526d9f81561f059493541e4c5558b0b83604051610e3e9190611381565b60405180910390a350610e4f611008565b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600260015403610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611b0e565b60405180910390fd5b6002600181905550565b5f5f8390505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f65575f4790505f8211610f53578091505b80821115610f5f575f5ffd5b50610ffe565b5f8390505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fa39190611a04565b602060405180830381865afa158015610fbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe29190611a31565b90505f8311610fef578092505b80831115610ffb575f5ffd5b50505b8091505092915050565b60018081905550565b6110228161101d61110e565b61127d565b50565b5f6110308383610b3e565b6111045760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506110a161110e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611108565b5f90505b92915050565b5f33905090565b5f6111208383610b3e565b156111f4575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061119161110e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a4600190506111f8565b5f90505b92915050565b611278838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611231929190611b2c565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112ce565b505050565b6112878282610b3e565b6112ca5780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016112c1929190611b53565b60405180910390fd5b5050565b5f5f60205f8451602086015f885af1806112ed576040513d5f823e3d81fd5b3d92505f519150505f8214611306576001811415611321565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561136357836040517f5274afe700000000000000000000000000000000000000000000000000000000815260040161135a9190611a04565b60405180910390fd5b50505050565b5f819050919050565b61137b81611369565b82525050565b5f6020820190506113945f830184611372565b92915050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113d28161139e565b81146113dc575f5ffd5b50565b5f813590506113ed816113c9565b92915050565b5f602082840312156114085761140761139a565b5b5f611415848285016113df565b91505092915050565b5f8115159050919050565b6114328161141e565b82525050565b5f60208201905061144b5f830184611429565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61147a82611451565b9050919050565b61148a81611470565b8114611494575f5ffd5b50565b5f813590506114a581611481565b92915050565b6114b481611369565b81146114be575f5ffd5b50565b5f813590506114cf816114ab565b92915050565b5f5f604083850312156114eb576114ea61139a565b5b5f6114f885828601611497565b9250506020611509858286016114c1565b9150509250929050565b5f602082840312156115285761152761139a565b5b5f61153584828501611497565b91505092915050565b5f61154882611451565b9050919050565b6115588161153e565b8114611562575f5ffd5b50565b5f813590506115738161154f565b92915050565b5f6020828403121561158e5761158d61139a565b5b5f61159b84828501611565565b91505092915050565b5f819050919050565b6115b6816115a4565b81146115c0575f5ffd5b50565b5f813590506115d1816115ad565b92915050565b5f602082840312156115ec576115eb61139a565b5b5f6115f9848285016115c3565b91505092915050565b61160b816115a4565b82525050565b5f6020820190506116245f830184611602565b92915050565b5f5f604083850312156116405761163f61139a565b5b5f61164d858286016115c3565b925050602061165e85828601611565565b9150509250929050565b5f5f6040838503121561167e5761167d61139a565b5b5f61168b85828601611565565b925050602061169c85828601611565565b9150509250929050565b5f5f604083850312156116bc576116bb61139a565b5b5f6116c985828601611565565b92505060206116da858286016114c1565b9150509250929050565b5f5f5f606084860312156116fb576116fa61139a565b5b5f61170886828701611565565b935050602061171986828701611565565b925050604061172a868287016114c1565b9150509250925092565b5f82825260208201905092915050565b7f4e6f7420616e2061646d696e00000000000000000000000000000000000000005f82015250565b5f611778600c83611734565b915061178382611744565b602082019050919050565b5f6020820190508181035f8301526117a58161176c565b9050919050565b7f496e76616c696420726563697069656e740000000000000000000000000000005f82015250565b5f6117e0601183611734565b91506117eb826117ac565b602082019050919050565b5f6020820190508181035f83015261180d816117d4565b9050919050565b7f496e73756666696369656e7420455448000000000000000000000000000000005f82015250565b5f611848601083611734565b915061185382611814565b602082019050919050565b5f6020820190508181035f8301526118758161183c565b9050919050565b5f81905092915050565b50565b5f6118945f8361187c565b915061189f82611886565b5f82019050919050565b5f6118b382611889565b9150819050919050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f6118f1601383611734565b91506118fc826118bd565b602082019050919050565b5f6020820190508181035f83015261191e816118e5565b9050919050565b7f4e6f2045544820746f20737765657000000000000000000000000000000000005f82015250565b5f611959600f83611734565b915061196482611925565b602082019050919050565b5f6020820190508181035f8301526119868161194d565b9050919050565b7f5377656570206661696c656400000000000000000000000000000000000000005f82015250565b5f6119c1600c83611734565b91506119cc8261198d565b602082019050919050565b5f6020820190508181035f8301526119ee816119b5565b9050919050565b6119fe8161153e565b82525050565b5f602082019050611a175f8301846119f5565b92915050565b5f81519050611a2b816114ab565b92915050565b5f60208284031215611a4657611a4561139a565b5b5f611a5384828501611a1d565b91505092915050565b7f4e6f20455243323020746f2073776565700000000000000000000000000000005f82015250565b5f611a90601183611734565b9150611a9b82611a5c565b602082019050919050565b5f6020820190508181035f830152611abd81611a84565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611af8601f83611734565b9150611b0382611ac4565b602082019050919050565b5f6020820190508181035f830152611b2581611aec565b9050919050565b5f604082019050611b3f5f8301856119f5565b611b4c6020830184611372565b9392505050565b5f604082019050611b665f8301856119f5565b611b736020830184611602565b939250505056fea2646970667358221220d777c0b45ab86076b57ba706a9af9a50058804fb1ee064fc74656d632dd623d164736f6c634300081e0033