Repository: raiden-network/raiden-contracts

Issue:
User Deposit Contract - allow to configure withdraw timeout
As the timeout value has changed from block numbers to time in seconds, this has become a challenge for (end-to-end) tests. The current constant value are 25min. That is way too long. In the past we could just mine a couple of blocks. But manipulating pure time is not a good non unit tests.
Therefore it should be possible to set the withdraw timeout in the constructor of the User Deposit contract. This is the same strategy as we already do for the Token Network and Token Registry contract. The deployment tools will then contain the current constant value as the default for the new optional argument.

Discussion:
weilbith: Sorry for the included bump of the pre-release stuff. I'll cut that out.
weilbith: Sorry, my local formatting seem to have caused issues for the contract verification (though I dunno why).
weilbith: I marked the CodeCov report as resolved because there were no changes in funcitonality.
weilbith: Holy ****. I thought a space character in a comment would not cause a hash mismatch. 😑 

Patch:
diff --git a/raiden_contracts/data/contracts.json b/raiden_contracts/data/contracts.json
index 1ffc82a..044bced 100644
--- a/raiden_contracts/data/contracts.json
+++ b/raiden_contracts/data/contracts.json
@@ -1294,9 +1294,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "60806040523480156200001157600080fd5b5060405162001a6538038062001a65833981016040819052620000349162000384565b6001600160a01b038416620000905760405162461bcd60e51b815260206004820152601560248201527f546f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038316620000e85760405162461bcd60e51b815260206004820152601f60248201527f5365727669636552656769737472792061742061646472657373207a65726f00604482015260640162000087565b6001600160a01b038216620001405760405162461bcd60e51b815260206004820152601360248201527f5544432061742061646472657373207a65726f00000000000000000000000000604482015260640162000087565b833b620001845760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b604482015260640162000087565b823b620001d45760405162461bcd60e51b815260206004820152601b60248201527f53657276696365526567697374727920686173206e6f20636f64650000000000604482015260640162000087565b813b620002165760405162461bcd60e51b815260206004820152600f60248201526e55444320686173206e6f20636f646560881b604482015260640162000087565b803b620002665760405162461bcd60e51b815260206004820181905260248201527f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f6465604482015260640162000087565b600080546001600160a01b03199081166001600160a01b0387811691821784556001805484168883161790556002805484168783161790556003805490931690851617909155604080516318160ddd60e01b815290516318160ddd916004808201926020929091908290030181865afa158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e9190620003e1565b116200035d5760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2077697468207a65726f20746f74616c20737570706c7900000000604482015260640162000087565b50505050620003fb565b80516001600160a01b03811681146200037f57600080fd5b919050565b600080600080608085870312156200039b57600080fd5b620003a68562000367565b9350620003b66020860162000367565b9250620003c66040860162000367565b9150620003d66060860162000367565b905092959194509250565b600060208284031215620003f457600080fd5b5051919050565b61165a806200040b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381c6dac21161008c578063919b3edc11610066578063919b3edc14610234578063b4238f4a14610247578063d3b6c0801461025a578063fc0c546a1461026f57600080fd5b806381c6dac2146101c557806387234237146101d85780638e51d6241461022157600080fd5b8063637d89d4116100c8578063637d89d4146101605780636d5433e61461018b5780637709bc781461019e5780637ae2b5c7146101b257600080fd5b80630e7dfb73146100ef578063187adf2e1461011757806357f9edff1461013f575b600080fd5b6101026100fd3660046110ca565b610282565b60405190151581526020015b60405180910390f35b61012a61012536600461111d565b610664565b6040805192835260208301919091520161010e565b61015261014d36600461113f565b610686565b60405190815260200161010e565b600254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61015261019936600461111d565b61090c565b6101026101ac3660046111a7565b3b151590565b6101526101c036600461111d565b610924565b600154610173906001600160a01b031681565b6102146040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161010e9190611220565b61015261022f36600461111d565b610939565b610152610242366004611233565b610958565b600354610173906001600160a01b031681565b61026d610268366004611307565b610a00565b005b600054610173906001600160a01b031681565b600080849050600086866040516020016102b892919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906113ea565b905060028160048111156103645761036461140b565b14806103815750600381600481111561037f5761037f61140b565b145b8061039d5750600481600481111561039b5761039b61140b565b145b6103ee5760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611421565b90504281106104ab5760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c65642079657400000000000000000060448201526064016103e5565b600083815260046020526040902060028101546001600160a01b031661050b5760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b60448201526064016103e5565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af115801561056f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610593919061143a565b6105d65760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b60448201526064016103e5565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106765760008461067b565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f5919061143a565b61073a5760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064016103e5565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b791906113ea565b905060028160048111156107cd576107cd61140b565b1461080f5760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b60448201526064016103e5565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa158015610857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087b9190611421565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611421565b905060006108ef8284611472565b90506108fe81838a8a8a610958565b9a9950505050505050505050565b600081831161091b578161091d565b825b9392505050565b6000818311610933578261091d565b50919050565b60008282018381101561094e57600019610950565b805b949350505050565b6000601e605082606461096b8985611489565b61097591906114be565b61097f908a6114d2565b905060006064896109908686611472565b61099a9190611489565b6109a491906114be565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b03166109d191906114d2565b6109db91906114d2565b6109e591906114ea565b90506109f181846114d2565b9b9a5050505050505050505050565b610a10828b8b868b338a88610bab565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611421565b9050610a9682828e8e33610686565b421015610ade5760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b60448201526064016103e5565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b189897969594939291906114fe565b600060405180830381600087803b158015610b3257600080fd5b505af1158015610b46573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c14919061155a565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061155a565b6001600160a01b031614610cd65760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b60448201526064016103e5565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c9190611421565b90506000610d5d8c8b888c89610ed0565b9050896001600160a01b0316816001600160a01b031614610db35760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b60448201526064016103e5565b6000828d604051602001610de392919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610e4c5760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b60448201526064016103e5565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610f28989796959493929190611577565b604051602081830303815290604052805190602001209050610f4a8184610fcf565b9150856001600160a01b0316826001600160a01b031614610fc55760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b60648201526084016103e5565b5095945050505050565b60008151604114610fdf57600080fd5b60208201516040830151606084015160001a601b81101561100857611005601b826115ff565b90505b8060ff16601b148061101d57508060ff16601c145b61102657600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661109957600080fd5b50505092915050565b6001600160a01b03811681146110b757600080fd5b50565b80356110c5816110a2565b919050565b600080600080608085870312156110e057600080fd5b8435935060208501356110f2816110a2565b92506040850135611102816110a2565b91506060850135611112816110a2565b939692955090935050565b6000806040838503121561113057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561115757600080fd5b8535611162816110a2565b9450602086013593506040860135611179816110a2565b92506060860135611189816110a2565b91506080860135611199816110a2565b809150509295509295909350565b6000602082840312156111b957600080fd5b813561094e816110a2565b60005b838110156111df5781810151838201526020016111c7565b838111156111ee576000848401525b50505050565b6000815180845261120c8160208601602086016111c4565b601f01601f19169290920160200192915050565b60208152600061091d60208301846111f4565b600080600080600060a0868803121561124b57600080fd5b85359450602086013593506040860135611179816110a2565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261128b57600080fd5b813567ffffffffffffffff808211156112a6576112a6611264565b604051601f8301601f19908116603f011681019082821181831017156112ce576112ce611264565b816040528381528660208588010111156112e757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806101408b8d03121561132757600080fd5b6113308b6110ba565b995061133e60208c016110ba565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff8082111561137057600080fd5b61137c8e838f0161127a565b965060c08d013591508082111561139257600080fd5b61139e8e838f0161127a565b955060e08d013594506113b46101008e016110ba565b93506101208d01359150808211156113cb57600080fd5b506113d88d828e0161127a565b9150509295989b9194979a5092959850565b6000602082840312156113fc57600080fd5b81516005811061094e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561143357600080fd5b5051919050565b60006020828403121561144c57600080fd5b8151801515811461094e57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156114845761148461145c565b500390565b60008160001904831182151516156114a3576114a361145c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826114cd576114cd6114a8565b500490565b600082198211156114e5576114e561145c565b500190565b6000826114f9576114f96114a8565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611546838201866111f4565b905082810360e08401526109f181856111f4565b60006020828403121561156c57600080fd5b815161094e816110a2565b60008951611589818460208e016111c4565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516115e681607f8401602089016111c4565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561161c5761161c61145c565b01939250505056fea26469706673582212206ce664b91380318654a3ec63e8688dc98f8727a7885165d89c9ec7e1e23da3f264736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381c6dac21161008c578063919b3edc11610066578063919b3edc14610234578063b4238f4a14610247578063d3b6c0801461025a578063fc0c546a1461026f57600080fd5b806381c6dac2146101c557806387234237146101d85780638e51d6241461022157600080fd5b8063637d89d4116100c8578063637d89d4146101605780636d5433e61461018b5780637709bc781461019e5780637ae2b5c7146101b257600080fd5b80630e7dfb73146100ef578063187adf2e1461011757806357f9edff1461013f575b600080fd5b6101026100fd3660046110ca565b610282565b60405190151581526020015b60405180910390f35b61012a61012536600461111d565b610664565b6040805192835260208301919091520161010e565b61015261014d36600461113f565b610686565b60405190815260200161010e565b600254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61015261019936600461111d565b61090c565b6101026101ac3660046111a7565b3b151590565b6101526101c036600461111d565b610924565b600154610173906001600160a01b031681565b6102146040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161010e9190611220565b61015261022f36600461111d565b610939565b610152610242366004611233565b610958565b600354610173906001600160a01b031681565b61026d610268366004611307565b610a00565b005b600054610173906001600160a01b031681565b600080849050600086866040516020016102b892919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906113ea565b905060028160048111156103645761036461140b565b14806103815750600381600481111561037f5761037f61140b565b145b8061039d5750600481600481111561039b5761039b61140b565b145b6103ee5760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611421565b90504281106104ab5760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c65642079657400000000000000000060448201526064016103e5565b600083815260046020526040902060028101546001600160a01b031661050b5760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b60448201526064016103e5565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af115801561056f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610593919061143a565b6105d65760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b60448201526064016103e5565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106765760008461067b565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f5919061143a565b61073a5760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064016103e5565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b791906113ea565b905060028160048111156107cd576107cd61140b565b1461080f5760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b60448201526064016103e5565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa158015610857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087b9190611421565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611421565b905060006108ef8284611472565b90506108fe81838a8a8a610958565b9a9950505050505050505050565b600081831161091b578161091d565b825b9392505050565b6000818311610933578261091d565b50919050565b60008282018381101561094e57600019610950565b805b949350505050565b6000601e605082606461096b8985611489565b61097591906114be565b61097f908a6114d2565b905060006064896109908686611472565b61099a9190611489565b6109a491906114be565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b03166109d191906114d2565b6109db91906114d2565b6109e591906114ea565b90506109f181846114d2565b9b9a5050505050505050505050565b610a10828b8b868b338a88610bab565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611421565b9050610a9682828e8e33610686565b421015610ade5760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b60448201526064016103e5565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b189897969594939291906114fe565b600060405180830381600087803b158015610b3257600080fd5b505af1158015610b46573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c14919061155a565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061155a565b6001600160a01b031614610cd65760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b60448201526064016103e5565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c9190611421565b90506000610d5d8c8b888c89610ed0565b9050896001600160a01b0316816001600160a01b031614610db35760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b60448201526064016103e5565b6000828d604051602001610de392919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610e4c5760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b60448201526064016103e5565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610f28989796959493929190611577565b604051602081830303815290604052805190602001209050610f4a8184610fcf565b9150856001600160a01b0316826001600160a01b031614610fc55760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b60648201526084016103e5565b5095945050505050565b60008151604114610fdf57600080fd5b60208201516040830151606084015160001a601b81101561100857611005601b826115ff565b90505b8060ff16601b148061101d57508060ff16601c145b61102657600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661109957600080fd5b50505092915050565b6001600160a01b03811681146110b757600080fd5b50565b80356110c5816110a2565b919050565b600080600080608085870312156110e057600080fd5b8435935060208501356110f2816110a2565b92506040850135611102816110a2565b91506060850135611112816110a2565b939692955090935050565b6000806040838503121561113057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561115757600080fd5b8535611162816110a2565b9450602086013593506040860135611179816110a2565b92506060860135611189816110a2565b91506080860135611199816110a2565b809150509295509295909350565b6000602082840312156111b957600080fd5b813561094e816110a2565b60005b838110156111df5781810151838201526020016111c7565b838111156111ee576000848401525b50505050565b6000815180845261120c8160208601602086016111c4565b601f01601f19169290920160200192915050565b60208152600061091d60208301846111f4565b600080600080600060a0868803121561124b57600080fd5b85359450602086013593506040860135611179816110a2565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261128b57600080fd5b813567ffffffffffffffff808211156112a6576112a6611264565b604051601f8301601f19908116603f011681019082821181831017156112ce576112ce611264565b816040528381528660208588010111156112e757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806101408b8d03121561132757600080fd5b6113308b6110ba565b995061133e60208c016110ba565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff8082111561137057600080fd5b61137c8e838f0161127a565b965060c08d013591508082111561139257600080fd5b61139e8e838f0161127a565b955060e08d013594506113b46101008e016110ba565b93506101208d01359150808211156113cb57600080fd5b506113d88d828e0161127a565b9150509295989b9194979a5092959850565b6000602082840312156113fc57600080fd5b81516005811061094e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561143357600080fd5b5051919050565b60006020828403121561144c57600080fd5b8151801515811461094e57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156114845761148461145c565b500390565b60008160001904831182151516156114a3576114a361145c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826114cd576114cd6114a8565b500490565b600082198211156114e5576114e561145c565b500190565b6000826114f9576114f96114a8565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611546838201866111f4565b905082810360e08401526109f181856111f4565b60006020828403121561156c57600080fd5b815161094e816110a2565b60008951611589818460208e016111c4565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516115e681607f8401602089016111c4565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561161c5761161c61145c565b01939250505056fea26469706673582212206ce664b91380318654a3ec63e8688dc98f8727a7885165d89c9ec7e1e23da3f264736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_udc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"closed_at_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"participant1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"participant2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TokenNetwork\",\"name\":\"token_network\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitorChannel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"internalType\":\"contract TokenNetworkRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"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\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"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.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"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\":{\"notice\":\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/MonitoringService.sol\":\"MonitoringService\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0x7ec5c96e6b75b7efc6a36b1771aef70529cd0d121b647757c11b32a6cb24865c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76c470eed11d84321249c5bb1db910b3700fddac0ffb3d4bb9087caa84cc3a6\",\"dweb:/ipfs/QmZeY5TovXHmrrHpwscN4y4V6gPwUzvPQN3gNxmpt3sNzz\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x2c163948739aa8310442cfa9c738cb76af3a69af858ad4369f530aa46c76611b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b92d1e966db84f935bb639098e9e3fcc599a5320b2b3b6e16f2e909e604c3279\",\"dweb:/ipfs/QmNQFUrwK6664pGnztQQSSVVjicCKDDgAeVxVpNKvp9YpN\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x90942af7781be52e2c8bbf4b0c9e1f619088e11ef0ccd7d5466a940207b32c9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef14eadd4cc594927c2edcb070e475e26e62ba8c5d47c1fd1ff591c5d6d56aba\",\"dweb:/ipfs/QmZHgmE4dVHBDtpAwrkgQp7yxeHwjrSkTcYueSJiRzGWpM\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x86db8855f31c049bf57040160377d0213ad9cedcdb59a028d26935d1e4faaf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14fb3b9ef9e0d1fbeaf3e4974b93314cda1d0bd3a9e611b8bd81872f595a850\",\"dweb:/ipfs/QmUqPqtEPknn9kiFZ6xpUzq1mNdC2G9thPxri7EoaYd1UQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]}},\"version\":1}"
+            "bin": "60806040523480156200001157600080fd5b5060405162001a6538038062001a65833981016040819052620000349162000384565b6001600160a01b038416620000905760405162461bcd60e51b815260206004820152601560248201527f546f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038316620000e85760405162461bcd60e51b815260206004820152601f60248201527f5365727669636552656769737472792061742061646472657373207a65726f00604482015260640162000087565b6001600160a01b038216620001405760405162461bcd60e51b815260206004820152601360248201527f5544432061742061646472657373207a65726f00000000000000000000000000604482015260640162000087565b833b620001845760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b604482015260640162000087565b823b620001d45760405162461bcd60e51b815260206004820152601b60248201527f53657276696365526567697374727920686173206e6f20636f64650000000000604482015260640162000087565b813b620002165760405162461bcd60e51b815260206004820152600f60248201526e55444320686173206e6f20636f646560881b604482015260640162000087565b803b620002665760405162461bcd60e51b815260206004820181905260248201527f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f6465604482015260640162000087565b600080546001600160a01b03199081166001600160a01b0387811691821784556001805484168883161790556002805484168783161790556003805490931690851617909155604080516318160ddd60e01b815290516318160ddd916004808201926020929091908290030181865afa158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e9190620003e1565b116200035d5760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2077697468207a65726f20746f74616c20737570706c7900000000604482015260640162000087565b50505050620003fb565b80516001600160a01b03811681146200037f57600080fd5b919050565b600080600080608085870312156200039b57600080fd5b620003a68562000367565b9350620003b66020860162000367565b9250620003c66040860162000367565b9150620003d66060860162000367565b905092959194509250565b600060208284031215620003f457600080fd5b5051919050565b61165a806200040b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381c6dac21161008c578063919b3edc11610066578063919b3edc14610234578063b4238f4a14610247578063d3b6c0801461025a578063fc0c546a1461026f57600080fd5b806381c6dac2146101c557806387234237146101d85780638e51d6241461022157600080fd5b8063637d89d4116100c8578063637d89d4146101605780636d5433e61461018b5780637709bc781461019e5780637ae2b5c7146101b257600080fd5b80630e7dfb73146100ef578063187adf2e1461011757806357f9edff1461013f575b600080fd5b6101026100fd3660046110ca565b610282565b60405190151581526020015b60405180910390f35b61012a61012536600461111d565b610664565b6040805192835260208301919091520161010e565b61015261014d36600461113f565b610686565b60405190815260200161010e565b600254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61015261019936600461111d565b61090c565b6101026101ac3660046111a7565b3b151590565b6101526101c036600461111d565b610924565b600154610173906001600160a01b031681565b6102146040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161010e9190611220565b61015261022f36600461111d565b610939565b610152610242366004611233565b610958565b600354610173906001600160a01b031681565b61026d610268366004611307565b610a00565b005b600054610173906001600160a01b031681565b600080849050600086866040516020016102b892919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906113ea565b905060028160048111156103645761036461140b565b14806103815750600381600481111561037f5761037f61140b565b145b8061039d5750600481600481111561039b5761039b61140b565b145b6103ee5760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611421565b90504281106104ab5760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c65642079657400000000000000000060448201526064016103e5565b600083815260046020526040902060028101546001600160a01b031661050b5760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b60448201526064016103e5565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af115801561056f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610593919061143a565b6105d65760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b60448201526064016103e5565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106765760008461067b565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f5919061143a565b61073a5760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064016103e5565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b791906113ea565b905060028160048111156107cd576107cd61140b565b1461080f5760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b60448201526064016103e5565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa158015610857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087b9190611421565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611421565b905060006108ef8284611472565b90506108fe81838a8a8a610958565b9a9950505050505050505050565b600081831161091b578161091d565b825b9392505050565b6000818311610933578261091d565b50919050565b60008282018381101561094e57600019610950565b805b949350505050565b6000601e605082606461096b8985611489565b61097591906114be565b61097f908a6114d2565b905060006064896109908686611472565b61099a9190611489565b6109a491906114be565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b03166109d191906114d2565b6109db91906114d2565b6109e591906114ea565b90506109f181846114d2565b9b9a5050505050505050505050565b610a10828b8b868b338a88610bab565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611421565b9050610a9682828e8e33610686565b421015610ade5760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b60448201526064016103e5565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b189897969594939291906114fe565b600060405180830381600087803b158015610b3257600080fd5b505af1158015610b46573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c14919061155a565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061155a565b6001600160a01b031614610cd65760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b60448201526064016103e5565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c9190611421565b90506000610d5d8c8b888c89610ed0565b9050896001600160a01b0316816001600160a01b031614610db35760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b60448201526064016103e5565b6000828d604051602001610de392919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610e4c5760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b60448201526064016103e5565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610f28989796959493929190611577565b604051602081830303815290604052805190602001209050610f4a8184610fcf565b9150856001600160a01b0316826001600160a01b031614610fc55760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b60648201526084016103e5565b5095945050505050565b60008151604114610fdf57600080fd5b60208201516040830151606084015160001a601b81101561100857611005601b826115ff565b90505b8060ff16601b148061101d57508060ff16601c145b61102657600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661109957600080fd5b50505092915050565b6001600160a01b03811681146110b757600080fd5b50565b80356110c5816110a2565b919050565b600080600080608085870312156110e057600080fd5b8435935060208501356110f2816110a2565b92506040850135611102816110a2565b91506060850135611112816110a2565b939692955090935050565b6000806040838503121561113057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561115757600080fd5b8535611162816110a2565b9450602086013593506040860135611179816110a2565b92506060860135611189816110a2565b91506080860135611199816110a2565b809150509295509295909350565b6000602082840312156111b957600080fd5b813561094e816110a2565b60005b838110156111df5781810151838201526020016111c7565b838111156111ee576000848401525b50505050565b6000815180845261120c8160208601602086016111c4565b601f01601f19169290920160200192915050565b60208152600061091d60208301846111f4565b600080600080600060a0868803121561124b57600080fd5b85359450602086013593506040860135611179816110a2565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261128b57600080fd5b813567ffffffffffffffff808211156112a6576112a6611264565b604051601f8301601f19908116603f011681019082821181831017156112ce576112ce611264565b816040528381528660208588010111156112e757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806101408b8d03121561132757600080fd5b6113308b6110ba565b995061133e60208c016110ba565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff8082111561137057600080fd5b61137c8e838f0161127a565b965060c08d013591508082111561139257600080fd5b61139e8e838f0161127a565b955060e08d013594506113b46101008e016110ba565b93506101208d01359150808211156113cb57600080fd5b506113d88d828e0161127a565b9150509295989b9194979a5092959850565b6000602082840312156113fc57600080fd5b81516005811061094e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561143357600080fd5b5051919050565b60006020828403121561144c57600080fd5b8151801515811461094e57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156114845761148461145c565b500390565b60008160001904831182151516156114a3576114a361145c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826114cd576114cd6114a8565b500490565b600082198211156114e5576114e561145c565b500190565b6000826114f9576114f96114a8565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611546838201866111f4565b905082810360e08401526109f181856111f4565b60006020828403121561156c57600080fd5b815161094e816110a2565b60008951611589818460208e016111c4565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516115e681607f8401602089016111c4565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561161c5761161c61145c565b01939250505056fea2646970667358221220485bada5e754c96880662eba54e1ace72d823c29f5387f72df9cd857f2142ff864736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381c6dac21161008c578063919b3edc11610066578063919b3edc14610234578063b4238f4a14610247578063d3b6c0801461025a578063fc0c546a1461026f57600080fd5b806381c6dac2146101c557806387234237146101d85780638e51d6241461022157600080fd5b8063637d89d4116100c8578063637d89d4146101605780636d5433e61461018b5780637709bc781461019e5780637ae2b5c7146101b257600080fd5b80630e7dfb73146100ef578063187adf2e1461011757806357f9edff1461013f575b600080fd5b6101026100fd3660046110ca565b610282565b60405190151581526020015b60405180910390f35b61012a61012536600461111d565b610664565b6040805192835260208301919091520161010e565b61015261014d36600461113f565b610686565b60405190815260200161010e565b600254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61015261019936600461111d565b61090c565b6101026101ac3660046111a7565b3b151590565b6101526101c036600461111d565b610924565b600154610173906001600160a01b031681565b6102146040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161010e9190611220565b61015261022f36600461111d565b610939565b610152610242366004611233565b610958565b600354610173906001600160a01b031681565b61026d610268366004611307565b610a00565b005b600054610173906001600160a01b031681565b600080849050600086866040516020016102b892919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906113ea565b905060028160048111156103645761036461140b565b14806103815750600381600481111561037f5761037f61140b565b145b8061039d5750600481600481111561039b5761039b61140b565b145b6103ee5760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611421565b90504281106104ab5760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c65642079657400000000000000000060448201526064016103e5565b600083815260046020526040902060028101546001600160a01b031661050b5760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b60448201526064016103e5565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af115801561056f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610593919061143a565b6105d65760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b60448201526064016103e5565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106765760008461067b565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f5919061143a565b61073a5760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064016103e5565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b791906113ea565b905060028160048111156107cd576107cd61140b565b1461080f5760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b60448201526064016103e5565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa158015610857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087b9190611421565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611421565b905060006108ef8284611472565b90506108fe81838a8a8a610958565b9a9950505050505050505050565b600081831161091b578161091d565b825b9392505050565b6000818311610933578261091d565b50919050565b60008282018381101561094e57600019610950565b805b949350505050565b6000601e605082606461096b8985611489565b61097591906114be565b61097f908a6114d2565b905060006064896109908686611472565b61099a9190611489565b6109a491906114be565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b03166109d191906114d2565b6109db91906114d2565b6109e591906114ea565b90506109f181846114d2565b9b9a5050505050505050505050565b610a10828b8b868b338a88610bab565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611421565b9050610a9682828e8e33610686565b421015610ade5760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b60448201526064016103e5565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b189897969594939291906114fe565b600060405180830381600087803b158015610b3257600080fd5b505af1158015610b46573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c14919061155a565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061155a565b6001600160a01b031614610cd65760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b60448201526064016103e5565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c9190611421565b90506000610d5d8c8b888c89610ed0565b9050896001600160a01b0316816001600160a01b031614610db35760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b60448201526064016103e5565b6000828d604051602001610de392919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610e4c5760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b60448201526064016103e5565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610f28989796959493929190611577565b604051602081830303815290604052805190602001209050610f4a8184610fcf565b9150856001600160a01b0316826001600160a01b031614610fc55760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b60648201526084016103e5565b5095945050505050565b60008151604114610fdf57600080fd5b60208201516040830151606084015160001a601b81101561100857611005601b826115ff565b90505b8060ff16601b148061101d57508060ff16601c145b61102657600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661109957600080fd5b50505092915050565b6001600160a01b03811681146110b757600080fd5b50565b80356110c5816110a2565b919050565b600080600080608085870312156110e057600080fd5b8435935060208501356110f2816110a2565b92506040850135611102816110a2565b91506060850135611112816110a2565b939692955090935050565b6000806040838503121561113057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561115757600080fd5b8535611162816110a2565b9450602086013593506040860135611179816110a2565b92506060860135611189816110a2565b91506080860135611199816110a2565b809150509295509295909350565b6000602082840312156111b957600080fd5b813561094e816110a2565b60005b838110156111df5781810151838201526020016111c7565b838111156111ee576000848401525b50505050565b6000815180845261120c8160208601602086016111c4565b601f01601f19169290920160200192915050565b60208152600061091d60208301846111f4565b600080600080600060a0868803121561124b57600080fd5b85359450602086013593506040860135611179816110a2565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261128b57600080fd5b813567ffffffffffffffff808211156112a6576112a6611264565b604051601f8301601f19908116603f011681019082821181831017156112ce576112ce611264565b816040528381528660208588010111156112e757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806101408b8d03121561132757600080fd5b6113308b6110ba565b995061133e60208c016110ba565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff8082111561137057600080fd5b61137c8e838f0161127a565b965060c08d013591508082111561139257600080fd5b61139e8e838f0161127a565b955060e08d013594506113b46101008e016110ba565b93506101208d01359150808211156113cb57600080fd5b506113d88d828e0161127a565b9150509295989b9194979a5092959850565b6000602082840312156113fc57600080fd5b81516005811061094e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561143357600080fd5b5051919050565b60006020828403121561144c57600080fd5b8151801515811461094e57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156114845761148461145c565b500390565b60008160001904831182151516156114a3576114a361145c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826114cd576114cd6114a8565b500490565b600082198211156114e5576114e561145c565b500190565b6000826114f9576114f96114a8565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611546838201866111f4565b905082810360e08401526109f181856111f4565b60006020828403121561156c57600080fd5b815161094e816110a2565b60008951611589818460208e016111c4565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516115e681607f8401602089016111c4565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561161c5761161c61145c565b01939250505056fea2646970667358221220485bada5e754c96880662eba54e1ace72d823c29f5387f72df9cd857f2142ff864736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_udc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"closed_at_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"participant1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"participant2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TokenNetwork\",\"name\":\"token_network\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitorChannel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"internalType\":\"contract TokenNetworkRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"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\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"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.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"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\":{\"notice\":\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/MonitoringService.sol\":\"MonitoringService\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0x7ec5c96e6b75b7efc6a36b1771aef70529cd0d121b647757c11b32a6cb24865c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76c470eed11d84321249c5bb1db910b3700fddac0ffb3d4bb9087caa84cc3a6\",\"dweb:/ipfs/QmZeY5TovXHmrrHpwscN4y4V6gPwUzvPQN3gNxmpt3sNzz\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x2c163948739aa8310442cfa9c738cb76af3a69af858ad4369f530aa46c76611b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b92d1e966db84f935bb639098e9e3fcc599a5320b2b3b6e16f2e909e604c3279\",\"dweb:/ipfs/QmNQFUrwK6664pGnztQQSSVVjicCKDDgAeVxVpNKvp9YpN\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x90942af7781be52e2c8bbf4b0c9e1f619088e11ef0ccd7d5466a940207b32c9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef14eadd4cc594927c2edcb070e475e26e62ba8c5d47c1fd1ff591c5d6d56aba\",\"dweb:/ipfs/QmZHgmE4dVHBDtpAwrkgQp7yxeHwjrSkTcYueSJiRzGWpM\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x86db8855f31c049bf57040160377d0213ad9cedcdb59a028d26935d1e4faaf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14fb3b9ef9e0d1fbeaf3e4974b93314cda1d0bd3a9e611b8bd81872f595a850\",\"dweb:/ipfs/QmUqPqtEPknn9kiFZ6xpUzq1mNdC2G9thPxri7EoaYd1UQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]}},\"version\":1}"
         },
         "MonitoringServiceInternalsTest": {
             "abi": [
@@ -1856,9 +1856,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "60806040523480156200001157600080fd5b5060405162001c7838038062001c7883398101604081905262000034916200038c565b838383836001600160a01b038416620000945760405162461bcd60e51b815260206004820152601560248201527f546f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038316620000ec5760405162461bcd60e51b815260206004820152601f60248201527f5365727669636552656769737472792061742061646472657373207a65726f0060448201526064016200008b565b6001600160a01b038216620001445760405162461bcd60e51b815260206004820152601360248201527f5544432061742061646472657373207a65726f0000000000000000000000000060448201526064016200008b565b833b620001885760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b60448201526064016200008b565b823b620001d85760405162461bcd60e51b815260206004820152601b60248201527f53657276696365526567697374727920686173206e6f20636f6465000000000060448201526064016200008b565b813b6200021a5760405162461bcd60e51b815260206004820152600f60248201526e55444320686173206e6f20636f646560881b60448201526064016200008b565b803b6200026a5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646560448201526064016200008b565b600080546001600160a01b03199081166001600160a01b0387811691821784556001805484168883161790556002805484168783161790556003805490931690851617909155604080516318160ddd60e01b815290516318160ddd916004808201926020929091908290030181865afa158015620002ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003129190620003e9565b11620003615760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000060448201526064016200008b565b505050505050505062000403565b80516001600160a01b03811681146200038757600080fd5b919050565b60008060008060808587031215620003a357600080fd5b620003ae856200036f565b9350620003be602086016200036f565b9250620003ce604086016200036f565b9150620003de606086016200036f565b905092959194509250565b600060208284031215620003fc57600080fd5b5051919050565b61186580620004136000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806381c6dac2116100a2578063b4238f4a11610071578063b4238f4a1461027d578063d3b6c08014610290578063d46db948146102a3578063dcf13767146102b6578063fc0c546a146102d957600080fd5b806381c6dac2146101fb578063872342371461020e5780638e51d62414610257578063919b3edc1461026a57600080fd5b80636a83a948116100de5780636a83a948146101ac5780636d5433e6146101c15780637709bc78146101d45780637ae2b5c7146101e857600080fd5b80630e7dfb7314610110578063187adf2e1461013857806357f9edff14610160578063637d89d414610181575b600080fd5b61012361011e366004611167565b6102ec565b60405190151581526020015b60405180910390f35b61014b6101463660046111ba565b6106ce565b6040805192835260208301919091520161012f565b61017361016e3660046111dc565b6106f0565b60405190815260200161012f565b600254610194906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101bf6101ba3660046112e7565b610976565b005b6101736101cf3660046111ba565b610990565b6101236101e23660046113a9565b3b151590565b6101736101f63660046111ba565b6109a8565b600154610194906001600160a01b031681565b61024a6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161012f9190611422565b6101736102653660046111ba565b6109bd565b610173610278366004611435565b6109dc565b600354610194906001600160a01b031681565b6101bf61029e366004611466565b610a84565b6101946102b1366004611549565b610c2f565b6101736102c43660046115dc565b60009081526004602052604090206001015490565b600054610194906001600160a01b031681565b6000808490506000868660405160200161032292919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa158015610394573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b891906115f5565b905060028160048111156103ce576103ce611616565b14806103eb575060038160048111156103e9576103e9611616565b145b806104075750600481600481111561040557610405611616565b145b6104585760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa1580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c4919061162c565b90504281106105155760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c656420796574000000000000000000604482015260640161044f565b600083815260046020526040902060028101546001600160a01b03166105755760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b604482015260640161044f565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611645565b6106405760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b604482015260640161044f565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106e0576000846106e5565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611645565b6107a45760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b604482015260640161044f565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115f5565b9050600281600481111561083757610837611616565b146108795760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b604482015260640161044f565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e5919061162c565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b919061162c565b90506000610959828461167d565b905061096881838a8a8a6109dc565b9a9950505050505050505050565b6109868888888888888888610c48565b5050505050505050565b600081831161099f57816109a1565b825b9392505050565b60008183116109b757826109a1565b50919050565b6000828201838110156109d2576000196109d4565b805b949350505050565b6000601e60508260646109ef8985611694565b6109f991906116c9565b610a03908a6116dd565b90506000606489610a14868661167d565b610a1e9190611694565b610a2891906116c9565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b0316610a5591906116dd565b610a5f91906116dd565b610a6991906116f5565b9050610a7581846116dd565b9b9a5050505050505050505050565b610a94828b8b868b338a88610c48565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061162c565b9050610b1a82828e8e336106f0565b421015610b625760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b604482015260640161044f565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b9c989796959493929190611709565b600060405180830381600087803b158015610bb657600080fd5b505af1158015610bca573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b6000610c3e8686868686610f6d565b9695505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611765565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611765565b6001600160a01b031614610d735760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b604482015260640161044f565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061162c565b90506000610dfa8c8b888c89610f6d565b9050896001600160a01b0316816001600160a01b031614610e505760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b604482015260640161044f565b6000828d604051602001610e8092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610ee95760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b604482015260640161044f565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610fc5989796959493929190611782565b604051602081830303815290604052805190602001209050610fe7818461106c565b9150856001600160a01b0316826001600160a01b0316146110625760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b606482015260840161044f565b5095945050505050565b6000815160411461107c57600080fd5b60208201516040830151606084015160001a601b8110156110a5576110a2601b8261180a565b90505b8060ff16601b14806110ba57508060ff16601c145b6110c357600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611116573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661113657600080fd5b50505092915050565b6001600160a01b038116811461115457600080fd5b50565b80356111628161113f565b919050565b6000806000806080858703121561117d57600080fd5b84359350602085013561118f8161113f565b9250604085013561119f8161113f565b915060608501356111af8161113f565b939692955090935050565b600080604083850312156111cd57600080fd5b50508035926020909101359150565b600080600080600060a086880312156111f457600080fd5b85356111ff8161113f565b94506020860135935060408601356112168161113f565b925060608601356112268161113f565b915060808601356112368161113f565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126b57600080fd5b813567ffffffffffffffff8082111561128657611286611244565b604051601f8301601f19908116603f011681019082821181831017156112ae576112ae611244565b816040528381528660208588010111156112c757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b03121561130457600080fd5b883561130f8161113f565b9750602089013561131f8161113f565b9650604089013561132f8161113f565b9550606089013594506080890135935060a089013561134d8161113f565b925060c089013567ffffffffffffffff8082111561136a57600080fd5b6113768c838d0161125a565b935060e08b013591508082111561138c57600080fd5b506113998b828c0161125a565b9150509295985092959890939650565b6000602082840312156113bb57600080fd5b81356109d28161113f565b60005b838110156113e15781810151838201526020016113c9565b838111156113f0576000848401525b50505050565b6000815180845261140e8160208601602086016113c6565b601f01601f19169290920160200192915050565b6020815260006109a160208301846113f6565b600080600080600060a0868803121561144d57600080fd5b853594506020860135935060408601356112168161113f565b6000806000806000806000806000806101408b8d03121561148657600080fd5b61148f8b611157565b995061149d60208c01611157565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff808211156114cf57600080fd5b6114db8e838f0161125a565b965060c08d01359150808211156114f157600080fd5b6114fd8e838f0161125a565b955060e08d013594506115136101008e01611157565b93506101208d013591508082111561152a57600080fd5b506115378d828e0161125a565b9150509295989b9194979a5092959850565b600080600080600060a0868803121561156157600080fd5b853561156c8161113f565b9450602086013561157c8161113f565b9350604086013567ffffffffffffffff8082111561159957600080fd5b6115a589838a0161125a565b94506060880135935060808801359150808211156115c257600080fd5b506115cf8882890161125a565b9150509295509295909350565b6000602082840312156115ee57600080fd5b5035919050565b60006020828403121561160757600080fd5b8151600581106109d257600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561163e57600080fd5b5051919050565b60006020828403121561165757600080fd5b815180151581146109d257600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561168f5761168f611667565b500390565b60008160001904831182151516156116ae576116ae611667565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826116d8576116d86116b3565b500490565b600082198211156116f0576116f0611667565b500190565b600082611704576117046116b3565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611751838201866113f6565b905082810360e0840152610a7581856113f6565b60006020828403121561177757600080fd5b81516109d28161113f565b60008951611794818460208e016113c6565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516117f181607f8401602089016113c6565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561182757611827611667565b01939250505056fea2646970667358221220d422a8a53ce677e5e38dbf1d22e09db02a4b3f93f00b4dee349787cab7df9bda64736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b506004361061010b5760003560e01c806381c6dac2116100a2578063b4238f4a11610071578063b4238f4a1461027d578063d3b6c08014610290578063d46db948146102a3578063dcf13767146102b6578063fc0c546a146102d957600080fd5b806381c6dac2146101fb578063872342371461020e5780638e51d62414610257578063919b3edc1461026a57600080fd5b80636a83a948116100de5780636a83a948146101ac5780636d5433e6146101c15780637709bc78146101d45780637ae2b5c7146101e857600080fd5b80630e7dfb7314610110578063187adf2e1461013857806357f9edff14610160578063637d89d414610181575b600080fd5b61012361011e366004611167565b6102ec565b60405190151581526020015b60405180910390f35b61014b6101463660046111ba565b6106ce565b6040805192835260208301919091520161012f565b61017361016e3660046111dc565b6106f0565b60405190815260200161012f565b600254610194906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101bf6101ba3660046112e7565b610976565b005b6101736101cf3660046111ba565b610990565b6101236101e23660046113a9565b3b151590565b6101736101f63660046111ba565b6109a8565b600154610194906001600160a01b031681565b61024a6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161012f9190611422565b6101736102653660046111ba565b6109bd565b610173610278366004611435565b6109dc565b600354610194906001600160a01b031681565b6101bf61029e366004611466565b610a84565b6101946102b1366004611549565b610c2f565b6101736102c43660046115dc565b60009081526004602052604090206001015490565b600054610194906001600160a01b031681565b6000808490506000868660405160200161032292919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa158015610394573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b891906115f5565b905060028160048111156103ce576103ce611616565b14806103eb575060038160048111156103e9576103e9611616565b145b806104075750600481600481111561040557610405611616565b145b6104585760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa1580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c4919061162c565b90504281106105155760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c656420796574000000000000000000604482015260640161044f565b600083815260046020526040902060028101546001600160a01b03166105755760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b604482015260640161044f565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611645565b6106405760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b604482015260640161044f565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106e0576000846106e5565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611645565b6107a45760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b604482015260640161044f565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115f5565b9050600281600481111561083757610837611616565b146108795760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b604482015260640161044f565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e5919061162c565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b919061162c565b90506000610959828461167d565b905061096881838a8a8a6109dc565b9a9950505050505050505050565b6109868888888888888888610c48565b5050505050505050565b600081831161099f57816109a1565b825b9392505050565b60008183116109b757826109a1565b50919050565b6000828201838110156109d2576000196109d4565b805b949350505050565b6000601e60508260646109ef8985611694565b6109f991906116c9565b610a03908a6116dd565b90506000606489610a14868661167d565b610a1e9190611694565b610a2891906116c9565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b0316610a5591906116dd565b610a5f91906116dd565b610a6991906116f5565b9050610a7581846116dd565b9b9a5050505050505050505050565b610a94828b8b868b338a88610c48565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061162c565b9050610b1a82828e8e336106f0565b421015610b625760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b604482015260640161044f565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b9c989796959493929190611709565b600060405180830381600087803b158015610bb657600080fd5b505af1158015610bca573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b6000610c3e8686868686610f6d565b9695505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611765565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611765565b6001600160a01b031614610d735760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b604482015260640161044f565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061162c565b90506000610dfa8c8b888c89610f6d565b9050896001600160a01b0316816001600160a01b031614610e505760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b604482015260640161044f565b6000828d604051602001610e8092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610ee95760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b604482015260640161044f565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610fc5989796959493929190611782565b604051602081830303815290604052805190602001209050610fe7818461106c565b9150856001600160a01b0316826001600160a01b0316146110625760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b606482015260840161044f565b5095945050505050565b6000815160411461107c57600080fd5b60208201516040830151606084015160001a601b8110156110a5576110a2601b8261180a565b90505b8060ff16601b14806110ba57508060ff16601c145b6110c357600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611116573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661113657600080fd5b50505092915050565b6001600160a01b038116811461115457600080fd5b50565b80356111628161113f565b919050565b6000806000806080858703121561117d57600080fd5b84359350602085013561118f8161113f565b9250604085013561119f8161113f565b915060608501356111af8161113f565b939692955090935050565b600080604083850312156111cd57600080fd5b50508035926020909101359150565b600080600080600060a086880312156111f457600080fd5b85356111ff8161113f565b94506020860135935060408601356112168161113f565b925060608601356112268161113f565b915060808601356112368161113f565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126b57600080fd5b813567ffffffffffffffff8082111561128657611286611244565b604051601f8301601f19908116603f011681019082821181831017156112ae576112ae611244565b816040528381528660208588010111156112c757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b03121561130457600080fd5b883561130f8161113f565b9750602089013561131f8161113f565b9650604089013561132f8161113f565b9550606089013594506080890135935060a089013561134d8161113f565b925060c089013567ffffffffffffffff8082111561136a57600080fd5b6113768c838d0161125a565b935060e08b013591508082111561138c57600080fd5b506113998b828c0161125a565b9150509295985092959890939650565b6000602082840312156113bb57600080fd5b81356109d28161113f565b60005b838110156113e15781810151838201526020016113c9565b838111156113f0576000848401525b50505050565b6000815180845261140e8160208601602086016113c6565b601f01601f19169290920160200192915050565b6020815260006109a160208301846113f6565b600080600080600060a0868803121561144d57600080fd5b853594506020860135935060408601356112168161113f565b6000806000806000806000806000806101408b8d03121561148657600080fd5b61148f8b611157565b995061149d60208c01611157565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff808211156114cf57600080fd5b6114db8e838f0161125a565b965060c08d01359150808211156114f157600080fd5b6114fd8e838f0161125a565b955060e08d013594506115136101008e01611157565b93506101208d013591508082111561152a57600080fd5b506115378d828e0161125a565b9150509295989b9194979a5092959850565b600080600080600060a0868803121561156157600080fd5b853561156c8161113f565b9450602086013561157c8161113f565b9350604086013567ffffffffffffffff8082111561159957600080fd5b6115a589838a0161125a565b94506060880135935060808801359150808211156115c257600080fd5b506115cf8882890161125a565b9150509295509295909350565b6000602082840312156115ee57600080fd5b5035919050565b60006020828403121561160757600080fd5b8151600581106109d257600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561163e57600080fd5b5051919050565b60006020828403121561165757600080fd5b815180151581146109d257600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561168f5761168f611667565b500390565b60008160001904831182151516156116ae576116ae611667565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826116d8576116d86116b3565b500490565b600082198211156116f0576116f0611667565b500190565b600082611704576117046116b3565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611751838201866113f6565b905082810360e0840152610a7581856113f6565b60006020828403121561177757600080fd5b81516109d28161113f565b60008951611794818460208e016113c6565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516117f181607f8401602089016113c6565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561182757611827611667565b01939250505056fea2646970667358221220d422a8a53ce677e5e38dbf1d22e09db02a4b3f93f00b4dee349787cab7df9bda64736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_udc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"closed_at_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"participant1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"participant2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TokenNetwork\",\"name\":\"token_network\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitorChannel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"recoverAddressFromRewardProofPublic\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signature_address\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"rewardNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"internalType\":\"contract TokenNetworkRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"updateRewardPublic\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"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\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"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.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/MonitoringServiceInternalsTest.sol\":\"MonitoringServiceInternalsTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0x7ec5c96e6b75b7efc6a36b1771aef70529cd0d121b647757c11b32a6cb24865c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76c470eed11d84321249c5bb1db910b3700fddac0ffb3d4bb9087caa84cc3a6\",\"dweb:/ipfs/QmZeY5TovXHmrrHpwscN4y4V6gPwUzvPQN3gNxmpt3sNzz\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x2c163948739aa8310442cfa9c738cb76af3a69af858ad4369f530aa46c76611b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b92d1e966db84f935bb639098e9e3fcc599a5320b2b3b6e16f2e909e604c3279\",\"dweb:/ipfs/QmNQFUrwK6664pGnztQQSSVVjicCKDDgAeVxVpNKvp9YpN\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x90942af7781be52e2c8bbf4b0c9e1f619088e11ef0ccd7d5466a940207b32c9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef14eadd4cc594927c2edcb070e475e26e62ba8c5d47c1fd1ff591c5d6d56aba\",\"dweb:/ipfs/QmZHgmE4dVHBDtpAwrkgQp7yxeHwjrSkTcYueSJiRzGWpM\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x86db8855f31c049bf57040160377d0213ad9cedcdb59a028d26935d1e4faaf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14fb3b9ef9e0d1fbeaf3e4974b93314cda1d0bd3a9e611b8bd81872f595a850\",\"dweb:/ipfs/QmUqPqtEPknn9kiFZ6xpUzq1mNdC2G9thPxri7EoaYd1UQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]},\"data/source/test/MonitoringServiceInternalsTest.sol\":{\"keccak256\":\"0xd125bddab0ab60a5624b023ce2ec5fc36450d35dbd2e8a8dbdfbd0fc1e53e251\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abdb704fb97f0df99c02896c942bf2a4045a639b63a4dedb4ddd8419114d25b3\",\"dweb:/ipfs/QmbT3Kwuz9WsiMM71rgChddmMxEb9pB6t8n8i8mR8ZESWA\"]}},\"version\":1}"
+            "bin": "60806040523480156200001157600080fd5b5060405162001c7838038062001c7883398101604081905262000034916200038c565b838383836001600160a01b038416620000945760405162461bcd60e51b815260206004820152601560248201527f546f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038316620000ec5760405162461bcd60e51b815260206004820152601f60248201527f5365727669636552656769737472792061742061646472657373207a65726f0060448201526064016200008b565b6001600160a01b038216620001445760405162461bcd60e51b815260206004820152601360248201527f5544432061742061646472657373207a65726f0000000000000000000000000060448201526064016200008b565b833b620001885760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b60448201526064016200008b565b823b620001d85760405162461bcd60e51b815260206004820152601b60248201527f53657276696365526567697374727920686173206e6f20636f6465000000000060448201526064016200008b565b813b6200021a5760405162461bcd60e51b815260206004820152600f60248201526e55444320686173206e6f20636f646560881b60448201526064016200008b565b803b6200026a5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e4e6574776f726b526567697374727920686173206e6f20636f646560448201526064016200008b565b600080546001600160a01b03199081166001600160a01b0387811691821784556001805484168883161790556002805484168783161790556003805490931690851617909155604080516318160ddd60e01b815290516318160ddd916004808201926020929091908290030181865afa158015620002ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003129190620003e9565b11620003615760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2077697468207a65726f20746f74616c20737570706c790000000060448201526064016200008b565b505050505050505062000403565b80516001600160a01b03811681146200038757600080fd5b919050565b60008060008060808587031215620003a357600080fd5b620003ae856200036f565b9350620003be602086016200036f565b9250620003ce604086016200036f565b9150620003de606086016200036f565b905092959194509250565b600060208284031215620003fc57600080fd5b5051919050565b61186580620004136000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806381c6dac2116100a2578063b4238f4a11610071578063b4238f4a1461027d578063d3b6c08014610290578063d46db948146102a3578063dcf13767146102b6578063fc0c546a146102d957600080fd5b806381c6dac2146101fb578063872342371461020e5780638e51d62414610257578063919b3edc1461026a57600080fd5b80636a83a948116100de5780636a83a948146101ac5780636d5433e6146101c15780637709bc78146101d45780637ae2b5c7146101e857600080fd5b80630e7dfb7314610110578063187adf2e1461013857806357f9edff14610160578063637d89d414610181575b600080fd5b61012361011e366004611167565b6102ec565b60405190151581526020015b60405180910390f35b61014b6101463660046111ba565b6106ce565b6040805192835260208301919091520161012f565b61017361016e3660046111dc565b6106f0565b60405190815260200161012f565b600254610194906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101bf6101ba3660046112e7565b610976565b005b6101736101cf3660046111ba565b610990565b6101236101e23660046113a9565b3b151590565b6101736101f63660046111ba565b6109a8565b600154610194906001600160a01b031681565b61024a6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161012f9190611422565b6101736102653660046111ba565b6109bd565b610173610278366004611435565b6109dc565b600354610194906001600160a01b031681565b6101bf61029e366004611466565b610a84565b6101946102b1366004611549565b610c2f565b6101736102c43660046115dc565b60009081526004602052604090206001015490565b600054610194906001600160a01b031681565b6000808490506000868660405160200161032292919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa158015610394573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b891906115f5565b905060028160048111156103ce576103ce611616565b14806103eb575060038160048111156103e9576103e9611616565b145b806104075750600481600481111561040557610405611616565b145b6104585760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa1580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c4919061162c565b90504281106105155760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c656420796574000000000000000000604482015260640161044f565b600083815260046020526040902060028101546001600160a01b03166105755760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b604482015260640161044f565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611645565b6106405760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b604482015260640161044f565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106e0576000846106e5565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611645565b6107a45760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b604482015260640161044f565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115f5565b9050600281600481111561083757610837611616565b146108795760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b604482015260640161044f565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e5919061162c565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b919061162c565b90506000610959828461167d565b905061096881838a8a8a6109dc565b9a9950505050505050505050565b6109868888888888888888610c48565b5050505050505050565b600081831161099f57816109a1565b825b9392505050565b60008183116109b757826109a1565b50919050565b6000828201838110156109d2576000196109d4565b805b949350505050565b6000601e60508260646109ef8985611694565b6109f991906116c9565b610a03908a6116dd565b90506000606489610a14868661167d565b610a1e9190611694565b610a2891906116c9565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b0316610a5591906116dd565b610a5f91906116dd565b610a6991906116f5565b9050610a7581846116dd565b9b9a5050505050505050505050565b610a94828b8b868b338a88610c48565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061162c565b9050610b1a82828e8e336106f0565b421015610b625760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b604482015260640161044f565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b9c989796959493929190611709565b600060405180830381600087803b158015610bb657600080fd5b505af1158015610bca573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b6000610c3e8686868686610f6d565b9695505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611765565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611765565b6001600160a01b031614610d735760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b604482015260640161044f565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061162c565b90506000610dfa8c8b888c89610f6d565b9050896001600160a01b0316816001600160a01b031614610e505760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b604482015260640161044f565b6000828d604051602001610e8092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610ee95760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b604482015260640161044f565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610fc5989796959493929190611782565b604051602081830303815290604052805190602001209050610fe7818461106c565b9150856001600160a01b0316826001600160a01b0316146110625760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b606482015260840161044f565b5095945050505050565b6000815160411461107c57600080fd5b60208201516040830151606084015160001a601b8110156110a5576110a2601b8261180a565b90505b8060ff16601b14806110ba57508060ff16601c145b6110c357600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611116573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661113657600080fd5b50505092915050565b6001600160a01b038116811461115457600080fd5b50565b80356111628161113f565b919050565b6000806000806080858703121561117d57600080fd5b84359350602085013561118f8161113f565b9250604085013561119f8161113f565b915060608501356111af8161113f565b939692955090935050565b600080604083850312156111cd57600080fd5b50508035926020909101359150565b600080600080600060a086880312156111f457600080fd5b85356111ff8161113f565b94506020860135935060408601356112168161113f565b925060608601356112268161113f565b915060808601356112368161113f565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126b57600080fd5b813567ffffffffffffffff8082111561128657611286611244565b604051601f8301601f19908116603f011681019082821181831017156112ae576112ae611244565b816040528381528660208588010111156112c757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b03121561130457600080fd5b883561130f8161113f565b9750602089013561131f8161113f565b9650604089013561132f8161113f565b9550606089013594506080890135935060a089013561134d8161113f565b925060c089013567ffffffffffffffff8082111561136a57600080fd5b6113768c838d0161125a565b935060e08b013591508082111561138c57600080fd5b506113998b828c0161125a565b9150509295985092959890939650565b6000602082840312156113bb57600080fd5b81356109d28161113f565b60005b838110156113e15781810151838201526020016113c9565b838111156113f0576000848401525b50505050565b6000815180845261140e8160208601602086016113c6565b601f01601f19169290920160200192915050565b6020815260006109a160208301846113f6565b600080600080600060a0868803121561144d57600080fd5b853594506020860135935060408601356112168161113f565b6000806000806000806000806000806101408b8d03121561148657600080fd5b61148f8b611157565b995061149d60208c01611157565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff808211156114cf57600080fd5b6114db8e838f0161125a565b965060c08d01359150808211156114f157600080fd5b6114fd8e838f0161125a565b955060e08d013594506115136101008e01611157565b93506101208d013591508082111561152a57600080fd5b506115378d828e0161125a565b9150509295989b9194979a5092959850565b600080600080600060a0868803121561156157600080fd5b853561156c8161113f565b9450602086013561157c8161113f565b9350604086013567ffffffffffffffff8082111561159957600080fd5b6115a589838a0161125a565b94506060880135935060808801359150808211156115c257600080fd5b506115cf8882890161125a565b9150509295509295909350565b6000602082840312156115ee57600080fd5b5035919050565b60006020828403121561160757600080fd5b8151600581106109d257600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561163e57600080fd5b5051919050565b60006020828403121561165757600080fd5b815180151581146109d257600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561168f5761168f611667565b500390565b60008160001904831182151516156116ae576116ae611667565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826116d8576116d86116b3565b500490565b600082198211156116f0576116f0611667565b500190565b600082611704576117046116b3565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611751838201866113f6565b905082810360e0840152610a7581856113f6565b60006020828403121561177757600080fd5b81516109d28161113f565b60008951611794818460208e016113c6565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516117f181607f8401602089016113c6565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561182757611827611667565b01939250505056fea2646970667358221220e016c25fe415d325a610dfff2b21370abfc79972c5f498e62159afe0a9be4b0464736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b506004361061010b5760003560e01c806381c6dac2116100a2578063b4238f4a11610071578063b4238f4a1461027d578063d3b6c08014610290578063d46db948146102a3578063dcf13767146102b6578063fc0c546a146102d957600080fd5b806381c6dac2146101fb578063872342371461020e5780638e51d62414610257578063919b3edc1461026a57600080fd5b80636a83a948116100de5780636a83a948146101ac5780636d5433e6146101c15780637709bc78146101d45780637ae2b5c7146101e857600080fd5b80630e7dfb7314610110578063187adf2e1461013857806357f9edff14610160578063637d89d414610181575b600080fd5b61012361011e366004611167565b6102ec565b60405190151581526020015b60405180910390f35b61014b6101463660046111ba565b6106ce565b6040805192835260208301919091520161012f565b61017361016e3660046111dc565b6106f0565b60405190815260200161012f565b600254610194906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101bf6101ba3660046112e7565b610976565b005b6101736101cf3660046111ba565b610990565b6101236101e23660046113a9565b3b151590565b6101736101f63660046111ba565b6109a8565b600154610194906001600160a01b031681565b61024a6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b60405161012f9190611422565b6101736102653660046111ba565b6109bd565b610173610278366004611435565b6109dc565b600354610194906001600160a01b031681565b6101bf61029e366004611466565b610a84565b6101946102b1366004611549565b610c2f565b6101736102c43660046115dc565b60009081526004602052604090206001015490565b600054610194906001600160a01b031681565b6000808490506000868660405160200161032292919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152908290528051602090910120635d929ffb60e11b8252600482018990526001600160a01b03878116602484015286811660448401529092506000919084169063bb253ff690606401602060405180830381865afa158015610394573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b891906115f5565b905060028160048111156103ce576103ce611616565b14806103eb575060038160048111156103e9576103e9611616565b145b806104075750600481600481111561040557610405611616565b145b6104585760405162461bcd60e51b815260206004820152601760248201527f746f6f206561726c79206368616e6e656c20737461746500000000000000000060448201526064015b60405180910390fd5b604051630c2dfc6560e41b8152600481018990526000906001600160a01b0385169063c2dfc65090602401602060405180830381865afa1580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c4919061162c565b90504281106105155760405162461bcd60e51b815260206004820152601760248201527f6368616e6e656c206e6f7420736574746c656420796574000000000000000000604482015260640161044f565b600083815260046020526040902060028101546001600160a01b03166105755760405162461bcd60e51b81526020600482015260156024820152747265776172645f73656e646572206973207a65726f60581b604482015260640161044f565b6002805490820154600383015483546040516317d5759960e31b81526001600160a01b0393841660048201529183166024830152604482015291169063beabacc8906064016020604051808303816000875af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611645565b6106405760405162461bcd60e51b81526020600482015260146024820152732aa221903234b2103737ba103a3930b739b332b960611b604482015260640161044f565b6003810154815460405190815285916001600160a01b0316907fe413caa6d70a6d9b51c2af2575a2914490f614355049af8ae7cde5caab9fd2019060200160405180910390a350505060009081526004602052604081208181556001808201929092556002810180546001600160a01b03199081169091556003909101805490911690559695505050505050565b6000808284116106e0576000846106e5565b828403835b915091509250929050565b60015460405163ebc00c0560e01b81526001600160a01b038381166004830152600092169063ebc00c0590602401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611645565b6107a45760405162461bcd60e51b81526020600482015260166024820152751cd95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b604482015260640161044f565b604051635d929ffb60e11b8152600481018690526001600160a01b03858116602483015284811660448301526000919088169063bb253ff690606401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115f5565b9050600281600481111561083757610837611616565b146108795760405162461bcd60e51b815260206004820152601260248201527118da185b9b995b081b9bdd0818db1bdcd95960721b604482015260640161044f565b604051630c2dfc6560e41b8152600481018790526000906001600160a01b0389169063c2dfc65090602401602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e5919061162c565b90506000886001600160a01b0316632db91aaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b919061162c565b90506000610959828461167d565b905061096881838a8a8a6109dc565b9a9950505050505050505050565b6109868888888888888888610c48565b5050505050505050565b600081831161099f57816109a1565b825b9392505050565b60008183116109b757826109a1565b50919050565b6000828201838110156109d2576000196109d4565b805b949350505050565b6000601e60508260646109ef8985611694565b6109f991906116c9565b610a03908a6116dd565b90506000606489610a14868661167d565b610a1e9190611694565b610a2891906116c9565b9050600081876001600160a01b0316896001600160a01b03168b6001600160a01b0316610a5591906116dd565b610a5f91906116dd565b610a6991906116f5565b9050610a7581846116dd565b9b9a5050505050505050505050565b610a94828b8b868b338a88610c48565b60405163938bcd6760e01b81526001600160a01b038b811660048301528a81166024830152839160009183169063938bcd6790604401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061162c565b9050610b1a82828e8e336106f0565b421015610b625760405162461bcd60e51b81526020600482015260166024820152753737ba1030b63637bbb2b2103a379036b7b734ba37b960511b604482015260640161044f565b816001600160a01b031663fadc554b828e8e8e8e8e8e8e6040518963ffffffff1660e01b8152600401610b9c989796959493929190611709565b600060405180830381600087803b158015610bb657600080fd5b505af1158015610bca573d6000803e3d6000fd5b5050604080516001600160a01b03888116825260208201869052918101899052908e1692503391508b907f486d5933a2980e097e7c32c7fe217158facf1a3973bac8235ac6c8b0e77d3dff9060600160405180910390a4505050505050505050505050565b6000610c3e8686868686610f6d565b9695505050505050565b60008890506000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611765565b600354604051630fabd9e760e01b81526001600160a01b0380841660048301529293508483169290911690630fabd9e790602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611765565b6001600160a01b031614610d735760405162461bcd60e51b8152602060048201526014602482015273556e6b6e6f776e20546f6b656e4e6574776f726b60601b604482015260640161044f565b60405163938bcd6760e01b81526001600160a01b038a8116600483015289811660248301526000919084169063938bcd6790604401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061162c565b90506000610dfa8c8b888c89610f6d565b9050896001600160a01b0316816001600160a01b031614610e505760405162461bcd60e51b815260206004820152601060248201526f2130b2103932bbb0b93210383937b7b360811b604482015260640161044f565b6000828d604051602001610e8092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f1981840301815291815281516020928301206000818152600490935291206001810154919250908a11610ee95760405162461bcd60e51b815260206004820152600b60248201526a7374616c65206e6f6e636560a81b604482015260640161044f565b50604080516080810182529a8b526020808c019a8b526001600160a01b039c8d168c8301908152998d1660608d0190815260009384526004909152912099518a55975160018a0155505093516002870180549189166001600160a01b0319928316179055945160039096018054969097169590941694909417909455505050505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190304660068a8a8a8a604051602001610fc5989796959493929190611782565b604051602081830303815290604052805190602001209050610fe7818461106c565b9150856001600160a01b0316826001600160a01b0316146110625760405162461bcd60e51b815260206004820152602f60248201527f5265776172642070726f6f6620776974682077726f6e67206e6f6e5f636c6f7360448201526e1a5b99d7dc185c9d1a58da5c185b9d608a1b606482015260840161044f565b5095945050505050565b6000815160411461107c57600080fd5b60208201516040830151606084015160001a601b8110156110a5576110a2601b8261180a565b90505b8060ff16601b14806110ba57508060ff16601c145b6110c357600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015611116573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661113657600080fd5b50505092915050565b6001600160a01b038116811461115457600080fd5b50565b80356111628161113f565b919050565b6000806000806080858703121561117d57600080fd5b84359350602085013561118f8161113f565b9250604085013561119f8161113f565b915060608501356111af8161113f565b939692955090935050565b600080604083850312156111cd57600080fd5b50508035926020909101359150565b600080600080600060a086880312156111f457600080fd5b85356111ff8161113f565b94506020860135935060408601356112168161113f565b925060608601356112268161113f565b915060808601356112368161113f565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126b57600080fd5b813567ffffffffffffffff8082111561128657611286611244565b604051601f8301601f19908116603f011681019082821181831017156112ae576112ae611244565b816040528381528660208588010111156112c757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b03121561130457600080fd5b883561130f8161113f565b9750602089013561131f8161113f565b9650604089013561132f8161113f565b9550606089013594506080890135935060a089013561134d8161113f565b925060c089013567ffffffffffffffff8082111561136a57600080fd5b6113768c838d0161125a565b935060e08b013591508082111561138c57600080fd5b506113998b828c0161125a565b9150509295985092959890939650565b6000602082840312156113bb57600080fd5b81356109d28161113f565b60005b838110156113e15781810151838201526020016113c9565b838111156113f0576000848401525b50505050565b6000815180845261140e8160208601602086016113c6565b601f01601f19169290920160200192915050565b6020815260006109a160208301846113f6565b600080600080600060a0868803121561144d57600080fd5b853594506020860135935060408601356112168161113f565b6000806000806000806000806000806101408b8d03121561148657600080fd5b61148f8b611157565b995061149d60208c01611157565b985060408b0135975060608b0135965060808b0135955060a08b013567ffffffffffffffff808211156114cf57600080fd5b6114db8e838f0161125a565b965060c08d01359150808211156114f157600080fd5b6114fd8e838f0161125a565b955060e08d013594506115136101008e01611157565b93506101208d013591508082111561152a57600080fd5b506115378d828e0161125a565b9150509295989b9194979a5092959850565b600080600080600060a0868803121561156157600080fd5b853561156c8161113f565b9450602086013561157c8161113f565b9350604086013567ffffffffffffffff8082111561159957600080fd5b6115a589838a0161125a565b94506060880135935060808801359150808211156115c257600080fd5b506115cf8882890161125a565b9150509295509295909350565b6000602082840312156115ee57600080fd5b5035919050565b60006020828403121561160757600080fd5b8151600581106109d257600080fd5b634e487b7160e01b600052602160045260246000fd5b60006020828403121561163e57600080fd5b5051919050565b60006020828403121561165757600080fd5b815180151581146109d257600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561168f5761168f611667565b500390565b60008160001904831182151516156116ae576116ae611667565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826116d8576116d86116b3565b500490565b600082198211156116f0576116f0611667565b500190565b600082611704576117046116b3565b500690565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905261010060c08201819052600090611751838201866113f6565b905082810360e0840152610a7581856113f6565b60006020828403121561177757600080fd5b81516109d28161113f565b60008951611794818460208e016113c6565b80830190506232323160e81b81526bffffffffffffffffffffffff19808b60601b166003830152896017830152886037830152808860601b166057830152808760601b16606b8301525084516117f181607f8401602089016113c6565b01607f8101939093525050609f01979650505050505050565b600060ff821660ff84168060ff0382111561182757611827611667565b01939250505056fea2646970667358221220e016c25fe415d325a610dfff2b21370abfc79972c5f498e62159afe0a9be4b0464736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_service_registry_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_udc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token_network_registry_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"raiden_node_address\",\"type\":\"address\"}],\"name\":\"NewBalanceProofReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ms_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"closed_at_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"settle_timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"participant1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"participant2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TokenNetwork\",\"name\":\"token_network\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"channel_identifier\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"}],\"name\":\"firstTimestampAllowedToMonitorChannel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"balance_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"additional_hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"monitor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"recoverAddressFromRewardProofPublic\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signature_address\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"reward_identifier\",\"type\":\"bytes32\"}],\"name\":\"rewardNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token_network_registry\",\"outputs\":[{\"internalType\":\"contract TokenNetworkRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_network_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"closing_participant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"non_closing_participant\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reward_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"monitoring_service_address\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"non_closing_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"reward_proof_signature\",\"type\":\"bytes\"}],\"name\":\"updateRewardPublic\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user_deposit\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"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\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"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.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/MonitoringServiceInternalsTest.sol\":\"MonitoringServiceInternalsTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/SecretRegistry.sol\":{\"keccak256\":\"0x7ec5c96e6b75b7efc6a36b1771aef70529cd0d121b647757c11b32a6cb24865c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76c470eed11d84321249c5bb1db910b3700fddac0ffb3d4bb9087caa84cc3a6\",\"dweb:/ipfs/QmZeY5TovXHmrrHpwscN4y4V6gPwUzvPQN3gNxmpt3sNzz\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/TokenNetwork.sol\":{\"keccak256\":\"0x2c163948739aa8310442cfa9c738cb76af3a69af858ad4369f530aa46c76611b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b92d1e966db84f935bb639098e9e3fcc599a5320b2b3b6e16f2e909e604c3279\",\"dweb:/ipfs/QmNQFUrwK6664pGnztQQSSVVjicCKDDgAeVxVpNKvp9YpN\"]},\"data/source/raiden/TokenNetworkRegistry.sol\":{\"keccak256\":\"0x90942af7781be52e2c8bbf4b0c9e1f619088e11ef0ccd7d5466a940207b32c9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef14eadd4cc594927c2edcb070e475e26e62ba8c5d47c1fd1ff591c5d6d56aba\",\"dweb:/ipfs/QmZHgmE4dVHBDtpAwrkgQp7yxeHwjrSkTcYueSJiRzGWpM\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/MonitoringService.sol\":{\"keccak256\":\"0x86db8855f31c049bf57040160377d0213ad9cedcdb59a028d26935d1e4faaf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14fb3b9ef9e0d1fbeaf3e4974b93314cda1d0bd3a9e611b8bd81872f595a850\",\"dweb:/ipfs/QmUqPqtEPknn9kiFZ6xpUzq1mNdC2G9thPxri7EoaYd1UQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]},\"data/source/test/MonitoringServiceInternalsTest.sol\":{\"keccak256\":\"0xd125bddab0ab60a5624b023ce2ec5fc36450d35dbd2e8a8dbdfbd0fc1e53e251\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abdb704fb97f0df99c02896c942bf2a4045a639b63a4dedb4ddd8419114d25b3\",\"dweb:/ipfs/QmbT3Kwuz9WsiMM71rgChddmMxEb9pB6t8n8i8mR8ZESWA\"]}},\"version\":1}"
         },
         "OneToN": {
             "abi": [
@@ -2184,9 +2184,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "608060405234801561001057600080fd5b50604051610fcf380380610fcf83398101604081905261002f91610082565b600080546001600160a01b039485166001600160a01b031991821617909155600292909255600180549190931691161790556100be565b80516001600160a01b038116811461007d57600080fd5b919050565b60008060006060848603121561009757600080fd5b6100a084610066565b9250602084015191506100b560408501610066565b90509250925092565b610f02806100cd6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637709bc78116100715780637709bc78146101615780637ae2b5c71461018557806387234237146101985780638e51d624146101e1578063c7ae4e2c146101f4578063dc291e571461021457600080fd5b806308c7750e146100b9578063187adf2e146100df5780633970df31146101075780633af973b11461011a5780633ea6b5b4146101235780636d5433e61461014e575b600080fd5b6100cc6100c7366004610a4f565b610227565b6040519081526020015b60405180910390f35b6100f26100ed366004610b35565b6105f7565b604080519283526020830191909152016100d6565b6100cc610115366004610bde565b61061a565b6100cc60025481565b600054610136906001600160a01b031681565b6040516001600160a01b0390911681526020016100d6565b6100cc61015c366004610b35565b610813565b61017561016f366004610ccf565b3b151590565b60405190151581526020016100d6565b6100cc610193366004610b35565b61082b565b6101d46040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516100d69190610d1a565b6100cc6101ef366004610b35565b610840565b6100cc610202366004610d4d565b60036020526000908152604090205481565b600154610136906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610d66565b6102e75760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103255760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b60448201526064016102de565b6000610337878787876002548861085f565b9050866001600160a01b0316816001600160a01b03161461038f5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b60448201526064016102de565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104375760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e00000000000000000060448201526064016102de565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104ab928a929116906327e235e390602401602060405180830381865afa158015610487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101939190610d88565b905080156105eb576000828152600360205260409020869055856104d1576104d1610da1565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af115801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190610d66565b6105eb5760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e73666572000000000000000060448201526064016102de565b98975050505050505050565b6000808284116106095760008461060e565b828403835b915091505b9250929050565b6000808a8914801561062b57508a87145b801561063657508a85145b6106a85760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d65746572730000000000000060648201526084016102de565b6106b38b6041610dcd565b83146107165760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b60648201526084016102de565b60005b8b811015610803576107e58d8d8381811061073657610736610dec565b905060200201602081019061074b9190610ccf565b8c8c8481811061075d5761075d610dec565b90506020020160208101906107729190610ccf565b8b8b8581811061078457610784610dec565b905060200201358a8a8681811061079d5761079d610dec565b905060200201356100c78a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506108d9915050565b6107ef9083610e02565b9150806107fb81610e1a565b915050610719565b509b9a5050505050505050505050565b60008183116108225781610824565b825b9392505050565b600081831161083a5782610824565b50919050565b60008282018381101561085557600019610857565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108b7989796959493929190610e35565b6040516020818303038152906040528051906020012090506105eb818461094a565b6060825182106108eb576108eb610da1565b60006108f8836041610dcd565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461095a57600080fd5b60208201516040830151606084015160001a601b81101561098357610980601b82610ea7565b90505b8060ff16601b148061099857508060ff16601c145b6109a157600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a1457600080fd5b50505092915050565b80356001600160a01b0381168114610a3457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a08688031215610a6757600080fd5b610a7086610a1d565b9450610a7e60208701610a1d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115610aa957600080fd5b818801915088601f830112610abd57600080fd5b813581811115610acf57610acf610a39565b604051601f8201601f19908116603f01168101908382118183101715610af757610af7610a39565b816040528281528b6020848701011115610b1057600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b60008060408385031215610b4857600080fd5b50508035926020909101359150565b60008083601f840112610b6957600080fd5b50813567ffffffffffffffff811115610b8157600080fd5b6020830191508360208260051b850101111561061357600080fd5b60008083601f840112610bae57600080fd5b50813567ffffffffffffffff811115610bc657600080fd5b60208301915083602082850101111561061357600080fd5b60008060008060008060008060008060a08b8d031215610bfd57600080fd5b8a3567ffffffffffffffff80821115610c1557600080fd5b610c218e838f01610b57565b909c509a5060208d0135915080821115610c3a57600080fd5b610c468e838f01610b57565b909a50985060408d0135915080821115610c5f57600080fd5b610c6b8e838f01610b57565b909850965060608d0135915080821115610c8457600080fd5b610c908e838f01610b57565b909650945060808d0135915080821115610ca957600080fd5b50610cb68d828e01610b9c565b915080935050809150509295989b9194979a5092959850565b600060208284031215610ce157600080fd5b61082482610a1d565b60005b83811015610d05578181015183820152602001610ced565b83811115610d14576000848401525b50505050565b6020815260008251806020840152610d39816040850160208701610cea565b601f01601f19169190910160400192915050565b600060208284031215610d5f57600080fd5b5035919050565b600060208284031215610d7857600080fd5b8151801515811461085557600080fd5b600060208284031215610d9a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610de757610de7610db7565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610e1557610e15610db7565b500190565b6000600019821415610e2e57610e2e610db7565b5060010190565b60008951610e47818460208e01610cea565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610ec457610ec4610db7565b01939250505056fea2646970667358221220afc9c85ef1cdea646e54dd46e549b831f6cd4a21319a0a4f287701f9cff38efc64736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b50600436106100b45760003560e01c80637709bc78116100715780637709bc78146101615780637ae2b5c71461018557806387234237146101985780638e51d624146101e1578063c7ae4e2c146101f4578063dc291e571461021457600080fd5b806308c7750e146100b9578063187adf2e146100df5780633970df31146101075780633af973b11461011a5780633ea6b5b4146101235780636d5433e61461014e575b600080fd5b6100cc6100c7366004610a4f565b610227565b6040519081526020015b60405180910390f35b6100f26100ed366004610b35565b6105f7565b604080519283526020830191909152016100d6565b6100cc610115366004610bde565b61061a565b6100cc60025481565b600054610136906001600160a01b031681565b6040516001600160a01b0390911681526020016100d6565b6100cc61015c366004610b35565b610813565b61017561016f366004610ccf565b3b151590565b60405190151581526020016100d6565b6100cc610193366004610b35565b61082b565b6101d46040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516100d69190610d1a565b6100cc6101ef366004610b35565b610840565b6100cc610202366004610d4d565b60036020526000908152604090205481565b600154610136906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610d66565b6102e75760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103255760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b60448201526064016102de565b6000610337878787876002548861085f565b9050866001600160a01b0316816001600160a01b03161461038f5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b60448201526064016102de565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104375760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e00000000000000000060448201526064016102de565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104ab928a929116906327e235e390602401602060405180830381865afa158015610487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101939190610d88565b905080156105eb576000828152600360205260409020869055856104d1576104d1610da1565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af115801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190610d66565b6105eb5760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e73666572000000000000000060448201526064016102de565b98975050505050505050565b6000808284116106095760008461060e565b828403835b915091505b9250929050565b6000808a8914801561062b57508a87145b801561063657508a85145b6106a85760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d65746572730000000000000060648201526084016102de565b6106b38b6041610dcd565b83146107165760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b60648201526084016102de565b60005b8b811015610803576107e58d8d8381811061073657610736610dec565b905060200201602081019061074b9190610ccf565b8c8c8481811061075d5761075d610dec565b90506020020160208101906107729190610ccf565b8b8b8581811061078457610784610dec565b905060200201358a8a8681811061079d5761079d610dec565b905060200201356100c78a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506108d9915050565b6107ef9083610e02565b9150806107fb81610e1a565b915050610719565b509b9a5050505050505050505050565b60008183116108225781610824565b825b9392505050565b600081831161083a5782610824565b50919050565b60008282018381101561085557600019610857565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108b7989796959493929190610e35565b6040516020818303038152906040528051906020012090506105eb818461094a565b6060825182106108eb576108eb610da1565b60006108f8836041610dcd565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461095a57600080fd5b60208201516040830151606084015160001a601b81101561098357610980601b82610ea7565b90505b8060ff16601b148061099857508060ff16601c145b6109a157600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a1457600080fd5b50505092915050565b80356001600160a01b0381168114610a3457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a08688031215610a6757600080fd5b610a7086610a1d565b9450610a7e60208701610a1d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115610aa957600080fd5b818801915088601f830112610abd57600080fd5b813581811115610acf57610acf610a39565b604051601f8201601f19908116603f01168101908382118183101715610af757610af7610a39565b816040528281528b6020848701011115610b1057600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b60008060408385031215610b4857600080fd5b50508035926020909101359150565b60008083601f840112610b6957600080fd5b50813567ffffffffffffffff811115610b8157600080fd5b6020830191508360208260051b850101111561061357600080fd5b60008083601f840112610bae57600080fd5b50813567ffffffffffffffff811115610bc657600080fd5b60208301915083602082850101111561061357600080fd5b60008060008060008060008060008060a08b8d031215610bfd57600080fd5b8a3567ffffffffffffffff80821115610c1557600080fd5b610c218e838f01610b57565b909c509a5060208d0135915080821115610c3a57600080fd5b610c468e838f01610b57565b909a50985060408d0135915080821115610c5f57600080fd5b610c6b8e838f01610b57565b909850965060608d0135915080821115610c8457600080fd5b610c908e838f01610b57565b909650945060808d0135915080821115610ca957600080fd5b50610cb68d828e01610b9c565b915080935050809150509295989b9194979a5092959850565b600060208284031215610ce157600080fd5b61082482610a1d565b60005b83811015610d05578181015183820152602001610ced565b83811115610d14576000848401525b50505050565b6020815260008251806020840152610d39816040850160208701610cea565b601f01601f19169190910160400192915050565b600060208284031215610d5f57600080fd5b5035919050565b600060208284031215610d7857600080fd5b8151801515811461085557600080fd5b600060208284031215610d9a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610de757610de7610db7565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610e1557610e15610db7565b500190565b6000600019821415610e2e57610e2e610db7565b5060010190565b60008951610e47818460208e01610cea565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610ec457610ec4610db7565b01939250505056fea2646970667358221220afc9c85ef1cdea646e54dd46e549b831f6cd4a21319a0a4f287701f9cff38efc64736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_deposit_contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chain_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_service_registry_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transferred\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"senders\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimable_until_list\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"bulkClaim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chain_id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit_contract\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry_contract\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"settled_sessions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"params\":{\"amounts\":\"Owed amounts of tokens\",\"claimable_until_list\":\"Tokens can only be claimed before this time\",\"receivers\":\"Addresses to which the amounts are transferred\",\"senders\":\"Addresses from which the amounts are transferred\",\"signatures\":\"Sender's signatures concatenated into a single bytes array\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"claim(address,address,uint256,uint256,bytes)\":{\"params\":{\"amount\":\"Owed amount of tokens\",\"claimable_until\":\"Tokens can only be claimed before this time\",\"receiver\":\"Address to which the amount is transferred\",\"sender\":\"Address from which the amount is transferred\",\"signature\":\"Sender's signature over keccak256(sender, receiver, amount, claimable_until)\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"constructor\":{\"params\":{\"_deposit_contract\":\"Address of UserDeposit contract\",\"_service_registry_contract\":\"Address of ServiceRegistry contract\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"notice\":\"Submit multiple IOUs to claim the owed amount. This is the same as calling `claim` multiple times, except for the reduced gas cost.\"},\"claim(address,address,uint256,uint256,bytes)\":{\"notice\":\"Submit an IOU to claim the owed amount. If the deposit is smaller than the claim, the remaining deposit is claimed. If no tokens are claimed, `claim` may be retried, later.\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/OneToN.sol\":\"OneToN\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/OneToN.sol\":{\"keccak256\":\"0xfc1ec7c6d790a6ce5ab7861dae6d8d7e01f817b74a31e5b05765e36d74281cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://186dffd521be0f9ad717178a20bf1eae6fe238da7c8999437e2173ab22274b2f\",\"dweb:/ipfs/QmVg9mr8jH5Ckz7U2jfmLHNy5w1cYqwgu9NDUvRUha4ooQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]}},\"version\":1}"
+            "bin": "608060405234801561001057600080fd5b50604051610fcf380380610fcf83398101604081905261002f91610082565b600080546001600160a01b039485166001600160a01b031991821617909155600292909255600180549190931691161790556100be565b80516001600160a01b038116811461007d57600080fd5b919050565b60008060006060848603121561009757600080fd5b6100a084610066565b9250602084015191506100b560408501610066565b90509250925092565b610f02806100cd6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637709bc78116100715780637709bc78146101615780637ae2b5c71461018557806387234237146101985780638e51d624146101e1578063c7ae4e2c146101f4578063dc291e571461021457600080fd5b806308c7750e146100b9578063187adf2e146100df5780633970df31146101075780633af973b11461011a5780633ea6b5b4146101235780636d5433e61461014e575b600080fd5b6100cc6100c7366004610a4f565b610227565b6040519081526020015b60405180910390f35b6100f26100ed366004610b35565b6105f7565b604080519283526020830191909152016100d6565b6100cc610115366004610bde565b61061a565b6100cc60025481565b600054610136906001600160a01b031681565b6040516001600160a01b0390911681526020016100d6565b6100cc61015c366004610b35565b610813565b61017561016f366004610ccf565b3b151590565b60405190151581526020016100d6565b6100cc610193366004610b35565b61082b565b6101d46040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516100d69190610d1a565b6100cc6101ef366004610b35565b610840565b6100cc610202366004610d4d565b60036020526000908152604090205481565b600154610136906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610d66565b6102e75760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103255760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b60448201526064016102de565b6000610337878787876002548861085f565b9050866001600160a01b0316816001600160a01b03161461038f5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b60448201526064016102de565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104375760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e00000000000000000060448201526064016102de565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104ab928a929116906327e235e390602401602060405180830381865afa158015610487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101939190610d88565b905080156105eb576000828152600360205260409020869055856104d1576104d1610da1565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af115801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190610d66565b6105eb5760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e73666572000000000000000060448201526064016102de565b98975050505050505050565b6000808284116106095760008461060e565b828403835b915091505b9250929050565b6000808a8914801561062b57508a87145b801561063657508a85145b6106a85760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d65746572730000000000000060648201526084016102de565b6106b38b6041610dcd565b83146107165760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b60648201526084016102de565b60005b8b811015610803576107e58d8d8381811061073657610736610dec565b905060200201602081019061074b9190610ccf565b8c8c8481811061075d5761075d610dec565b90506020020160208101906107729190610ccf565b8b8b8581811061078457610784610dec565b905060200201358a8a8681811061079d5761079d610dec565b905060200201356100c78a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506108d9915050565b6107ef9083610e02565b9150806107fb81610e1a565b915050610719565b509b9a5050505050505050505050565b60008183116108225781610824565b825b9392505050565b600081831161083a5782610824565b50919050565b60008282018381101561085557600019610857565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108b7989796959493929190610e35565b6040516020818303038152906040528051906020012090506105eb818461094a565b6060825182106108eb576108eb610da1565b60006108f8836041610dcd565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461095a57600080fd5b60208201516040830151606084015160001a601b81101561098357610980601b82610ea7565b90505b8060ff16601b148061099857508060ff16601c145b6109a157600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a1457600080fd5b50505092915050565b80356001600160a01b0381168114610a3457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a08688031215610a6757600080fd5b610a7086610a1d565b9450610a7e60208701610a1d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115610aa957600080fd5b818801915088601f830112610abd57600080fd5b813581811115610acf57610acf610a39565b604051601f8201601f19908116603f01168101908382118183101715610af757610af7610a39565b816040528281528b6020848701011115610b1057600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b60008060408385031215610b4857600080fd5b50508035926020909101359150565b60008083601f840112610b6957600080fd5b50813567ffffffffffffffff811115610b8157600080fd5b6020830191508360208260051b850101111561061357600080fd5b60008083601f840112610bae57600080fd5b50813567ffffffffffffffff811115610bc657600080fd5b60208301915083602082850101111561061357600080fd5b60008060008060008060008060008060a08b8d031215610bfd57600080fd5b8a3567ffffffffffffffff80821115610c1557600080fd5b610c218e838f01610b57565b909c509a5060208d0135915080821115610c3a57600080fd5b610c468e838f01610b57565b909a50985060408d0135915080821115610c5f57600080fd5b610c6b8e838f01610b57565b909850965060608d0135915080821115610c8457600080fd5b610c908e838f01610b57565b909650945060808d0135915080821115610ca957600080fd5b50610cb68d828e01610b9c565b915080935050809150509295989b9194979a5092959850565b600060208284031215610ce157600080fd5b61082482610a1d565b60005b83811015610d05578181015183820152602001610ced565b83811115610d14576000848401525b50505050565b6020815260008251806020840152610d39816040850160208701610cea565b601f01601f19169190910160400192915050565b600060208284031215610d5f57600080fd5b5035919050565b600060208284031215610d7857600080fd5b8151801515811461085557600080fd5b600060208284031215610d9a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610de757610de7610db7565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610e1557610e15610db7565b500190565b6000600019821415610e2e57610e2e610db7565b5060010190565b60008951610e47818460208e01610cea565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610ec457610ec4610db7565b01939250505056fea2646970667358221220983d4f761bc84f51dc88d4d4fb83cb96d9bc6b99800a04ead308c626273a12a664736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b50600436106100b45760003560e01c80637709bc78116100715780637709bc78146101615780637ae2b5c71461018557806387234237146101985780638e51d624146101e1578063c7ae4e2c146101f4578063dc291e571461021457600080fd5b806308c7750e146100b9578063187adf2e146100df5780633970df31146101075780633af973b11461011a5780633ea6b5b4146101235780636d5433e61461014e575b600080fd5b6100cc6100c7366004610a4f565b610227565b6040519081526020015b60405180910390f35b6100f26100ed366004610b35565b6105f7565b604080519283526020830191909152016100d6565b6100cc610115366004610bde565b61061a565b6100cc60025481565b600054610136906001600160a01b031681565b6040516001600160a01b0390911681526020016100d6565b6100cc61015c366004610b35565b610813565b61017561016f366004610ccf565b3b151590565b60405190151581526020016100d6565b6100cc610193366004610b35565b61082b565b6101d46040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516100d69190610d1a565b6100cc6101ef366004610b35565b610840565b6100cc610202366004610d4d565b60036020526000908152604090205481565b600154610136906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610d66565b6102e75760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103255760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b60448201526064016102de565b6000610337878787876002548861085f565b9050866001600160a01b0316816001600160a01b03161461038f5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b60448201526064016102de565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104375760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e00000000000000000060448201526064016102de565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104ab928a929116906327e235e390602401602060405180830381865afa158015610487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101939190610d88565b905080156105eb576000828152600360205260409020869055856104d1576104d1610da1565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af115801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190610d66565b6105eb5760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e73666572000000000000000060448201526064016102de565b98975050505050505050565b6000808284116106095760008461060e565b828403835b915091505b9250929050565b6000808a8914801561062b57508a87145b801561063657508a85145b6106a85760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d65746572730000000000000060648201526084016102de565b6106b38b6041610dcd565b83146107165760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b60648201526084016102de565b60005b8b811015610803576107e58d8d8381811061073657610736610dec565b905060200201602081019061074b9190610ccf565b8c8c8481811061075d5761075d610dec565b90506020020160208101906107729190610ccf565b8b8b8581811061078457610784610dec565b905060200201358a8a8681811061079d5761079d610dec565b905060200201356100c78a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506108d9915050565b6107ef9083610e02565b9150806107fb81610e1a565b915050610719565b509b9a5050505050505050505050565b60008183116108225781610824565b825b9392505050565b600081831161083a5782610824565b50919050565b60008282018381101561085557600019610857565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108b7989796959493929190610e35565b6040516020818303038152906040528051906020012090506105eb818461094a565b6060825182106108eb576108eb610da1565b60006108f8836041610dcd565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461095a57600080fd5b60208201516040830151606084015160001a601b81101561098357610980601b82610ea7565b90505b8060ff16601b148061099857508060ff16601c145b6109a157600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a1457600080fd5b50505092915050565b80356001600160a01b0381168114610a3457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a08688031215610a6757600080fd5b610a7086610a1d565b9450610a7e60208701610a1d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115610aa957600080fd5b818801915088601f830112610abd57600080fd5b813581811115610acf57610acf610a39565b604051601f8201601f19908116603f01168101908382118183101715610af757610af7610a39565b816040528281528b6020848701011115610b1057600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b60008060408385031215610b4857600080fd5b50508035926020909101359150565b60008083601f840112610b6957600080fd5b50813567ffffffffffffffff811115610b8157600080fd5b6020830191508360208260051b850101111561061357600080fd5b60008083601f840112610bae57600080fd5b50813567ffffffffffffffff811115610bc657600080fd5b60208301915083602082850101111561061357600080fd5b60008060008060008060008060008060a08b8d031215610bfd57600080fd5b8a3567ffffffffffffffff80821115610c1557600080fd5b610c218e838f01610b57565b909c509a5060208d0135915080821115610c3a57600080fd5b610c468e838f01610b57565b909a50985060408d0135915080821115610c5f57600080fd5b610c6b8e838f01610b57565b909850965060608d0135915080821115610c8457600080fd5b610c908e838f01610b57565b909650945060808d0135915080821115610ca957600080fd5b50610cb68d828e01610b9c565b915080935050809150509295989b9194979a5092959850565b600060208284031215610ce157600080fd5b61082482610a1d565b60005b83811015610d05578181015183820152602001610ced565b83811115610d14576000848401525b50505050565b6020815260008251806020840152610d39816040850160208701610cea565b601f01601f19169190910160400192915050565b600060208284031215610d5f57600080fd5b5035919050565b600060208284031215610d7857600080fd5b8151801515811461085557600080fd5b600060208284031215610d9a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610de757610de7610db7565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610e1557610e15610db7565b500190565b6000600019821415610e2e57610e2e610db7565b5060010190565b60008951610e47818460208e01610cea565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610ec457610ec4610db7565b01939250505056fea2646970667358221220983d4f761bc84f51dc88d4d4fb83cb96d9bc6b99800a04ead308c626273a12a664736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_deposit_contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chain_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_service_registry_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transferred\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"senders\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimable_until_list\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"bulkClaim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chain_id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit_contract\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry_contract\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"settled_sessions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"params\":{\"amounts\":\"Owed amounts of tokens\",\"claimable_until_list\":\"Tokens can only be claimed before this time\",\"receivers\":\"Addresses to which the amounts are transferred\",\"senders\":\"Addresses from which the amounts are transferred\",\"signatures\":\"Sender's signatures concatenated into a single bytes array\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"claim(address,address,uint256,uint256,bytes)\":{\"params\":{\"amount\":\"Owed amount of tokens\",\"claimable_until\":\"Tokens can only be claimed before this time\",\"receiver\":\"Address to which the amount is transferred\",\"sender\":\"Address from which the amount is transferred\",\"signature\":\"Sender's signature over keccak256(sender, receiver, amount, claimable_until)\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"constructor\":{\"params\":{\"_deposit_contract\":\"Address of UserDeposit contract\",\"_service_registry_contract\":\"Address of ServiceRegistry contract\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"notice\":\"Submit multiple IOUs to claim the owed amount. This is the same as calling `claim` multiple times, except for the reduced gas cost.\"},\"claim(address,address,uint256,uint256,bytes)\":{\"notice\":\"Submit an IOU to claim the owed amount. If the deposit is smaller than the claim, the remaining deposit is claimed. If no tokens are claimed, `claim` may be retried, later.\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/OneToN.sol\":\"OneToN\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/OneToN.sol\":{\"keccak256\":\"0xfc1ec7c6d790a6ce5ab7861dae6d8d7e01f817b74a31e5b05765e36d74281cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://186dffd521be0f9ad717178a20bf1eae6fe238da7c8999437e2173ab22274b2f\",\"dweb:/ipfs/QmVg9mr8jH5Ckz7U2jfmLHNy5w1cYqwgu9NDUvRUha4ooQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]}},\"version\":1}"
         },
         "OneToNInternalsTest": {
             "abi": [
@@ -2536,9 +2536,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "608060405234801561001057600080fd5b5060405161107838038061107883398101604081905261002f91610082565b600080546001600160a01b039485166001600160a01b031991821617909155600292909255600180549190931691161790556100be565b80516001600160a01b038116811461007d57600080fd5b919050565b60008060006060848603121561009757600080fd5b6100a084610066565b9250602084015191506100b560408501610066565b90509250925092565b610fab806100cd6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d5433e61161008c578063872342371161006657806387234237146101d35780638e51d6241461020f578063c7ae4e2c14610222578063dc291e571461024257600080fd5b80636d5433e6146101895780637709bc781461019c5780637ae2b5c7146101c057600080fd5b806308c7750e146100d4578063187adf2e146100fa5780633970df31146101225780633af973b1146101355780633ea6b5b41461013e5780634c0c3a2714610169575b600080fd5b6100e76100e2366004610b1b565b610255565b6040519081526020015b60405180910390f35b61010d610108366004610b8d565b610625565b604080519283526020830191909152016100f1565b6100e7610130366004610c36565b610648565b6100e760025481565b600054610151906001600160a01b031681565b6040516001600160a01b0390911681526020016100f1565b61017c610177366004610d27565b610841565b6040516100f19190610dc8565b6100e7610197366004610b8d565b610854565b6101b06101aa366004610ddb565b3b151590565b60405190151581526020016100f1565b6100e76101ce366004610b8d565b61086a565b61017c6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6100e761021d366004610b8d565b61087f565b6100e7610230366004610df6565b60036020526000908152604090205481565b600154610151906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa1580156102a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c49190610e0f565b6103155760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103535760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b604482015260640161030c565b6000610365878787876002548861089e565b9050866001600160a01b0316816001600160a01b0316146103bd5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b604482015260640161030c565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104655760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e000000000000000000604482015260640161030c565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104d9928a929116906327e235e390602401602060405180830381865afa1580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ce9190610e31565b90508015610619576000828152600360205260409020869055856104ff576104ff610e4a565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190610e0f565b6106195760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e736665720000000000000000604482015260640161030c565b98975050505050505050565b6000808284116106375760008461063c565b828403835b915091505b9250929050565b6000808a8914801561065957508a87145b801561066457508a85145b6106d65760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d657465727300000000000000606482015260840161030c565b6106e18b6041610e76565b83146107445760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b606482015260840161030c565b60005b8b811015610831576108138d8d8381811061076457610764610e95565b90506020020160208101906107799190610ddb565b8c8c8481811061078b5761078b610e95565b90506020020160208101906107a09190610ddb565b8b8b858181106107b2576107b2610e95565b905060200201358a8a868181106107cb576107cb610e95565b905060200201356100e28a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250610918915050565b61081d9083610eab565b91508061082981610ec3565b915050610747565b509b9a5050505050505050505050565b606061084d8383610918565b9392505050565b6000818311610863578161084d565b5090919050565b6000818311610879578261084d565b50919050565b60008282018381101561089457600019610896565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108f6989796959493929190610ede565b6040516020818303038152906040528051906020012090506106198184610989565b60608251821061092a5761092a610e4a565b6000610937836041610e76565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461099957600080fd5b60208201516040830151606084015160001a601b8110156109c2576109bf601b82610f50565b90505b8060ff16601b14806109d757508060ff16601c145b6109e057600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a33573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a5357600080fd5b50505092915050565b80356001600160a01b0381168114610a7357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a78565b604051601f8301601f19908116603f01168101908282118183101715610ae257610ae2610a78565b81604052838152866020858801011115610afb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215610b3357600080fd5b610b3c86610a5c565b9450610b4a60208701610a5c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610b7457600080fd5b610b8088828901610a8e565b9150509295509295909350565b60008060408385031215610ba057600080fd5b50508035926020909101359150565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b6020830191508360208260051b850101111561064157600080fd5b60008083601f840112610c0657600080fd5b50813567ffffffffffffffff811115610c1e57600080fd5b60208301915083602082850101111561064157600080fd5b60008060008060008060008060008060a08b8d031215610c5557600080fd5b8a3567ffffffffffffffff80821115610c6d57600080fd5b610c798e838f01610baf565b909c509a5060208d0135915080821115610c9257600080fd5b610c9e8e838f01610baf565b909a50985060408d0135915080821115610cb757600080fd5b610cc38e838f01610baf565b909850965060608d0135915080821115610cdc57600080fd5b610ce88e838f01610baf565b909650945060808d0135915080821115610d0157600080fd5b50610d0e8d828e01610bf4565b915080935050809150509295989b9194979a5092959850565b60008060408385031215610d3a57600080fd5b823567ffffffffffffffff811115610d5157600080fd5b610d5d85828601610a8e565b95602094909401359450505050565b60005b83811015610d87578181015183820152602001610d6f565b83811115610d96576000848401525b50505050565b60008151808452610db4816020860160208601610d6c565b601f01601f19169290920160200192915050565b60208152600061084d6020830184610d9c565b600060208284031215610ded57600080fd5b61084d82610a5c565b600060208284031215610e0857600080fd5b5035919050565b600060208284031215610e2157600080fd5b8151801515811461089457600080fd5b600060208284031215610e4357600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610e9057610e90610e60565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610ebe57610ebe610e60565b500190565b6000600019821415610ed757610ed7610e60565b5060010190565b60008951610ef0818460208e01610d6c565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610f6d57610f6d610e60565b01939250505056fea264697066735822122087014891ec5ffd43c3d4a85e9a00f2a810f63db4ecbab22a825dcb3c9803866c64736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d5433e61161008c578063872342371161006657806387234237146101d35780638e51d6241461020f578063c7ae4e2c14610222578063dc291e571461024257600080fd5b80636d5433e6146101895780637709bc781461019c5780637ae2b5c7146101c057600080fd5b806308c7750e146100d4578063187adf2e146100fa5780633970df31146101225780633af973b1146101355780633ea6b5b41461013e5780634c0c3a2714610169575b600080fd5b6100e76100e2366004610b1b565b610255565b6040519081526020015b60405180910390f35b61010d610108366004610b8d565b610625565b604080519283526020830191909152016100f1565b6100e7610130366004610c36565b610648565b6100e760025481565b600054610151906001600160a01b031681565b6040516001600160a01b0390911681526020016100f1565b61017c610177366004610d27565b610841565b6040516100f19190610dc8565b6100e7610197366004610b8d565b610854565b6101b06101aa366004610ddb565b3b151590565b60405190151581526020016100f1565b6100e76101ce366004610b8d565b61086a565b61017c6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6100e761021d366004610b8d565b61087f565b6100e7610230366004610df6565b60036020526000908152604090205481565b600154610151906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa1580156102a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c49190610e0f565b6103155760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103535760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b604482015260640161030c565b6000610365878787876002548861089e565b9050866001600160a01b0316816001600160a01b0316146103bd5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b604482015260640161030c565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104655760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e000000000000000000604482015260640161030c565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104d9928a929116906327e235e390602401602060405180830381865afa1580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ce9190610e31565b90508015610619576000828152600360205260409020869055856104ff576104ff610e4a565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190610e0f565b6106195760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e736665720000000000000000604482015260640161030c565b98975050505050505050565b6000808284116106375760008461063c565b828403835b915091505b9250929050565b6000808a8914801561065957508a87145b801561066457508a85145b6106d65760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d657465727300000000000000606482015260840161030c565b6106e18b6041610e76565b83146107445760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b606482015260840161030c565b60005b8b811015610831576108138d8d8381811061076457610764610e95565b90506020020160208101906107799190610ddb565b8c8c8481811061078b5761078b610e95565b90506020020160208101906107a09190610ddb565b8b8b858181106107b2576107b2610e95565b905060200201358a8a868181106107cb576107cb610e95565b905060200201356100e28a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250610918915050565b61081d9083610eab565b91508061082981610ec3565b915050610747565b509b9a5050505050505050505050565b606061084d8383610918565b9392505050565b6000818311610863578161084d565b5090919050565b6000818311610879578261084d565b50919050565b60008282018381101561089457600019610896565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108f6989796959493929190610ede565b6040516020818303038152906040528051906020012090506106198184610989565b60608251821061092a5761092a610e4a565b6000610937836041610e76565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461099957600080fd5b60208201516040830151606084015160001a601b8110156109c2576109bf601b82610f50565b90505b8060ff16601b14806109d757508060ff16601c145b6109e057600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a33573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a5357600080fd5b50505092915050565b80356001600160a01b0381168114610a7357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a78565b604051601f8301601f19908116603f01168101908282118183101715610ae257610ae2610a78565b81604052838152866020858801011115610afb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215610b3357600080fd5b610b3c86610a5c565b9450610b4a60208701610a5c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610b7457600080fd5b610b8088828901610a8e565b9150509295509295909350565b60008060408385031215610ba057600080fd5b50508035926020909101359150565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b6020830191508360208260051b850101111561064157600080fd5b60008083601f840112610c0657600080fd5b50813567ffffffffffffffff811115610c1e57600080fd5b60208301915083602082850101111561064157600080fd5b60008060008060008060008060008060a08b8d031215610c5557600080fd5b8a3567ffffffffffffffff80821115610c6d57600080fd5b610c798e838f01610baf565b909c509a5060208d0135915080821115610c9257600080fd5b610c9e8e838f01610baf565b909a50985060408d0135915080821115610cb757600080fd5b610cc38e838f01610baf565b909850965060608d0135915080821115610cdc57600080fd5b610ce88e838f01610baf565b909650945060808d0135915080821115610d0157600080fd5b50610d0e8d828e01610bf4565b915080935050809150509295989b9194979a5092959850565b60008060408385031215610d3a57600080fd5b823567ffffffffffffffff811115610d5157600080fd5b610d5d85828601610a8e565b95602094909401359450505050565b60005b83811015610d87578181015183820152602001610d6f565b83811115610d96576000848401525b50505050565b60008151808452610db4816020860160208601610d6c565b601f01601f19169290920160200192915050565b60208152600061084d6020830184610d9c565b600060208284031215610ded57600080fd5b61084d82610a5c565b600060208284031215610e0857600080fd5b5035919050565b600060208284031215610e2157600080fd5b8151801515811461089457600080fd5b600060208284031215610e4357600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610e9057610e90610e60565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610ebe57610ebe610e60565b500190565b6000600019821415610ed757610ed7610e60565b5060010190565b60008951610ef0818460208e01610d6c565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610f6d57610f6d610e60565b01939250505056fea264697066735822122087014891ec5ffd43c3d4a85e9a00f2a810f63db4ecbab22a825dcb3c9803866c64736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_deposit_contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chain_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_service_registry_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transferred\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"senders\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimable_until_list\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"bulkClaim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chain_id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit_contract\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getSingleSignaturePublic\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry_contract\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"settled_sessions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"params\":{\"amounts\":\"Owed amounts of tokens\",\"claimable_until_list\":\"Tokens can only be claimed before this time\",\"receivers\":\"Addresses to which the amounts are transferred\",\"senders\":\"Addresses from which the amounts are transferred\",\"signatures\":\"Sender's signatures concatenated into a single bytes array\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"claim(address,address,uint256,uint256,bytes)\":{\"params\":{\"amount\":\"Owed amount of tokens\",\"claimable_until\":\"Tokens can only be claimed before this time\",\"receiver\":\"Address to which the amount is transferred\",\"sender\":\"Address from which the amount is transferred\",\"signature\":\"Sender's signature over keccak256(sender, receiver, amount, claimable_until)\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"notice\":\"Submit multiple IOUs to claim the owed amount. This is the same as calling `claim` multiple times, except for the reduced gas cost.\"},\"claim(address,address,uint256,uint256,bytes)\":{\"notice\":\"Submit an IOU to claim the owed amount. If the deposit is smaller than the claim, the remaining deposit is claimed. If no tokens are claimed, `claim` may be retried, later.\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/OneToNInternalsTest.sol\":\"OneToNInternalsTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/OneToN.sol\":{\"keccak256\":\"0xfc1ec7c6d790a6ce5ab7861dae6d8d7e01f817b74a31e5b05765e36d74281cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://186dffd521be0f9ad717178a20bf1eae6fe238da7c8999437e2173ab22274b2f\",\"dweb:/ipfs/QmVg9mr8jH5Ckz7U2jfmLHNy5w1cYqwgu9NDUvRUha4ooQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]},\"data/source/test/OneToNInternalsTest.sol\":{\"keccak256\":\"0x9d1de2c45a6d7e01e22fa4d13fc3334e796c243cb4e21887eb141b0db3d8b513\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef6536cbc7500c01ade3a45f271c02e603cd22b52aa998b2acb57891f107d330\",\"dweb:/ipfs/QmZny5MGH5itt1Afg1ARUoWDnuTMs2jKb9gZ3tXpNMzVvu\"]}},\"version\":1}"
+            "bin": "608060405234801561001057600080fd5b5060405161107838038061107883398101604081905261002f91610082565b600080546001600160a01b039485166001600160a01b031991821617909155600292909255600180549190931691161790556100be565b80516001600160a01b038116811461007d57600080fd5b919050565b60008060006060848603121561009757600080fd5b6100a084610066565b9250602084015191506100b560408501610066565b90509250925092565b610fab806100cd6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d5433e61161008c578063872342371161006657806387234237146101d35780638e51d6241461020f578063c7ae4e2c14610222578063dc291e571461024257600080fd5b80636d5433e6146101895780637709bc781461019c5780637ae2b5c7146101c057600080fd5b806308c7750e146100d4578063187adf2e146100fa5780633970df31146101225780633af973b1146101355780633ea6b5b41461013e5780634c0c3a2714610169575b600080fd5b6100e76100e2366004610b1b565b610255565b6040519081526020015b60405180910390f35b61010d610108366004610b8d565b610625565b604080519283526020830191909152016100f1565b6100e7610130366004610c36565b610648565b6100e760025481565b600054610151906001600160a01b031681565b6040516001600160a01b0390911681526020016100f1565b61017c610177366004610d27565b610841565b6040516100f19190610dc8565b6100e7610197366004610b8d565b610854565b6101b06101aa366004610ddb565b3b151590565b60405190151581526020016100f1565b6100e76101ce366004610b8d565b61086a565b61017c6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6100e761021d366004610b8d565b61087f565b6100e7610230366004610df6565b60036020526000908152604090205481565b600154610151906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa1580156102a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c49190610e0f565b6103155760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103535760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b604482015260640161030c565b6000610365878787876002548861089e565b9050866001600160a01b0316816001600160a01b0316146103bd5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b604482015260640161030c565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104655760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e000000000000000000604482015260640161030c565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104d9928a929116906327e235e390602401602060405180830381865afa1580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ce9190610e31565b90508015610619576000828152600360205260409020869055856104ff576104ff610e4a565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190610e0f565b6106195760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e736665720000000000000000604482015260640161030c565b98975050505050505050565b6000808284116106375760008461063c565b828403835b915091505b9250929050565b6000808a8914801561065957508a87145b801561066457508a85145b6106d65760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d657465727300000000000000606482015260840161030c565b6106e18b6041610e76565b83146107445760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b606482015260840161030c565b60005b8b811015610831576108138d8d8381811061076457610764610e95565b90506020020160208101906107799190610ddb565b8c8c8481811061078b5761078b610e95565b90506020020160208101906107a09190610ddb565b8b8b858181106107b2576107b2610e95565b905060200201358a8a868181106107cb576107cb610e95565b905060200201356100e28a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250610918915050565b61081d9083610eab565b91508061082981610ec3565b915050610747565b509b9a5050505050505050505050565b606061084d8383610918565b9392505050565b6000818311610863578161084d565b5090919050565b6000818311610879578261084d565b50919050565b60008282018381101561089457600019610896565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108f6989796959493929190610ede565b6040516020818303038152906040528051906020012090506106198184610989565b60608251821061092a5761092a610e4a565b6000610937836041610e76565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461099957600080fd5b60208201516040830151606084015160001a601b8110156109c2576109bf601b82610f50565b90505b8060ff16601b14806109d757508060ff16601c145b6109e057600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a33573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a5357600080fd5b50505092915050565b80356001600160a01b0381168114610a7357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a78565b604051601f8301601f19908116603f01168101908282118183101715610ae257610ae2610a78565b81604052838152866020858801011115610afb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215610b3357600080fd5b610b3c86610a5c565b9450610b4a60208701610a5c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610b7457600080fd5b610b8088828901610a8e565b9150509295509295909350565b60008060408385031215610ba057600080fd5b50508035926020909101359150565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b6020830191508360208260051b850101111561064157600080fd5b60008083601f840112610c0657600080fd5b50813567ffffffffffffffff811115610c1e57600080fd5b60208301915083602082850101111561064157600080fd5b60008060008060008060008060008060a08b8d031215610c5557600080fd5b8a3567ffffffffffffffff80821115610c6d57600080fd5b610c798e838f01610baf565b909c509a5060208d0135915080821115610c9257600080fd5b610c9e8e838f01610baf565b909a50985060408d0135915080821115610cb757600080fd5b610cc38e838f01610baf565b909850965060608d0135915080821115610cdc57600080fd5b610ce88e838f01610baf565b909650945060808d0135915080821115610d0157600080fd5b50610d0e8d828e01610bf4565b915080935050809150509295989b9194979a5092959850565b60008060408385031215610d3a57600080fd5b823567ffffffffffffffff811115610d5157600080fd5b610d5d85828601610a8e565b95602094909401359450505050565b60005b83811015610d87578181015183820152602001610d6f565b83811115610d96576000848401525b50505050565b60008151808452610db4816020860160208601610d6c565b601f01601f19169290920160200192915050565b60208152600061084d6020830184610d9c565b600060208284031215610ded57600080fd5b61084d82610a5c565b600060208284031215610e0857600080fd5b5035919050565b600060208284031215610e2157600080fd5b8151801515811461089457600080fd5b600060208284031215610e4357600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610e9057610e90610e60565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610ebe57610ebe610e60565b500190565b6000600019821415610ed757610ed7610e60565b5060010190565b60008951610ef0818460208e01610d6c565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610f6d57610f6d610e60565b01939250505056fea26469706673582212201a7282d941097b17ae0a75b52a6722f18c274b7abd9bcf28d2aa9a99f587fa9164736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d5433e61161008c578063872342371161006657806387234237146101d35780638e51d6241461020f578063c7ae4e2c14610222578063dc291e571461024257600080fd5b80636d5433e6146101895780637709bc781461019c5780637ae2b5c7146101c057600080fd5b806308c7750e146100d4578063187adf2e146100fa5780633970df31146101225780633af973b1146101355780633ea6b5b41461013e5780634c0c3a2714610169575b600080fd5b6100e76100e2366004610b1b565b610255565b6040519081526020015b60405180910390f35b61010d610108366004610b8d565b610625565b604080519283526020830191909152016100f1565b6100e7610130366004610c36565b610648565b6100e760025481565b600054610151906001600160a01b031681565b6040516001600160a01b0390911681526020016100f1565b61017c610177366004610d27565b610841565b6040516100f19190610dc8565b6100e7610197366004610b8d565b610854565b6101b06101aa366004610ddb565b3b151590565b60405190151581526020016100f1565b6100e76101ce366004610b8d565b61086a565b61017c6040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6100e761021d366004610b8d565b61087f565b6100e7610230366004610df6565b60036020526000908152604090205481565b600154610151906001600160a01b031681565b60015460405163ebc00c0560e01b81526001600160a01b038681166004830152600092169063ebc00c0590602401602060405180830381865afa1580156102a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c49190610e0f565b6103155760405162461bcd60e51b815260206004820152601760248201527f7265636569766572206e6f74207265676973746572656400000000000000000060448201526064015b60405180910390fd5b824211156103535760405162461bcd60e51b815260206004820152600b60248201526a1253d548195e1c1a5c995960aa1b604482015260640161030c565b6000610365878787876002548861089e565b9050866001600160a01b0316816001600160a01b0316146103bd5760405162461bcd60e51b81526020600482015260126024820152710a6d2cedcc2e8eae4ca40dad2e6dac2e8c6d60731b604482015260640161030c565b6040516bffffffffffffffffffffffff19606088811b8216602084015289901b1660348201526048810185905260009060680160408051601f19818403018152918152815160209283012060008181526003909352912054909150156104655760405162461bcd60e51b815260206004820152601760248201527f416c726561647920736574746c65642073657373696f6e000000000000000000604482015260640161030c565b600080546040516327e235e360e01b81526001600160a01b038b811660048301526104d9928a929116906327e235e390602401602060405180830381865afa1580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ce9190610e31565b90508015610619576000828152600360205260409020869055856104ff576104ff610e4a565b604080516001600160a01b038b8116825260208201899052918101839052908916907f2f6639d24651730c7bf57c95ddbf96d66d11477e4ec626876f92c22e5f365e689060600160405180910390a26000546040516317d5759960e31b81526001600160a01b038b811660048301528a81166024830152604482018490529091169063beabacc8906064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd9190610e0f565b6106195760405162461bcd60e51b815260206004820152601860248201527f6465706f73697420646964206e6f74207472616e736665720000000000000000604482015260640161030c565b98975050505050505050565b6000808284116106375760008461063c565b828403835b915091505b9250929050565b6000808a8914801561065957508a87145b801561066457508a85145b6106d65760405162461bcd60e51b815260206004820152603960248201527f53616d65206e756d626572206f6620656c656d656e747320726571756972656460448201527f20666f7220616c6c20696e70757420706172616d657465727300000000000000606482015260840161030c565b6106e18b6041610e76565b83146107445760405162461bcd60e51b815260206004820152602c60248201527f607369676e617475726573602073686f756c6420636f6e7461696e203635206260448201526b797465732070657220494f5560a01b606482015260840161030c565b60005b8b811015610831576108138d8d8381811061076457610764610e95565b90506020020160208101906107799190610ddb565b8c8c8481811061078b5761078b610e95565b90506020020160208101906107a09190610ddb565b8b8b858181106107b2576107b2610e95565b905060200201358a8a868181106107cb576107cb610e95565b905060200201356100e28a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250610918915050565b61081d9083610eab565b91508061082981610ec3565b915050610747565b509b9a5050505050505050505050565b606061084d8383610918565b9392505050565b6000818311610863578161084d565b5090919050565b6000818311610879578261084d565b50919050565b60008282018381101561089457600019610896565b805b949350505050565b60408051808201909152601a81527f19457468657265756d205369676e6564204d6573736167653a0a00000000000060208201526000908190308560058b8b8b8b6040516020016108f6989796959493929190610ede565b6040516020818303038152906040528051906020012090506106198184610989565b60608251821061092a5761092a610e4a565b6000610937836041610e76565b6040805160608082526080820190925291925060009190602082018180368337019050509185016020818101519084015260408082015190840152606090810151908301525060418152905092915050565b6000815160411461099957600080fd5b60208201516040830151606084015160001a601b8110156109c2576109bf601b82610f50565b90505b8060ff16601b14806109d757508060ff16601c145b6109e057600080fd5b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a33573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b038416610a5357600080fd5b50505092915050565b80356001600160a01b0381168114610a7357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a78565b604051601f8301601f19908116603f01168101908282118183101715610ae257610ae2610a78565b81604052838152866020858801011115610afb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215610b3357600080fd5b610b3c86610a5c565b9450610b4a60208701610a5c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610b7457600080fd5b610b8088828901610a8e565b9150509295509295909350565b60008060408385031215610ba057600080fd5b50508035926020909101359150565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b6020830191508360208260051b850101111561064157600080fd5b60008083601f840112610c0657600080fd5b50813567ffffffffffffffff811115610c1e57600080fd5b60208301915083602082850101111561064157600080fd5b60008060008060008060008060008060a08b8d031215610c5557600080fd5b8a3567ffffffffffffffff80821115610c6d57600080fd5b610c798e838f01610baf565b909c509a5060208d0135915080821115610c9257600080fd5b610c9e8e838f01610baf565b909a50985060408d0135915080821115610cb757600080fd5b610cc38e838f01610baf565b909850965060608d0135915080821115610cdc57600080fd5b610ce88e838f01610baf565b909650945060808d0135915080821115610d0157600080fd5b50610d0e8d828e01610bf4565b915080935050809150509295989b9194979a5092959850565b60008060408385031215610d3a57600080fd5b823567ffffffffffffffff811115610d5157600080fd5b610d5d85828601610a8e565b95602094909401359450505050565b60005b83811015610d87578181015183820152602001610d6f565b83811115610d96576000848401525b50505050565b60008151808452610db4816020860160208601610d6c565b601f01601f19169290920160200192915050565b60208152600061084d6020830184610d9c565b600060208284031215610ded57600080fd5b61084d82610a5c565b600060208284031215610e0857600080fd5b5035919050565b600060208284031215610e2157600080fd5b8151801515811461089457600080fd5b600060208284031215610e4357600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610e9057610e90610e60565b500290565b634e487b7160e01b600052603260045260246000fd5b60008219821115610ebe57610ebe610e60565b500190565b6000600019821415610ed757610ed7610e60565b5060010190565b60008951610ef0818460208e01610d6c565b6206270760eb1b9201918252506bffffffffffffffffffffffff19606098891b811660038301526017820197909752603781019590955292861b85166057850152941b909216606b820152607f810192909252609f82015260bf01919050565b600060ff821660ff84168060ff03821115610f6d57610f6d610e60565b01939250505056fea26469706673582212201a7282d941097b17ae0a75b52a6722f18c274b7abd9bcf28d2aa9a99f587fa9164736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_deposit_contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chain_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_service_registry_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transferred\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"senders\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimable_until_list\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"bulkClaim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chain_id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimable_until\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit_contract\",\"outputs\":[{\"internalType\":\"contract UserDeposit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getSingleSignaturePublic\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"service_registry_contract\",\"outputs\":[{\"internalType\":\"contract ServiceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"settled_sessions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"params\":{\"amounts\":\"Owed amounts of tokens\",\"claimable_until_list\":\"Tokens can only be claimed before this time\",\"receivers\":\"Addresses to which the amounts are transferred\",\"senders\":\"Addresses from which the amounts are transferred\",\"signatures\":\"Sender's signatures concatenated into a single bytes array\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"claim(address,address,uint256,uint256,bytes)\":{\"params\":{\"amount\":\"Owed amount of tokens\",\"claimable_until\":\"Tokens can only be claimed before this time\",\"receiver\":\"Address to which the amount is transferred\",\"sender\":\"Address from which the amount is transferred\",\"signature\":\"Sender's signature over keccak256(sender, receiver, amount, claimable_until)\"},\"returns\":{\"_0\":\"Amount of transferred tokens\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bulkClaim(address[],address[],uint256[],uint256[],bytes)\":{\"notice\":\"Submit multiple IOUs to claim the owed amount. This is the same as calling `claim` multiple times, except for the reduced gas cost.\"},\"claim(address,address,uint256,uint256,bytes)\":{\"notice\":\"Submit an IOU to claim the owed amount. If the deposit is smaller than the claim, the remaining deposit is claimed. If no tokens are claimed, `claim` may be retried, later.\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/OneToNInternalsTest.sol\":\"OneToNInternalsTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"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\":\"0xe6b76aaed0a02ce5ab784a8dc0acec6449fc621f77e9424bbb5a7ae7b8ac0e4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed055fe2310aa3e4eb64a914fb9c4f0d40870bdba3a4e6137b20b7d0ee6dc2f6\",\"dweb:/ipfs/QmPAQcJHWQocGksM5LGZzEKjmFscNnk3GFgNQwoqreXUkt\"]},\"data/source/lib/MessageType.sol\":{\"keccak256\":\"0x0fe11e50eb485fcb700908a71524f382f432614a81836b7662b9ceb95282bf6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5dc98781c4f1f6a790746a4ca74cc3357206c8c9ec1670a372c503930efa2b8\",\"dweb:/ipfs/QmUbc5Hw1h1B6f9WU5vx5j7YeABLQoimKmUC55UQQ35JcN\"]},\"data/source/raiden/Controllable.sol\":{\"keccak256\":\"0x26c167d303f61b6e1bcc143159e98cf4b9e84199bfc31993869866c085e19827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8709cb4baf3522013a1c89e365d90a30012f7829607d534e9eb012b3fb8bcafa\",\"dweb:/ipfs/QmRPMt2WnJaPnJH6dUf9gEosbkLfudkah5m5Us6mheX6iw\"]},\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/OneToN.sol\":{\"keccak256\":\"0xfc1ec7c6d790a6ce5ab7861dae6d8d7e01f817b74a31e5b05765e36d74281cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://186dffd521be0f9ad717178a20bf1eae6fe238da7c8999437e2173ab22274b2f\",\"dweb:/ipfs/QmVg9mr8jH5Ckz7U2jfmLHNy5w1cYqwgu9NDUvRUha4ooQ\"]},\"data/source/services/ServiceRegistry.sol\":{\"keccak256\":\"0x360a60ff34878f823c595284377861514c89d9ec635f25952d8794727d825f43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8ba0583cf01c6338a1060813d65c7826067e8b5a4c6c9388ed98b2314b4641\",\"dweb:/ipfs/QmRnowhGo4PyztYizbrxbKiEF2ubJAkVbZsCniiSBcg3wt\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]},\"data/source/test/OneToNInternalsTest.sol\":{\"keccak256\":\"0x9d1de2c45a6d7e01e22fa4d13fc3334e796c243cb4e21887eb141b0db3d8b513\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef6536cbc7500c01ade3a45f271c02e603cd22b52aa998b2acb57891f107d330\",\"dweb:/ipfs/QmZny5MGH5itt1Afg1ARUoWDnuTMs2jKb9gZ3tXpNMzVvu\"]}},\"version\":1}"
         },
         "SecretRegistry": {
             "abi": [
@@ -9960,9 +9960,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "608060405234801561001057600080fd5b5060405161028338038061028383398101604081905261002f916100ae565b6001600160a01b0381166100895760405162461bcd60e51b815260206004820152601360248201527f7564635f61646472657373206973207a65726f00000000000000000000000000604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100de565b6000602082840312156100c057600080fd5b81516001600160a01b03811681146100d757600080fd5b9392505050565b610196806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063beabacc814610030575b600080fd5b61004361003e3660046100fb565b610057565b604051901515815260200160405180910390f35b600080546040516317d5759960e31b81526001600160a01b0386811660048301528581166024830152604482018590529091169063beabacc8906064016020604051808303816000875af11580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610137565b949350505050565b80356001600160a01b03811681146100f657600080fd5b919050565b60008060006060848603121561011057600080fd5b610119846100df565b9250610127602085016100df565b9150604084013590509250925092565b60006020828403121561014957600080fd5b8151801515811461015957600080fd5b939250505056fea26469706673582212204ed2f7e614bf7ab93ea3b5797ab7107483372c6f7820d8b3164a74757b64300c64736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063beabacc814610030575b600080fd5b61004361003e3660046100fb565b610057565b604051901515815260200160405180910390f35b600080546040516317d5759960e31b81526001600160a01b0386811660048301528581166024830152604482018590529091169063beabacc8906064016020604051808303816000875af11580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610137565b949350505050565b80356001600160a01b03811681146100f657600080fd5b919050565b60008060006060848603121561011057600080fd5b610119846100df565b9250610127602085016100df565b9150604084013590509250925092565b60006020828403121561014957600080fd5b8151801515811461015957600080fd5b939250505056fea26469706673582212204ed2f7e614bf7ab93ea3b5797ab7107483372c6f7820d8b3164a74757b64300c64736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"udc_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/UDCTransfer.sol\":\"UDCTransfer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]},\"data/source/test/UDCTransfer.sol\":{\"keccak256\":\"0x6a6310dbca9deeb317248309e069790fee5049b716e13e2dc662156ed3608e7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd72af26b8a0c65ec5944ae698daa460ed98142ab36eb7a69445837fff30c22e\",\"dweb:/ipfs/QmPc5tUWWcjwWVEsud3xV85oyZQtdYDSaUTLasK6sskaAy\"]}},\"version\":1}"
+            "bin": "608060405234801561001057600080fd5b5060405161028338038061028383398101604081905261002f916100ae565b6001600160a01b0381166100895760405162461bcd60e51b815260206004820152601360248201527f7564635f61646472657373206973207a65726f00000000000000000000000000604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100de565b6000602082840312156100c057600080fd5b81516001600160a01b03811681146100d757600080fd5b9392505050565b610196806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063beabacc814610030575b600080fd5b61004361003e3660046100fb565b610057565b604051901515815260200160405180910390f35b600080546040516317d5759960e31b81526001600160a01b0386811660048301528581166024830152604482018590529091169063beabacc8906064016020604051808303816000875af11580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610137565b949350505050565b80356001600160a01b03811681146100f657600080fd5b919050565b60008060006060848603121561011057600080fd5b610119846100df565b9250610127602085016100df565b9150604084013590509250925092565b60006020828403121561014957600080fd5b8151801515811461015957600080fd5b939250505056fea2646970667358221220d326de6a956f2b5768b1d6590a3a436b63f934cdb7315cf793e0191bba2487b364736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063beabacc814610030575b600080fd5b61004361003e3660046100fb565b610057565b604051901515815260200160405180910390f35b600080546040516317d5759960e31b81526001600160a01b0386811660048301528581166024830152604482018590529091169063beabacc8906064016020604051808303816000875af11580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610137565b949350505050565b80356001600160a01b03811681146100f657600080fd5b919050565b60008060006060848603121561011057600080fd5b610119846100df565b9250610127602085016100df565b9150604084013590509250925092565b60006020828403121561014957600080fd5b8151801515811461015957600080fd5b939250505056fea2646970667358221220d326de6a956f2b5768b1d6590a3a436b63f934cdb7315cf793e0191bba2487b364736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"udc_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/test/UDCTransfer.sol\":\"UDCTransfer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]},\"data/source/test/UDCTransfer.sol\":{\"keccak256\":\"0x6a6310dbca9deeb317248309e069790fee5049b716e13e2dc662156ed3608e7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd72af26b8a0c65ec5944ae698daa460ed98142ab36eb7a69445837fff30c22e\",\"dweb:/ipfs/QmPc5tUWWcjwWVEsud3xV85oyZQtdYDSaUTLasK6sskaAy\"]}},\"version\":1}"
         },
         "UserDeposit": {
             "abi": [
@@ -9977,6 +9977,11 @@
                             "internalType": "uint256",
                             "name": "_whole_balance_limit",
                             "type": "uint256"
+                        },
+                        {
+                            "internalType": "uint256",
+                            "name": "_withdraw_timeout",
+                            "type": "uint256"
                         }
                     ],
                     "stateMutability": "nonpayable",
@@ -10422,9 +10427,9 @@
                     "type": "function"
                 }
             ],
-            "bin": "608060405260006006553480156200001657600080fd5b50604051620012dc380380620012dc833981016040819052620000399162000203565b6001600160a01b038216620000955760405162461bcd60e51b815260206004820152601560248201527f746f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b813b620000d95760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b60448201526064016200008c565b600080546001600160a01b0319166001600160a01b0384169081178255604080516318160ddd60e01b815290516318160ddd916004808201926020929091908290030181865afa15801562000132573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015891906200023f565b11620001a75760405162461bcd60e51b815260206004820152601960248201527f746f6b656e20686173206e6f20746f74616c20737570706c790000000000000060448201526064016200008c565b60008111620001f95760405162461bcd60e51b815260206004820152601b60248201527f77686f6c652062616c616e6365206c696d6974206973207a65726f000000000060448201526064016200008c565b6007555062000259565b600080604083850312156200021757600080fd5b82516001600160a01b03811681146200022f57600080fd5b6020939093015192949293505050565b6000602082840312156200025257600080fd5b5051919050565b61107380620002696000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806387234237116100b8578063d54b10e31161007c578063d54b10e314610317578063d635f2ee1461032a578063d7a2729a1461034a578063d8473d6a14610353578063f09a40161461035c578063fc0c546a1461036f57600080fd5b806387234237146102745780638e51d624146102bd5780638fd066e0146102d0578063b0a05a2e146102d9578063beabacc81461030457600080fd5b8063301728921161010a57806330172892146101dd5780633e90af50146101f057806347e7ef24146102175780636d5433e61461022a5780637709bc781461023d5780637ae2b5c71461026157600080fd5b8063145ccb0f1461014757806316a398f71461015c578063187adf2e1461018257806327e235e3146101aa5780632e1a7d4d146101ca575b600080fd5b61015a610155366004610e53565b610382565b005b61016f61016a366004610e88565b6104ae565b6040519081526020015b60405180910390f35b610195610190366004610ea3565b61050e565b60408051928352602083019190915201610179565b61016f6101b8366004610e88565b60046020526000908152604090205481565b61015a6101d8366004610e53565b610530565b61015a6101eb366004610ec5565b61053e565b6101956101fe366004610e88565b6005602052600090815260409020805460019091015482565b61015a610225366004610ef1565b61054d565b61016f610238366004610ea3565b6107a3565b61025161024b366004610e88565b3b151590565b6040519015158152602001610179565b61016f61026f366004610ea3565b6107b9565b6102b06040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516101799190610f1b565b61016f6102cb366004610ea3565b6107ce565b61016f60065481565b6002546102ec906001600160a01b031681565b6040516001600160a01b039091168152602001610179565b610251610312366004610f70565b6107ed565b6001546102ec906001600160a01b031681565b61016f610338366004610e88565b60036020526000908152604090205481565b61016f60075481565b61016f6105dc81565b61015a61036a366004610fac565b61098d565b6000546102ec906001600160a01b031681565b600081116103ca5760405162461bcd60e51b815260206004820152601060248201526f7769746864726177696e67207a65726f60801b60448201526064015b60405180910390fd5b336000908152600460205260409020548111156104205760405162461bcd60e51b81526020600482015260146024820152730eed2e8d0c8e4c2eed2dcce40e8dede40daeac6d60631b60448201526064016103c1565b60405180604001604052808281526020016105dc4261043f9190610fec565b905233600081815260056020908152604080832085518155948201516001909501949094556004905291909120547f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e0399061049a908490611004565b60405190815260200160405180910390a250565b6001600160a01b03811660009081526005602090815260408083206004909252822054815411156104e25750600092915050565b80546001600160a01b0384166000908152600460205260409020546105079190611004565b9392505050565b60008082841161052057600084610525565b828403835b915091509250929050565b61053b813333610b62565b50565b610549823383610b62565b5050565b6001600160a01b03821660009081526003602052604090205481116105ad5760405162461bcd60e51b81526020600482015260166024820152756465706f736974206e6f7420696e6372656173696e6760501b60448201526064016103c1565b6001600160a01b0382166000908152600360205260408120546105d09083611004565b6001600160a01b0384166000908152600460205260408120805492935083929091906105fd908490610fec565b90915550506001600160a01b0383166000908152600360205260408120805483929061062a908490610fec565b909155505060065461063c8282610fec565b10156106805760405162461bcd60e51b81526020600482015260136024820152721bdd995c999b1bddda5b99c819195c1bdcda5d606a1b60448201526064016103c1565b80600660008282546106929190610fec565b909155505060075460065411156106de5760405162461bcd60e51b815260206004820152601060248201526f1d1bdbc81b5d58da0819195c1bdcda5d60821b60448201526064016103c1565b6000546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610759919061101b565b61079e5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b505050565b60008183116107b25781610507565b5090919050565b60008183116107c85782610507565b50919050565b6000828201838110156107e3576000196107e5565b805b949350505050565b6001546000906001600160a01b031633148061081357506002546001600160a01b031633145b6108505760405162461bcd60e51b815260206004820152600e60248201526d3ab735b737bbb71031b0b63632b960911b60448201526064016103c1565b826001600160a01b0316846001600160a01b031614156108a75760405162461bcd60e51b815260206004820152601260248201527139b2b73232b9101e9e903932b1b2b4bb32b960711b60448201526064016103c1565b6001600160a01b03841660009081526004602052604090205482118015906108cf5750600082115b15610983576001600160a01b038416600090815260046020526040812080548492906108fc908490611004565b90915550506001600160a01b03831660009081526004602052604081208054849290610929908490610fec565b90915550506001600160a01b0384166000818152600460209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a2506001610507565b5060009392505050565b6001546001600160a01b03161580156109af57506002546001600160a01b0316155b6109f15760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016103c1565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152601b60248201527f4d5320636f6e74726163742061742061646472657373207a65726f000000000060448201526064016103c1565b813b610a955760405162461bcd60e51b815260206004820152601760248201527f4d5320636f6e747261637420686173206e6f20636f646500000000000000000060448201526064016103c1565b600180546001600160a01b0319166001600160a01b03848116919091179091558116610afc5760405162461bcd60e51b81526020600482015260166024820152754f6e65546f4e2061742061646472657373207a65726f60501b60448201526064016103c1565b803b610b3f5760405162461bcd60e51b81526020600482015260126024820152714f6e65546f4e20686173206e6f20636f646560701b60448201526064016103c1565b600280546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038116610bae5760405162461bcd60e51b815260206004820152601360248201527262656e6566696369617279206973207a65726f60681b60448201526064016103c1565b6001600160a01b03821660009081526005602052604090208054841115610c175760405162461bcd60e51b815260206004820152601d60248201527f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000060448201526064016103c1565b4281600101541115610c635760405162461bcd60e51b81526020600482015260156024820152747769746864726177696e6720746f6f206561726c7960581b60448201526064016103c1565b6001600160a01b038316600090815260046020526040812054610c879086906107b9565b6001600160a01b038516600090815260046020526040812080549293508392909190610cb4908490611004565b9091555050600654610cc68282611004565b1115610d145760405162461bcd60e51b815260206004820152601a60248201527f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000060448201526064016103c1565b8060066000828254610d269190611004565b90915550506001600160a01b0384166000818152600460209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a26001600160a01b038481166000908152600560205260408082208281556001018290559054905163a9059cbb60e01b815285831660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e07919061101b565b610e4c5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b5050505050565b600060208284031215610e6557600080fd5b5035919050565b80356001600160a01b0381168114610e8357600080fd5b919050565b600060208284031215610e9a57600080fd5b61050782610e6c565b60008060408385031215610eb657600080fd5b50508035926020909101359150565b60008060408385031215610ed857600080fd5b82359150610ee860208401610e6c565b90509250929050565b60008060408385031215610f0457600080fd5b610f0d83610e6c565b946020939093013593505050565b600060208083528351808285015260005b81811015610f4857858101830151858201604001528201610f2c565b81811115610f5a576000604083870101525b50601f01601f1916929092016040019392505050565b600080600060608486031215610f8557600080fd5b610f8e84610e6c565b9250610f9c60208501610e6c565b9150604084013590509250925092565b60008060408385031215610fbf57600080fd5b610fc883610e6c565b9150610ee860208401610e6c565b634e487b7160e01b600052601160045260246000fd5b60008219821115610fff57610fff610fd6565b500190565b60008282101561101657611016610fd6565b500390565b60006020828403121561102d57600080fd5b815180151581146107e357600080fdfea2646970667358221220610047b2f80c5b465b11c503de8d223c14936da3c9e65206145e5441090375b764736f6c634300080a0033",
-            "bin-runtime": "608060405234801561001057600080fd5b50600436106101425760003560e01c806387234237116100b8578063d54b10e31161007c578063d54b10e314610317578063d635f2ee1461032a578063d7a2729a1461034a578063d8473d6a14610353578063f09a40161461035c578063fc0c546a1461036f57600080fd5b806387234237146102745780638e51d624146102bd5780638fd066e0146102d0578063b0a05a2e146102d9578063beabacc81461030457600080fd5b8063301728921161010a57806330172892146101dd5780633e90af50146101f057806347e7ef24146102175780636d5433e61461022a5780637709bc781461023d5780637ae2b5c71461026157600080fd5b8063145ccb0f1461014757806316a398f71461015c578063187adf2e1461018257806327e235e3146101aa5780632e1a7d4d146101ca575b600080fd5b61015a610155366004610e53565b610382565b005b61016f61016a366004610e88565b6104ae565b6040519081526020015b60405180910390f35b610195610190366004610ea3565b61050e565b60408051928352602083019190915201610179565b61016f6101b8366004610e88565b60046020526000908152604090205481565b61015a6101d8366004610e53565b610530565b61015a6101eb366004610ec5565b61053e565b6101956101fe366004610e88565b6005602052600090815260409020805460019091015482565b61015a610225366004610ef1565b61054d565b61016f610238366004610ea3565b6107a3565b61025161024b366004610e88565b3b151590565b6040519015158152602001610179565b61016f61026f366004610ea3565b6107b9565b6102b06040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516101799190610f1b565b61016f6102cb366004610ea3565b6107ce565b61016f60065481565b6002546102ec906001600160a01b031681565b6040516001600160a01b039091168152602001610179565b610251610312366004610f70565b6107ed565b6001546102ec906001600160a01b031681565b61016f610338366004610e88565b60036020526000908152604090205481565b61016f60075481565b61016f6105dc81565b61015a61036a366004610fac565b61098d565b6000546102ec906001600160a01b031681565b600081116103ca5760405162461bcd60e51b815260206004820152601060248201526f7769746864726177696e67207a65726f60801b60448201526064015b60405180910390fd5b336000908152600460205260409020548111156104205760405162461bcd60e51b81526020600482015260146024820152730eed2e8d0c8e4c2eed2dcce40e8dede40daeac6d60631b60448201526064016103c1565b60405180604001604052808281526020016105dc4261043f9190610fec565b905233600081815260056020908152604080832085518155948201516001909501949094556004905291909120547f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e0399061049a908490611004565b60405190815260200160405180910390a250565b6001600160a01b03811660009081526005602090815260408083206004909252822054815411156104e25750600092915050565b80546001600160a01b0384166000908152600460205260409020546105079190611004565b9392505050565b60008082841161052057600084610525565b828403835b915091509250929050565b61053b813333610b62565b50565b610549823383610b62565b5050565b6001600160a01b03821660009081526003602052604090205481116105ad5760405162461bcd60e51b81526020600482015260166024820152756465706f736974206e6f7420696e6372656173696e6760501b60448201526064016103c1565b6001600160a01b0382166000908152600360205260408120546105d09083611004565b6001600160a01b0384166000908152600460205260408120805492935083929091906105fd908490610fec565b90915550506001600160a01b0383166000908152600360205260408120805483929061062a908490610fec565b909155505060065461063c8282610fec565b10156106805760405162461bcd60e51b81526020600482015260136024820152721bdd995c999b1bddda5b99c819195c1bdcda5d606a1b60448201526064016103c1565b80600660008282546106929190610fec565b909155505060075460065411156106de5760405162461bcd60e51b815260206004820152601060248201526f1d1bdbc81b5d58da0819195c1bdcda5d60821b60448201526064016103c1565b6000546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610759919061101b565b61079e5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b505050565b60008183116107b25781610507565b5090919050565b60008183116107c85782610507565b50919050565b6000828201838110156107e3576000196107e5565b805b949350505050565b6001546000906001600160a01b031633148061081357506002546001600160a01b031633145b6108505760405162461bcd60e51b815260206004820152600e60248201526d3ab735b737bbb71031b0b63632b960911b60448201526064016103c1565b826001600160a01b0316846001600160a01b031614156108a75760405162461bcd60e51b815260206004820152601260248201527139b2b73232b9101e9e903932b1b2b4bb32b960711b60448201526064016103c1565b6001600160a01b03841660009081526004602052604090205482118015906108cf5750600082115b15610983576001600160a01b038416600090815260046020526040812080548492906108fc908490611004565b90915550506001600160a01b03831660009081526004602052604081208054849290610929908490610fec565b90915550506001600160a01b0384166000818152600460209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a2506001610507565b5060009392505050565b6001546001600160a01b03161580156109af57506002546001600160a01b0316155b6109f15760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016103c1565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152601b60248201527f4d5320636f6e74726163742061742061646472657373207a65726f000000000060448201526064016103c1565b813b610a955760405162461bcd60e51b815260206004820152601760248201527f4d5320636f6e747261637420686173206e6f20636f646500000000000000000060448201526064016103c1565b600180546001600160a01b0319166001600160a01b03848116919091179091558116610afc5760405162461bcd60e51b81526020600482015260166024820152754f6e65546f4e2061742061646472657373207a65726f60501b60448201526064016103c1565b803b610b3f5760405162461bcd60e51b81526020600482015260126024820152714f6e65546f4e20686173206e6f20636f646560701b60448201526064016103c1565b600280546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038116610bae5760405162461bcd60e51b815260206004820152601360248201527262656e6566696369617279206973207a65726f60681b60448201526064016103c1565b6001600160a01b03821660009081526005602052604090208054841115610c175760405162461bcd60e51b815260206004820152601d60248201527f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000060448201526064016103c1565b4281600101541115610c635760405162461bcd60e51b81526020600482015260156024820152747769746864726177696e6720746f6f206561726c7960581b60448201526064016103c1565b6001600160a01b038316600090815260046020526040812054610c879086906107b9565b6001600160a01b038516600090815260046020526040812080549293508392909190610cb4908490611004565b9091555050600654610cc68282611004565b1115610d145760405162461bcd60e51b815260206004820152601a60248201527f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000060448201526064016103c1565b8060066000828254610d269190611004565b90915550506001600160a01b0384166000818152600460209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a26001600160a01b038481166000908152600560205260408082208281556001018290559054905163a9059cbb60e01b815285831660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e07919061101b565b610e4c5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b5050505050565b600060208284031215610e6557600080fd5b5035919050565b80356001600160a01b0381168114610e8357600080fd5b919050565b600060208284031215610e9a57600080fd5b61050782610e6c565b60008060408385031215610eb657600080fd5b50508035926020909101359150565b60008060408385031215610ed857600080fd5b82359150610ee860208401610e6c565b90509250929050565b60008060408385031215610f0457600080fd5b610f0d83610e6c565b946020939093013593505050565b600060208083528351808285015260005b81811015610f4857858101830151858201604001528201610f2c565b81811115610f5a576000604083870101525b50601f01601f1916929092016040019392505050565b600080600060608486031215610f8557600080fd5b610f8e84610e6c565b9250610f9c60208501610e6c565b9150604084013590509250925092565b60008060408385031215610fbf57600080fd5b610fc883610e6c565b9150610ee860208401610e6c565b634e487b7160e01b600052601160045260246000fd5b60008219821115610fff57610fff610fd6565b500190565b60008282101561101657611016610fd6565b500390565b60006020828403121561102d57600080fd5b815180151581146107e357600080fdfea2646970667358221220610047b2f80c5b465b11c503de8d223c14936da3c9e65206145e5441090375b764736f6c634300080a0033",
-            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_whole_balance_limit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"BalanceReduced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"plannedBalance\",\"type\":\"uint256\"}],\"name\":\"WithdrawPlanned\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"new_total_deposit\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"effectiveBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_msc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_one_to_n_address\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msc_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"one_to_n_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"planWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"total_deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whole_balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whole_balance_limit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdraw_plans\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawable_after\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw_timeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_token_address\":\"The address of the token to use for rewards\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"deposit(address,uint256)\":{\"params\":{\"beneficiary\":\"The account benefiting from the deposit\",\"new_total_deposit\":\"The total sum of tokens that have been deposited by the user by calling this function.\"}},\"effectiveBalance(address)\":{\"params\":{\"owner\":\"Address for which the balance should be returned\"},\"returns\":{\"remaining_balance\":\"The remaining balance after planned withdrawals\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"init(address,address)\":{\"params\":{\"_msc_address\":\"Address of the MonitoringService contract\",\"_one_to_n_address\":\"Address of the OneToN contract\"}},\"planWithdraw(uint256)\":{\"params\":{\"amount\":\"Maximum amount of tokens to be withdrawn\"}},\"transfer(address,address,uint256)\":{\"params\":{\"amount\":\"Amount of tokens to be transferred\",\"receiver\":\"Account to which the amount will be credited\",\"sender\":\"Account from which the amount will be deducted\"},\"returns\":{\"success\":\"true if transfer has been done successfully, otherwise false\"}},\"withdraw(uint256)\":{\"params\":{\"amount\":\"Amount of tokens to be withdrawn\"}},\"withdrawToBeneficiary(uint256,address)\":{\"params\":{\"amount\":\"Amount of tokens to be withdrawn\",\"beneficiary\":\"Address to send withdrawn tokens to\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Set the default values for the smart contract\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit tokens. The amount of transferred tokens will be `new_total_deposit - total_deposit[beneficiary]`. This makes the function behavior predictable and idempotent. Can be called several times and on behalf of other accounts.\"},\"effectiveBalance(address)\":{\"notice\":\"The owner's balance with planned withdrawals deducted\"},\"init(address,address)\":{\"notice\":\"Specify trusted contracts. This has to be done outside of the constructor to avoid cyclic dependencies.\"},\"planWithdraw(uint256)\":{\"notice\":\"Announce intention to withdraw tokens. Sets the planned withdraw amount and resets the withdrawable_after. There is only one planned withdrawal at a time, the old one gets overwritten.\"},\"transfer(address,address,uint256)\":{\"notice\":\"Internally transfer deposits between two addresses. Sender and receiver must be different or the transaction will fail.\"},\"withdraw(uint256)\":{\"notice\":\"Execute a planned withdrawal Will only work after the withdraw_timeout has expired. An amount lower or equal to the planned amount may be withdrawn. Removes the withdraw plan even if not the full amount has been withdrawn.\"},\"withdrawToBeneficiary(uint256,address)\":{\"notice\":\"Execute a planned withdrawal Will only work after the withdraw_timeout has expired. An amount lower or equal to the planned amount may be withdrawn. Removes the withdraw plan even if not the full amount has been withdrawn.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/UserDeposit.sol\":\"UserDeposit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0x71240ecd73c450c92a54b8ab2490a5eea983be21c5cd629167b337aa4c84300b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a463f7d076bd0c6da3664a53f0e9647629dcf96760d886e72c89a407b3d8bfb\",\"dweb:/ipfs/QmWJWVfZXtu4AN277rpwWYJjdzZF1rREg6hDypNsYaw7At\"]}},\"version\":1}"
+            "bin": "608060405260006007553480156200001657600080fd5b50604051620012f2380380620012f283398101604081905262000039916200020d565b6001600160a01b038316620000955760405162461bcd60e51b815260206004820152601560248201527f746f6b656e2061742061646472657373207a65726f000000000000000000000060448201526064015b60405180910390fd5b823b620000d95760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b60448201526064016200008c565b600180546001600160a01b0319166001600160a01b038516908117909155604080516318160ddd60e01b81529051600092916318160ddd9160048083019260209291908290030181865afa15801562000136573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015c919062000252565b11620001ab5760405162461bcd60e51b815260206004820152601960248201527f746f6b656e20686173206e6f20746f74616c20737570706c790000000000000060448201526064016200008c565b60008211620001fd5760405162461bcd60e51b815260206004820152601b60248201527f77686f6c652062616c616e6365206c696d6974206973207a65726f000000000060448201526064016200008c565b600891909155600055506200026c565b6000806000606084860312156200022357600080fd5b83516001600160a01b03811681146200023b57600080fd5b602085015160409095015190969495509392505050565b6000602082840312156200026557600080fd5b5051919050565b611076806200027c6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806387234237116100b8578063d54b10e31161007c578063d54b10e314610317578063d635f2ee1461032a578063d7a2729a1461034a578063d8473d6a14610353578063f09a40161461035c578063fc0c546a1461036f57600080fd5b806387234237146102745780638e51d624146102bd5780638fd066e0146102d0578063b0a05a2e146102d9578063beabacc81461030457600080fd5b8063301728921161010a57806330172892146101dd5780633e90af50146101f057806347e7ef24146102175780636d5433e61461022a5780637709bc781461023d5780637ae2b5c71461026157600080fd5b8063145ccb0f1461014757806316a398f71461015c578063187adf2e1461018257806327e235e3146101aa5780632e1a7d4d146101ca575b600080fd5b61015a610155366004610e56565b610382565b005b61016f61016a366004610e8b565b6104ae565b6040519081526020015b60405180910390f35b610195610190366004610ea6565b61050e565b60408051928352602083019190915201610179565b61016f6101b8366004610e8b565b60056020526000908152604090205481565b61015a6101d8366004610e56565b610530565b61015a6101eb366004610ec8565b61053e565b6101956101fe366004610e8b565b6006602052600090815260409020805460019091015482565b61015a610225366004610ef4565b61054d565b61016f610238366004610ea6565b6107a3565b61025161024b366004610e8b565b3b151590565b6040519015158152602001610179565b61016f61026f366004610ea6565b6107b9565b6102b06040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516101799190610f1e565b61016f6102cb366004610ea6565b6107ce565b61016f60075481565b6003546102ec906001600160a01b031681565b6040516001600160a01b039091168152602001610179565b610251610312366004610f73565b6107ed565b6002546102ec906001600160a01b031681565b61016f610338366004610e8b565b60046020526000908152604090205481565b61016f60085481565b61016f60005481565b61015a61036a366004610faf565b61098d565b6001546102ec906001600160a01b031681565b600081116103ca5760405162461bcd60e51b815260206004820152601060248201526f7769746864726177696e67207a65726f60801b60448201526064015b60405180910390fd5b336000908152600560205260409020548111156104205760405162461bcd60e51b81526020600482015260146024820152730eed2e8d0c8e4c2eed2dcce40e8dede40daeac6d60631b60448201526064016103c1565b60405180604001604052808281526020016000544261043f9190610fef565b905233600081815260066020908152604080832085518155948201516001909501949094556005905291909120547f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e0399061049a908490611007565b60405190815260200160405180910390a250565b6001600160a01b03811660009081526006602090815260408083206005909252822054815411156104e25750600092915050565b80546001600160a01b0384166000908152600560205260409020546105079190611007565b9392505050565b60008082841161052057600084610525565b828403835b915091509250929050565b61053b813333610b62565b50565b610549823383610b62565b5050565b6001600160a01b03821660009081526004602052604090205481116105ad5760405162461bcd60e51b81526020600482015260166024820152756465706f736974206e6f7420696e6372656173696e6760501b60448201526064016103c1565b6001600160a01b0382166000908152600460205260408120546105d09083611007565b6001600160a01b0384166000908152600560205260408120805492935083929091906105fd908490610fef565b90915550506001600160a01b0383166000908152600460205260408120805483929061062a908490610fef565b909155505060075461063c8282610fef565b10156106805760405162461bcd60e51b81526020600482015260136024820152721bdd995c999b1bddda5b99c819195c1bdcda5d606a1b60448201526064016103c1565b80600760008282546106929190610fef565b909155505060085460075411156106de5760405162461bcd60e51b815260206004820152601060248201526f1d1bdbc81b5d58da0819195c1bdcda5d60821b60448201526064016103c1565b6001546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610759919061101e565b61079e5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b505050565b60008183116107b25781610507565b5090919050565b60008183116107c85782610507565b50919050565b6000828201838110156107e3576000196107e5565b805b949350505050565b6002546000906001600160a01b031633148061081357506003546001600160a01b031633145b6108505760405162461bcd60e51b815260206004820152600e60248201526d3ab735b737bbb71031b0b63632b960911b60448201526064016103c1565b826001600160a01b0316846001600160a01b031614156108a75760405162461bcd60e51b815260206004820152601260248201527139b2b73232b9101e9e903932b1b2b4bb32b960711b60448201526064016103c1565b6001600160a01b03841660009081526005602052604090205482118015906108cf5750600082115b15610983576001600160a01b038416600090815260056020526040812080548492906108fc908490611007565b90915550506001600160a01b03831660009081526005602052604081208054849290610929908490610fef565b90915550506001600160a01b0384166000818152600560209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a2506001610507565b5060009392505050565b6002546001600160a01b03161580156109af57506003546001600160a01b0316155b6109f15760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016103c1565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152601b60248201527f4d5320636f6e74726163742061742061646472657373207a65726f000000000060448201526064016103c1565b813b610a955760405162461bcd60e51b815260206004820152601760248201527f4d5320636f6e747261637420686173206e6f20636f646500000000000000000060448201526064016103c1565b600280546001600160a01b0319166001600160a01b03848116919091179091558116610afc5760405162461bcd60e51b81526020600482015260166024820152754f6e65546f4e2061742061646472657373207a65726f60501b60448201526064016103c1565b803b610b3f5760405162461bcd60e51b81526020600482015260126024820152714f6e65546f4e20686173206e6f20636f646560701b60448201526064016103c1565b600380546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038116610bae5760405162461bcd60e51b815260206004820152601360248201527262656e6566696369617279206973207a65726f60681b60448201526064016103c1565b6001600160a01b03821660009081526006602052604090208054841115610c175760405162461bcd60e51b815260206004820152601d60248201527f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000060448201526064016103c1565b4281600101541115610c635760405162461bcd60e51b81526020600482015260156024820152747769746864726177696e6720746f6f206561726c7960581b60448201526064016103c1565b6001600160a01b038316600090815260056020526040812054610c879086906107b9565b6001600160a01b038516600090815260056020526040812080549293508392909190610cb4908490611007565b9091555050600754610cc68282611007565b1115610d145760405162461bcd60e51b815260206004820152601a60248201527f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000060448201526064016103c1565b8060076000828254610d269190611007565b90915550506001600160a01b0384166000818152600560209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a26001600160a01b038481166000908152600660205260408082208281556001908101929092559054905163a9059cbb60e01b815285831660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a919061101e565b610e4f5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b5050505050565b600060208284031215610e6857600080fd5b5035919050565b80356001600160a01b0381168114610e8657600080fd5b919050565b600060208284031215610e9d57600080fd5b61050782610e6f565b60008060408385031215610eb957600080fd5b50508035926020909101359150565b60008060408385031215610edb57600080fd5b82359150610eeb60208401610e6f565b90509250929050565b60008060408385031215610f0757600080fd5b610f1083610e6f565b946020939093013593505050565b600060208083528351808285015260005b81811015610f4b57858101830151858201604001528201610f2f565b81811115610f5d576000604083870101525b50601f01601f1916929092016040019392505050565b600080600060608486031215610f8857600080fd5b610f9184610e6f565b9250610f9f60208501610e6f565b9150604084013590509250925092565b60008060408385031215610fc257600080fd5b610fcb83610e6f565b9150610eeb60208401610e6f565b634e487b7160e01b600052601160045260246000fd5b6000821982111561100257611002610fd9565b500190565b60008282101561101957611019610fd9565b500390565b60006020828403121561103057600080fd5b815180151581146107e357600080fdfea26469706673582212203c7174871f2c6ce97432b1f53101065c777a8f7f7e65d6f7e82aa729a892d6cc64736f6c634300080a0033",
+            "bin-runtime": "608060405234801561001057600080fd5b50600436106101425760003560e01c806387234237116100b8578063d54b10e31161007c578063d54b10e314610317578063d635f2ee1461032a578063d7a2729a1461034a578063d8473d6a14610353578063f09a40161461035c578063fc0c546a1461036f57600080fd5b806387234237146102745780638e51d624146102bd5780638fd066e0146102d0578063b0a05a2e146102d9578063beabacc81461030457600080fd5b8063301728921161010a57806330172892146101dd5780633e90af50146101f057806347e7ef24146102175780636d5433e61461022a5780637709bc781461023d5780637ae2b5c71461026157600080fd5b8063145ccb0f1461014757806316a398f71461015c578063187adf2e1461018257806327e235e3146101aa5780632e1a7d4d146101ca575b600080fd5b61015a610155366004610e56565b610382565b005b61016f61016a366004610e8b565b6104ae565b6040519081526020015b60405180910390f35b610195610190366004610ea6565b61050e565b60408051928352602083019190915201610179565b61016f6101b8366004610e8b565b60056020526000908152604090205481565b61015a6101d8366004610e56565b610530565b61015a6101eb366004610ec8565b61053e565b6101956101fe366004610e8b565b6006602052600090815260409020805460019091015482565b61015a610225366004610ef4565b61054d565b61016f610238366004610ea6565b6107a3565b61025161024b366004610e8b565b3b151590565b6040519015158152602001610179565b61016f61026f366004610ea6565b6107b9565b6102b06040518060400160405280601a81526020017f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525081565b6040516101799190610f1e565b61016f6102cb366004610ea6565b6107ce565b61016f60075481565b6003546102ec906001600160a01b031681565b6040516001600160a01b039091168152602001610179565b610251610312366004610f73565b6107ed565b6002546102ec906001600160a01b031681565b61016f610338366004610e8b565b60046020526000908152604090205481565b61016f60085481565b61016f60005481565b61015a61036a366004610faf565b61098d565b6001546102ec906001600160a01b031681565b600081116103ca5760405162461bcd60e51b815260206004820152601060248201526f7769746864726177696e67207a65726f60801b60448201526064015b60405180910390fd5b336000908152600560205260409020548111156104205760405162461bcd60e51b81526020600482015260146024820152730eed2e8d0c8e4c2eed2dcce40e8dede40daeac6d60631b60448201526064016103c1565b60405180604001604052808281526020016000544261043f9190610fef565b905233600081815260066020908152604080832085518155948201516001909501949094556005905291909120547f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e0399061049a908490611007565b60405190815260200160405180910390a250565b6001600160a01b03811660009081526006602090815260408083206005909252822054815411156104e25750600092915050565b80546001600160a01b0384166000908152600560205260409020546105079190611007565b9392505050565b60008082841161052057600084610525565b828403835b915091509250929050565b61053b813333610b62565b50565b610549823383610b62565b5050565b6001600160a01b03821660009081526004602052604090205481116105ad5760405162461bcd60e51b81526020600482015260166024820152756465706f736974206e6f7420696e6372656173696e6760501b60448201526064016103c1565b6001600160a01b0382166000908152600460205260408120546105d09083611007565b6001600160a01b0384166000908152600560205260408120805492935083929091906105fd908490610fef565b90915550506001600160a01b0383166000908152600460205260408120805483929061062a908490610fef565b909155505060075461063c8282610fef565b10156106805760405162461bcd60e51b81526020600482015260136024820152721bdd995c999b1bddda5b99c819195c1bdcda5d606a1b60448201526064016103c1565b80600760008282546106929190610fef565b909155505060085460075411156106de5760405162461bcd60e51b815260206004820152601060248201526f1d1bdbc81b5d58da0819195c1bdcda5d60821b60448201526064016103c1565b6001546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610759919061101e565b61079e5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b505050565b60008183116107b25781610507565b5090919050565b60008183116107c85782610507565b50919050565b6000828201838110156107e3576000196107e5565b805b949350505050565b6002546000906001600160a01b031633148061081357506003546001600160a01b031633145b6108505760405162461bcd60e51b815260206004820152600e60248201526d3ab735b737bbb71031b0b63632b960911b60448201526064016103c1565b826001600160a01b0316846001600160a01b031614156108a75760405162461bcd60e51b815260206004820152601260248201527139b2b73232b9101e9e903932b1b2b4bb32b960711b60448201526064016103c1565b6001600160a01b03841660009081526005602052604090205482118015906108cf5750600082115b15610983576001600160a01b038416600090815260056020526040812080548492906108fc908490611007565b90915550506001600160a01b03831660009081526005602052604081208054849290610929908490610fef565b90915550506001600160a01b0384166000818152600560209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a2506001610507565b5060009392505050565b6002546001600160a01b03161580156109af57506003546001600160a01b0316155b6109f15760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016103c1565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152601b60248201527f4d5320636f6e74726163742061742061646472657373207a65726f000000000060448201526064016103c1565b813b610a955760405162461bcd60e51b815260206004820152601760248201527f4d5320636f6e747261637420686173206e6f20636f646500000000000000000060448201526064016103c1565b600280546001600160a01b0319166001600160a01b03848116919091179091558116610afc5760405162461bcd60e51b81526020600482015260166024820152754f6e65546f4e2061742061646472657373207a65726f60501b60448201526064016103c1565b803b610b3f5760405162461bcd60e51b81526020600482015260126024820152714f6e65546f4e20686173206e6f20636f646560701b60448201526064016103c1565b600380546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038116610bae5760405162461bcd60e51b815260206004820152601360248201527262656e6566696369617279206973207a65726f60681b60448201526064016103c1565b6001600160a01b03821660009081526006602052604090208054841115610c175760405162461bcd60e51b815260206004820152601d60248201527f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000060448201526064016103c1565b4281600101541115610c635760405162461bcd60e51b81526020600482015260156024820152747769746864726177696e6720746f6f206561726c7960581b60448201526064016103c1565b6001600160a01b038316600090815260056020526040812054610c879086906107b9565b6001600160a01b038516600090815260056020526040812080549293508392909190610cb4908490611007565b9091555050600754610cc68282611007565b1115610d145760405162461bcd60e51b815260206004820152601a60248201527f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000060448201526064016103c1565b8060076000828254610d269190611007565b90915550506001600160a01b0384166000818152600560209081526040918290205491519182527f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9910160405180910390a26001600160a01b038481166000908152600660205260408082208281556001908101929092559054905163a9059cbb60e01b815285831660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a919061101e565b610e4f5760405162461bcd60e51b81526020600482015260166024820152753a37b5b2b739903234b23713ba103a3930b739b332b960511b60448201526064016103c1565b5050505050565b600060208284031215610e6857600080fd5b5035919050565b80356001600160a01b0381168114610e8657600080fd5b919050565b600060208284031215610e9d57600080fd5b61050782610e6f565b60008060408385031215610eb957600080fd5b50508035926020909101359150565b60008060408385031215610edb57600080fd5b82359150610eeb60208401610e6f565b90509250929050565b60008060408385031215610f0757600080fd5b610f1083610e6f565b946020939093013593505050565b600060208083528351808285015260005b81811015610f4b57858101830151858201604001528201610f2f565b81811115610f5d576000604083870101525b50601f01601f1916929092016040019392505050565b600080600060608486031215610f8857600080fd5b610f9184610e6f565b9250610f9f60208501610e6f565b9150604084013590509250925092565b60008060408385031215610fc257600080fd5b610fcb83610e6f565b9150610eeb60208401610e6f565b634e487b7160e01b600052601160045260246000fd5b6000821982111561100257611002610fd9565b500190565b60008282101561101957611019610fd9565b500390565b60006020828403121561103057600080fd5b815180151581146107e357600080fdfea26469706673582212203c7174871f2c6ce97432b1f53101065c777a8f7f7e65d6f7e82aa729a892d6cc64736f6c634300080a0033",
+            "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token_address\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_whole_balance_limit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_withdraw_timeout\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"BalanceReduced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"plannedBalance\",\"type\":\"uint256\"}],\"name\":\"WithdrawPlanned\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"contractExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"new_total_deposit\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"effectiveBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_addition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"failsafe_subtract\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_msc_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_one_to_n_address\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msc_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"one_to_n_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"planWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signature_prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"total_deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whole_balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whole_balance_limit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdraw_plans\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawable_after\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw_timeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_token_address\":\"The address of the token to use for rewards\"}},\"contractExists(address)\":{\"params\":{\"contract_address\":\"The address to check whether a contract is deployed or not\"},\"returns\":{\"_0\":\"True if a contract exists, false otherwise\"}},\"deposit(address,uint256)\":{\"params\":{\"beneficiary\":\"The account benefiting from the deposit\",\"new_total_deposit\":\"The total sum of tokens that have been deposited by the user by calling this function.\"}},\"effectiveBalance(address)\":{\"params\":{\"owner\":\"Address for which the balance should be returned\"},\"returns\":{\"remaining_balance\":\"The remaining balance after planned withdrawals\"}},\"failsafe_addition(uint256,uint256)\":{\"details\":\"Special addition function that does not fail when overflowing.\",\"params\":{\"a\":\"Addend\",\"b\":\"Addend\"},\"returns\":{\"_0\":\"Maximum between the result of the addition or the maximum uint256 value\"}},\"failsafe_subtract(uint256,uint256)\":{\"details\":\"Special subtraction function that does not fail when underflowing.\",\"params\":{\"a\":\"Minuend\",\"b\":\"Subtrahend\"},\"returns\":{\"_0\":\"Minimum between the result of the subtraction and 0, the maximum subtrahend for which no underflow occurs\"}},\"init(address,address)\":{\"params\":{\"_msc_address\":\"Address of the MonitoringService contract\",\"_one_to_n_address\":\"Address of the OneToN contract\"}},\"planWithdraw(uint256)\":{\"params\":{\"amount\":\"Maximum amount of tokens to be withdrawn\"}},\"transfer(address,address,uint256)\":{\"params\":{\"amount\":\"Amount of tokens to be transferred\",\"receiver\":\"Account to which the amount will be credited\",\"sender\":\"Account from which the amount will be deducted\"},\"returns\":{\"success\":\"true if transfer has been done successfully, otherwise false\"}},\"withdraw(uint256)\":{\"params\":{\"amount\":\"Amount of tokens to be withdrawn\"}},\"withdrawToBeneficiary(uint256,address)\":{\"params\":{\"amount\":\"Amount of tokens to be withdrawn\",\"beneficiary\":\"Address to send withdrawn tokens to\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Set the default values for the smart contract\"},\"contractExists(address)\":{\"notice\":\"Check if a contract exists\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit tokens. The amount of transferred tokens will be `new_total_deposit - total_deposit[beneficiary]`. This makes the function behavior predictable and idempotent. Can be called several times and on behalf of other accounts.\"},\"effectiveBalance(address)\":{\"notice\":\"The owner's balance with planned withdrawals deducted\"},\"init(address,address)\":{\"notice\":\"Specify trusted contracts. This has to be done outside of the constructor to avoid cyclic dependencies.\"},\"planWithdraw(uint256)\":{\"notice\":\"Announce intention to withdraw tokens. Sets the planned withdraw amount and resets the withdrawable_after. There is only one planned withdrawal at a time, the old one gets overwritten.\"},\"transfer(address,address,uint256)\":{\"notice\":\"Internally transfer deposits between two addresses. Sender and receiver must be different or the transaction will fail.\"},\"withdraw(uint256)\":{\"notice\":\"Execute a planned withdrawal Will only work after the withdraw_timeout has expired. An amount lower or equal to the planned amount may be withdrawn. Removes the withdraw plan even if not the full amount has been withdrawn.\"},\"withdrawToBeneficiary(uint256,address)\":{\"notice\":\"Execute a planned withdrawal Will only work after the withdraw_timeout has expired. An amount lower or equal to the planned amount may be withdrawn. Removes the withdraw plan even if not the full amount has been withdrawn.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"data/source/services/UserDeposit.sol\":\"UserDeposit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":.=.\",\":lib=data/source/lib\",\":raiden=data/source/raiden\",\":services=data/source/services\",\":test=data/source/test\"]},\"sources\":{\"data/source/raiden/Token.sol\":{\"keccak256\":\"0xa7eafef1213be3e2e70effae0f1be52e1e34653f2aec5e5c7806bf3af1138007\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0080313339f6e7698fc3065ef49ce2b1448f3ba41630607a2436d42140254c8\",\"dweb:/ipfs/Qmd4DT1vCHducGqQmBCtxHetaHQyY6kHTeKQ4hW5hBkk22\"]},\"data/source/raiden/Utils.sol\":{\"keccak256\":\"0xff008ddadd371a2167eed295ee96ddea86cf3ab19835171f368f709f0b4e2a42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65c550829997b73a3801eaa950331458d295fd1d81bc0662e0602c8cf7ae416f\",\"dweb:/ipfs/QmUk55Z78rYC42V9X64q5DjNNr6Rix2QQHeHwSZGsLjgbC\"]},\"data/source/services/UserDeposit.sol\":{\"keccak256\":\"0xfe68c03b68779ebaa94fee2e9dcf211fd445d0035f74da1a21aa52eac3dd8168\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2662155eff4c910420f8afed9b2de836b14bcbdebc3fd16bb894cf81a843391f\",\"dweb:/ipfs/QmcyKVtxh698agGBbdwyksjHVjnzhhgrLP6QmSAVJMrYcK\"]}},\"version\":1}"
         },
         "Utils": {
             "abi": [
@@ -10586,9 +10591,9 @@
         "TokenNetworkInternalsTest.sol": "b46c06435d9ea4d268350a783ad118f42c6a2e9df7791cbba5e31151a73615f4",
         "TokenNetworkRegistry.sol": "d67252bc35bbcaffa845db38e381ba3c64b7348eeb596ec7c7cdec8431940ba5",
         "UDCTransfer.sol": "ef591ddd15e214ce6eb52d196dbc17bb69dc88b83b31a232b44575046fa760dd",
-        "UserDeposit.sol": "f3ba87213a0e595bafef7a6b4616f0b44b162cd8ddf7fd83af822558019bc451",
+        "UserDeposit.sol": "a2da4f53525d840f4b82d84be626bef7256759d66878a3f261ad6c12d3107e24",
         "Utils.sol": "c591abb8fe59e5a011856f3d45144a442209a605fd21c79f11f514d9ba6c39ca"
     },
     "contracts_version": null,
-    "overall_checksum": "1ee0ea1427889075173f884c9546ca2ee62c0c640797e0c27d3f8af8d0aeb336"
+    "overall_checksum": "fe0f9e2cb175e780e91b009e47a366cec5acd50c9b265b5cbd8fa7c79e36325a"
 }
\ No newline at end of file
diff --git a/raiden_contracts/data/source/services/UserDeposit.sol b/raiden_contracts/data/source/services/UserDeposit.sol
index 3c1dbd8..2309812 100644
--- a/raiden_contracts/data/source/services/UserDeposit.sol
+++ b/raiden_contracts/data/source/services/UserDeposit.sol
@@ -6,9 +6,9 @@ import "raiden/Token.sol";
 import "raiden/Utils.sol";
 
 contract UserDeposit is Utils {
-    uint constant public withdraw_timeout = 15 * 100;  // time before withdraw is allowed in seconds
+    uint public withdraw_timeout;  // time before withdraw is allowed in seconds
 
-    // Token to be used for the deposit
+    // Token to be used for user_deposit_withdraw_timeout the deposit
     Token public token;
 
     // Trusted contracts (can execute `transfer`)
@@ -57,7 +57,7 @@ contract UserDeposit is Utils {
 
     /// @notice Set the default values for the smart contract
     /// @param _token_address The address of the token to use for rewards
-    constructor(address _token_address, uint256 _whole_balance_limit)
+    constructor(address _token_address, uint256 _whole_balance_limit, uint _withdraw_timeout)
     {
         // check token contract
         require(_token_address != address(0x0), "token at address zero");
@@ -67,6 +67,7 @@ contract UserDeposit is Utils {
         // check and set the whole balance limit
         require(_whole_balance_limit > 0, "whole balance limit is zero");
         whole_balance_limit = _whole_balance_limit;
+        withdraw_timeout = _withdraw_timeout;
     }
 
     /// @notice Specify trusted contracts. This has to be done outside of the
diff --git a/raiden_contracts/deploy/__main__.py b/raiden_contracts/deploy/__main__.py
index 04394e2..bef7bb7 100644
--- a/raiden_contracts/deploy/__main__.py
+++ b/raiden_contracts/deploy/__main__.py
@@ -247,6 +247,12 @@ def raiden(
     type=int,
     help="Maximum amount of tokens deposited in UserDeposit",
 )
+@click.option(
+    "--user-deposit-withdraw-timeout",
+    default=25 * 60,
+    type=int,
+    help="Time in seconds after which a withdraw is allowed",
+)
 @click.option(
     "--service-registry-controller",
     required=True,
@@ -315,6 +321,7 @@ def services(
     save_info: bool,
     contracts_version: Optional[str],
     user_deposit_whole_limit: int,
+    user_deposit_withdraw_timeout: int,
     service_registry_controller: HexAddress,
     initial_service_deposit_price: int,
     service_deposit_bump_numerator: int,
@@ -344,6 +351,7 @@ def services(
     deployed_contracts_info = deployer.deploy_service_contracts(
         token_address=token_address,
         user_deposit_whole_balance_limit=user_deposit_whole_limit,
+        user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
         service_registry_controller=service_registry_controller,
         initial_service_deposit_price=initial_service_deposit_price,
         service_deposit_bump_numerator=service_deposit_bump_numerator,
@@ -364,6 +372,7 @@ def services(
             deployed_contracts_info=deployed_contracts_info,
             token_address=token_address,
             user_deposit_whole_balance_limit=user_deposit_whole_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             token_network_registry_address=token_network_registry_address,
         )
     else:
@@ -371,6 +380,7 @@ def services(
             deployed_contracts_info=deployed_contracts_info,
             token_address=token_address,
             user_deposit_whole_balance_limit=user_deposit_whole_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             token_network_registry_address=token_network_registry_address,
         )
 
diff --git a/raiden_contracts/deploy/contract_deployer.py b/raiden_contracts/deploy/contract_deployer.py
index 3df00e1..26dbfcb 100644
--- a/raiden_contracts/deploy/contract_deployer.py
+++ b/raiden_contracts/deploy/contract_deployer.py
@@ -300,6 +300,7 @@ class ContractDeployer(ContractVerifier):
         self,
         token_address: HexAddress,
         user_deposit_whole_balance_limit: int,
+        user_deposit_withdraw_timeout: int,
         service_registry_controller: HexAddress,
         initial_service_deposit_price: int,
         service_deposit_bump_numerator: int,
@@ -358,7 +359,11 @@ class ContractDeployer(ContractVerifier):
 
         user_deposit = self._deploy_and_remember(
             contract_name=CONTRACT_USER_DEPOSIT,
-            arguments=[token_address, user_deposit_whole_balance_limit],
+            arguments=[
+                token_address,
+                user_deposit_whole_balance_limit,
+                user_deposit_withdraw_timeout,
+            ],
             deployed_contracts=deployed_contracts,
         )
 
diff --git a/raiden_contracts/deploy/contract_verifier.py b/raiden_contracts/deploy/contract_verifier.py
index b706b87..5569db2 100644
--- a/raiden_contracts/deploy/contract_verifier.py
+++ b/raiden_contracts/deploy/contract_verifier.py
@@ -56,6 +56,7 @@ class ContractVerifier:
         self,
         token_address: HexAddress,
         user_deposit_whole_balance_limit: int,
+        user_deposit_withdraw_timeout: int,
         token_network_registry_address: HexAddress,
     ) -> None:
         chain_id = ChainID(self.web3.eth.chain_id)
@@ -74,6 +75,7 @@ class ContractVerifier:
         if self.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=user_deposit_whole_balance_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             deployed_contracts_info=deployment_data,
             token_network_registry_address=token_network_registry_address,
         ):
@@ -93,12 +95,14 @@ class ContractVerifier:
         deployed_contracts_info: DeployedContracts,
         token_address: HexAddress,
         user_deposit_whole_balance_limit: int,
+        user_deposit_withdraw_timeout: int,
         token_network_registry_address: HexAddress,
     ) -> None:
         self._store_deployment_info(services=True, deployment_info=deployed_contracts_info)
         self.verify_deployed_service_contracts_in_filesystem(
             token_address=token_address,
             user_deposit_whole_balance_limit=user_deposit_whole_balance_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             token_network_registry_address=token_network_registry_address,
         )
 
@@ -214,6 +218,7 @@ class ContractVerifier:
         self,
         token_address: HexAddress,
         user_deposit_whole_balance_limit: int,
+        user_deposit_withdraw_timeout: int,
         token_network_registry_address: HexAddress,
         deployed_contracts_info: DeployedContracts,
     ) -> bool:
@@ -250,6 +255,7 @@ class ContractVerifier:
             constructor_arguments=user_deposit_constructor_arguments,
             token_address=token_address,
             user_deposit_whole_balance_limit=user_deposit_whole_balance_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             one_to_n_address=one_to_n.address,
             monitoring_service_address=monitoring_service.address,
         )
@@ -276,11 +282,12 @@ def _verify_user_deposit_deployment(
     constructor_arguments: List,
     token_address: HexAddress,
     user_deposit_whole_balance_limit: int,
+    user_deposit_withdraw_timeout: int,
     one_to_n_address: HexAddress,
     monitoring_service_address: HexAddress,
 ) -> None:
     """Check an onchain deployment of UserDeposit and constructor arguments at deployment time"""
-    if len(constructor_arguments) != 2:
+    if len(constructor_arguments) != 3:
         raise RuntimeError("UserDeposit has a wrong number of constructor arguments.")
     if token_address != constructor_arguments[0]:
         raise RuntimeError("UserDeposit received a wrong token address during construction.")
@@ -290,6 +297,10 @@ def _verify_user_deposit_deployment(
         raise RuntimeError("UserDeposit has a wrong whole_balance_limit onchain")
     if user_deposit_whole_balance_limit != constructor_arguments[1]:
         raise RuntimeError("UserDeposit received a wrong whole_balance_limit during construction.")
+    if user_deposit.functions.withdraw_timeout().call() != user_deposit_withdraw_timeout:
+        raise RuntimeError("UserDeposit has a wrong withdraw_timeout onchain")
+    if user_deposit_withdraw_timeout != constructor_arguments[2]:
+        raise RuntimeError("UserDeposit received a wrong withdraw_timeout during construction.")
     if to_checksum_address(user_deposit.functions.one_to_n_address().call()) != one_to_n_address:
         raise RuntimeError("UserDeposit has a wrong OneToN address onchain.")
     onchain_msc_address = to_checksum_address(user_deposit.functions.msc_address().call())


Test patch:
diff --git a/raiden_contracts/tests/fixtures/user_deposit.py b/raiden_contracts/tests/fixtures/user_deposit.py
index f8b2f8e..2534242 100644
--- a/raiden_contracts/tests/fixtures/user_deposit.py
+++ b/raiden_contracts/tests/fixtures/user_deposit.py
@@ -14,16 +14,23 @@ def user_deposit_whole_balance_limit() -> int:
     return CUSTOM_TOKEN_TOTAL_SUPPLY // 100
 
 
+@pytest.fixture(scope="session")
+def user_deposit_withdraw_timeout() -> int:
+    return 25 * 60
+
+
 @pytest.fixture(scope="session")
 def uninitialized_user_deposit_contract(
     deploy_tester_contract: Callable,
     custom_token: Contract,
     user_deposit_whole_balance_limit: int,
+    user_deposit_withdraw_timeout: int,
 ) -> Contract:
     return deploy_tester_contract(
         CONTRACT_USER_DEPOSIT,
         _token_address=custom_token.address,
         _whole_balance_limit=user_deposit_whole_balance_limit,
+        _withdraw_timeout=user_deposit_withdraw_timeout,
     )
 
 
diff --git a/raiden_contracts/tests/test_deploy_data.py b/raiden_contracts/tests/test_deploy_data.py
index b87ffd5..b7435fd 100644
--- a/raiden_contracts/tests/test_deploy_data.py
+++ b/raiden_contracts/tests/test_deploy_data.py
@@ -146,7 +146,9 @@ def test_version_provides_services() -> None:
 
 
 def test_verify_nonexistent_deployment(
-    user_deposit_whole_balance_limit: int, token_network_registry_address: HexAddress
+    user_deposit_whole_balance_limit: int,
+    user_deposit_withdraw_timeout: int,
+    token_network_registry_address: HexAddress,
 ) -> None:
     """Test verify_deployed_contracts_in_filesystem() with a non-existent deployment data."""
     web3_mock = Mock()
@@ -159,6 +161,7 @@ def test_verify_nonexistent_deployment(
         verifier.verify_deployed_service_contracts_in_filesystem(
             token_address=EMPTY_ADDRESS,
             user_deposit_whole_balance_limit=user_deposit_whole_balance_limit,
+            user_deposit_withdraw_timeout=user_deposit_withdraw_timeout,
             token_network_registry_address=token_network_registry_address,
         )
 
@@ -179,6 +182,7 @@ def test_verify_existent_deployment(token_network_registry_contract: Contract) -
         verifier.verify_deployed_service_contracts_in_filesystem(
             token_address=HexAddress(HexStr("0x5Fc523e13fBAc2140F056AD7A96De2cC0C4Cc63A")),
             user_deposit_whole_balance_limit=2 ** 256 - 1,
+            user_deposit_withdraw_timeout=25 * 60,
             token_network_registry_address=token_network_registry_contract.address,
         )
 
@@ -205,5 +209,6 @@ def test_verify_existent_deployment_with_wrong_code(
         verifier.verify_deployed_service_contracts_in_filesystem(
             token_address=HexAddress(HexStr("0x5Fc523e13fBAc2140F056AD7A96De2cC0C4Cc63A")),
             user_deposit_whole_balance_limit=2 ** 256 - 1,
+            user_deposit_withdraw_timeout=25 * 60,
             token_network_registry_address=token_network_registry_contract.address,
         )
diff --git a/raiden_contracts/tests/test_deploy_script.py b/raiden_contracts/tests/test_deploy_script.py
index 2506403..bb87f43 100644
--- a/raiden_contracts/tests/test_deploy_script.py
+++ b/raiden_contracts/tests/test_deploy_script.py
@@ -118,6 +118,7 @@ def token_address(deployer: ContractDeployer) -> HexAddress:
 
 
 DEPOSIT_LIMIT = TOKEN_SUPPLY // 2
+WITHDRAW_TIMEOUT = 25 * 60
 
 
 @pytest.mark.slow
@@ -130,6 +131,7 @@ def deployed_service_info(
     return deployer.deploy_service_contracts(
         token_address=token_address,
         user_deposit_whole_balance_limit=DEPOSIT_LIMIT,
+        user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
         service_registry_controller=DEPLOYER_ADDRESS,
         initial_service_deposit_price=SERVICE_DEPOSIT // 2,
         service_deposit_bump_numerator=6,
@@ -153,6 +155,7 @@ def test_deploy_service_0_37_0(
         deployer_0_37_0.deploy_service_contracts(
             token_address=token_address,
             user_deposit_whole_balance_limit=DEPOSIT_LIMIT,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             service_registry_controller=DEPLOYER_ADDRESS,
             initial_service_deposit_price=SERVICE_DEPOSIT // 2,
             service_deposit_bump_numerator=6,
@@ -326,6 +329,7 @@ def test_deploy_services_reuse_service_registry(
         new_deployment = deployer.deploy_service_contracts(
             token_address=token_address,
             user_deposit_whole_balance_limit=DEPOSIT_LIMIT,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             service_registry_controller=DEPLOYER_ADDRESS,
             initial_service_deposit_price=SERVICE_DEPOSIT // 2,
             service_deposit_bump_numerator=6,
@@ -466,6 +470,7 @@ def test_deploy_script_service(
     deployer.verify_service_contracts_deployment_data(
         token_address=token_address,
         user_deposit_whole_balance_limit=deposit_limit,
+        user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
         deployed_contracts_info=deployed_service_contracts,
         token_network_registry_address=token_network_registry_contract.address,
     )
@@ -475,6 +480,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=EMPTY_ADDRESS,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_service_contracts,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -485,6 +491,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -495,6 +502,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -507,6 +515,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -519,6 +528,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -530,6 +540,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -542,6 +553,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -554,6 +566,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -569,6 +582,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -581,6 +595,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -593,6 +608,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -605,6 +621,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -615,6 +632,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -625,6 +643,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -635,6 +654,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -646,6 +666,7 @@ def test_deploy_script_service(
         deployer.verify_service_contracts_deployment_data(
             token_address=token_address,
             user_deposit_whole_balance_limit=deposit_limit,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             deployed_contracts_info=deployed_info_fail,
             token_network_registry_address=token_network_registry_contract.address,
         )
@@ -657,6 +678,7 @@ def test_deploy_script_service(
             deployer.verify_service_contracts_deployment_data(
                 token_address=token_address,
                 user_deposit_whole_balance_limit=deposit_limit,
+                user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
                 deployed_contracts_info=deployed_info_fail,
                 token_network_registry_address=token_network_registry_contract.address,
             )
@@ -743,12 +765,14 @@ def test_store_and_verify_services(
         token_address=token_address,
         deployed_contracts_info=deployed_contracts_info,
         user_deposit_whole_balance_limit=DEPOSIT_LIMIT,
+        user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
         token_network_registry_address=token_network_registry_contract.address,
     )
     deployer.store_and_verify_deployment_info_services(
         token_address=token_address,
         deployed_contracts_info=deployed_contracts_info,
         user_deposit_whole_balance_limit=DEPOSIT_LIMIT,
+        user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
         token_network_registry_address=token_network_registry_contract.address,
     )
 
@@ -1208,6 +1232,7 @@ def test_user_deposit_deployment_with_wrong_one_to_n_address() -> None:
             constructor_arguments=user_deposit_constructor_arguments,
             token_address=token_addr,
             user_deposit_whole_balance_limit=UINT256_MAX,
+            user_deposit_withdraw_timeout=WITHDRAW_TIMEOUT,
             one_to_n_address=wrong_one_to_n_address,
             monitoring_service_address=HexAddress(
                 HexStr("0xb7765972d78B6C97bB0a5a6b7529DC1fb64aA287")