UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 98.4 kB
{"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":"0x608060405234801561001057600080fd5b50604051610f4b380380610f4b83398101604081905261002f91610081565b600080546001600160a01b0319166001600160a01b038316908117825560405183928392917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908290a35050506100b1565b60006020828403121561009357600080fd5b81516001600160a01b03811681146100aa57600080fd5b9392505050565b610e8b806100c06000396000f3fe60806040526004361061009a5760003560e01c8063690d8320116100695780638da5cb5b1161004e5780638da5cb5b146101a75780639456fbcc146101f9578063edee62391461021957600080fd5b8063690d83201461015d5780636e2d44ae1461017d57600080fd5b806313af4035146100db5780634025feb2146100fd57806344004cc11461011d5780634782f7791461013d57600080fd5b366100d65760405134815233907f4103257eaac983ca79a70d28f90dfc4fa16b619bb0c17ee7cab0d4034c2796249060200160405180910390a2005b600080fd5b3480156100e757600080fd5b506100fb6100f6366004610b50565b61022c565b005b34801561010957600080fd5b506100fb610118366004610b74565b610322565b34801561012957600080fd5b506100fb610138366004610b74565b6104b4565b34801561014957600080fd5b506100fb610158366004610bb5565b610645565b34801561016957600080fd5b506100fb610178366004610b50565b610795565b61019061018b366004610cbb565b610823565b60405161019e929190610d44565b60405180910390f35b3480156101b357600080fd5b506000546101d49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019e565b34801561020557600080fd5b506100fb610214366004610d9e565b61091d565b610190610227366004610dd7565b610a38565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390528416906323b872dd90606401600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f30b478a5e196e55886228aa87ba74a7dfeba655e0a4d7ba275eabfc22aabb7a8846040516104a791815260200190565b60405180910390a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190610e27565b508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f6b00f1c7883f053ba83e907fd1965b22fffe3c4111383e725f04638a566cdbfa846040516104a791815260200190565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610720576040519150601f19603f3d011682016040523d82523d6000602084013e610725565b606091505b505090508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f1f12aa8b6d492dd9b98e2b00b0b20830c2a7ded65afac13b60d169a034ae90bc8460405161078891815260200190565b60405180910390a3505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6108208147610645565b50565b6000805460609073ffffffffffffffffffffffffffffffffffffffff1633146108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b8473ffffffffffffffffffffffffffffffffffffffff1683856040516108ce9190610e49565b60006040518083038185875af1925050503d806000811461090b576040519150601f19603f3d011682016040523d82523d6000602084013e610910565b606091505b5090969095509350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610a34908390839073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101389190610e65565b5050565b6000805460609073ffffffffffffffffffffffffffffffffffffffff163314610abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b8373ffffffffffffffffffffffffffffffffffffffff1683604051610ae29190610e49565b600060405180830381855af49150503d8060008114610b1d576040519150601f19603f3d011682016040523d82523d6000602084013e610b22565b606091505b50909590945092505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461082057600080fd5b600060208284031215610b6257600080fd5b8135610b6d81610b2e565b9392505050565b600080600060608486031215610b8957600080fd5b8335610b9481610b2e565b92506020840135610ba481610b2e565b929592945050506040919091013590565b60008060408385031215610bc857600080fd5b8235610bd381610b2e565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610c2157600080fd5b813567ffffffffffffffff80821115610c3c57610c3c610be1565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610c8257610c82610be1565b81604052838152866020858801011115610c9b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610cd057600080fd5b8335610cdb81610b2e565b9250602084013567ffffffffffffffff811115610cf757600080fd5b610d0386828701610c10565b925050604084013590509250925092565b60005b83811015610d2f578181015183820152602001610d17565b83811115610d3e576000848401525b50505050565b82151581526040602082015260008251806040840152610d6b816060850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b60008060408385031215610db157600080fd5b8235610dbc81610b2e565b91506020830135610dcc81610b2e565b809150509250929050565b60008060408385031215610dea57600080fd5b8235610df581610b2e565b9150602083013567ffffffffffffffff811115610e1157600080fd5b610e1d85828601610c10565b9150509250929050565b600060208284031215610e3957600080fd5b81518015158114610b6d57600080fd5b60008251610e5b818460208701610d14565b9190910192915050565b600060208284031215610e7757600080fd5b505191905056fea164736f6c634300080f000a","sourceMap":"463:3836:234:-:0;;;1996:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1034:5:108;:14;;-1:-1:-1;;;;;;1034:14:108;-1:-1:-1;;;;;1034:14:108;;;;;;;1064:32;;1034:14;;;;;1064:32;;1034:5;;1064:32;996:107;300:45:235;1996:50:234;463:3836;;14:290:416;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:416;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:416:o;:::-;463:3836:234;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061009a5760003560e01c8063690d8320116100695780638da5cb5b1161004e5780638da5cb5b146101a75780639456fbcc146101f9578063edee62391461021957600080fd5b8063690d83201461015d5780636e2d44ae1461017d57600080fd5b806313af4035146100db5780634025feb2146100fd57806344004cc11461011d5780634782f7791461013d57600080fd5b366100d65760405134815233907f4103257eaac983ca79a70d28f90dfc4fa16b619bb0c17ee7cab0d4034c2796249060200160405180910390a2005b600080fd5b3480156100e757600080fd5b506100fb6100f6366004610b50565b61022c565b005b34801561010957600080fd5b506100fb610118366004610b74565b610322565b34801561012957600080fd5b506100fb610138366004610b74565b6104b4565b34801561014957600080fd5b506100fb610158366004610bb5565b610645565b34801561016957600080fd5b506100fb610178366004610b50565b610795565b61019061018b366004610cbb565b610823565b60405161019e929190610d44565b60405180910390f35b3480156101b357600080fd5b506000546101d49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019e565b34801561020557600080fd5b506100fb610214366004610d9e565b61091d565b610190610227366004610dd7565b610a38565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390528416906323b872dd90606401600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f30b478a5e196e55886228aa87ba74a7dfeba655e0a4d7ba275eabfc22aabb7a8846040516104a791815260200190565b60405180910390a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190610e27565b508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f6b00f1c7883f053ba83e907fd1965b22fffe3c4111383e725f04638a566cdbfa846040516104a791815260200190565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610720576040519150601f19603f3d011682016040523d82523d6000602084013e610725565b606091505b505090508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f1f12aa8b6d492dd9b98e2b00b0b20830c2a7ded65afac13b60d169a034ae90bc8460405161078891815260200190565b60405180910390a3505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6108208147610645565b50565b6000805460609073ffffffffffffffffffffffffffffffffffffffff1633146108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b8473ffffffffffffffffffffffffffffffffffffffff1683856040516108ce9190610e49565b60006040518083038185875af1925050503d806000811461090b576040519150601f19603f3d011682016040523d82523d6000602084013e610910565b606091505b5090969095509350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610a34908390839073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101389190610e65565b5050565b6000805460609073ffffffffffffffffffffffffffffffffffffffff163314610abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016102a9565b8373ffffffffffffffffffffffffffffffffffffffff1683604051610ae29190610e49565b600060405180830381855af49150503d8060008114610b1d576040519150601f19603f3d011682016040523d82523d6000602084013e610b22565b606091505b50909590945092505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461082057600080fd5b600060208284031215610b6257600080fd5b8135610b6d81610b2e565b9392505050565b600080600060608486031215610b8957600080fd5b8335610b9481610b2e565b92506020840135610ba481610b2e565b929592945050506040919091013590565b60008060408385031215610bc857600080fd5b8235610bd381610b2e565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610c2157600080fd5b813567ffffffffffffffff80821115610c3c57610c3c610be1565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610c8257610c82610be1565b81604052838152866020858801011115610c9b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610cd057600080fd5b8335610cdb81610b2e565b9250602084013567ffffffffffffffff811115610cf757600080fd5b610d0386828701610c10565b925050604084013590509250925092565b60005b83811015610d2f578181015183820152602001610d17565b83811115610d3e576000848401525b50505050565b82151581526040602082015260008251806040840152610d6b816060850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b60008060408385031215610db157600080fd5b8235610dbc81610b2e565b91506020830135610dcc81610b2e565b809150509250929050565b60008060408385031215610dea57600080fd5b8235610df581610b2e565b9150602083013567ffffffffffffffff811115610e1157600080fd5b610e1d85828601610c10565b9150509250929050565b600060208284031215610e3957600080fd5b81518015158114610b6d57600080fd5b60008251610e5b818460208701610d14565b9190910192915050565b600060208284031215610e7757600080fd5b505191905056fea164736f6c634300080f000a","sourceMap":"463:3836:234:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2140:34;;2164:9;160:25:416;;2152:10:234;;2140:34;;148:2:416;133:18;2140:34:234;;;;;;;463:3836;;;;;1293:144:108;;;;;;;;;;-1:-1:-1;1293:144:108;;;;;:::i;:::-;;:::i;:::-;;4029:268:234;;;;;;;;;;-1:-1:-1;4029:268:234;;;;;:::i;:::-;;:::i;3483:312::-;;;;;;;;;;-1:-1:-1;3483:312:234;;;;;:::i;:::-;;:::i;2599:330::-;;;;;;;;;;-1:-1:-1;2599:330:234;;;;;:::i;:::-;;:::i;2303:117::-;;;;;;;;;;-1:-1:-1;2303:117:234;;;;;:::i;:::-;;:::i;651:277:235:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;679:20:108;;;;;;;;;;-1:-1:-1;679:20:108;;;;;;;;;;;4612:42:416;4600:55;;;4582:74;;4570:2;4555:18;679:20:108;4436:226:416;3105:145:234;;;;;;;;;;-1:-1:-1;3105:145:234;;;;;:::i;:::-;;:::i;1186:313:235:-;;;;;;:::i;:::-;;:::i;1293:144:108:-;767:5;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;;;;;;;;;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:234:-;767:5:108;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;4123::234::1;::::0;;;;4151:4:::1;4123:44;::::0;::::1;6139:34:416::0;4123:19:234::1;6209:15:416::0;;;6189:18;;;6182:43;6241:18;;;6234:34;;;4123:19:234;::::1;::::0;::::1;::::0;6051:18:416;;4123:44:234::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4277:6;4237:53;;4264:3;4237:53;;4252:10;4237:53;;;4286:3;4237:53;;;;160:25:416::0;;148:2;133:18;;14:177;4237:53:234::1;;;;;;;;4029:268:::0;;;:::o;3483:312::-;767:5:108;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;3633:29:234::1;::::0;;;;:15:::1;6471:55:416::0;;;3633:29:234::1;::::0;::::1;6453:74:416::0;6543:18;;;6536:34;;;3633:15:234;::::1;::::0;::::1;::::0;6426:18:416;;3633:29:234::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3771:6;3732:56;;3758:3;3732:56;;3746:10;3732:56;;;3780:7;3732:56;;;;160:25:416::0;;148:2;133:18;;14:177;2599:330:234;767:5:108;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;2748:12:234::1;2765:3;:8;;2782:7;2765:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2747:48;;;2909:3;2885:37;;2897:10;2885:37;;;2914:7;2885:37;;;;160:25:416::0;;148:2;133:18;;14:177;2885:37:234::1;;;;;;;;2675:254;2599:330:::0;;:::o;2303:117::-;767:5:108;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;2374:39:234::1;2386:3;2391:21;2374:11;:39::i;:::-;2303:117:::0;:::o;651:277:235:-;816:13;767:5:108;;831:18:235;;767:5:108;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;885:7:235::1;:12;;906:6;915:5;885:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;865:56:235;;;;-1:-1:-1;651:277:235;-1:-1:-1;;;;651:277:235:o;3105:145:234:-;767:5:108;;;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;3211:31:234::1;::::0;;;;3236:4:::1;3211:31;::::0;::::1;4582:74:416::0;3184:59:234::1;::::0;3198:6;;3206:3;;3211:16:::1;::::0;::::1;::::0;::::1;::::0;4555:18:416;;3211:31:234::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3184:59::-;3105:145:::0;;:::o;1186:313:235:-;1335:13;767:5:108;;1350:18:235;;767:5:108;;753:10;:19;745:44;;;;;;;5737:2:416;745:44:108;;;5719:21:416;5776:2;5756:18;;;5749:30;5815:14;5795:18;;;5788:42;5847:18;;745:44:108;5535:336:416;745:44:108;1465:7:235::1;:20;;1486:5;1465:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;1445:47:235;;;;-1:-1:-1;1186:313:235;-1:-1:-1;;;1186:313:235:o;196:154:416:-;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:416:o;607:472::-;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:416;935:18;;922:32;963:33;922:32;963:33;:::i;:::-;607:472;;1015:7;;-1:-1:-1;;;1069:2:416;1054:18;;;;1041:32;;607:472::o;1560:323::-;1636:6;1644;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;1752:9;1739:23;1771:31;1796:5;1771:31;:::i;:::-;1821:5;1873:2;1858:18;;;;1845:32;;-1:-1:-1;;;1560:323:416:o;2148:184::-;2200:77;2197:1;2190:88;2297:4;2294:1;2287:15;2321:4;2318:1;2311:15;2337:777;2379:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:55;;2450:1;2447;2440:12;2399:55;2486:6;2473:20;2512:18;2549:2;2545;2542:10;2539:36;;;2555:18;;:::i;:::-;2689:2;2683:9;2751:4;2743:13;;2594:66;2739:22;;;2763:2;2735:31;2731:40;2719:53;;;2787:18;;;2807:22;;;2784:46;2781:72;;;2833:18;;:::i;:::-;2873:10;2869:2;2862:22;2908:2;2900:6;2893:18;2954:3;2947:4;2942:2;2934:6;2930:15;2926:26;2923:35;2920:55;;;2971:1;2968;2961:12;2920:55;3035:2;3028:4;3020:6;3016:17;3009:4;3001:6;2997:17;2984:54;3082:1;3075:4;3070:2;3062:6;3058:15;3054:26;3047:37;3102:6;3093:15;;;;;;2337:777;;;;:::o;3119:523::-;3205:6;3213;3221;3274:2;3262:9;3253:7;3249:23;3245:32;3242:52;;;3290:1;3287;3280:12;3242:52;3329:9;3316:23;3348:31;3373:5;3348:31;:::i;:::-;3398:5;-1:-1:-1;3454:2:416;3439:18;;3426:32;3481:18;3470:30;;3467:50;;;3513:1;3510;3503:12;3467:50;3536:49;3577:7;3568:6;3557:9;3553:22;3536:49;:::i;:::-;3526:59;;;3632:2;3621:9;3617:18;3604:32;3594:42;;3119:523;;;;;:::o;3647:258::-;3719:1;3729:113;3743:6;3740:1;3737:13;3729:113;;;3819:11;;;3813:18;3800:11;;;3793:39;3765:2;3758:10;3729:113;;;3860:6;3857:1;3854:13;3851:48;;;3895:1;3886:6;3881:3;3877:16;3870:27;3851:48;;3647:258;;;:::o;3910:521::-;4093:6;4086:14;4079:22;4068:9;4061:41;4138:2;4133;4122:9;4118:18;4111:30;4042:4;4170:6;4164:13;4213:6;4208:2;4197:9;4193:18;4186:34;4229:66;4288:6;4283:2;4272:9;4268:18;4263:2;4255:6;4251:15;4229:66;:::i;:::-;4347:2;4335:15;4352:66;4331:88;4316:104;;;;4422:2;4312:113;;3910:521;-1:-1:-1;;;3910:521:416:o;4667:403::-;4750:6;4758;4811:2;4799:9;4790:7;4786:23;4782:32;4779:52;;;4827:1;4824;4817:12;4779:52;4866:9;4853:23;4885:31;4910:5;4885:31;:::i;:::-;4935:5;-1:-1:-1;4992:2:416;4977:18;;4964:32;5005:33;4964:32;5005:33;:::i;:::-;5057:7;5047:17;;;4667:403;;;;;:::o;5075:455::-;5152:6;5160;5213:2;5201:9;5192:7;5188:23;5184:32;5181:52;;;5229:1;5226;5219:12;5181:52;5268:9;5255:23;5287:31;5312:5;5287:31;:::i;:::-;5337:5;-1:-1:-1;5393:2:416;5378:18;;5365:32;5420:18;5409:30;;5406:50;;;5452:1;5449;5442:12;5406:50;5475:49;5516:7;5507:6;5496:9;5492:22;5475:49;:::i;:::-;5465:59;;;5075:455;;;;;:::o;6581:277::-;6648:6;6701:2;6689:9;6680:7;6676:23;6672:32;6669:52;;;6717:1;6714;6707:12;6669:52;6749:9;6743:16;6802:5;6795:13;6788:21;6781:5;6778:32;6768:60;;6824:1;6821;6814:12;7073:274;7202:3;7240:6;7234:13;7256:53;7302:6;7297:3;7290:4;7282:6;7278:17;7256:53;:::i;:::-;7325:16;;;;;7073:274;-1:-1:-1;;7073:274:416:o;7352:184::-;7422:6;7475:2;7463:9;7454:7;7450:23;7446:32;7443:52;;;7491:1;7488;7481:12;7443:52;-1:-1:-1;7514:16:416;;7352:184;-1:-1:-1;7352:184:416: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.15+commit.e14f2714\"},\"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\":\"london\",\"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.15+commit.e14f2714"},"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":"london","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":64704,"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."}},"const