From 58beb0da7120047de11c45dcedd7fe90dac7b17f Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Wed, 25 Sep 2019 12:26:47 +0200 Subject: [PATCH] Add a message in require() Before this commit I saw a transaction failing with no messages. --- raiden_contracts/data/contracts.json | 16 ++++++++-------- .../data/source/services/MonitoringService.sol | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/raiden_contracts/data/contracts.json b/raiden_contracts/data/contracts.json index e2d302c29..88b728449 100644 --- a/raiden_contracts/data/contracts.json +++ b/raiden_contracts/data/contracts.json @@ -1070,9 +1070,9 @@ "type": "event" } ], - "bin": "60806040523480156200001157600080fd5b506040516080806200288a833981018060405260808110156200003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151562000108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2061742061646472657373207a65726f000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515620001ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5365727669636552656769737472792061742061646472657373207a65726f0081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5544432061742061646472657373207a65726f0000000000000000000000000081525060200191505060405180910390fd5b6200026e84620006d6640100000000026401000000009004565b1515620002e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f6b656e20686173206e6f20636f646500000000000000000000000000000081525060200191505060405180910390fd5b620002fd83620006d6640100000000026401000000009004565b151562000372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f53657276696365526567697374727920686173206e6f20636f6465000000000081525060200191505060405180910390fd5b6200038c82620006d6640100000000026401000000009004565b151562000401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f55444320686173206e6f20636f6465000000000000000000000000000000000081525060200191505060405180910390fd5b6200041b81620006d6640100000000026401000000009004565b151562000490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646581525060200191505060405180910390fd5b836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200061957600080fd5b505afa1580156200062e573d6000803e3d6000fd5b505050506040513d60208110156200064557600080fd5b8101908080519060200190929190505050111515620006cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000081525060200191505060405180910390fd5b50505050620006e9565b600080823b905060008111915050919050565b61219180620006f96000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161007857806381c6dac2146102a2578063b4238f4a146102ec578063d3b6c08014610336578063fc0c546a146105a8576100a5565b80630e7dfb73146100aa578063637d89d4146101505780636766923e1461019a5780637709bc7814610246575b600080fd5b610136600480360360808110156100c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f2565b604051808215151515815260200191505060405180910390f35b610158610ca0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610230600480360360a08110156101b057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc6565b6040518082815260200191505060405180910390f35b6102886004803603602081101561025c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6102aa610ec0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f4610ee6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a6600480360361014081101561034d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f0c565b005b6105b061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d604081101561076757600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561079757fe5b8260048111156107a357fe5b14806107c55750600360048111156107b757fe5b8260048111156107c357fe5b145b806107e557506004808111156107d757fe5b8260048111156107e357fe5b145b1515610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b43811015156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b81019080805190602001909291905050501515610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610cf457fe5b0485101515610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610d9757fe5b0486101515610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e905060006050905060006064888402811515610e2a57fe5b0489019050600060648985850302811515610e4157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff160101811515610e9757fe5b0690508083019550505050505095945050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f1c828b8b868b338a88611364565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905061103a82828e8e33611a16565b15156110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156111bd5780820151818401526020810190506111a2565b50505050905090810190601f1680156111ea5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611223578082015181840152602081019050611208565b50505050905090810190601f1680156112505780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b15801561127757600080fd5b505af115801561128b573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114dc57600080fd5b505afa1580156114f0573d6000803e3d6000fd5b505050506040513d602081101561150657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156115a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561167157600080fd5b505afa158015611685573d6000803e3d6000fd5b505050506040513d602081101561169b57600080fd5b81019080805190602001909291905050509050600061175b308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b81019080805190602001909291905050508e8d8a8e8b611e73565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b81019080805190602001909291905050501515611b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d6040811015611c8357600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115611cb357fe5b826004811115611cbf57fe5b141515611d34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611d9857600080fd5b505afa158015611dac573d6000803e3d6000fd5b505050506040513d6020811015611dc257600080fd5b81019080805190602001909291905050509050808210151515611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b60008183039050611e6181838a8a8a610cc6565b43101594505050505095945050505050565b6000808888600680811115611e8457fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b602083101515611fb75780518252602082019150602081019050602083039250611f92565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061200a8184612052565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561204657600080fd5b50979650505050505050565b60006041825114151561206457600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561209457601b810190505b601b8160ff1614806120a95750601c8160ff16145b15156120b457600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612111573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561215957600080fd5b8393505050509291505056fea165627a7a723058201ada575fa78e976abea9eae2d94743e9b245764ffc8dffa67cc5239e084a1ce50029", - "bin-runtime": "608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161007857806381c6dac2146102a2578063b4238f4a146102ec578063d3b6c08014610336578063fc0c546a146105a8576100a5565b80630e7dfb73146100aa578063637d89d4146101505780636766923e1461019a5780637709bc7814610246575b600080fd5b610136600480360360808110156100c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f2565b604051808215151515815260200191505060405180910390f35b610158610ca0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610230600480360360a08110156101b057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc6565b6040518082815260200191505060405180910390f35b6102886004803603602081101561025c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6102aa610ec0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f4610ee6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a6600480360361014081101561034d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f0c565b005b6105b061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d604081101561076757600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561079757fe5b8260048111156107a357fe5b14806107c55750600360048111156107b757fe5b8260048111156107c357fe5b145b806107e557506004808111156107d757fe5b8260048111156107e357fe5b145b1515610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b43811015156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b81019080805190602001909291905050501515610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610cf457fe5b0485101515610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610d9757fe5b0486101515610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e905060006050905060006064888402811515610e2a57fe5b0489019050600060648985850302811515610e4157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff160101811515610e9757fe5b0690508083019550505050505095945050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f1c828b8b868b338a88611364565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905061103a82828e8e33611a16565b15156110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156111bd5780820151818401526020810190506111a2565b50505050905090810190601f1680156111ea5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611223578082015181840152602081019050611208565b50505050905090810190601f1680156112505780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b15801561127757600080fd5b505af115801561128b573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114dc57600080fd5b505afa1580156114f0573d6000803e3d6000fd5b505050506040513d602081101561150657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156115a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561167157600080fd5b505afa158015611685573d6000803e3d6000fd5b505050506040513d602081101561169b57600080fd5b81019080805190602001909291905050509050600061175b308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b81019080805190602001909291905050508e8d8a8e8b611e73565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b81019080805190602001909291905050501515611b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d6040811015611c8357600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115611cb357fe5b826004811115611cbf57fe5b141515611d34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611d9857600080fd5b505afa158015611dac573d6000803e3d6000fd5b505050506040513d6020811015611dc257600080fd5b81019080805190602001909291905050509050808210151515611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b60008183039050611e6181838a8a8a610cc6565b43101594505050505095945050505050565b6000808888600680811115611e8457fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b602083101515611fb75780518252602082019150602081019050602083039250611f92565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061200a8184612052565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561204657600080fd5b50979650505050505050565b60006041825114151561206457600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561209457601b810190505b601b8160ff1614806120a95750601c8160ff16145b15156120b457600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612111573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561215957600080fd5b8393505050509291505056fea165627a7a723058201ada575fa78e976abea9eae2d94743e9b245764ffc8dffa67cc5239e084a1ce50029", - "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"closed_at_block\",\"type\":\"uint256\"},{\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"name\":\"participant1\",\"type\":\"address\"},{\"name\":\"participant2\",\"type\":\"address\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstBlockAllowedToMonitor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token_address\",\"type\":\"address\"},{\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"name\":\"_udc_address\",\"type\":\"address\"},{\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"params\":{\"closing_participant\":\"Address of the participant of the channel that called close\",\"non_closing_participant\":\"The other participant of the channel\",\"token_network_address\":\"Address of the Token Network in which the channel exists\"}},\"constructor\":{\"params\":{\"_service_registry_address\":\"The address of the ServiceRegistry contract\",\"_token_address\":\"The address of the token to use for rewards\",\"_token_network_registry_address\":\"The address of the TokenNetworkRegistry for authenticating TokenNetworks\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"return\":\"True if a contract exists, false otherwise\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"params\":{\"nonce\":\"Strictly monotonic value used to order BPs omitting PB specific params, since these will not be provided in the future\",\"reward_amount\":\"Amount of tokens to be rewarded\",\"reward_proof_signature\":\"The signature of the signed reward proof\",\"token_network_address\":\"Address of the Token Network in which the channel being monitored exists.\"}}}},\"userdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"notice\":\"Called after a monitored channel is settled in order for MS to claim the reward Can be called once per settled channel by everyone on behalf of MS\"},\"constructor\":\"Set the default values for the smart contract\",\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"notice\":\"Called by a registered MS, when providing a new balance proof to a monitored channel. Can be called multiple times by different registered MSs as long as the BP provided is newer than the current newest registered BP.\"}}}},\"settings\":{\"compilationTarget\":{\"data/source/services/MonitoringService.sol\":\"MonitoringService\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/lib/ECVerify.sol\":{\"keccak256\":\"0x8bb402baa478eb53252d77b63982e12685adda290cf4dfa1d8f510284f8df3e9\",\"urls\":[\"bzzr://474c3db1bb54bb831c32eb2ab67a0e870489994bd4d4b8a8fa24b54935211d43\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0xb8078bc048ccdeb7c58026754f22fc378baf3b24090db0f17d10bda6cd4951b4\",\"urls\":[\"bzzr://f7a072330393a85a6a274ef526ac2ca0f8eb217bf5f48c18b3080be7ac3a7ede\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0x41b40819d7f6714550c742f48ce46daeb97255c08bc56e83bb9fde4fbe14c3b4\",\"urls\":[\"bzzr://a20e2bea336fb01584cf4dc80e77bb8db3c33666f77f840fd58559116849ae4b\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x8a0471fe654a6eabe757133f5c6b3b3a8d19acce975625d097192cc775d94bbe\",\"urls\":[\"bzzr://7c9b05aac5ab23979b7863a4b15421d28ac2b515b673c0b0d296c580b60cde86\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x33926a522c34bbeceb6d498c82cc1cf8415404b7348fbe40d16448ea96bc5535\",\"urls\":[\"bzzr://c668bf0336068e6e836dad2ec1c99f6d142ff1bcd4f04ef99fd59abd2e971c8e\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0x602fd914e5644696d3c5d42e3a39fe6f16e7ddcc93f8864aa7e368a70cb56d0b\",\"urls\":[\"bzzr://b884810b9826074efb212a825d33409c35d9a159681690e821da3643052be3d1\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0xd36290ff2aff5b3e2d441ae5a6abe1d7633874b80b648dc5a895702e7bf8a48c\",\"urls\":[\"bzzr://795dd0b40e4e3bfb7a7809bcfebd90ebc2e3f4c8372e03d38232ba1a7e4023f4\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x5ba39f476562bf41d958a84cc67ffa927cfe7f49734e08fe5c25a8950e8ae262\",\"urls\":[\"bzzr://4606a058f264f8fdb3aa68395396c5efdffd524f7bb6413c2cbd50d46e55c695\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x23fae922fe184ab0e4a1a25349f7ade63103c298625bc29c4f1b285619d054f0\",\"urls\":[\"bzzr://42777a151afd25154d5adfc875921c00261cae360b676cad959e62829b2fe5b6\"]}},\"version\":1}" + "bin": "60806040523480156200001157600080fd5b5060405160808062002905833981018060405260808110156200003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151562000108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2061742061646472657373207a65726f000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515620001ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5365727669636552656769737472792061742061646472657373207a65726f0081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5544432061742061646472657373207a65726f0000000000000000000000000081525060200191505060405180910390fd5b6200026e84620006d6640100000000026401000000009004565b1515620002e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f6b656e20686173206e6f20636f646500000000000000000000000000000081525060200191505060405180910390fd5b620002fd83620006d6640100000000026401000000009004565b151562000372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f53657276696365526567697374727920686173206e6f20636f6465000000000081525060200191505060405180910390fd5b6200038c82620006d6640100000000026401000000009004565b151562000401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f55444320686173206e6f20636f6465000000000000000000000000000000000081525060200191505060405180910390fd5b6200041b81620006d6640100000000026401000000009004565b151562000490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646581525060200191505060405180910390fd5b836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200061957600080fd5b505afa1580156200062e573d6000803e3d6000fd5b505050506040513d60208110156200064557600080fd5b8101908080519060200190929190505050111515620006cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000081525060200191505060405180910390fd5b50505050620006e9565b600080823b905060008111915050919050565b61220c80620006f96000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161007857806381c6dac2146102a2578063b4238f4a146102ec578063d3b6c08014610336578063fc0c546a146105a8576100a5565b80630e7dfb73146100aa578063637d89d4146101505780636766923e1461019a5780637709bc7814610246575b600080fd5b610136600480360360808110156100c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f2565b604051808215151515815260200191505060405180910390f35b610158610ca0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610230600480360360a08110156101b057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc6565b6040518082815260200191505060405180910390f35b6102886004803603602081101561025c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6102aa610ec0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f4610ee6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a6600480360361014081101561034d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f0c565b005b6105b061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d604081101561076757600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561079757fe5b8260048111156107a357fe5b14806107c55750600360048111156107b757fe5b8260048111156107c357fe5b145b806107e557506004808111156107d757fe5b8260048111156107e357fe5b145b1515610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b43811015156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b81019080805190602001909291905050501515610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610cf457fe5b0485101515610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610d9757fe5b0486101515610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e905060006050905060006064888402811515610e2a57fe5b0489019050600060648985850302811515610e4157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff160101811515610e9757fe5b0690508083019550505050505095945050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f1c828b8b868b338a88611364565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905061103a82828e8e33611a16565b15156110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156111bd5780820151818401526020810190506111a2565b50505050905090810190601f1680156111ea5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611223578082015181840152602081019050611208565b50505050905090810190601f1680156112505780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b15801561127757600080fd5b505af115801561128b573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114dc57600080fd5b505afa1580156114f0573d6000803e3d6000fd5b505050506040513d602081101561150657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156115a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561167157600080fd5b505afa158015611685573d6000803e3d6000fd5b505050506040513d602081101561169b57600080fd5b81019080805190602001909291905050509050600061175b308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b81019080805190602001909291905050508e8d8a8e8b611e73565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b81019080805190602001909291905050501515611b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d6040811015611c8357600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115611cb357fe5b826004811115611cbf57fe5b141515611d34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611d9857600080fd5b505afa158015611dac573d6000803e3d6000fd5b505050506040513d6020811015611dc257600080fd5b81019080805190602001909291905050509050808210151515611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b60008183039050611e6181838a8a8a610cc6565b43101594505050505095945050505050565b6000808888600680811115611e8457fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b602083101515611fb75780518252602082019150602081019050602083039250611f92565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061200a818461209e565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806121b2602f913960400191505060405180910390fd5b50979650505050505050565b6000604182511415156120b057600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff1610156120e057601b810190505b601b8160ff1614806120f55750601c8160ff16145b151561210057600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561215d573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156121a557600080fd5b8393505050509291505056fe5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f73696e675f7061727469636970616e74a165627a7a72305820b3b923a0d9b757ab83aa0bd4aa742e0edd9532d26868f7a14f3f305cde37ab960029", + "bin-runtime": "608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161007857806381c6dac2146102a2578063b4238f4a146102ec578063d3b6c08014610336578063fc0c546a146105a8576100a5565b80630e7dfb73146100aa578063637d89d4146101505780636766923e1461019a5780637709bc7814610246575b600080fd5b610136600480360360808110156100c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f2565b604051808215151515815260200191505060405180910390f35b610158610ca0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610230600480360360a08110156101b057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc6565b6040518082815260200191505060405180910390f35b6102886004803603602081101561025c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6102aa610ec0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f4610ee6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a6600480360361014081101561034d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f0c565b005b6105b061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d604081101561076757600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561079757fe5b8260048111156107a357fe5b14806107c55750600360048111156107b757fe5b8260048111156107c357fe5b145b806107e557506004808111156107d757fe5b8260048111156107e357fe5b145b1515610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b43811015156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b81019080805190602001909291905050501515610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610cf457fe5b0485101515610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811515610d9757fe5b0486101515610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e905060006050905060006064888402811515610e2a57fe5b0489019050600060648985850302811515610e4157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff160101811515610e9757fe5b0690508083019550505050505095945050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f1c828b8b868b338a88611364565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905061103a82828e8e33611a16565b15156110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156111bd5780820151818401526020810190506111a2565b50505050905090810190601f1680156111ea5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611223578082015181840152602081019050611208565b50505050905090810190601f1680156112505780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b15801561127757600080fd5b505af115801561128b573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114dc57600080fd5b505afa1580156114f0573d6000803e3d6000fd5b505050506040513d602081101561150657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156115a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561167157600080fd5b505afa158015611685573d6000803e3d6000fd5b505050506040513d602081101561169b57600080fd5b81019080805190602001909291905050509050600061175b308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b81019080805190602001909291905050508e8d8a8e8b611e73565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b81019080805190602001909291905050501515611b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d6040811015611c8357600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115611cb357fe5b826004811115611cbf57fe5b141515611d34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611d9857600080fd5b505afa158015611dac573d6000803e3d6000fd5b505050506040513d6020811015611dc257600080fd5b81019080805190602001909291905050509050808210151515611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b60008183039050611e6181838a8a8a610cc6565b43101594505050505095945050505050565b6000808888600680811115611e8457fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b602083101515611fb75780518252602082019150602081019050602083039250611f92565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061200a818461209e565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806121b2602f913960400191505060405180910390fd5b50979650505050505050565b6000604182511415156120b057600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff1610156120e057601b810190505b601b8160ff1614806120f55750601c8160ff16145b151561210057600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561215d573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156121a557600080fd5b8393505050509291505056fe5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f73696e675f7061727469636970616e74a165627a7a72305820b3b923a0d9b757ab83aa0bd4aa742e0edd9532d26868f7a14f3f305cde37ab960029", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"closed_at_block\",\"type\":\"uint256\"},{\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"name\":\"participant1\",\"type\":\"address\"},{\"name\":\"participant2\",\"type\":\"address\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstBlockAllowedToMonitor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token_address\",\"type\":\"address\"},{\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"name\":\"_udc_address\",\"type\":\"address\"},{\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"params\":{\"closing_participant\":\"Address of the participant of the channel that called close\",\"non_closing_participant\":\"The other participant of the channel\",\"token_network_address\":\"Address of the Token Network in which the channel exists\"}},\"constructor\":{\"params\":{\"_service_registry_address\":\"The address of the ServiceRegistry contract\",\"_token_address\":\"The address of the token to use for rewards\",\"_token_network_registry_address\":\"The address of the TokenNetworkRegistry for authenticating TokenNetworks\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"return\":\"True if a contract exists, false otherwise\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"params\":{\"nonce\":\"Strictly monotonic value used to order BPs omitting PB specific params, since these will not be provided in the future\",\"reward_amount\":\"Amount of tokens to be rewarded\",\"reward_proof_signature\":\"The signature of the signed reward proof\",\"token_network_address\":\"Address of the Token Network in which the channel being monitored exists.\"}}}},\"userdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"notice\":\"Called after a monitored channel is settled in order for MS to claim the reward Can be called once per settled channel by everyone on behalf of MS\"},\"constructor\":\"Set the default values for the smart contract\",\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"notice\":\"Called by a registered MS, when providing a new balance proof to a monitored channel. Can be called multiple times by different registered MSs as long as the BP provided is newer than the current newest registered BP.\"}}}},\"settings\":{\"compilationTarget\":{\"data/source/services/MonitoringService.sol\":\"MonitoringService\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/lib/ECVerify.sol\":{\"keccak256\":\"0x8bb402baa478eb53252d77b63982e12685adda290cf4dfa1d8f510284f8df3e9\",\"urls\":[\"bzzr://474c3db1bb54bb831c32eb2ab67a0e870489994bd4d4b8a8fa24b54935211d43\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0xb8078bc048ccdeb7c58026754f22fc378baf3b24090db0f17d10bda6cd4951b4\",\"urls\":[\"bzzr://f7a072330393a85a6a274ef526ac2ca0f8eb217bf5f48c18b3080be7ac3a7ede\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0x41b40819d7f6714550c742f48ce46daeb97255c08bc56e83bb9fde4fbe14c3b4\",\"urls\":[\"bzzr://a20e2bea336fb01584cf4dc80e77bb8db3c33666f77f840fd58559116849ae4b\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x8a0471fe654a6eabe757133f5c6b3b3a8d19acce975625d097192cc775d94bbe\",\"urls\":[\"bzzr://7c9b05aac5ab23979b7863a4b15421d28ac2b515b673c0b0d296c580b60cde86\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x33926a522c34bbeceb6d498c82cc1cf8415404b7348fbe40d16448ea96bc5535\",\"urls\":[\"bzzr://c668bf0336068e6e836dad2ec1c99f6d142ff1bcd4f04ef99fd59abd2e971c8e\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0x602fd914e5644696d3c5d42e3a39fe6f16e7ddcc93f8864aa7e368a70cb56d0b\",\"urls\":[\"bzzr://b884810b9826074efb212a825d33409c35d9a159681690e821da3643052be3d1\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x774b202a922f7a5848addc96858966e85357bb3669686809a896cb00dcbd2e09\",\"urls\":[\"bzzr://27a5ba200be5d7eec4ff8674545cafeed63e77ab665ded5ee255e53ddd1982d2\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x5ba39f476562bf41d958a84cc67ffa927cfe7f49734e08fe5c25a8950e8ae262\",\"urls\":[\"bzzr://4606a058f264f8fdb3aa68395396c5efdffd524f7bb6413c2cbd50d46e55c695\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x23fae922fe184ab0e4a1a25349f7ade63103c298625bc29c4f1b285619d054f0\",\"urls\":[\"bzzr://42777a151afd25154d5adfc875921c00261cae360b676cad959e62829b2fe5b6\"]}},\"version\":1}" }, "MonitoringServiceInternalsTest": { "abi": [ @@ -1454,9 +1454,9 @@ "type": "event" } ], - "bin": "60806040523480156200001157600080fd5b5060405160808062002d3a833981018060405260808110156200003357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083838383600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2061742061646472657373207a65726f000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515620001b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5365727669636552656769737472792061742061646472657373207a65726f0081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000258576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5544432061742061646472657373207a65726f0000000000000000000000000081525060200191505060405180910390fd5b6200027284620006de640100000000026401000000009004565b1515620002e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f6b656e20686173206e6f20636f646500000000000000000000000000000081525060200191505060405180910390fd5b6200030183620006de640100000000026401000000009004565b151562000376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f53657276696365526567697374727920686173206e6f20636f6465000000000081525060200191505060405180910390fd5b6200039082620006de640100000000026401000000009004565b151562000405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f55444320686173206e6f20636f6465000000000000000000000000000000000081525060200191505060405180910390fd5b6200041f81620006de640100000000026401000000009004565b151562000494576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646581525060200191505060405180910390fd5b836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200061d57600080fd5b505afa15801562000632573d6000803e3d6000fd5b505050506040513d60208110156200064957600080fd5b8101908080519060200190929190505050111515620006d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000081525060200191505060405180910390fd5b5050505050505050620006f1565b600080823b905060008111915050919050565b61263980620007016000396000f3fe608060405234801561001057600080fd5b50600436106100c6576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161008e57806381c6dac2146104aa578063b413dcb2146104f4578063b4238f4a146106fa578063d3b6c08014610744578063dcf13767146109b6578063fc0c546a146109f8576100c6565b80630e7dfb73146100cb578063637d89d4146101715780636766923e146101bb5780636a83a948146102675780637709bc781461044e575b600080fd5b610157600480360360808110156100e157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a42565b604051808215151515815260200191505060405180910390f35b6101796110f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610251600480360360a08110156101d157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611116565b6040518082815260200191505060405180910390f35b61044c600480360361010081101561027e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561032f57600080fd5b82018360208201111561034157600080fd5b8035906020019184600183028401116401000000008311171561036357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506112fd565b005b6104906004803603602081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b604051808215151515815260200191505060405180910390f35b6104b261132a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b8600480360360e081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561059157600080fd5b8201836020820111156105a357600080fd5b803590602001918460018302840111640100000000831117156105c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561063257600080fd5b82018360208201111561064457600080fd5b8035906020019184600183028401116401000000008311171561066657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611350565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61070261136e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109b4600480360361014081101561075b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156107d657600080fd5b8201836020820111156107e857600080fd5b8035906020019184600183028401116401000000008311171561080a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111640100000000831117156108a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561092e57600080fd5b82018360208201111561094057600080fd5b8035906020019184600183028401116401000000008311171561096257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611394565b005b6109e2600480360360208110156109cc57600080fd5b81019080803590602001909291905050506117c7565b6040518082815260200191505060405180910390f35b610a006117e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6040811015610bb757600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115610be757fe5b826004811115610bf357fe5b1480610c15575060036004811115610c0757fe5b826004811115610c1357fe5b145b80610c355750600480811115610c2757fe5b826004811115610c3357fe5b145b1515610ca9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b4381101515610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b81019080805190602001909291905050501515610ff4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81151561114457fe5b04851015156111bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8115156111e757fe5b048610151561125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e90506000605090506000606488840281151561127a57fe5b048901905060006064898585030281151561129157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1601018115156112e757fe5b0690508083019550505050505095945050505050565b61130d888888888888888861180c565b5050505050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136188888888888888611ebe565b9050979650505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113a4828b8b868b338a8861180c565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505090506114c282828e8e3361209d565b1515611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164557808201518184015260208101905061162a565b50505050905090810190601f1680156116725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b600060046000838152602001908152602001600020600101549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561187557600080fd5b505afa158015611889573d6000803e3d6000fd5b505050506040513d602081101561189f57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561198457600080fd5b505afa158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d6020811015611b4357600080fd5b810190808051906020019092919050505090506000611c03308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611bbe57600080fd5b505afa158015611bd2573d6000803e3d6000fd5b505050506040513d6020811015611be857600080fd5b81019080805190602001909291905050508e8d8a8e8b611ebe565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000808888600680811115611ecf57fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b6020831015156120025780518252602082019150602081019050602083039250611fdd565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061205581846124fa565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561209157600080fd5b50979650505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561215a57600080fd5b505afa15801561216e573d6000803e3d6000fd5b505050506040513d602081101561218457600080fd5b81019080805190602001909291905050501515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b1580156122e057600080fd5b505afa1580156122f4573d6000803e3d6000fd5b505050506040513d604081101561230a57600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561233a57fe5b82600481111561234657fe5b1415156123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561241f57600080fd5b505afa158015612433573d6000803e3d6000fd5b505050506040513d602081101561244957600080fd5b810190808051906020019092919050505090508082101515156124d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b600081830390506124e881838a8a8a611116565b43101594505050505095945050505050565b60006041825114151561250c57600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561253c57601b810190505b601b8160ff1614806125515750601c8160ff16145b151561255c57600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156125b9573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561260157600080fd5b8393505050509291505056fea165627a7a7230582052b919b417c68152403dab6d4f7f010182710ee027285e633667dd98569430d70029", - "bin-runtime": "608060405234801561001057600080fd5b50600436106100c6576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161008e57806381c6dac2146104aa578063b413dcb2146104f4578063b4238f4a146106fa578063d3b6c08014610744578063dcf13767146109b6578063fc0c546a146109f8576100c6565b80630e7dfb73146100cb578063637d89d4146101715780636766923e146101bb5780636a83a948146102675780637709bc781461044e575b600080fd5b610157600480360360808110156100e157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a42565b604051808215151515815260200191505060405180910390f35b6101796110f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610251600480360360a08110156101d157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611116565b6040518082815260200191505060405180910390f35b61044c600480360361010081101561027e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561032f57600080fd5b82018360208201111561034157600080fd5b8035906020019184600183028401116401000000008311171561036357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506112fd565b005b6104906004803603602081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b604051808215151515815260200191505060405180910390f35b6104b261132a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b8600480360360e081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561059157600080fd5b8201836020820111156105a357600080fd5b803590602001918460018302840111640100000000831117156105c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561063257600080fd5b82018360208201111561064457600080fd5b8035906020019184600183028401116401000000008311171561066657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611350565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61070261136e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109b4600480360361014081101561075b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156107d657600080fd5b8201836020820111156107e857600080fd5b8035906020019184600183028401116401000000008311171561080a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111640100000000831117156108a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561092e57600080fd5b82018360208201111561094057600080fd5b8035906020019184600183028401116401000000008311171561096257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611394565b005b6109e2600480360360208110156109cc57600080fd5b81019080803590602001909291905050506117c7565b6040518082815260200191505060405180910390f35b610a006117e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6040811015610bb757600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115610be757fe5b826004811115610bf357fe5b1480610c15575060036004811115610c0757fe5b826004811115610c1357fe5b145b80610c355750600480811115610c2757fe5b826004811115610c3357fe5b145b1515610ca9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b4381101515610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b81019080805190602001909291905050501515610ff4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81151561114457fe5b04851015156111bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8115156111e757fe5b048610151561125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e90506000605090506000606488840281151561127a57fe5b048901905060006064898585030281151561129157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1601018115156112e757fe5b0690508083019550505050505095945050505050565b61130d888888888888888861180c565b5050505050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136188888888888888611ebe565b9050979650505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113a4828b8b868b338a8861180c565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505090506114c282828e8e3361209d565b1515611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164557808201518184015260208101905061162a565b50505050905090810190601f1680156116725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b600060046000838152602001908152602001600020600101549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561187557600080fd5b505afa158015611889573d6000803e3d6000fd5b505050506040513d602081101561189f57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561198457600080fd5b505afa158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d6020811015611b4357600080fd5b810190808051906020019092919050505090506000611c03308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611bbe57600080fd5b505afa158015611bd2573d6000803e3d6000fd5b505050506040513d6020811015611be857600080fd5b81019080805190602001909291905050508e8d8a8e8b611ebe565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000808888600680811115611ecf57fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b6020831015156120025780518252602082019150602081019050602083039250611fdd565b6001836020036101000a03801982511681845116808217855250505050505090500182815260200197505050505050505060405160208183030381529060405280519060200120905061205581846124fa565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561209157600080fd5b50979650505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561215a57600080fd5b505afa15801561216e573d6000803e3d6000fd5b505050506040513d602081101561218457600080fd5b81019080805190602001909291905050501515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b1580156122e057600080fd5b505afa1580156122f4573d6000803e3d6000fd5b505050506040513d604081101561230a57600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561233a57fe5b82600481111561234657fe5b1415156123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561241f57600080fd5b505afa158015612433573d6000803e3d6000fd5b505050506040513d602081101561244957600080fd5b810190808051906020019092919050505090508082101515156124d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b600081830390506124e881838a8a8a611116565b43101594505050505095945050505050565b60006041825114151561250c57600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561253c57601b810190505b601b8160ff1614806125515750601c8160ff16145b151561255c57600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156125b9573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561260157600080fd5b8393505050509291505056fea165627a7a7230582052b919b417c68152403dab6d4f7f010182710ee027285e633667dd98569430d70029", - "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"closed_at_block\",\"type\":\"uint256\"},{\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"name\":\"participant1\",\"type\":\"address\"},{\"name\":\"participant2\",\"type\":\"address\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstBlockAllowedToMonitor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"updateRewardPublic\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"monitoring_service_contract_address\",\"type\":\"address\"},{\"name\":\"chain_id\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"recoverAddressFromRewardProofPublic\",\"outputs\":[{\"name\":\"signature_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"rewardNonce\",\"outputs\":[{\"name\":\"nonce\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token_address\",\"type\":\"address\"},{\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"name\":\"_udc_address\",\"type\":\"address\"},{\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"params\":{\"closing_participant\":\"Address of the participant of the channel that called close\",\"non_closing_participant\":\"The other participant of the channel\",\"token_network_address\":\"Address of the Token Network in which the channel exists\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"return\":\"True if a contract exists, false otherwise\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"params\":{\"nonce\":\"Strictly monotonic value used to order BPs omitting PB specific params, since these will not be provided in the future\",\"reward_amount\":\"Amount of tokens to be rewarded\",\"reward_proof_signature\":\"The signature of the signed reward proof\",\"token_network_address\":\"Address of the Token Network in which the channel being monitored exists.\"}}}},\"userdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"notice\":\"Called after a monitored channel is settled in order for MS to claim the reward Can be called once per settled channel by everyone on behalf of MS\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"notice\":\"Called by a registered MS, when providing a new balance proof to a monitored channel. Can be called multiple times by different registered MSs as long as the BP provided is newer than the current newest registered BP.\"}}}},\"settings\":{\"compilationTarget\":{\"data/source/test/MonitoringServiceInternalsTest.sol\":\"MonitoringServiceInternalsTest\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/lib/ECVerify.sol\":{\"keccak256\":\"0x8bb402baa478eb53252d77b63982e12685adda290cf4dfa1d8f510284f8df3e9\",\"urls\":[\"bzzr://474c3db1bb54bb831c32eb2ab67a0e870489994bd4d4b8a8fa24b54935211d43\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0xb8078bc048ccdeb7c58026754f22fc378baf3b24090db0f17d10bda6cd4951b4\",\"urls\":[\"bzzr://f7a072330393a85a6a274ef526ac2ca0f8eb217bf5f48c18b3080be7ac3a7ede\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0x41b40819d7f6714550c742f48ce46daeb97255c08bc56e83bb9fde4fbe14c3b4\",\"urls\":[\"bzzr://a20e2bea336fb01584cf4dc80e77bb8db3c33666f77f840fd58559116849ae4b\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x8a0471fe654a6eabe757133f5c6b3b3a8d19acce975625d097192cc775d94bbe\",\"urls\":[\"bzzr://7c9b05aac5ab23979b7863a4b15421d28ac2b515b673c0b0d296c580b60cde86\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x33926a522c34bbeceb6d498c82cc1cf8415404b7348fbe40d16448ea96bc5535\",\"urls\":[\"bzzr://c668bf0336068e6e836dad2ec1c99f6d142ff1bcd4f04ef99fd59abd2e971c8e\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0x602fd914e5644696d3c5d42e3a39fe6f16e7ddcc93f8864aa7e368a70cb56d0b\",\"urls\":[\"bzzr://b884810b9826074efb212a825d33409c35d9a159681690e821da3643052be3d1\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0xd36290ff2aff5b3e2d441ae5a6abe1d7633874b80b648dc5a895702e7bf8a48c\",\"urls\":[\"bzzr://795dd0b40e4e3bfb7a7809bcfebd90ebc2e3f4c8372e03d38232ba1a7e4023f4\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x5ba39f476562bf41d958a84cc67ffa927cfe7f49734e08fe5c25a8950e8ae262\",\"urls\":[\"bzzr://4606a058f264f8fdb3aa68395396c5efdffd524f7bb6413c2cbd50d46e55c695\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x23fae922fe184ab0e4a1a25349f7ade63103c298625bc29c4f1b285619d054f0\",\"urls\":[\"bzzr://42777a151afd25154d5adfc875921c00261cae360b676cad959e62829b2fe5b6\"]},\"data/source/test/MonitoringServiceInternalsTest.sol\":{\"keccak256\":\"0xdec1a7468dd2bbfb3ec372d23e91d6f22fa43abfadb34659fb6825e43c93dccd\",\"urls\":[\"bzzr://cd7fb105ba6c975ea11c0ac126d3f402525086d63a4c91bccc1f0241486bc551\"]}},\"version\":1}" + "bin": "60806040523480156200001157600080fd5b5060405160808062002db5833981018060405260808110156200003357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083838383600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2061742061646472657373207a65726f000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515620001b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5365727669636552656769737472792061742061646472657373207a65726f0081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000258576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5544432061742061646472657373207a65726f0000000000000000000000000081525060200191505060405180910390fd5b6200027284620006de640100000000026401000000009004565b1515620002e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f6b656e20686173206e6f20636f646500000000000000000000000000000081525060200191505060405180910390fd5b6200030183620006de640100000000026401000000009004565b151562000376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f53657276696365526567697374727920686173206e6f20636f6465000000000081525060200191505060405180910390fd5b6200039082620006de640100000000026401000000009004565b151562000405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f55444320686173206e6f20636f6465000000000000000000000000000000000081525060200191505060405180910390fd5b6200041f81620006de640100000000026401000000009004565b151562000494576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646581525060200191505060405180910390fd5b836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200061d57600080fd5b505afa15801562000632573d6000803e3d6000fd5b505050506040513d60208110156200064957600080fd5b8101908080519060200190929190505050111515620006d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000081525060200191505060405180910390fd5b5050505050505050620006f1565b600080823b905060008111915050919050565b6126b480620007016000396000f3fe608060405234801561001057600080fd5b50600436106100c6576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161008e57806381c6dac2146104aa578063b413dcb2146104f4578063b4238f4a146106fa578063d3b6c08014610744578063dcf13767146109b6578063fc0c546a146109f8576100c6565b80630e7dfb73146100cb578063637d89d4146101715780636766923e146101bb5780636a83a948146102675780637709bc781461044e575b600080fd5b610157600480360360808110156100e157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a42565b604051808215151515815260200191505060405180910390f35b6101796110f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610251600480360360a08110156101d157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611116565b6040518082815260200191505060405180910390f35b61044c600480360361010081101561027e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561032f57600080fd5b82018360208201111561034157600080fd5b8035906020019184600183028401116401000000008311171561036357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506112fd565b005b6104906004803603602081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b604051808215151515815260200191505060405180910390f35b6104b261132a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b8600480360360e081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561059157600080fd5b8201836020820111156105a357600080fd5b803590602001918460018302840111640100000000831117156105c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561063257600080fd5b82018360208201111561064457600080fd5b8035906020019184600183028401116401000000008311171561066657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611350565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61070261136e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109b4600480360361014081101561075b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156107d657600080fd5b8201836020820111156107e857600080fd5b8035906020019184600183028401116401000000008311171561080a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111640100000000831117156108a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561092e57600080fd5b82018360208201111561094057600080fd5b8035906020019184600183028401116401000000008311171561096257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611394565b005b6109e2600480360360208110156109cc57600080fd5b81019080803590602001909291905050506117c7565b6040518082815260200191505060405180910390f35b610a006117e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6040811015610bb757600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115610be757fe5b826004811115610bf357fe5b1480610c15575060036004811115610c0757fe5b826004811115610c1357fe5b145b80610c355750600480811115610c2757fe5b826004811115610c3357fe5b145b1515610ca9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b4381101515610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b81019080805190602001909291905050501515610ff4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81151561114457fe5b04851015156111bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8115156111e757fe5b048610151561125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e90506000605090506000606488840281151561127a57fe5b048901905060006064898585030281151561129157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1601018115156112e757fe5b0690508083019550505050505095945050505050565b61130d888888888888888861180c565b5050505050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136188888888888888611ebe565b9050979650505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113a4828b8b868b338a8861180c565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505090506114c282828e8e336120e9565b1515611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164557808201518184015260208101905061162a565b50505050905090810190601f1680156116725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b600060046000838152602001908152602001600020600101549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561187557600080fd5b505afa158015611889573d6000803e3d6000fd5b505050506040513d602081101561189f57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561198457600080fd5b505afa158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d6020811015611b4357600080fd5b810190808051906020019092919050505090506000611c03308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611bbe57600080fd5b505afa158015611bd2573d6000803e3d6000fd5b505050506040513d6020811015611be857600080fd5b81019080805190602001909291905050508e8d8a8e8b611ebe565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000808888600680811115611ecf57fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b6020831015156120025780518252602082019150602081019050602083039250611fdd565b6001836020036101000a0380198251168184511680821785525050505050509050018281526020019750505050505050506040516020818303038152906040528051906020012090506120558184612546565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415156120dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061265a602f913960400191505060405180910390fd5b50979650505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121a657600080fd5b505afa1580156121ba573d6000803e3d6000fd5b505050506040513d60208110156121d057600080fd5b81019080805190602001909291905050501515612255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561232c57600080fd5b505afa158015612340573d6000803e3d6000fd5b505050506040513d604081101561235657600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561238657fe5b82600481111561239257fe5b141515612407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b81019080805190602001909291905050509050808210151515612520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b6000818303905061253481838a8a8a611116565b43101594505050505095945050505050565b60006041825114151561255857600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561258857601b810190505b601b8160ff16148061259d5750601c8160ff16145b15156125a857600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612605573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561264d57600080fd5b8393505050509291505056fe5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f73696e675f7061727469636970616e74a165627a7a72305820e8f27e9c9c9116f4a5b2532924fd94b941f9eb64f5d92a735288cabd3a7764420029", + "bin-runtime": "608060405234801561001057600080fd5b50600436106100c6576000357c01000000000000000000000000000000000000000000000000000000009004806381c6dac21161008e57806381c6dac2146104aa578063b413dcb2146104f4578063b4238f4a146106fa578063d3b6c08014610744578063dcf13767146109b6578063fc0c546a146109f8576100c6565b80630e7dfb73146100cb578063637d89d4146101715780636766923e146101bb5780636a83a948146102675780637709bc781461044e575b600080fd5b610157600480360360808110156100e157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a42565b604051808215151515815260200191505060405180910390f35b6101796110f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610251600480360360a08110156101d157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611116565b6040518082815260200191505060405180910390f35b61044c600480360361010081101561027e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561032f57600080fd5b82018360208201111561034157600080fd5b8035906020019184600183028401116401000000008311171561036357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506112fd565b005b6104906004803603602081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b604051808215151515815260200191505060405180910390f35b6104b261132a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b8600480360360e081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561059157600080fd5b8201836020820111156105a357600080fd5b803590602001918460018302840111640100000000831117156105c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561063257600080fd5b82018360208201111561064457600080fd5b8035906020019184600183028401116401000000008311171561066657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611350565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61070261136e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109b4600480360361014081101561075b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156107d657600080fd5b8201836020820111156107e857600080fd5b8035906020019184600183028401116401000000008311171561080a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111640100000000831117156108a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561092e57600080fd5b82018360208201111561094057600080fd5b8035906020019184600183028401116401000000008311171561096257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611394565b005b6109e2600480360360208110156109cc57600080fd5b81019080803590602001909291905050506117c7565b6040518082815260200191505060405180910390f35b610a006117e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008084905060008686604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000808373ffffffffffffffffffffffffffffffffffffffff1663838d6e058a89896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6040811015610bb757600080fd5b810190808051906020019092919080519060200190929190505050809350819250505060026004811115610be757fe5b826004811115610bf357fe5b1480610c15575060036004811115610c0757fe5b826004811115610c1357fe5b145b80610c355750600480811115610c2757fe5b826004811115610c3357fe5b145b1515610ca9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f746f6f206561726c79206368616e6e656c20737461746500000000000000000081525060200191505060405180910390fd5b4381101515610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6368616e6e656c206e6f7420736574746c65642079657400000000000000000081525060200191505060405180910390fd5b6000600460008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7265776172645f73656e646572206973207a65726f000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc88260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b81019080805190602001909291905050501515610ff4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55444320646964206e6f74207472616e7366657200000000000000000000000081525060200191505060405180910390fd5b838160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd20183600001546040518082815260200191505060405180910390a36004600085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600195505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81151561114457fe5b04851015156111bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6d616c6963696f75736c792062696720736574746c652074696d656f7574000081525060200191505060405180910390fd5b60647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8115156111e757fe5b048610151561125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d616c6963696f75736c792062696720636c6f7365645f61745f626c6f636b0081525060200191505060405180910390fd5b6000601e90506000605090506000606488840281151561127a57fe5b048901905060006064898585030281151561129157fe5b0490506000818773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1601018115156112e757fe5b0690508083019550505050505095945050505050565b61130d888888888888888861180c565b5050505050505050565b600080823b905060008111915050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136188888888888888611ebe565b9050979650505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113a4828b8b868b338a8861180c565b600082905060008173ffffffffffffffffffffffffffffffffffffffff1663938bcd678d8d6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505090506114c282828e8e336120e9565b1515611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6e6f7420616c6c6f77656420746f206d6f6e69746f720000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663fadc554b828e8e8e8e8e8e8e6040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164557808201518184015260208101905061162a565b50505050905090810190601f1680156116725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b505050508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a7f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff87858a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a4505050505050505050505050565b600060046000838152602001908152602001600020600101549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600088905060008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561187557600080fd5b505afa158015611889573d6000803e3d6000fd5b505050506040513d602081101561189f57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630fabd9e7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561198457600080fd5b505afa158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f556e6b6e6f776e20546f6b656e4e6574776f726b00000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663938bcd678b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d6020811015611b4357600080fd5b810190808051906020019092919050505090506000611c03308573ffffffffffffffffffffffffffffffffffffffff16633af973b16040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611bbe57600080fd5b505afa158015611bd2573d6000803e3d6000fd5b505050506040513d6020811015611be857600080fd5b81019080805190602001909291905050508e8d8a8e8b611ebe565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207265776172642070726f6f660000000000000000000000000000000081525060200191505060405180910390fd5b6000828d604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040528051906020012090506000600460008381526020019081526020016000209050898160010154101515611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f7374616c65206e6f6e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6080604051908101604052808c81526020018b81526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681525060046000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050505050505050505050565b6000808888600680811115611ecf57fe5b8989898960405160200180807f19457468657265756d205369676e6564204d6573736167653a0a323231000000815250601d018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183805190602001908083835b6020831015156120025780518252602082019150602081019050602083039250611fdd565b6001836020036101000a0380198251168184511680821785525050505050509050018281526020019750505050505050506040516020818303038152906040528051906020012090506120558184612546565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415156120dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061265a602f913960400191505060405180910390fd5b50979650505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebc00c05836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121a657600080fd5b505afa1580156121ba573d6000803e3d6000fd5b505050506040513d60208110156121d057600080fd5b81019080805190602001909291905050501515612255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f73657276696365206e6f7420726567697374657265640000000000000000000081525060200191505060405180910390fd5b6000808773ffffffffffffffffffffffffffffffffffffffff1663838d6e058888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604080518083038186803b15801561232c57600080fd5b505afa158015612340573d6000803e3d6000fd5b505050506040513d604081101561235657600080fd5b81019080805190602001909291908051906020019092919050505080935081925050506002600481111561238657fe5b82600481111561239257fe5b141515612407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6368616e6e656c206e6f7420636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60008873ffffffffffffffffffffffffffffffffffffffff1663b8378f756040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b81019080805190602001909291905050509050808210151515612520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6f206c6f7720736574746c6520626c6f636b206e756d626572000000000081525060200191505060405180910390fd5b6000818303905061253481838a8a8a611116565b43101594505050505095945050505050565b60006041825114151561255857600080fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff16101561258857601b810190505b601b8160ff16148061259d5750601c8160ff16145b15156125a857600080fd5b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612605573d6000803e3d6000fd5b505050602060405103519350600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561264d57600080fd5b8393505050509291505056fe5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f73696e675f7061727469636970616e74a165627a7a72305820e8f27e9c9c9116f4a5b2532924fd94b941f9eb64f5d92a735288cabd3a7764420029", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"closed_at_block\",\"type\":\"uint256\"},{\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"name\":\"participant1\",\"type\":\"address\"},{\"name\":\"participant2\",\"type\":\"address\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstBlockAllowedToMonitor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"monitoring_service_address\",\"type\":\"address\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"updateRewardPublic\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"monitoring_service_contract_address\",\"type\":\"address\"},{\"name\":\"chain_id\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"recoverAddressFromRewardProofPublic\",\"outputs\":[{\"name\":\"signature_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"closing_participant\",\"type\":\"address\"},{\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"name\":\"token_network_address\",\"type\":\"address\"},{\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"rewardNonce\",\"outputs\":[{\"name\":\"nonce\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token_address\",\"type\":\"address\"},{\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"name\":\"_udc_address\",\"type\":\"address\"},{\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"params\":{\"closing_participant\":\"Address of the participant of the channel that called close\",\"non_closing_participant\":\"The other participant of the channel\",\"token_network_address\":\"Address of the Token Network in which the channel exists\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"return\":\"True if a contract exists, false otherwise\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"params\":{\"nonce\":\"Strictly monotonic value used to order BPs omitting PB specific params, since these will not be provided in the future\",\"reward_amount\":\"Amount of tokens to be rewarded\",\"reward_proof_signature\":\"The signature of the signed reward proof\",\"token_network_address\":\"Address of the Token Network in which the channel being monitored exists.\"}}}},\"userdoc\":{\"methods\":{\"claimReward(uint256,address,address,address)\":{\"notice\":\"Called after a monitored channel is settled in order for MS to claim the reward Can be called once per settled channel by everyone on behalf of MS\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"monitor(address,address,bytes32,uint256,bytes32,bytes,bytes,uint256,address,bytes)\":{\"notice\":\"Called by a registered MS, when providing a new balance proof to a monitored channel. Can be called multiple times by different registered MSs as long as the BP provided is newer than the current newest registered BP.\"}}}},\"settings\":{\"compilationTarget\":{\"data/source/test/MonitoringServiceInternalsTest.sol\":\"MonitoringServiceInternalsTest\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/lib/ECVerify.sol\":{\"keccak256\":\"0x8bb402baa478eb53252d77b63982e12685adda290cf4dfa1d8f510284f8df3e9\",\"urls\":[\"bzzr://474c3db1bb54bb831c32eb2ab67a0e870489994bd4d4b8a8fa24b54935211d43\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0xb8078bc048ccdeb7c58026754f22fc378baf3b24090db0f17d10bda6cd4951b4\",\"urls\":[\"bzzr://f7a072330393a85a6a274ef526ac2ca0f8eb217bf5f48c18b3080be7ac3a7ede\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0x41b40819d7f6714550c742f48ce46daeb97255c08bc56e83bb9fde4fbe14c3b4\",\"urls\":[\"bzzr://a20e2bea336fb01584cf4dc80e77bb8db3c33666f77f840fd58559116849ae4b\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x8a0471fe654a6eabe757133f5c6b3b3a8d19acce975625d097192cc775d94bbe\",\"urls\":[\"bzzr://7c9b05aac5ab23979b7863a4b15421d28ac2b515b673c0b0d296c580b60cde86\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x33926a522c34bbeceb6d498c82cc1cf8415404b7348fbe40d16448ea96bc5535\",\"urls\":[\"bzzr://c668bf0336068e6e836dad2ec1c99f6d142ff1bcd4f04ef99fd59abd2e971c8e\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0x602fd914e5644696d3c5d42e3a39fe6f16e7ddcc93f8864aa7e368a70cb56d0b\",\"urls\":[\"bzzr://b884810b9826074efb212a825d33409c35d9a159681690e821da3643052be3d1\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x774b202a922f7a5848addc96858966e85357bb3669686809a896cb00dcbd2e09\",\"urls\":[\"bzzr://27a5ba200be5d7eec4ff8674545cafeed63e77ab665ded5ee255e53ddd1982d2\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x5ba39f476562bf41d958a84cc67ffa927cfe7f49734e08fe5c25a8950e8ae262\",\"urls\":[\"bzzr://4606a058f264f8fdb3aa68395396c5efdffd524f7bb6413c2cbd50d46e55c695\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x23fae922fe184ab0e4a1a25349f7ade63103c298625bc29c4f1b285619d054f0\",\"urls\":[\"bzzr://42777a151afd25154d5adfc875921c00261cae360b676cad959e62829b2fe5b6\"]},\"data/source/test/MonitoringServiceInternalsTest.sol\":{\"keccak256\":\"0xdec1a7468dd2bbfb3ec372d23e91d6f22fa43abfadb34659fb6825e43c93dccd\",\"urls\":[\"bzzr://cd7fb105ba6c975ea11c0ac126d3f402525086d63a4c91bccc1f0241486bc551\"]}},\"version\":1}" }, "OneToN": { "abi": [ @@ -7675,7 +7675,7 @@ "CustomToken.sol": "436a6b65bd1e7ed82da629d5731191afc15ae2ef436a07390dce23f3b959a619", "ECVerify.sol": "f4db8e1346fce743f28ae5231806ced318aa6ea08fc26b65728a0571c18eb6ca", "HumanStandardToken.sol": "0a5fc3e09d642caff8472dd5c7cf43eb7f59251970eecaa3544883aba4a51627", - "MonitoringService.sol": "f8340acc6482228c9a99afb0b87d4b6aa0d1b6f4703d656e28175da0020f6a8b", + "MonitoringService.sol": "6c01e735c5373928c3f3f99f890a1c11f9aa22b7ca575bb3ae45892ba174f0c4", "MonitoringServiceInternalsTest.sol": "315cb5b7feb9036e42edcbd8221a2a8c47197e95f760d2c1df6ca4aeac55351c", "OneToN.sol": "fff7f2556044ffb3b8b826f36711da0edc9a3ed60761633a050ce6623e944017", "OneToNInternalsTest.sol": "7fbc71e7be6c217e7706e0da69e8ce63b9d446430ab3824a09919d83936bbdc2", @@ -7692,5 +7692,5 @@ "Utils.sol": "c37282ebe7cae3a26a8bdb34c25f779202e99d95e09a68cae6b9e92199f10f32" }, "contracts_version": null, - "overall_checksum": "9a72dba2ded25deb4116398f2ad2998f74e1d2ba05e269afacf14546f16ba2e4" + "overall_checksum": "259f5c4f72485ceb4bf2717b469a569d485dfcddc65d7928fbdd254f00141c12" } \ No newline at end of file diff --git a/raiden_contracts/data/source/services/MonitoringService.sol b/raiden_contracts/data/source/services/MonitoringService.sol index 1cb6423ea..98c93a562 100644 --- a/raiden_contracts/data/source/services/MonitoringService.sol +++ b/raiden_contracts/data/source/services/MonitoringService.sol @@ -384,7 +384,7 @@ contract MonitoringService is Utils { )); signature_address = ECVerify.ecverify(message_hash, signature); - require(signature_address == non_closing_participant); + require(signature_address == non_closing_participant, "Reward proof with wrong non_closing_participant"); } }