0 txs
1 call
constructor
constructor()
functions
EMERGENCY_MAX_GAS
viewfunction EMERGENCY_MAX_GAS() view returns (uint256)
EMERGENCY_MULTISIG
viewfunction EMERGENCY_MULTISIG() view returns (address)
EMERGENCY_WITHDRAWAL_DELAY
viewfunction EMERGENCY_WITHDRAWAL_DELAY() view returns (uint256)
emergencyOperationCounter
viewfunction emergencyOperationCounter() view returns (uint256)
emergencyState
viewfunction emergencyState() view returns (bool isEmergencyShutdown, uint256 emergencyActivatedAt, address emergencyActivatedBy, uint256 totalEmergencyWithdrawn)
emergencyWithdrawalRequests
viewfunction emergencyWithdrawalRequests(bytes32) view returns (bool)
getAddresses
purefunction getAddresses() pure returns (address guardian, address emergencyMultisig)
getEmergencyState
viewfunction getEmergencyState() view returns (bool isEmergencyShutdown, uint256 emergencyActivatedAt, address emergencyActivatedBy, uint256 totalEmergencyWithdrawn, uint256 contractBalance)
GUARDIAN
viewfunction GUARDIAN() view returns (address)
MAX_REASON_LENGTH
viewfunction MAX_REASON_LENGTH() view returns (uint256)
paused
viewfunction paused() view returns (bool)
version
viewfunction version() view returns (string)
activateEmergencyShutdown
nonpayablefunction activateEmergencyShutdown(string _reason)
emergencyPause
nonpayablefunction emergencyPause()
emergencyRecoverERC20
nonpayablefunction emergencyRecoverERC20(address _token, uint256 _amount, string _reason)
emergencyUnpause
nonpayablefunction emergencyUnpause()
emergencyWithdrawAll
nonpayablefunction emergencyWithdrawAll(uint256 _amount, string _reason)
initialize
nonpayablefunction initialize(bool _paused)
events
ContractDeployed
event ContractDeployed(address indexed guardian, address indexed emergencyMultisig, uint256 indexed timestamp, string version)
EmergencyERC20Recovered
event EmergencyERC20Recovered(bytes32 indexed operationId, address indexed token, uint256 amount, address indexed destination, bool success, string reason)
EmergencyOperationError
event EmergencyOperationError(string indexed operation, uint256 indexed errorCode, bytes errorData, uint256 timestamp)
EmergencyShutdownActivated
event EmergencyShutdownActivated(address indexed activatedBy, uint256 indexed timestamp, string reason)
EmergencyWithdrawalExecuted
event EmergencyWithdrawalExecuted(bytes32 indexed requestId, address indexed executedBy, uint256 amount, address indexed destination, bool success)
Initialized
event Initialized(uint8 version)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
errors
EmergencyAlreadyActive
error EmergencyAlreadyActive()
EmergencyOperationFailed
error EmergencyOperationFailed(string reason)
InsufficientBalance
error InsufficientBalance()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidReason
error InvalidReason()
NotInEmergencyShutdown
error NotInEmergencyShutdown()
TransferFailed
error TransferFailed()
UnauthorizedEmergencyOperation
error UnauthorizedEmergencyOperation()
creation bytecode
0x608060405234801561001057600080fd5b50604080518082018252601781527f322e312e302d656d657267656e63792d75706772616465000000000000000000602082015290514291738eb156588d2fad21de0066baa5bfdcd9406951969173e4d08346609055c091d3deecdaad3bf83119b08c917ff8049057bde81654ea1414348f6bf61097c207dbf2cc02672574380350153b8b916100a09190610174565b60405180910390a46100b06100b5565b6101c2565b600054610100900460ff16156101215760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610172576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600060208083528351808285015260005b818110156101a157858101830151858201604001528201610185565b506000604082860101526040601f19601f8301168501019250505092915050565b6113d3806101d16000396000f3fe6080604052600436106101015760003560e01c8063828f0cfb1161008f578063aeb53ba111610061578063aeb53ba114610361578063c2f1cac014610381578063d53a822f14610398578063e5cca132146103b8578063f8a338a5146103ce57005b8063828f0cfb146102ab57806394f7f034146102db578063a2f628e414610303578063a39fac121461031957005b806354fd4d50116100d357806354fd4d50146101ac5780635c975abb146101fc5780635f1c77ac1461022657806364645ee81461024b578063724c184c1461026b57005b806324cff9ea1461010a5780632ac097081461012a5780634a4e3bd51461018257806351858e271461019757005b3661010857005b005b34801561011657600080fd5b506101086101253660046110c5565b61042e565b34801561013657600080fd5b506034546035546036546037546040805160ff9095161515855260208501939093526001600160a01b0390911691830191909152606082015247608082015260a0015b60405180910390f35b34801561018e57600080fd5b50610108610824565b3480156101a357600080fd5b506101086108f9565b3480156101b857600080fd5b506101ef60405180604001604052806017815260200176322e312e302d656d657267656e63792d7570677261646560481b81525081565b6040516101799190611173565b34801561020857600080fd5b506033546102169060ff1681565b6040519015158152602001610179565b34801561023257600080fd5b5061023d6207a12081565b604051908152602001610179565b34801561025757600080fd5b5061010861026636600461118d565b6109d0565b34801561027757600080fd5b5061029373e4d08346609055c091d3deecdaad3bf83119b08c81565b6040516001600160a01b039091168152602001610179565b3480156102b757600080fd5b506102166102c63660046111cf565b60386020526000908152604090205460ff1681565b3480156102e757600080fd5b50610293738eb156588d2fad21de0066baa5bfdcd94069519681565b34801561030f57600080fd5b5061023d6107d081565b34801561032557600080fd5b506040805173e4d08346609055c091d3deecdaad3bf83119b08c8152738eb156588d2fad21de0066baa5bfdcd940695196602082015201610179565b34801561036d57600080fd5b5061010861037c3660046111e8565b610b25565b34801561038d57600080fd5b5061023d6201518081565b3480156103a457600080fd5b506101086103b3366004611245565b610dc7565b3480156103c457600080fd5b5061023d60395481565b3480156103da57600080fd5b506034546035546036546037546103fd9360ff1692916001600160a01b03169084565b6040516101799493929190931515845260208401929092526001600160a01b03166040830152606082015260800190565b3373e4d08346609055c091d3deecdaad3bf83119b08c14801590610466575033738eb156588d2fad21de0066baa5bfdcd94069519614155b156104845760405163799cde8160e11b815260040160405180910390fd5b60345460ff166104a757604051630544f46160e01b815260040160405180910390fd5b6104af610fc5565b6001600160a01b0384166104d65760405163e6c4247b60e01b815260040160405180910390fd5b60008190036104f8576040516337b89b9360e21b815260040160405180910390fd5b6040516370a0823160e01b815230600482015284906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611262565b90508060000361058857604051631e9acf1760e31b815260040160405180910390fd5b600085156105965785610598565b815b9050818111156105bb57604051631e9acf1760e31b815260040160405180910390fd5b60398054600101908190556040516d45524332305f5245434f5645525960901b6020820152602e8101919091526bffffffffffffffffffffffff1933606090811b8216604e84015242606284015289901b1660828201526096810182905260009060b60160408051808303601f1901815290829052805160209091012063a9059cbb60e01b8252738eb156588d2fad21de0066baa5bfdcd94069519660048301526024820184905291506001600160a01b0385169063a9059cbb906044016020604051808303816000875af19250505080156106b4575060408051601f3d908101601f191682019092526106b19181019061127b565b60015b61078c573d8080156106e2576040519150601f19603f3d011682016040523d82523d6000602084013e6106e7565b606091505b506040516d45524332305f5245434f5645525960901b8152600190600e0160405180910390207f551ecdedeceb721e6c1ca0fb5fefc17b4ea4c958c2bbf003e1ecf998a28af101834260405161073e929190611298565b60405180910390a360405163327f2d7b60e11b8152602060048201526015602482015274115490cc8c081d1c985b9cd9995c8819985a5b1959605a1b60448201526064015b60405180910390fd5b738eb156588d2fad21de0066baa5bfdcd9406951966001600160a01b0316896001600160a01b0316837f0b9241bab37e405023f477bef2bf82197e7815cb3e882eefb3c1ae195b07928a86858c8c6040516107ea94939291906112e3565b60405180910390a480610810576040516312171d8360e31b815260040160405180910390fd5b505050505061081e60018055565b50505050565b3373e4d08346609055c091d3deecdaad3bf83119b08c1480159061085c575033738eb156588d2fad21de0066baa5bfdcd94069519614155b1561087a5760405163799cde8160e11b815260040160405180910390fd5b60335460ff166108b95760405162461bcd60e51b815260206004820152600a602482015269139bdd081c185d5cd95960b21b6044820152606401610783565b6033805460ff191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b3373e4d08346609055c091d3deecdaad3bf83119b08c14801590610931575033738eb156588d2fad21de0066baa5bfdcd94069519614155b1561094f5760405163799cde8160e11b815260040160405180910390fd5b60335460ff16156109935760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481c185d5cd95960921b6044820152606401610783565b6033805460ff191660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016108ef565b3373e4d08346609055c091d3deecdaad3bf83119b08c14801590610a08575033738eb156588d2fad21de0066baa5bfdcd94069519614155b15610a265760405163799cde8160e11b815260040160405180910390fd5b60345460ff1615610a4a57604051638963872160e01b815260040160405180910390fd5b801580610a5857506107d081115b15610a76576040516337b89b9360e21b815260040160405180910390fd5b6034805460ff199081166001908117909255426035819055603680546001600160a01b03191633908117909155603380549093169093179091556040519091907fa5cb2b01bc2eb36aaf8912d17c41d3369812dca780a8299b039c62b5d289672a90610ae5908690869061130f565b60405180910390a36040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a15050565b3373e4d08346609055c091d3deecdaad3bf83119b08c14801590610b5d575033738eb156588d2fad21de0066baa5bfdcd94069519614155b15610b7b5760405163799cde8160e11b815260040160405180910390fd5b60345460ff16610b9e57604051630544f46160e01b815260040160405180910390fd5b610ba6610fc5565b801580610bb457506107d081115b15610bd2576040516337b89b9360e21b815260040160405180910390fd5b476000819003610bf557604051631e9acf1760e31b815260040160405180910390fd5b60008415610c035784610c05565b815b905081811115610c2857604051631e9acf1760e31b815260040160405180910390fd5b60398054600101908190556040517f4449524543545f454d455247454e43595f5749544844524157414c00000000006020820152603b8101919091526bffffffffffffffffffffffff193360601b16605b82015242606f820152608f8101829052734758ab2c4697d690ef00335d52dfee6ca034a8cb60611b60af82015260009060c3016040516020818303038152906040528051906020012090508160346003016000828254610cd9919061132b565b9091555050604051600090738eb156588d2fad21de0066baa5bfdcd940695196906207a12090859084818181858888f193505050503d8060008114610d3a576040519150601f19603f3d011682016040523d82523d6000602084013e610d3f565b606091505b5050905080610d61576040516312171d8360e31b815260040160405180910390fd5b604080518481528215156020820152738eb156588d2fad21de0066baa5bfdcd94069519691339185917faade9815af05524bd84807d1d2580766c65879e7a947f3efb86f065af48788f0910160405180910390a450505050610dc260018055565b505050565b600054610100900460ff1615808015610de75750600054600160ff909116105b80610e015750303b158015610e01575060005460ff166001145b610e645760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610783565b6000805460ff191660011790558015610e87576000805461ff0019166101001790555b610e8f611024565b6033805483151560ff199182161790915560408051608081018252600080825260208083018290528284018290526060909201819052603480549094169093556035839055603680546001600160a01b03191690556037839055603992909255805180820182526017815276322e312e302d656d657267656e63792d7570677261646560481b92810192909252514291738eb156588d2fad21de0066baa5bfdcd9406951969173e4d08346609055c091d3deecdaad3bf83119b08c917ff8049057bde81654ea1414348f6bf61097c207dbf2cc02672574380350153b8b91610f779190611173565b60405180910390a48015610fc1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610b19565b5050565b6002600154036110175760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610783565b6002600155565b60018055565b600054610100900460ff1661104b5760405162461bcd60e51b815260040161078390611352565b611053611055565b565b600054610100900460ff1661101e5760405162461bcd60e51b815260040161078390611352565b60008083601f84011261108e57600080fd5b50813567ffffffffffffffff8111156110a657600080fd5b6020830191508360208285010111156110be57600080fd5b9250929050565b600080600080606085870312156110db57600080fd5b84356001600160a01b03811681146110f257600080fd5b935060208501359250604085013567ffffffffffffffff81111561111557600080fd5b6111218782880161107c565b95989497509550505050565b6000815180845260005b8181101561115357602081850181015186830182015201611137565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611186602083018461112d565b9392505050565b600080602083850312156111a057600080fd5b823567ffffffffffffffff8111156111b757600080fd5b6111c38582860161107c565b90969095509350505050565b6000602082840312156111e157600080fd5b5035919050565b6000806000604084860312156111fd57600080fd5b83359250602084013567ffffffffffffffff81111561121b57600080fd5b6112278682870161107c565b9497909650939450505050565b801515811461124257600080fd5b50565b60006020828403121561125757600080fd5b813561118681611234565b60006020828403121561127457600080fd5b5051919050565b60006020828403121561128d57600080fd5b815161118681611234565b6040815260006112ab604083018561112d565b90508260208301529392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b84815283151560208201526060604082015260006113056060830184866112ba565b9695505050505050565b6020815260006113236020830184866112ba565b949350505050565b8082018082111561134c57634e487b7160e01b600052601160045260246000fd5b92915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220e4fb4539cf64ba2de794415754d002b1dfff2ce0954536149abd87f0710ff10164736f6c63430008140033