@tokamak-network/thanos-contracts
Version:
1 lines • 48.4 kB
JSON
{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"guy","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"delay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"hold","inputs":[{"name":"_guy","type":"address","internalType":"address"},{"name":"_wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"recover","inputs":[{"name":"_wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"dst","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"src","type":"address","internalType":"address"},{"name":"dst","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unlock","inputs":[{"name":"_guy","type":"address","internalType":"address"},{"name":"_wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"_guy","type":"address","internalType":"address"},{"name":"_wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawals","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_guy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"guy","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"dst","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"dst","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unwrap","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawal","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","delay()":"6a42b8f8","deposit()":"d0e30db0","hold(address,uint256)":"977a5ec5","name()":"06fdde03","recover(uint256)":"0ca35682","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unlock(address,uint256)":"7eee288d","withdraw(address,uint256)":"f3fef3a3","withdraw(uint256)":"2e1a7d4d","withdrawals(address,address)":"cd47bde1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Unwrap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"hold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"recover\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_guy\",\"type\":\"address\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"params\":{\"guy\":\"The address that was approved to transfer.\",\"src\":\"The address that approved the transfer.\",\"wad\":\"The amount that was approved to transfer.\"}},\"Deposit(address,uint256)\":{\"params\":{\"dst\":\"The address that deposited the WETH.\",\"wad\":\"The amount of WETH that was deposited.\"}},\"Transfer(address,address,uint256)\":{\"params\":{\"dst\":\"The address that received the WETH.\",\"src\":\"The address that transferred the WETH.\",\"wad\":\"The amount of WETH that was transferred.\"}},\"Unwrap(address,uint256)\":{\"params\":{\"src\":\"The address that started the unwrap.\",\"wad\":\"The amount of WETH that was unwrapped.\"}},\"Withdrawal(address,uint256)\":{\"params\":{\"src\":\"The address that withdrew the WETH.\",\"wad\":\"The amount of WETH that was withdrawn.\"}}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"params\":{\"owner\":\"The address that owns the WETH.\",\"spender\":\"The address that is approved to transfer the WETH.\"},\"returns\":{\"_0\":\"The amount of WETH that the spender can transfer on behalf of the owner.\"}},\"approve(address,uint256)\":{\"params\":{\"guy\":\"The address that is approved to transfer the WETH.\",\"wad\":\"The amount that is approved to transfer.\"},\"returns\":{\"_0\":\"True if the approval was successful.\"}},\"balanceOf(address)\":{\"params\":{\"owner\":\"The address to query the balance of.\"},\"returns\":{\"_0\":\"The balance of the given address.\"}},\"decimals()\":{\"returns\":{\"_0\":\"The number of decimals the token uses.\"}},\"delay()\":{\"returns\":{\"_0\":\"The withdrawal delay in seconds.\"}},\"hold(address,uint256)\":{\"params\":{\"_guy\":\"The address to recover the WETH from.\",\"_wad\":\"The amount of WETH to recover.\"}},\"name()\":{\"returns\":{\"_0\":\"The name of the token.\"}},\"recover(uint256)\":{\"params\":{\"_wad\":\"The amount of WETH to recover.\"}},\"symbol()\":{\"returns\":{\"_0\":\"The symbol of the token.\"}},\"totalSupply()\":{\"returns\":{\"_0\":\"The total supply of WETH.\"}},\"transfer(address,uint256)\":{\"params\":{\"dst\":\"The address to transfer the WETH to.\",\"wad\":\"The amount of WETH to transfer.\"},\"returns\":{\"_0\":\"True if the transfer was successful.\"}},\"transferFrom(address,address,uint256)\":{\"params\":{\"dst\":\"The address to transfer the WETH to.\",\"src\":\"The address to transfer the WETH from.\",\"wad\":\"The amount of WETH to transfer.\"},\"returns\":{\"_0\":\"True if the transfer was successful.\"}},\"unlock(address,uint256)\":{\"params\":{\"_guy\":\"Sub-account to unlock.\",\"_wad\":\"The amount of WETH to unlock.\"}},\"withdraw(address,uint256)\":{\"params\":{\"_guy\":\"Sub-account to withdraw from.\",\"_wad\":\"The amount of WETH to withdraw.\"}},\"withdraw(uint256)\":{\"params\":{\"wad\":\"The amount of ETH to withdraw.\"}},\"withdrawals(address,address)\":{\"params\":{\"_guy\":\"Sub-account to query the withdrawal request of.\",\"_owner\":\"The address to query the withdrawal request of.\"},\"returns\":{\"_0\":\"The withdrawal request for the given address-subaccount pair.\"}}},\"title\":\"IDelayedWETH\",\"version\":1},\"userdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"notice\":\"Emitted when an approval is made.\"},\"Deposit(address,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"Transfer(address,address,uint256)\":{\"notice\":\"Emitted when a transfer is made.\"},\"Unwrap(address,uint256)\":{\"notice\":\"Emitted when an unwrap is started.\"},\"Withdrawal(address,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the amount of WETH that the spender can transfer on behalf of the owner.\"},\"approve(address,uint256)\":{\"notice\":\"Approves the given address to transfer the WETH on behalf of the caller.\"},\"balanceOf(address)\":{\"notice\":\"Returns the balance of the given address.\"},\"decimals()\":{\"notice\":\"Returns the number of decimals the token uses.\"},\"delay()\":{\"notice\":\"Returns the withdrawal delay in seconds.\"},\"deposit()\":{\"notice\":\"Allows WETH to be deposited by sending ether to the contract.\"},\"hold(address,uint256)\":{\"notice\":\"Allows the owner to recover from error cases by pulling ETH from a specific owner.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"recover(uint256)\":{\"notice\":\"Allows the owner to recover from error cases by pulling ETH out of the contract.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the total supply of WETH.\"},\"transfer(address,uint256)\":{\"notice\":\"Transfers the given amount of WETH to the given address.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfers the given amount of WETH from the given address to the given address.\"},\"unlock(address,uint256)\":{\"notice\":\"Unlocks withdrawals for the sender's account, after a time delay.\"},\"withdraw(address,uint256)\":{\"notice\":\"Extension to withdrawal, must provide a sub-account to withdraw from.\"},\"withdraw(uint256)\":{\"notice\":\"Withdraws an amount of ETH.\"},\"withdrawals(address,address)\":{\"notice\":\"Returns a withdrawal request for the given address.\"}},\"notice\":\"Interface for the DelayedWETH contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/interfaces/IDelayedWETH.sol\":\"IDelayedWETH\"},\"evmVersion\":\"cancun\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/interfaces/IDelayedWETH.sol\":{\"keccak256\":\"0x0bb035e9bbb411696841ea292eeed6d4463c3c3eee7d6c5d8e38a101e8a4ff04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0477cf2c137392d35081f23bfd7f3565881767dcb1489a62e7e80b3c178cfce8\",\"dweb:/ipfs/QmTjALjrHg5rvhjfCKPmXLTgkMNneECWaqoarunSoVS37G\"]},\"src/dispute/interfaces/IWETH.sol\":{\"keccak256\":\"0x3858f6c0ce3ec7978b1ea1772484c25aec7c8c480ceaf18239f726fdd06fdd1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b72cf3bc31324409480e9ae6eb3e2654da8dff3cbf9f2136b19fe714293b3766\",\"dweb:/ipfs/QmTW3JiFUo8pYhDbthPH8ZSp5f1nmdga4CSzo4YdEzppnM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"guy","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Unwrap","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[{"internalType":"address","name":"_guy","type":"address"},{"internalType":"uint256","name":"_wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"hold"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"recover"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_guy","type":"address"},{"internalType":"uint256","name":"_wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unlock"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[{"internalType":"address","name":"_guy","type":"address"},{"internalType":"uint256","name":"_wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_guy","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"params":{"owner":"The address that owns the WETH.","spender":"The address that is approved to transfer the WETH."},"returns":{"_0":"The amount of WETH that the spender can transfer on behalf of the owner."}},"approve(address,uint256)":{"params":{"guy":"The address that is approved to transfer the WETH.","wad":"The amount that is approved to transfer."},"returns":{"_0":"True if the approval was successful."}},"balanceOf(address)":{"params":{"owner":"The address to query the balance of."},"returns":{"_0":"The balance of the given address."}},"decimals()":{"returns":{"_0":"The number of decimals the token uses."}},"delay()":{"returns":{"_0":"The withdrawal delay in seconds."}},"hold(address,uint256)":{"params":{"_guy":"The address to recover the WETH from.","_wad":"The amount of WETH to recover."}},"name()":{"returns":{"_0":"The name of the token."}},"recover(uint256)":{"params":{"_wad":"The amount of WETH to recover."}},"symbol()":{"returns":{"_0":"The symbol of the token."}},"totalSupply()":{"returns":{"_0":"The total supply of WETH."}},"transfer(address,uint256)":{"params":{"dst":"The address to transfer the WETH to.","wad":"The amount of WETH to transfer."},"returns":{"_0":"True if the transfer was successful."}},"transferFrom(address,address,uint256)":{"params":{"dst":"The address to transfer the WETH to.","src":"The address to transfer the WETH from.","wad":"The amount of WETH to transfer."},"returns":{"_0":"True if the transfer was successful."}},"unlock(address,uint256)":{"params":{"_guy":"Sub-account to unlock.","_wad":"The amount of WETH to unlock."}},"withdraw(address,uint256)":{"params":{"_guy":"Sub-account to withdraw from.","_wad":"The amount of WETH to withdraw."}},"withdraw(uint256)":{"params":{"wad":"The amount of ETH to withdraw."}},"withdrawals(address,address)":{"params":{"_guy":"Sub-account to query the withdrawal request of.","_owner":"The address to query the withdrawal request of."},"returns":{"_0":"The withdrawal request for the given address-subaccount pair."}}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the amount of WETH that the spender can transfer on behalf of the owner."},"approve(address,uint256)":{"notice":"Approves the given address to transfer the WETH on behalf of the caller."},"balanceOf(address)":{"notice":"Returns the balance of the given address."},"decimals()":{"notice":"Returns the number of decimals the token uses."},"delay()":{"notice":"Returns the withdrawal delay in seconds."},"deposit()":{"notice":"Allows WETH to be deposited by sending ether to the contract."},"hold(address,uint256)":{"notice":"Allows the owner to recover from error cases by pulling ETH from a specific owner."},"name()":{"notice":"Returns the name of the token."},"recover(uint256)":{"notice":"Allows the owner to recover from error cases by pulling ETH out of the contract."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the total supply of WETH."},"transfer(address,uint256)":{"notice":"Transfers the given amount of WETH to the given address."},"transferFrom(address,address,uint256)":{"notice":"Transfers the given amount of WETH from the given address to the given address."},"unlock(address,uint256)":{"notice":"Unlocks withdrawals for the sender's account, after a time delay."},"withdraw(address,uint256)":{"notice":"Extension to withdrawal, must provide a sub-account to withdraw from."},"withdraw(uint256)":{"notice":"Withdraws an amount of ETH."},"withdrawals(address,address)":{"notice":"Returns a withdrawal request for the given address."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/interfaces/IDelayedWETH.sol":"IDelayedWETH"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/dispute/interfaces/IDelayedWETH.sol":{"keccak256":"0x0bb035e9bbb411696841ea292eeed6d4463c3c3eee7d6c5d8e38a101e8a4ff04","urls":["bzz-raw://0477cf2c137392d35081f23bfd7f3565881767dcb1489a62e7e80b3c178cfce8","dweb:/ipfs/QmTjALjrHg5rvhjfCKPmXLTgkMNneECWaqoarunSoVS37G"],"license":"MIT"},"src/dispute/interfaces/IWETH.sol":{"keccak256":"0x3858f6c0ce3ec7978b1ea1772484c25aec7c8c480ceaf18239f726fdd06fdd1f","urls":["bzz-raw://b72cf3bc31324409480e9ae6eb3e2654da8dff3cbf9f2136b19fe714293b3766","dweb:/ipfs/QmTW3JiFUo8pYhDbthPH8ZSp5f1nmdga4CSzo4YdEzppnM"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the amount of WETH that the spender can transfer on behalf of the owner."},"approve(address,uint256)":{"notice":"Approves the given address to transfer the WETH on behalf of the caller."},"balanceOf(address)":{"notice":"Returns the balance of the given address."},"decimals()":{"notice":"Returns the number of decimals the token uses."},"delay()":{"notice":"Returns the withdrawal delay in seconds."},"deposit()":{"notice":"Allows WETH to be deposited by sending ether to the contract."},"hold(address,uint256)":{"notice":"Allows the owner to recover from error cases by pulling ETH from a specific owner."},"name()":{"notice":"Returns the name of the token."},"recover(uint256)":{"notice":"Allows the owner to recover from error cases by pulling ETH out of the contract."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the total supply of WETH."},"transfer(address,uint256)":{"notice":"Transfers the given amount of WETH to the given address."},"transferFrom(address,address,uint256)":{"notice":"Transfers the given amount of WETH from the given address to the given address."},"unlock(address,uint256)":{"notice":"Unlocks withdrawals for the sender's account, after a time delay."},"withdraw(address,uint256)":{"notice":"Extension to withdrawal, must provide a sub-account to withdraw from."},"withdraw(uint256)":{"notice":"Withdraws an amount of ETH."},"withdrawals(address,address)":{"notice":"Returns a withdrawal request for the given address."}},"events":{"Approval(address,address,uint256)":{"notice":"Emitted when an approval is made."},"Deposit(address,uint256)":{"notice":"Emitted when a deposit is made."},"Transfer(address,address,uint256)":{"notice":"Emitted when a transfer is made."},"Unwrap(address,uint256)":{"notice":"Emitted when an unwrap is started."},"Withdrawal(address,uint256)":{"notice":"Emitted when a withdrawal is made."}},"notice":"Interface for the DelayedWETH contract."},"devdoc":{"version":1,"kind":"dev","methods":{"allowance(address,address)":{"params":{"owner":"The address that owns the WETH.","spender":"The address that is approved to transfer the WETH."},"returns":{"_0":"The amount of WETH that the spender can transfer on behalf of the owner."}},"approve(address,uint256)":{"params":{"guy":"The address that is approved to transfer the WETH.","wad":"The amount that is approved to transfer."},"returns":{"_0":"True if the approval was successful."}},"balanceOf(address)":{"params":{"owner":"The address to query the balance of."},"returns":{"_0":"The balance of the given address."}},"decimals()":{"returns":{"_0":"The number of decimals the token uses."}},"delay()":{"returns":{"_0":"The withdrawal delay in seconds."}},"hold(address,uint256)":{"params":{"_guy":"The address to recover the WETH from.","_wad":"The amount of WETH to recover."}},"name()":{"returns":{"_0":"The name of the token."}},"recover(uint256)":{"params":{"_wad":"The amount of WETH to recover."}},"symbol()":{"returns":{"_0":"The symbol of the token."}},"totalSupply()":{"returns":{"_0":"The total supply of WETH."}},"transfer(address,uint256)":{"params":{"dst":"The address to transfer the WETH to.","wad":"The amount of WETH to transfer."},"returns":{"_0":"True if the transfer was successful."}},"transferFrom(address,address,uint256)":{"params":{"dst":"The address to transfer the WETH to.","src":"The address to transfer the WETH from.","wad":"The amount of WETH to transfer."},"returns":{"_0":"True if the transfer was successful."}},"unlock(address,uint256)":{"params":{"_guy":"Sub-account to unlock.","_wad":"The amount of WETH to unlock."}},"withdraw(address,uint256)":{"params":{"_guy":"Sub-account to withdraw from.","_wad":"The amount of WETH to withdraw."}},"withdraw(uint256)":{"params":{"wad":"The amount of ETH to withdraw."}},"withdrawals(address,address)":{"params":{"_guy":"Sub-account to query the withdrawal request of.","_owner":"The address to query the withdrawal request of."},"returns":{"_0":"The withdrawal request for the given address-subaccount pair."}}},"events":{"Approval(address,address,uint256)":{"params":{"guy":"The address that was approved to transfer.","src":"The address that approved the transfer.","wad":"The amount that was approved to transfer."}},"Deposit(address,uint256)":{"params":{"dst":"The address that deposited the WETH.","wad":"The amount of WETH that was deposited."}},"Transfer(address,address,uint256)":{"params":{"dst":"The address that received the WETH.","src":"The address that transferred the WETH.","wad":"The amount of WETH that was transferred."}},"Unwrap(address,uint256)":{"params":{"src":"The address that started the unwrap.","wad":"The amount of WETH that was unwrapped."}},"Withdrawal(address,uint256)":{"params":{"src":"The address that withdrew the WETH.","wad":"The amount of WETH that was withdrawn."}}},"title":"IDelayedWETH"},"ast":{"absolutePath":"src/dispute/interfaces/IDelayedWETH.sol","id":53760,"exportedSymbols":{"IDelayedWETH":[53759],"IWETH":[54285]},"nodeType":"SourceUnit","src":"32:2036:51","nodes":[{"id":53692,"nodeType":"PragmaDirective","src":"32:23:51","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53694,"nodeType":"ImportDirective","src":"57:57:51","nodes":[],"absolutePath":"src/dispute/interfaces/IWETH.sol","file":"src/dispute/interfaces/IWETH.sol","nameLocation":"-1:-1:-1","scope":53760,"sourceUnit":54286,"symbolAliases":[{"foreign":{"id":53693,"name":"IWETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54285,"src":"66:5:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":53759,"nodeType":"ContractDefinition","src":"192:1875:51","nodes":[{"id":53703,"nodeType":"StructDefinition","src":"279:83:51","nodes":[],"canonicalName":"IDelayedWETH.WithdrawalRequest","documentation":{"id":53698,"nodeType":"StructuredDocumentation","src":"230:44:51","text":"@notice Represents a withdrawal request."},"members":[{"constant":false,"id":53700,"mutability":"mutable","name":"amount","nameLocation":"322:6:51","nodeType":"VariableDeclaration","scope":53703,"src":"314:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53699,"name":"uint256","nodeType":"ElementaryTypeName","src":"314:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53702,"mutability":"mutable","name":"timestamp","nameLocation":"346:9:51","nodeType":"VariableDeclaration","scope":53703,"src":"338:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53701,"name":"uint256","nodeType":"ElementaryTypeName","src":"338:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"WithdrawalRequest","nameLocation":"286:17:51","scope":53759,"visibility":"public"},{"id":53710,"nodeType":"EventDefinition","src":"533:47:51","nodes":[],"anonymous":false,"documentation":{"id":53704,"nodeType":"StructuredDocumentation","src":"368:160:51","text":"@notice Emitted when an unwrap is started.\n @param src The address that started the unwrap.\n @param wad The amount of WETH that was unwrapped."},"eventSelector":"5dd085b6070b4cae004f84daafd199fd55b0bdfa11c3a802baffe89c2419d8c2","name":"Unwrap","nameLocation":"539:6:51","parameters":{"id":53709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53706,"indexed":true,"mutability":"mutable","name":"src","nameLocation":"562:3:51","nodeType":"VariableDeclaration","scope":53710,"src":"546:19:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53705,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53708,"indexed":false,"mutability":"mutable","name":"wad","nameLocation":"575:3:51","nodeType":"VariableDeclaration","scope":53710,"src":"567:11:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53707,"name":"uint256","nodeType":"ElementaryTypeName","src":"567:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"545:34:51"}},{"id":53716,"nodeType":"FunctionDefinition","src":"692:49:51","nodes":[],"documentation":{"id":53711,"nodeType":"StructuredDocumentation","src":"586:101:51","text":"@notice Returns the withdrawal delay in seconds.\n @return The withdrawal delay in seconds."},"functionSelector":"6a42b8f8","implemented":false,"kind":"function","modifiers":[],"name":"delay","nameLocation":"701:5:51","parameters":{"id":53712,"nodeType":"ParameterList","parameters":[],"src":"706:2:51"},"returnParameters":{"id":53715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53716,"src":"732:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53713,"name":"uint256","nodeType":"ElementaryTypeName","src":"732:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"731:9:51"},"scope":53759,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53728,"nodeType":"FunctionDefinition","src":"1031:92:51","nodes":[],"documentation":{"id":53717,"nodeType":"StructuredDocumentation","src":"747:279:51","text":"@notice Returns a withdrawal request for the given address.\n @param _owner The address to query the withdrawal request of.\n @param _guy Sub-account to query the withdrawal request of.\n @return The withdrawal request for the given address-subaccount pair."},"functionSelector":"cd47bde1","implemented":false,"kind":"function","modifiers":[],"name":"withdrawals","nameLocation":"1040:11:51","parameters":{"id":53722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53719,"mutability":"mutable","name":"_owner","nameLocation":"1060:6:51","nodeType":"VariableDeclaration","scope":53728,"src":"1052:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53718,"name":"address","nodeType":"ElementaryTypeName","src":"1052:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53721,"mutability":"mutable","name":"_guy","nameLocation":"1076:4:51","nodeType":"VariableDeclaration","scope":53728,"src":"1068:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53720,"name":"address","nodeType":"ElementaryTypeName","src":"1068:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1051:30:51"},"returnParameters":{"id":53727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53728,"src":"1105:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53723,"name":"uint256","nodeType":"ElementaryTypeName","src":"1105:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53728,"src":"1114:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53725,"name":"uint256","nodeType":"ElementaryTypeName","src":"1114:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1104:18:51"},"scope":53759,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53736,"nodeType":"FunctionDefinition","src":"1304:53:51","nodes":[],"documentation":{"id":53729,"nodeType":"StructuredDocumentation","src":"1129:170:51","text":"@notice Unlocks withdrawals for the sender's account, after a time delay.\n @param _guy Sub-account to unlock.\n @param _wad The amount of WETH to unlock."},"functionSelector":"7eee288d","implemented":false,"kind":"function","modifiers":[],"name":"unlock","nameLocation":"1313:6:51","parameters":{"id":53734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53731,"mutability":"mutable","name":"_guy","nameLocation":"1328:4:51","nodeType":"VariableDeclaration","scope":53736,"src":"1320:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53730,"name":"address","nodeType":"ElementaryTypeName","src":"1320:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53733,"mutability":"mutable","name":"_wad","nameLocation":"1342:4:51","nodeType":"VariableDeclaration","scope":53736,"src":"1334:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1334:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1319:28:51"},"returnParameters":{"id":53735,"nodeType":"ParameterList","parameters":[],"src":"1356:0:51"},"scope":53759,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53744,"nodeType":"FunctionDefinition","src":"1551:55:51","nodes":[],"documentation":{"id":53737,"nodeType":"StructuredDocumentation","src":"1363:183:51","text":"@notice Extension to withdrawal, must provide a sub-account to withdraw from.\n @param _guy Sub-account to withdraw from.\n @param _wad The amount of WETH to withdraw."},"functionSelector":"f3fef3a3","implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"1560:8:51","parameters":{"id":53742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53739,"mutability":"mutable","name":"_guy","nameLocation":"1577:4:51","nodeType":"VariableDeclaration","scope":53744,"src":"1569:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53738,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53741,"mutability":"mutable","name":"_wad","nameLocation":"1591:4:51","nodeType":"VariableDeclaration","scope":53744,"src":"1583:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53740,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1568:28:51"},"returnParameters":{"id":53743,"nodeType":"ParameterList","parameters":[],"src":"1605:0:51"},"scope":53759,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53750,"nodeType":"FunctionDefinition","src":"1760:40:51","nodes":[],"documentation":{"id":53745,"nodeType":"StructuredDocumentation","src":"1612:143:51","text":"@notice Allows the owner to recover from error cases by pulling ETH out of the contract.\n @param _wad The amount of WETH to recover."},"functionSelector":"0ca35682","implemented":false,"kind":"function","modifiers":[],"name":"recover","nameLocation":"1769:7:51","parameters":{"id":53748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53747,"mutability":"mutable","name":"_wad","nameLocation":"1785:4:51","nodeType":"VariableDeclaration","scope":53750,"src":"1777:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53746,"name":"uint256","nodeType":"ElementaryTypeName","src":"1777:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1776:14:51"},"returnParameters":{"id":53749,"nodeType":"ParameterList","parameters":[],"src":"1799:0:51"},"scope":53759,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53758,"nodeType":"FunctionDefinition","src":"2014:51:51","nodes":[],"documentation":{"id":53751,"nodeType":"StructuredDocumentation","src":"1806:203:51","text":"@notice Allows the owner to recover from error cases by pulling ETH from a specific owner.\n @param _guy The address to recover the WETH from.\n @param _wad The amount of WETH to recover."},"functionSelector":"977a5ec5","implemented":false,"kind":"function","modifiers":[],"name":"hold","nameLocation":"2023:4:51","parameters":{"id":53756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53753,"mutability":"mutable","name":"_guy","nameLocation":"2036:4:51","nodeType":"VariableDeclaration","scope":53758,"src":"2028:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53752,"name":"address","nodeType":"ElementaryTypeName","src":"2028:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53755,"mutability":"mutable","name":"_wad","nameLocation":"2050:4:51","nodeType":"VariableDeclaration","scope":53758,"src":"2042:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53754,"name":"uint256","nodeType":"ElementaryTypeName","src":"2042:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2027:28:51"},"returnParameters":{"id":53757,"nodeType":"ParameterList","parameters":[],"src":"2064:0:51"},"scope":53759,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":53696,"name":"IWETH","nameLocations":["218:5:51"],"nodeType":"IdentifierPath","referencedDeclaration":54285,"src":"218:5:51"},"id":53697,"nodeType":"InheritanceSpecifier","src":"218:5:51"}],"canonicalName":"IDelayedWETH","contractDependencies":[],"contractKind":"interface","documentation":{"id":53695,"nodeType":"StructuredDocumentation","src":"116:76:51","text":"@title IDelayedWETH\n @notice Interface for the DelayedWETH contract."},"fullyImplemented":false,"linearizedBaseContracts":[53759,54285],"name":"IDelayedWETH","nameLocation":"202:12:51","scope":53760,"usedErrors":[],"usedEvents":[53710,54177,54186,54193,54200]}],"license":"MIT"},"id":51}