@tokamak-network/thanos-contracts
Version:
1 lines • 98.2 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"CALL","inputs":[{"name":"_target","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success_","type":"bool","internalType":"bool"},{"name":"data_","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"DELEGATECALL","inputs":[{"name":"_target","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"success_","type":"bool","internalType":"bool"},{"name":"data_","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setOwner","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawERC20","inputs":[{"name":"_asset","type":"address","internalType":"contract ERC20"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawERC20","inputs":[{"name":"_asset","type":"address","internalType":"contract ERC20"},{"name":"_to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawERC721","inputs":[{"name":"_asset","type":"address","internalType":"contract ERC721"},{"name":"_to","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawETH","inputs":[{"name":"_to","type":"address","internalType":"address payable"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawETH","inputs":[{"name":"_to","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnerUpdated","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReceivedETH","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WithdrewERC20","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"asset","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WithdrewERC721","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"asset","type":"address","indexed":true,"internalType":"address"},{"name":"id","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WithdrewETH","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052348015600e575f80fd5b50604051610ee6380380610ee6833981016040819052602b91607b565b5f80546001600160a01b0319166001600160a01b038316908117825560405183928392917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908290a350505060a6565b5f60208284031215608a575f80fd5b81516001600160a01b0381168114609f575f80fd5b9392505050565b610e33806100b35f395ff3fe608060405260043610610096575f3560e01c8063690d8320116100665780638da5cb5b1161004c5780638da5cb5b1461019d5780639456fbcc146101ed578063edee62391461020c575f80fd5b8063690d8320146101545780636e2d44ae14610173575f80fd5b806313af4035146100d65780634025feb2146100f757806344004cc1146101165780634782f77914610135575f80fd5b366100d25760405134815233907f4103257eaac983ca79a70d28f90dfc4fa16b619bb0c17ee7cab0d4034c2796249060200160405180910390a2005b5f80fd5b3480156100e1575f80fd5b506100f56100f0366004610b25565b61021f565b005b348015610102575f80fd5b506100f5610111366004610b47565b610313565b348015610121575f80fd5b506100f5610130366004610b47565b61049f565b348015610140575f80fd5b506100f561014f366004610b85565b61062c565b34801561015f575f80fd5b506100f561016e366004610b25565b610777565b610186610181366004610ca4565b610804565b604051610194929190610cfa565b60405180910390f35b3480156101a8575f80fd5b505f546101c89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156101f8575f80fd5b506100f5610207366004610d56565b6108fa565b61018661021a366004610d8d565b610a12565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390528416906323b872dd906064015f604051808303815f87803b158015610406575f80fd5b505af1158015610418573d5f803e3d5ffd5b505050508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f30b478a5e196e55886228aa87ba74a7dfeba655e0a4d7ba275eabfc22aabb7a88460405161049291815260200190565b60405180910390a4505050565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b59190610dda565b508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f6b00f1c7883f053ba83e907fd1965b22fffe3c4111383e725f04638a566cdbfa8460405161049291815260200190565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114610702576040519150601f19603f3d011682016040523d82523d5f602084013e610707565b606091505b505090508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f1f12aa8b6d492dd9b98e2b00b0b20830c2a7ded65afac13b60d169a034ae90bc8460405161076a91815260200190565b60405180910390a3505050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146107f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b610801814761062c565b50565b5f805460609073ffffffffffffffffffffffffffffffffffffffff163314610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b8473ffffffffffffffffffffffffffffffffffffffff1683856040516108ae9190610df9565b5f6040518083038185875af1925050503d805f81146108e8576040519150601f19603f3d011682016040523d82523d5f602084013e6108ed565b606091505b5090969095509350505050565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610a0e908390839073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156109ea573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101309190610e0f565b5050565b5f805460609073ffffffffffffffffffffffffffffffffffffffff163314610a96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b8373ffffffffffffffffffffffffffffffffffffffff1683604051610abb9190610df9565b5f60405180830381855af49150503d805f8114610af3576040519150601f19603f3d011682016040523d82523d5f602084013e610af8565b606091505b50909590945092505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610801575f80fd5b5f60208284031215610b35575f80fd5b8135610b4081610b04565b9392505050565b5f805f60608486031215610b59575f80fd5b8335610b6481610b04565b92506020840135610b7481610b04565b929592945050506040919091013590565b5f8060408385031215610b96575f80fd5b8235610ba181610b04565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610beb575f80fd5b813567ffffffffffffffff811115610c0557610c05610baf565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610c7157610c71610baf565b604052818152838201602001851015610c88575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f60608486031215610cb6575f80fd5b8335610cc181610b04565b9250602084013567ffffffffffffffff811115610cdc575f80fd5b610ce886828701610bdc565b93969395505050506040919091013590565b8215158152604060208201525f82518060408401528060208501606085015e5f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509392505050565b5f8060408385031215610d67575f80fd5b8235610d7281610b04565b91506020830135610d8281610b04565b809150509250929050565b5f8060408385031215610d9e575f80fd5b8235610da981610b04565b9150602083013567ffffffffffffffff811115610dc4575f80fd5b610dd085828601610bdc565b9150509250929050565b5f60208284031215610dea575f80fd5b81518015158114610b40575f80fd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610e1f575f80fd5b505191905056fea164736f6c634300081a000a","sourceMap":"463:3836:80:-:0;;;1996:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1034:5:28;:14;;-1:-1:-1;;;;;;1034:14:28;-1:-1:-1;;;;;1034:14:28;;;;;;;1064:32;;1034:14;;;;;1064:32;;1034:5;;1064:32;996:107;300:45:81;1996:50:80;463:3836;;14:290:100;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:100;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:100:o;:::-;463:3836:80;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610096575f3560e01c8063690d8320116100665780638da5cb5b1161004c5780638da5cb5b1461019d5780639456fbcc146101ed578063edee62391461020c575f80fd5b8063690d8320146101545780636e2d44ae14610173575f80fd5b806313af4035146100d65780634025feb2146100f757806344004cc1146101165780634782f77914610135575f80fd5b366100d25760405134815233907f4103257eaac983ca79a70d28f90dfc4fa16b619bb0c17ee7cab0d4034c2796249060200160405180910390a2005b5f80fd5b3480156100e1575f80fd5b506100f56100f0366004610b25565b61021f565b005b348015610102575f80fd5b506100f5610111366004610b47565b610313565b348015610121575f80fd5b506100f5610130366004610b47565b61049f565b348015610140575f80fd5b506100f561014f366004610b85565b61062c565b34801561015f575f80fd5b506100f561016e366004610b25565b610777565b610186610181366004610ca4565b610804565b604051610194929190610cfa565b60405180910390f35b3480156101a8575f80fd5b505f546101c89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156101f8575f80fd5b506100f5610207366004610d56565b6108fa565b61018661021a366004610d8d565b610a12565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390528416906323b872dd906064015f604051808303815f87803b158015610406575f80fd5b505af1158015610418573d5f803e3d5ffd5b505050508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f30b478a5e196e55886228aa87ba74a7dfeba655e0a4d7ba275eabfc22aabb7a88460405161049291815260200190565b60405180910390a4505050565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b59190610dda565b508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f6b00f1c7883f053ba83e907fd1965b22fffe3c4111383e725f04638a566cdbfa8460405161049291815260200190565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114610702576040519150601f19603f3d011682016040523d82523d5f602084013e610707565b606091505b505090508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f1f12aa8b6d492dd9b98e2b00b0b20830c2a7ded65afac13b60d169a034ae90bc8460405161076a91815260200190565b60405180910390a3505050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146107f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b610801814761062c565b50565b5f805460609073ffffffffffffffffffffffffffffffffffffffff163314610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b8473ffffffffffffffffffffffffffffffffffffffff1683856040516108ae9190610df9565b5f6040518083038185875af1925050503d805f81146108e8576040519150601f19603f3d011682016040523d82523d5f602084013e6108ed565b606091505b5090969095509350505050565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610a0e908390839073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156109ea573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101309190610e0f565b5050565b5f805460609073ffffffffffffffffffffffffffffffffffffffff163314610a96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161029b565b8373ffffffffffffffffffffffffffffffffffffffff1683604051610abb9190610df9565b5f60405180830381855af49150503d805f8114610af3576040519150601f19603f3d011682016040523d82523d5f602084013e610af8565b606091505b50909590945092505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610801575f80fd5b5f60208284031215610b35575f80fd5b8135610b4081610b04565b9392505050565b5f805f60608486031215610b59575f80fd5b8335610b6481610b04565b92506020840135610b7481610b04565b929592945050506040919091013590565b5f8060408385031215610b96575f80fd5b8235610ba181610b04565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610beb575f80fd5b813567ffffffffffffffff811115610c0557610c05610baf565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610c7157610c71610baf565b604052818152838201602001851015610c88575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f60608486031215610cb6575f80fd5b8335610cc181610b04565b9250602084013567ffffffffffffffff811115610cdc575f80fd5b610ce886828701610bdc565b93969395505050506040919091013590565b8215158152604060208201525f82518060408401528060208501606085015e5f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509392505050565b5f8060408385031215610d67575f80fd5b8235610d7281610b04565b91506020830135610d8281610b04565b809150509250929050565b5f8060408385031215610d9e575f80fd5b8235610da981610b04565b9150602083013567ffffffffffffffff811115610dc4575f80fd5b610dd085828601610bdc565b9150509250929050565b5f60208284031215610dea575f80fd5b81518015158114610b40575f80fd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610e1f575f80fd5b505191905056fea164736f6c634300081a000a","sourceMap":"463:3836:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2140:34;;2164:9;160:25:100;;2152:10:80;;2140:34;;148:2:100;133:18;2140:34:80;;;;;;;463:3836;;;;;1293:144:28;;;;;;;;;;-1:-1:-1;1293:144:28;;;;;:::i;:::-;;:::i;:::-;;4029:268:80;;;;;;;;;;-1:-1:-1;4029:268:80;;;;;:::i;:::-;;:::i;3483:312::-;;;;;;;;;;-1:-1:-1;3483:312:80;;;;;:::i;:::-;;:::i;2599:330::-;;;;;;;;;;-1:-1:-1;2599:330:80;;;;;:::i;:::-;;:::i;2303:117::-;;;;;;;;;;-1:-1:-1;2303:117:80;;;;;:::i;:::-;;:::i;651:277:81:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;679:20:28;;;;;;;;;;-1:-1:-1;679:20:28;;;;;;;;;;;4658:42:100;4646:55;;;4628:74;;4616:2;4601:18;679:20:28;4482:226:100;3105:145:80;;;;;;;;;;-1:-1:-1;3105:145:80;;;;;:::i;:::-;;:::i;1186:313:81:-;;;;;;:::i;:::-;;:::i;1293:144:28:-;767:5;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;;;;;;;;;1364:5:::1;:16:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;1396:34:::1;::::0;1364:16;;1409:10:::1;::::0;1396:34:::1;::::0;1364:5;1396:34:::1;1293:144:::0;:::o;4029:268:80:-;767:5:28;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;4123::80::1;::::0;;;;4151:4:::1;4123:44;::::0;::::1;6124:74:100::0;4123:19:80::1;6234:55:100::0;;;6214:18;;;6207:83;6306:18;;;6299:34;;;4123:19:80;::::1;::::0;::::1;::::0;6097:18:100;;4123:44:80::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4277:6;4237:53;;4264:3;4237:53;;4252:10;4237:53;;;4286:3;4237:53;;;;160:25:100::0;;148:2;133:18;;14:177;4237:53:80::1;;;;;;;;4029:268:::0;;;:::o;3483:312::-;767:5:28;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;3633:29:80::1;::::0;;;;:15:::1;6536:55:100::0;;;3633:29:80::1;::::0;::::1;6518:74:100::0;6608:18;;;6601:34;;;3633:15:80;::::1;::::0;::::1;::::0;6491:18:100;;3633:29:80::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3771:6;3732:56;;3758:3;3732:56;;3746:10;3732:56;;;3780:7;3732:56;;;;160:25:100::0;;148:2;133:18;;14:177;2599:330:80;767:5:28;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;2748:12:80::1;2765:3;:8;;2782:7;2765:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2747:48;;;2909:3;2885:37;;2897:10;2885:37;;;2914:7;2885:37;;;;160:25:100::0;;148:2;133:18;;14:177;2885:37:80::1;;;;;;;;2675:254;2599:330:::0;;:::o;2303:117::-;767:5:28;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;2374:39:80::1;2386:3;2391:21;2374:11;:39::i;:::-;2303:117:::0;:::o;651:277:81:-;816:13;767:5:28;;831:18:81;;767:5:28;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;885:7:81::1;:12;;906:6;915:5;885:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;865:56:81;;;;-1:-1:-1;651:277:81;-1:-1:-1;;;;651:277:81:o;3105:145:80:-;767:5:28;;;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;3211:31:80::1;::::0;;;;3236:4:::1;3211:31;::::0;::::1;4628:74:100::0;3184:59:80::1;::::0;3198:6;;3206:3;;3211:16:::1;::::0;::::1;::::0;::::1;::::0;4601:18:100;;3211:31:80::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3184:59::-;3105:145:::0;;:::o;1186:313:81:-;1335:13;767:5:28;;1350:18:81;;767:5:28;;753:10;:19;745:44;;;;;;;5783:2:100;745:44:28;;;5765:21:100;5822:2;5802:18;;;5795:30;5861:14;5841:18;;;5834:42;5893:18;;745:44:28;5581:336:100;745:44:28;1465:7:81::1;:20;;1486:5;1465:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;1445:47:81;;;;-1:-1:-1;1186:313:81;-1:-1:-1;;;1186:313:81:o;196:154:100:-;282:42;275:5;271:54;264:5;261:65;251:93;;340:1;337;330:12;355:247;414:6;467:2;455:9;446:7;442:23;438:32;435:52;;;483:1;480;473:12;435:52;522:9;509:23;541:31;566:5;541:31;:::i;:::-;591:5;355:247;-1:-1:-1;;;355:247:100:o;607:524::-;700:6;708;716;769:2;757:9;748:7;744:23;740:32;737:52;;;785:1;782;775:12;737:52;824:9;811:23;843:31;868:5;843:31;:::i;:::-;893:5;-1:-1:-1;950:2:100;935:18;;922:32;963:33;922:32;963:33;:::i;:::-;607:524;;1015:7;;-1:-1:-1;;;1095:2:100;1080:18;;;;1067:32;;607:524::o;1664:375::-;1740:6;1748;1801:2;1789:9;1780:7;1776:23;1772:32;1769:52;;;1817:1;1814;1807:12;1769:52;1856:9;1843:23;1875:31;1900:5;1875:31;:::i;:::-;1925:5;2003:2;1988:18;;;;1975:32;;-1:-1:-1;;;1664:375:100:o;2304:184::-;2356:77;2353:1;2346:88;2453:4;2450:1;2443:15;2477:4;2474:1;2467:15;2493:843;2535:5;2588:3;2581:4;2573:6;2569:17;2565:27;2555:55;;2606:1;2603;2596:12;2555:55;2646:6;2633:20;2676:18;2668:6;2665:30;2662:56;;;2698:18;;:::i;:::-;2747:2;2741:9;2894:66;2889:2;2820:66;2813:4;2805:6;2801:17;2797:90;2793:99;2789:172;2781:6;2777:185;3028:6;3016:10;3013:22;2992:18;2980:10;2977:34;2974:62;2971:88;;;3039:18;;:::i;:::-;3075:2;3068:22;3099;;;3140:19;;;3161:4;3136:30;3133:39;-1:-1:-1;3130:59:100;;;3185:1;3182;3175:12;3130:59;3249:6;3242:4;3234:6;3230:17;3223:4;3215:6;3211:17;3198:58;3304:1;3276:19;;;3297:4;3272:30;3265:41;;;;3280:6;2493:843;-1:-1:-1;;;2493:843:100:o;3341:575::-;3427:6;3435;3443;3496:2;3484:9;3475:7;3471:23;3467:32;3464:52;;;3512:1;3509;3502:12;3464:52;3551:9;3538:23;3570:31;3595:5;3570:31;:::i;:::-;3620:5;-1:-1:-1;3676:2:100;3661:18;;3648:32;3703:18;3692:30;;3689:50;;;3735:1;3732;3725:12;3689:50;3758:49;3799:7;3790:6;3779:9;3775:22;3758:49;:::i;:::-;3341:575;;3748:59;;-1:-1:-1;;;;3880:2:100;3865:18;;;;3852:32;;3341:575::o;3921:556::-;4104:6;4097:14;4090:22;4079:9;4072:41;4149:2;4144;4133:9;4129:18;4122:30;4053:4;4181:6;4175:13;4224:6;4219:2;4208:9;4204:18;4197:34;4283:6;4278:2;4270:6;4266:15;4261:2;4250:9;4246:18;4240:50;4339:1;4334:2;4325:6;4314:9;4310:22;4306:31;4299:42;4468:2;4398:66;4393:2;4385:6;4381:15;4377:88;4366:9;4362:104;4358:113;4350:121;;;3921:556;;;;;:::o;4713:403::-;4796:6;4804;4857:2;4845:9;4836:7;4832:23;4828:32;4825:52;;;4873:1;4870;4863:12;4825:52;4912:9;4899:23;4931:31;4956:5;4931:31;:::i;:::-;4981:5;-1:-1:-1;5038:2:100;5023:18;;5010:32;5051:33;5010:32;5051:33;:::i;:::-;5103:7;5093:17;;;4713:403;;;;;:::o;5121:455::-;5198:6;5206;5259:2;5247:9;5238:7;5234:23;5230:32;5227:52;;;5275:1;5272;5265:12;5227:52;5314:9;5301:23;5333:31;5358:5;5333:31;:::i;:::-;5383:5;-1:-1:-1;5439:2:100;5424:18;;5411:32;5466:18;5455:30;;5452:50;;;5498:1;5495;5488:12;5452:50;5521:49;5562:7;5553:6;5542:9;5538:22;5521:49;:::i;:::-;5511:59;;;5121:455;;;;;:::o;6646:277::-;6713:6;6766:2;6754:9;6745:7;6741:23;6737:32;6734:52;;;6782:1;6779;6772:12;6734:52;6814:9;6808:16;6867:5;6860:13;6853:21;6846:5;6843:32;6833:60;;6889:1;6886;6879:12;7138:301;7267:3;7305:6;7299:13;7351:6;7344:4;7336:6;7332:17;7327:3;7321:37;7413:1;7377:16;;7402:13;;;-1:-1:-1;7377:16:100;7138:301;-1:-1:-1;7138:301:100:o;7444:184::-;7514:6;7567:2;7555:9;7546:7;7542:23;7538:32;7535:52;;;7583:1;7580;7573:12;7535:52;-1:-1:-1;7606:16:100;;7444:184;-1:-1:-1;7444:184:100:o","linkReferences":{}},"methodIdentifiers":{"CALL(address,bytes,uint256)":"6e2d44ae","DELEGATECALL(address,bytes)":"edee6239","owner()":"8da5cb5b","setOwner(address)":"13af4035","withdrawERC20(address,address)":"9456fbcc","withdrawERC20(address,address,uint256)":"44004cc1","withdrawERC721(address,address,uint256)":"4025feb2","withdrawETH(address)":"690d8320","withdrawETH(address,uint256)":"4782f779"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ReceivedETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrewERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"WithdrewERC721\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrewETH\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"CALL\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"DELEGATECALL\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdrawERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC721\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"withdrawERC721\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdrawETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"ReceivedETH(address,uint256)\":{\"params\":{\"amount\":\"Amount of ETH received.\",\"from\":\"Address that sent ETH to this contract.\"}},\"WithdrewERC20(address,address,address,uint256)\":{\"params\":{\"amount\":\"ERC20 amount withdrawn.\",\"asset\":\"Address of the token being withdrawn.\",\"recipient\":\"Address that received the withdrawal.\",\"withdrawer\":\"Address that triggered the withdrawal.\"}},\"WithdrewERC721(address,address,address,uint256)\":{\"params\":{\"asset\":\"Address of the token being withdrawn.\",\"id\":\"Token ID being withdrawn.\",\"recipient\":\"Address that received the withdrawal.\",\"withdrawer\":\"Address that triggered the withdrawal.\"}},\"WithdrewETH(address,address,uint256)\":{\"params\":{\"amount\":\"ETH amount withdrawn.\",\"recipient\":\"Address that received the withdrawal.\",\"withdrawer\":\"Address that triggered the withdrawal.\"}}},\"kind\":\"dev\",\"methods\":{\"CALL(address,bytes,uint256)\":{\"params\":{\"_data\":\"Data to send with the call.\",\"_target\":\"Address to call.\",\"_value\":\"ETH value to send with the call.\"},\"returns\":{\"data_\":\"Bytes data returned by the call.\",\"success_\":\"Boolean success value.\"}},\"DELEGATECALL(address,bytes)\":{\"params\":{\"_data\":\"Data to send with the call.\",\"_target\":\"Address to call.\"},\"returns\":{\"data_\":\"Bytes data returned by the call.\",\"success_\":\"Boolean success value.\"}},\"constructor\":{\"params\":{\"_owner\":\"Initial contract owner.\"}},\"withdrawERC20(address,address)\":{\"params\":{\"_asset\":\"ERC20 token to withdraw.\",\"_to\":\"Address to receive the ERC20 balance.\"}},\"withdrawERC20(address,address,uint256)\":{\"params\":{\"_amount\":\"Amount of ERC20 to withdraw.\",\"_asset\":\"ERC20 token to withdraw.\",\"_to\":\"Address to receive the ERC20 balance.\"}},\"withdrawERC721(address,address,uint256)\":{\"params\":{\"_asset\":\"ERC721 token to withdraw.\",\"_id\":\"Token ID of the ERC721 token to withdraw.\",\"_to\":\"Address to receive the ERC721 token.\"}},\"withdrawETH(address)\":{\"params\":{\"_to\":\"Address to receive the ETH balance.\"}},\"withdrawETH(address,uint256)\":{\"params\":{\"_amount\":\"Amount of ETH to withdraw.\",\"_to\":\"Address to receive the ETH balance.\"}}},\"title\":\"AssetReceiver\",\"version\":1},\"userdoc\":{\"events\":{\"ReceivedETH(address,uint256)\":{\"notice\":\"Emitted when ETH is received by this address.\"},\"WithdrewERC20(address,address,address,uint256)\":{\"notice\":\"Emitted when ERC20 tokens are withdrawn from this address.\"},\"WithdrewERC721(address,address,address,uint256)\":{\"notice\":\"Emitted when ERC20 tokens are withdrawn from this address.\"},\"WithdrewETH(address,address,uint256)\":{\"notice\":\"Emitted when ETH is withdrawn from this address.\"}},\"kind\":\"user\",\"methods\":{\"CALL(address,bytes,uint256)\":{\"notice\":\"Sends a CALL to a target address.\"},\"DELEGATECALL(address,bytes)\":{\"notice\":\"Sends a DELEGATECALL to a target address.\"},\"withdrawERC20(address,address)\":{\"notice\":\"Withdraws full ERC20 balance to the recipient.\"},\"withdrawERC20(address,address,uint256)\":{\"notice\":\"Withdraws partial ERC20 balance to the recipient.\"},\"withdrawERC721(address,address,uint256)\":{\"notice\":\"Withdraws ERC721 token to the recipient.\"},\"withdrawETH(address)\":{\"notice\":\"Withdraws full ETH balance to the recipient.\"},\"withdrawETH(address,uint256)\":{\"notice\":\"Withdraws partial ETH balance to the recipient.\"}},\"notice\":\"AssetReceiver is a minimal contract for receiving funds assets in the form of either ETH, ERC20 tokens, or ERC721 tokens. Only the contract owner may withdraw the assets.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/periphery/AssetReceiver.sol\":\"AssetReceiver\"},\"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\":{\"lib/solmate/src/auth/Owned.sol\":{\"keccak256\":\"0x7e91c80b0dd1a14a19cb9e661b99924043adab6d9d893bbfcf3a6a3dc23a6743\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://515890d9fc87d6762dae2354a3a0714a26c652f0ea5bb631122be1968ef8c0e9\",\"dweb:/ipfs/QmTRpQ7uoAR1vCACKJm14Ba3oKVLqcA9reTwbHAPxawVpM\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0x43aa1509bb753f053143530705d9c4eee415691d26a4779769bf028a74e6ac69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb440672ebad7d487c1600e406e140fd1ffc4bd7520c86b5709183ca2602da58\",\"dweb:/ipfs/QmNgZaBoAZwnwm4mTL1cUZnMtvt1iZnruMnfpJnDu6upuc\"]},\"lib/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0xdac91feb466e74905737338d80cac5303eb7aedcbe76eda11c45eaa728451075\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe01292f5b4d2182859cc30a773f5e9d1a91d02bd8b40fbb73a591cd67896408\",\"dweb:/ipfs/QmTUKUuFJ4QZRD8ge6eTorfni9RKhBtPo1wFVm3GFSgLW8\"]},\"src/periphery/AssetReceiver.sol\":{\"keccak256\":\"0xbc5d4ccba1ed72f72f9809c35437e7b31f88ebefa0a7d0c7781b66edec157862\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2fd1ea62a73886ac3dea5500b23cee17bc6a66208e2bc2e94f566d34c6480f3\",\"dweb:/ipfs/QmaQXPLryUCVueDmiRimU28mSzgWLqgSxsQx2BF2U837na\"]},\"src/periphery/Transactor.sol\":{\"keccak256\":\"0x66d538c0c0ae7297a1f261777c50b06e841efb5e8a3b09cdde6cdde32dfa3b63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab02028604b71a9acd1b6282cc867aec09b4e91fc64570c69d3484a0a7c12fe\",\"dweb:/ipfs/QmcxJ64nQde5XQY9b714NB6z6RnziNUhod12DgXDqNPcWe\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnerUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ReceivedETH","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"asset","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"WithdrewERC20","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"asset","type":"address","indexed":true},{"internalType":"uint256","name":"id","type":"uint256","indexed":false}],"type":"event","name":"WithdrewERC721","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"WithdrewETH","anonymous":false},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"uint256","name":"_value","type":"uint256"}],"stateMutability":"payable","type":"function","name":"CALL","outputs":[{"internalType":"bool","name":"success_","type":"bool"},{"internalType":"bytes","name":"data_","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"DELEGATECALL","outputs":[{"internalType":"bool","name":"success_","type":"bool"},{"internalType":"bytes","name":"data_","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setOwner"},{"inputs":[{"internalType":"contract ERC20","name":"_asset","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawERC20"},{"inputs":[{"internalType":"contract ERC20","name":"_asset","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawERC20"},{"inputs":[{"internalType":"contract ERC721","name":"_asset","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawERC721"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawETH"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawETH"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"CALL(address,bytes,uint256)":{"params":{"_data":"Data to send with the call.","_target":"Address to call.","_value":"ETH value to send with the call."},"returns":{"data_":"Bytes data returned by the call.","success_":"Boolean success value."}},"DELEGATECALL(address,bytes)":{"params":{"_data":"Data to send with the call.","_target":"Address to call."},"returns":{"data_":"Bytes data returned by the call.","success_":"Boolean success value."}},"constructor":{"params":{"_owner":"Initial contract owner."}},"withdrawERC20(address,address)":{"params":{"_asset":"ERC20 token to withdraw.","_to":"Address to receive the ERC20 balance."}},"withdrawERC20(address,address,uint256)":{"params":{"_amount":"Amount of ERC20 to withdraw.","_asset":"ERC20 token to withdraw.","_to":"Address to receive the ERC20 balance."}},"withdrawERC721(address,address,uint256)":{"params":{"_asset":"ERC721 token to withdraw.","_id":"Token ID of the ERC721 token to withdraw.","_to":"Address to receive the ERC721 token."}},"withdrawETH(address)":{"params":{"_to":"Address to receive the ETH balance."}},"withdrawETH(address,uint256)":{"params":{"_amount":"Amount of ETH to withdraw.","_to":"Address to receive the ETH balance."}}},"version":1},"userdoc":{"kind":"user","methods":{"CALL(address,bytes,uint256)":{"notice":"Sends a CALL to a target address."},"DELEGATECALL(address,bytes)":{"notice":"Sends a DELEGATECALL to a target address."},"withdrawERC20(address,address)":{"notice":"Withdraws full ERC20 balance to the recipient."},"withdrawERC20(address,address,uint256)":{"notice":"Withdraws partial ERC20 balance to the recipient."},"withdrawERC721(address,address,uint256)":{"notice":"Withdraws ERC721 token to the recipient."},"withdrawETH(address)":{"notice":"Withdraws full ETH balance to the recipient."},"withdrawETH(address,uint256)":{"notice":"Withdraws partial ETH balance to the recipient."}},"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/periphery/AssetReceiver.sol":"AssetReceiver"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/solmate/src/auth/Owned.sol":{"keccak256":"0x7e91c80b0dd1a14a19cb9e661b99924043adab6d9d893bbfcf3a6a3dc23a6743","urls":["bzz-raw://515890d9fc87d6762dae2354a3a0714a26c652f0ea5bb631122be1968ef8c0e9","dweb:/ipfs/QmTRpQ7uoAR1vCACKJm14Ba3oKVLqcA9reTwbHAPxawVpM"],"license":"AGPL-3.0-only"},"lib/solmate/src/tokens/ERC20.sol":{"keccak256":"0x43aa1509bb753f053143530705d9c4eee415691d26a4779769bf028a74e6ac69","urls":["bzz-raw://fb440672ebad7d487c1600e406e140fd1ffc4bd7520c86b5709183ca2602da58","dweb:/ipfs/QmNgZaBoAZwnwm4mTL1cUZnMtvt1iZnruMnfpJnDu6upuc"],"license":"MIT"},"lib/solmate/src/tokens/ERC721.sol":{"keccak256":"0xdac91feb466e74905737338d80cac5303eb7aedcbe76eda11c45eaa728451075","urls":["bzz-raw://fe01292f5b4d2182859cc30a773f5e9d1a91d02bd8b40fbb73a591cd67896408","dweb:/ipfs/QmTUKUuFJ4QZRD8ge6eTorfni9RKhBtPo1wFVm3GFSgLW8"],"license":"MIT"},"src/periphery/AssetReceiver.sol":{"keccak256":"0xbc5d4ccba1ed72f72f9809c35437e7b31f88ebefa0a7d0c7781b66edec157862","urls":["bzz-raw://c2fd1ea62a73886ac3dea5500b23cee17bc6a66208e2bc2e94f566d34c6480f3","dweb:/ipfs/QmaQXPLryUCVueDmiRimU28mSzgWLqgSxsQx2BF2U837na"],"license":"MIT"},"src/periphery/Transactor.sol":{"keccak256":"0x66d538c0c0ae7297a1f261777c50b06e841efb5e8a3b09cdde6cdde32dfa3b63","urls":["bzz-raw://cab02028604b71a9acd1b6282cc867aec09b4e91fc64570c69d3484a0a7c12fe","dweb:/ipfs/QmcxJ64nQde5XQY9b714NB6z6RnziNUhod12DgXDqNPcWe"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":47677,"contract":"src/periphery/AssetReceiver.sol:AssetReceiver","label":"owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"version":1,"kind":"user","methods":{"CALL(address,bytes,uint256)":{"notice":"Sends a CALL to a target address."},"DELEGATECALL(address,bytes)":{"notice":"Sends a DELEGATECALL to a target address."},"withdrawERC20(address,address)":{"notice":"Withdraws full ERC20 balance to the recipient."},"withdrawERC20(address,address,uint256)":{"notice":"Withdraws partial ERC20 balance to the recipient."},"withdrawERC721(address,address,uint256)":{"notice":"Withdraws ERC721 token to the recipient."},"withdrawETH(address)":{"notice":"Withdraws full ETH balance to the recipient."},"withdrawETH(address,uint256)":{"notice":"Withdraws partial ETH balance to the recipient."}},"events":{"ReceivedETH(address,uint256)":{"notice":"Emitted when ETH is received by this address."},"WithdrewERC20(address,address,address,uint256)":{"notice":"Emitted when ERC20 tokens are withdrawn from this address."},"WithdrewERC721(address,address,address,uint256)":{"notice":"Emitted when ERC20 tokens are withdrawn from this address."},"WithdrewETH(address,address,uint256)":{"notice":"Emitted when ETH is withdrawn from this address."}},"notice":"AssetReceiver is a minimal contract for receiving funds assets in the form of either ETH, ERC20 tokens, or ERC721 tokens. Only the contract owner may withdraw the assets."},"devdoc":{"version":1,"kind":"dev","methods":{"CALL(address,bytes,uint256)":{"params":{"_data":"Data to send with the call.","_target":"Address to call.","_value":"ETH value to send with the call."},"returns":{"data_":"Bytes data returned by the call.","success_":"Boolean success value."}},"DELEGATECALL(address,bytes)":{"params":{"_data":"Data to send with the call.","_target":"Address to call."},"returns":{"data_":"Bytes data returned by the call.","success_":"Boolean success value."}},"constructor":{"params":{"_owner":"Initial contract owner."}},"withdrawERC20(address,address)":{"params":{"_asset":"ERC20 token to withdraw.","_to":"Address to receive the ERC20 balance."}},"withdrawERC20(address,address,uint256)":{"params":{"_amount":"Amount of ERC20 to withdraw.","_asset":"ERC20 token to withdraw.","_to":"Address to receive the ERC20 balance."}},"withdrawERC721(address,address,uint256)":{"params":{"_asset":"ERC721 token to withdraw.","_id":"Token ID of the ERC721 token to withdraw.","_to":"Address to receive the ERC721 token."}},"withdrawETH(address)":{"params":{"_to":"Address to receive the E